Web - App throws 'No content to add' error if we send empty alias for email (works fine for link)

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Open the app
Open any report
Send link with empty alias eg:
Observe that app handles it well
Send email with empty alias eg:
Observe that app throws 'No content to add' for step 5 message

Expected Result:
App should handle empty alias for email in similar way like it does for link
Actual Result:
App throws 'No content to add' error for email with empty alias
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: <IP_ADDRESS>
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/93399543/3efe4b24-22e0-47e5-9758-5bae899a4dac
https://github.com/Expensify/App/assets/93399543/b68bed52-6612-4012-9223-1ffaf656b18d
Expensify/Expensify Issue URL:
Issue reported by: @dhanashree-sawant
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1686755882619169
View all open jobs on GitHub

Proposal
Please re-state the problem that we are trying to solve in this issue.
App throws 'No content to add' error if we send empty alias for email.
What is the root cause of that problem?
The root cause of this issue is that below markdown
<EMAIL_ADDRESS>
is translated into html
<a<EMAIL_ADDRESS>
by applying email rule
{
    name: 'email',
    process: (textToProcess, replacement) => {
        const regex = new RegExp(
            `\\[([^[\\]]*)]\\(${CONST.REG_EXP.MARKDOWN_EMAIL}\\)`, 'gim'
        );
        return this.modifyTextForEmailLinks(regex, textToProcess, replacement);
    },
    replacement: (match, g1, g2) => `<a href="mailto:${g2}">${g1.trim()}</a>`,
}

The capturing group g1,  ([^[\\]]*) , is possible to be empty string and, in the replacement method, we didn't check if g1.trim() is empty or not. So, we get anchor tag with empty text by apply the email rule.
The backend returns an error when we try to save html <a<EMAIL_ADDRESS>to the backend. The error returned by backend is

I think the error from backend makes sense because the backend needs to convert html
<a<EMAIL_ADDRESS>
to text(aka message[0].text) which shouldn't be empty.
So the root cause of this issue is that email rule doesn't avoid creating anchor tag with empty text.
What changes do you think we should make in order to solve the problem?
To fix this issue, we can skip creating anchor tag with empty text.
To achieve this, we can change the replacement method of  email rule from
replacement: (match, g1, g2) => `<a href="mailto:${g2}">${g1.trim()}</a>`,

to
// skip rendering if g1.trim() is empty
replacement: (match, g1, g2) => (!g1.trim() ? match : `<a href="mailto:${g2}">${g1.trim()}</a>`),

Below is the demo video of the solution
https://github.com/Expensify/App/assets/117511920/4fc47889-2aa8-4e10-93eb-4d9eb94d037a
What alternative solutions did you explore? (Optional)
N/A

Checking something internally here https://expensify.slack.com/archives/C01SKUP7QR0/p1687437975259329 about this

@YacineF0001 Thanks for tagging me in your proposal. But I think our solutions are different for test case like
[<EMAIL_ADDRESS>
Below is the demo video for two test cases
<EMAIL_ADDRESS>[<EMAIL_ADDRESS>
https://github.com/Expensify/App/assets/117511920/3aaeafeb-34be-4d16-8ba0-83c4cc4c61f3
I think the App prefers to keep the user input as it is. So, in the editing mode, we display the original input.
@laurenreidexpensify Happy to hear your thoughts on the expected behaviour.
cc @parasharrajat

Proposal
Updated to add an alternative regex based method and included a demo video covers more test cases.
cc @parasharrajat

@eh2077 Thanks for your pointing out. it can be also done with Regex.
Just add (?!\[[ ]*\]) at the beginning of pattern.

@parasharrajat My proposal updated

@YacineF0001 I think your method only fixes the effects and not the root cause. The method I suggested to handle all white spaces fixes the root causes. That's the essential.

@eh2077 you just added a case with '\s' instead of ' ' on my regex.

I'm afraid I can't agree on it. According to timeline, I first came up the regex solution to solve the root cause of all whitespaces, which is essential to fix the root cause of the issue.

so let's wait for @parasharrajat 's review on your original one and my regex solution

I think the C+ team will review it following the contribution guides here

Expensify reviews all solution proposals on a first come first serve basis. If you see other contributors have already proposed a solution, you can still provide a solution proposal and we will review it. We look for the earliest provided, best proposed solution that addresses the job.

@parasharrajat Thanks for reviewing proposals.
I'm open to share the bounty with @YacineF0001 , like 50/50. I'd also suggest to let @YacineF0001 make the PR which should be his first contribution to the App! Hope team will take this into consideration.

@parasharrajat is tehre something specific that requires technical review? we updated the process in the past couple of weeks, so engineering review is only required on the PR or any technical conversation in the issue, so if you're happy with the solution and the team sharing the bounty, then SGTM and we can move to PR?

I am fine with it @eh2077. What do you say @YacineF0001?
Bump @Gonals

Sorry, I was OOO until today. I am fine with it too 👍

I am fine with it @eh2077. What do you say @YacineF0001?
Bump @Gonals

I was OOO until today, but I agree with this too 👍

@YacineF0001 I think you can start to prepare the PR. Usually you don't have to apply the job to be allowed to submit the PR. You can also apply the job when payment is due, so you'll have time to handle your Upwork account issue during that time.

@parasharrajat Should I make the PR to move the issue forward quicker as suggested by @YacineF0001 's https://github.com/Expensify/App/issues/21234#issuecomment-1619379253 ?

@YacineF0001 unfortunately if you do not have an active Upwork account we will not be able to move forward here. Would recommend as a next step that you work with Upwork to have the account restored. We have plenty of issues available to work on with the help wanted label, so this won't be the only opportunity to pick up a job on our repos!

@parasharrajat The PR https://github.com/Expensify/expensify-common/pull/555 for expensify-common is ready. Please help to review it at your convenience, thanks!

@parasharrajat The PR https://github.com/Expensify/App/pull/22182 for App to bump version of expensify-common is ready.

@laurenreidexpensify Accepted the offer thanks.

Payments issues + regression test requested.
@parasharrajat am closing, please proceed with payment request in newdot via @anmurali Thanks

@laurenreidexpensify Can you please summarize the appropriate individual payments for all parties involved in this issue? This is holding up @parasharrajat's NewDot payments. More information on this compliance process in Slack.

Payments:

External issue reporter: @dhanashree-sawant = $250,  issued in Upwork
Contributor that fixed the issue: @eh2077 = $1000 + $500, issued in Upwork
Contributor+ that helped on the issue and/or PR: @parasharrajat + 3 day merge bonus = $1000 + $500, issued in newdot

Reviewed details for @parasharrajat. These details are accurate based on summary from Business Reviewer and are now approved for payment in NewDot.


Ads are available only on huawei phones?

does he ads are available only on huawei phones? or also on samsung etc.
if so, I also must test it only on huawei phones?

Huawei phones are recommended for testing.
If you use samsung for testing, you must install the HMS Core (4.0+)，and applicable only to test ad.
Thanks.


docs: remove SSH and EC2 key pairs

Description
Removes outdated documentation from the module regarding SSH and EC2 key pair connection method.
Closes #560
Migrations required
No
Verification
No verifications done, documentation changed only.

@npalm Could you please check why we need this directory? https://github.com/npalm/terraform-aws-gitlab-runner/tree/develop/examples/runner-multi-region/_docs
May be we can integrate it into the docs one level above?

@npalm Could you please check why we need this directory? https://github.com/npalm/terraform-aws-gitlab-runner/tree/develop/examples/runner-multi-region/_docs
May be we can integrate it into the docs one level above?

Will do!

The docs I deleted seems to be outdated and a duplication of the module documentation one level above.

@npalm PR is complete and ready now.

For what its worth, I had a look and this does address all the SSH references I found in #560


Not reactive...

I thought this library was reactive.  Unless i'm missing something, I thought that meant when I change a localStorage value, it changes the value that i used in my template.

pls see details in readme

I was thinking the same...


Testflight: New method to create group

Checklist

✅  I've run bundle exec rspec from the root directory to see all new and existing tests pass
✅  I've followed the fastlane code style and run bundle exec rubocop -a to ensure the code style is valid
✅  I've read the Contribution Guidelines
✅  I've updated the documentation if necessary.

Motivation and Context
This new api will allow users to create a testing group in testflight.
I tested following scenarios on testflight :

Created a group. - successfully created.
Left parameters empty while calling this method. - error stating the parameter not provided.
Created a group with the name already present. - This returns a group that is already present. The post API creates a new group with the same name but different id and throws no warnings/errors, which might be an issue - so I am handling it here and returning the existing group.

From the above scenarios, I added spec tests for 1 & 3. Scenario 2 is common behaviour, which fastlane handles well as it is.
Description
I created a client method that takes the app id and group name and creates a group. I used this method in Spaceship::TestFlight::Group to implement a method called create!. I added spec tests where applicable.

I must have forgotten to run rubocop -a after making some quick changes. :(
Making another commit just as soon as the specs finish running.

Thanks @janpio! :) Should it not be "Spaceship" instead of "action"?

You are of course right. I just read testflight and didn't really look at the code. Sorry ;)

Thank you!

@pav1790 can you send me your email via email<EMAIL_ADDRESS>


chore: move summable lemmas

We move some lemmas out of Topology/Instances/ENNReal into Topology/Algebra/InfiniteSum/Real. Also use this to address a porting TODO.
This was originally part of #12446

The no_lost_declarations script reports

0  added declarations
0  removed declarations
9  paired declarations

:tada:

So is this ready to go?

LGTM
maintainer merge


Fix typo

Proposed changes
Fix typo in variable name (hmtlString -> htmlString).

@stack72 Are you fixing this via another commit?

@eduherminio yes, I will make sure you get the commit attribution - this is because the build is failing from a community PR for some reason :/

Oh, don't worry about that 😂😂


Library carpentry Lessons drop down list on website problem

The lesson dropdown list on the library carpentry website is only showing the Top 10 Fair Data and Software link.  The other lessons are not displayed.

The Top 10 Fair Data & S/W link was added in this commit https://github.com/LibraryCarpentry/librarycarpentry.github.io/commit/0912ced2c5483e0d3c03a3c0894d4ef2284633ab
Prior to that there was no drop-down on Lessons navigation in the menu bar - it just went direct to the lessons page.
At the moment the Top 10 Fair Data & S/W doesn't seem to be listed on the lessons page? Maybe the resolution would be to add it there and revert the other change?

@U2NG @ostephens I didn't know exactly what to do with listing the Top 10 FAIR Data & Software lessons. It's new and didn't believe it should be listed on the lessons page until we test it out further. The "Our Lessons" top-level nav link still directs you to the lessons page. @jt14den @ccronje @erikamias @laufers @katrinleinweber do you have follow up advice?

@libcce a suggestion - could they go under the Experimental/Conceptual Curriculum section of the lessons page?
In terms of the Lessons dropdown - if we want navigation at this level I think it should be consistent - calling out a single lesson / set of lessons here and not the others feels counter-intuitive. So if we want a dropdown here it could go to the sections of the Lesson page (Core / Extended / Experimental)?
Happy with alternative approaches though

@ostephens That works for me, to list it under the Experimental/Conceptual Curriculum section. I'll pause just in case someone else wants to comment but this seems like a good approach, to list it there.

I agree, listing under the Experimental/Conceptual section would be a good place for the Top 10 FAIR Data & Software lesson.

I don't have an opinion about this.

@U2NG @ostephens Let me know what you think of how the website is organized now: https://librarycarpentry.org/

This seems fixed to me by d83655ff348eb9a5c354781053277d7253e17169 & 1b5369e83f00b3f110994ce0aae2aa9a6725f1bc.

I think so too but I'll wait a couple days to hear from @U2NG. Thanks for pinging us again on this @katrinleinweber !

Looks like this has been solved. Closing. Thanks, everyone!


Not working on Expo Application

it shows [Unhandled promise rejection: TypeError: null is not an object (evaluating '_rnSmsRetriever.default.SMS_EVENT')]

This module works for bare React Native projects, not Expo


Fix - missing messageTemplates in ExcludeMimeType validator

Fix for bug reported in #90

@Maks3w Please don't forget to update the CHANGELOG when merging... (I'll do it now, so I can release this bugfix.)

I was waiting for add more patches to the release

No need to wait on releases anymore! :-) My rule of thumb is that if I
won't complete reviewing patches in the same session, release immediately,
and do the other patches in the next release. This is also why it's
important to do change logs on merge; it ensures nobody has to look up
what's been merged when doing a release.
On Jun 23, 2016 10:47 AM, "Maks3w"<EMAIL_ADDRESS>wrote:

