Picovoice Issue: In Web-Voice-React, usePicovoice hook, the inferenceHandler does not update when its reference changes.

Expected behaviour
When a different inferenceHandler function is passed to usePicovoice, I expect the new function to be called instead of the original function.
Actual behaviour
The first function passed to usePicovoice on mount is used
Steps to reproduce the behaviour
Something like this should reproduce the issue:
import { usePicovoice } from '@picovoice/picovoice-web-react';

const MyComponent = () => {
    const [state, setState] = useState(true);

    const handler = useCallback(() => {
        // I know you can use setState(state => !state), but this is to show the issue with a very simple example
        setState(!state);
    }, [state]);

    usePicovoice(..., handler);

    return ...

};

This will cause the handler to only ever set the state false, since it gets initialized with "true" in its closure. Even when the "state" variable changes and the handler reference is different, the new handler does not get attached to the picovoice worker.
I modified the usePicovoice hook myself to fix the issue:
"web-voice-react/use_picovoice.ts"
import { useState, useEffect } from 'react';

import { WebVoiceProcessor } from '@picovoice/web-voice-processor';

import {
  PicovoiceWorker,
  PicovoiceWorkerFactory,
  PicovoiceWorkerResponse,
} from '@picovoice/picovoice-web-core';

import { PorcupineKeyword } from '@picovoice/porcupine-web-core';

import { RhinoContext, RhinoInference } from '@picovoice/rhino-web-core';

export type PicovoiceHookArgs = {
  accessKey: string;
  porcupineKeyword: PorcupineKeyword;
  rhinoContext: RhinoContext;
  requireEndpoint?: boolean;
  start?: boolean;
};

type EngineControlType = 'ppn' | 'rhn';

export function usePicovoice(
  picovoiceWorkerFactory: PicovoiceWorkerFactory | null,
  picovoiceHookArgs: PicovoiceHookArgs | null,
  keywordCallback: (keywordLabel: string) => void,
  inferenceCallback: (inference: RhinoInference) => void
): {
  contextInfo: string | null;
  isLoaded: boolean;
  isListening: boolean;
  isError: boolean | null;
  errorMessage: string | null;
  engine: EngineControlType;
  webVoiceProcessor: WebVoiceProcessor | null;
  start: () => void;
  pause: () => void;
  stop: () => void;
} {
  const [errorMessage, setErrorMessage] = useState<string | null>(null);
  const [contextInfo, setContextInfo] = useState<string | null>(null);
  const [isError, setIsError] = useState<boolean | null>(false);
  const [isListening, setIsListening] = useState(false);
  const [isLoaded, setIsLoaded] = useState(false);
  const [engine, setEngine] = useState<EngineControlType>('ppn');
  const [picovoiceWorker, setPicovoiceWorker] =
    useState<PicovoiceWorker | null>(null);
  const [webVoiceProcessor, setWebVoiceProcessor] =
    useState<WebVoiceProcessor | null>(null);
  // const porcupineCallback = useRef(keywordCallback);
  // const rhinoCallback = useRef(inferenceCallback);

  const start = (): boolean => {
    if (webVoiceProcessor !== null) {
      webVoiceProcessor.start().then(() => {
        setIsListening(true);
        return true;
      });
    }
    return false;
  };

  const pause = (): boolean => {
    if (webVoiceProcessor !== null) {
      webVoiceProcessor.pause();
      setIsListening(false);
      return true;
    }
    return false;
  };

  const stop = (): boolean => {
    if (webVoiceProcessor !== null) {
      webVoiceProcessor.stop().then(() => {
        setIsListening(false);
        setEngine('ppn');
        if (picovoiceWorker !== null) {
          picovoiceWorker.postMessage({ command: 'reset' });
        }
        return true;
      });
    }
    return false;
  };

  /** Refresh the keyword and inference callbacks
   * when they change (avoid stale closure) */
  useEffect(() => {
    if (picovoiceWorker !== null) {
      picovoiceWorker.onmessage = (
        message: MessageEvent<PicovoiceWorkerResponse>
      ): void => {
        switch (message.data.command) {
          case 'ppn-keyword':
            keywordCallback(message.data.keywordLabel);
            setEngine('rhn');
            break;
          case 'rhn-inference':
            inferenceCallback(message.data.inference);
            setEngine('ppn');
            break;
          case 'rhn-info':
            setContextInfo(message.data.info);
            break;
          default:
            break;
        }
      };
    }
  }, [inferenceCallback, keywordCallback, picovoiceWorker]);

  useEffect(() => {
    if (
      picovoiceWorkerFactory === null ||
      picovoiceWorkerFactory === undefined
    ) {
      return (): void => {
        /* NOOP */
      };
    }

    if (picovoiceHookArgs === null || picovoiceHookArgs === undefined) {
      return (): void => {
        /* NOOP */
      };
    }

    async function startPicovoice(): Promise<{
      webVp: WebVoiceProcessor;
      pvWorker: PicovoiceWorker;
    }> {
      const { start: startWebVp = true } = picovoiceHookArgs!;

      // Argument checking; the engines will also do checking but we can get
      // clearer error messages from the hook
      if (picovoiceHookArgs!.porcupineKeyword === undefined) {
        throw Error('porcupineKeyword is missing');
      }
      if (picovoiceHookArgs!.rhinoContext === undefined) {
        throw Error('rhinoContext is missing');
      }

      const pvWorker: PicovoiceWorker = await picovoiceWorkerFactory!.create({
        ...picovoiceHookArgs!,
        start: true,
      });

      pvWorker.postMessage({ command: 'info' });

      try {
        const webVp = await WebVoiceProcessor.init({
          engines: [pvWorker],
          start: startWebVp,
        });

        return { webVp, pvWorker };
      } catch (error) {
        pvWorker.postMessage({ command: 'release' });
        throw error;
      }
    }
    const startPicovoicePromise = startPicovoice();

    startPicovoicePromise
      .then(({ webVp, pvWorker }) => {
        setIsLoaded(true);
        setIsListening(webVp.isRecording);
        setWebVoiceProcessor(webVp);
        setPicovoiceWorker(pvWorker);
        setIsError(false);
      })
      .catch((error) => {
        setIsError(true);
        setErrorMessage(error.toString());
      });

    return (): void => {
      startPicovoicePromise
        .then(({ webVp, pvWorker }) => {
          if (webVp !== undefined && webVp !== null) {
            webVp.release();
          }
          if (pvWorker !== undefined && pvWorker !== undefined) {
            pvWorker.postMessage({ command: 'release' });
            pvWorker.terminate();
          }
        })
        .catch(() => {
          // do nothing
        });
    };
  }, [
    picovoiceWorkerFactory,
    // https://github.com/facebook/react/issues/14476#issuecomment-471199055
    // ".... we know our data structure is relatively shallow, doesn't have cycles,
    // and is easily serializable ... doesn't have functions or weird objects like Dates.
    // ... it's acceptable to pass [JSON.stringify(variables)] as a dependency."
    JSON.stringify(picovoiceHookArgs),
  ]);

  return {
    contextInfo,
    isLoaded,
    isListening,
    isError,
    errorMessage,
    engine,
    webVoiceProcessor,
    start,
    pause,
    stop,
  };
}

Hi @eblocha ... Thank you for the report and the fix. Added my colleague who knows the React SDK and we take a look in the coming week. Can you please submit a PR for your fix? It is easier to look at the diff to understand the fix.

Hi @kenarsa, thanks for the response. I created a PR: https://github.com/Picovoice/picovoice/pull/367. This fixes the issue for me with minimal diffs (verified in my app).
For more context, this is the project I'm working on where I ran into the issue: https://github.com/eblocha/nsuns/blob/3df04315a92276513529e2b63a70748e889ec8d7/src/components/Voice/VoiceButton.tsx#L45

@eblocha - thanks for reporting. We've integrated the fix and have released a new version of the picovoice-web-react package (2.1.5)

@eblocha project is super cool. I need to work on how much I can bench though first.


Fix JQM version in example, clean up whitespace, get JQ from CDN

See commits

Can someone explain JavaScript to me? If I include Backbone + Underscore from a CDN (instead from the local copy), the router will no longer load.

Hi nisc, thanks for the patches.
I've tried the example including underscore and backbone from the internet and it seems to work, maybe you didn't load underscore before backbone.js which is mandatory, since the former is an hard dependency for the latter.


Swifter Method Naming Convention

Swift 3 entered Preview 1 a few days ago, and I thought I'd start things off by pushing a compatibility branch, which can be found at the swift-3 branch in this repo.
Part 1, Swift 3 updates
As many of you may know, Swift 3 updated the naming convention to be shorter and clearer. More information can be found on Swift's API Design Guidelines.
To incorporate this, I am proposing changes to Swifter to match the new guidelines.
// Swift 2.2
public func getStatusesShowWithID(_ id: String, count: Int? = nil, trimUser: Bool? = nil, includeMyRetweet: Bool? = nil, includeEntities: Bool? = nil, success: ((status: Dictionary<String, JSONValue>?) -> Void)? = nil, failure: FailureHandler? = nil) {
// ...
}

// Swift 3.0
public func getStatuses(id: String, count: Int? = nil, trimUser: Bool? = nil, includeMyRetweet: Bool? = nil, includeEntities: Bool? = nil, success: ((status: Dictionary<String, JSONValue>?) -> Void)? = nil, failure: FailureHandler? = nil) {
// ...
}

By trimming the withID from the method name and moving it to the param name, it shortens the name and makes the method (Swift 3)-ier!
Obviously, this change will mean that anyone using Swifter would have to need to manually update their projects to follow this new naming convention. Regardless, I think it's a good idea to follow the naming conventions of the language and make Swifter's code more readable and clean.
Part 2, simplifying method names
To go beyond this, I am also proposing an even clearer naming convention. Currently, all Swifter methods are named according to their REST API call. For example,

GET statuses/user_timeline →  getStatusesUserTimelineWithCount:
POST statuses/update →  postStatusUpdate:
GET statuses/lookup →    getStatusesLookupTweetIDs:
POST lists/members/destroy →   postListsMembersDestroyWithListID:

Now, what I'm proposing is to make make the methods more readable to those using it. Something similar to the following. Note, these are just examples, and not the absolute proposed solution.

GET statuses/user_timeline →  getUserTimelineTweets(user:  ... )
POST statuses/update →  postTweet(text: ... )
GET statuses/lookup →    lookupTweets(ids: ... )
POST lists/members/destroy →   removeListMember(userID: ... )

Thoughts?

I absolutely agree with you.
Regarding your examples, we can go a bit further (speaking of both clarity and naming simplification) by introducing a few External Parameter Names:
This way, instead of:

getUserTimelineTweets(user: ... ) we could use getTimelineTweets(forUser user: ... )
getStatuses(id: ... ) we could use getStatuses(withId id: ... )

