timezone-aware datetime Python 3.11+ compatible formatting support

Hi @15r10nk
Thanks for the great library! This may be another "proof" that support formatting through ruff #58 would be great!
I use ruff to lint/format my codebase and until now it did not create any issue. However, I've enabled timezone-aware datetime in all my models and columns and enabled the great flake8-datetimez set of rules. I'm formatting my code against Python 3.12 as I like to have modern Python code and here comes the problem.
inline-snapshot via black and its support for timezone-aware datetime  creates output similar to:
"updated_at": datetime.datetime(2024, 6, 18, 20, 19, 42, tzinfo=datetime.timezone.utc)

which gets formatted through ruff to, via UP017:
"updated_at": datetime.datetime(2024, 6, 18, 20, 19, 42, tzinfo=datetime.UTC)

Thus, the snapshots keep on failing. Any idea how I could fix that? I can add a # noqa: UP017 to the line or disable it for tests, but both do not feel so good and it introduces a style mismatch in the codebase.
I may contribute to a fix, but if it is "implement ruff support", I guess it's too big for me! :-D

I would not say that this what ruff does here is formatting any more, but it is still an issue and thank you for bringing it up.
─────────────────────────────────── Update snapshots ───────────────────────────────────
╭────────────────────────────────── ruff_lint_bug.py ──────────────────────────────────╮
│ @@ -4,5 +4,5 @@                                                                      │
│                                                                                │
│                                                                                │
│  def test():                                                                         │
│      assert datetime.datetime(2024, 6, 18, 20, 19, 42, tzinfo=datetime.UTC) == snaps │
│ -        datetime.datetime(2024, 6, 18, 20, 19, 42, tzinfo=datetime.UTC)             │
│ +        datetime.datetime(2024, 6, 18, 20, 19, 42, tzinfo=datetime.timezone.utc)    │
│      )                                                                               │
╰──────────────────────────────────────────────────────────────────────────────────────╯

let me give you an example why the current behavior exists.
from inline_snapshot import snapshot
from dataclasses import dataclass

class NewClass:
    pass

OldClz=NewClass

def something():
    return NewClass

def test():
    assert something() == snapshot(OldClz)

inline-snapshot changes the name of the class to the new representation because this is how the object should now be represented.
─────────────────────────────────── Update snapshots ───────────────────────────────────
╭───────────────────────────────────── update.py ──────────────────────────────────────╮
│ @@ -13,6 +13,6 @@                                                                    │
│                                                                                │
│                                                                                │
│                                                                                │
│  def test():                                                                         │
│ -    assert something() == snapshot(OldClz)                                          │
│ +    assert something() == snapshot(NewClass)                                        │
╰──────────────────────────────────────────────────────────────────────────────────────╯

The reason for such updates could also be changes in the __repr__() implementation of the object, which have no effect to the value (omit default arguments for example).
Your problem is that the new name is an alias for the old name, and not the other way around.
I have to think about this a bit more. Formatting alone might not help because inline-snapshot will tell you that there are some snapshots which can be updated, but there will be no change when the updates are applied (because ruff reverted these changes). This can be confusing for the user.
One solution might be to split the update category into two. One for changes which are triggered by inline-snapshot (like changes in the multiline string representation). And another for all other changes.
But the question is then: How do I present these other changes to the user. Don't show them because they are confusing/wrong (your case) or show them because they are useful (new repr).
That's the problem where we started.

Hi @15r10nk !
Thanks for your detailed answer! I had understood the implementation and considerations leading to the current behavior, but exposing them so clearly may help someone to come with a good idea.
I completely share that it's not gonna be easy to decide which changes is worth presenting or not and I don't have a smart hint to add here...
On the other hand, if inline-snapshot could support/enable native ruff formatting, using the rules present in the project, we would not have that issue anymore, right? Although it may still happen on a black + pyupgrade lint/formatting setup...
Have you considered hooking on pre-commit else? Could that be a suitable config to support a wide variety of setups?

Formatting has two goals:

I want to format the snapshots because they would otherwise just be really long strings
I don't want that the formatting changes existing code.

Doing more than formatting (pre-commit) is not something which I would like to do here. But inline-snapshot should not try to "fight" with other tools.
I don't think that formatting is a solution to this problem, because inline-snapshot would still think that the code should be changed (notify the user ... 3 snapshots to update), but nothing would be changed when the updates are performed. Which would confuse the user because inline-snapshot still tells him that it wants to change something.
The best solution I have currently is to restrict the update changes to a explicit set of change types (string formatting, default arguments, ...) but not arbitrary changes in the representation.
Maybe put them behind a question like:
Do you want to test for changed repr() (y/N)

I guess the situation might be a different one if you don't see these changes every time you run --inline-snapshot=review, am I right?

That's true, but as a user, I'm not sure how I would react to a quite generic question like:
Do you want to test for changed repr() (y/N)

I may press N because I might fear to miss other more problematic changes...
Would maybe some kind of config/mapper for equivalences/replacements in the repr() be an option? To make it specific and transparent enough?


Remove group chat references

Summary
I found some group chat references in the playground that are causing errors

Admin merging this


[BUG] Create Zone bugs

Describe the bug

Missing Guest VLAN ID in create zone wizard after selecting Advanced Zone with SG Enabled
'Fix Errors' button still present after fixing errors and zone successfully created

@utchoang Could you look into this ?

@davidjumani is this still an issue or fixed? cc @utchoang


Can't open pod shell after update to 554 from 546

Describe the bug
Can't open pod shell after update to 554 from 546
To Reproduce
Steps to reproduce the behavior:

Go to 'Pods'
Click on any pod
Click on 'Pod shell'
See error ‘Error from server:  Terminal will auto-close in 15 seconds ...’

Expected behavior
open pod shell
Screenshots

Environment (please complete the following information):

Lens Version:5.5.4
OS:  OSX12.4
Installation method (e.g. snap or AppImage in Linux):dmg

Logs:
When you run the application executable from command line you will see some logging output. Please paste them here:
No

Kubeconfig:
Quite often the problems are caused by malformed kubeconfig which the application tries to load. Please share your kubeconfig, remember to remove any secret and sensitive information.
No

Additional context
Add any other context about the problem here.
I installed both 5.5.4 and 5.4.6, 5.4.6 is fine to open pod shell

https://github.com/lensapp/lens/issues/5663

Is this a rancher cluster?

Yes   rancher v2.6.3 .
Client Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.8", GitCommit:"5575935422cc1cf5169dfc8847cb587aa47bac5a", GitTreeState:"clean", BuildDate:"2021-06-16T13:00:45Z", GoVersion:"go1.15.13", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"20+", GitVersion:"v1.20.4-aliyun.1", GitCommit:"66492d8", GitTreeState:"", BuildDate:"2021-08-16T03:38:25Z", GoVersion:"go1.15.8", Compiler:"gc", Platform:"linux/amd64"}

Hello,
same issue here with Rancher v2.6.5 (no problem using direct access to the cluster)

@rverchere Yes thanks, that is what I have been able to reproduce as well.

maybe duplicate with https://github.com/lensapp/lens/issues/5628

After update to version 6, all fine~ thanks


Double Browser History Entry

When I go to http://angularjs.org then navigate to the developer guide using the "Develop" menu, I have to press the browser back button twice to get back go the angularjs home page.
Same is probably true if you go to the dev guide through this link: http://docs.angularjs.org/guide/
This also applies to my own project at http://www.sekas.de/ptr/ptr-0.2.1/src/html/ptr.html

Anyone find a solution to this? I'm seeing this issue now too for an app running within an iframe. Using version 1.2.26.


Support inline HTML in markdown blocks

As described in the docs:

While the most common flavours of markdown let you use HTML in markdown paragraphs, due to how Svelte handles plain HTML it is currently not possible to do this with this package. A paragraph must be either all HTML or all markdown.

A way to solve this is to do a single-pass walk along tokens and then join tokens between the outmost html tokens.
For example:
Input Markdown
a1

Ideal Result
a1
Tokens
[
    {
        "type": "text",
        "raw": "a",
        "text": "a"
    },
    {
        "type": "html",
        "raw": "",
        "inLink": false,
        "inRawBlock": false,
        "block": false,
        "text": ""
    },
    {
        "type": "text",
        "raw": "1",
        "text": "1"
    },
    {
        "type": "html",
        "raw": "",
        "inLink": false,
        "inRawBlock": false,
        "block": false,
        "text": ""
    }
]

After Patching
[
    {
        "type": "text",
        "raw": "a",
        "text": "a"
    },
    {
        "type": "html",
        "raw": "",
        "inLink": false,
        "inRawBlock": false,
        "block": false,
        "text": "1"  // the 3 tokens were joined into this one
    }
]

My implementation is like this:
import type { marked } from "marked"

export function patchTokens(tokens: marked.Token[]) {
  for (let i = 0; i < tokens.length; i++) {
    const token = tokens[i]
    if (token.type === "html") {
      const idealCloseTag = token.raw.replace("<", "</")

      while (true) {
        if (i + 1 === tokens.length) {
          // incomplete html
          token.text += idealCloseTag
          break
        }

        const nextToken = tokens[i + 1]
        if (nextToken.type === "html" && nextToken.raw === idealCloseTag) {
          token.text += idealCloseTag
          tokens.splice(i + 1, 1)
          break
        }
        else {
          // treat as html children
          token.text += nextToken.raw
          tokens.splice(i + 1, 1)
        }
      }
    }
    else if ("tokens" in token) {
      patchTokens(token.tokens!)
    }
  }
  return tokens
}

If you think this is a common cases, I can open a PR.

+1 to this, although I think instead of something like patchTokens, an extension should be written to parse any HTML as a block rather than inline.
I'm not sure if this would have any significant side effects.
Here's an example of parsing out a custom block (looking for :section names: between :)
const sectionExtension = {
  name: 'section',
  // Is this a block-level or inline-level tokenizer?
  level: 'block',
  // Hint to Marked.js to stop and check for a match
  start(src: string) {
    return src.match(/:[^:\n]+:/);
  },
  tokenizer(src: string) {
    // Match any :text: pattern, capturing the label
    // simple match
    const sectionHeaderRule = /^:([^:\n]+):/;

    const headerMatch = sectionHeaderRule.exec(src);

    if (!headerMatch) return;
    const label = headerMatch[1];

    // Find the start of the next section or end of text
    const remainingText = src.slice(headerMatch[0].length);
    const nextSectionIndex = remainingText.search(/(?:\s|^):[^:\n]+:/);
    let sectionContent = '';

    if (nextSectionIndex === -1) {
      // No next section found, consume all remaining text
      sectionContent = remainingText;
    } else {
      // Found next section, consume text up to that point
      sectionContent = remainingText.slice(0, nextSectionIndex);
    }

    // Create the token
    const token = {
      type: 'section',
      raw: headerMatch[0] + sectionContent,
      label, // Store the text between colons as label
      color,
      bgColor,
      text: sectionContent, // Store the content after the label
      tokens: [],
    };

    // Parse the section content for inline and block tokens
    this.lexer.blockTokens(token.text, token.tokens);
    return token;
  },
};