I was waiting for add more patches to the release
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/zendframework/zend-validator/pull/92#issuecomment-228093751,
or mute the thread
https://github.com/notifications/unsubscribe/AABlV4nl-pdgg_JwiDgcSHxlaU3-Mz1Nks5qOqqRgaJpZM4I59O0
.


No way to type-constrain a value as object-but-not-a-function

TypeScript Version:  2.5.2
Just as typeof someFunction === 'function', how do I type-constrain a generic parameter to only those types which would satisfy that same expression?
Code
function isObject<T extends object>(value: T | string | number | boolean | symbol | Function | null | undefined): value is T {
  return typeof value === 'object' && value !== null;
}

const fn = function () { return 'foo'; };
!isObject(fn) && fn.name; // fn.name is never

Expected:
After failing the type guard check, fn.name should have a compile time type of string, seeing as fn is a function primitive, not a standard object primitive.
Actual:
After failing the type guard check, fn.name has a compile time type of never.
This issue does not occur if the function is a local function declared via a function statement, rather than as a variable assignment.
The object type seems to match variables assigned a function value, and there appears to be no primitive type keyword that TypeScript understands as meaning a value having the function type, rather than just an object (Function) that has functional characteristics. I have also tried ((...args: any[]) => any), though I suspect the compiler treats that the same way as Function. I know that in JavaScript, functions are technically objects and can have arbitrary properties attached, but they're also special in that they're callable, and are first class primitives in JavaScript in that respect, and so I would expect TypeScript would be able to help me identify objects that are not functions, especially seeing as functions are such an integral and fundamental type in JavaScript.

Update:
Function overloads appear to solve the problem:
type Primitive = string | number | boolean | symbol | null | undefined;

export function isObject<T extends Function>(value: T): false;
export function isObject<T extends object>(value: T | Primitive): value is T;
export function isObject<T extends object>(value: T | Primitive): value is T {
  return typeof value === 'object' && value !== null;
}

I'll leave the issue open pending confirmation that I'm not missing any relevant caveats. Devs, feel free to close it if so.

Not a bug; functions are a subtype of objects. There isn't a way to express isObjectButNotFunction (same as there isn't a way to express isAnimalButNotDog)

Ok, thanks.


Support auth option for scala_repositories

Downloading the scala compiler from an internal proxy such as jfrog is impossible without accepting an auth option. I see that it ultimately calls repository_ctx.download, which accepts an auth dict. Maybe it could be passed through?

@caseyduquettesc have you tried using custom toolchain with dep providers https://github.com/bazelbuild/rules_scala/blob/master/docs/scala_toolchain.md? This allows to set up custom loader for external deps like https://github.com/bazelbuild/rules_jvm_external. Example: https://github.com/liucijus/rules-scala-proto-toolchain/blob/main/BUILD#L42

Good point, I'll give that a try

Yep that works!


iOS build fail after error message: argument type 'Int32List' can't be assigned to the parameter type 'Uint16List' in /lib/flare.dart

Steps to Reproduce

I've been stunk in iOS archive some days, another issue is about the certificate but solved.
HELP THANK YOU!

run $flutter build ios
got error message below:

Running Xcode build...

 ├─Building Dart code...                                    14.1s
Xcode build done.                                           23.0s
Failed to build iOS app
Error output from Xcode build:
↳
    ** BUILD FAILED **

Xcode's output:
↳
    === BUILD TARGET Runner OF PROJECT Runner WITH CONFIGURATION Release ===
    Building AOT snapshot in release mode (ios-release)...

    Compiler message:

    file:///Users/user/flutter/.pub-cache/hosted/pub.dartlang.org/flare_flutter-1.5.0/lib/flare.dart:1
    023:18: Error: The argument type 'Int32List' can't be assigned to the parameter type
    'Uint16List'.

     - 'Int32List' is from 'dart:typed_data'.

     - 'Uint16List' is from 'dart:typed_data'.

    Try changing the type of the parameter, or casting the argument to 'Uint16List'.

            indices: _indices, textureCoordinates: _uvBuffer);

                     ^

    Compiler terminated unexpectedly.
    Failed to build /Users/user/Documents/flutter/Project.

Encountered error while building for device.

Logs