Nevertheless, I love the proposal!

Personally, I don't like having the withID or forUser as external parameter names. In Swift 2.2, that was very common; however, in Swift 3, they moved it towards an even shorter path. Notice that the external param name does not include is simply at: rather than atIndex:, omitting the internal param name from the external param name.
// Swift 2.2
array.insertContentsOf(anotherArray, atIndex: 1)
// Swift 3.0
array.insert(contentsOf: anotherArray, at: 1)

The new naming convention is driven towards the path of omitting long external parameter names whenever possible. In Swifter's case, that may be difficult as many methods share the same name with different parameters; which is why I suggested having internal parameter names as external ones too. Swift 3 also changes the way external and internal parameters are handled, which is why I think using the id or user is, in this case, better than withID or forUser as doing that is simply moving the letters to external parameters, rather than shortening the methods and making it Swift-ier
In Swift 1...
func aMethod(name: String) // aMethod("string"), external omitted, internal `name`
func aMethod(for name: String) // aMethod("string"), external `for`, internal `name`
func aMethod(#name: String) // aMethod(name: "string"), internal and external `name`

In Swift 2...
func aMethod(name: String) // aMethod("string"), external omitted, internal `name`
func aMethod(for name: String) // aMethod(for: "string"), external `for`, internal `name`
func aMethod(name name: String) // aMethod(name: "string"), internal and external `name`

In Swift 3...
func aMethod(_ name: String) // aMethod("string"), external omitted, internal `name`
func aMethod(for name: String) // aMethod(for: "string"), external `for`, internal `name`
func aMethod(name: String) // aMethod(name: "string"), internal and external `name`

In Swifter's case, that may be difficult as many methods share the same name with different parameters; which is why I suggested having internal parameter names as external ones too.

Ok, got it, thanks!
Even after reading your last post, I'd say that getUserTimelineTweets(user: ... ) should be getTimelineTweets(user: ... ), don't you think? (For my personal taste, I would put "for" as an external parameter, however, as stated on your quote above, let's keep everything as simple as possible :) ).

Yeah, I think that works. Now, we just need to wait for @mattdonnelly :3

This looks great to me, guys. I much prefer the concise syntax of Swift 3 and think it should with some of the verbosity present in Swifter at the moment

@meteochu I'm not sure what the status of your branch is now, but feel free to make a pull request whenever it's ready

@mattdonnelly Everything I've done can be found on the swift-3 branch right now.
Currently, I've done some basic migrations to Swift 3; refactored the JSON, SwifterHTTPRequest, and main Swifter class; URL, String, and Dictionary extensions; and, fixed the iOS Demo app. I'll get started on migrating to the new naming convention when I become more free.
Since Swift 3 (and Xcode 8) are both obviously in preview and beta, it's best to keep everything in the swift-3 branch until September when Swift 3 comes out of beta.

Complete as of 497f2d0967fc24cb8dc3b014fb80a29ba0f52dc1
Minor changes can and probably will be made until Swift 3 exits beta later this year.

Awesome job!
Thank you


Analogsd

same note -- manually merged examples.json -- it'll get regenerated on master anyway.

same note -- manually merged examples.json -- it'll get regenerated on master anyway.


SQPOLL: io_sq_thread taking all the CPU

uname -r: 6.1.0-13-amd64
liburing: 2.4
I'm successfully using liburing to send out UDP and TCP packets using io_uring_prep_sendto and io_uring_prep_write respectively.
I want to test the SQPOLL, so I initialize the ring with the given flag:
 unsigned int flags = IORING_SETUP_SINGLE_ISSUER | IORING_SETUP_SQPOLL;

  // Initialize io_uring.
  auto err = io_uring_queue_init(DepLibUring::QueueDepth, std::addressof(this->ring), flags);

Once after calling io_uring_prep_sendto() or io_uring_prep_write(), if IORING_SQ_NEED_WAKEUP flag is set, I call io_uring_submit():
if (IO_URING_READ_ONCE(*this->ring.sq.kflags) & IORING_SQ_NEED_WAKEUP)
{
    auto err = io_uring_submit(std::addressof(this->ring));
}

This is working properly in the sense that packets are sent as expected, but an io_sq_thread is taking all the CPU.
When the thread is idle there is no CPU usage, but once it's awaken with io_uring_submit, it takes all the CPU again. Am I using it incorrectly?
My use case is a media server relaying network packets from one endpoint to one or many other endpoints.

Maybe this happens for this scenario (and services alike) where the cadence of packets being sent does not allow the io_sq_thread sleep and keeps it awaken all the time. Maybe the scenario does not fit SQPOLL design. I just wonder if it is me misusing the API.

This is how polling works, it remains active until the desired idle time. It's impossible to poll for new SQ events without actually busy looping!

It's impossible to poll for new SQ events without actually busy looping!

Yes, I understand it. I think SQ polling does definitely not suit my use case.
Thanks @axboe!


Question: Launching multiple windows

I am attempting to activate another window instance but was greeted with the following error.
Exception thrown at 0x00007FFC4FAA67AC (KernelBase.dll) in UI.exe: WinRT originate error - 0x80004005 : 'WinUI: Error creating second Desktop Window on the current process. No more than one Desktop Window is allowed per process.'.
Unhandled exception at 0x00007FFBAAE94BA8 (Microsoft.ui.xaml.dll) in UI.exe: 0xC000027B: An application-internal exception has occurred (parameters: 0x000001E4DDF05A10, 0x0000000000000005).

There error is clear... but I am not able to find how to properly open a new window with WinUI 3 Desktop. If someone could provide me with the proper approach I would appreciate it.

@pratikone and @Austin-Lamb FYI

Hitting this as well. Any idea from anyone in the community on the proper way to open a Window?

Unhandled exception at 0x7A937E30 (Microsoft.ui.xaml.dll) in *.exe: 0xC000027B: An application-internal exception has occurred (parameters: 0x1799EA10, 0x00000001).
Window window = new Window();
window.Content = new TextBlock(){ Text = "Hello" };
window.Activate();

@pratikone @Austin-Lamb @StephenLPeters
Any update on this?

The release of Project Reunion 0.5 does not support more than one Window in the process, and will throw this error on any attempt to create a second window. Obviously this is an unfortunate limitation right now, but there is a lot of remaining work to ensure multiple windows are release quality, which is why the limitation is enforced.
Preview builds, including the Project Reunion 0.5 preview from a few weeks ago and the upcoming Project Reunion 0.8 preview, can be used for multi-window development, with the caveat that you might hit known and unknown issues.

Window window = new Window();
window.Content = new TextBlock(){ Text = "Hello" };
window.Activate();
The above code sample is from documentation of Project Reunion 0.5.
In preview is it possible to show window as a dialog like we do in WPF with window.ShowDialog(); method.

@aqibbanday Yes, that code works in preview builds.

@codendone How does one work with preview builds specifically? I'm not seeing anything specific to using those off-hand.

@Grinch I think you need to install preview WinUI 3 project templates.

Closing the issue given it's a temporary limitation of the platform that will be solved, hopefully, for Reunion v1.

now v1 is out, but It is not working, so open it again please

Check the road map

1.1, but in v1 preview 3 the issue is still there

Any update on this ?


GitHub confuses me AGAIN; how should I merge changes from master?

GitHub tells me that my iceberg-dbt branch is 1 commit behind master.
I create the suggested Pull Request to merge the change (the addition of the Apache 2.0 License by @HeatherAck).
This creates a DCO problem (because the license was not checked in correctly?)
I attempt to fix this by following instructions that result in an absolutely empty commit.  (Which elsewhere GitHub helpfully warns me will wreak future havoc on further attempts to correct "simple" check-in and branch edits caused by inevitable DCO problems.)
So now I have effectively done nothing, except to put my branch in a more precarious position that it was in previously.
The real problem is likely that I created a branch without the proper upstream tagging and GitHub is merely throwing random suggestions at me that are at most unhelpful.  How many others are having the same troubles?  Does it make sense to "look for trouble" via some automated search of our repos?

Ok, there are a lot of issues here. First, none of the previous commits were made according to the proper Github fork-and-PR standards. If they had been, the lack of DCO on those would've been caught (not to mention that Heather's last commit has an example command in the commit message body, which is exactly the sort of thing that even a cursory review should catch. But since that's the last commit, it's easy enough to fix).
Second, you should not open pull requests to your feature branches. PRs should be opened to the main/master branch only (or, occasionally, a release branch). A feature branch should be rebased from the main branch. Changes shouldn't be merged in, and you should definitely not open PRs to feature branches.
So you'll want to do a rebase, but first, we should clean up that last commit from Heather. @HeatherAck could you please reach out to me on Slack? We can go through the process of fixing that commit message, adding a DCO, and then rewriting the top commit with a fixed version. @MichaelTiemannOSC I'll update once that's done, and then we can see if you have any issues with rebasing from master.

A couple quick additions I forgot in my initial message:
I have an open change for improving our git docs, so this might be a good experience for seeing things that could be added there. You can see the current change here: https://github.com/os-climate/OS-Climate-Community-Hub/pull/53/files
Also, for git issues like this, you can just tag me. Ryan works exclusively on the infra side of things, so when it comes to git issues related to branches, merging, commits, DCO, etc, he doesn't need to be included.

Thanks for that--and I totally get it.  See you over on Slack in a few minutes to address, and thanks for advise on assignees.

OK...I am now ready to work via Slack for the next few hours...

After discussion on Slack, Heather is OOO currently, so we'll wait until she returns to get that HEAD commit fixed. Since it's not strictly necessary to have the feature branch up to date (no changes are being made to the LICENSE file, so there shouldn't be any conflicts introduced), it shouldn't be a problem to hold off until Heather returns.


persist position (and eventually scale) in variable rather than layout

Store window positions (and scale and whatever else) in the addon variables rather than layout. Also allow for a shared profile between chars of same.

Added in 831ee07


Version Packages

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
<EMAIL_ADDRESS>Patch Changes

#755 e8aa911 Thanks @threepointone! - dev: when we have a custom build, run it before starting any effects
In some conditions, the custom build may be generating static assets, which will trigger the file watcher and infinitely loop. Moving it to the top before any effects are run fixes this.

 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.


OutputEvents now have newlines appended to them

Recently I've noticed output sent from my debugger is getting lots of newlines in:

It seems that every OutputEvent is getting its own newline, even though this is often output from another process being streamed and should be untouched.
Here's a simple code example:

Isi this with latest insiders? We fixed an issue in this area recently.

Aha, sorry, it's fine in latest Insiders 👍  I failed to find existing issues at the time, but now I just found https://github.com/microsoft/vscode/issues/72110 which this seems a dupe of.
Thanks!


Missing lock for pindex->GetBlockPos() causes intermittent read fails.

LOCK was introduced in Bitcoin 0.16; under heavy use returns incorrect/corrupt block data (https://github.com/bitcoin/bitcoin/commit/ccd8ef65f93ed82a87cee634660bed3ac17d9eb5).

I can't find a case where ReadBlockFromDisk is used without locking cs_main atm. Can you point at the specific line of code which causes the issue you are trying to fix? IMO the issue this commit fixes is introduced by another (earlier) commit in the original PR and it doesn't exist in our current code.

As shown in the bitcoin commit (https://github.com/bitcoin/bitcoin/commit/ccd8ef65f93ed82a87cee634660bed3ac17d9eb5); although revisiting now, i can see another lock in place at https://github.com/dashpay/dash/blob/master/src/wallet/wallet.cpp#L1836. Worth some stress testing?

(this resolved an issue I was having where blocks being re-checked would occasionally return corrupted regardless).

Interesting. I checked the code once again (looks ok imo) and tried to reproduce* the issue but I can't.
*For the reference, I patched ReadBlockFromDisk this way
diff --git a/src/validation.cpp b/src/validation.cpp
index b3ccadc4b..bffa624d6 100644
--- a/src/validation.cpp
+++ b/src/validation.cpp
@@ -1095,6 +1095,7 @@ bool ReadBlockFromDisk(CBlock& block, const CDiskBlockPos& pos, const Consensus:

 bool ReadBlockFromDisk(CBlock& block, const CBlockIndex* pindex, const Consensus::Params& consensusParams)
 {
+    AssertLockHeld(cs_main);
     if (!ReadBlockFromDisk(block, pindex->GetBlockPos(), consensusParams))
         return false;
     if (block.GetHash() != pindex->GetBlockHash())

and compiled it with -DDEBUG_LOCKORDER flag. Tried to rescan, reindex and syncing from bootstrap file - all works fine, the lock seems to be held in all cases.

Apologies for the delay in responding; I have to come clean and admit this occurs on a modified version of the v0.14.0.x branch for a clone (I added PoSv3).
Where I actually run the CheckProofOfStake call (from within ContextualCheckBlock - also tried from CheckBlock) - there was no lock in place; so having added it in ReadBlockFromDisk gives the illusion that this solved the problem. Planet egg on face.
You can probably close this :)

Thanks for reporting back! Closing.


The nav bar logo shrinks when using the browser in 1080 width mode

Describe the bug
When opening the website a couple of time and the select language drop down appearing the image logo shrinks to fit in the image and the font is not dynamic in nature making it a bad UI experience.
To Reproduce
Steps to reproduce the behavior:

Open the browser at a smaller width, i used 1080px
Refresh the page with the select language drop down appearing
The nav bar would look weird in nature and the logo shrinks

Expected behavior
Ideally the nav bar should adjust to different monitor sizes automatically and provide text size changes accordingly.
Screenshots

Desktop (please complete the following information):

OS: windows
Browser: brave (chromium)

Additional context
NA

hello maintainers can i work on this issu3 ??

I would like to work on this project. Please assign it to me!

@akshitagupta15june can I please work on this issue ?

I can debug this bug assign it to me @neeraj03788


Solved Issue #79

I made this change that solved Issue #79
I tested creating like 100 tasks and collapsing and it worked.

Thanks for the fix!

No problem. It's a pleassure to collaborate with this project. Thanks for your help.

Thanks @maberalc a lot !
Unfoturantly, I dont have so much time this Summer.


Setup and communicate ICM / escalation team information for Innovation Engine

@mbifeld What service/org would this fall under? I don't think the innovation engine is owned by AzTux (My org) and I don't have the ability to create an IcM escalation team.
Do we also have examples of issues that would need to be escalated for CLI issues? The innovation engine isn't a service and doesn't operate under the same conditions as one, so I'm curious as to what type of incidents we'd be using it for.

@vmarcella Rahul was also confused on the details of this task.  I will bring this up Monday to ask Arun for more details on what he was intending.


_env just needs to be a Mapping

This allows other values, as long as they implement the Mapping interface, i.e. .items().
Fixes #527

Hey sorry. I understand this is landed, I just had a minor comment.
The error message seems misleading -
https://github.com/amoffat/sh/blob/fa4b1e370f2d4e2dd1e6183de8f3311fe410af23/sh.py#L1148-L1150
There can be an object which implements the Mapping Protocol completely from scratch without using collections.Mapping. In this case the object would be dict-like but not an instanceof(_, collections.Mapping) 🤔
Perhaps it could be rephrased to convey the need explicitly?

Good point @saytosid. If we wanted to be really thorough, we would check what methods os.spawnve calls on the env dict in order to test for those directly. Otherwise it is difficult to know if a custom dict-like object implements enough of the correct methods to be acceptable.
https://github.com/amoffat/sh/blob/fa4b1e370f2d4e2dd1e6183de8f3311fe410af23/sh.py#L1520
Either that or we only allow _env to be an instance of collections.Mapping but to your point, that seems restrictive.

Indeed. But, my point was about the error message. I'm sorry I wasn't very clear.
"env must be dict-like. Got {!r}" - does not convey the restriction clearly. Maybe something like - env must be collections.Mapping ...?

I did think about the wording of the error message, and went for an intentionally vague text.
For a seasoned Python developer, you would probably know what collections.Mapping is and know what to do about the error message, or be good enough with a debugger to find the actual assertion code if you are doing advanced things.
For a more junior developer, I'm concerned that mentioning collections.Mapping in the error message is more confusing than helpful. They certainly wouldn't know that dict implements that interface, and I think in this case pointing in the direction of the collections module is unhelpful. In 99% of the error situations I can envision, you just want to pass a dict instead of whatever object was mistakenly passed.
I'm not fond of requiring less than collections.Mapping. You never know what the underlying os.spawnve implementation decides to do with the env. Not everyone will be running CPython.
I'm prepared to be convinced otherwise in both cases, of course.

For a more junior developer, I'm concerned that mentioning collections.Mapping in the error message is more confusing than helpful. They certainly wouldn't know that dict implements that interface, and I think in this case pointing in the direction of the collections module is unhelpful. In 99% of the error situations I can envision, you just want to pass a dict instead of whatever object was mistakenly passed.

Sounds reasonable to me 👍

I'm not fond of requiring less than collections.Mapping. You never know what the underlying os.spawnve implementation decides to do with the env. Not everyone will be running CPython.

Definitely 💯

Sounds good to me @ecederstrand :+1:


Project University

Summary
Project University
Ticket Link
https://github.com/mattermost/mattermost-server/issues/9406
[Please link the GitHub issue or Jira ticket this PR addresses.]
Checklist

[x ] Touches critical sections of the codebase (auth, posting, etc.)

Thanks @michele225 for the pull request!
Per the CONTRIBUTING.md file displayed when you created this pull request, we need to add you to the list of approved contributors for the Mattermost project.
Please help complete the Mattermost contribution license agreement?
This is a standard procedure for many open source projects. Your form should be processed within 24 hours and reviewers for your pull request will be able to proceed.
Please let us know if you have any questions.
We are very happy to have you join our growing community! If you're not yet a member, please consider joining our Contributors community channel to meet other contributors and discuss new opportunities with the core team.

Hi @michele225! If you're working on a university project and need any help with the submission, let us know.
I think submitting a pull request to the mattermost repository might not be what you're looking for :)


"Resynchronize pre-receive, update and post-receive hooks" should explicitly set executable bit

Gitea version (or commit ref): 1.7.4
Git version: 2.17.1
Operating system: linux
Database (use [x]):

[x] Not relevant

Can you reproduce the bug at https://try.gitea.io:

[x] Not relevant

Log gist:

Description
If repositories directory is copied from Windows to Linux machine - hooks will lose executable permissions. It's also easy to forget this aspect when restoring from backup using Windows machine.
Function "Resynchronize pre-receive, update and post-receive hooks" are very handy when dealing with migration from one server to another, but the only problem is - it doesn't set executable bit explicitely if hook files already exist, it set it only for new files via WriteFile third parameter.
Would be nice if this function will also fix hook files permissions, not only overwrite hooks content with new path to gitea executable.
Or separate function "Fix executable permission on all hooks" which should recursively set +x on all files inside each repo hooks directory (hide this function from admin panel if os == 'windows')

So looking at:
https://github.com/go-gitea/gitea/blob/8de76b6e646e91c41143242dc0a8d3ae05b35023/models/repo.go#L953-L990
The gitea hooks should be being recreated with their executable bit set.


How I can disable typechecking when usint typesctipt with CRA?

I will like to disable typescript type checking to improve loading time.
I found the following example to disable typescript
module.exports = function override(config) {
  config.plugins = config.plugins.filter((plugin) => {
    return plugin.constructor.name !== 'ForkTsCheckerWebpackPlugin';
  });

  return config;
};

But if I add that the client gets stuck on a message Files successfully emitted, waiting for typecheck results... forever. There is an actual way of disabling this?
I'm using
"react-scripts": "3.0.1",
"react-app-rewired": "^2.1.3",

I'm not entirely sure what needs to be done to resolve this issue, but I did find the relevant code in the CRA repo: https://github.com/facebook/create-react-app/blob/1548a0a92e41f9f626aa2c5226fb1a2cb2ec9229/packages/react-dev-utils/WebpackDevServerUtils.js#L182-L210

I don't think you can, because they've hard-coded it into the build process outside of the webpack config as @with-heart has shown. One of the reasons for using ForkTsCheckerWebpackPlugin is so that it can be run as a separate process rather than blocking the main compilation thread (i.e. runs in parallel), though running it separately currently only occurs on a development build (a production build would not stop on type errors if the type checking was run separately - I've used the plugin with the old react-scripts-ts in the past). See https://github.com/facebook/create-react-app/blob/1548a0a92e41f9f626aa2c5226fb1a2cb2ec9229/packages/react-scripts/config/webpack.config.js#L615-L636 for the current configuration settings for the plugin.
You could potentially enable the async setting for Production mode so that it also runs in parallel by setting the async value to true.
You could also reduce the amount of typechecking being done - CRA turns on syntactic checks as well. This would mean changing the checkSyntacticErrors option to false. Have a read on these two options at https://www.npmjs.com/package/fork-ts-checker-webpack-plugin#options
Example:
module.exports = function override(config) {
  const forkTsPlugin = config.plugins.find((plugin) => {
    return plugin.constructor.name === 'ForkTsCheckerWebpackPlugin';
  });

  if (forkTsPlugin) {
    // Check this, it may be forkTsPlugin.xxx.async - do a console.log(forkTsPlugin) to check structure
    forkTsPlugin.async = true;
    forkTsPlugin.checkSyntacticErrors = false;
  }

  return config;
};

The other question is - do you genuinely wish to allow errors in use in a production build (e.g. passing a string to a number parameter) that can cause runtime errors when deployed? That's what you're letting through when you disable type checking, and raises the question of why you're using typescript instead of javascript when you don't actually want type checking occurring? How long is the type checking taking in your build?

I have a CI and I run "tsc --noEmit" to check if I have any type error, so Im never going to be able to commit a type error on master.
I have an slow computer and my fans are quite noisy, removing things that makes the development faster really helps.
Also I like on dev sometimes to ignore some types to see if something works.
By the way, do you now about any other thing I can disable that will make the dev mode faster?

Those are the only ones I can see that could possibly speed up the type checking part of compiling. With the checkSyntacticErrors, what output do you get if you do the following:
module.exports = function override(config) {
  const forkTsPlugin = config.plugins.find((plugin) => {
    return plugin.constructor.name === 'ForkTsCheckerWebpackPlugin';
  });

  if (forkTsPlugin) {
    console.log(JSON.stringify(forkTsPlugin, undefined, 2));
    throw new Error('stopping compiling here to read the console.log content');
  }

  return config;
};

Note: the project will not actually compile with the above because of the thrown Error - that's actually so that CRA doesn't clear the console.log content from the screen so you can read it. I'm particularly interested in the structure of the plugin logged - I suspect that the options may be contained inside a field inside the plugin (e.g. forkTsPlugin.options.checkSyntacticErrors) instead of directly (e.g. forkTsPlugin.checkSyntacticErrors). The full path to the checkSyntacticErrors should be visible in the log message. Note also that this only disables some of the type checking, not all of it - there isn't a way I can see at present to disable all of it because CRA has written/added its own compilation plugin for webpack that causes the webpack build to hang if the forkTsChecker plugin doesn't report that it has completed typechecking, and that CRA plugin isn't able to be modified/removed through the webpack config.

I found how to disable typescript type checking! 😀
const { paths: rewiredPaths } = require('react-app-rewired');
const { scriptVersion } = rewiredPaths;
const paths = require(`${scriptVersion}/config/paths`);

module.exports = {
  webpack: (config) => {
    // Disable eslint
    config.module.rules.splice(1, 1);

    // Disable type checking
    paths.appTsConfig = undefined;

    return config;
  },
};
``

I'm not entirely sure how much this applies but I was able to disable typechecking on a Ignite Bowser app by using these steps:

In tsconfig.json, change allowJS to true and add checkJS: false.
Run the following commands in your project root:
A. find . -name "*.ts" -exec bash -c 'mv "$1" "${1%.ts}".js' - '{}' \;
B. find . -name "*.tsx" -exec bash -c 'mv "$1" "${1%.tsx}".js' - '{}' \; (on this one you may want to rename to jsx though -- for React Native it's just js)
Go through all the files that were renamed (easy to tell by doing git status) and manually strip out any TypeScript type information.

https://create-react-app.dev/docs/advanced-configuration/#! ctr+f TSC_COMPILE_ON_ERROR

@freddi301  Thank you for adding the info on the new option to the issue. Please note that the option hadn't existed yet when the issue was created 6-7 months ago though.


Dynamic Go versions in vuln workflow

What issue is this addressing?
Closes #2573
What type of issue is this addressing?
refactor
What this PR does | solves
Swap from hard coded versions of go to dynamically acquiring the latest stable versions from https://go.dev/dl/?mode=json

If not specifically avoiding participating in hacktoberfest, could this PR be labelled with "hacktoberfest-accepted" if that's alright?

If not specifically avoiding participating in hacktoberfest, could this PR be labelled with "hacktoberfest-accepted" if that's alright?

That's fine! I'm not familiar with Hacktoberfest, but I was wondering if I have to create the label.

There's a "for maintainers" section on the site here -- but essentially the two opt-in methods are either tagging the repo "hacktoberfest", or individual PRs "hacktoberfest-accepted".

Done (added a label)


Can flocker across data centers

docker: Error response from daemon: Timed out waiting for dataset to mount..

I have two machines in different data center.Install the flocker service.Single machine when it is available, but the above mistakes after two machines.Flocker does not support across the data center?

Where are you running flocker? AWS, Rackspace, GCE?
In all cases, flocker nodes need to be configured for the correct availability zone and datacenter. Flocker does not currently support cross datacenter mostly because its a limitation on the backend storage systems.
check out FlockerHub and Fli, they do support corss data center with push and pull.
https://clusterhq.com/flockerhub/introduction/
https://clusterhq.com/register/flockerhub-beta/


Support for np.vectorize?

Hi all, np.vectorize (https://numpy.org/doc/stable/reference/generated/numpy.vectorize.html) is extremely useful, it basically provides all of the functionality as jax.vmap but with a much easier to understand interface. I have a lot of JAX code that I can't run in Keras 3 because keras.ops doesn't have vectorize(). Is this something you could add?

Also, note that Keras currently has ops.vectorized_map, which can accomplish the same. We'll add vectorize in a bit.

Added ops.vectorize with signature argument.


 However: How do I put bigger messages (> 1k chars) on a queue via the web ui?
It keeps cutting them at 1024 chars.
I'm still using V <IP_ADDRESS> though. Is this issue still present with newer versions or is there a reason or a way to change the message content limit?
Thanks in advance for the help :)

This is a known limitation, and is still present in the latest MQ release (9.2.2).
I'm going to close this issue, as it isn't specifically an issue for the MQ in containers sample, but rather a general MQ issue.

Okay, thanks for the info.

Is this a limitation to the web UI or the product itself? Do you know, if there is another way to put bigger messages there? Like via REST API calls or something like that.
Sorry, I just can't find the documentation.

The 1 KB limit is a web console restriction.  MQ itself can handle messages up to 100 MB in size, and also offers ways to segment even larger messages: https://www.ibm.com/docs/en/ibm-mq/9.2?topic=queue-handling-messages-greater-than-4-mb-long
MQ itself does provide REST APIs, but we don't pre-configure them in the container sample.  MQ also provides client libraries for a wide variety of languages.  See https://developer.ibm.com/articles/mq-downloads/

Puh, okay.
I would be interested in the reasoning behind this limitation :o
I guess, I will then try to adjust the users and roles to being able to use the REST API. Seems like the admin user can not use the REST API and the app user can only write to DEV.* queues.
Thanks for the quick responses by the way.

You can add any additional authority records by adding additional .mqsc files under the /etc/mqm directory.  They'll then get applied at container start up.  So you can add permissions for additional queues and topics, for example, or define more queues.
The permissions for the REST API are controlled here: https://github.com/ibm-messaging/mq-container/blob/master/incubating/mqadvanced-server-dev/web/installations/Installation1/servers/mqweb/mqwebuser.xml  You can override this file in the image (under /etc/mqm/web/installations/Installation1/servers/mqweb/) with a new image layer, and then change it however you want.  The app/admin users are just a default configuration we apply to the MQ Advanced for Developers image, and there's lots of flexibility to configure it.


3.6.0: Incorrect props validation in constructor

Source code:
class Image extends React.Component {
  constructor(props, context) {
    super(props, context)
    this.state = { status: props.source.uri ? STATUS_PENDING : STATUS_IDLE }
  }
}

As you can see, uri is not a prop. But after updating to 3.6.0 it is producing a linting error
/home/travis/build/necolas/react-native-web/src/components/Image/index.js
  60:34  error  'uri' is missing in props validation for Image  react/prop-types

The issue is not reproduced if the source is changed to:
class Image extends React.Component {
  constructor(props, context) {
    super(props, context)
    const { uri } = props.source
    this.state = { status: uri ? STATUS_PENDING : STATUS_IDLE }
  }
}

Thanks for the report, I'll have a look.


Choose appropriate chunk size when writing data

write speed is a bit problematic when writing output data and I know that chunk size influences things. Would be nice for the parallel_hdf5_io_helper module to choose a reasonably good chunk_size that optimises for speed and compression. Some things I know so far (run on 56 images across 2 nodes on Milton):
writing all datasets as single chunks takes 8.5s
writing all datasets with chunk_size = n/numImages or chunk_size = [1, n/numImages] takes write time down to 1.6s
writing all datasets with chunk_size approx 100kb, takes write time to 2.4s.

chunk_size set to 128KB in https://github.com/edoyango/GraSPH/commit/ca099b90ba916257742e2d0c62294951c15f83f1 which seems to give good performance across the board.


Docs: App showcase has broken link, removing

Description
https://gpt-index.readthedocs.io/en/stable/community/app_showcase.html#chatgpt-llamaindex
Fixes #7715
Type of Change

[x] Documentation update

Suggested Checklist:

[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

Thanks!


🚀 Feature: Drone CI plugin

🔖 Feature description
A CI/CD plugin for the Drone CI tool.
🎤 Context
I want to be able to see and interact with the Drone CI/CD tool in the CI/CD tab of the component entity page.
This includes:

Viewing an overview of recent builds

commit message and hash of commit that triggered the build
status of the build (success/failed/running) etc.
build duration
build timestamp

Viewing the detail of a particular build

everything from the overview page
logs for each build step

Ability to terminate/restart builds

✌ Possible Implementation
Drone provides an API that can be used to achieve all the use cases for this plugin. The implementation could use the api and create front-end components to be used in the backstage app. This would be very similar to the Circle-CI plugin.
👀 Have you spent some time to check if this feature request has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Are you willing to submit PR?
Yes I am willing to submit a PR!

Looks like Drone (Harness) may have built this already. I did not test yet: https://github.com/harness/backstage-plugins


Getting the user via sending an empty string

I don't like this, it seems like it's unclear and hacky.
I think there should be an explicit method for this.
https://github.com/google/go-github/pull/920

@gmlewis Can this issue be closed just like PR #920?

Thank you, @wesleimp.
Closing.


[CMDCT-3596/3597] - Fix SAR RE&T Page submissions and heading size

Description

This is a very simply fix thankfully - We hadn't kept up the changes we've recently made to the validation in the ui and told the API about those changes. The API didn't know what a validInteger was and so I've ported those rules as well as all the other updated rules over so we should have much tighter control on whats being submitted.
Values submitted for RE&T Page:
https://github.com/Enterprise-CMCS/macpro-mdct-mfp/assets/19439679/e872d24f-1d19-4e33-b153-0915d850e295
Heading Before:

Heading After:

Related ticket(s)

CMDCT-3596
CMDCT-3597

How to test

Create a workplan -> Submit -> Approve -> Create a SAR
Test inputs for validIntegers in the RE&T fields
Checkout the final RE&T Page to see the smaller header for the Other section!

Pre-review checklist

[x] I have added thorough tests, if necessary
[x] I have updated relevant documentation, if necessary
[x] I have performed a self-review of my code
[ ] I have manually tested this PR in the deployed cloud environment

Pre-merge checklist

Review

[ ] Product: This work has been reviewed and approved by product owner, if necessary

It is saving now, but I think we are somehow tripping a different error by having it save correctly 😅

Chatted with Garrett on slack about this. The summary of the conversation is that this happens when something goes wrong. Like a user inputs an 'a' for a numberfield and tabs off. The response from the API is an error back. This error is never then cleared or shown to the user until they go back to the dashboard. We’ve been meaning to address this issue for awhile. I think we’d landed on any successful call should clear the error state if it was set prior but never actually wrote the ticket or went about implementing it. I've thus gone and implemented that change here. Theres also a larger discussion about showing this error immediately on the form, but for now this should tide us over to have that discussion.


Network policies support

Hello,
Does Multus support network policies? I don't have the impression when I create a second interface with a macvlan type.
Best regards.

From multus-cni point of view, it should be implemented outside of multus-cni. Multus-cni just
provides CNI multiplexing to interface CNI plugins and it does not provide network transporting/network filtering.
Currently I'm thinking to implement NetworkPolicy for macvlan using iptables, alongside multus-cni.
It should be under kubernetes network plumbing working group. Stay tuned!


[Theme] Eradicate themes!

This is a part of  #3670. After having a conversation with @mbrookes we came to the conclusion that lightBaseTheme and darkBaseTheme are unnecessary for the following reasons:

The user doesn't have to build the theme entirely only to get some values overridden as before anymore.
lightBaseTheme acts as the default value for getMuiTheme function, which can just go into that function. all in one place: getMuiTheme!
The darkBaseTheme only overrides some of the values, it can be a simple copy/paste-able example in the Theme section!
zIndex, Spacing, Typography all can go under the getMuiTheme function and be removed since they aren't needed for the users to build their theme anymore.

@callemall/material-ui Lets discuss this,

I'm good with this. Another options is we could make another repo with themes that users can contribute or just create some public snippets and link to them on the website. I think it's easy enough to override :+1:

@newoga That's also a good idea :+1: :+1: Another package under packages/ :sunglasses:

@newoga That's also a good idea :+1: :+1: Another package under packages/ :sunglasses:

Yeah exactly, material-ui-themes :smile:

@newoga The one thing I wish the theming system here could do is accept basic color options and automatically create a palette that fits the spec guidelines.

for eg:
const theme = getMuiTheme({ primary: 'indigo', accent: 'pink' });

There we go, brand spankin new theme.

@newoga The one thing I wish the theming system here could do is accept basic color options and automatically create a palette that fits the spec guidelines.

I think we could already do that like this:
const theme = getMuiTheme({pallete: { primary: 'indigo', accent: 'pink' }});

Except the keys are different. Though it would be cool to find a way to improve the default color matching, or fill it better defaults for the other color values based on just primary and accent. I'm not sure if that's possible though.

@newoga they do it at angular/material and it turns out pretty good IIRC
angular.module('myApp', ['ngMaterial'])
.config(function($mdThemingProvider) {
  $mdThemingProvider.theme('default')
    .primaryPalette('pink')
    .accentPalette('orange');
});

@nathanmarks That looks like a utility function to me: getMuiTheme(buildThemeFromColor(primary, accent)). And we can provide that feature easily :grin: maybe you're right, we might not really need another package for themes as they will be so easy to create.

@alitaheri RE typography, I actually think that MUI is lacking there. I had to create my own typography.js that exports the styles I need to recreate the typography set outlined in the spec.
If we're exporting individual shades of colors, why is typography getting bundled into a monster object? We need to add to it if anything so users can use material design spec type styles easily.

@nathanmarks Yeah @newoga has the same concerns. I'm not a big fan how our typography is right now. But I do know it's best place is within that function. so users can just read that function and see what they can override.

@alitaheri I'm thinking less along the lines of overrides and more to do with accessing the different type styles in your application outside of the theme. Or are you suggesting that they access the theme instead to get their type styles?

@nathanmarks typography is like a reference, same as colors. but lightBaseTheme isn't a reference its the default values! I don't think the default values should be in a different file. or if it is is shouldn't be a theme object! I'm just saying themes are unnecessary and confusing. but typography is another thing. We can provide categories and stuff, or even a build logic to dynamically build the object according to some input like primary color and locale. But the main goal of this discussion is to see if we really need the themes. Do you think having that buildThemeFromColor is enough?

@alitaheri Yeah I don't really touch the theme stuff if I can avoid it.

Some of these ideas made it into next. I think we can close this now.


DRILL-7208: Reuse root git.properties file

Generate git.properties for root module only and copy it to child modules instead of generating the same files again

Jira - DRILL-7208

@vvysotskyi, Could there be a race condition possible between maven-resources-plugin and git-commit-id-plugin?

@agozhiy, good question! Plugins declared for the same phase, will be executed in the order of their appearance in the pom file, but currently, it may cause problems since git-commit-id-plugin is applied after maven-resources-plugin, so outdated file may be placed into the target/classes folder. Thanks for pointing that, I have corrected plugins order.


[Feature Request] REI Style Collapsible Entries

The ability to create folders and collapse various items (spawn eggs, enchanted books, etc) into folders, along with KJS support.

Duplicate of #171


Fixes nil pointer exceptions that happen during seed deletion

How to categorize this PR?

/area robustness
/kind bug
What this PR does / why we need it:
Fixes two nil pointer exceptions that happen during deletion of Seed objects

If the reconciliation of a Seed errors before it has a chance to assign seed.Status.ClusterIdentity, and then the seed is deleted, a nil pointer exception would cause the deleiton to fail on these lines:
https://github.com/gardener/gardener/blob/a64cf673641b14692c7a1656bf67302e8c154577/pkg/operation/seed/seed.go#L1109
During seed deletion gardenerkubescheduler.Bootstrap is called with a nil secretsManager, but inside the Bootstrap function we still try to generate a certificate: https://github.com/gardener/gardener/blob/a64cf673641b14692c7a1656bf67302e8c154577/pkg/operation/botanist/component/gardenerkubescheduler/gardener_kube_scheduler_bootstrap.go#L222

Btw I was not sure why we add the clusterIdentity so late during the seed reconciliation, but instead of moving it I decided to just add it at the start of the deletion flow.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
/cc @rfranzke
Release note:

NONE

@acumino we should probably include this in 1.45

For 2, can we rather make https://github.com/gardener/gardener/blob/28329fd8a93051f6c8cd92767cd5a981e52be589/pkg/operation/botanist/component/gardenerkubescheduler/gardener_kube_scheduler_bootstrap.go#L222-L225 optional (only execute it when secretsManager is non-nil)? We don't need this in the deletion case anyways, and it's rather strange to fix the calling code instead of this behaviour in the gardenerkubescheduler componnet

/milestone v1.45


fix: update oidc lib

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


Account for relative z-indexes when y-sorting

Fixes bug in 2D rendering where relative z-levels are ignored when ysorting
Fixes tilemap quadrants not being z-relative.

Fixes https://github.com/godotengine/godot/issues/62715

Could you squash the commits? See PR workflow for instructions.

Thanks! And congrats for your first merged Godot contribution :tada:

Hello! Is anyone actively working on the back port for this to 3.x? It is a glaring bottleneck for me so if not I will try to allocate some time to contribute.


Yaml pipeline at the end isn't valid

I copied it directly to DevOps and it shows a few syntax errors just as it, and it says the syntax is invalid.
For example,
    # The CI stage produces two artifacts (notebooks and ADF pipelines).
    # The pipelines Azure Resource Manager templates are stored in a technical branch "adf_publish"
    - publish: $(Build.SourcesDirectory)/$(Build.Repository.Name)/code/dataingestion
      artifact: di-notebooks
    - checkout: git://${{variables['System.TeamProject']}}@adf_publish
    - publish: $(Build.SourcesDirectory)/$(Build.Repository.Name)/devops-ds-adf
      artifact: adf-pipelines

For this it says "Invalid YAML structure". There are others, easier to fix, but anyway, it should have no errors.

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

ID: f2ccfacc-0e3a-e789-f9ca-c56f2a7d771c
Version Independent ID: 8a60b49f-7ff4-2e50-14d1-5926dcc576f2
Content: DevOps for a data ingestion pipeline - Azure Machine Learning
Content Source: articles/machine-learning/how-to-cicd-data-ingestion.md
Service: machine-learning
Sub-service: core
GitHub Login: @eedorenko
Microsoft Alias: iefedore

Github feedback is for raising issues with Github documentation. Please share the document link for which this feedback is raised so that we can route it correctly for proper help.

@lokijota We are checking this and will get back to you.

@lokijota  Could you please check if this works? I did not get a chance to run the complete setup but i think this might be the issue.
    - publish: $(Build.SourcesDirectory)/$(Build.Repository.Name)/code/dataingestion
        artifact: di-notebooks
    - checkout: git://${{variables['System.TeamProject']}}@adf_publish
    - publish: $(Build.SourcesDirectory)/$(Build.Repository.Name)/devops-ds-adf
        artifact: adf-pipelines

Also, i think this  VS code extension  can help determine any issues in your pipelines in the future.

Yesterday I did some further debugging. The error actually comes from higher in the Yaml file, the parts where there's a vertical bar:
- script: |
   flake8 --output-file=$(Build.BinariesDirectory)/lint-testresults.xml --format junit-xml
  workingDirectory: '$(Build.SourcesDirectory)'
  displayName: 'Run flake8 (code style analysis)'

- script: |
   python -m pytest --junitxml=$(Build.BinariesDirectory)/unit-testresults.xml $(Build.SourcesDirectory)
  displayName: 'Run unit tests'

I don't know why but Az DevOps didn't like the |'s. I put the command inline and stopped having that error.

@lokijota Thanks for letting us know. If there are no further issues, We will proceed to close this thread. Please tag us in your reply if you have any queries. Thanks!!


Bump superheroes.

In @warriorjs/cli.  The new version doesn't bring in a CLI, so install time should be a bit less for the whole package.

Codecov Report

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

@@           Coverage Diff           @@
##           master     #217   +/-   ##
=======================================
  Coverage   92.64%   92.64%
=======================================
  Files          92       92
  Lines        1087     1087
  Branches      165      165
=======================================
  Hits         1007     1007
  Misses         65       65
  Partials       15       15

Continue to review full report at Codecov.

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

@wtgtybhertgeghgtwtg Awesome, thanks!


Fix no module named 'sentencepiece' by install its package

There is an issue when importing TextClassifierDataLoader, with error message

ModuleNotFoundError: No module named 'sentencepiece'.

Solved it by install sentencepiece.

@googlebot I signed it!


fix several mypy errors

Description
Fix lots of mypy errors.  So far, this only covers the pam_mujoco package, not the demo scripts.
Note: There are still some errors in python/pam_mujoco/start_mujoco.py (e.g. about pam_mujoco.model_factory() not existing) but these seem to be actual bugs (it really doesn't exist like that).  However, a quick search suggests that the functions of this file are not used anywhere.  Therefore I'm a bit unsure if the issues need to be fixed or if we could just delete that file (in case it's not needed anymore).
Many of the demos have the same error, though.
How I Tested
By running mypy and colcon test
I fulfilled the following requirements

[x] All new code is formatted according to our style guide (for C++ run clang-format, for Python, run flake8 and fix all warnings).
[x] All new functions/classes are documented and existing documentation is updated according to changes.
[x] No commented code from testing/debugging is kept (unless there is a good reason to keep it).

Was also happy to learn about Protocol :)

Yepp, I also just learned about it today :)
What do you think about start_mujoco.py (see above)?

Was also happy to learn about Protocol :)

Yepp, I also just learned about it today :)
What do you think about start_mujoco.py (see above)?

I propose we delete the file, we can always bring it back if everything explodes


btrfs-progs: 6.9.1 -> 6.9.2

https://github.com/kdave/btrfs-progs/releases/tag/v6.9.2
In particular, channel is blocked because

subvol list: fix accidental trimming of subvolume name

https://hydra.nixos.org/build/264495531#tabs-buildsteps
Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

(I'm testing right now.)

[x] nixosTests.installer.btrfsSubvolEscape
[x] nixosTests.installer.btrfsSubvolDefault
[ ] nixosTests.installer.btrfsSubvols
[ ] nixosTests.installer.btrfsSimple

Uh, tired of waiting
@ofBorg build btrfs-progs


merge log decryption feature branch into master

Proposed changes

Jira ticket: CLOUDP-#

Closes #[issue number]
Checklist

[x] I have signed the MongoDB CLA
[x] I have added tests that prove my fix is effective or that my feature works
[x] I have added any necessary documentation in document requirements section listed in CONTRIBUTING.md (if appropriate)
[x] I have addressed the @mongodb/docs-cloud-team comments (if appropriate)
[x] I have updated e2e/E2E-TESTS.md (if an e2e test has been added)
[x] I have run make fmt and formatted my code

Further comments

@gssbzn you are right, the atlas commands were included by mistake so I'm removing those


Can we implement healthcheck in the allin1 container

https://docs.docker.com/engine/reference/builder/#healthcheck

yes, we can.
However, it is not done yet, due to the following considerations:

technically, there are several services running inside the container, it is not easy to tell the correct healthcheck for all services.
the boundary and positioning, our allin1 is for user to setup a starrocks cluster quickly and get some experience with it. Don't want to get it enhanced as much as possible. When the user is familiar with StarRocks, they should turn to operator/helmchart for formal deployment.

I found a problem with testing the container.   The HTTP service may be up but you can't send SQL commands to 9030.   We need to health check based on slowest service which is mysql server port.

In fact I had to write this code because I can't do healthcheck.
        srcontainer = new GenericContainer("starrocks/allin1-ubuntu:latest")
        .withExposedPorts(9030,8030,8040)
        .withEnv("LOG_CONSOLE", "1")
        //.withEnv("AIRBYTE_ENTRYPOINT", "./entrypoint.sh")
        //.waitingFor(Wait.forHttp("/").forPort(8040)
        //.forStatusCode(200).withStartupTimeout(Duration.of(60, SECONDS)));
        .waitingFor(Wait.forLogMessage(".*(journal).*", 1));
        srcontainer.start();

I think you can wait for http 8040 /api/health which consistent with our operator's behavior. healthcheck against mysql port is proved to be a bad practice, causes a lot of noisy error log in fe.log

also LOG_CONSOLE doesn't work with allin1 container :)


Use addMap for unboxer

This moves the unboxer out of the codec and instead uses a flumedb map. I've benchmarked the performance with bench-ssb and it looks like it's about the same, if not faster:
Original (mean 19.2168 s):
random-read 1000000 0 51902.21622463279 19.267
random-read 1000000 0 54585.152838427945 18.32
random-read 1000000 0 51690.27189083015 19.346
random-read 1000000 0 52143.08061320263 19.178
random-read 1000000 0 50080.1282051282 19.968
random-read 1000000 0 49558.9255624938 20.178
random-read 1000000 0 53844.497092397156 18.572
random-read 1000000 0 52298.51995188536 19.121
random-read 1000000 0 51759.83436853002 19.32
random-read 1000000 0 52915.65244999471 18.898

This PR (mean 18.9561 s):
random-read 1000000 0 51263.64894653201 19.507
random-read 1000000 0 52004.7844401685 19.229
random-read 1000000 0 53844.497092397156 18.572
random-read 1000000 0 53002.597127259236 18.867
random-read 1000000 0 52058.930709563225 19.209
random-read 1000000 0 52681.48772521336 18.982
random-read 1000000 0 53748.99220639613 18.605
random-read 1000000 0 52952.078369075985 18.885
random-read 1000000 0 53245.301102177735 18.781
random-read 1000000 0 52842.9507503699 18.924

According to this, the original took 1% longer, but since the benchmark doesn't seem to be testing much unbox-specific code I'm thinking this is probably not relevant. On the other hand, this may be slightly faster when adding more maps since we never need to check for maps.length === 0.

This is only a small subset of #228, but I'm going to close this PR in favor of #228 because that one is already in the advice/review process.


BUCC create VM that can handle ARMhf docker images

BUCC was installed on a macOS machine, using local VM.
The current issue that is occurring is that when trying to use armhf docker images as the base image for a dockerfile or as the base image for a task in the concourse pipeline, the standard_init_linux.go:187: exec user process caused "exec format error" is received. I believe this is due to the VM running concourse not having multi-arch support. It would be great to be able to add this to the VM so that the pipeline could complete testing and compiling of docker images for an ARM machine i.e Raspberry Pi

the image where bucc is installed on is a stemcell provided by bosh. that does not currently support multi-arch
you can create your own stemcell that supports multi arch.
and use this for example with the external-worker pipeline  (be aware that the pipelines are in heavy development.)
or you can talk with the bosh community about adding the multi arch support


B2C generating redirects for custom ROPC flow

Trying to customize this policy for a JIT migration scenario where prior to authentication (ResourceOwnerPasswordCredentials-OAUTH2) other orchestration steps are necessary.
As soon as another claims exchange (REST call) is put in front of it B2C engine decides the local authentication step now should be handled by IsClaimsExchangeProtocolARedirectionHandler = true making it useless for advanced situations.

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

ID: c21f5240-6fe2-41ec-293a-2e3b33522706
Version Independent ID: 095c2d6b-8691-74b6-99d5-db0ee1017194
Content: Configure the resource owner password credentials flow with custom policies - Azure AD B2C
Content Source: articles/active-directory-b2c/ropc-custom.md
Service: active-directory
Sub-service: b2c
GitHub Login: @msmimart
Microsoft Alias: mimart

Obviously? Because the moment you put a REST claims-exchanger in front of the Oauth2, B2C considers that a server-to-server auth flow. [Which in itself is listed as 'unsupported' in that document you referenced].

@sujayvsarma It makes total sense from an ROPC perspective. Thanks for for pointing to that section of the documentation. Now it's about configuring native clients to follow redirects. Thanks for the insight.

@sujayvsarma Thanks for the clarification provided. :+1:

@sujayvsarma Have you been able to fulfill the ROPC flow using the redirect provided by B2C? Everytime I try to follow the results of the redirect and get back B2C's oath2/authresp endpoint with the acquired token from STS, it responds with an error.

No. Perhaps I can help you if you tell us a little about how you've set it up and what error(s) you are seeing.


Output in STEP format

Thank you for your work. May I ask if this model can output files in step format?

Also looking for the method to output files in step format or any other format that can be handled by CAD softwares.

Thank you for your work. May I ask if this model can output files in step format?

Hello, can you share the dataset?


Publish 1.0.8-SNAPSHOT

This PR advances the version of the library to 1.0.8-SNAPSHOT.

@alexander-yevsyukov, PTAL.


Pub can't find Git (msysgit)

This issue was originally filed by @olostan

Steps to reproduce:
Run pub from Windows shell with git installed and available in PATH:
>D:\Tools\dart\dart-sdk\bin\pub install
Cannot install 'dartlib' from Git (git://github.com/kevmoo/dartlib.git).
Please ensure Git is correctly installed.
>git --version
git version <IP_ADDRESS>.msysgit.0
Seems, that this issue related to Issue #1705 as git is available as git.cmd.
Replacing "git" to "git.cmd" at pub's sources (io.dart and git_source.dart) fixes pub for my environment.
Dart SDK version 11700
OS: Windows 7 x64

This issue has been moved to dart-lang/pub#89.


Shopping Cart Test Plan v2

Broke things out into separate features
Eliminated any mentions of back end or behind the scenes operations
Simplified the wording of things (more like plain English)

Looking pretty good. Long and short, the only thing that's really worth changing is to make the tests Even More English. This is a really good start, past where most people are, but they read so generically that it's hard in some cases to tell what the real intent of the code is.
Suggestion: Have one of the interns read the tests and see how confused they get. :)


[Dir] Always use realpath() on sys_get_temp_dir()

To handle different result on MacOS which /private/var pointed to '/var` like the following:
--- Expected
+++ Actual
@@ @@
-'/var/folders/dv/m3gvpzh94t59l94qz3w2dgfr0000gn/T/_temp_fixture_easy_testing/SomeClassTranslation.php'
+'/private/var/folders/dv/m3gvpzh94t59l94qz3w2dgfr0000gn/T/_temp_fixture_easy_testing/SomeClassTranslation.php'

like described in https://github.com/rectorphp/rector-src/pull/127

All checks have passed 🎉 @TomasVotruba it is ready for review.


feat(tiller): sort manifests alphabetically if they are same kind

feat(tiller): sort manifests alphabetically if they are same kind
Updates Tiller manifest sorting so that manifests of the same kind are
then sorted alphabetically.
Closes #1696

@technosophos I integrated @seh 's changes and updated the test. I think its good to go for 2.6


Fixture tests need some :heart:

There are some pretty gnarly tests in there that could be DRY'd up a bit. Especially, this bad boy.

New fixtures + tests are now located at https://github.com/canjs/can-connect so I'm closing this one.


Plugin Idea: Shebang lines to auto-detect language

Ie if starts with:
#!/usr/bin/env python

Python relevancy +100, etc.  Or would this not be that useful in practice?  Was just at hough I had reading a LOT of Python samples. :)  I guess the trick is we're not always given full samples, but seems like when we are this would be a dead giveaway a lot of the time?

If there was value I'd suggesting adding it as a feature in general... such that you had a shebang: key that took a regex and you could do something simple like:
shebang: 'python'

Or get more complex... and the parser itself would check the very first like for "#!.shebang pattern.$" or something.

@egor-rogov Any objections to the idea if we find someone to work on it?  Just a relevance boost if there is a matching shebang line that starts the content... if not I'll promote to "help welcome".  If you're super opposed for some reason this can just die.
I just thought it was a helpful idea for snippet that DID actually contain a shebang.

Can't this be emulated using regex? What is the probability to find "false shebang" below the first line?

Maybe (although I'm not sure a rule can match only the first line), but the idea here would be to abstract the concept and encourage grammars to support it - if we thought it was a good idea.  Hence making it easy with some smart defaults like:
{ shebang: "ruby" }

And we could build a smart regex to detect many common shebang patterns.
This could also be a plugin too though... I'll start a thread on hooks (which we'd need for useful plugins).

although I'm not sure a rule can match only the first line

Have you ever seen something that can be mistaken to shebang in the middle of code? Is it worth to stick to the first line at all?

we could build a smart regex to detect many common shebang patterns

Why the core should be concerned with language specifics (say, #!/usr/bin/env python or #!/usr/bin/env python2 or#!/usr/bin/python3 )? I think that this knowledge must reside in the language grammar.

Why the core should be concerned with language specifics (say, #!/usr/bin/env python or #!/usr/bin/env python2 or#!/usr/bin/python3 )? I think that this knowledge must reside in the language grammar.

I meant that the key distinguishing part: python\d would be the grammar's responsibility but the core could deal with things like /usr/bin vs /bin vs /opt/bin, etc...
Closing this for now.  This is the kind of thing a plug-in could/should handle.

This is the kind of thing a plug-in could/should handle.

Agree.

The languages might still need to SUPPORT that plugin though by providing a shebang key or such, but we can circle back around to that when we've made more progress on plugins in general.


Set up CI with Azure Pipelines

[skip ci]

 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.:x: amberali sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.


Setup and configuring

Hi
I am attempting to integrate this with my website. but I keep getting errors on the require . I can see the files listed in c:\users\Administrator\Vendor
So I tried ..
require     'C:/users/Administrator/vendor/autoload.php';
require DIR . '/SimpleLogger.php';
use PhpMqtt\Client\src\Exceptions\ConnectingToBrokerFailedException;
use PhpMqtt\Client\src\Exceptions\DataTransferException;
use PhpMqtt\Client\src\Exceptions\UnexpectedAcknowledgementException;
I also attempted to copy the mentioned files directly to my website folders also get errors..
Is there a tutorial of how to install and configure???
Regards
Meir

There is currently no detailed tutorial on how to run the examples, since the process follows the common development process of PHP with composer as package manager. I must admit that I focus my PHP development on Linux, so it might be slightly different on Windows. But basically, the steps to run the example are as follows:

Open a shell to the directory where you store your projects and where a new directory will be created for the examples.
Clone the git repository to a new folder client-examples:git clone https://github.com/php-mqtt/client-examples.git

Change the directory and install composer dependencies:cd client-examples
composer install

Change the $server and $port variables in subscribe.php and publish.php according to your needs. To test the client, you can for example use the HiveMQ Test Broker.
Run the examples. If you want to subscribe to the messages published by the other script, you need to run the following commands in this order in two different shells:php subscribe.php

php publish.php

@Namoshek ..Thanks for your swift response
I followed your instructions but there is composer in the client-exampls directory or any of its sub directories???
Regards

Install it from https://getcomposer.org

I guess this issue is resolved by now. If not, feel free to ask more questions and I'll reopen it.


⚠ ClamAV has degraded performance

In 25e0e38, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 604 ms

Resolved: ClamAV performance has improved in a0c3fd4.


Democracy benches v2

The PR doesn't generate the new democracy weights because just adding them with list_benchmark and add_benchmark errs:
  1492 |             list_benchmark!(list, extra, democracy, Democracy);
       |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function or associated item not found in `democracy::Pallet<Runtime>`

The PR doesn't generate the new democracy weights because just adding them with list_benchmark and add_benchmark errs:
  1492 |             list_benchmark!(list, extra, democracy, Democracy);
       |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function or associated item not found in `democracy::Pallet<Runtime>`

Isn't that because of #998?

Managed to fix that error, it was because benchmark features weren't being activated. Now the benchmark fails with a runtime error, will look into this tomorrow


Autoplank not doing anything

Hi,
I'm on manjaro with XFCE and I'm trying to move my plank from my left monitor (DP-0) to my right (HDMI-0) and back. But for some reason my plank dock doesn't move at all. It won't go to the other monitor.
I've tried starting autoplank from the terminal but it displays no information it just sits idle, even if I try to change my mouse to the other monitor and go to the bottom of it.
Do you perhaps know how I can debug this?
Yours grateful,
Simbaclaws

Hello @Simbaclaws , you might need to try create a service for it:  Create Systemd Service

Hi,
I had a similar issue on Pop!_OS 19.10 running Plank 0.11.89. Plank was not moving, it just printed in the terminal "attempting to move plank to ..." so i did a minor modification to the code.
This is a quick fix to get you going, I am not a GO developer, just debugged a little and noticed that when i change offset, plank moves to the other monitor.
Above function movePlankTo add this:
const dconfPlankOffset = "/net/launchpad/plank/docks/dock1/offset"
And inside the function movePlankTo replace
	return exec.Command("dconf", "write", dconfPlank, value).Run()
With
cmdOffset := exec.Command("dconf", "read", dconfPlankOffset)
offsOut, offsErr := cmdOffset.Output()
if offsErr != nil {
	return offsErr
}
exec.Command("dconf", "write", dconfPlank, value).
	Run()

if strings.TrimSpace(string(offsOut)) == "0" {
	return exec.Command("dconf", "write", dconfPlankOffset, "1").
	Run()
}

return exec.Command("dconf", "write", dconfPlankOffset, "0").
	Run()

After this, rebuild and run/restart autoplank

Thanks a lot!! I haven't tested it yet, but will try so as soon as possible. This would really make my life easier. Greatly appreciated.

This seems to work, can this be merged with master?
Else I'll make a fork...

Hi guys, I using elementary os 5.1 and trying to use autoplank, but it does nothing and starting from cli gives me:
panic: runtime error: index out of range
goroutine 5 [running]:
main.fetchDisplays(0x0, 0x0, 0x0, 0x0, 0x0)
/root/autoplank/main.go:193 +0x742
main.watchDisplays()
/root/autoplank/main.go:109 +0x26
created by main.eventLoop
/root/autoplank/main.go:272 +0x4a
I've tried to implement the changes you mentioned, but nothing changes.
Can you help me please?


Segmentation fault when I try to run create_data.py

When I try to run create_data.py after preparing KITTI data,  Segmentation fault (core dumped) happend. I found the problem happens at the very beginning "from second.core import box_np_ops" of create_data.py. Maybe these c++ related files in second.pytorch need to be build first?

Please see my solution here:
https://github.com/traveller59/second.pytorch/issues/314#issuecomment-567685488

Please see my solution here:
#314 (comment)

Thank you for your reply.
I've found the solution by gdb. I found that a .h file missing in numba include. So I reinstalled numba and llvmlite. And the problem solved. Btw, some warnings are throw out when using the latest numba 0.46.0. I dont know which version is best, maybe a lower one?

For me, the problem occurs, because I was using CUDA 10.2 - moving back to CUDA 10.0 solved the problem.


[EPIC] Parquet filter pushdown into scan

Is your feature request related to a problem or challenge? Please describe what you are trying to do.
DataFusion offers sophisticated "filter pushdown" optimizations into LogicalPlan::TableScan by passing predicates into TableProvider::scan.
This ticket tracks the work to make use of these predicates in the table provider for parquet files, ParquetFileReader. Much of this work has been completed by the writing of this ticket, but I wanted to try and capture it here to both show how far DataFusion has come as well as how close we are to done
There are three types of predicate pushdown:

[x] Prune row groups based on statistics (do not fetch or decode any pages)
[x] Prune column pages based on page level statistics, skip decode of corresponding positions in other columns:
[x] Prune row indexes based on Expr predicates, and skip decode of corresponding positions in other columns

Work Items

[x] https://github.com/apache/arrow-datafusion/issues/3360
[x] https://github.com/apache/arrow-datafusion/issues/3457
[x] https://github.com/apache/arrow-datafusion/issues/3456
[x] https://github.com/apache/arrow-datafusion/issues/847
[ ] #3463
[x] https://github.com/apache/arrow-datafusion/pull/2946
[x] https://github.com/apache/arrow-datafusion/issues/2489 / ParquetRecordBatchStream
[x] https://github.com/apache/arrow-datafusion/pull/3780
[x] #4085
[x] https://github.com/apache/arrow-datafusion/issues/3834
[x] https://github.com/apache/arrow-datafusion/issues/3833
[x] #4087
[x] https://github.com/apache/arrow-datafusion/pull/3976
[x] #3464
[x] https://github.com/apache/arrow-datafusion/pull/4255
[x] https://github.com/apache/arrow-datafusion/issues/4317

Related arrow-rs items:

[x] https://github.com/apache/arrow-rs/issues/2110
[x] https://github.com/apache/arrow-rs/pull/2044
[x] https://github.com/apache/arrow-rs/pull/2115
[x] https://github.com/apache/arrow-rs/pull/2335
[x] https://github.com/apache/arrow-rs/pull/2435
[x] https://github.com/apache/arrow-rs/pull/2467
[x] https://github.com/apache/arrow-rs/issues/2941
[x] https://github.com/apache/arrow-rs/issues/2853

We are so close to making this happen -- the last thing is to be able to turn the predicate pushdown on by default


MSTest does not run on next version of docker desktop

Description
In the next version of docker desktop, version <IP_ADDRESS>, mstest fails to run when the source code is in a volume shared with the host.
Steps to reproduce
Follow the steps in this docs page to setup sample test project:
https://docs.microsoft.com/en-us/dotnet/core/testing/unit-testing-with-mstest
Download the current version of Docker desktop and in run:

docker run -ti --rm -v [path to source]:/src:rw mcr.microsoft.com/dotnet/core/sdk:latest

Inside the container:

dotnet restore
dotnet build
dotnet test

Everything works, then upgrade to the current docker edge version:
https://docs.docker.com/docker-for-windows/edge-release-notes/
Follow the same steps and get

An exception occurred while invoking executor 'executor://mstestadapter/v2': Input/output error

This works with xUnit in both the current and edge versions of docker desktop, only mstest is broken.
Expected behavior
mstest runs without errors, reports results for passed/failed tests.
Actual behavior
mstest fails with the error

An exception occurred while invoking executor 'executor://mstestadapter/v2': Input/output error

Environment
Docker Edge running <IP_ADDRESS>, using latest dotnet core image:
mcr.microsoft.com/dotnet/core/sdk:latest

I am experiencing the same issues on docker v<IP_ADDRESS>. Running dotnet net [solution folder] results in every test failing with An exception occurred while invoking executor 'executor://mstestadapter/v2': Input/output error.

@mpekurny @djluck Sorry it took us that long to have a look at the issues. Are you still experiencing any issue with newer versions?

@Evangelink I do not know. We have moved away from using docker desktop since opening this ticket. Sorry.

No worries, thank you for taking the time to reply!

I will move forward by closing this issue as there is no repro and no activity. Please reply here or create a new issue if you are having the same issue.


Application Default local shell required docker installed for core-landing-zone deployment

stub - filling...

will raise a separate jira for local gcloud shell provisioning (kpt, git, docker...)

I'll reproduce the client issue later


Introduce OOM settings for containers

Pull Request Test Coverage Report for Build 1117

0 of 13 (0.0%)  changed or added relevant lines in 2 files are covered.
4 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.08%) to 25.771%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

executor/runtime/docker/docker.go
0
3
0.0%

executor/runtime/docker/docker_linux.go
0
10
0.0%

Files with Coverage Reduction
New Missed Lines
%

launchguard/client/client.go
4
71.43%

Totals

Change from base Build 1107:
-0.08%

Covered Lines:
2408

Relevant Lines:
9344

💛  - Coveralls


Can the interrupted Compass code continue to run?

I have run part of the cells in the dataset using Compass, but the code was interrupted due to server disk space. So I would like to ask if there is a way to continue running from where the code was interrupted last time？
Thanks!!

yes, see https://github.com/YosefLab/Compass/issues/34

Marking as resolved. To reiterate, as long as the temporary directory is present then COMPASS will continue from where it left off.


Making local traits take astropy quants [issue #25]

I had to change the trait types from float to Any, but the unit check a) makes sure proposal is an astropy quantity, and b) raises an error if it's not the right type of quantity. Given that traitlets doesn't include data types with units, is this an acceptable workaround?

Do you think it should still be possible for proposal to be a float and users have the option to choose which type they prefer? If it's a float, we could turn the unit check into an elif and first check if proposal is a float.

What effect is location_altitude supposed to have in the widget? I see no discernible changes in the picture, even at Everest-level heights.

Is there a way to include all units of length for location_altitude? find_equivalent_units() was the best I found in astropy, but it leaves out km and other somewhat common units of height. Also, should imperial (or other) unit systems be included?

Thanks for working on this!

I think there is likely a way that we could define our own trait type that would be specific to astropy quantities. Maybe you could investigate the traitlets library a bit to see how one might define AstropyQuantity as a trait type that we could use rather than Any? If this isn't easy, then in the validators, make sure you first check that isinstance(proposal['value'], Quantity) is True.

I think we should just strictly require quantities to avoid any ambiguity

I think the location matters for the position of the planets for example, but I'm not sure how much you have to change the values to see an effect.

The easiest way is to check value.unit.is_equivalent_to(u.m) or value.unit.physical_type == 'length'

At the moment, if a user checks the value of e.g. location_longitude, they will get a float back. I think we want to keep it as a quantity internally and then convert it only at the point where we send the message. To do this I think the easiest would be that in the validator you make sure you convert the values to meters and degrees but keep them as Quantity, then when sending the message in _on_trait_change you check if the value is a quantity and if so do .value before sending the message. Does this make sense?

I'm looking more into your suggestion for number 1. I think I correctly implemented your suggestion for saving the .value call until just before the message is sent.

I figured out how to make a custom trait in quantity_trait.py and got good results. Is the hasattr() check in the validate() method from that file good enough? I tried to keep it simple but still exclusive.

Apologies for all of the little things with this one.


Error: Cannot install Raspberry Pi Zero (Linux raspberrypi 4.14.79+ #1159 GMT 2018 armv6l)

root@raspberrypi:/var/www/MobileCPR# npm install better-sqlite3 --save

<EMAIL_ADDRESS>install /var/www/MobileCPR/node_modules/better-sqlite3
prebuild-install || npm run build-release

prebuild-install WARN install EACCES: permission denied, access '/root/.npm'
npm ERR! code EACCES
npm ERR! syscall scandir
npm ERR! path /root/.npm/_logs
npm ERR! errno -13
npm ERR!
npm ERR! Your cache folder contains root-owned files, due to a bug in
npm ERR! previous versions of npm which has since been addressed.
npm ERR!
npm ERR! To permanently fix this problem, please run:
npm ERR!   sudo chown -R 1001:0 "/root/.npm"
glob error { [Error: EACCES: permission denied, scandir '/root/.npm/_logs']
errno: -13,
code: 'EACCES',
syscall: 'scandir',
path: '/root/.npm/_logs' }

<EMAIL_ADDRESS>build-release /var/www/MobileCPR/node_modules/better-sqlite3
node-gyp rebuild --release

gyp WARN EACCES current user does not have permission to access the dev dir "/root/.cache/node-gyp/11.15.0"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/var/www/MobileCPR/node_modules/better-sqlite3/.node-gyp"
gyp WARN install got an error, rolling back install
gyp WARN install got an error, rolling back install
gyp ERR! configure error
gyp ERR! stack Error: EACCES: permission denied, mkdir '/var/www/MobileCPR/node_modules/better-sqlite3/.node-gyp'
gyp ERR! System Linux 4.14.79+
gyp ERR! command "/opt/nodejs/bin/node" "/opt/nodejs/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--release"
gyp ERR! cwd /var/www/MobileCPR/node_modules/better-sqlite3
gyp ERR! node -v v11.15.0
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>build-release: node-gyp rebuild --release
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>build-release script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?
npm ERR! code ELIFECYCLE
npm ERR! errno 243
npm ERR<EMAIL_ADDRESS>install: prebuild-install || npm run build-release
npm ERR! Exit status 243
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR!

The solution seems to be obvious (as pointed out by @Prinzhorn), so I'll close this if it remains inactive for a another week or so.


App crashes when building graph app is not available

If attempting to go to, for example TBT Lobby and the TBT_graph.txt asset is not available, the app will crash.

Fixed in c32ddb82991dcf8c36c8ff20fc40d8f2c3601d2c


Update SafetyNetClientServiceImpl.java

Fixed compilation error

@spacekitteh: This cause a compilation error, see here.

Ah, it requires an update to the GmsApi submodule.

Done as part of the API version update in commit d7fd344


Cannot select default date once scrolled to another date

When the activity opens first today's default date is selected. Once I scroll and try to come back to today's default date, I cannot do so. My problem will be shown in this video:
https://drive.google.com/open?id=0B8wL31ixEiQybDQwVFlUQW44OFU
It seems that it works fine when I set number of items to be shown as 4 ".datesNumberOnScreen(4)" i.e. when the numbers are even. The problem occurs when I give numbers as 5, 3.

Can't reproduce this bug, please use the latest version 1.2.2 and try again.


First Pass on Syntax and Grammar Edits

First Pass on Syntax and Grammar Edits

Wonderful, thank you!
/approve
/lgtm


[Bug]: enable_runfiles should no longer be required

What happened?
At the JS BoF at BazelCon 23 someone pointed out that the enable_runfiles requirement is annoying. @gregmagolan thinks that we have made fixes for runfiles handling that should make that no longer be required.
Version
HEAD
How to reproduce
No response
Any other information?
No response

I can report that we have runfiles disabled and do not have any issues with the latest rules_js or rules_ts.

Fixed by https://github.com/aspect-build/rules_js/pull/1428


pull request for e2e test at 11/13/2016 11:15:08

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

optest/docs/updated_at.md
:white_check_mark:Succeeded

Details

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Print server warnings in function/class lookup but not during client construction

This removes the remaining use case for ClientHello which is to print client deprecation warnings. It moves that to function and class lookup instead. We already do it during app deploys in #2639.
This will let me FINALLY merge https://github.com/modal-labs/modal-client/pull/2439 (which will need to be rebased) – this removes two server round trips which adds a fair bit of latency in remote regions.

Thanks @mwaskom !


Not handled case when leader pod have status reason "Terminated"

I have a case when all nodes of k8s cluster was rebooted, and pod with operator have a status Failed and reason Terminated.
Library does not handle this case, and Vitess cluster not start after accident on k8s cluster. New pod wait when old leader will be deleted and do nothing.
Name:                 vitess-operator-78b664544-26vc5
Namespace:            default
Priority:             5000
Priority Class Name:  vitess-operator-control-plane
Service Account:      vitess-operator
Node:                 node-name-hash/<IP_ADDRESS>
Start Time:           Wed, 19 Oct 2022 12:41:30 +0300
Labels:               app=vitess-operator
                      pod-template-hash=78b664544
Annotations:          kubectl.kubernetes.io/restartedAt: 2022-10-18T15:04:56+03:00
Status:               Failed
Reason:               Terminated
Message:              Pod was terminated in response to imminent node shutdown.

Same here.
I also found the same issue at https://www.digitalocean.com/community/questions/vitess-deadlock-after-kubernetes-restart.
I think this case could impact the availability.
The new pod waits until the lock file of ConfigMap named vitess-operator-lock is deleted by k8s GC. And this lock file will be deleted right after the deletion of its ownerReference, meaning the old leader.
The pod that was terminated by graceful node shutdown is supposed to be deleted by GC when the number of terminated Pods reaches a threshold. Not by its controller. It could take days to kick off GC.
To conclude, there is a chance of no operator until the next GC.
Currently, we have only two tricky options when the node shutdown happens:

Wait until the number of terminated Pods reaches a threshold (determined by terminated-pod-gc-threshold in the kube-controller-manager). By default, --terminated-pod-gc-threshold is set to 12500.
Manually delete the ConfigMap or the old leader pod.

I think we have two approaches to resolve this issue:

Merge the fix from https://github.com/operator-framework/operator-lib/pull/77
Use Leader-with-lease election instead of Leader-for-life. We need to catch up with the operator-sdk v1.0.0 to use this new default.

Approach 1 is easier, but keeping up with k8s is harder.
Approach 2 might be laborious, but it can address the root cause and be line with the de-facto standard upstream.
Linking https://github.com/planetscale/vitess-operator/issues/226 here might be helpful.

Merge the fix from https://github.com/operator-framework/operator-lib/pull/77

In this issue, adding Terminated is appropriate.
- podEvicted := pod.Status.Reason == "Evicted" || pod.Status.Reason == "Shutdown"
+ podEvicted := pod.Status.Reason == "Evicted" || pod.Status.Reason == "Terminated"

I think best solution will be without check reason, just switching leader and delete failed pod.

I think best solution will be without check reason, just switching leader and delete failed pod.