chore(npm): avoid major change

v13.2.0 has been released and contains a fix for the issue. Feel free to reopen the issue or to submit a new one if you meet any problems.


Use JsonSubType union type in method parameters and return type

Describe your motivation
If you have
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY)
@JsonSubTypes({ @JsonSubTypes.Type(value = AddEvent.class, name = "add"),
        @JsonSubTypes.Type(value = UpdateEvent.class, name = "update") })
public interface BaseEvent { public int baseValue; }
public class AddEvent implements BaseEvent { private String addValue;}
public class UpdateEvent implements BaseEvent { private String updateValue;}

then you get
interface BaseEvent {
    baseValue: number;
}

interface UpdateEvent extends BaseEvent {
    updateValue: string;
    "@type": "update";
}

interface AddEvent extends BaseEvent {
    addValue: string;
    "@type": "add";
}

which is expected but then you have
   public void foo(BaseEvent bar) {}

you get
async function foo(bar: BaseEvent)

Describe the solution you'd like
The parameter type should not be BaseEvent but instead BaseEventUnion. The same for the return type
Describe alternatives you've considered
No response
Additional context
No response

@cromoteca, addressing this issue was needed to enable external filters in AutoGrid. Right?


Ability to alter soffit modelandview, only send encryptedToken

Trying to modify the PortalRequest is causing a bunch of issues with trying to access the Bearer encryptedToken. So I believe that just passing the encryptedToken around allows for a few things. One, it allows for the render modelandview for the soffit to be altered thus allowing for user specific data to be     added. Also, it has the added security benefit of only having the encryptedToken visible.

At OU we are trying to pass more information to the JSP, for example passing the IP address of the specific soffit to the page so it can grab js/css resources from it self. The only way to do this is per soffit. Also from a security stand point now the page only gets the encrypted token. It also cuts down on the payload being sent, allowing for faster response times.

@drewwills sure that works for me. I'm open from 8am-3pm tomorrow to talk about it.


Chore: don't pass empty language code to tesseract CLI

Summary:
Close: https://github.com/Unstructured-IO/unstructured/issues/1920

stop passing in empty string from languages to tesseract, which will result in passing empty string to language config -l for the tesseract CLI
also stop passing in duplicate language code from languages to tesseract OCR
if we failed to convert any iso languages from the languages parameter, proceed OCR with eng as default

Test

First confirm the tesseract error Estimating resolution as X before this:

on the unstructured-api repo with main branch, run make run-web-app
curl to test error from empty string, or just any wrong input like -F 'languages="eng,de"':

curl -X 'POST'  'http://<IP_ADDRESS>:8000/general/v0/general' \
 -H 'accept: application/json'   \
-H 'Content-Type: multipart/form-data' \
-F<EMAIL_ADDRESS>\
-F 'languages=""'  \
-F 'strategy=hi_res'  \
-F 'pdf_infer_table_structure=True' \
| jq -C . | less -R

after this change:

in your unstructured API env, cd to unstructured repo and install it locally with pip install -e .
check out to this branch
run make run-web-app again in api repo
the curl command return output and see warning in log

@yuming-long, do you use pyenv for env management? I'm having trouble installing the local changes to unstructured in my api environment. Will keep working on it, but figured I'd ask.

Hi @Coniferish, yes I use pyenv.
I am on api repo, and then pyenv activate unstructured-api, cd ../unstructured, and pip intall -e . works for me. Let me know if you need help on the error :)

Sounds good. It's probably because I set 'local' envs for the different repos and need to clear out the config or something

@yuming-long, do you use pyenv for env management? I'm having trouble installing the local changes to unstructured in my api environment. Will keep working on it, but figured I'd ask.

Hi @Coniferish, yes I use pyenv. I am on api repo, and then pyenv activate unstructured-api, cd ../unstructured, and pip install -e . works for me. Let me know if you need help on the error :)

Figured out I needed to first pip uninstall unstructured before going to the directory to install. Thank you @yuming-long!

Not specific to this issue, but I'm noticing that I'm not actually seeing the languages field in the return value from the curl requests I'm making. Any ideas, @awalker4, @shreyanid, @yuming-long?
curl -X 'POST'  'http://<IP_ADDRESS>:8000/general/v0/general' \
 -H 'accept: application/json' \
-H 'Content-Type: multipart/form-data' \
-F<EMAIL_ADDRESS>\
-F 'languages=eng' \
-F 'strategy=hi_res' \
-F 'pdf_infer_table_structure=True' | jq -C . | less -R