Run flutter run --verbose
(file:///Users/user/flutter/packages/flutter_tools/bin/flutter_tools.dart:8:3)
                        #36     _startIsolate.<anonymous closure>
(dart:isolate-patch/isolate_patch.dart:298:32)
                        #37     _RawReceivePortImpl._handleMessage
(dart:isolate-patch/isolate_patch.dart:171:12)

                        Failed to package /Users/user/Documents/flutter/Project.

[+13276 ms] Could not build the precompiled application for the device.
[ +101 ms] Error launching application on user@iPhone 7.
[   +5 ms] "flutter run" took 268,010ms.
[        ] "flutter run" took 268,010ms.

#0      throwToolExit (package:flutter_tools/src/base/common.dart:24:3)
#1      RunCommand.runCommand (package:flutter_tools/src/commands/run.dart:436:7)
<asynchronous suspension>
#2      FlutterCommand.verifyThenRunCommand
(package:flutter_tools/src/runner/flutter_command.dart:488:18)
#3      _asyncThenWrapperHelper.<anonymous closure> (dart:async-patch/async_patch.dart:77:64)
#4      _rootRunUnary (dart:async/zone.dart:1132:38)
#5      _CustomZone.runUnary (dart:async/zone.dart:1029:19)
#6      _FutureListener.handleValue (dart:async/future_impl.dart:126:18)
#7      Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:639:45)
#8      Future._propagateToListeners (dart:async/future_impl.dart:668:32)
#9      Future._complete (dart:async/future_impl.dart:473:7)
#10     _SyncCompleter.complete (dart:async/future_impl.dart:51:12)
#11     _AsyncAwaitCompleter.complete (dart:async-patch/async_patch.dart:28:18)
#12     _completeOnAsyncReturn (dart:async-patch/async_patch.dart:294:13)
#13     RunCommand.usageValues (package:flutter_tools/src/commands/run.dart)
#14     _asyncThenWrapperHelper.<anonymous closure> (dart:async-patch/async_patch.dart:77:64)
#15     _rootRunUnary (dart:async/zone.dart:1132:38)
#16     _CustomZone.runUnary (dart:async/zone.dart:1029:19)
#17     _FutureListener.handleValue (dart:async/future_impl.dart:126:18)
#18     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:639:45)
#19     Future._propagateToListeners (dart:async/future_impl.dart:668:32)
#20     Future._complete (dart:async/future_impl.dart:473:7)
#21     _SyncCompleter.complete (dart:async/future_impl.dart:51:12)
#22     _AsyncAwaitCompleter.complete.<anonymous closure> (dart:async-patch/async_patch.dart:33:20)
#23     _rootRun (dart:async/zone.dart:1124:13)
#24     _CustomZone.run (dart:async/zone.dart:1021:19)
#25     _CustomZone.bindCallback.<anonymous closure> (dart:async/zone.dart:947:23)
#26     _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
#27     _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
#28     _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:115:13)
#29     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:172:5)

Run flutter analyze
Analyzing Project...

   info • This function has a return type of 'Route', but doesn't end with a return statement •
          lib/app.dart:129:3 • missing_return
   info • Unused import: 'dart:convert' • lib/data/model/serializer/serializers.dart:3:8 •
          unused_import
   info • Unused import: 'package:built_value/built_value.dart' •
          lib/data/model/serializer/serializers.dart:6:8 • unused_import
   info • Duplicate import • lib/home.dart:6:8 • duplicate_import
   info • 'birthday' is deprecated and shouldn't be used • lib/supplemental/build_admob.dart:36:3 •
          deprecated_member_use
   info • 'designedForFamilies' is deprecated and shouldn't be used •
          lib/supplemental/build_admob.dart:38:3 • deprecated_member_use
   info • 'gender' is deprecated and shouldn't be used • lib/supplemental/build_admob.dart:39:3 •
          deprecated_member_use
   info • 'MobileAdGender' is deprecated and shouldn't be used •
          lib/supplemental/build_admob.dart:40:7 • deprecated_member_use
   info • Unused import: 'package:flutter_html/flutter_html.dart' •
          lib/ui/detail/detail_page.dart:9:8 • unused_import
   info • Unused import: 'dart:convert' • lib/ui/detail/detail_page.dart:16:8 • unused_import

Run flutter doctor -v
[✓] Flutter (Channel master, v1.5.9-pre.42, on Mac OS X 10.14.4 18E226, locale zh-Hant-TW)
    • Flutter version 1.5.9-pre.42 at /Users/user/flutter
    • Framework revision cbfa4e5483 (6 hours ago), 2019-04-26 20:25:02 -0700
    • Engine revision 7f753f8f52
    • Dart version 2.3.0 (build 2.3.0-dev.0.3 c46deebfb6)

[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at /Users/user/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
    • All Android licenses accepted.

[✓] iOS toolchain - develop for iOS devices (Xcode 10.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 10.2.1, Build version 10E1001
    • ios-deploy 1.9.4
    • CocoaPods version 1.5.3

[✓] Android Studio (version 3.4)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 34.0.2
    • Dart plugin version 183.5901
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)

[!] IntelliJ IDEA Community Edition (version 2017.3.4)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
    • For information about installing plugins, see
      https://flutter.dev/intellij-setup/#installing-the-plugins

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

[✓] Connected device (1 available)
    • user@iPhone 7 • 1fb22a1bde1609e9daa**********197f59be402 • ios • iOS 12.2

! Doctor found issues in 1 category.

sorry wrong place.


chore(deps): upgrade dev dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-dev-dependencies-k8s-26-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 3212

Questions ?
Please refer to the Backport tool documentation


use undefined for missing rpcs

withdraw via wallet unless mempool submit rpc is set
add simulationRPCEndpoint that is used for eth_simulateV1
add input validation enforcing for couple inputs (was missing)
remove hidden rpc url variable

Why do we need a separate simulation endpoint for the mempool rather than just using the submit endpoint?

on mempool we need a node with eth_smulateV1 with relay we need one with eth_callBundle. We could use the same variable for these, but I thought its not a good idea. The submit endpoint (eg, base or optimism sequencer) do not often support any other methods than send transaction


When restartPolicy is ExitCode and a pod is deleted (137), the entire TFJob will still be marked as failed.

Expectations: if a replica has restartPolicy=ExitCode, then a pod deletion (triggers 137) should cause that pod to restart without triggering TFJob failure.
Reality: The entire TFJob fails.
However, the correct behavior happens for OnFailure where the pod is properly restarted without the entire job failing.
How to reproduce:

Take below spec [0], and apply.
Delete the evaluator pod.
See that the entire job fails.
Replace the evaluator pod's restartPolicy with OnFailure, repeat steps 1,2 and see that the pod restarts without failing the job.

Suspected issue (may not be core issue):

Every replica type is checked for failures
Regardless of replica type, if the replica has a failure and if the job is not restarting, it will be marked for job failure
Seems like that L513 block should also NOT trigger if the jobStatus.Conditions is running?

[0] TFJob spec.
apiVersion: kubeflow.org/v1
kind: TFJob
spec:
  tfReplicaSpecs:
    Chief:
      replicas: 1
      restartPolicy: ExitCode
      template:
        metadata:
          annotations:
            sidecar.istio.io/inject: "false"
        spec:
          affinity: {}
          containers:
          - command: [ "/bin/bash", "-c", "--" ]
            args: [ "while true; do sleep 30; done;" ]
            image: busybox
            imagePullPolicy: Always
            name: tensorflow
            ports:
            - containerPort: 2222
              name: tfjob-port
              protocol: TCP
            resources:
              limits:
                cpu: "2"
                memory: 10Gi
    Evaluator:
      replicas: 1
      restartPolicy: ExitCode
      template:
        metadata:
          annotations:
            sidecar.istio.io/inject: "false"
        spec:
          containers:
          - command: [ "/bin/bash", "-c", "--" ]
            args: [ "while true; do sleep 30; done;" ]
            image: busybox
            imagePullPolicy: Always
            name: tensorflow
            ports:
            - containerPort: 2222
              name: tfjob-port
              protocol: TCP
            resources:
              limits:
                cpu: "2"
                memory: 10Gi

extra information:
Chief works as expected:

set restartPolicy of Chief to ExitCode
delete chief pod
job is still running and chief pod comes back as intended

Worker however does not work either like Evaluator

replicated from https://github.com/kubeflow/common/issues/186

updated in https://github.com/kubeflow/common/issues/186#issuecomment-1076286123


Add documentation for Tasks Commands

These are the current commands:

Suggest they get documented close to where #754 docs go.

The "Create or Edit Task" page seems to do a great job with covering the first command.

Interesting. I see that page as documenting the modal, and not the command.
I see the command as the thing that launches the modal, which is a different thing than the modal itself.

The second command is currently mentioned on the "Getting Started" page. Looks like the content needs a slight update, but to me this feels like a reasonable place for it. Do you think that is sufficient, or do you want to be able to have a single link that goes to both commands?

it’s fine for a page that lists all the commands to mainly link to details docs elsewhere.
Also, the commands are mentioned in many places throughout the docs, and it would be nice for them to link to the docs on the command. This would like make our spelling of the commands be consistent through the docs. I don’t think it is at the moment.

When writing these docs, be sure to mention the auto-adding of global filter being added in #2015.


[Missing Data]

Hello, missing weapons from latest update. ty.

I opened a PR #102 for this

Fixed in #104! 😄


"Recheck all" button does not work

Describe the bug
Clicking the button "Recheck all" returns "0 watches queued for rechecking." Even, when ticking the checkboxes.
Version
0.41
To Reproduce
Steps to reproduce the behavior:

Run fresh instance via default command:

$ docker run -d --restart always -p "<IP_ADDRESS>:5000:5000" --name changedetection.io dgtlmoon/changedetection.io

(with or without -v datastore mapping)
2. Open website <IP_ADDRESS>:5000 (two default sites already exist).
3. Click "Recheck all" below the last website.
Example URL not available because hosted locally.
Expected behavior
All watched websites should update, i.e., "2 watches queued for rechecking".
Screenshots

Desktop:

OS: Windows
Browser: Chrome, Firefox
Version 115, 116

Additional context
Worked a couple of months ago.
Works when ?tag= is removed.
Already occurred in discussions.

Try the latest release :)

It is unfortunately still not fixed (using version 0.44.2).

@m3g33 you dont provide any information for how I can help solve this bug, for example, what is the exact URL at the time you are trying?


Reknit to update README.md

README.md had gotten out of sync with README.rmd (either from your recent change or other previous things).

There are a number of changes I'll be making soon, so I'll wait until then to resync the .Rmd and .md. Thanks!

Ok, no problem! I'll definitely be paying attention to this project!

Awesome! I'm waiting to publicize until we can smooth out some of the details, but I'll be excited to share when it's ready! 🎉


NTFY Crashed

ntfy local server hosted crashed
sparky@sparky:~$ cat /etc/os-release
PRETTY_NAME="Ubuntu 22.04.1 LTS"
NAME="Ubuntu"
VERSION_ID="22.04"
VERSION="22.04.1 LTS (Jammy Jellyfish)"
VERSION_CODENAME=jammy
ID=ubuntu
ID_LIKE=debian
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
UBUNTU_CODENAME=jammy

command used to serve
sudo ntfy serve --listen-http :80 --base-url http://local.syncfast.nl --upstream-base-url https://ntfy.sh --auth-file /var/lib/ntfy/user.db

Stack trace
DatabaseClosedError: UnknownError Internal error.
UnknownError: Internal error.
at from (../node_modules/dexie/dist/modern/dexie.min.mjs:16621:1)
at from (../node_modules/dexie/dist/modern/dexie.min.mjs:17696:1)
at from (../node_modules/dexie/dist/modern/dexie.min.mjs:25902:1)
at from (../node_modules/dexie/dist/modern/dexie.min.mjs:26933:1)
at from (../node_modules/dexie/dist/modern/dexie.min.mjs:19137:1)
at all (app/UserManager.js:15:5)
at tryCatch (../node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js:16:44)
at maybeInvokeDelegate (../node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js:21:125)
DatabaseClosedError: UnknownError Internal error.
UnknownError: Internal error.
at at r_ (http://<IP_ADDRESS>/static/js/main.d80020db.js:2:1077062)
at     at Rm (http://<IP_ADDRESS>/static/js/main.d80020db.js:2:920645)
at     at Dm (http://<IP_ADDRESS>/static/js/main.d80020db.js:2:922811)
at     at n (http://<IP_ADDRESS>/static/js/main.d80020db.js:2:976906)
at     at i (http://<IP_ADDRESS>/static/js/main.d80020db.js:2:980087)
at     at C (http://<IP_ADDRESS>/static/js/main.d80020db.js:2:344292)
at     at S (http://<IP_ADDRESS>/static/js/main.d80020db.js:2:344014)
at     at O (http://<IP_ADDRESS>/static/js/main.d80020db.js:2:344403)
at     at Bm (http://<IP_ADDRESS>/static/js/main.d80020db.js:2:922071)
at     at fv (http://<IP_ADDRESS>/static/js/main.d80020db.js:2:975360)
at     at Suspense
at     at c_

This is an error in Dexie.js, the library that I used to talked to IndexedDB in the browser. To the best of my knowledge, there is nothing you can do about this but wipe the local browser database. I checked the Dexie.js issues (https://github.com/dexie/Dexie.js/issues), but couldn't find anything about this.
Workaround
To wipe the local browser DB, press F12 to open the developer console and delete the IndexedDB database. This will sadly lose all your subscriptions and settings:
Firefox
F12 -> Storage -> Indexed DB

Chrome
F12 -> Application -> Indexed DB


Initial chef-server-ctl reconfigure fails, 12.18.14-1, Ubuntu 16

Chef Server Version
12.18.14-1
Platform Details

Ubuntu 16.04
AWS, t2.large
8G RAM total, 4G free
External postgres (on RDS) and external bookshelf (on S3)

Configuration
Standalone, but with external postgres and bookshelf as mentioned above.
cat /etc/opscode/chef-server.rb
postgresql['db_superuser'] = 'chef'
postgresql['db_superuser_password'] = 'obfuscated'
postgresql['external'] = true
postgresql['vip'] = 'chef-server-rds-hostname.us-east-1.rds.amazonaws.com'

bookshelf['vip'] = 'bookshelf-bucket-name.s3.amazonaws.com'
bookshelf['external_url'] = 'https://bookshelf-bucket-name.s3.amazonaws.com'
bookshelf['access_key_id'] = 'obfuscated'
bookshelf['secret_access_key'] = 'obfuscated'
opscode_erchef['s3_bucket'] = 'bookshelf-bucket-name'

Scenario:
Install chef-server.
Steps to Reproduce:
Here is my user_data script (it's a Terraform template, hence the ${foo} variables:
#!/bin/bash -x

# apt-get upgrade
export DEBIAN_FRONTEND=noninteractive
export DEBIAN_PRIORITY=critical
sudo -E apt-get -qy update
sudo -E apt-get -qy -o "Dpkg::Options::=--force-confdef" -o "Dpkg::Options::=--force-confold" upgrade
sudo -E apt-get -qy autoclean

# awscli
apt-get install -y python-pip
pip install awscli

# Install and set up the Chef server
wget -q -O /tmp/chef-server.deb https://packages.chef.io/files/stable/chef-server/12.18.14/ubuntu/16.04/chef-server-core_12.18.14-1_amd64.deb
dpkg -i /tmp/chef-server.deb

# Set up external postgres
echo postgresql\[\'db_superuser\'\] = \'${db_superuser}\' > /etc/opscode/chef-server.rb
echo postgresql\[\'db_superuser_password\'\] = \'${db_superuser_password}\' >> /etc/opscode/chef-server.rb
echo postgresql\[\'external\'\]	= true >> /etc/opscode/chef-server.rb
echo postgresql\[\'vip\'\] = \'${rds_endpoint}\' >> /etc/opscode/chef-server.rb
echo >> /etc/opscode/chef-server.rb

# Set up external cookbook storage on S3
echo bookshelf\[\'vip\'\] = \'${bookshelf_bucket_domain_name}\' >> /etc/opscode/chef-server.rb
echo bookshelf\[\'external_url\'\] = \'https://${bookshelf_bucket_domain_name}\' >> /etc/opscode/chef-server.rb
echo bookshelf\[\'access_key_id\'\] = \'${iam_user}\' >> /etc/opscode/chef-server.rb
echo bookshelf\[\'secret_access_key\'\] = \'${iam_secret}\' >> /etc/opscode/chef-server.rb
echo opscode_erchef\[\'s3_bucket\'\] = \'${bookshelf_bucket_name}\' >> /etc/opscode/chef-server.rb
echo >> /etc/opscode/chef-server.rb

chef-server-ctl reconfigure

Expected Result:
exit 0, with chef-server being successfully reconfigured.
Actual Result:
Giant pastebomb of the error:
  * openssl_x509_certificate[/var/opt/opscode/nginx/ca/.crt] action create

    ================================================================================
    Error executing action `create` on resource 'openssl_x509_certificate[/var/opt/opscode/nginx/ca/.crt]'
    ================================================================================

    TypeError
    ---------
    no implicit conversion of nil into String

    Cookbook Trace:
    ---------------
    /var/opt/opscode/local-mode-cache/cookbooks/openssl/resources/x509_certificate.rb:111:in `add_entry'
    /var/opt/opscode/local-mode-cache/cookbooks/openssl/resources/x509_certificate.rb:111:in `subject'
    /var/opt/opscode/local-mode-cache/cookbooks/openssl/resources/x509_certificate.rb:97:in `request'
    /var/opt/opscode/local-mode-cache/cookbooks/openssl/resources/x509_certificate.rb:148:in `cert'
    /var/opt/opscode/local-mode-cache/cookbooks/openssl/resources/x509_certificate.rb:57:in `block (3 levels) in class_from_file'
    /var/opt/opscode/local-mode-cache/cookbooks/openssl/resources/x509_certificate.rb:51:in `block (2 levels) in class_from_file'
    /var/opt/opscode/local-mode-cache/cookbooks/openssl/resources/x509_certificate.rb:50:in `block in class_from_file'

    Resource Declaration:
    ---------------------
    # In /var/opt/opscode/local-mode-cache/cookbooks/private-chef/recipes/nginx.rb

     77:    openssl_x509 ssl_crtfile do
     78:      common_name server_name
     79:      org node['private_chef']['nginx']['ssl_company_name']
     80:      org_unit node['private_chef']['nginx']['ssl_organizational_unit_name']
     81:      country node['private_chef']['nginx']['ssl_country_name']
     82:      key_length node['private_chef']['nginx']['ssl_key_length']
     83:      expire node['private_chef']['nginx']['ssl_duration']
     84:      subject_alt_name [ "#{server_name_type}:#{server_name}" ]
     85:      owner OmnibusHelper.new(node).ownership['owner']
     86:      group OmnibusHelper.new(node).ownership['group']
     87:      mode '0600'
     88:    end
     89:

    Compiled Resource:
    ------------------
    # Declared in /var/opt/opscode/local-mode-cache/cookbooks/private-chef/recipes/nginx.rb:77:in `from_file'

    openssl_x509_certificate("/var/opt/opscode/nginx/ca/.crt") do
      action [:create]
      default_guard_interpreter :default
      declared_type :openssl_x509
      cookbook_name "private-chef"
      recipe_name "nginx"
      common_name nil
      org "YouCorp"
      org_unit "Operations"
      country "US"
      key_length 2048
      expire 3650
      subject_alt_name ["DNS:"]
      owner "opscode"
      group "opscode"
      mode "0600"
      path "/var/opt/opscode/nginx/ca/.crt"
    end

    System Info:
    ------------
    chef_version=14.3.37
    platform=ubuntu
    platform_version=16.04
    ruby=ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]
    program_name=/opt/opscode/embedded/bin/chef-client
    executable=/opt/opscode/embedded/bin/chef-client

Recipe: private-chef::oc_bifrost
  * runit_service[oc_bifrost] action restart (up to date)
  * execute[restart_oc_bifrost_log_service] action run
    - execute /opt/opscode/embedded/bin/sv restart /opt/opscode/sv/oc_bifrost/log
Recipe: private-chef::oc_id
  * runit_service[oc_id] action restart (up to date)
  * execute[restart_oc_id_log_service] action run
    - execute /opt/opscode/embedded/bin/sv restart /opt/opscode/sv/oc_id/log
Recipe: private-chef::nginx
  * runit_service[nginx] action restart

    ================================================================================
    Error executing action `restart` on resource 'runit_service[nginx]'
    ================================================================================

    Mixlib::ShellOut::ShellCommandFailed
    ------------------------------------
    Expected process to exit with [0], but received '1'
    ---- Begin output of /opt/opscode/embedded/bin/sv restart /opt/opscode/service/nginx ----
    STDOUT: fail: /opt/opscode/service/nginx: unable to change to service directory: file does not exist
    STDERR:
    ---- End output of /opt/opscode/embedded/bin/sv restart /opt/opscode/service/nginx ----
    Ran /opt/opscode/embedded/bin/sv restart /opt/opscode/service/nginx returned 1

    Cookbook Trace:
    ---------------
    /var/opt/opscode/local-mode-cache/cookbooks/runit/libraries/helpers.rb:174:in `tap'
    /var/opt/opscode/local-mode-cache/cookbooks/runit/libraries/helpers.rb:174:in `safe_sv_shellout!'
    /var/opt/opscode/local-mode-cache/cookbooks/runit/libraries/helpers.rb:202:in `restart_service'
    /var/opt/opscode/local-mode-cache/cookbooks/runit/libraries/provider_runit_service.rb:330:in `block in <class:RunitService>'

    Resource Declaration:
    ---------------------
    # In /var/opt/opscode/local-mode-cache/cookbooks/enterprise/definitions/component_runit_service.rb

     37:   runit_service component do
     38:     action :enable
     39:     retries 20
     40:     control params[:control] if params[:control]
     41:     options(
     42:       log_directory: log_directory
     43:     )
     44:     params[:runit_attributes].each do |attr_name, attr_value|
     45:       send(attr_name.to_sym, attr_value)
     46:     end
     47:   end
     48:

    Compiled Resource:
    ------------------
    # Declared in /var/opt/opscode/local-mode-cache/cookbooks/enterprise/definitions/component_runit_service.rb:37:in `block in from_file'

    runit_service("nginx") do
      params {:package=>"private_chef", :log_directory=>nil, :svlogd_size=>nil, :svlogd_num=>nil, :ha=>nil, :control=>nil, :runit_attributes=>{}, :action=>:enable, :name=>"nginx"}
      provider Chef::Provider::RunitService
      action [:enable]
      default_guard_interpreter :default
      service_name "nginx"
      enabled false
      running false
      masked nil
      options {:log_directory=>"/var/log/opscode/nginx"}
      pattern "nginx"
      status_command "/opt/opscode/embedded/bin/sv status /opt/opscode/service"
      supports {:restart=>true, :reload=>true, :status=>true}
      sv_bin "/opt/opscode/embedded/bin/sv"
      sv_dir "/opt/opscode/sv"
      service_dir "/opt/opscode/service"
      lsb_init_dir "/opt/opscode/init"
      log true
      restart_on_update true
      run_template_name "nginx"
      log_template_name "nginx"
      check_script_template_name "nginx"
      finish_script_template_name "nginx"
      sv_templates true
      log_dir "/var/log/nginx"
      service_mirror # Declared in

    service("nginx") do
      provider Chef::Provider::Service::Simple
      action [:nothing]
      default_guard_interpreter :default
      service_name "nginx"
      enabled nil
      running nil
      masked nil
      pattern "nginx"
      start_command "/opt/opscode/embedded/bin/sv start /opt/opscode/service/nginx"
      stop_command "/opt/opscode/embedded/bin/sv stop /opt/opscode/service/nginx"
      status_command "/opt/opscode/embedded/bin/sv status /opt/opscode/service/nginx"
      restart_command "/opt/opscode/embedded/bin/sv restart /opt/opscode/service/nginx"
      supports {:restart=>true, :reload=>true, :status=>true}
    end

      declared_type :runit_service
      cookbook_name "private-chef"
      recipe_name "nginx"
      retries 20
    end

    System Info:
    ------------
    chef_version=14.3.37
    platform=ubuntu
    platform_version=16.04
    ruby=ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]
    program_name=/opt/opscode/embedded/bin/chef-client
    executable=/opt/opscode/embedded/bin/chef-client

Recipe: private-chef::opscode-solr4
  * runit_service[opscode-solr4] action restart (up to date)
  * execute[restart_opscode-solr4_log_service] action run
    - execute /opt/opscode/embedded/bin/sv restart /opt/opscode/sv/opscode-solr4/log
Recipe: private-chef::opscode-expander
  * runit_service[opscode-expander] action restart (up to date)
  * execute[restart_opscode-expander_log_service] action run
    - execute /opt/opscode/embedded/bin/sv restart /opt/opscode/sv/opscode-expander/log
Recipe: private-chef::bookshelf
  * runit_service[bookshelf] action restart (up to date)
  * execute[restart_bookshelf_log_service] action run
    - execute /opt/opscode/embedded/bin/sv restart /opt/opscode/sv/bookshelf/log
Recipe: private-chef::opscode-erchef
  * runit_service[opscode-erchef] action restart (up to date)
  * execute[restart_opscode-erchef_log_service] action run
    - execute /opt/opscode/embedded/bin/sv restart /opt/opscode/sv/opscode-erchef/log
Recipe: <Dynamically Defined Resource>
  * service[opscode-erchef] action restart
    - restart service service[opscode-erchef]
Recipe: private-chef::partybus
  * execute[set initial migration level] action run

    ================================================================================
    Error executing action `run` on resource 'execute[set initial migration level]'
    ================================================================================

    Mixlib::ShellOut::ShellCommandFailed
    ------------------------------------
    Expected process to exit with [0], but received '1'
    ---- Begin output of cd /opt/opscode/embedded/service/partybus && ./bin/partybus init ----
    STDOUT:
    STDERR: /opt/opscode/embedded/service/gem/ruby/2.5.0/gems/sequel-3.34.1/lib/sequel/database/schema_generator.rb:19: warning: constant ::Fixnum is deprecated
    /opt/opscode/embedded/service/gem/ruby/2.5.0/gems/sequel-3.34.1/lib/sequel/database/schema_generator.rb:19: warning: constant ::Bignum is deprecated
    ./bin/partybus:11:in `require': cannot load such file -- /opt/opscode/embedded/service/partybus/config.rb (LoadError)
    	from ./bin/partybus:11:in `<main>'
    ---- End output of cd /opt/opscode/embedded/service/partybus && ./bin/partybus init ----
    Ran cd /opt/opscode/embedded/service/partybus && ./bin/partybus init returned 1

    Resource Declaration:
    ---------------------
    # In /var/opt/opscode/local-mode-cache/cookbooks/private-chef/recipes/partybus.rb

     59: execute "set initial migration level" do
     60:   action :nothing
     61:   command "cd /opt/opscode/embedded/service/partybus && ./bin/partybus init"
     62:   subscribes :run, "file[#{OmnibusHelper.bootstrap_sentinel_file}]", :delayed
     63: end
     64:

    Compiled Resource:
    ------------------
    # Declared in /var/opt/opscode/local-mode-cache/cookbooks/private-chef/recipes/partybus.rb:59:in `from_file'

    execute("set initial migration level") do
      action [:nothing]
      default_guard_interpreter :execute
      command "cd /opt/opscode/embedded/service/partybus && ./bin/partybus init"
      backup 5
      declared_type :execute
      cookbook_name "private-chef"
      recipe_name "partybus"
      domain nil
      user nil
    end

    System Info:
    ------------
    chef_version=14.3.37
    platform=ubuntu
    platform_version=16.04
    ruby=ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]
    program_name=/opt/opscode/embedded/bin/chef-client
    executable=/opt/opscode/embedded/bin/chef-client

Recipe: private-chef::opscode-chef-mover
  * execute[restart_opscode-chef-mover_log_service] action run
    - execute /opt/opscode/embedded/bin/sv restart /opt/opscode/sv/opscode-chef-mover/log
Recipe: private-chef::redis_lb
  * execute[restart_redis_lb_log_service] action run
    - execute /opt/opscode/embedded/bin/sv restart /opt/opscode/sv/redis_lb/log

Running handlers:
Running handlers complete
Chef Client failed. 306 resources updated in 01 minutes 59 seconds
[2018-11-16T15:16:20+00:00] FATAL: Stacktrace dumped to /var/opt/opscode/local-mode-cache/chef-stacktrace.out
[2018-11-16T15:16:20+00:00] FATAL: Please provide the contents of the stacktrace.out file if you file a bug report
[2018-11-16T15:16:20+00:00] FATAL: Chef::Exceptions::MultipleFailures: Multiple failures occurred:
* TypeError occurred in chef run: openssl_x509_certificate[/var/opt/opscode/nginx/ca/.crt] (private-chef::nginx line 77) had an error: TypeError: no implicit conversion of nil into String
* Mixlib::ShellOut::ShellCommandFailed occurred in delayed notification: runit_service[nginx] (private-chef::nginx line 37) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '1'
---- Begin output of /opt/opscode/embedded/bin/sv restart /opt/opscode/service/nginx ----
STDOUT: fail: /opt/opscode/service/nginx: unable to change to service directory: file does not exist
STDERR:
---- End output of /opt/opscode/embedded/bin/sv restart /opt/opscode/service/nginx ----
Ran /opt/opscode/embedded/bin/sv restart /opt/opscode/service/nginx returned 1
* Mixlib::ShellOut::ShellCommandFailed occurred in delayed notification: execute[set initial migration level] (private-chef::partybus line 59) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '1'
---- Begin output of cd /opt/opscode/embedded/service/partybus && ./bin/partybus init ----
STDOUT:
STDERR: /opt/opscode/embedded/service/gem/ruby/2.5.0/gems/sequel-3.34.1/lib/sequel/database/schema_generator.rb:19: warning: constant ::Fixnum is deprecated
/opt/opscode/embedded/service/gem/ruby/2.5.0/gems/sequel-3.34.1/lib/sequel/database/schema_generator.rb:19: warning: constant ::Bignum is deprecated
./bin/partybus:11:in `require': cannot load such file -- /opt/opscode/embedded/service/partybus/config.rb (LoadError)
	from ./bin/partybus:11:in `<main>'
---- End output of cd /opt/opscode/embedded/service/partybus && ./bin/partybus init ----
Ran cd /opt/opscode/embedded/service/partybus && ./bin/partybus init returned 1

FWIW, running the same exact thing (but with the 18.04 deb) works fine on Ubuntu 18.04. So I'm unblocked and no longer care about following up on this issue. As far as I'm concerned this can be closed, but I'll leave it open and let the maintainers decide.


Can it be optimized for speed?

I think it is very slow to find dlatents here, have you thought about using stylegan2 to quickly optimize the speed of projection?

Our method perform latent optimization on z space. Each image takes around 5mins.
Using an encoder could speed up the process, the translation quality is a bit worse according to Fig 17 and table 5.


Reevaluate whether exposing pipelines as a concept in UI still makes sense

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/1981
Originally created by @DouweM on 2020-04-21 23:24:22

Related to https://gitlab.com/meltano/meltano/-/issues/1980 and https://gitlab.com/meltano/meltano/issues/1673.

View 10 previous comments from the original issue on GitLab


⚠ Jenkins Plugins Artifactory has degraded performance

In a59ec3d, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1192 ms

Resolved: Jenkins Plugins Artifactory performance has improved in 71fb8e3 after 1 hour, 51 minutes.


Remove an extra space in darwin-tests.yaml as it may cause build fail…

…ure (see https://github.com/project-chip/connectedhomeip/actions/runs/2240701948/workflow)
Problem
@mlepage-google reports on slack that he is saying sporadic failure on the .github/workflows/darwin-tests.yaml file.
It seems that the failure report happens line 45 where there is an extra space - I'm not sure why it does not happens all the time, but it is cheap to just fix it and see it that was the cause of the failure.
 Check failure on line 45 in .github/workflows/darwin-tests.yaml

 GitHub Actions
/ .github/workflows/darwin-tests.yaml

Invalid workflow file
You have an error in your yaml syntax on line 45

Change overview

Remove an extra whitespace

Thanks. Maybe I only see it sometimes, because sometimes this CI step is skipped?

The build has failed with the following error:
Run scripts/checkout_submodules.py --shallow --platform darwin
[2](https://github.com/project-chip/connectedhomeip/runs/6230860084?check_suite_focus=true#step:2:2)
  scripts/checkout_submodules.py --shallow --platform darwin
[3](https://github.com/project-chip/connectedhomeip/runs/6230860084?check_suite_focus=true#step:2:3)
  shell: /bin/bash -e {0}
[4](https://github.com/project-chip/connectedhomeip/runs/6230860084?check_suite_focus=true#step:2:4)
  env:
[5](https://github.com/project-chip/connectedhomeip/runs/6230860084?check_suite_focus=true#step:2:5)
    BUILD_VARIANT: no-ble-asan
[6](https://github.com/project-chip/connectedhomeip/runs/6230860084?check_suite_focus=true#step:2:6)
/Users/runner/work/_temp/c6860e60-e981-4769-936b-f04c25949621.sh: line 1: scripts/checkout_submodules.py: No such file or directory


Use f64 standard functions for angle conversion

@g-bauer noticed this and it was a quick refactor.
Now we use to_degrees and to_radians to do that transformation instead of an inline function.

Thanks!


Request: New release

Can you make a new release of bluecord (preferably .apk versions with separated architectures/bitnesses)

Why would a new release be created if nothing has been edited yet? You do raise a good point with separating APKs by architecture - this would be something to improve on after we have automated patching, and then at some point hopefully CI/CD.
You can check for updates in the app via the Bluecord Mods menu.

Duplicate of #8 , seperate architectures is noted but unlikely as it would increase the complexity of future releases, as up to 6 apks would have to be made (1 for each architecture)


[Feature Request]: Teach Azure Filesystem to authenticate using DefaultAzureCredential in the Python SDK

Problem
Currently, the Azure Filesystem for the Python SDK only supports authenticating using the AZURE_STORAGE_CONNECTION_STRING environment variable.  That approach has several limitations:

The AZURE_STORAGE_CONNECTION_STRING environment variable must be defined on all systems where the pipeline executes.  This is difficult to configure when using Beam worker-pool sidecar containers with the FlinkRunner because Flink may be running in session mode with different Beam pipelines needing different connection strings.
The call to BlobServiceClient.from_connection_string() does not support all of the authentication methods supported by DefaultAzureCredential.  For my use case in particular, it does not support Managed Identity credentials.

Solution
I plan to address the above limitations in a PR by adding new Azure-specific pipeline options described below.
--azure_blob_storage_connection_string
Specifies the Azure Storage Connection String.
Can be used instead of the AZURE_STORAGE_CONNECTION_STRING environment variable or the new --azure_blob_storage_connection_string pipeline option described below.
Example:
python -m apache_beam.examples.wordcount \
  --input azfs://devstoreaccount1/container/* \
  --output azfs://devstoreaccount1/container/py-wordcount-integration \
  --azure_blob_storage_connection_string "DefaultEndpointsProtocol=https;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=https://azurite:10000/devstoreaccount1;"

--azure_blob_storage_account_url
Specifies the Azure Blob Storage Account Endpoint URL.
Can be used instead of the AZURE_STORAGE_CONNECTION_STRING environment variable or the new --azure_blob_storage_connection_string pipeline option described above.
This pipeline option uses DefaultAzureCredential() to authenticate.
Example:
python -m apache_beam.examples.wordcount \
  --input azfs://devstoreaccount1/container/* \
  --output azfs://devstoreaccount1/container/py-wordcount-integration \
  --azure_blob_storage_account_url https://mystorageaccount.blob.core.windows.net/

--azure_managed_identity_client_id
Specifies the Managed Identity Client ID.  Can only be used with --azure_blob_storage_account_url.
This pipeline option uses DefaultAzureCredential(managed_identity_client_id=client_id) to authenticate.
Example:
python -m apache_beam.examples.wordcount \
  --input azfs://devstoreaccount1/container/* \
  --output azfs://devstoreaccount1/container/py-wordcount-integration \
  --azure_blob_storage_account_url https://devstoreaccount1.blob.core.windows.net/ \
  --azure_managed_identity_client_id ca6cc1a3-4b82-48bd-97ca-8e799c0abff6

Testing
Per https://github.com/apache/beam/issues/20511, the Azure Filesystem does not have integration tests against Azure or Azurite.  I plan to add integration tests for the new pipeline options to run against Azurite, similar to how HDFS does its integration tests.
Issue Priority
Priority: 2
Issue Component
Component: io-py-ideas

.take-issue

Thanks @creste for raising this! It is an important issue. There is a --azureConnectionString, --blobServiceEndpoint option in our Java SDK and some other options available in Java but not in Python. Ideally we would like to have the similar naming and specifications. Could we use --azure_connection_string, --blob_service_endpoint; for --azure_managed_identity_client_id I have not find a relevant one in our Java SDK but maybe there is one.

Thank you for pointing out those flags, @Abacn !  I renamed the flags to --azure_connection_string and --blob_service_endpoint.
I can try changing --azure_managed_identity_client_id to do something similar to --azureCredentialsProvider. However, I don't have a good way to test all of those authentication methods using Azurite or Azure.  How do you think I should proceed?

Thank you for pointing out those flags, @Abacn ! I renamed the flags to --azure_connection_string and --blob_service_endpoint.
I can try changing --azure_managed_identity_client_id to do something similar to --azureCredentialsProvider. However, I don't have a good way to test all of those authentication methods using Azurite or Azure. How do you think I should proceed?

That's fine. We can support only managed identity client for now and document it.


Update for forge 41.0.98

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

We are currently in the process in the 1.19-arch branch of moving the Mod over to Architectury to allow the Mod to load on both Forge and Fabric as well as some changes, I will merge this anyways since you were so kind in doing it :)


ODK 1.2.2 upgrade

CLO had to be removed from CL imports, because of incompatibilities with UBERON
PR is currently not mirrored anymore, because it is too big. Same ncbitaxon.

I think this is mergeable - however, I am not 100% certain that this PR preserves all the build functionality that was previously there. @cmungall you may have to make sure that cl.Makefile still does what it should. Not sure what other scripts you have building stuff.

Also file a ticket with CLO

If it correctly builds the required products, let's merge, we can make changes later.
Ok, cant be 100% sure, but looks as! Eyeballing revealms some cosmetic issues, like the presence of the owl:Nothing class in the signature (coming from RO).

Will you also check in the project.yml?
Yes, on todo. Currently checked in latest ODK as example file.

Ideally there would be no hand-edits to the makefile, can some of this be controlled in the yml?
You mean excluding PR and NCBI taxon?  So they are commented out for now. But I can add a note to cl.Makefile

You say there are unsatisfiable classes in pr? They should be notified
They are! I think they have fixed it already.

We need a better solution for big upstream ontologies. pr should be releasing modules
More next week.

Looks like we need to add a basic product to the ODK Makefile as this is used across multiple ontologies
ok

I'm a bit worried about changes to release files affecting downstream users.  See https://github.com/INCATools/ontology-development-kit/issues/175
It seems me that there is no reason to make new release files as part of this pull request - as the rest seems fine.  Can we revert release and then merge?
I guess the downside is we'll need to wait for a base file.  But perhaps OK to push this before other releases, given that (AFAIK) we are currently the only users ?

Ok david, I removed cl.obo, cl.owl and the release imports again. Please merge when content.


Updated Copyright from Facebook to Meta

Summary
Changed the Facebook Inc copyright to Meta Platforms for all occurances. (967 files)
Should not affect anything other than comments containing the copyright information. No other instances of the word Facebook were changed.
Pre-flight checklist

[x] I have read the Contributing Guidelines on pull requests.
[ ] If this is a code change: I have written unit tests and/or added dogfooding pages to fully verify the new behavior.
[ ] If this is a new API or substantial change: the PR has an accompanying issue (closes #0000) and the maintainers have approved on my working plan.

Motivation
Changes the copyright information from Facebook Inc. to Meta Platforms Inc. to match changes to React.
Will affect any checked out files that are currently holding the Facebook Inc copyright.
Test Plan
Verified by grep:
Copyright (c) [Mm]eta [Pp]latforms Inc to ensure Meta Platforms is titled correctly.
Copyright (c) [Ff]acebook Inc to ensure Facebook Inc has been replaced.
Copyright (c) (?![Mm]eta) to ensure no other variations of Facebook copyrights remain. Does not include the non-Facebook copyrights, of which there are 2:

docusaurus/packages/docusaurus/src/webpack/plugins/CleanWebpackPlugin.ts: 10,4:  * Copyright (c) 2015 John Agan
docusaurus/packages/docusaurus-mdx-loader/src/remark/admonitions/LICENSE: 3,1: Copyright (c) 2020 Elvis Wolcott

Test links
N/A
Related issues/PRs
https://github.com/facebook/react/issues/26829

Sorry but I can't merge this copyright change unless the request comes from Meta OSS team.


Improve article 1511.06581

Exact location of issue
Figure 2
Problem details

(Optional) Expected behavior

Desktop (please complete the following information)

OS: Windows
Browser firefox, chrome

This is now resolved with the latest ar5iv update, using latexml v0.8.8


ClientAuthError: multiple_matching_tokens error when cache kept more than 2 users

Core Library
MSAL Node (@azure/msal-node)
Core Library Version
1.5.0
Wrapper Library
Not Applicable
Wrapper Library Version
None
Description
When using a "singleton instance of confidentialClientApplication" we have found the "case that in cache there is two accounts, third account try to make first time a OBO and we get multiple_matching_tokens error."
Originally posted by @CrazyBaran in https://github.com/AzureAD/microsoft-authentication-library-for-js/issues/4158#issuecomment-944152234
With my team, we have found exactly the same issue... Maybe important to say that the cache has exactly 12 items when it happens.
@sameerag We are wondering if the potential solution is still alive, for it seems recently to be more or less without activity: https://github.com/AzureAD/microsoft-authentication-library-for-js/pull/4081
And by the way, the only quick workaround we've found so far is to always clear the cache XD
Have you by chance found another one @CrazyBaran ?
MSAL Configuration
const config: Configuration = {
  auth: {
    clientId: 'our clientId',
    authority: 'https://login.microsoftonline.com/our tenantId',
    clientSecret: 'our clientSecret',
  },
};
this.cca = new ConfidentialClientApplication(config);

Relevant Code Snippets
const cachedAccount: AccountInfo = await this.cca
      .getTokenCache()
      .getAccountByLocalId((jwtDecode(token) as UserPayload).oid);
    if (cachedAccount?.localAccountId) {
      return await this.cca.acquireTokenSilent({
        account: cachedAccount,
        scopes: ['https://vault.azure.net/.default'],
        authority: 'https://login.microsoftonline.com/our tenantId',
      });
    }
	return this.cca.acquireTokenOnBehalfOf({
      oboAssertion: token.split(' ').pop(),
      scopes,
      authority: 'https://login.microsoftonline.com/our tenantId',
    });

Identity Provider
Azure AD / MSA
Source
External (Customer)

@hastudillo Thanks for raising this. Can you confirm the potential fix works? And yes #4081 is still tracked, just delayed as we had some issues with E2E test suite and could not get to it sooner.
It helps if you can also confirm the fix works on your end.

@sameerag Thank you for your answer. We will test the potential fix in an environment. We will share with you whether the bug is reproduced or not.

Same error reproduced. Here below the status of the cache before the error:
  {
    cacheHasChanged: true,
    storage: A {
      clientId: 'OUR_CLIENT_ID',
      cryptoImpl: m { pkceGenerator: y {} },
      cache: {
        'authority-metadata-OUR_CLIENT_ID-login.windows.net': [AuthorityMetadataEntity],
        'FIRST_USER_LOGGED.OUR_TENANT_ID-login.windows.net-OUR_TENANT_ID': [AccountEntity],
        'FIRST_USER_LOGGED.OUR_TENANT_ID-login.windows.net-idtoken-OUR_CLIENT_ID-OUR_TENANT_ID---': [IdTokenEntity],
        'FIRST_USER_LOGGED.OUR_TENANT_ID-login.windows.net-refreshtoken-OUR_CLIENT_ID----': [RefreshTokenEntity],
        'SECOND_USER_LOGGED.OUR_TENANT_ID-login.windows.net-OUR_TENANT_ID': [AccountEntity],
        'SECOND_USER_LOGGED.OUR_TENANT_ID-login.windows.net-idtoken-OUR_CLIENT_ID-OUR_TENANT_ID---': [IdTokenEntity],
        'SECOND_USER_LOGGED.OUR_TENANT_ID-login.windows.net-refreshtoken-OUR_CLIENT_ID----': [RefreshTokenEntity],
        'SECOND_USER_LOGGED.OUR_TENANT_ID-login.windows.net-accesstoken-OUR_CLIENT_ID-OUR_TENANT_ID-https://vault.azure.net/user_impersonation https://vault.azure.net/.default--': [AccessTokenEntity],
        'FIRST_USER_LOGGED.OUR_TENANT_ID-login.windows.net-accesstoken-OUR_CLIENT_ID-OUR_TENANT_ID-https://vault.azure.net/user_impersonation https://vault.azure.net/.default--': [AccessTokenEntity],
        'server-telemetry-OUR_CLIENT_ID': [ServerTelemetryEntity]
      },
      changeEmitters: [ [Function: bound handleChangeEvent] ],
      logger: Logger {
        level: 2,
        localCallback: [Function: loggerCallback],
        piiLoggingEnabled: false,
        correlationId: '',
        packageName: '@azure/msal-node',
        packageVersion: '1.5.0'
      }
    },
    logger: Logger {
      level: 2,
      localCallback: [Function: loggerCallback],
      piiLoggingEnabled: false,
      correlationId: '',
      packageName: '@azure/msal-node',
      packageVersion: '1.5.0'
    }
  }

When the third account tries to obtain a token for the Key Vault OBO (explicitly), then:
ClientAuthError: multiple_matching_tokens: The cache contains multiple tokens satisfying the requirements. Call AcquireToken again providing more requirements such as authority or account.
"Impossible to retrieve the Database Connection URI with the token provided"
BadRequestException: Impossible to retrieve the Database Connection URI with the token provided
      at AzureService.getConnectionStringFromVault (/app/dist/core/auth/azure.service.js:88:19)
      at runMicrotasks (<anonymous>)
      at processTicksAndRejections (internal/process/task_queues.js:95:5)
      at async InstanceWrapper.useFactory [as metatype] (/app/dist/core/tenancy/tenancy-connection.provider.js:25:29)
      at async Injector.instantiateClass (/app/node_modules/@nestjs/core/injector/injector.js:305:37)
      at async callback (/app/node_modules/@nestjs/core/injector/injector.js:48:30)
      at async Injector.loadInstance (/app/node_modules/@nestjs/core/injector/injector.js:52:9)
      at async Injector.loadProvider (/app/node_modules/@nestjs/core/injector/injector.js:74:9)
      at async Injector.resolveComponentHost (/app/node_modules/@nestjs/core/injector/injector.js:164:13)
      at async Promise.all (index 0)

@hastudillo  Thanks for the details.
We need to reproduce this on our end to see what is happening. Can you please confirm a few things before we do that:

The third account is unique?
Did you try clearing only specific cache entries (agree this will ne hacky) and test adding the new account and see if it passes? This is mostly to test the theory I see put forward in the issue (12 entries created before the issue pops up)?

Also can you please enable logging and let us know the exact point of failure? I still think it is match issue and not cache capacity.
cc @hectormmg

I was working on that few months ago. Found out that multiple_matching_tokens is thrown due to that part of the code: https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/60e2cfc0e9daa3c24e994617b4ac42aef6880b74/lib/msal-common/src/client/OnBehalfOfClient.ts#L107
accessTokenFilter is the same for all accounts, there is nothing "account specific" during generation of that token. Our workaround was to completely disable the cache.

Actually this makes sense. I however remember we used to do uid.utid filtering before fetching account specific access tokens. I will take a look at this bug.
Since the accessToken key is defined as Key Example: uid.utid-login.microsoftonline.com-accesstoken-clientId-contoso.com-user.read as below:  https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/60e2cfc0e9daa3c24e994617b4ac42aef6880b74/lib/msal-common/src/cache/entities/AccessTokenEntity.ts#L20
ideally we should be able to filter this with account data added.

If this is OBO, we should have account info. It is only for client-credential flow that we completely discard accountInfo since there is no user info.

@sameerag Thank you for your answer.

I can confirm that the third account is unique.
We haven't tested clearing only specific cache entries.
As mentioned above (02/08) we noticed that the cache had 10 items when the error was reproduced. So it seems to be more important the number of accounts whose tokens are cached than the number of entries.
Tested with the following package.json:

  "scripts": {
    "postinstall": "cd node_modules/@azure/msal-node; npm install; npm run build",
...
  "dependencies": {
    "@azure/msal-node": "https://gitpkg.now.sh/AzureAD/microsoft-authentication-library-for-js/lib/msal-node?fix-inmemory-cache",

As the time for always acquiring a new token is just a matter of some millis. we are not planing to deploy again in order to reproduce one more time the error (but you are right, it have been a good idea to enable logging at info level!). If we get chance to do so, for sure we will share the logs.
Still, of course, we are still interested in the issue, we'll remain attentive to the matter.

@hastudillo Thanks for the data. We think this is a bug in access token filtering, which should include account matching. I am marking this as a bug and will follow up with a PR.

Our workaround was to completely disable the cache.

Hi, may I know how to completely disable the cache for a temporary fix?
cc @coder-pm

@andrew-hwahin don't provide any cachePlugin and it should use in-memory cache by default. There is no issue there.

@coder-pm Thanks for the prompt response, but I'm facing the same issue even though I did not provide any cache to it. 🤔

@sameerag we're encountering the same bug on our project - disabling the cache is not a solution for us. Any updates would be great!

Is there any other temporary fix I could implement to avoid this bug?

We are adding an enhancement in OBO and will be pushing a PR soon that should potentially resolve this issue. Please watch this space for the updates, I am tracking this issue.

@sameerag thank you! As this is blocking a client project would it be possible for us to share an ETA on the fix?

@sameerag thank you! As this is blocking a client project would it be possible for us to share an ETA on the fix?

Sorry to bump, we're just doing our sprint planning/refinement and are hoping to share an update with the team.

#4691 is a work in progress

Thanks @sameerag - any new updates on targeted release?

@tnorling @sameerag any updates here?

hope this issue will be resolved asap as it affects production 🙏🙇♂

@dillonbailey @andrew-hwahin We have released a new msal-node version that should fix this. Can you please try and let us know if it solves your issue?

@sameerag thanks to you and your team for fixing the bug, I will test it out and report back if the issue still persists. 🙏🙇♂

@sameerag I got HTTP status code 401 after upgrading my @azure/msal-node from 1.8.0 to 1.10.0, I've read the release notes from 1.9.0, 1.9.1 and 1.10.0, but doesn't find any instruction which I needed to make in order to upgrade.

Hi @sameerag
I am a colleague of @dillonbailey and am taking over here.
We have updated msal-node to 1.10.0 but are still experiencing this issue.
What information do you need from us to further look into this?


Omit jemalloc on FreeBSD

Summary
I haven't actually tested this, but it was reported here: https://github.com/abravalheri/validate-pyproject/pull/97#issuecomment-1776178101.

What's the reason for excluding freebsd. I didn't read about any incompatibilities

I think you want to opt-in to the platforms you know are supported, rather than opting out. Otherwise, you'd probably want to list all the BSD's, like netbsd.
https://doc.rust-lang.org/reference/conditional-compilation.html#target_os

Grabbing a FreeBSD VirtualBox image, resizing it with VBoxManage modifyhd FreeBSD-13.2-RELEASE-amd64.vhd --resize 12000, then installing some deps, but it breaks compiling tiki-jemalloc-sys v0.5.4+5.3.0-patched while compiling Ruff.
pkg install lang/python # gets 3.9
pkg install lang/ruff # gets 1.72
pik install py39-pip
pip install --user -v ruff

(I also set up a user and ssh so I could copy the traceback, not shown above)
  error: failed to run custom build command for `tikv-jemalloc-sys v0.5.4+5.3.0-patched`

  Caused by:
    process didn't exit successfully: `/tmp/pip-install-wun6jb5i/ruff_88374fcbff2a46e3964c49c25b048eb2/target/release/build/tikv-jemalloc-sys-fcc95a3119f7eeb0/build-script-build` (exit status: 101)
    --- stdout
    TARGET=x86_64-unknown-freebsd
    HOST=x86_64-unknown-freebsd
    NUM_JOBS=1
    OUT_DIR="/tmp/pip-install-wun6jb5i/ruff_88374fcbff2a46e3964c49c25b048eb2/target/release/build/tikv-jemalloc-sys-5594596a655ec688/out"
    BUILD_DIR="/tmp/pip-install-wun6jb5i/ruff_88374fcbff2a46e3964c49c25b048eb2/target/release/build/tikv-jemalloc-sys-5594596a655ec688/out/build"
    SRC_DIR="/usr/home/henryschreiner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tikv-jemalloc-sys-0.5.4+5.3.0-patched"
    cargo:rustc-cfg=prefixed
    cargo:rerun-if-env-changed=JEMALLOC_OVERRIDE
    OPT_LEVEL = Some("3")
    TARGET = Some("x86_64-unknown-freebsd")
    HOST = Some("x86_64-unknown-freebsd")
    cargo:rerun-if-env-changed=CC_x86_64-unknown-freebsd
    CC_x86_64-unknown-freebsd = None
    cargo:rerun-if-env-changed=CC_x86_64_unknown_freebsd
    CC_x86_64_unknown_freebsd = None
    cargo:rerun-if-env-changed=HOST_CC
    HOST_CC = None
    cargo:rerun-if-env-changed=CC
    CC = None
    cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
    CRATE_CC_NO_DEFAULTS = None
    DEBUG = Some("false")
    CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2")
    cargo:rerun-if-env-changed=CFLAGS_x86_64-unknown-freebsd
    CFLAGS_x86_64-unknown-freebsd = None
    cargo:rerun-if-env-changed=CFLAGS_x86_64_unknown_freebsd
    CFLAGS_x86_64_unknown_freebsd = None
    cargo:rerun-if-env-changed=HOST_CFLAGS
    HOST_CFLAGS = None
    cargo:rerun-if-env-changed=CFLAGS
    CFLAGS = None
    CC="cc"
    CFLAGS="-O3 -ffunction-sections -fdata-sections -fPIC -m64 -Wall"
    JEMALLOC_REPO_DIR="jemalloc"
    cargo:rerun-if-env-changed=JEMALLOC_SYS_WITH_MALLOC_CONF
    cargo:rerun-if-env-changed=JEMALLOC_SYS_WITH_LG_PAGE
    cargo:rerun-if-env-changed=JEMALLOC_SYS_WITH_LG_HUGEPAGE
    cargo:rerun-if-env-changed=JEMALLOC_SYS_WITH_LG_QUANTUM
    cargo:rerun-if-env-changed=JEMALLOC_SYS_WITH_LG_VADDR
    --with-jemalloc-prefix=_rjem_
    running: cd "/tmp/pip-install-wun6jb5i/ruff_88374fcbff2a46e3964c49c25b048eb2/target/release/build/tikv-jemalloc-sys-5594596a655ec688/out/build" && CC="cc" CFLAGS="-O3 -ffunction-sections -fdata-sections -fPIC -m64 -Wall" CPPFLAGS="-O3 -ffunction-sections -fdata-sections -fPIC -m64 -Wall" LDFLAGS="-O3 -ffunction-sections -fdata-sections -fPIC -m64 -Wall" "sh" "/tmp/pip-install-wun6jb5i/ruff_88374fcbff2a46e3964c49c25b048eb2/target/release/build/tikv-jemalloc-sys-5594596a655ec688/out/build/configure" "--disable-cxx" "--enable-doc=no" "--enable-shared=no" "--with-jemalloc-prefix=_rjem_" "--with-private-namespace=_rjem_" "--host=x86_64-unknown-freebsd" "--build=x86_64-unknown-freebsd" "--prefix=/tmp/pip-install-wun6jb5i/ruff_88374fcbff2a46e3964c49c25b048eb2/target/release/build/tikv-jemalloc-sys-5594596a655ec688/out"
    checking for xsltproc... false
    checking for x86_64-unknown-freebsd-gcc... cc
    checking whether the C compiler works... yes
    checking for C compiler default output file name... a.out
    checking for suffix of executables...
    checking whether we are cross compiling... no
    checking for suffix of object files... o
    checking whether we are using the GNU C compiler... yes
    checking whether cc accepts -g... yes
    checking for cc option to accept ISO C89... none needed
    checking whether compiler is cray... no
    checking whether compiler supports -std=gnu11... yes
    checking whether compiler supports -Werror=unknown-warning-option... yes
    checking whether compiler supports -Wall... yes
    checking whether compiler supports -Wextra... yes
    checking whether compiler supports -Wshorten-64-to-32... yes
    checking whether compiler supports -Wsign-compare... yes
    checking whether compiler supports -Wundef... yes
    checking whether compiler supports -Wno-format-zero-length... yes
    checking whether compiler supports -Wpointer-arith... yes
    checking whether compiler supports -Wno-missing-braces... yes
    checking whether compiler supports -Wno-missing-field-initializers... yes
    checking whether compiler supports -Wno-missing-attributes... no
    checking whether compiler supports -pipe... yes
    checking whether compiler supports -g3... yes
    checking how to run the C preprocessor... cc -E
    checking for grep that handles long lines and -e... /usr/bin/grep
    checking for egrep... /usr/bin/grep -E
    checking for ANSI C header files... yes
    checking for sys/types.h... yes
    checking for sys/stat.h... yes
    checking for stdlib.h... yes
    checking for string.h... yes
    checking for memory.h... yes
    checking for strings.h... yes
    checking for inttypes.h... yes
    checking for stdint.h... yes
    checking for unistd.h... yes
    checking whether byte ordering is bigendian... no
    checking size of void *... 8
    checking size of int... 4
    checking size of long... 8
    checking size of long long... 8
    checking size of intmax_t... 8
    checking build system type... x86_64-unknown-freebsd
    checking host system type... x86_64-unknown-freebsd
    checking whether pause instruction is compilable... yes
    checking number of significant virtual address bits... 48
    checking for x86_64-unknown-freebsd-ar... no
    checking for ar... ar
    checking for x86_64-unknown-freebsd-nm... no
    checking for nm... nm
    checking for gawk... no
    checking for mawk... no
    checking for nawk... nawk
    checking malloc.h usability... yes
    checking malloc.h presence... yes
    checking for malloc.h... yes
    checking whether malloc_usable_size definition can use const argument... yes
    checking for library containing log... -lm
    checking whether __attribute__ syntax is compilable... yes
    checking whether compiler supports -fvisibility=hidden... yes
    checking whether compiler supports -fvisibility=hidden... no
    checking whether compiler supports -Werror... yes
    checking whether compiler supports -herror_on_warning... no
    checking whether tls_model attribute is compilable... yes
    checking whether compiler supports -Werror... yes
    checking whether compiler supports -herror_on_warning... no
    checking whether alloc_size attribute is compilable... yes
    checking whether compiler supports -Werror... yes
    checking whether compiler supports -herror_on_warning... no
    checking whether format(gnu_printf, ...) attribute is compilable... no
    checking whether compiler supports -Werror... yes
    checking whether compiler supports -herror_on_warning... no
    checking whether format(printf, ...) attribute is compilable... yes
    checking whether compiler supports -Werror... yes
    checking whether compiler supports -herror_on_warning... no
    checking whether format(printf, ...) attribute is compilable... yes
    checking whether compiler supports -Wimplicit-fallthrough... yes
    checking whether fallthrough attribute is compilable... yes
    checking whether compiler supports -Wimplicit-fallthrough... yes
    checking whether compiler supports -Wimplicit-fallthrough... no
    checking whether compiler supports -Werror... yes
    checking whether compiler supports -herror_on_warning... no
    checking whether cold attribute is compilable... yes
    checking whether vm_make_tag is compilable... no
    checking for a BSD-compatible install... /usr/bin/install -c
    checking for x86_64-unknown-freebsd-ranlib... no
    checking for ranlib... ranlib
    checking for ld... /usr/bin/ld
    checking for autoconf... false
    checking for memalign... yes
    checking for valloc... yes
    checking for malloc_size... no
    checking whether compiler supports -O3... yes
    checking whether compiler supports -O3... no
    checking whether compiler supports -funroll-loops... yes
    checking configured backtracing method... N/A
    checking for sbrk... yes
    checking whether utrace(2) is compilable... yes
    checking whether a program using __builtin_unreachable is compilable... yes
    checking whether a program using __builtin_ffsl is compilable... yes
    checking whether a program using __builtin_popcountl is compilable... yes
    checking LG_PAGE... 12
    checking pthread.h usability... yes
    checking pthread.h presence... yes
    checking for pthread.h... yes
    checking for pthread_create in -lpthread... yes
    checking dlfcn.h usability... yes
    checking dlfcn.h presence... yes
    checking for dlfcn.h... yes
    checking for dlsym... yes
    checking whether pthread_atfork(3) is compilable... yes
    checking whether pthread_setname_np(3) is compilable... yes
    checking whether pthread_getname_np(3) is compilable... yes
    checking whether pthread_get_name_np(3) is compilable... yes
    checking for library containing clock_gettime... none required
    checking whether clock_gettime(CLOCK_MONOTONIC_COARSE, ...) is compilable... yes
    checking whether clock_gettime(CLOCK_MONOTONIC, ...) is compilable... yes
    checking whether mach_absolute_time() is compilable... no
    checking whether clock_gettime(CLOCK_REALTIME, ...) is compilable... yes
    checking whether compiler supports -Werror... yes
    checking whether syscall(2) is compilable... yes
    checking for secure_getenv... no
    checking for sched_getcpu... yes
    checking for sched_setaffinity... yes
    checking for issetugid... yes
    checking for _malloc_thread_cleanup... yes
    checking for _pthread_mutex_init_calloc_cb... yes
    checking for memcntl... no
    Forcing lazy-lock to avoid allocator/threading bootstrap issues
    checking for TLS... yes
    checking whether C11 atomics is compilable... yes
    checking whether GCC __atomic atomics is compilable... yes
    checking whether GCC 8-bit __atomic atomics is compilable... yes
    checking whether GCC __sync atomics is compilable... yes
    checking whether GCC 8-bit __sync atomics is compilable... yes
    checking whether Darwin OSAtomic*() is compilable... no
    checking whether madvise(2) is compilable... yes
    checking whether madvise(..., MADV_FREE) is compilable... yes
    checking whether madvise(..., MADV_DONTNEED) is compilable... yes
    checking whether madvise(..., MADV_DO[NT]DUMP) is compilable... no
    checking whether madvise(..., MADV_[NO]HUGEPAGE) is compilable... no
    checking whether madvise(..., MADV_[NO]CORE) is compilable... yes
    checking whether mprotect(2) is compilable... yes
    checking for __builtin_clz... yes
    checking whether Darwin os_unfair_lock_*() is compilable... no
    checking whether pthreads adaptive mutexes is compilable... yes
    checking whether compiler supports -D_GNU_SOURCE... yes
    checking whether compiler supports -Werror... yes
    checking whether compiler supports -herror_on_warning... no
    checking whether strerror_r returns char with gnu source is compilable... no
    checking for stdbool.h that conforms to C99... yes
    checking for _Bool... yes
    configure: creating ./config.status
    config.status: creating Makefile
    config.status: creating jemalloc.pc
    config.status: creating doc/html.xsl
    config.status: creating doc/manpages.xsl
    config.status: creating doc/jemalloc.xml
    config.status: creating include/jemalloc/jemalloc_macros.h
    config.status: creating include/jemalloc/jemalloc_protos.h
    config.status: creating include/jemalloc/jemalloc_typedefs.h
    config.status: creating include/jemalloc/internal/jemalloc_preamble.h
    config.status: creating test/test.sh
    config.status: creating test/include/test/jemalloc_test.h
    config.status: creating config.stamp
    config.status: creating bin/jemalloc-config
    config.status: creating bin/jemalloc.sh
    config.status: creating bin/jeprof
    config.status: creating include/jemalloc/jemalloc_defs.h
    config.status: creating include/jemalloc/internal/jemalloc_internal_defs.h
    config.status: creating test/include/test/jemalloc_test_defs.h
    config.status: executing include/jemalloc/internal/public_symbols.txt commands
    config.status: executing include/jemalloc/internal/private_symbols.awk commands
    config.status: executing include/jemalloc/internal/private_symbols_jet.awk commands
    config.status: executing include/jemalloc/internal/public_namespace.h commands
    config.status: executing include/jemalloc/internal/public_unnamespace.h commands
    config.status: executing include/jemalloc/jemalloc_protos_jet.h commands
    config.status: executing include/jemalloc/jemalloc_rename.h commands
    config.status: executing include/jemalloc/jemalloc_mangle.h commands
    config.status: executing include/jemalloc/jemalloc_mangle_jet.h commands
    config.status: executing include/jemalloc/jemalloc.h commands
    ===============================================================================
    jemalloc version   : 5.3.0-0-g54eaed1d8b56b1aa528be3bdd1877e59c56fa90c
    library revision   : 2

    CONFIG             : --disable-cxx --enable-doc=no --enable-shared=no --with-jemalloc-prefix=_rjem_ --with-private-namespace=_rjem_ --host=x86_64-unknown-freebsd --build=x86_64-unknown-freebsd --prefix=/tmp/pip-install-wun6jb5i/ruff_88374fcbff2a46e3964c49c25b048eb2/target/release/build/tikv-jemalloc-sys-5594596a655ec688/out build_alias=x86_64-unknown-freebsd host_alias=x86_64-unknown-freebsd CC=cc 'CFLAGS=-O3 -ffunction-sections -fdata-sections -fPIC -m64 -Wall' 'LDFLAGS=-O3 -ffunction-sections -fdata-sections -fPIC -m64 -Wall' 'CPPFLAGS=-O3 -ffunction-sections -fdata-sections -fPIC -m64 -Wall'
    CC                 : cc
    CONFIGURE_CFLAGS   : -std=gnu11 -Werror=unknown-warning-option -Wall -Wextra -Wshorten-64-to-32 -Wsign-compare -Wundef -Wno-format-zero-length -Wpointer-arith -Wno-missing-braces -Wno-missing-field-initializers -pipe -g3 -fvisibility=hidden -Wimplicit-fallthrough -O3 -funroll-loops
    SPECIFIED_CFLAGS   : -O3 -ffunction-sections -fdata-sections -fPIC -m64 -Wall
    EXTRA_CFLAGS       :
    CPPFLAGS           : -O3 -ffunction-sections -fdata-sections -fPIC -m64 -Wall -D_BSD_SOURCE -D_REENTRANT
    CXX                :
    CONFIGURE_CXXFLAGS :
    SPECIFIED_CXXFLAGS :
    EXTRA_CXXFLAGS     :
    LDFLAGS            : -O3 -ffunction-sections -fdata-sections -fPIC -m64 -Wall
    EXTRA_LDFLAGS      :
    DSO_LDFLAGS        : -shared -Wl,-soname,$(@F)
    LIBS               : -lm  -pthread
    RPATH_EXTRA        :

    XSLTPROC           : false
    XSLROOT            :

    PREFIX             : /tmp/pip-install-wun6jb5i/ruff_88374fcbff2a46e3964c49c25b048eb2/target/release/build/tikv-jemalloc-sys-5594596a655ec688/out
    BINDIR             : /tmp/pip-install-wun6jb5i/ruff_88374fcbff2a46e3964c49c25b048eb2/target/release/build/tikv-jemalloc-sys-5594596a655ec688/out/bin
    DATADIR            : /tmp/pip-install-wun6jb5i/ruff_88374fcbff2a46e3964c49c25b048eb2/target/release/build/tikv-jemalloc-sys-5594596a655ec688/out/share
    INCLUDEDIR         : /tmp/pip-install-wun6jb5i/ruff_88374fcbff2a46e3964c49c25b048eb2/target/release/build/tikv-jemalloc-sys-5594596a655ec688/out/include
    LIBDIR             : /tmp/pip-install-wun6jb5i/ruff_88374fcbff2a46e3964c49c25b048eb2/target/release/build/tikv-jemalloc-sys-5594596a655ec688/out/lib
    MANDIR             : /tmp/pip-install-wun6jb5i/ruff_88374fcbff2a46e3964c49c25b048eb2/target/release/build/tikv-jemalloc-sys-5594596a655ec688/out/share/man

    srcroot            :
    abs_srcroot        : /tmp/pip-install-wun6jb5i/ruff_88374fcbff2a46e3964c49c25b048eb2/target/release/build/tikv-jemalloc-sys-5594596a655ec688/out/build/
    objroot            :
    abs_objroot        : /tmp/pip-install-wun6jb5i/ruff_88374fcbff2a46e3964c49c25b048eb2/target/release/build/tikv-jemalloc-sys-5594596a655ec688/out/build/

    JEMALLOC_PREFIX    : _rjem_
    JEMALLOC_PRIVATE_NAMESPACE
                       : _rjem_je_
    install_suffix     :
    malloc_conf        :
    documentation      : 0
    shared libs        : 0
    static libs        : 1
    autogen            : 0
    debug              : 0
    stats              : 1
    experimental_smallocx : 0
    prof               : 0
    prof-libunwind     : 0
    prof-libgcc        : 0
    prof-gcc           : 0
    fill               : 1
    utrace             : 0
    xmalloc            : 0
    log                : 0
    lazy_lock          : 1
    cache-oblivious    : 1
    cxx                : 0
    ===============================================================================
    running: cd "/tmp/pip-install-wun6jb5i/ruff_88374fcbff2a46e3964c49c25b048eb2/target/release/build/tikv-jemalloc-sys-5594596a655ec688/out/build" && "gmake" "-j" "1"

    --- stderr
    thread 'main' panicked at 'failed to execute command: No such file or directory (os error 2)', /home/henryschreiner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tikv-jemalloc-sys-0.5.4+5.3.0-patched/build.rs:347:19
    note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
  💥 maturin failed
    Caused by: Failed to build a native library through cargo
    Caused by: Cargo build finished with "exit status: 101": `"cargo" "rustc" "--message-format" "json-render-diagnostics" "--manifest-path" "/tmp/pip-install-wun6jb5i/ruff_88374fcbff2a46e3964c49c25b048eb2/crates/ruff_cli/Cargo.toml" "--release" "--bin" "ruff" "--" "-C" "link-arg=-s"`
  Error: command ['maturin', 'pep517', 'build-wheel', '-i', '/usr/local/bin/python3.9', '--compatibility', 'off'] returned non-zero exit status 1
  error: subprocess-exited-with-error

  × Building wheel for ruff (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> See above for output.

  note: This error originates from a subprocess, and is likely not a problem with pip.
  full command: /usr/local/bin/python3.9 /usr/local/lib/python3.9/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py build_wheel /tmp/tmp59mr0y0s
  cwd: /tmp/pip-install-wun6jb5i/ruff_88374fcbff2a46e3964c49c25b048eb2
  Building wheel for ruff (pyproject.toml) ... error
  ERROR: Failed building wheel for ruff
Failed to build ruff

Seems like jemalloc doesn't find the build directory. That's weird.

From looking at the issues in the repo (https://github.com/tikv/jemallocator/issues/32), I think the problem is that gmake is not installed (though that's not at all clear from the error message). Installing that causes it to get past this AFAICT:
Compiling clap_complete_command v0.5.1
     Compiling tikv-jemallocator v0.5.4
     Compiling rayon v1.8.0
     Compiling ruff_workspace v0.0.0 (/tmp/pip-install-dhh9emaf/ruff_8fe1980984d0465685562acf0a4ea0e4/crates/ruff_workspace)
     Compiling cachedir v0.3.0
     Compiling bincode v1.3.3
     Compiling wild v2.2.0
     Compiling ruff_cli v0.1.1 (/tmp/pip-install-dhh9emaf/ruff_8fe1980984d0465685562acf0a4ea0e4/crates/ruff_cli)
Killed

Not sure how to get it past "Killed", though.

With more memory, it does build.
I'd rather expect FreeBSD and OpenBSD to be the same - it's probably gmake that's required for both? Not sure if it's better to skip it or to ask people to install gmake if it's missing.

I think I'd err on the side of not requiring it for those platforms, it's just an optimization anyway.

I think I'd err on the side of not requiring it for those platforms, it's just an optimization anyway.

What's the reasoning? Because it simplifies the installation?
The advantage of keeping it is that we have a consistent infrastructure across unix platforms. Supporting multiple allocator means a larger testing surface.

We already only use jemalloc on select platforms, so don't we technically have that larger testing surface now?

We already only use jemalloc on select platforms, so don't we technically have that larger testing surface now?

Kind of, but only because we excluded openbsd (for reasons?). Ideally it should be mimalloc on windows, and jemalloc on everything else (that we officially support)

Okay, I defer to you!

What is the difference between BSD and UNIX? As far as I can tell, this is exactly the same problem on both, it requires an extra installed dependency outside of Cargo. The only difference is that BSD always has to build from source, but most people on UNIX are getting wheels, so less likely to run into it.
It seems like making this an opt-in dependency, and then including it in pre-built wheels, would be more consistent.
Or if there was a way to improve the error to make it clear what a use is missing, that’s not perfect but at least much better.
It’s sad there has to be a non Rust package build in a Rust one.

This is still on my list. I just haven't gotten around to look into it in detail (not having openbsd/freebsd is also a factor)

What is the difference between BSD and UNIX? As far as I can tell, this is exactly the same problem on both, it requires an extra installed dependency outside of Cargo. The only difference is that BSD always has to build from source, but most people on UNIX are getting wheels, so less likely to run into it.

That's correct and part of the reason why I prefer not to exclude BSD. Using ruff with exotic CPU architecture requires building from source for all platforms. Meaning, BSD isn't really different except that we don't provide any pre-builts for BSD.

It seems like making this an opt-in dependency, and then including it in pre-built wheels, would be more consistent.

That's an interesting idea, but would mean that wheels built from the source are different from pre-built wheels. Something users might not be aware of (and we may have to account for when providing support). Although I don't expect many issues related to this because a) most users use pre-built wheels, b) system allocators tend to be well tested, and c) it only makes ruff slightly slower. Ideally there would still be a way for users to opt in to use the custom allocator, even when building from source.
The alternative is to improve the detection / warning messages emited by the jemalloc build. But I suspect that this to be non trivial because linux distributions love to use different names for different dependencies.

I'm gonna close this for now. @MichaReiser, you're welcome to re-open if you choose to pick it back up.


Build and push origin-web-console image during push_origin_release

Based on the changes @smarterclayton added for image-registry in this PR https://github.com/openshift/aos-cd-jobs/pull/867
The decision was to treat console same as image registry and push it as part of push_origin_release
cc @spadgett

/lgtm

@stevekuznetsov ok release job passed so this is ready to go in now i think


0.9.1 and 0.10.0 are missing from changelog

The changelog only contains a 0.9.0 release.

Done, thanks.

Thank you!