[
  {
    "type": "Title",
    "element_id": "8e5839c2fb9b4d6b78cd2b1c1f5bed02",
    "metadata": {
      "filename": "layout-parser-paper-with-table.jpg",
      "filetype": "image/jpeg",
      "page_number": 1
    },
    "text": "LayoutParser: A Unified Toolkit for DL-Based DIA 5"
  },


Fix/2262 area map line points

Description
fixes #2262
Checklist

[ ] For UI or styling changes, I have added a screenshot or gif showing before & after
[x] I have added a changeset
[ ] I have added to the docs where applicable
[ ] I have added to the VS Code extension where applicable

fix #2262


How to perform visualization of the 3D detection

I have done the training and testing, but if i want to visualize the detected results in the form of 3D bounding boxed on the input image, what should i do?
Thank you

I solved it...

can you please share your code on how you did it? Thanks!


Multiple Items in one chat for Analytics

Hi, great Idea with the tracking for analytics.
When someone is looking for more than one item only the first one gets tracked though.

It’s supposed to detect all of them. Uses a gmatch in a loop, but forgot to test more than one.
Did both of the items have a quality icon on them? That was the only way I could find to detect crafted items without a manually maintained dictionary of all crafting recipes.

Or if one of the items is an item you can craft, it would only detect that one because it piggy backs on the original scanning if possible, and never bothered to make that multi-item aware.

He was looking for 5 items. Of which I could craft 3. But only the very first was recorded

Hopefully fixed in 1.2.7


Cow: Watch (?-i:5G0KgUzQZpI)(?# youtu.be)

Cow requests the watch of the watch_keyword (?-i:5G0KgUzQZpI)(?# youtu.be). See the MS search here and the Stack Exchange search in text, in URLs, and in code.

(?-i:5G0KgUzQZpI)(?# youtu.be) has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Ryan M in Charcoal HQ


gonum

Github: https://github.com/gonum/gonum

Tasks

[ ] Adjust the name of the demo directory as the gonum package is not just for linear algebra


fix(doc): Missing dash in list

Sorry about missing the dash in my suggestion in #7507
Signed-off-by: Marc Khouzam<EMAIL_ADDRESS>

Duplicate of #7554 😉


User rejected

User rejected error even if you're trying to reenter

thank you for issue, may I ask you to describe about more specific situation?
abstract of this issue

Unity version
The Platform information you encountered this issue e,g, iOS 14.5
The Device you encountered this issue e,g, iPhone12

how to reproduct issue

I think the problem arises if you cancel it for the first time.
Unity version:　2019.4.13f1
The Platform information: Android 8
The Device you encountered this issue: Xiaomi Redmi note series

@sassembla thank you for your reply. do you have any solution?

Sorry for late @SupranJowti ,
Unfortunately I don't have any Android 8 device now. and my Android devices(OS10 or later~) could not repro this issue.
I assume that the step of reproduce is below, is it correct?

start your Unity app on your Android OS8 device.
start Toriki Twitter Sign in process. this may open Twitter app.
then cancel it on Twitter app.
automatically back to your app.
then, retry step 2 makes some errors.

And so, I want to know what code are you using in your app. can you show me it?

Thank you for your reply.
The problem was occurring due to suspend my app on Twitter. Twitter automated system suspended my app. it tracks it as spam.
It will reproduce if you try multiple times for login.
It sends them an inquiry request but no reply so far.
So that I created another new app. It works now.

thank you for reply! maybe it is not Toriki's problem,,,


push_files does not work on Windows

:wrench: Summary
Using push_files will fail on a Windows machine where Powershell is the default shell because || is not supported.
Push files generates file lists via git diff --name-only HEAD @{push} || git diff --name-only HEAD master
Lefthook version
1.2.8 040297f4db3e30f94b403b87b1cc5cfe3054c321
Steps to reproduce
Use lefthook run pre-push with a configuration like:
pre-push:
  commands:
    test:
      run: echo {push_files}

Expected results
Prints a list of files
Actual results
error replacing {push_files}: exit status 128
Possible Solution
Make sure that cmd is always used when executing this or all commands on Windows.

Hey! Did you find a workaround?

 It's an issue trying to use git lfs, haven't gotten around to digging for it though.

Hm, yes, git lfs is not implicitly used, and it only breaks when it is required in a project. Please, come back when you investigate and find out a problem :pray:


Admission checking refactorization

What type of PR is this?
/kind cleanup
What this PR does / why we need it:
Now are used 2 different ways to check if workload is admitted:
wl.Status.Admission == nil
and
apimeta.IsStatusConditionTrue(wl.Status.Conditions, kueue.WorkloadAdmitted)
Which issue(s) this PR fixes:

Fixes #694
Special notes for your reviewer:

/ok-to-test


Remove quarantine label

What this PR does / why we need it:
Remove quarantine label from the tests which are no longer flaky
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Release note:

NONE

/lgtm
/retest

/retest

/retest


Update standard-deployment.md

Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


[FEATURE] - RemoteActorRef.lookup_or_spawn

Feature Description
Instead of performing a lookup and receiving a result or Some/None, I should be able to call lookup_or_spawn which will lookup the given actor or force that actor to spawn (either locally or on a remote node) and give back the RemoteActorRef to the newly spawned actor.
Motivation
Let's suppose we have a order management system where a Shop is represented as an actor and can force an Order (represented by an actor) to spawn on another service that manages these order actors. I should be able to either get an existing Order actor already running or spawn a new actor (with a specific id/name).
Proposed Solution
If you have an idea of how to implement this feature, please provide a high-level overview of the solution.
There should be a message (not sure if it should be broadcast with a lease/claim type setup) propagated over libp2p to connected peers to spawn the actor if it isn't registered in the cluster already. Potentially that occurs based on the initial lookup message?
Alternatives Considered
Have you considered any alternative solutions? If so, please describe them.
I could, on failure to lookup (doesn't exist), send a message out of a band (via either gRPC/message broker/etc.) to have a remote actor spawn the desired actor (or use a local function if trying to spawn locally).
Additional Context
Add any other context, screenshots, or examples that would help illustrate the feature.

There should be a message (not sure if it should be broadcast with a lease/claim type setup) propagated over libp2p to connected peers to spawn the actor if it isn't registered in the cluster already. Potentially that occurs based on the initial lookup message?

This sounds like it implies that you want the actor to be running on all nodes in the swarm? Currently, there's no way of spawning an actor on a specific remote node as I haven't found much of a reason to add this into the core of kameo, and could be accomplished in user land via messaging.
Is what you're suggesting any different to the following?
let actor_ref = match RemoteActorRef::<MyActor>::lookup("my-actor").await? {
    Some(actor_ref) => actor_ref,
    None => {
        let actor_ref = kameo::actor::spawn(MyActor);
        actor_ref.register("my-actor").await?;
        actor_ref
    }
};

The code snippet above returns ActorRef instead of RemoteActorRef, but perhaps a From<ActorRef<A>> for RemoteActorRef<A> could be added to resolve this.

There should be a message (not sure if it should be broadcast with a lease/claim type setup) propagated over libp2p to connected peers to spawn the actor if it isn't registered in the cluster already. Potentially that occurs based on the initial lookup message?

This sounds like it implies that you want the actor to be running on all nodes in the swarm? Currently, there's no way of spawning an actor on a specific remote node as I haven't found much of a reason to add this into the core of kameo, and could be accomplished in user land via messaging.
Is what you're suggesting any different to the following?
let actor_ref = match RemoteActorRef::<MyActor>::lookup("my-actor").await? {
    Some(actor_ref) => actor_ref,
    None => {
        let actor_ref = kameo::actor::spawn(MyActor);
        actor_ref.register("my-actor").await?;
        actor_ref
    }
};

The code snippet above returns ActorRef instead of RemoteActorRef, but perhaps a From<ActorRef<A>> for RemoteActorRef<A> could be added to resolve this.

This is probably fine. It's what I ended up doing.  But thank you for taking the time to reply :)

No worries! I also have just made a PR which should be of use for this use case: https://github.com/tqwewe/kameo/pull/100


Implement truthy Ruleset validation

Add functionality to undertake truthy validation against Rulesets to the validator.

This implements the high-level, ruleset-as-a-whole validation against Rulesets. Anything more useful than "is this conformant or not?" is a separate thing.


Flipping as a service

Noticed that the code actually does it's own flipping. Why don't include another npm and let it do the flip?
See also: https://github.com/lakenen/flip-text

Not really worth pulling in another dependency in this case.


[Bug]: Tor Browser not opening

Prerequisites

[X] I have written a descriptive issue title.
[X] I have searched all issues/PRs to ensure it has not already been reported or fixed.
[X] I have verified that I am using the latest version of Scoop and corresponding bucket.

Package Name
tor-browser
Expected/Current Behaviour
When installed though Scoop, the Tor Browser does not open. Double-clicking it makes the process appear in task manager for a brief second and it vanishes. Nothing is showing in the event logs, and the same behavior does not occur when downloading the .exe file and installing it myself.
Steps to Reproduce
1. Run `scoop install extras/tor-browser`
2. Go to `~\scoop\apps\tor-browser\current\`
3. Run `firefox.exe`
4. Nothing happens

Possible Solution
I have no idea. Maybe there's something going on in ~\scoop\persist\tor-browser\TorBrowser\Data\Browser\profile.default, but that's a wild guess.
Scoop and Buckets Version
Current Scoop version:
d337bb1f (HEAD -> master, tag: v0.4.2, origin/master, origin/HEAD) chore(release): Bump to version 0.4.2 (#5964)

'main' bucket:
230382788 (HEAD -> master, origin/master, origin/HEAD) osquery: Update to version 5.12.2

'extras' bucket:
7df7fa13b (HEAD -> master, origin/master, origin/HEAD) qownnotes: Update to version 24.5.6

'sysinternals' bucket:
e669cc0 (HEAD -> main, origin/main, origin/HEAD) chore(ci): switch to `pull_request_target` trigger

'nerd-fonts' bucket:
4b1954d (HEAD -> master, origin/master, origin/HEAD) LXGWNeoXiHei: Update to version 1.122

'java' bucket:
b6305e15 (HEAD -> master, origin/master, origin/HEAD) dragonwell8-jdk: Update to version 8.19.20-8.0.412

'games' bucket:
1c173b687 (HEAD -> master, origin/master, origin/HEAD) unciv: Update to version 4.11.14

Scoop Config
last_update           : 21/05/2024 18:25:49
aria2-warning-enabled : False
aria2-disabled        : True
scoop_repo            : https://github.com/ScoopInstaller/Scoop
scoop_branch          : master

PowerShell Version
Name                           Value
----                           -----
PSVersion                      7.4.2
PSEdition                      Core
GitCommitId                    7.4.2
OS                             Microsoft Windows 10.0.22631
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

Additional Softwares
No response

There is something going on with the Browser\browser and Browser\Data\Tor directories. I simply replaced those two from the archive file and then the browser works just fine.

I can confirm, this is an issue. Started after update to version 13.0.15 for me. I installed it manually (without scoop) to confirm that it works fine by itself.
This may or may not be related, but in case it helps, I noticed a new executable called lyrebird.exe in INSTALL_FOLDER\browser\torbrowser\tor\pluggabletransports\lyrebird.exe that needed internet access.

@cacophobe That is interesting, do you see a current/browser folder? Because for be scoop is not extracting it correctly, it extracts the contents of Browser/browser and then overwrites it with the contents of Browser excluding Browser/browser. I tried downgrading but I still see the same error. I think scoop itself was updated and how it is behaving weird?

There is something going on with the Browser\browser (current\browser missing) directory. I simply copy that from the archive file and then the browser works just fine.

Can confirm that copying the missing folder fixes the issue, just tested it in version 13.0.16. Will report the issue on Scoop, since it may be a problem with the extracting process.

Still broken :(

Next release of Scoop with https://github.com/ScoopInstaller/Scoop/pull/6092 should fix it.

Awesome! Thanks for the quick reply @o-l-a-v 🙇🏻♂

Still broken for me even after latest fixes

@basketshoe There are no new versions of Scoop released with https://github.com/ScoopInstaller/Scoop/pull/6092 in it yet.
Last release of Scoop is from July: https://github.com/ScoopInstaller/Scoop/releases

@o-l-a-v Thought it was solved with https://github.com/ScoopInstaller/Extras/pull/14253, my bad


MCTag Addid dies not work but add does

Most likly just forgot to update but on this page https://docs.blamejared.com/1.19/pl/vanilla/api/tag/MCTag were it says addId if  you just copy cast the code into a script and reload it eorors on the addId part. howver removing Id fixes this hence me thinking its a Documentation error

Can you show the full script you were using to do that please?

Can you show the full script you were using to do that please?

https://pastebin.com/vmvZdKLq

There's nothing wrong with that, it is working as intended.
If you join the discord located at https://discord.blamejared.com/ I can explain this to you in more detail than a github conversation can (it will be much faster and we won't get more emails on every message).


Enable Envoy debug log during tests

As https://github.com/knative-sandbox/net-kourier/issues/152 also suggested, this patch enables Envoy debug log during the test.
/cc @jmprusi @davidor @mattmoor

/approve


fix(styles): clean up and standardize icons

Description:
Implement Icon component throughout the app.
NOTE: This builds on the work in https://github.com/LN-Zap/zap-desktop/pull/840 and https://github.com/LN-Zap/zap-desktop/pull/854
Motivation and Context:

Ensure icons display consistently throughout the app
Abstract away from third party icon libraries
Remove dependency on react-inlinesvg

How Has This Been Tested?
Manually
Types of changes:
Enhancement
Checklist:

[x] My code follows the code style of this project.
[x] I have reviewed and updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] I have added tests to cover my changes where needed.
[x] All new and existing tests passed.
[x] My commits have been squashed into a concise set of changes.

Tested ACK e595acb


Enabling Authentication and Authorization from a Single Middleware for Cookie and Bearer Token-Based Flows

Date: 26-02-2024

Developer Name: Pavan Bhat

Issue Ticket Number
This ticket does not close the issue but solves a part of this issue

Description
Updated certain middlewares for specific routes, intended for migration to a cron job. This modification facilitates authentication and authorization through a unified middleware, accommodating both cookie-based authentication and authentication via public and private keys for APIs triggered within the cron job context.
Route's Modified:

User Status Update:

Endpoint: /users/status/update
Method: PATCH

Idle (No Auth & Auto):

Endpoint: /users/status?aggregate=true
Method: GET

Batch Idle:

Endpoint: /users/status/batch
Method: PATCH

syncExternalAccountsButton

Endpoint: /external-accounts/users?action=discord-users-sync
Method: POST

syncUnverifiedUsersButton

Endpoint: /users/
Method: POST

syncIdleUsersButton

Endpoint: /discord-actions/group-idle
Method: PUT

syncNickNamesButton

Endpoint: /discord-actions/nicknames/sync?dev=true
Method: POST

syncIdle7dUsersButton

Endpoint: /discord-actions/group-idle-7d
Method: PUT

syncOnboarding31dPlusUsersButton

Endpoint: /discord-actions/group-onboarding-31d-plus
Method: PUT

Documentation Updated?

[ ] Yes
[x] No

Under Feature Flag

[ ] Yes
[x] No

Database Changes

[ ] Yes
[x] No

Breaking Changes

[ ] Yes
[x] No

Development Tested?

[x] Yes
[ ] No

Screenshots

Screenshot 1

Test Coverage
Test cases for this new middleware is already present and current changes do not require any new test cases
Screenshot 1

Additional Notes
This approach still provides us capability of triggering these APIs through the dashboard site

Can you add test case stats, I just want to see current line and brach coverage numbers please

Coverage
Percentage
Details

Branches
50.96%
1004/1970

Functions
59.28%
667/1125

Lines
65.04%
4117/6329


Fix format script half ignoring revision argument and attempting to format deleted files

Should we knock https://github.com/quantumlib/Cirq/issues/1526 out on here while we are at it or would that be too big a PR?

It's separate


Clean up deprecated dusk configurations

fixes #1428

Codecov Report

Merging #1429 (c50955a) into master (828364b) will decrease coverage by 9.88%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1429      +/-   ##
==========================================
- Coverage   50.51%   40.62%   -9.89%
==========================================
  Files         145      144       -1
  Lines        7544     9508    +1964
==========================================
+ Hits         3811     3863      +52
- Misses       3066     5019    +1953
+ Partials      667      626      -41

Impacted Files
Coverage Δ

pkg/core/consensus/testing/node.go
0.00% <0.00%> (-93.55%)
:arrow_down:

...ore/consensus/blockgenerator/candidate/testutil.go
0.00% <0.00%> (-90.91%)
:arrow_down:

pkg/core/consensus/testing/utils.go
0.00% <0.00%> (-75.61%)
:arrow_down:

...core/consensus/blockgenerator/candidate/genesis.go
0.00% <0.00%> (-69.24%)
:arrow_down:

...nsensus/blockgenerator/candidate/blockgenerator.go
0.00% <0.00%> (-64.29%)
:arrow_down:

pkg/gql/query/transactions.go
13.43% <0.00%> (-52.55%)
:arrow_down:

pkg/rpc/client/session.go
21.42% <0.00%> (-47.15%)
:arrow_down:

pkg/util/nativeutils/eventbus/eventbus.go
57.14% <0.00%> (-42.86%)
:arrow_down:

pkg/rpc/client/client.go
3.73% <0.00%> (-36.61%)
:arrow_down:

pkg/p2p/peer/processor.go
48.21% <0.00%> (-36.41%)
:arrow_down:

... and 166 more

Continue to review full report at Codecov.

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


JDL annotations should allow strings with spaces and utf-8 characters.

Overview of the issue
Annotations with spaces inside values like:
@entityClassHumanized("Foo Bar")
entity FooBar {
  name String
}

Exits with error:
error: Syntax error message:
	NoViableAltException: Expecting: one of these possible Token sequences:
  1. [NAME]
  2. [INTEGER]
  3. [DECIMAL]
but found: '"foo bar"'

Motivation for or Use Case
Useful for custom labels.
See https://github.com/jhipster/generator-jhipster/pull/11981
More specifically for utf-8 characters, where generated i18n is almost useless:
@entityClassHumanized("Instituição")
@entityClassPluralHumanized("Instituições")
entity Instituicao {
  name String
}

Reproduce the error

Related issues

Suggest a Fix

JHipster Version(s)

JHipster configuration

Entity configuration(s) entityName.json files generated in the .jhipster directory

Browsers and Operating System

[ ] Checking this box is mandatory (this is just to show you read everything)

@MathieuAA I was thinking about adding annotations support to application.config like:
aplication {
  @customAnnotation
  config {
    baseName foo
  }
}

What don you think?

What does it add?

A workaround to https://github.com/jhipster/jhipster-core/issues/448
aplication {
  @blueprintSpecificConfig
  config {
    baseName foo
  }
}

@MathieuAA never mind, it's harder than I anticipated:
https://github.com/mshima/jhipster-core/tree/config_annotation.
Can you release 7.3.3 for jhipster 6.10.0?

Tomorrow yes! I'll have some free time

Great thanks 👍 .

Ping @MathieuAA

It's done.

Sorry, my bad, didn’t saw, thanks.


SQLA unicode issues

Sometimes SQLA returns strings as unicode, and it brakes Kafka client.

so we don't want fingerprint or method to be in unicode, but we're ok if URL will be unicoded.

It looks like SQLA returns unicode for strings depending on internal backend to support unicode. For example sqlite stores strings internally as unicode, and returns them as unicode through python binding. The same isn't true for MySQL for example.


Fix a few CMake image/ttf mixups

Noticed that the VC release files contain a minor typo in one of the CMake variables, changed all the mention from image to ttf.
Not sure if this PR should be for SDL3 or SDL2 or both but I'm making a PR for both.

Thanks for catching these :)


fix: current account nonce state

Try out this version of the Hiro Wallet - download extension builds.

This fixes both nonce issues found when testing the ledger poc branch.
This bug exists in production so we can also fix on dev and merge from there
cc/ @kyranjamie @fbwoolf @beguene @He1DAr

@kyranjamie you can merge this into your work whenever you need it.


Comupute fixes for diagnostics lazily

At the moment, we compute diagnostic fixes eagarely, just to display the diagnostic. This is wrong -- fixes often will include global search operations, and as such should only be computed on-demand.

#6466 is a stalled PR to fix that issue.

Fixed in #8498


Split release notes for 510 and 511

We didn’t create a new release notes document after we branched release/5.10. Revert the version of Release Notes/510.md to the state that’s in release/5.10 and open a new Release Notes/511.md for changes made after branching for 510.

@swift-ci please test


release: bump version to 0.1.5

High Level Overview of Change
Title says it all
Context of Change

Type of Change

[x] Release

Before / After

Test Plan

Closed in favor of #28


meta(engine):  Rename some old meta name to a more proper one

Is your feature request related to a problem?
No
Describe the feature you'd like
Rename some old meta name to a more proper one , like MasterMetaKVData, StatusCode、Code
Describe alternatives you've considered
No response
Teachability, Documentation, Adoption, Migration Strategy
No response

/area engine
/cc @maxshuang


Tweak the changelog generator's configuration

fix #713
feat: enhanced logging from changelog generator
feat: exclude obvious unwanted issues from the generated log
Note, the label do not log does not exist yet. It is added as a general exclusion label for issues where none of the specific reasons apply.

The - "question" label at line 58 seems to have the wrong indentation.

Will fix. ... yeah, I added that quickly and forgot to untabify that line.

Thanks.


cmd+ and cmd- should keep you at the same line in the file

Still an issue on Atom 0.196.0 and OS X 10.10.3

The proposed fix from @mnquintana doesn't quite do the right thing.  It tries to keep the cursor on the display, but the cursor is not necessarily on the viewport in the first place.  So this adds a new oddity to the problem.
I do have a fix that almost works when auto-wrap is disabled, but it gets the viewport wrong when wrap is enabled. I haven't figured out how to properly position the screen when wrap is on.  Or maybe there's a bug in pixelPositionForBufferPosition.  I'm not sure what it's expected to do.
But my fix only works for the active buffer.  Other buffers which are not currently visible do not get updated correctly.  There's some discussion of that in #6673, hinting at a more extensive architectural fix that's required to address it.

Confirmed this is fixed in 1.19.0


[41179] [2.10] Add version tombstone to migrations

Issue:  https://github.com/rancher/rancher/issues/41179

Problem

Performing a Rancher downgrade can currently cause issues due to migrations running at startup being version specific. Currently, when a downgrade of Rancher is performed, the backup restore operator must be used.
Solution

Add the Rancher version as a tombstone, preventing Rancher from starting if a downgrade is detected.
Testing

Build an image of Rancher including this change with a semver compliant tag and run it
Confirm value is written to rancherVersionTombstone config map
Build another image of Rancher with a higher tag and upgrade
Confirm upgrade success new value is written to rancherVersionTombstone config map
Downgrade to original version
Confirm Rancher exits with clear error message
Remove rancherVersionTombstone config map and confirm Rancher starts

Engineering Testing
Manual Testing

Tested manually
Automated Testing

Test types added/modified:

Unit - Todo

QA Testing Considerations

Both the case where the rancherVersionTombstone is deleted to override safeguarding behavior, and upgrading back to the version present in the rancherVersionTombstone config map should be tested.
Regressions Considerations

N/A
Existing / newly added automated tests that provide evidence there are no regressions:
N/A

@Oats87 WDYT about not stopping controllers when the tombstone changes? I think we are liable to cause issues with HA deployments if we do that.

@MbolotSuse Requesting your review because I feel like you will also be able to give constructive feedback on the current approach.


Fix the license link

the opening characters of the license file also cause the repo homepage to not display the type of license in use (mit in this case)

Thanks for the fix :)


QT-Theme wallet does not work in Win64

The win64 version of anoncoin-qtt (anoncoin qt theme wallet) is not working on win64. After loading the blockchain on startup it crashed and display an anoncoin-qtt.exe has stopped working message. This does not happen on Win32, nor on Linux. This is probably related to Qt support on windows 64. The classical version, not supporting themes, do not have this issue.
This is a low priority issue because it is only for aesthetic, the classical win64 works so let us not bother too much.
A related issue is the not correct display of themes on 9.6.9 version and windows vs 9.4.4 see https://wiki.anoncoin.net/images/f/f0/Cake.png

Theme was cancelled for windows:
https://github.com/Anoncoin/anoncoin/commit/bd55fa77fd4e792ce421534f53f62699e5e9fa2a
The installation shall be done with a running I2P router in default configuration and SAM bridge
The installer at the end of installation launch anoncoin in generatei2pdestination and onlynet=i2p. Anoncoin.conf.sample also pop up. A windows open which tells the privatekey  and other info. One click on the button copy privatekey, one past in the open anoncoin.conf.sample, saving into anoncoin.conf in the newly created data directory and at next launch the anoncoin-qtc is running in onlynet=i2p with static address!
Anoncoin-qtt was removed from the setup.
For linux I think the users can make it themselves with a setup. The new anoncoin.conf.sample also explain how to do it in text mode for them.
OFC if we find a patch to enable the themes on win64 then we can make a new setup for later.


Add instructions to clone delve in case of error

Not sure if go get should be doing this clone automatically, but here's a workaround if it fails to clone delve.

If you encounter an error saying "Not a git repository",

why would this happen? can you make this happen reliably?

I'll try tonight to reproduce on another machine. I got this error after
installing VS Code with the Go plugin, which appears to try to install
delve automatically and failed. I installed delve manually afterwards.
I'm assuming by your response that 'go get' should clone by itself.
On May 2, 2017 9:53 AM, "Alessandro Arzilli"<EMAIL_ADDRESS>wrote:
If you encounter an error saying "Not a git repository",
why would this happen? can you make this happen reliably?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/derekparker/delve/pull/813#issuecomment-298642045, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAAzz7TOMA4Zo1UWBKXv3JNus01Fzzqjks5r1zVYgaJpZM4NOKYS
.

I'm assuming by your response that 'go get' should clone by itself.

yes.

Worked fine on my other machine. Not sure what's different about the first
one, other than it is Win 7 instead of Win 10.
On Tue, May 2, 2017 at 2:19 PM, Alessandro Arzilli<EMAIL_ADDRESS>
wrote:

I'm assuming by your response that 'go get' should clone by itself.
yes.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/derekparker/delve/pull/813#issuecomment-298718031,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAzz43j4OytxcXk-QkpliamzxFSAO9Qks5r13OtgaJpZM4NOKYS
.

I'm voting against this. If there really was a circumstance where go get failed and git clone didn't it would be either a problem with the documentation above or a bug in go get. But it's more likely that @thomaslangston just experienced a transitory network problem, or something like that.

Closed due to this seeming to be more of a transient problem.


Both point and tooltip are cut off

Issue #622 suggest a workaround for tooltips. But this does not work for the point and this solution messes up your tooltips nice central alignment above a point. Here is a Fiddle. second graph uses { tooltipCaretSize: 0, ... }
http://jsfiddle.net/tstruyf/o30g1bL3/

Hello, today I am closing all issues that are only affecting version 1 of Chart.js as WONTFIX.
If this issue does affect version 2 as well, I apologize for the error. Please create a test case against Chart.js 2 using on of the below websites and we will be happy to reopen the issue and update its classification:

http://jsbin.com/
http://jsfiddle.net/
http://codepen.io/pen/
Premade template: http://codepen.io/pen?template=JXVYzq


Support partial dependence plots

Currently an inspector gets a plot method if it has one or two features and a plot3d method if it has two features. The plots that methods generate are special cases of partial dependence plots. We could replace those methods with plot_partial_dependence and plot_partial_dependence3d methods, respectively, that work for all models. The result would be more generally useful and might have a simpler implementation.

Addressed by https://github.com/gsganden/model_inspector/pull/32


Allow for alternate ssh config location

Updated rtop-vis to be able to handle an ssh config other than ~/.ssh/config.

Not sure if you are accepting public PRs, but I figured I'd shoot this one over to you. This PR adds a command line option for using an alternate SSH config file and fixes an issue where graphs do not render if hostname -f returns a non-zero exit. It appears that hostname -f on CoreOS hosted by Vagrant has issues. The included change just uses the value from the SSH config's HostName parameter in that case.
I'm glad to add a test case if you'd like, but I noticed that there weren't any yet and didn't want to impose a test without asking you both first. Thanks for rtop-vis! I've integrated it into a basic container testing script and plan on adding more stats collectors if that's alright?
@mdevan @sebeichholz

@mdevan @sebeichholz bump? Are y'all considering PR on this?

Could you split this up into two: the first one for the bug fix, and the second for the alternate ssh config location? The second one should also update the text in the usage().

Yep! Will do :) Out with the kid for Halloween but will take care of this shortly. Thanks!

I've updated this PR to only include the necessary changes for the alternate SSH config location and created https://github.com/rapidloop/rtop-vis/pull/7 for the hostname -f issue. Thanks!

Anyone? I would love to move away from my fork for this one small change.


Switch to non-msan libcxx dependency

This updates the "clang" layer to use the non-msan version of libcxx to fix the issue discussed in:
https://github.com/GoogleCloudPlatform/layer-definitions/issues/107

closing. See #107 for details about why we dont want to include this version of libc++ in these containers.


[BUG] AK001-ZJ2104 Lamp

Logs

Enable debug mode in Homebridge
Reproduce the issue so that it appears in the logs
Upload a '.txt' file of your logs to this issue. ( Logs from screenshots, in '.rtf' format, or pasted directly into the post make debugging extremely difficult. Please just upload the file. )
homebridge.log

Describe the bug
A clear and concise description of what the bug is.
Device is not working, the logs indicate:
'Unknown device version number: 'e'... unable to create accessory. Please create an issue at https://github.com/Zacknetic/HomebridgeMagicHome-DynamicPlatform/issues and upload your homebridge.log'
Warning! Discovered device did not respond to query. This is usually due to an unresponsive device.
Please restart homebridge. If the problem persists, ensure the device works in the "Magichome Pro" app.
File an issue on github with an uploaded log. {
ipAddress: '<IP_ADDRESS>',
uniqueId: '70039F05D448',
modelNumber: 'AK001-ZJ2104'
To Reproduce
e.g.
Steps to reproduce the behavior:
Issue immediately occurs and lamp is not correctly recognized
Expected behavior
A clear and concise description of what you expected to happen.
Controllable lamp
Additional context
Add any other context about the problem here.
Host Hardware

Hardware: Acute Angle PC
OS: Ubuntu
OS Version: Ubuntu Focal Fossa (20.04.2 LTS)

Homebridge and MagicHome

Homebridge / HOOBS version 1.3.3
Homebridge MagicHome Dynamic Platform version e.g. 1.9.2
Link to the MagicHome Device on the seller's website.
https://www.amazon.com/gp/product/B08LNGB7Z2/ref=ppx_yo_dt_b_asin_title_o07_s00?ie=UTF8&psc=1
Device Name:Floor Lamp
Firmware Version E.V7.5.7552-A
Model: [AK001-ZJ2104]
Node.js Version | v14.16.0
Npm Version v7.6.0

Screenshots
If applicable, add screenshots to help explain your problem.

I have the same issue. Can I help somehow tomfix this bug?

May you please do the following?
1. Update the plugin to version 1.9.4.
2. restart homebridge
3. access the "magichome dynamic platform" settings, change logging to "5 - Trace",
4. restart homebridge
5. click the logs button
6. click the download button
7. upload that file (don't paste the text) here.

I will then look at this new light type and attempt to implement it.
Thank you

I have an issue reporting the same device but the product is different than what the original reporter posted.  It is a light strip controller.
https://www.amazon.com/gp/product/B07JB5N3Y7/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1
I changed my logging level to 5 and restarted.  Attached is the log that was downloaded afterward.
homebridge.log.txt
Let me know if you need anything else.

@StreckerCM @esjani @BenSweaterVest
Hello, please update to version 1.9.7 and ensure you are upgraded to node 16. This should fix your issue.
Please let me know.
-z

Just to add to this. I am having the same issue with a set of Christmas lights that identifies with a model number of AK001-ZJ2147.
The error message is:

Unknown device version number: '1a'... unable to create accessory.

I have upgraded my homebridge and Node versions as suggested above.
Homebridge: v1.3.6
Node: v16.13.0
Plugin: v1.9.7
Thanks

Just to add to this. I am having the same issue with a set of Christmas lights that identifies with a model number of AK001-ZJ2147.

Can you provide a link to where you obtained the 0x1a device? Thanks 👍

In case its helpful
The floor lamps 0x0E behave the same as the 0x35 devices
https://github.com/Danielhiversen/flux_led/blob/master/flux_led/models_db.py#L190
https://github.com/Danielhiversen/flux_led/blob/master/flux_led/models_db.py#L327

I am also experiencing the same error with the AK001-ZJ2147 christmas lights (model 0x1a). If it helps they are the "Lytworx Smart Fairy Light 300 LEDs".
I'm guessing it would be: https://github.com/Danielhiversen/flux_led/blob/master/flux_led/models_db.py#L367

I'm pretty sure we have the mapping wrong there in flux_led.
Can you send screenshots of all the tabs in the Magic Home Pro app?
I think we need to map it to https://github.com/Danielhiversen/flux_led/blob/master/flux_led/models_db.py#L672

Can you send screenshots of all the tabs in the Magic Home Pro app?

https://github.com/Mooreman01/misc/blob/main/screenshots.zip

Thanks for that.  This is a completely new model I've never seen before and we don't have in either models database.
I'll try to find one that can ship to the US so we can add support for it, but I'm not even sure what to look for.

@bdraco Have you ever figured this out? Here is a link to the lamp that creates the errors  on amazon
https://www.amazon.com/gp/product/B08LNGB7Z2/ref=ox_sc_saved_title_6?smid=A39OHOPUNM9T72&psc=1


ARROW-11204: [C++] Fix build failures with bundled gRPC and Protobuf

This is caused by ARROW-9400, 0ed34c83c6b1e862c3d8aad6bc9374759b64ea55 .
There are some problems:

"-Dprotobuf_MSVC_STATIC_RUNTIME=" (empty value) is a problem with non MSVC
Can't find RE2 with CMake 3.11 or older

A failure log (no useful information):
https://github.com/ursa-labs/crossbow/runs/1675885130#step:5:877
FAILED: grpc_ep-prefix/src/grpc_ep-stamp/grpc_ep-configure
cd /.../grpc_ep-prefix/src/grpc_ep-build &&
cmake -P /.../grpc_ep-prefix/src/grpc_ep-stamp/grpc_ep-configure-RELEASE.cmake &&
cmake -E touch /.../grpc_ep-prefix/src/grpc_ep-stamp/grpc_ep-configure
CMake Error at /.../grpc_ep-prefix/src/grpc_ep-stamp/grpc_ep-configure-RELEASE.cmake:16 (message):
  Command failed: 1

   '/usr/bin/cmake'
   '-DCMAKE_C_COMPILER=/usr/bin/cc'
   '-DCMAKE_CXX_COMPILER=/usr/bin/c++'
   '-DCMAKE_AR=/usr/bin/ar'
   '-DCMAKE_RANLIB=/usr/bin/ranlib'
   '-DCMAKE_BUILD_TYPE=RELEASE'
   '-DCMAKE_C_FLAGS=...'
   '-DCMAKE_C_FLAGS_RELEASE=...'
   '-DCMAKE_CXX_FLAGS=...'
   '-DCMAKE_CXX_FLAGS_RELEASE=...'
   '-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY='
   '-DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY='
   '-DCMAKE_PREFIX_PATH=';/.../protobuf_ep-install;;/.../cares_ep-install;;/.../absl_ep-install''
   '-DgRPC_ABSL_PROVIDER=package'
   '-DgRPC_BUILD_CSHARP_EXT=OFF'
   '-DgRPC_BUILD_GRPC_CSHARP_PLUGIN=OFF'
   '-DgRPC_BUILD_GRPC_NODE_PLUGIN=OFF'
   '-DgRPC_BUILD_GRPC_OBJECTIVE_C_PLUGIN=OFF'
   '-DgRPC_BUILD_GRPC_PHP_PLUGIN=OFF'
   '-DgRPC_BUILD_GRPC_PYTHON_PLUGIN=OFF'
   '-DgRPC_BUILD_GRPC_RUBY_PLUGIN=OFF'
   '-DgRPC_BUILD_TESTS=OFF'
   '-DgRPC_CARES_PROVIDER=package'
   '-DgRPC_GFLAGS_PROVIDER=package'
   '-DgRPC_MSVC_STATIC_RUNTIME='
   '-DgRPC_PROTOBUF_PROVIDER=package'
   '-DgRPC_PROTOBUF_PACKAGE_TYPE=CONFIG'
   '-DgRPC_RE2_PROVIDER=package'
   '-DgRPC_SSL_PROVIDER=package'
   '-DgRPC_ZLIB_PROVIDER=package'
   '-DgRPC_MSVC_STATIC_RUNTIME='
   '-DCMAKE_INSTALL_PREFIX=/.../grpc_ep-install'
   '-DCMAKE_INSTALL_LIBDIR=lib'
   '-DBUILD_SHARED_LIBS=OFF'
   '-GNinja'
   '/.../grpc_ep-prefix/src/grpc_ep'

  See also

    /.../grpc_ep-prefix/src/grpc_ep-stamp/grpc_ep-configure-*.log

The changes in dev/tasks/linux-packages/package-task.rb aren't related to this fix.
The changes are convenient to debug this problem in reproduced environment (RPM build environment in this case).

The changes in dev/tasks/linux-packages/package-task.rb aren't related to this fix.
The changes are convenient to debug this problem in reproduced environment (RPM build environment in this case).

@github-actions crossbow submit -g linux

@github-actions crossbow submit -g linux

@github-actions crossbow submit -g linux

@github-actions crossbow submit -g linux

@github-actions crossbow submit centos-*-amd64

@github-actions crossbow submit centos-*-amd64

+1
The Java JNI failure is unrelated: https://github.com/apache/arrow/pull/9157/checks?check_run_id=1685053738#step:17:1
Post job cleanup.
/bin/tar -cz -f /home/runner/work/_temp/2ff4a229-7a60-4949-af10-5e26fe774e4c/cache.tgz -C /home/runner/work/arrow/arrow/.docker .
Warning: read ECONNRESET
events.js:187
      throw er; // Unhandled 'error' event
      ^

Error: EBADF: bad file descriptor, read
Emitted 'error' event on ReadStream instance at:
    at internal/fs/streams.js:167:12
    at FSReqCallback.wrapper [as oncomplete] (fs.js:470:5) {
  errno: -9,
  code: 'EBADF',
  syscall: 'read'
}

+1
The Java JNI failure is unrelated: https://github.com/apache/arrow/pull/9157/checks?check_run_id=1685053738#step:17:1
Post job cleanup.
/bin/tar -cz -f /home/runner/work/_temp/2ff4a229-7a60-4949-af10-5e26fe774e4c/cache.tgz -C /home/runner/work/arrow/arrow/.docker .
Warning: read ECONNRESET
events.js:187
      throw er; // Unhandled 'error' event
      ^

Error: EBADF: bad file descriptor, read
Emitted 'error' event on ReadStream instance at:
    at internal/fs/streams.js:167:12
    at FSReqCallback.wrapper [as oncomplete] (fs.js:470:5) {
  errno: -9,
  code: 'EBADF',
  syscall: 'read'
}


Remove dependency on Bitnami chart

Remove dependency on Bitnami chart

Hi @anuragpathak21, could you please provide more details about your request? What specific concerns do you have?

Bitnami Acquired by VMWare and now VMWare acquired by Broadcom, and the way Braodcom running (ruining) evenrything VMWare, I would suggest the move away from using bitnami common chart dependency. Moreover, it will also help to stay independent from any external dependencies. It's just my preference and suggestion.


Can you help me troubleshoot this behaviour?

Version
Running Version: v0.0.93 (26a1edc)

Description
BNB USDT loss:

I have the same setting for BTC USDT but only BNB USDT sells at a loss.
Can you help me fix this?

How to export logs? Where is log file saved when I click Export Logs on the Logs for BNBUSDT pop up?

Looks like sometimes the bot doesn't seem to be selling the full amount.

Bought 97 XRP and sold 96. There is 1+ remining balance.
When the bot is going to sell this balance and at what price?
 Delete last buy price.
{
"lastBuyPrice": 0.47297628865979385,
"currentPrice": 0.4772,
"minNotional": "10.00000000",
"openOrders": []
}

(08:26:56.084) XRPUSDT Loss:

Profit: -0.0771000000000015
ProfitPercentage: -0.16805184105042537
Total Buy Amount: 45.8787
Total Sell Amount: 45.8016

The next trade

Bot didnt sell that 1 XRP left from the previous trade.
Grid sell is set up to sell 100%

Happened again with another pair:

Bot doesnt sell all amount.
Bought 1,107 XLM
Sold 1,103 XLM
Is this a bug? Why bot cant sell all amount?

I can confirm this behaviour, it's especially noticable with higher buys.
Had the bot buy BAT for 20k+ and it reached the trigger price of 0.1% profit.
The bot sold most of it, but in the "closed trades" marked it as a $11 loss when in actuality I still had $21 left over, so it was a $10 profit.

@peweb
It's designed, not a bug.
It calculates 10% from quantity for commission. It does not use BNB commission even if you choose to use it.
Here is the code - https://github.com/chrisleekr/binance-trading-bot/blob/master/app/cronjob/trailingTrade/step/place-sell-order.js#L106
Even if you try to sell from the Binance app, I found it leaves small amounts.
Please close the issue if it's answered.

@chrisleekr
10%?
https://www.binance.com/en/fee/schedule
For a Regular User it should be 0.1000% / 0.1000%

Ah sorry, typo. It's 0.1%. See the code - https://github.com/chrisleekr/binance-trading-bot/blob/master/app/cronjob/trailingTrade/step/place-sell-order.js#L106
Yes, export logs should work. Check console/network tab whether you got an error or not.

@chrisleekr

Ah, it looks like the logs are too big. That is a bug.
Could you open a new issue with this bug? I will fix it up when I get time.


Use travis shareable configuration

Coverage remained the same at 100.0% when pulling ba33318d2b06f3a0b3fd0ef48eb7ce808ae69262 on Nargonath:update-travis-config into 7af8a5639bd697c8de47b0d313a4fd6d6a5fde9b on hapipal:master.


Better IDE support for custom tokens

:-1:

I'm not sure about this, too. Just an idea.
I don't like this:

I want to get auto completion etc.
Another idea: add a Symfony/CS/Resources/custom_tokens with content like this:
define('CT_ARRAY_TYPEHINT', false);
define('CT_CLASS_CONSTANT', false);
define('CT_CURLY_CLOSE', false);
// ...

So the file would not be included, it would exist for ide support only.

And in my opinion the "undefined constants" are confusing.

this is problem o your IDE, not of PHP CS Fixer.

:-1:

Never optimize code for an IDE.

Ok, then closing ;)


allow updates on episodes and articles

what it says on the package! helps us recover from broken data.

hard to fully test at the moment since frontend state is giving issues.


Add FromStr implementation for a TweakedPublicKey

This extract controversial commit from a PR #696.
Please see discussion in https://github.com/rust-bitcoin/rust-bitcoin/pull/696#discussion_r780620654

After reading @sanket1729's argument, that TweakedPublicKey is basically an intermediate type used to enforce safety of the Address API, I think I agree with him.
(weak) concept NACK

Same here. So far there's only one widely-accepted encoding of tweaked public key: a P2TR address.
But I think it'd be good to add doc comment: "Use Address to safely (de)serialize TweakedPublicKey"

Agree with the arguments, closing it.


Add a status indicator linked to the state of the PoE API

There is currently no way to know if the app is still connected to the PoE API.
The user then has no way to know if his chaos recipes are still counted in sync with his tabs.
I suggest adding a ✔ somewhere on the overlay if the connection to the API is still up.
Or a ❌ if the PoE API is down.

PR: https://github.com/exile-center/chaos-recipe-overlay/pull/7


Disable tabCoordinator when show Custom Alert

Hi. How I can disable coordinator when show custom Alert. I try to use manager

and inject with facade

This does not seem like a proper use case of Stinsen.


[Feature][NuiTree] Allow to retrieve Node linenr

Description
I want to implement a function to jump between parent nodes in a tree. To implement that function, I need to get node line number and move cursor into that node.
Example Usage

Did you check the tree:get_node method?

Sorry, I thought line_end and line_start are the attributes of NuiTree.Node and can be retrieved via methods of NuiTree.Node, so I only looked at NuiTree.Node methods.
I don't know tree:get_node also returns line_end, and line_start.
I am good to go. You can close this issue. <3


[FLINK-36610] MySQL CDC supports parsing gh-ost / pt-osc generated schema changes

This closes FLINK-36610.
GitHub's gh-ost project allows us to alter MySQL table schema without triggers. It is implemented based on a "replicate and swap" technique, which could not be correctly recognized by MySQL CDC for now, since RENAME TABLE DDL isn't supported yet. Percona's approach is essentially the same.
This PR adds basic support for table altering schema change events emitted by gh-ost and pt-osc, with generous help from @MOBIN-F.

hi, @yuxiqian pt-osc is a product with similar functions to gh-ost. I think we should also support it. I am willing to do this part of the work. Can I submit code on this PR?

@MOBIN-F Sure! Feel free to work on this PR if helpful.

Added testcases for DataStream / Table API, too.


There are underscores in the file name

And not dashes!
This fixes the workflow that removes the inactive label by calling the proper named file

.ruby-version


site search does not work https://sharp.pixelplumbing.com/

Search is not working on the website.

This is a keyword auto-suggest rather than full-blown search engine.
I'll assume you were not seriously expecting a meaningful response from "dsghfsdhdf", but was there a particular word or phrase you tried searching for that did not suggest anything where you would expect it to?

Oh, I see it only works for commands search like "tiff". I was looking for the word "text" to be able to insert a text in an image. I found the answer on Github.

The work to implement the future possible enhancement at https://github.com/lovell/sharp/issues/512 should hopefully mean the keyword "text" will then be indexed and therefore relevant result(s) displayed.


Running an integration test using E2E and Flutter Driver for testing flutter web engine

Description
Replace this paragraph with a description of what this PR is doing. If you're modifying existing behavior, describe the existing behavior, how this PR is changing it, and what motivated the change. If you're changing visual properties, consider including before/after screenshots (and runnable code snippets to reproduce them).
Related Issues
Replace this paragraph with a list of issues related to this PR from our issue database. Indicate, which of these issues are resolved or fixed by this PR. There should be at least one issue listed here.
Tests
I added the following tests:
Replace this with a list of the tests that you added as part of this PR. A change in behaviour with no test covering it
will likely get reverted accidentally sooner or later. PRs must include tests for all changed/updated/fixed behaviors. See Test Coverage.
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[ ] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[ ] I signed the CLA.
[ ] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[ ] I read the Tree Hygiene wiki page, which explains my responsibilities.
[ ] I updated/added relevant documentation (doc comments with ///).
[ ] All existing and new tests are passing.
[ ] The analyzer (flutter analyze --flutter-repo) does not report any problems on my PR.
[ ] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Did any tests fail when you ran them? Please read Handling breaking changes.

[ ] No, no existing tests failed, so this is not a breaking change.
[ ] Yes, this is a breaking change. If not, delete the remainder of this section.

[ ] I wrote a design doc: https://flutter.dev/go/template Replace this with a link to your design doc's short link
[ ] I got input from the developer relations team, specifically from: Replace with the names of who gave advice
[ ] I wrote a migration guide: Replace with a link to your migration guide

Thanks, this looks promising!
Would it make sense to do the E2E binding as a PR on the package?https://github.com/flutter/plugins/tree/master/packages/e2e
Or do you think this class should be landed in the framework repo?
The text input binding changes require some cleanup but I think those are still in progress.
The PR is to show a running demo :)

Yes I will send changes to the e2e package.

(triage) @nturgut Are you still working on this one? It has been marked as WIP, but there haven't been any updates recently.

(triage) @nturgut Are you still working on this one? It has been marked as WIP, but there haven't been any updates recently.

When I tried closing draft PRs in other cases the comments became invisible. I still want to use the comments on this PR so I am keeping this one open.
Thanks,
Nurhan

Closing the PR not to interrupt flutter triage. The code is still in discussion.


offline version

fixes #219

Codecov Report

Merging #225 into develop will decrease coverage by 0.09%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           develop     #225      +/-   ##
===========================================
- Coverage    91.76%   91.66%   -0.10%
===========================================
  Files           15       15
  Lines         1008     1008
===========================================
- Hits           925      924       -1
- Misses          83       84       +1

Impacted Files
Coverage Δ

api/models.py
93.15% <0.00%> (-0.53%)
:arrow_down:

Continue to review full report at Codecov.

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


Toaster not being added with cli: add toast

When running npx shadcn-ui add toast the <Toaster /> is not added to ../path/toaster.

I noticed this as well

Same issue

Is there any update folks?

Fixing this with the new cli. Soon!

Fixing this with the new cli. Soon!

Is toast bugged? It can be installed but it doesn't pop up.

This issue has been automatically closed because it received no activity for a while. If you think it was closed by accident, please leave a comment. Thank you.


New version: ImageMagick.ImageMagick version <IP_ADDRESS>

Created by 🥟 Dumplings in workflow run #5384.
Logs
Updated: <IP_ADDRESS> → <IP_ADDRESS>
No ReleaseTime and ReleaseNotes (en-US) for version <IP_ADDRESS>
Submitting WinGet manifests
Existing pull request found: New version: ImageMagick.ImageMagick.Q16 version <IP_ADDRESS> - https://github.com/microsoft/winget-pkgs/pull/155166
The manifests for the last version <IP_ADDRESS> will be removed

Microsoft Reviewers: Open in CodeFlow

Automatic Validation ended with:

Executable C:\Program Files\ImageMagick-7.1.1-Q16-HDRI\magick.exe returned exit code: 1

(Automated response - build 881.)


error: nixVersions.unstable has been removed. For bleeding edge (Nix master, roughly weekly updated) use nixVersions.git, otherwise use nixVersions.latest.

Describe the bug
A clear and concise description of what the bug is.
Steps To Reproduce
Steps to reproduce the behavior:

Update flake to latest nixpkgs-unstable: nix flake update
run nix flake check or nixos-rebuild switch

Expected behavior
The check should pass successfully
Additional context
My Config: https://github.com/Svenum/nix
Error:
error:
       … while checking flake output 'nixosConfigurations'

       … while checking the NixOS configuration 'nixosConfigurations.Yon'
         at /nix/store/94gag39fil45c81x34rragrb3radkhyh-source/lib/mkFlake.nix:132:7:
          131|     {
          132|       ${host.output}.${reverseDomainName} = host.builder ({
             |       ^
          133|         inherit (host) system;

       … while calling the 'head' builtin
         at /nix/store/asymc3nsl739p1wwr0w6xbjnqs3qb94p-source/lib/attrsets.nix:1575:11:
         1574|         || pred here (elemAt values 1) (head values) then
         1575|           head values
             |           ^
         1576|         else

       … while evaluating the option `system.build.toplevel':

       … while evaluating definitions from `/nix/store/asymc3nsl739p1wwr0w6xbjnqs3qb94p-source/nixos/modules/system/activation/top-level.nix':

       … while evaluating the option `assertions':

       … while evaluating definitions from `/nix/store/0qh681jvni4q65f6jmbkvyld8y8xf4k6-source/nixos/common.nix':

       … while evaluating the option `home-manager.users.sven.assertions':

       … while evaluating definitions from `/nix/store/0qh681jvni4q65f6jmbkvyld8y8xf4k6-source/modules/systemd.nix':

       … while evaluating the option `home-manager.users.sven.home.username':

       … while evaluating definitions from `/nix/store/0qh681jvni4q65f6jmbkvyld8y8xf4k6-source/nixos/common.nix':

       … while evaluating the option `users.users':

       … while evaluating definitions from `/nix/store/asymc3nsl739p1wwr0w6xbjnqs3qb94p-source/nixos/modules/services/system/nix-daemon.nix':

       … while evaluating the option `nix.nrBuildUsers':

       … while evaluating the option `nix.settings':

       … while evaluating definitions from `/nix/store/asymc3nsl739p1wwr0w6xbjnqs3qb94p-source/nixos/modules/services/system/nix-daemon.nix':

       … while evaluating the option `nix.package':

       (stack trace truncated; use '--show-trace' to show the full, detailed trace)

       error: nixVersions.unstable has been removed. For bleeding edge (Nix master, roughly weekly updated) use nixVersions.git, otherwise use nixVersions.latest.

Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.8.7, NixOS, 24.05 (Uakari), 24.05.20240427.58a1abd`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.22.0`
 - channels(root): `"nixos"`
 - nixpkgs: `/nix/store/801l7gvdz7yaibhjsxqx82sc7zkakjbq-source`

Add a :+1: reaction to issues you find important.

The error tells you exactly what you need to change - either use nixVersions.git or nixVersions.latest if you still want the unstable versions.

So I have to set this option? I dont set the option nix erosion.unstable anywhere st the moment.

where the difference is between nixVersions.git and nixVersions.latest?

That is also explained in the error.

I dont set the option nixVersions.unstable anywhere st the moment.

It's not an "option", it's a package. The option would be nix.package. Possibly some module that your config depends on sets that option for you.

That fixed it. Thanks

Should this alias be removed going forward then?
https://github.com/NixOS/nixpkgs/blob/d6f07be68220012fa56f785919b49d0da79a5852/pkgs/top-level/aliases.nix#L892


adding new mage target to dereference schemas

By running mage derefschemas this will create a new file (ex: cm-credential-manifest-deref.json) which will be the known schemas but fully dereferenced.
connected to this issue - https://github.com/TBD54566975/ssi-sdk/issues/134

@nitro-neal nice work. how can the dereferenced schemas be used in the code?
perhaps a short doc above the method describing the need and purpose? or in the README somewhere?

Added:
// DerefSchemas takes our known schemas and dereferences the schema's $ref http links to be a part of the json schema object.
// This makes our code faster when doing validation checks and allows us to not ping outside sources for schemas refs which may go down or change.
// TODO: (Neal) Currently we do not use these dereferenced schemas in code because there is more work to be done here.
// Currently these dereferenced schemas are missing some information and fail validation with our known json objects
// I believe some more work in the investigation library needs to be done and we need to handle circular dependencies
it could also be our logic to do validation is strange, it seems that these schemas + json objects with an online tool check out..


Add formatting to the CI

Use nx format to automatically format the code on each push. This will keep all formatting to separate commits to make git diffs easier to parse

This would be convenient.

Done


install error

Flutter crash report; please file at https://github.com/flutter/flutter/issues.
command
flutter doctor
exception
HttpException: HttpException: , uri = https://storage.googleapis.com/flutter_infra/flutter/52c7a1e849a170be4b2b2fe34142ca2c0a6fea1f/android-x86/artifacts.zip
#0      _attempt (package:flutter_tools/src/base/net.dart:63:39)
<asynchronous suspension>
#1      fetchUrl (package:flutter_tools/src/base/net.dart:22:36)
<asynchronous suspension>
#2      _downloadFile (package:flutter_tools/src/cache.dart:916:37)
<asynchronous suspension>
#3      CachedArtifact._downloadArchive.<anonymous closure> (package:flutter_tools/src/cache.dart:408:17)
<asynchronous suspension>
#4      CachedArtifact._withDownloadFile (package:flutter_tools/src/cache.dart:437:26)
<asynchronous suspension>
#5      CachedArtifact._downloadArchive (package:flutter_tools/src/cache.dart:404:12)
#6      CachedArtifact._downloadZipArchive (package:flutter_tools/src/cache.dart:424:12)
#7      EngineCachedArtifact.updateInner (package:flutter_tools/src/cache.dart:571:13)
<asynchronous suspension>
#8      CachedArtifact.update (package:flutter_tools/src/cache.dart:367:11)
<asynchronous suspension>
#9      Cache.updateAll (package:flutter_tools/src/cache.dart:291:26)
<asynchronous suspension>
#10     FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:543:19)
<asynchronous suspension>
#11     FlutterCommand.run.<anonymous closure> (package:flutter_tools/src/runner/flutter_command.dart:495:33)
<asynchronous suspension>
#12     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:142:29)
<asynchronous suspension>
#13     _rootRun (dart:async/zone.dart:1124:13)
#14     _CustomZone.run (dart:async/zone.dart:1021:19)
#15     _runZoned (dart:async/zone.dart:1516:10)
#16     runZoned (dart:async/zone.dart:1463:12)
#17     AppContext.run (package:flutter_tools/src/base/context.dart:141:18)
<asynchronous suspension>
#18     FlutterCommand.run (package:flutter_tools/src/runner/flutter_command.dart:486:20)
#19     CommandRunner.runCommand (package:args/command_runner.dart:196:27)
<asynchronous suspension>
#20     FlutterCommandRunner.runCommand.<anonymous closure> (package:flutter_tools/src/runner/flutter_command_runner.dart:396:21)
<asynchronous suspension>
#21     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:142:29)
<asynchronous suspension>
#22     _rootRun (dart:async/zone.dart:1124:13)
#23     _CustomZone.run (dart:async/zone.dart:1021:19)
#24     _runZoned (dart:async/zone.dart:1516:10)
#25     runZoned (dart:async/zone.dart:1463:12)
#26     AppContext.run (package:flutter_tools/src/base/context.dart:141:18)
<asynchronous suspension>
#27     FlutterCommandRunner.runCommand (package:flutter_tools/src/runner/flutter_command_runner.dart:356:19)
<asynchronous suspension>
#28     CommandRunner.run.<anonymous closure> (package:args/command_runner.dart:111:29)
#29     new Future.sync (dart:async/future.dart:224:31)
#30     CommandRunner.run (package:args/command_runner.dart:111:11)
#31     FlutterCommandRunner.run (package:flutter_tools/src/runner/flutter_command_runner.dart:242:18)
#32     run.<anonymous closure> (package:flutter_tools/runner.dart:60:20)
<asynchronous suspension>
#33     AppContext.run.<anonymous closure> (package:flutter_tools/src/base/context.dart:142:29)
<asynchronous suspension>
#34     _rootRun (dart:async/zone.dart:1124:13)
#35     _CustomZone.run (dart:async/zone.dart:1021:19)
#36     _runZoned (dart:async/zone.dart:1516:10)
#37     runZoned (dart:async/zone.dart:1463:12)
#38     AppContext.run (package:flutter_tools/src/base/context.dart:141:18)
<asynchronous suspension>
#39     runInContext (package:flutter_tools/src/context_runner.dart:50:24)
<asynchronous suspension>
#40     run (package:flutter_tools/runner.dart:51:10)
#41     main (package:flutter_tools/executable.dart:60:9)
<asynchronous suspension>
#42     main (file:///Users/zhuguifei/Documents/flutter/packages/flutter_tools/bin/flutter_tools.dart:8:3)
#43     _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:298:32)
#44     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:171:12)

flutter doctor
[✓] Flutter (Channel stable, v1.5.4-hotfix.2, on Mac OS X 10.14.5 18F132, locale
    zh-Hans)
    • Flutter version 1.5.4-hotfix.2 at /Users/zhuguifei/Documents/flutter
    • Framework revision 7a4c33425d (9 weeks ago), 2019-04-29 11:05:24 -0700
    • Engine revision 52c7a1e849
    • Dart version 2.3.0 (build 2.3.0-dev.0.5 a1668566e5)

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

[✗] iOS toolchain - develop for iOS devices
    ✗ Xcode installation is incomplete; a full installation is necessary for iOS
      development.
      Download at: https://developer.apple.com/xcode/download/
      Or install Xcode via the App Store.
      Once installed, run:
        sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
    ✗ libimobiledevice and ideviceinstaller are not installed. To install with
      Brew, run:
        brew update
        brew install --HEAD usbmuxd
        brew link usbmuxd
        brew install --HEAD libimobiledevice
        brew install ideviceinstaller
    ✗ ios-deploy not installed. To install:
        brew install ios-deploy
    ✗ Brew can be used to install tools for iOS device development.
      Download brew at https://brew.sh/.

[!] Android Studio (version 3.4)
    • Android Studio at /Applications/Android Studio.app/Contents
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
    • Java version OpenJDK Runtime Environment (build
      1.8.0_152-release-1343-b01)

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

[!] Connected device
    ! No devices available

! Doctor found issues in 5 categories.

@312353457 did you manage to solve the issue? Is it the same while using the current flutter stable v1.9.1+hotfix.2?

Without additional information, we are unfortunately not sure how to resolve this issue. We are therefore reluctantly going to close this bug for now. Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.


[SPARK-24552][SQL] Use task ID instead of attempt number for v2 writes.

What changes were proposed in this pull request?
This passes the unique task attempt id instead of attempt number to v2 data sources because attempt number is reused when stages are retried. When attempt numbers are reused, sources that track data by partition id and attempt number may incorrectly clean up data because the same attempt number can be both committed and aborted.
How was this patch tested?
Existing tests.

@cloud-fan, this is a work-around for SPARK-24552. I'm not sure the right way to fix this besides fixing the scheduler so that it doesn't use task attempt numbers twice, but I think this works.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/108/
Test PASSed.

Merged build finished. Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/3998/
Test PASSed.

Test build #91794 has started for PR 21558 at commit e9e776a.

It's a little weird to use the attempt id here anyway; the stage ID can change for a different execution of the same stage, IIRC, and that would reset the attempt id.
@squito probably remembers a lot more about this off the top of his head.

IMO your change is the right fix, not just a workaround.  I don't think its a scheduler bug (though its definitely unclear).  I'll move that discussion to the jira.
An alternative would be using context.StageAttemptNumber() and context.attemptNumber() together.

the stage ID can change for a different execution of the same stage, IIRC, and that would reset the attempt id.

hmm, the only place I could imagine that happening is with a shared shuffle dependency between jobs, which gets renumbered and then skipped, but then perhaps re-executed on a fetch-failure.  That isn't relevant here, though, since it would only be shuffle map stages, not result stages.

for a write job, the writing only happens at the last stage, so stage id doesn't matter, and data source v2 API assumes (job id, partition id, task attemp id) can uniquely define a write task, even counting the failure cases.
So the problem here is, when we retry a stage, Spark doesn't kill the tasks of the old stage and just launch tasks for the new stage. We may have running write tasks that have the same (job id, partition id, task attemp id).
One solution is, we can just use (job id, task id) to uniquely define a write task. But we may lose information like the index of this task and how many times it has been retried.
Or we can use (job id, partition id, stage attemp id, task attemp id), which is a little verbose, but has all the information.

As @squito suggested, we can either use taskAttemptId or combine stageAttemptId and taskAttemptNumber together, both shall be able to represent a unique task attempt.

So the problem here is, when we retry a stage, Spark doesn't kill the tasks of the old stage and just launch tasks for the new stage

I think that's something that should be fixed, but it wouldn't entirely fix the problem unless we were very careful about ordering in the driver: the stage would have to fail, then stop allowing commits, then wait for all of the tasks that were allowed to commit to finish, and account for the coordination messages being in flight. Not an easy problem.
I'd like to see a fix that makes the attempt number unique within a job and partition, i.e., no two tasks should have the same (job id, partition id, attempt number) triple as Wenchen said.

IMO your change is the right fix, not just a workaround

@squito, part of the problem is that the output commit coordinator -- that ensures only one attempt of a task commits -- relies on commit number to allow or deny commits. If this is the correct fix, should we also pass the TID as the attempt id to the commit coordinator?

Test build #91794 has finished for PR 21558 at commit e9e776a.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

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

sorry trying to catch up on this thread.  Are we saying this is a bug in the existing output committer as well when we have a fetch failure?

so I looked through the code and it certain appears to be a bug in the existing code (not just v2 datasource api).  If you have one stage running that gets a fetch failure, if it leaves any tasks running with attempt 0, it could conflict with the restarted stage since those tasks would all start with attempt 0 as well.  When I say it could it means it would be a race if they go to commit at about the same time.   Its probably more of an issue if one commits, then starts the job commit and the other task starts to then commit its, you could end up with incomplete/corrupt file.  We should see the warning "Authorizing duplicate request to commit" in the logs though if this occurs.
@rdblue does this match what you are seeing?

If you have one stage running that gets a fetch failure, if it leaves any tasks running

I took a look at the output coordinator code and, depending on how the scheduler behaves, it might be ok.
The coordinator will deny commits for finished stages; so it depends on the order of things. If the failed attempt is marked as "failed" before the next attempt starts, then it's ok, even if tasks for the failed attempt are still running. Looking at the code handling FetchFailed failures in DAGScheduler, that seems to be the case.

Actually, scratch that, there is really a problem. The output committer only checks the stage ID, not the stage attempt ID, so it will still allow tasks from the failed attempt to commit...

yeah that is the code that I was still looking at to verify if it can actually happen. on a fetch failure the dag scheduler removes the stage from the ouput committer, but when the new stage attempt starts it just puts the stage back with the stage id (not attempt id).

I guess https://issues.apache.org/jira/browse/SPARK-24492 is potentially cause by the output committer issue ?

I'm not sure, but I'm starting to think the part of the fix for SPARK-18113 that added the "Authorizing duplicate request..." stuff should be removed.
The rest of that change replaces askWithRetry in the RPC calls with ask, so now there will only be one request per task. So there's no need to handle duplicate requests that way, because the only time you'd have a duplicate is when this situation happens (same task attempt number running concurrently on two stage attempts).

(Or, alternatively, the output committer could track task IDs instead of attempt numbers. That should result in the same behavior but haven't really looked at that.)

I started with some ideas in #21577 ; I haven't tested that PR aside from the modified unit test, but I think it's in the right direction. I plan to work more on it Monday, but leaving it there in case people are around over the weekend and want to comment.

@tgravescs, that's exactly what we're seeing. I think it might just be misleading to have a stage-local attempt ID although it is more friendly for users and matches what MR does.
@jiangxb1987, we see SPARK-24492 occasionally (it has gotten better with later fixes to the coordinator) and haven't tracked down the cause yet. If this were the underlying cause that would be great, but I'm not sure how it could be the cause. If the same attempt number is reused, then two tasks in different stage attempts may both be authorized to commit.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/4182/
Test PASSed.

Test build #92043 has started for PR 21558 at commit 6c60d14.

I'm fine with this; my PR should fix the underlying issue but this still seems like a good idea to me.

But note that the task ID is also not necessarily unique (since you can have multiple attempts of the same task). So perhaps you should consider Imran's suggestion or mixing stage and task attempt numbers.

@vanzin, the ID that this uses is the TID, which I thought was always unique. It appears to be a one-up counter. Also, I noted on your PR that both are needed because even if we only commit one of the attempts, the writers may use this ID to track and clean up data.

Test build #92043 has finished for PR 21558 at commit 6c60d14.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

Retest this please.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/4189/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/295/
Test PASSed.

Test build #92050 has started for PR 21558 at commit 6c60d14.

the ID that this uses is the TID, which I thought was always unique. It appears to be a one-up counter

If that's the case, and a different attempt for the same partition will get a different task ID, that's fine. I was under the impression it would have the same task ID.

Yes, I just checked and speculative attempts do get a different TID. Just turn on speculation, run a large stage, and sort tasks in a stage by TID. There aren't duplicates.

Actually I didn't mean speculation but something like this:
sc.parallelize(1 to 10).foreach { i => if (TaskContext.get().attemptNumber() == 0) throw new Exception("Fail") else println(i) }

Anyway I ran that and the behavior is the same (different attempt = different task ID) so it's all good.

Test build #92050 has finished for PR 21558 at commit 6c60d14.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

Correct TaskId is unique.  I agree with @squito  can we rename to tid.
Hmm, good point @rdblue we need to make sure the output directories/files and such would be unique.  That problem may actually exist in the current committers as well, will comment on the other pr

@rdblue  would you want to update for v1 and hadoop committers?  it should be very simialr to this change but in: createTaskAttemptContext should take the actual task attempt id (type Long) instead of the attempt number as an argument.
I would need to look at the v1 writers to make sure there is nothing else, but perhaps you are more familiar with them.
If not we can split that into a separate jira

ping @rdblue ^ .  If I don't hear tomorrow, will file separate jira.

Ah ok, was looking at my own version as well.  There are other things we should update for v2 as well, other functions with the variable names, description in DataWriterFactory.java, etc.

If you are working on this, I'll merge the other one and wait for you and continue to investigate in parallel

See link above for the updated PR.

@vanzin, thanks for working on this. I was out most of this week at a conference and I'm still on just half time, which is why I was delayed. Sorry to leave you all waiting. I'll make comments on your PR.


Pandas doesn't work paralell

Hi,
Pandas dataframe seems to work in a single thread (defaults). Is it sth specific to Python 3.7?
Redis server is not avalable under givend URL.
Regrds,
Rafal
System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu 18.04.1 LTS as Virtualbox Windows 10 guest
Modin installed from (source or binary): pip install modin, pip install setproctitle
Modin version: 0.2.5
Python version: 3.7
Exact command to reproduce:

import modin.pandas as pd
import numpy as np
frame_data = np.random.randint(0, 100, size=(2**10, 2**8))
df = pd.DataFrame(frame_data)
Process STDOUT and STDERR is being redirected to /tmp/ray/session_2019-01-04_20-09-46_4335/logs. Waiting for redis server at <IP_ADDRESS>:53534 to respond... Waiting for redis server at <IP_ADDRESS>:59945 to respond... Starting the Plasma object store with 3.3455915 GB memory using /dev/shm.
df
df.to_csv('ddd.csv')
/home/rafal/anaconda3/lib/python3.7/site-packages/modin/pandas/dataframe.py:3964: UserWarning: Defaulting to Pandas implementation   warnings.warn("Defaulting to Pandas implementation", UserWarning)

Hi @rd5802,
Some operations are always single-threaded because we default to the pandas implementation (see documentation). df.to_csv(...) is one of these operations because parallel writes to a single file are not easy to coordinate.
Are there other operations you are having problems with? I am in the process of doing a performance tuning round of improvements, so if you have anything you would like me to look into, please let me know.

To get to your point about Python 3.7, no there are no specific defaults for 3.7 over 3.6.
If your question is regarding the pd.DataFrame(frame_data) part of your code, see this question/answer (#232)

Closing this. Feel free to reopen if the discussion should continue or if issue was not resolved.