Avoid unmounting and loading the display of cells when returning to the page containing the canvas

问题描述 (Description of issue)
When I navigate to another page from the page containing the canvas, and come back to it, the loading of the cells starts again from zero, which was not the case on the previous version of AntV X6 V1.
重现步骤 (Reproduction steps)

Wait for the canvas to load with all its cells
Exit the page containing the canvas
Return to it

预期行为 (Expected)
The canvas must be displayed entirely with all its cells without reloading/unmounting
平台 (Stacks)

@antv/x6: 2.2.1
@antv/x6-react-shape: 2.1.0
antd: 4.23.6
react: 18.2.0
react-router: 5.1.2
react-router-dom: 5.1.2
node: 16
npm: 8.5.0

补充说明（可选）Additional notes (optional)
...
const graphConfig: Graph.Options = {
  autoResize: true,
  background: { color: '#E2F1FF' },
  connecting: {
    allowBlank: false,
    allowEdge: false,
    allowLoop: false,
    allowMulti: false,
    allowNode: true,
    allowPort: true,
    connector: { name: 'rounded', args: { radius: 4 } },
    router: { name: 'manhattan' },
    validateEdge: ({ edge }: { edge: Edge }) => {
      const isSourceCommentNode: boolean = edge.getSourceCell().getData().action === 'comment';
      const isTargetCommentNode: boolean = edge.getTargetCell().getData().action === 'comment';

      return !isTargetCommentNode && !isSourceCommentNode;
    },
  },
  grid: {
    args: { thickness: 2 },
    size: 20,
    visible: true,
  },
  onPortRendered: ({
    node,
    contentSelectors: selectors,
  }: {
    node: Node,
    contentSelectors: Markup.Selectors,
  }) => {
    const container = selectors && selectors.foContent;
    const nodeData = node.getData();
    let className: string = 'connect';
    if (['hook', 'module'].includes(nodeData.action) || nodeData.id === 'origin') {
      className = 'white-connect';
    }
    if (container && nodeData.action !== 'comment') {
      const root = createRoot(container);
      root.render(
);
    }
  },
  mousewheel: true,
  panning: true,
};

...
register({
  shape: "custom-node",
  effect: ['data', 'meta'],
  component: NodeShape,
});

const Canvas = () => {
  const [graphRef, setGraphRef] = useState<Graph>(null);
  ...
  useEffect(() => {
    const newGraphRef: Graph = getGraphConfig(canvasRef, document, statsCheckpoints);
    setGraphRef(newGraphRef);
  }, []);
  ...
  return

}

Is the new Graph(...) executed again when you return to the page?

Yes, the Canvas is into a page and new Graph(...) is executed in useEffect during mounting

If the canvas is re-initialized, the node data cannot be reused.You don't need a new Graph(...).


Import-Excel reads null values with PowerShell 7.4.0

Has anyone tested Import-Excel with the latest version of PowerShell 7.4.0? I just updated and when working with existing scripts every value returned is null. I tested using the example located here and it returns a measure count of zero. Can anyone try the example and see if they get different results? Here's the code I used (Excel file is located in Github examples).
$xlfile = "C:\no_backup\yearlySales.xlsx"
$result = Import-Excel -Path $xlfile -WorksheetName * -Raw
Write-Host $result.Count
$result | Measure-Object

I have 7.4 preview at the moment. Looks ok. Maybe 7.4 GA has an issue

FYI - rebooting didn't fix the issue, not that I expected it would. Also note that my $r.count command does show 1200 records, but the Measure-Object command shows zero because each row is null/empty.

I can’t repro. So don’t know

Working on some other code I bet it is related to this issue https://github.com/PowerShell/PowerShell/issues/20757 which I will try to test.

I did a test and if I insert $ExecutionContext.SessionState.LanguageMode = 'FullLanguage' into the top of the function it works again. I assume this is a setting change from my organization and not a result of the new version of PowerShell so I will close the issue.


About the log formatter

I initialized my logger base on logrus like this:
func NewLogger(projectName string) *logger_logrus {
	innerLogger := logrus.New()
	innerLogger.Formatter = &logrus.TextFormatter{FullTimestamp: true}
	innerLogger.Level = logrus.DebugLevel
	return &logger_logrus{projectName: projectName, inner: innerLogger}
}

I used it then ran my server:
# myserver 2>&1
INFO[2015-09-01T18:00:39+08:00] [main.main | myserver.go:60]: Start front server with address ':8080'...

It works the way I want.
But, it seems to be what went wrong when I ran it like this:
# myserver 2>&1 | tee a.log
time="2015-09-01T18:00:42+08:00" level=info msg="[main.main | myserver.go:60]: Start front server with address ':8080'..."

The log formatter is wrong. Any suggestion? Thanks.

:+1: I'm seeing the same issue when I create my own formatter.

@hyper-carrot the TextFormatter detects if the output is an interactive console. If it is, the formatting is made to be colored and pleasantly looking. If it's not an interactive console, then the formatting follows the logfmt format.
When you redirect stderr to stdout, and then pipe stdout to a another process, TextFormatter detects that the output is not an interactive console and prints in logfmt. From the point of view of your app, the stdout -> stdin pipe that ends in process tee is not the interactive console that tee sees as its stdout/stderr, which is why although you get the output in your terminal, the logs are in logfmt shape.
Hope this explains =]

@aybabtme Yes, thanks a lot!
How can I resolve it?

@hyper-carrot I'm not sure what your goal here is? You want tee to print colors? What's your end goal, if you zoom out?

@aybabtme I only want to look the log with text format (NOT JSON format).

If I were you, I'd embrace logfmt or JSON formatting, they're very convenient formats to log in. They're easy to parse and search. If you want to make them more visually appealing, you can use tools like my humanlog:
# go get github.com/aybabtme/humanlog/...
# myserver 2>&1 | tee a.log | humanlog

@aybabtme Great! I see, thank you for your patience to answer. :+1:


add possibility to start app with npm start and add some security in case of twitch channel is not informed

Great! @jpiazzal You are a legend!


cmd/trace: trace.Logf messages missing from timeline

In the new execution tracer, cmd/trace is missing handling of trace.Logf messages and thus simply omits them from the timeline.
cc @mknyszek

Can I work on this? @prattmic

Thanks for offering! I would normally say I'd love your help, but since this is a regression, it should probably be a release blocker for 1.22 (I forgot to mark that this morning) and thus fixed ASAP. Thus it is probably best for either myself or @mknyszek to take.

Reopening to track the fix landing on release-branch.go1.22. I commented on the CL.

Done by submitting the cherrypick CL.


Auto refresh too quick for long download lists

I have about 30 torrents going. I'm unable to scroll more than 25% of the way through the list before the auto refresh happens, and takes me right back up to the top of the list. To over come this, I think a scroll should reset the refresh timer. I think that should be easy to do with JS.
Love the extension otherwise.

Thanks for using Transmitter!
Haven't even tried long lists, honestly. Does it also reset the scroll position after you stop scrolling, if you stop scrolling before a refresh happens? I probably should save/restore the scroll position to prevent that. Actually I should use data binding so that the elements get updated, not recreated from scratch every time. I wanted to have "no dependencies" but oh well :D

When I scroll down, it will stop where I scrolled to for a split second, then jump back up to the top. It might not even be caused by the auto refresh.

So it turns out, just reusing existing elements didn't help… any text modification results in a reflow and scroll jump in an extension popup. Solved by using a scrollable container instead of scrolling the whole window :) I'll publish a release soon.

The new version has been already approved by addons.mozilla.org!


Looks like Node "GroupByCluster" doesn't work properly

Looks like Node "GroupByCluster" doesn't work properly
Works only with the first ClushTest (see the picture )
After using this test navisworks just freeze

Fixed in a27a15bf


quilt parsing

Opening up for review. This extends cl-quil with support for quilt instructions.
Since this is such a big PR, I'll briefly comment on the changes.

Add AST objects for new quilt instructions and primitives (e.g. frames, waveforms)
Extend parser.lisp to support quilt (this includes a few minor quality of life improvements as well)
Refactor the high level behavior of parse-quil. Here we process includes for a list of "raw" quil instructions, then parse to an "unresolved program", and then resolve objects.
When converting raw quil to an unresolved program, we check and handle ambiguous definitions.
Object resolution (previously application resolution) now includes things like frames and waveforms, which must have their definitions resolved.
expand-calibrations is a new pass which uses much of the circuit expansion machinery (which has been moved to expansion.lisp). The behavior here is to produce simple quilt with all gate applications, measurements, etc resolved.
The type-check pass has been extended to verify memory references in CAPTURE and RAW-CAPTURE
An additional pass, fill-delays, can turn a quilt program with "empty" time intervals and return a program with an entire block of time accounted for (via additional DELAY instructions). Some of the machinery in here is written to also be useful for the pulse tracing qvm.

Anticipated remaining work:

the primary language feature that is left unaddressed here is how to support affine transformations of waveforms (or the equivalent, so that one can CAPTURE on a "projected" iq value). This will be a separate PR.
quilc app may need some additional work on error reporting (e.g. a nice message if unexpected quilt instructions show up)

Closing until I have addressed feedback, made changes, and tested them adequately.


Adding no_rocm_v2 tag to tests that fail when run with TF2_BEHAVIOUR=1

jenkins: retest rocm-xla please

Merging this PR before rocm-xla CI results are in because

this PR does not change either code or tests that are related to XLA
AND
the sole failure in rocm-xla in the previous run was the //tensorflow/compiler/xla/tests:tuple_test_gpu which is known to fail intermitently

previous run : http://ml-ci.amd.com:21096/job/tensorflow-upstream-unit-tests-rocm-xla/685/

I want to get a clean run for nightly v2 run on develop-upstream branch tonight, and hence the urgency. Once I get a clean run, there I intend to update all the v2 CI tasks to set the required env var.


Is this project still alive?

It seems https://huyngo.me/html/index.html is 404ing.

we had a demo in https://www.opmw.org/demo/html/index.html#, but the endpoints seem to be down.
This page is not maintained at the moment


data object needed for HOST_GROUP_ID

Problem
In some modules I need to reference to a HOST_GROUP_ID. In Some other I can switch to HOST_GROUP_NAME.
here my example:
resource "dynatrace_service_naming" "kubernetes" {
  name    = "tf-k8s-${local.identifier}"
  enabled = true
  format  = "{ProcessGroup:KubernetesContainerName}-{HostGroup:Name}"
  conditions {
    condition {
      entity {
        # negate = false
        operator = "EQUALS"
        value    = "HOST_GROUP-1234556"
      }
      key {
        type      = "STATIC"
        attribute = "HOST_GROUP_ID"
      }
    }
    condition {
      process_metadata {
        attribute   = "PROCESS_GROUP_PREDEFINED_METADATA"
        dynamic_key = "KUBERNETES_CONTAINER_NAME"
      }
      string {
        # case_sensitive = false
        # negate         = false
        operator         = "EXISTS"
      }
    }
  }
}

The problem is that at the moment it is not possible to get the HOST_GROUP_ID.
Solution A
It would be great to have a data module which can be used to read HOST_GROUP_ID by name.
Solution B
Or alternative extend dynatrace_service_naming and other modules to use HOST_GROUP_NAME, an example for this would be dynatrace_management_zone_v2

Hi @StevenCane,
Is this what you're looking for?
data "dynatrace_entity" "my-host-group" {
    entity_selector = "type(HOST_GROUP),entityName(<YOURHOSTGROUPNAME>)"
}

resource "dynatrace_service_naming" "kubernetes" {
  ...
  conditions {
    condition {
      entity {
        operator = "EQUALS"
        value    = data.dynatrace_entity.my-host-group.id
      }
      key {
        type      = "STATIC"
        attribute = "HOST_GROUP_ID"
      }
    }
  ...
  }
}

That seems to be exactly what I'm looking for, thank u @Dynatrace-Reinhard-Pilz


parameterize PauliGate()

What should we add?
Would be useful to be able to initialize PauliGate() with a Parameter, which can later be bound to specify whether the PauliGate is I, X, Z, or Y. Multiqubit Paulis could be nice too.
For example, a parameterized PauliGate would facilitate building circuits with random/variable Paulis where one may need to generate a large number of circuit instances that are expensive to transpile individually.
Since Parameters are typically bound to numeric values rather than strings, we could define the gate so that binding to [0, 1, 2, 3] produces the gate [I, X, Y, Z] respectively. Or we could do symplectic ordering corresponding to [00, 01, 10, 11] if that's better. Alternatively a Parameter could stand in for each of the bits in the x and y tables, but to me that seems like a lot of Parameters. If it's not too non-standard, we could handle multiqubit paulis by a ParameterVector where each element is bound to one of [0, 1, 2, 3]. I'm not aware of anywhere else a Parameter is expected to take only discrete values, but hopefully that's not a problem (?).
Currently you can partly work around this limitation by using a u gate (U3 gate) and/or series of p and sx gates, where the p gates can be parameterized. However, this 1) is not hardware efficient as it requires 2 sx pulses instead of 1 x pulse (or sometimes 0 x pulses).  And 2) the p gates are not compatible with the stabilizer simulator method.

We can't realistically support this as the problem is stated, sorry, and definitely not through the Parameter model of computation.  Parameter stands in for a floating-point value (sometimes it's complex, but even those cases are buggy), and trying to fit in an integer-like parameter or some other discrete form would play havoc in handling it across the project.
I also don't entirely see how this helps your initial problem.  The transpiler can't reason about or synthesise a gate unless it's known, which means that parameterising PauliGate wouldn't really solve the problem - you'd still have to fix the parameters before the call to transpile.
I do see the underlying value, though.  Right now, I think this sort of issue is closest to on-going work on delayed synthesis of higher-order objects, which is being worked on by @ShellyGarion, @alexanderivrii and @eliarbel (as best I know).  I don't know what those guys have planned, but perhaps this fits into that scheme in some way?
On a longer-term note, it fits into the idea of partial transpilation and isolating separate transpilation units out of a circuit to reduce the cost in algorithms with subroutines, or other common re-used components.  That's definitely on the roadmap, but it's a very complex beast and we don't want to rush into partial support before having a more complete plan.

Thanks for the explanation. Sounds like my suggestion is probably not the way to go then, and the use-case is eventually on the road map, so I'll close this issue for now.
I didn’t totally understand your comment that the Pauli couldn’t remain parameterized during the transpile (probably because I’m ignorant of how Parameters work under the hood). In case I missed anything, or if it’s of any use as a reference, here's a doodle to clarify the use case I have in mind, since I do think it would be nice to have in some form once there's a feasible technical path. Thanks

To explain a little more with the current state: there are a few parts of the transpilation process, and while "unknown Pauli gate" will work with one or two early stages, it will quickly fail after that.  The rough pipeline is:

synthesise many-qubit gates down to 1q or 2q
lay out problem onto physical qubits
route gates onto physical qubits
translate all gates to machine basis
optimisation loop
(optional) schedule gates at correct times

For hardware backends, we can work with an object that gets us to "unknown Pauli gates on 1q" through the first three stages, but we break down at step 4 - we can't translate something that's effectively an unknown gate into the machine basis.  It is possible in theory to teach Aer to handle a string parameter (and have PauliGate in Aer's basis set), but Terra's not really set up to represent things like that at the moment.  That's where some work on higher-order synthesis is coming in, though.
Another thing coming fairly shortly is better handling of general classical parameters in Terra and Aer, and classical control flow.  It will hopefully be possible within the next couple of Terra releases to have a structure that looks like
OPENQASM 3.0;

input uint[2] pauli_type;
if (pauli_type == 1) {
    x $0;
} else if (pauli_type == 2) {
    y $0;
} else if (pauli_type == 3) {
    z $0;
}

pass through the Terra transpiler, and be simulated by Aer (for running on backends, the unknown bit is the interface for how to pass values).  We'll be building from there, but this idea of representing classical types and passing values as circuit inputs is definitely on the roadmap.

The parameterised U gate only works with the basis translator, and we can only define rules for the basis translator for fixed number of parameters (so you can't add a general rule that will work with all parameterisations).  It's technically possible using a similar strategy to what Chris did above, which I hadn't thought of before.  I still don't think that using Parameter with discrete (including integer) values is a sustainable way forwards for Terra, though (which was always my issue here).  I would point out that Chris' method won't solve your problem of not having them supported by stabilizer simulators.
Within Terra, there are already some places which try to hackily use Parameter with complex values, and those have caused us several bugs already.  Parameter doesn't have any typing information available to it, and there are too many assumptions throughout the library that these parameters always represent floating-point values.  I wouldn't be willing to accept code to Terra that tries to put other types into Parameter (I probably wouldn't have accepted the complex-valued Parameter stuff in its current form either).  If Chris' solution works for you, it's perfectly ok for you to do it with a custom gate, without that being in Terra, just bear in mind that Parameter makes no guarantees about its ability to losslessly work with integer values.
I'd also be cautious about adding the equivalence rules Chris suggests above to our internal equivalence libraries - while SessionEquivalenceLibrary does say it in its docstring that the edges are directed, in practice, all the rules in the library are actually bi-directional.  We don't use that information yet (which is why the docstring says they're directed), but I'd be cautious about breaking that without a very strong reason to.
I don't think you need Parameter to achieve what you want, though.  You can have your own custom StandinPauliGate class that contains whatever state you like, such as
class StandinPauliGate(Gate):
    def __init__(self, state):
        super().__init__("standin_pauli", n_qubits)
        self.state = state

and then just add these to the circuit normally.  When you do your first transpile, just make sure that standin_pauli is in the basis_gates (or the BackendV2-ish Target), and it'll get passed through untouched.  You can then write a simple transpiler pass yourself that runs through the DAG (after the circuit has been transpiled), and replaces all your StandinPauliGate instances with whatever you like (including PauliGate), using whatever logic you like.  It gives you way more flexibility, and this sort of thing is absolutely supported within Terra.
I mentioned above what longer-term strategies are for this.  It's also kind of similar to the problem of classically compiling a program against a library that's dynamically loaded in at run-time, in the sense of you have a main "runner" program you want to compile, and within that to be able to swap out certain blocks without needing re-compilation.  The case you describe at the top is a simple subset of this, but for Terra core, we can't maintain hundreds of special cases, we need a nice general way of doing relocatable subroutines (in terms of the register allocations) for everything.  This is something we're working on, though it's complex and we have problems to solve on the way to it.  In the meantime, I think custom transpiler passes when you want to extend the behaviour of the transpiler (as here) are the right way to go.  Those don't need to be in Terra core - it's completely fine for them to be in external libraries.

I have a version of this working now with equivalence library, which requires a single-qubit Pauli gate that you use to register different decompositions, and then an n-qubit gate with a definition in terms of the single-qubit pauli gates, that works with symbolic gates going through transpiler optimizations, and non-symbolic gates going to regular Pauli gates for stabilizer simulation. I'm not planning on making a PR for this to terra though, just using it in my project that needs it.


fix(extension): sidekick not showing on new docs

Fix #209

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


Run install-colo-loco via npx

Please verify the following:

[☑] yarn ci:test jest tests pass with new tests, if relevant
[☑] README.md has been updated with your changes, if relevant

Describe your PR
It's been reported that some users are stuck on install-colo-loco while creating a new app, however, I was only be able to recreate it when omitting --defaults flag but that's just an intended hang for waiting a user input. I assume it's the package managers so let's run it via npx for now. (Investigation is still in progress)

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Missing unique constraint on table

I'm using DBeaver 4.2.0 and postgres 9.6.2.
When I view the Unique Keys folder for a table that has a unique constraint on multiple columns, the unique constraint is not listed. All I see is my primary key. When I view the same table in pgAdmin I am able to see both constraints.

I just verified that I am also not seeing the unique constraint on a single column in another one of my tables. Still just the primary key is shown.

Please make sure you are using correct PostgreSQL driver (not Generic, see  #2069).

Switching to the non-Generic postgresql driver solved this issue. Thanks!


Update tcs-troubleshooting-failed-access-tax-service.md

change tag for search

Close this PR as we have merged the change in the private repo PR#4061.


Support for livereload like grunt-contrib-watch?

Your plugin is the solution for all vagrant users. But it lacks the livereload feature, which is builtin in grunt-contrib-watch. Any plans to support it?

no, truly sorry but i'm not using it by myself
i would be happy for pull requests!


Create Copy for Import Modal

The Copy on the Import existing resources modal needs to be determined and created
Additional context

Updated copy after reviewing with @zxyanliu

Learn more link : https://aka.ms/composer-publish-bot#import-existing-azure-resources

Updated copy/ typos.


Defaulting convert_ucsc_contig_names to True for consistency with past behavior

👍 once tests pass

coverage: 88.33% (-6.4%) from 94.753%
when pulling f07a8e245365186998a6add142ffa89d7212c4e4 on default-ucsc-contig-rename-true
into ef6249c6e696e33cdcbbf6e391b191abf43514fa on main.

@julia326 Noting that coveralls probably needs to be configured for parallel jobs but still merging this


Add retry support to sparse registries

Sparse (HTTP) registries currently do not respect Cargo's retry policy for http requests.
This change makes sparse registries use the same retry system as package downloads.

r? @epage
(rust-highfive has picked a reviewer for you, use r? to override)

r? @Eh2406

:umbrella: The latest upstream changes (presumably #11068) made this pull request unmergeable. Please resolve the merge conflicts.

Had some time to look this over and it looks good to me. Ed has some good questions about nomenclature. Is there some way we can add tests? Perhaps a setup like #11062 where the server takes a few tries to give a 200.

I pulled in the test framework changes from #11062 and added a test.

@bors r+

:pushpin: Commit dcc512b31746cc10a012aae6ad47eada14ed6b06 has been approved by Eh2406
It is now in the queue for this repository.

:hourglass: Testing commit dcc512b31746cc10a012aae6ad47eada14ed6b06 with merge d1a2592265787164f1daec9d6d92a85ed306fbdb...

:sunny: Test successful - checks-actions
Approved by: Eh2406
Pushing d1a2592265787164f1daec9d6d92a85ed306fbdb to master...


Add --pwd flag to singularity command line string

The --pwd flag changes the initial working directory inside the container. Here I outline why I think it would be a good idea to include it:
I have a biobb workflow running biobb of pydock3 (These are not yet shared but I will do it at some point). pydock3 is run from a singularity container. The issue here is that pydock3 makes assumptions regarding where to find each input/output file with respect to the working directory. Thus in the biobb_pydock module I wrote, the --pwd flag is used to fix the working directory inside the container and avoid errors inside the container (I can explain in more detail if needed).
I was using a modified version of biobb_common in which I added the --pwd option in biobb_object.py -> BiobbObject -> create_cmd_line:
        if self.container_working_dir:
            singularity_cmd.append('--pwd')
            singularity_cmd.append(self.container_working_dir)

For now I will keep using the modified environment to run the workflow but it would be nice if the singularity execution could include this option as well (I think container_working_dir is already used with docker)

I think that adding:
        if self.container_working_dir:
            singularity_cmd.append("--pwd")
            singularity_cmd.append(self.container_working_dir)

To line 293 of biobb_common.py would do the trick :)


Adding Permissions for Worker REST API

Let's not have repeated code, IsOwnerOrReadOnly can go to a shared module which will be used by any viewset, here we keep only worker related permissions :)


High CPU usage when using WASAPI

I have the following test code
using System;
using System.Diagnostics;
using System.Windows;
using System.Windows.Controls;

namespace NAudioTest
{
  public partial class MainWindow : Window
  {
    SineBuffer _Buffer = new SineBuffer();
    NAudio.Wave.IWavePlayer _Player;

    public MainWindow()
    {
      InitializeComponent();
      Closed += (s, e) => { if (_Player != null) _Player.Stop(); };
    }

    private void ToggleButton_Checked_1(object sender, RoutedEventArgs e)
    {
      if (_API.SelectedItem is ComboBoxItem)
      {
        _Player = null;
        var sel = (_API.SelectedItem as ComboBoxItem).Content as string;
        if (sel == "WASAPI") _Player = new NAudio.Wave.WasapiOut(NAudio.CoreAudioApi.AudioClientShareMode.Shared, 300);
        else if (sel == "WavOut") _Player = new NAudio.Wave.WaveOut();
        else if (sel == "DirectSound") _Player = new NAudio.Wave.DirectSoundOut();
        if (_Player != null)
        {
          _Player.Init(_Buffer);
          _Player.Play();
        }
      }
    }

    private void ToggleButton_Unchecked_1(object sender, RoutedEventArgs e)
    {
      if (_Player != null) _Player.Stop();
    }

    class SineBuffer : NAudio.Wave.IWaveProvider
    {
      NAudio.Wave.WaveFormat _Format = new NAudio.Wave.WaveFormat(48000, 16, 2);
      double _Phase = 0;
      Stopwatch sw = new Stopwatch();
      long start = 0;
      long end = 0;
      public SineBuffer()
      {
        sw.Start();
      }

      unsafe int NAudio.Wave.IWaveProvider.Read(byte[] buffer, int offset, int count)
      {
        start = end;
        end = sw.ElapsedMilliseconds;
        Console.WriteLine("{0} read {1} samples", end - start, count);
        fixed (byte* b = buffer)
        {
          short* i = (short*)b;
          double freq = 2 * Math.PI * 440.0 / 48000.0;
          int frameCount = count / (_Format.BitsPerSample / 8 * _Format.Channels);
          for (int ix = 0; ix < frameCount; ix++)
          {
            *i++ = (short)(Math.Sin(_Phase) * (1 << 14));
            *i++ = (short)(Math.Sin(_Phase) * (1 << 14));
            _Phase += freq;
          }
        }
        return count;
      }

      public NAudio.Wave.WaveFormat WaveFormat
      {
        get { return _Format; }
      }
    }
  }
}

When I run in WASAPI mode I am seeing high CPU usage. I'm pretty sure it's related to the Buffer::Read callback frequency. Even though my latency is set to 300ms I'm getting a callback every 10 ms for 1920 samples ( 480 * 2 * 2 ). The NAudioDemo example does not have this issue. Is there something I'm doing wrong in my implementation of IWaveProvider? Is there a way to regulate the callback so I don't get 100 callbacks per second?

I got same problem, try with
new NAudio.Wave.WasapiOut(NAudio.CoreAudioApi.AudioClientShareMode.Shared, false, 300);
this disable EventSync:
uses Thread.Sleep(latencyMilliseconds / 2);
instead WaitHandle.WaitAny
https://github.com/naudio/NAudio/blob/master/NAudio/Wave/WaveOutputs/WasapiOut.cs#L124

Thanks, that worked for me.


Simplify report payload creation by putting it in one place

Add a serializableValue-type method to crash reports to create the required payload without exposing fields unnecessarily or spreading out the logic of the internal structure. In addition, split up and add more tests for fields within the payload and format the changed files in LLVM style.
This is most easily verifiable by running the tests for the commits individually, as the suite passes before and after the serialization change.

This LGTM - looks like mostly this was a reorg and the tests in this area do give me confidence as well


Added my own two tools

Added the following
--> YA-LFI: Fast LFI scanner
--> YA-CORS: Fast CORS misconfig scanner

Many thanks!


Allow typography tokens & typography styles to persist from a source set, when switching themes

Is your feature request related to a problem? Please describe.
I don't think it is a problem, however, it seems color tokens and their related color style have this feature.
Describe the solution you'd like
When using a source set within tokens, it would be helpful if the created typography styles would persist when switching themes.
Describe alternatives you've considered
Having the same typography tokens in all themes, however, I would have to update the typography tokens in each theme individually if I wish to make changes.
Additional context
I currently have a global token set containing my typography tokens, global color tokens, sizing, spacing, etc. I have a light theme and a dark theme that sources the global set and uses semantic naming for my color tokens. My typography tokens are only in the global set as a source, with no semantic naming because it is necessary for me. For ease of use, I created Figma typography styles from the typography tokens in the global set. However, whenever I switch between my light and dark theme in figma tokens, the typography styles I created "detach". It would be great if these created typography styles persisted when I switch themes.
Note: By created typography styles, I mean I created typography styles from the global set within Figma tokens.
If there is a workaround or a different way to go about this that could help, let me know. Thanks! I love using this tool.

We should be able to fix these two issues by resolving the following:

https://github.com/tokens-studio/figma-plugin/issues/1515
https://github.com/tokens-studio/figma-plugin/issues/1545

we'll hopefully get to those soon.


wayprompt: init at 0.1.2

Description of changes

https://git.sr.ht/~leon_plickat/wayprompt
This supersedes the effort of #193071 and put wayprompt into nixpkgs from nixpkgs-wayland
Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

Hash mismatch, remember to check CI

Hash mismatch, remember to check CI

Fixed, tx.


SVD on GPU: complex values, interface cleanup (Discussion)

Hi,
pull request #11878 brought an implementation of the SVD on the GPU. But at the moment, only real values are supported.
The current status when applying the SVD (M=USV') on a complex matrix M:

The python interface declares U,V as complex, S as real
The C++ kernel definition declares both U,V and S as complex
(This simplified the CPU implementation using Eigen)
The python code then immediately casts S to the reals
The GPU solver (cuSolver) would, however, output the singular values directly as reals

This leads to the following questions / ideas / suggestions
(credit goes also to @rmlarsen for discussion this the first time with me)

Change the kernel definition: Add a new kernel (V2 suffix) that returns S as a real type
Implement the complex support on GPUs
Adopt the CPU code to also use the new kernel definition
OR
Keep both definitions and let the python wrapper to choose between the two versions based on the target device (CPU vs GPU)
...?

What do you think?

It has been 14 days with no activity and this issue has an assignee.Please update the label and/or status accordingly.

Nagging Assignee: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @rmlarsen: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @rmlarsen: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @rmlarsen: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @rmlarsen: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @rmlarsen: It has been 259 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @rmlarsen: It has been 274 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @rmlarsen: It has been 289 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @rmlarsen: It has been 304 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @rmlarsen: It has been 319 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @rmlarsen: It has been 334 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @rmlarsen: It has been 349 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @rmlarsen: It has been 364 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @rmlarsen: It has been 379 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Automatically closing due to lack of recent activity. Please update the issue when new information becomes available, and we will reopen the issue. Thanks!

It would be great to have this available - it would be very handy for quantum physics applications! Any news?

@shamanDevel Any chance of reopening this?


Support for Full URL and Wildcards

Hi,
This seems to work only with relative URLs.  Can you please extend the functionality to support full-length URLs as well?  We need the solution for below use cases:
1. Sub-string match
Input URL: www.amazo.com/xyz/dp/B00UIIDP06/ref=sr_1_1_sspa?s=photo
Matcher: routeMatcher("/dp/:asin/:extra");
Results: null, it doesn't work because it is expecting the input as "dp/B00UIIDP06/ref=sr_1_1_sspa.."
Ideal Case: It should just check the pattern exist in give full-length URL.  If it is expected, then we need to manually extract the relative URL then feed to this.
2. Forced expression
Input URL: www.amazo.com/xyz/dp/B00UIIDP06/ref=sr_1_1_sspa?s=photo
Matcher: routeMatcher("/dp/:asin/");
Results: null, it doesn't work because it is expecting to cover even beyond "/B00UIIDP06/", for "/ref=sr_1_1_sspa?s=photo"
Ideal Case: There is no need to check beyond what is required(/dp/:asin/). In case, if there are multiple params/sections like "/abc/edf/zya/ref=sr_1_1_sspa?blah..", then we should extend the expression to really long
3. How to cover before/after from the matching point, like Wildcards? Similar to https://www.npmjs.com/package/route-pattern?
Input URL: www.amazo.com/xyz/dp/B00UIIDP06/ref=sr_1_1_sspa?s=photo
Matcher(expected): routeMatcher("[*before]dp/:asin/[*after]");
Ideal Case: It is useful to know before/after URL parts when a given pattern is matched
Thanks and appreciating your support!

@cowboy Any updates on this?
I am eagerly waiting for these features and there too many use cases depend on URL sub-string matching.


not working in swarm mode

Hi there,
Appreciate your work and help needed on implementing this project in docker swarm mode.
My service name is abc listening on port 80.
Error(s) found in configuration file : /usr/local/etc/haproxy/haproxy.cfg
Exiting Master process...
Current worker 14 exited with code 143
All workers exited. Exiting... (143)
How do I go about it?
error.txt

Sorry, it seems the image in the registry was not up-to-date. I just pushed a new build. Could you try again?
I'll probably set up automatic builds in order to prevent such problems in the future.


MJPC on Ubuntu

I'm facing compilation issues with MJPC on Ubuntu. I followed the build instructions mentioned here. Here are all the options that I tried

Branch: main / v0.0.1 release tag
Compiler: GCC 9.4.0 / Clang 10.0.0-4ubuntu1

I'm curious if the Ubuntu build is supported at the moment.
The error logs are build-related, quite long, and different for different settings. Please let me know if it will help to add the logs here.

Update: So the secret sauce so far is dba4bd8d51b2233e637e00e1625593890bf4abaf and Clang 12.0.0

Would you like to send a PR to update the documentation?

It's a workaround for now. @thowell  is getting his Ubuntu machine soon. Expect a PR  once we have a watertight solution that will work more broadly.

I just did a fresh install of Ubuntu 23.10 and didn't run into any build problems with MJPC when following the instructions on the README. I used clang 16.0.6.

I am on Ubuntu 20.04
A few thoughts

Seems like there is a dependency on a compiler.
Should we clarify which compiler to use?
Should we add compiler install instructions to read me?

sudo apt-get install clang-12

Tested with a fresh install of Ubuntu 22.04 with clang-12 and that worked as well. I will update the README to include this step and to look at the build.yml if troubleshooting an install.

@vikashplus should we add any additional instructions?  #286

Clang 12 is the primary thing for the setup I tested for. Let's merge for now. I'll update you if I learn anything new.

I think we should put a note on the main page to use Clang12, Clang12++.
I did the following to get things to compile on ubuntu 20. with gcc, it errors around 70%
mkdir build
cd build
sudo apt-get install clang-12
CXX=clang12++ CC=clang12 cmake ..
make -j 5

@vikashplus please see #324


Mac installation crashes on startup with Log4jLoggerAdapter cannot be cast to ch.qos.logback.classic.Logger

I am trying to run Multibit HD.app and get the following error:
java.lang.ClassCastException: org.slf4j.impl.Log4jLoggerAdapter cannot be cast to ch.qos.logback.classic.Logger
at org.multibit.hd.core.logging.LoggingFactory.getCleanRoot(LoggingFactory.java:106)
at org.multibit.hd.core.logging.LoggingFactory.bootstrap(LoggingFactory.java:32)
at org.multibit.hd.core.services.CoreServices.main(CoreServices.java:144)
at org.multibit.hd.ui.MultiBitHD.initialiseCore(MultiBitHD.java:291)
at org.multibit.hd.ui.MultiBitHD.start(MultiBitHD.java:122)
at org.multibit.hd.ui.MultiBitHD.main(MultiBitHD.java:70)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.exe4j.runtime.LauncherEngine.launch(Unknown Source)
at com.install4j.runtime.launcher.MacLauncher.main(Unknown Source)

Thanks for the feedback. Are you using the 0.0.5beta installer?

I used whatever was on the website from the day when I emailed, I have
deleted the installer afterwards so I am unable to check the version
On Sun, Feb 8, 2015 at 8:59 PM, Gary Rowe<EMAIL_ADDRESS>wrote:

Thanks for the feedback. Are you using the 0.0.5beta installer?
—
Reply to this email directly or view it on GitHub
https://github.com/bitcoin-solutions/multibit-hd/issues/400#issuecomment-73404356
.

OK, if you only downloaded the installer off the beta site recently then it will be 0.0.5beta. However, just to be absolutely sure would you mind downloading the 0.0.0 release which represents the latest build (currently pre-Beta 6)?
Could you describe how you start the app and how the symptoms manifest because just clicking MultiBit HD.app is unable to replicate the problem here.

I'm receiving the same error
On Mon, Feb 9, 2015 at 1:59 AM, Gary Rowe<EMAIL_ADDRESS>wrote:

OK, if you only downloaded the installer off the beta site recently then
it will be 0.0.5beta. However, just to be absolutely sure would you mind
downloading the 0.0.0 release
https://multibit.org/releases/multibit-hd/multibit-hd-0.0.0/ which
represents the latest build (currently pre-Beta 6)?
Could you describe how you start the app and how the symptoms manifest
because just clicking MultiBit HD.app is unable to replicate the problem
here.
—
Reply to this email directly or view it on GitHub
https://github.com/bitcoin-solutions/multibit-hd/issues/400#issuecomment-73414270
.

Thanks for the update. Could you upload some logs/console output/screenshots so I can see the start up sequence?
Assuming there is anything, you'll find logs in ~/Library/Application Support/MultiBitHD/logs/multibit-hd.log.
In addition, could you try the following:

Ensure you have Java 7+ installed on your Mac (Terminal java -version should show 1.7.0_12 or higher)
Navigate in Finder to Applications/MultiBit HD
Right click Show Package Contents
Navigate to Contents/java/app
Copy multibit-hd.jar to ~/Desktop
Open Terminal and cd ~/Desktop
Launch with java -jar multibit-hd.jar

This last sequence should absolutely rule out any Log4j dependencies that could be creeping in although I've checked the Install4j supporting JARs and no sign of Log4j is present.
Let me know how you get, and thanks for taking the time to help out with this - much appreciated.

I've updated my earlier comment to provide additional locations for logs that will shed some light on what's going on here.

The initial log directory did not exist.
↪  cat error.log
Mon  9 Feb 2015
08:42:35 AEDT
log4j:WARN No appenders could be found for logger
(org.multibit.hd.core.concurrent.SafeExecutors).
log4j:WARN Please initialize the log4j system properly.
java.lang.ClassCastException: org.slf4j.impl.Log4jLoggerAdapter cannot be
cast to ch.qos.logback.classic.Logger
at
org.multibit.hd.core.logging.LoggingFactory.getCleanRoot(LoggingFactory.java:106)
at
org.multibit.hd.core.logging.LoggingFactory.bootstrap(LoggingFactory.java:32)
at org.multibit.hd.core.services.CoreServices.main(CoreServices.java:144)
at org.multibit.hd.ui.MultiBitHD.initialiseCore(MultiBitHD.java:291)
at org.multibit.hd.ui.MultiBitHD.start(MultiBitHD.java:122)
at org.multibit.hd.ui.MultiBitHD.main(MultiBitHD.java:70)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.exe4j.runtime.LauncherEngine.launch(Unknown Source)
at com.install4j.runtime.launcher.MacLauncher.main(Unknown Source)
md at mactop in /A/M/C/j/app 22.370 Mb
↪  java -jar multibit-hd.jar
Mon  9 Feb 2015
08:42:38 AEDT
Exception in thread "main" java.lang.UnsupportedClassVersionError:
org/multibit/hd/ui/MultiBitHD : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:637)
at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
md at mactop in /A/M/C/j/app 22.370 Mb
↪  pwd
Mon  9 Feb 2015
08:42:58 AEDT
/Applications/MultiBit HD.app/Contents/java/app
On Mon, Feb 9, 2015 at 8:21 AM, Gary Rowe<EMAIL_ADDRESS>wrote:

I've updated my earlier comment to provide additional locations for logs
that will shed some light on what's going on here.
—
Reply to this email directly or view it on GitHub
https://github.com/bitcoin-solutions/multibit-hd/issues/400#issuecomment-73432594
.

Hmm no installer.log? OK that class 51 error means you're running Java6 which is Mac default. Can you install Java 7 and try that last command again?

@mdance Have you seen this error again?
Perhaps try the Beta 6 installer: https://beta.multibit.org/releases/multibit-hd/multibit-hd-0.0.6beta/

I am still experiencing the same issue with the latest installer
On Thu, Feb 26, 2015 at 12:42 AM, Gary Rowe<EMAIL_ADDRESS>wrote:

@mdance https://github.com/mdance Have you seen this error again?
Perhaps try the Beta 6 installer:
https://beta.multibit.org/releases/multibit-hd/multibit-hd-0.0.6beta/
—
Reply to this email directly or view it on GitHub
https://github.com/bitcoin-solutions/multibit-hd/issues/400#issuecomment-75960969
.

Thanks for coming back on this. I'm really struggling to work out how a dependency on Log4j is getting in since neither Install4j nor MultiBitHD includes that framework. Consequently I'm suspecting an unusual configuration at your end. Getting to the bottom of this will certainly with installation instructions.
Were you able to upgrade to Java 7 and try the earlier manual instructions?

I've not heard anyone else reporting this error since we began bundling JRE 7 so I'm going to close this as resolved.

There has been a repeat of this so re-opening to prompt further investigation.
java.lang.ClassCastException: org.slf4j.impl.Log4jLoggerAdapter cannot be cast to ch.qos.logback.classic.Logger
	at org.multibit.hd.core.logging.LoggingFactory.getCleanRoot(LoggingFactory.java:119)
	at org.multibit.hd.core.logging.LoggingFactory.bootstrap(LoggingFactory.java:34)
	at org.multibit.hd.ui.MultiBitHD.start(MultiBitHD.java:119)
	at org.multibit.hd.ui.MultiBitHD.main(MultiBitHD.java:72)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:606)
	at com.exe4j.runtime.LauncherEngine.launch(Unknown Source)
	at com.install4j.runtime.launcher.MacLauncher.main(Unknown Source)


not compatible with the version of Windows

fork/exec C:\Users\xilin\AppData\Local\Temp\go-build275391226\b001\exe\main.exe: This version of %1 is not compatible with the version of Windows you're running. Check your computer's system information and then contact the software publisher.
go1.14  win10

Please provide more information about what was done to receive an error. What architecture is this running on? How can I reproduce this error? Was Go installed via a package?


In the tailwind example, when running without leptos watch, the wasm isnt delivered to the browser

Describe the bug
When trying the tailwind_axum example you cant use it without using cargo leptos watch
Leptos Dependencies
leptos = { version = "0.5", features = ["nightly"] }
leptos_axum = { version = "0.5", optional = true }
leptos_meta = { version = "0.5", features = ["nightly"] }
leptos_router = { version = "0.5", features = ["nightly"] }

To Reproduce
Steps to reproduce the behavior:

Clone the repo and go to the examples folder, to the tailwind_axum case.
Change this From None to  Some("Cargo.toml") in main.rs around line 27

    let conf = get_configuration(Some("Cargo.toml")).await.unwrap();

3.Change the folder of the site root and site pkg  (changing the site where the wasm-pack build outputs didnt seem to work, so I changed where leptos looks for it)
[package.metadata.leptos]
# The site root folder is where cargo-leptos generate all output. Use it in your server setup.
site-root = "pkg"

# The site-root relative folder where all compiled output (JS, WASM and CSS) is written
# Defaults to pkg
site-pkg-dir = "."

Attempt to run the example with this commands

  wasm-pack build --target=web --debug --no-default-features --features=hydrate
 cargo run --no-default-features --features=ssr

Expected result
This is for example the browser on the tailwind example

Expected something like this , its the axum starter generated by the cli running the same way with commands separated and no cargo leptos watch, using the same config mentioned in the steps above which actually works

if it helps here are the cargo.toml from the example:
https://pastebin.com/YuVjpniy?theme=dark
the one that I managed to get working:
https://pastebin.com/yaeMYkXG?theme=dark

Apologies for the slow response.
When you use wasm-pack it uses the crate name as the name of the output files, whereas when you use cargo-leptos it uses the output-name from the [package.metadata.leptos] section. The server integrations automatically use the output-name as well, which means that if the crate name and output-name diverge and you aren't using cargo-leptos, it will look for the JS/WASM files with incorrect names (in this case, leptos_tailwind vs. tailwind_axum).
Updating to output-name = "leptos_tailwind" (or, as in the example you got working, using "testi" in both places), in addition to what you did, would fix the issue.
The link PR updates this example so the crate name and output name align.


spirv-fuzz: Replace the pair OpLoad and OpStore with OpCopyMemory

If we have a pair of instructions like %source_value = OpLoad %type %source and OpStore %target %source_value, we could replace this pair with OpCopyMemory %target %source.
This transformation would receive %target, %source and a pair of instruction descriptors.
The fuzzer pass would look for pairs OpLoad and OpStore, like described above, and, randomly apply the transformation.

@andreperezmaselco would be OK if we give this to @antnkarp?  I think it's a good warm-up issue.

Sure, @afd.

Great - @antnkarp can you reply so I can assign you?

Ok, thanks


[dbwrapper] Detect obfuscation

Cherry-pick of https://github.com/bitcoin/bitcoin/pull/7259 to address https://github.com/bitcoinclassic/bitcoinclassic/issues/51.
Detects when the block database has been obfuscated, and informs the user that the block database needs to be rebuilt. Chainstate obfuscation is a feature that was added to 0.12 in order to address a problem with over-zealous antivirus software crashing bitcoind. Without this port, switching from 0.12 back to 0.11.2 would result in the database being unreadable to 0.11.2 without a proper error message being given to the user. This provides that error message.
I have not yet tested this on an obfuscated database to verify proper behavior.

conceptACK
Tested on OS X 10.11.3:

Built and ran QT from https://bitcoin.jonasschnelli.ch/nightlybuilds/2016-01-28/
Built and ran QT from https://github.com/jtoomim/bitcoin/tree/0.11.2-detect-obfuscation

A re-index was forced when going back to v11, but no alert was shown

Tested and worked as expected on Linux Mint 17.3 Rosa.
Steps taken:

Compiled core_12_rc2 v0.12.0rc2
-reindex
Compiled and ran Classic v0.11.2.cl1.b1
bitcoin-qt crashed with:
bitcoin-qt: main.cpp:1868: bool ConnectBlock(const CBlock&, CValidationState&, CBlockIndex*, CCoinsViewCache&, bool): Assertion `hashPrevBlock == view.GetBestBlock()' failed.
Aborted
Compiled and ran jtoomin/0.11.2-detect-obfuscation.
Recieved the following dialog: https://imgur.com/gcaY95a

Did it work after you clicked OK?

Yes, I clicked OK and let it completely reindex.  The next time I started bitcoin-qt, all was fine.

0.11.2 branch is closed for anything but critical bugfixes.


projector scrolling and zooming does nothing for displayed files

display an image file that was uploaded to OS
scroll the projector view or zoom it

result: nothing happens. For all other things in OS scrolling and zooming works (except that it is dog slow)

This will be resolved in the rewritten OS3 client. If this issue still persists, please reopen this issue.


Calculate gravity based on distance from body to gravity point

This patch allows to scale the gravity applied by a gravity-point Area/Area2D based on the distance from the gravity-point to the body, thus simulating the basic law of gravitation.
The formula applied is:
gravity = area_gravity / (distance * scale_factor + 1)^2
This ensures that the maximum gravity applied cannot be more then the user specified one (and avoid good old divisions by zero).
If scale factor is 0 (default) the usual system (no distance scale) is applied.
You can test the patch with the following demo:
https://github.com/Faless/godot_demo
Notice specifically the differences between demo 1 and 2 and demo 3 and 4

I'm looking for a way to turn this math into standard gravitational form, and unfortunately this +1 really gets in the way...
https://www.wolframalpha.com/input/?i=u+*+m+%2F+r^2+%3D+x+*+y+*+m+%2F+(r+*+s+%2B+1)^2+solve+for+u

Notice the distance r in that equation can't be factored out to match the standard gravitational equation. Whereas without the 1 it can be:
https://www.wolframalpha.com/input/?i=u+*+m+%2F+r^2+%3D+x+*+y+*+m+%2F+(r+*+s)^2+solve+for+u

I propose this instead to avoid divide by zero
	const float vlength = v.length()

	if (p_area->is_gravity_point()) {
		if (p_area->get_gravity_distance_scale() > 0 && vlength > 0) {
			Vector2 v = p_area->get_transform().xform(p_area->get_gravity_vector()) - get_transform().get_origin();
			gravity += v.normalized() * (p_area->get_gravity() / Math::pow(vlength * p_area->get_gravity_distance_scale(), 2));
		} else {
			gravity += (p_area->get_transform().xform(p_area->get_gravity_vector()) - get_transform().get_origin()).normalized() * p_area->get_gravity();
		}
	} else {
		gravity += p_area->get_gravity_vector() * p_area->get_gravity();
	}

I agree that the math in this patch was wrong (too hacky, since such an
approximation causes precessions in orbits).
Please open a PR with you proposed changes so we can discuss it there.
On Wed, Aug 19, 2020, 06:43 Ryan Peach<EMAIL_ADDRESS>wrote:

I propose this instead to avoid divide by zero
const float vlength = v.length()
if (p_area->is_gravity_point()) {
if (p_area->get_gravity_distance_scale() > 0 && vlength > 0) {
Vector2 v = p_area->get_transform().xform(p_area->get_gravity_vector()) - get_transform().get_origin();
gravity += v.normalized() * (p_area->get_gravity() / Math::pow(vlength * p_area->get_gravity_distance_scale(), 2));
} else {
gravity += (p_area->get_transform().xform(p_area->get_gravity_vector()) - get_transform().get_origin()).normalized() * p_area->get_gravity();
}
} else {
gravity += p_area->get_gravity_vector() * p_area->get_gravity();
}
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/godotengine/godot/pull/1932#issuecomment-675848199,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAM4C3WPXDAX35TJ6KI2ZOLSBNKALANCNFSM4BDY2DRA
.


run external program over set of columns in csv

There's lots of issues with this code (if you have time to review, please point out what you can so that  I can learn some things!) I'm creating PR now knowing there's lots of changes to be made to get some feedback on this idea and implementation of it.
An example usage might be something like the following:

I have a csv file with epoch timestamps in the timestamp column
I have some external program (say its called humantime) that converts these timestamps

With this feature, I could just run to make the column human readable.
xsv apply Time humantime

(perhaps the order of these arguments should be switched)
Any thoughts?

Here's a quick example:
Program:
$ cat example.py
import time
import sys

for line in sys.stdin:
    t = int(line.strip())
    print time.strftime("%Y/%m/%d %H:%M:%S", time.localtime(t))

Input file:
$ head test.csv
Time1,Time2,Col1,Col2
1479261598,1479269944,C1,C2
1479261598,1479269944,C1,C2
1479261598,1479269944,C1,C2
1479261598,1479269944,C1,C2
1479261598,1479269944,C1,C2
1479261598,1479269944,C1,C2
1479261598,1479269944,C1,C2
1479261598,1479269944,C1,C2
1479261598,1479269944,C1,C2

Result:
$ target/debug/xsv apply Time1,Time2 "python example.py" test.csv | head
Time1,Time2,Col1,Col2
2016/11/15 19:59:58,2016/11/15 22:19:04,C1,C2
2016/11/15 19:59:58,2016/11/15 22:19:04,C1,C2
2016/11/15 19:59:58,2016/11/15 22:19:04,C1,C2
2016/11/15 19:59:58,2016/11/15 22:19:04,C1,C2
2016/11/15 19:59:58,2016/11/15 22:19:04,C1,C2
2016/11/15 19:59:58,2016/11/15 22:19:04,C1,C2
2016/11/15 19:59:58,2016/11/15 22:19:04,C1,C2
2016/11/15 19:59:58,2016/11/15 22:19:04,C1,C2
2016/11/15 19:59:58,2016/11/15 22:19:04,C1,C2

The program sees the only the contents of the two columns I want to pass through this external tool on stdin, and it sends those values back (over stdout) in the same order. As soon as an entire buffer comes in over the pipe to the external program, I replace the appropriate values in the row, (the first two in this case) and write the row out.
I've gotten tons of use out of this already, it is much nicer than the equivalent shell command with multiple temporary files.

@BurntSushi I've updated this PR with some real code/tests/etc
If you think this is a non-feature, go ahead and close this. I'm getting use out of the time I've spent on it, so no worries if you don't think its appropriate.
Otherwise, enjoy!

Hey if this is a no go let me know and I'll go ahead and close this PR. Thanks!

@dpzmick Thanks for the work you've put into this, but I think this is just something I'm not particularly interested in maintaining. I can see how it might be useful in some cases, but I'd really rather folks just write a program instead.


[$500] Deeplink -  FAB menu briefly shown when navigate to concierge deeplink with new account

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

Version Number: 1.3.87-1
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
Action Performed:

Log out of the ND app
Go to https://staging.new.expensify.com/concierge
Log in with a new account

Expected Result:
Concierge chat is opened, and the FAB menu is not displayed
Actual Result:
The FAB menu is briefly displayed when navigating to the concierge chat. The FAB icon is displayed as "x" instead of "+"
Workaround:
Unknown
Platforms:

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

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos

Android: Native

https://github.com/Expensify/App/assets/78819774/48f7aa04-93a2-413d-bee7-8336d13d24e3
https://github.com/Expensify/App/assets/78819774/587ea9f8-a44d-477a-a619-2b91458f5943

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01277cf9c667bd137d
Upwork Job ID:<PHONE_NUMBER>474085888
Last Price Increase: 2023-10-19

not able to reproduce on ios-mweb

@abzokhattab The FAB is displaying open in your screenshot, which it shouldn't be.

@jjcoffee any thoughts on the proposals above?

Neither of the proposals explain why the FAB only shows briefly. Also why is this only happening for the concierge chat (if that's actually the case)?

Not overdue, get your proposals in!

@ishpaul777

as a new user there is no chats a user a can deeplink to

Not technically true, as you could start a chat with a new user, then login as that user and there'd be a chat there.
Look forward to your update @dukenv0307!

Proposal
Please re-state the problem that we are trying to solve in this issue.
The FAB menu either keeps showing up or is shown briefly when a new account signs-in via deep-link to concierge view. This is the problem we are trying to solve here.
What is the root cause of that problem?
When the concierge page is focused after successful sign-in, we navigate back to Home screen here before loading the concierge report. This was done to pop the concierge utility page before loading the concierge report. However, as a consequence of this, the FAB welcome popover also get displayed for a new account.
What changes do you think we should make in order to solve the problem?
To solve the problem, we can prevent going back to Home screen during navigation to the concierge page. However, this would mean that we still need to pop the concierge utility page. This can be done as follows:

Prevent going back to Home screen by removing the following line here

Navigation.goBack(ROUTES.HOME);

Since we call navigateToConciergeChat here, we can replace the concierge screen if the current active route is referring to the concierge route.
We can do like this here
 Navigation.getActiveRoute() === `/${ROUTES.CONCIERGE}`
     ? Navigation.navigate(ROUTES.REPORT_WITH_ID.getRoute(conciergeChatReportID), CONST.NAVIGATION.TYPE.FORCED_UP)
     : Navigation.navigate(ROUTES.REPORT_WITH_ID.getRoute(conciergeChatReportID));

Further, we open report from deep link by calling openReportFromDeepLink here and here. This will trigger navigateToConciergeChat here. Since ignoreConciergeReportID is set to true, this will trigger opening the concierge using concierge email here even when the current route is not concierge. This is redundant and can be removed as the Concierge page will handle navigation due to /concierge path . This will also prevent the concierge root to be unnecessarily added to the navigation history.
i.e. we can remove the following line here
         navigateToConciergeChat(true);

What alternative solutions did you explore? (Optional)

Proposal
Updated
@jjcoffee
Updated the solution step 2 as I had missed some information to add.
Do let me know your thoughts on the proposal.

Reviewing tomorrow!

Sorry will have to push the review to tomorrow.

Hmm can't reproduce on staging anymore, can you guys still reproduce? @rojiphil @dukenv0307

Hmm can't reproduce on staging anymore, can you guys still reproduce?

@jjcoffee Yes. I can reproduce this on the latest main.
https://github.com/Expensify/App/assets/3004659/50cb5a4f-9ac9-4713-8b03-00b9958d5dd1

Yes. I can reproduce this on the latest main.

@jjcoffee
Did you get a chance to reproduce this?
Also, curious to know your thoughts on the proposal here

I'm curious why this appears to only be happening on small screens (if that's definitely the case). Can either of you address that in your proposals?

I'm curious why this appears to only be happening on small screens (if that's definitely the case). Can either of you address that in your proposals?

@jjcoffee Am looking into this. Will share the updates in a few hours.

@dukenv0307 Oh yes, that makes sense thanks!
One thing I'm wondering here is what we actually expect once we navigate back from the concierge chat. Should the create menu show as open? Or does it make sense to keep it hidden since we've already navigated directly to a chat? As far as I can tell your proposal @dukenv0307 will still show the create menu after navigating back. Unsure about @ishpaul777 and @rojiphil's proposals.

Proposal
Please re-state the problem that we are trying to solve in this issue.
FAB menu briefly shown when navigate to concierge deeplink
What is the root cause of that problem?
Welcome.show triggerred inside sidebar, sidebar is loaded in ROUTEs.HOME and initialRoute (ROUTES.HOME) will always loaded even when we deeplinked to other screens
What changes do you think we should make in order to solve the problem?
We can wait at least until the concierge report successfully created. If we need to show the FAB when user getback to home screen, then we can also check props.isFocused we can add this check to FloatingActionButtonAndPopover useEffect:
        if (_.isEmpty(props.chatReports) || !props.isFocused)
        {
            return;
        }

change dependency to
}, [props.isLoading, props.isFocused]);

chatReports contain ONYXKEYS.COLLECTION.REPORT data.
What is the advantage of this implementation?
we are not immediately set ONYXKEYS.NVP_IS_FIRST_TIME_NEW_EXPENSIFY_USER to true, so if the user closed the apps when loaded the concierge screen, it will still get the welcome behaviour when user re-opened the app
Branch to test here.
What alternative solutions did you explore? (Optional)

Not overdue, @jjcoffee please take a look at the proposal and comment above :)

Proposal
Updated
@jjcoffee
Also, please have a look at my revised proposal. Thanks.

Just wanting to clarify the expected behaviour, so opening up for a broader consensus on Slack. Feel free to chime in/vote there!

I'll just see if we get any more feedback (it's currently tied) over the weekend and come back to this Monday.

Haha well, looks like we're still on a 50:50 split on Slack about this, but I think we can just go ahead with @dukenv0307's proposal here. The RCA is correct and sufficiently detailed, and the solution is nice and straight forward. In comparison @rojiphil's proposal feels a bit over-engineered when we can have a much simpler fix.
:ribbon::eyes::ribbon: C+ reviewed

@lakchote We were trying to settle on the right behaviour once we navigate back from the concierge chat, i.e. should the create menu show as open, or does it make sense to keep it hidden since we've already navigated directly to a chat. Let me know if you have any thoughts, otherwise I think we can just go with what @dukenv0307 has in their proposal (open once navigating back from the chat).

@jjcoffee In my opinion, we shoud show the FAB but only once?
It's important to clearly communicate the value of the app, and I think by showing it once to the user is a good idea to convert them to paid down the line.
If we did it more than once, it could be frustrating.
@dukenv0307's proposal LGTM 👍

Issue not reproducible during KI retests. (First week)

Deployed to production Dec 6, not sure what happened to the automation! @kadiealexander Can you update the title and add the Awaiting Payment label?

BugZero Checklist: The PR fixing this issue has been merged! The following checklist (instructions) will need to be completed before the issue can be closed:

[ ] [@jjcoffee] The PR that introduced the bug has been identified. Link to the PR:
[ ] [@jjcoffee] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment:
[ ] [@jjcoffee] A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion:
[ ] [@jjcoffee] Determine if we should create a regression test for this bug.
[ ] [@jjcoffee] If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again.
[ ] [@kadiealexander] Link the GH issue for creating/updating the regression test once above steps have been agreed upon:

Everyone is paid!


Unable to mount PVC using nodeplugin v3.0.0

Hello all,
I have installed the Ceph CSI plugin using the Helm chart. I was able to create a PVC however my pod is unable to mount it.
I've noticed that switching to the cephcsi:canary image resolves the issue (the Helm chart uses v3.0.0 by default).
Environment details

Image/version of Ceph CSI driver : cephcsi:v3.0.0
Helm chart version : latest
Kernel version : 3.10.0-957.10.1.el7.x86_64
Mounter used for mounting PVC: unsure
Kubernetes cluster version : 1.18.6
Ceph cluster version : 14

Steps to reproduce
Steps to reproduce the behavior:

Install the CSI plugin using the latest Helm chart (with PSP enabled).
Deploy the resources (secret, storageclass, pvc and pvc) from the example directory.

Actual results
The PVC is successfully created, however the pod cannot mount it.
Expected behavior
The pod should be able to mount the PVC.
Logs
I0729 09:37:59.135747   73544 utils.go:160] ID: 18 GRPC request: {}
I0729 09:37:59.138122   73544 utils.go:165] ID: 18 GRPC response: {"capabilities":[{"Type":{"Rpc":{"type":1}}},{"Type":{"Rpc":{"type":2}}},{"Type":{"Rpc":{"type":3}}}]}
I0729 09:37:59.149231   73544 utils.go:159] ID: 19 Req-ID: 0001-0024-33b747ab-e357-445f-b30d-b667a18b4392-000000000000000e-4a926342-d176-11ea-9907-0218dcc4339f GRPC call: /csi.v1.Node/NodeStageVolume
I0729 09:37:59.152043   73544 utils.go:160] ID: 19 Req-ID: 0001-0024-33b747ab-e357-445f-b30d-b667a18b4392-000000000000000e-4a926342-d176-11ea-9907-0218dcc4339f GRPC request: {"secrets":"***stripped***","staging_target_path":"/var/lib/kubelet/plugins/kubernetes.io/csi/pv/pvc-630c6163-b1dd-4d84-8dbf-5516377dc507/globalmount","volume_capability":{"AccessType":{"Mount":{"fs_type":"ext4","mount_flags":["discard"]}},"access_mode":{"mode":1}},"volume_context":{"clusterID":"33b747ab-e357-445f-b30d-b667a18b4392","imageName":"csi-vol-4a926342-d176-11ea-9907-0218dcc4339f","journalPool":"rbd_k8s_rancher","pool":"rbd_k8s_rancher","storage.kubernetes.io/csiProvisionerIdentity":"1595965171867-8081-rbd.csi.ceph.com"},"volume_id":"0001-0024-33b747ab-e357-445f-b30d-b667a18b4392-000000000000000e-4a926342-d176-11ea-9907-0218dcc4339f"}
I0729 09:37:59.152287   73544 rbd_util.go:722] ID: 19 Req-ID: 0001-0024-33b747ab-e357-445f-b30d-b667a18b4392-000000000000000e-4a926342-d176-11ea-9907-0218dcc4339f setting disableInUseChecks on rbd volume to: false
I0729 09:37:59.153600   73544 omap.go:74] ID: 19 Req-ID: 0001-0024-33b747ab-e357-445f-b30d-b667a18b4392-000000000000000e-4a926342-d176-11ea-9907-0218dcc4339f got omap values: (pool="rbd_k8s_rancher", namespace="", name="csi.volume.4a926342-d176-11ea-9907-0218dcc4339f"): map[csi.imageid:45f926e0e158e csi.imagename:csi-vol-4a926342-d176-11ea-9907-0218dcc4339f csi.volname:pvc-630c6163-b1dd-4d84-8dbf-5516377dc507]
E0729 09:37:59.153952   73544 util.go:236] kernel 3.10.0-957.10.1.el7.x86_64 does not support required features
I0729 09:37:59.247300   73544 rbd_util.go:304] ID: 19 Req-ID: 0001-0024-33b747ab-e357-445f-b30d-b667a18b4392-000000000000000e-4a926342-d176-11ea-9907-0218dcc4339f executing [rbd task add flatten rbd_k8s_rancher/csi-vol-4a926342-d176-11ea-9907-0218dcc4339f --id k8s_rancher --keyfile=/tmp/csi/keys/keyfile-957865034 -m <IP_ADDRESS>:3300,<IP_ADDRESS>:3300,<IP_ADDRESS>:3300] for image (csi-vol-4a926342-d176-11ea-9907-0218dcc4339f) using mon <IP_ADDRESS>:3300,<IP_ADDRESS>:3300,<IP_ADDRESS>:3300, pool rbd_k8s_rancher
I0729 09:37:59.671929   73544 cephcmds.go:54] ID: 19 Req-ID: 0001-0024-33b747ab-e357-445f-b30d-b667a18b4392-000000000000000e-4a926342-d176-11ea-9907-0218dcc4339f an error (exit status 2) occurred while running ceph args: [rbd task add flatten rbd_k8s_rancher/csi-vol-4a926342-d176-11ea-9907-0218dcc4339f --id k8s_rancher --keyfile=***stripped*** -m <IP_ADDRESS>:3300,<IP_ADDRESS>:3300,<IP_ADDRESS>:3300]
W0729 09:37:59.671955   73544 rbd_util.go:318] ID: 19 Req-ID: 0001-0024-33b747ab-e357-445f-b30d-b667a18b4392-000000000000000e-4a926342-d176-11ea-9907-0218dcc4339f uncaught error while scheduling a task: an error (exit status 2) occurred while running ceph args: [rbd task add flatten rbd_k8s_rancher/csi-vol-4a926342-d176-11ea-9907-0218dcc4339f --id k8s_rancher --keyfile=***stripped*** -m <IP_ADDRESS>:3300,<IP_ADDRESS>:3300,<IP_ADDRESS>:3300]
E0729 09:37:59.671966   73544 rbd_util.go:452] ID: 19 Req-ID: 0001-0024-33b747ab-e357-445f-b30d-b667a18b4392-000000000000000e-4a926342-d176-11ea-9907-0218dcc4339f failed to add task flatten for rbd_k8s_rancher/csi-vol-4a926342-d176-11ea-9907-0218dcc4339f : an error (exit status 2) occurred while running ceph args: [rbd task add flatten rbd_k8s_rancher/csi-vol-4a926342-d176-11ea-9907-0218dcc4339f --id k8s_rancher --keyfile=***stripped*** -m <IP_ADDRESS>:3300,<IP_ADDRESS>:3300,<IP_ADDRESS>:3300]
E0729 09:37:59.672084   73544 utils.go:163] ID: 19 Req-ID: 0001-0024-33b747ab-e357-445f-b30d-b667a18b4392-000000000000000e-4a926342-d176-11ea-9907-0218dcc4339f GRPC error: rpc error: code = Internal desc = an error (exit status 2) occurred while running ceph args: [rbd task add flatten rbd_k8s_rancher/csi-vol-4a926342-d176-11ea-9907-0218dcc4339f --id k8s_rancher --keyfile=***stripped*** -m <IP_ADDRESS>:3300,<IP_ADDRESS>:3300,<IP_ADDRESS>:3300]
I0729 09:38:15.249855   73544 utils.go:159] ID: 20 GRPC call: /csi.v1.Identity/Probe
I0729 09:38:15.250340   73544 utils.go:160] ID: 20 GRPC request: {}
I0729 09:38:15.250767   73544 utils.go:165] ID: 20 GRPC response: {}

Additional context
Mounting of the PVC works when the nodeplugin image tag (nodeplugin.plugin.image.tag) is explicitly set to canary.

@fad3t there is no code changes when compare to canary and v3.0.0 can you please provide rbd info of the image?

and also please provide ceph user caps

Hi @Madhu-1,
I'll ask about the rbd info -- I'm not admin of the Ceph cluster.
Regarding the caps, is this enough?
ceph auth get-or-create client.k8s_rancher mon 'profile rbd' osd 'profile rbd pool=rbd_k8s_rancher' mgr 'profile rbd pool=rbd_k8s_rancher'
Note that it is working with this user (and the same RBD image) when using the canary tag, but also when using the native Kubernetes RBD provisioner (kubernetes.io/rbd) so permissions should be OK there.
Thanks,
Fred.

Hi @Madhu-1,
I'll ask about the rbd info -- I'm not admin of the Ceph cluster.
Regarding the caps, is this enough?
ceph auth get-or-create client.k8s_rancher mon 'profile rbd' osd 'profile rbd pool=rbd_k8s_rancher' mgr 'profile rbd pool=rbd_k8s_rancher'
Note that it is working with this user (and the same RBD image) when using the canary tag, but also when using the native Kubernetes RBD provisioner (kubernetes.io/rbd) so permissions should be OK there.
Thanks,
Fred.

caps looks good. lets get the image info and see( the flattening task will be started only if the image has the deep flatten feature)

@Yuggupta27 can you please try to reproduce this one and see?

Indeed, I re-did the whole setup again - using image tag v3.0.0 - and everything is OK.
I noticed that using the StorageClass manifest from the doc (https://docs.ceph.com/docs/master/rbd/rbd-kubernetes/) is causing the issue. There are a few differences with the StorageClass manifest from the examples directory:

csi.storage.k8s.io/controller-expand-secret-name is not set
csi.storage.k8s.io/controller-expand-secret-namespace is not set
csi.storage.k8s.io/fstype is not set (although default is supposed to be ext4)
imageFeatures is not set
allowVolumeExpansion is not set

Any idea which one could be causing the issue? I could test them one by one but that'd take some time :P

Yeah if you don't mention the imageFeatues in some version the mounting fails. closing  this one,  Thanks for the confirmation


fix: fix issue #54, add the --cpu option to use the CPU device

If the model is large, for example, llama-2-13b, the convert.py will try to load the model with CUDA device and reports an error.
 ✘ python3 ./convert.py ../../llama/llama-2-13b/consolidated.00.pth llama-2-13b
Traceback (most recent call last):
  File "/Users/starfish/working/llm/mlx-examples/llama/./convert.py", line 49, in <module>
    state = torch.load(args.torch_weights)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/torch/serialization.py", line 1014, in load
    return _load(opened_zipfile,
           ^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/torch/serialization.py", line 1422, in _load
    result = unpickler.load()
             ^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/torch/serialization.py", line 1392, in persistent_load
    typed_storage = load_tensor(dtype, nbytes, key, _maybe_decode_ascii(location))
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/torch/serialization.py", line 1366, in load_tensor
    wrap_storage=restore_location(storage, location),
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/torch/serialization.py", line 381, in default_restore_location
    result = fn(storage, location)
             ^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/torch/serialization.py", line 274, in _cuda_deserialize
    device = validate_cuda_device(location)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/torch/serialization.py", line 258, in validate_cuda_device
    raise RuntimeError('Attempting to deserialize object on a CUDA '
RuntimeError: Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is False. If you are running on a CPU-only machine, please use torch.load with map_location=torch.device('cpu') to map your storages to the CPU.

This patch add a --cpu or -c option to the program. If the option present, the program will load the Torch model with CPU device.

I didn't realize torch had this behavior. From the docs:

They are first deserialized on the CPU and are then moved to the device they were saved from

I actually think we should not make this an option but make it the only behavior. Since there is never a CUDA device on Apple silicon we don't need to load weights for CUDA GPUs.

I didn't realize torch had this behavior. From the docs:

They are first deserialized on the CPU and are then moved to the device they were saved from

I actually think we should not make this an option but make it the only behavior. Since there is never a CUDA device on Apple silicon we don't need to load weights for CUDA GPUs.

OK, you are right :-)

@Haixing-Hu sorry I think you mis-understood my comment. I think we should merge the change to include the map_location=torch.device('cpu') but we don't need to make it configurable with the --cpu arg, just hard code the behavior. Would you mind making that change and then we can merge this?


Should use JSON Pointers instead of dot-notation in targetDependencies keys

To reference a config value in the targetDependencies of a module (and thus have config-dependent dependencies), the dot notation "configsection.subsection.subsection.etc.value" is currently used.
The JSON Pointer RFC specifies a more standard way of doing this, which would also avoid problems server-side.
@bremoran @headlessme @geraintluff

Fixed by #456


[BUG] Converting circular structure to JSON

After updating the plugin to the latest beta version, we are getting the following issue:

✖ next lint --fix --file src/app/[locale]/[category]/[article]/_components/ContinueReadingArticleCard/ContinueReadingArticleCard.stories.tsx --file src/app/[locale]/[category]/[article]/_components/Hero/Hero.stories.tsx --file src/app/[locale]/[category]/[article]/_components/RelatedArticleCard/RelatedArticleCard.stories.tsx --file src/app/[locale]/[category]/[article]/_components/UpdatedInformationCard/UpdatedInformationCard.stories.tsx --file src/app/_components/media/AudioRender/AudioRender.stories.tsx --file src/app/_components/media/ImageRender/ImageRender.stories.tsx --file src/app/_components/media/VideoRender/VideoRender.stories.tsx:
Converting circular structure to JSON
    --> starting at object with constructor 'Object'
    |     property 'vitest' -> object with constructor 'Object'
    |     property 'configs' -> object with constructor 'Object'
    |     property 'recommended' -> object with constructor 'Object'
    --- property 'plugins' closes the circle
Referenced from: /home/luisalaguna/Projects/TRT/twe_fe_next/.eslintrc.json
husky - pre-commit script failed (code 1)

While our configuration file is:
{
  "extends": [
    "next/core-web-vitals",
    "plugin:@typescript-eslint/strict-type-checked",
    "plugin:@typescript-eslint/stylistic-type-checked",
    "plugin:sonarjs/recommended",
    "prettier"
  ],
  "rules": {
    "@typescript-eslint/array-type": [
      "error",
      {
        "default": "generic"
      }
    ],
    "@typescript-eslint/ban-ts-comment": [
      "error",
      {
        "ts-expect-error": "allow-with-description"
      }
    ],
    "@typescript-eslint/consistent-type-definitions": ["error", "type"],
    "@typescript-eslint/explicit-function-return-type": 1,
    "@typescript-eslint/naming-convention": [
      "error",
      {
        "selector": "typeParameter",
        "format": ["PascalCase"],
        "custom": { "regex": "^T[A-Z]", "match": true }
      }
    ],
    "@typescript-eslint/prefer-ts-expect-error": 2,
    "@typescript-eslint/switch-exhaustiveness-check": 2,
    "import/no-default-export": 2,
    "react/hook-use-state": 2,
    "react/jsx-handler-names": 2
  },
  "overrides": [
    {
      "files": [
        "src/pages/**/*",
        "src/app/**/{page,index,layout}.tsx",
        "**/*.?(c|m)[jt]s"
      ],
      "rules": { "import/no-default-export": 1 }
    },
    {
      "files": ["src/**/*.mdx", "src/**/*.stories.[tmj]s?(x)"],
      "extends": ["plugin:storybook/recommended"],
      "rules": { "import/no-default-export": 1 }
    },
    {
      "files": ["src/**/*.test.[tj]s?(x)"],
      "excludedFiles": ["src/**/*.e2e.test.[tj]s?(x)"],
      "extends": ["plugin:testing-library/react", "plugin:vitest/all"],
      "rules": {
        "vitest/valid-title": [
          "error",
          {
            "mustMatch": {
              "it": [
                "^should.*when.+$",
                "Test title must include 'should' and 'when'"
              ]
            }
          }
        ]
      }
    },
    {
      "files": ["src/tests/**/*.test.[tj]s?(x)"],
      "extends": ["plugin:playwright/playwright-test"]
    }
  ],
  "parserOptions": {
    "project": ["./tsconfig.json"] // Specify it only for TypeScript files
  }
}

Why is this?

Flag config? It would be nice to have a migration guide. Then the new version only works with Eslint 9, right?

Yes, it works with v9 or higher. check this https://github.com/veritem/eslint-plugin-vitest?tab=readme-ov-file#recommended for reference.

Yes, it works with v9 or higher. check this https://github.com/veritem/eslint-plugin-vitest?tab=readme-ov-file#recommended for reference.

Ok, we will check it for the next NextJS version that supports ESLint 9 and for the all rules.

If it's required to have eslint v9, it would be great to also have the peerDependencies updated in the package.json


Absence of documentation for recurring payments

Docs are pretty small and not useful at all, the cases are pretty simple, how about advanced cases?

closing old issues, please reopen if needed


a whole lot of unit tests

Trying to get test coverage to 100%.

Coverage increased (+3.5%) to 75.916% when pulling 9c8e3777ca7d7886cc687e0e5cb13496e57423b1 on test-coverage into 3920d87c1a6427ceca758ec3a044e74f7668839d on master.

Coverage increased (+17.08%) to 89.529% when pulling aa809f0779c409caf7763f9b2acb6dc45aeb04fb on test-coverage into 3920d87c1a6427ceca758ec3a044e74f7668839d on master.

Coverage increased (+21.3%) to 93.717% when pulling 7d697ce3d5c40abb256cc97081256f9da7859bb1 on test-coverage into 3920d87c1a6427ceca758ec3a044e74f7668839d on master.

Coverage increased (+23.4%) to 95.812% when pulling 6dc8c3f6eb1252edb83624f929f8c57e56a18e73 on test-coverage into 3920d87c1a6427ceca758ec3a044e74f7668839d on master.


[GSB] Eliminate unnecessary walk over the associated types.

We lazily resolve all of this information about nested potential archetypes
anyway; there's no need to do it eagerly.

@swift-ci please smoke test and merge


fix(query-search): fix keyword search bug

To Reviewers

[ ] Skipping review is not a problem (style, chore ONLY)
[ ] Not that difficult

Type of Change

[ ] New feature
[x] Bug fixes
[ ] Feature improvement

[ ] These changes require a usage change

[ ] Others (performance improvement, refactoring, CI/CD, etc.)

Checklist

[ ] Updated Storybook documents
[ ] Tested with console

Description
Fix a bug where keyword search didn't work.

:tada: This PR is included in version 1.1.0-beta.429 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Add Google Charts to About Me tab

Some of the formatting changes from the last PR such as removing

 are done in a later pull request.

Thanks for addressing my feedback!


List benchmark-specific results

This PR implements the required changes to allow listing results from a specific Benchmark. This is done by providing some rudimentary filters logic. This logic was built so it can later be extended towards server and client-side filtering of lists.

@hasan7n Totally! That was intended to keep PR concerns separate. We can create a new issue to implement local filtering.


Component:  Masthead (Vanilla) Prod level QA testing

User Story

As a [user role below]:
developer using the ibm.com Library vanilla Masthead

I need to:
have a version of the pattern or component that has been tested for accessibility compliance as well as on multiple browsers and platforms

so that I can:
be confident that my ibm.com web site users will have a good experience

Additional information

Browser Stack link
Browser Standard
Browser versions to be tested:  Tier 1 browsers will be tested with defects created as Sev 1 or Sev 2.  Tier 2 browser defects will be created as Sev 3 defects.
Platforms to be tested, by priority:  1)  Desktop  2)  Mobile  3)  Tablet
Mobile & Tablet iOS versions: 13.1 and 13.3
Mobile & Tablet Android versions: 9.0 Pie and 8.1 Oreo
Browsers to be tested:  Desktop: Chrome, Firefox, Safari, Edge, Mobile: Chrome, Safari, Samsung Internet, UC Browser, Tablet: Safari, Chrome, Android
Accessibility Checklist
Creating a QA bug
Link to the abstract version of the designs
Link to the functional specs
Link to the design issue
Link to the alpha dev issue

Acceptance criteria

[ ] Accessibility testing is complete.  Pattern is compliant.
[ ] All browser versions are tested
[ ] All operating systems are tested
[ ] All devices are tested
[ ] Defects are recorded and retested when fixed

Not stale

Moving to Web components.  This Vanilla component testing will not be done


Handle yanked gems

Close #4344

@allenzhao made a few comments.  Thanks.

@homu delegate=RochesterinNYC

:v: @RochesterinNYC can now approve this pull request

@homu r+

:pushpin: Commit 1587e0d has been approved by RochesterinNYC

:zap: Test exempted - status


#411 Pick an available port on "listen EADDRINUSE" or "listen EACCES"

Let the OS choose a port when the default or given one is used or unauthorized.
Fixes: #411

Sorry I believe I misunderstood PR process...

This looks good to me, but I wanted to make sure it could be tested automatically. I've added a (failing) test on the test-issue411 branch. Could you rebase your changes on top of that branch?

Thank you @joseph-onsip, I rebased my commits on your branch and the test looks good.

Looks great, thanks again!


Make java models accessible from kotlin

When we call registerJavaSources(), the kotlin plugin has already configured its sources and therefore misses the new generated folder.
This comes from the fact that we use project.afterEvaluate{} to make sure   apolloExtension.generateKotlinModels has been populated correctly and we therefore postpone the task registration to after the Android and Kotlin plugins have done their magic.
This feels a bit awkward but I'm not sure there's a nice solution here. Maybe have 2 different plugins: one that generates Kotlin and the other one that generates Java. That would simplify things quite a bit at the expense of breaking a bit more backward compatibility.
Also that would mean users woulnd't be able to configure java/kotlin models on a per-service anymore but maybe it's not that bad. Actually defaulting to generating kotlin models if the kotlin plugin is applied would certainly be a better first experience for most users.

This has been always tricky with plugin generated code vs Kotlin. This looks like a good solution.


PHP8.2 changes PK from string to integer

What steps will reproduce the problem?
Upgrade PHP to 8.2
access database records using Yii activequery where the mysql table has an integer PK
What is the expected result?
under PHP8.0 PK presented in Yii2 models is a string even though is integer in the database (mysql).
What do you get instead?
Without changing the version of Yii2 (2.0.47), under PHP8.2 the PK is returned as integer.
Additional info
also tested using branch php82, same issue.
behaviour seems to depend only on PHP version, not on Yii.

Q
A

Yii version
2.0.47

PHP version
8.2

Operating system
both Linux and Windows show this issue

I've now also found that non-PK fields are being presented as integer in PHP8.2, previously (PHP8.0) as string.
In mysql we represent a boolean using tinyint. Previously Yii model -> asArray() would return "1" or "0", now returning integer 0 or 1.

I've given up testing 8.2 until I can install it via composer.
Meanwhile, we've gone live with PHP8.1 and the integerisation problem exists between 8.0 and 8.1.
A whole lot of database fields, typically PKs and FKs that were previously presented as strings are now showing up as integers.
I should also add our serializer uses asArray() in all queries. Hence everything was string, but in PHP8.1 any field which is integer  in the db schema is turning up as an integer in the serializer and thence in the browser.  This is causing havoc with filters and lookups!

This is a change for the better in PHP and should NOT be worked around back to a worse state in Yii. This issue should be closed.
@nikdow  If your old code can't handle proper types simply use PDO::ATTR_STRINGIFY_FETCHES attribute in your Yii database config.

thanks for confirming it's a PHP change. Would that be in the PDO code?
Our code is updated to cast all PKs and FKs to (int) now. So we don't care what PHP, PDO or mySQL do in future.
But it took a long time to find all the places that needed updating and I'm disappointed it doesn't seem to be documented anywhere.

BTW running on PHP8.2 now that Yii2 has provided a compatible update.  All good.


Update styling for Create User Profile for desktop

[ ] Update current Create User Profile page styling for desktop.

Refer to the latest design in FIGMA under Desktop App MVP.
https://www.figma.com/file/4cV84H1jyMo0rJEAl3HNnJ/FightPandemics-landing-page?node-id=1377%3A8027

[ ]  Designs need to be pixel perfect

There seems to be no existing create user profile, unless you re talking about user profile?

@Chimaobi-Johnson I think you're right, there probably isn't a page yet.
A while ago I added some redirection logic while updating the auth, so that will probably need to be extended to redirect to "create profile" at the right time, making the redirection part even more complex.
There is still a pull request in progress for the backend to create a user as well: #130
And I think for the first version we should just use the email from the JWT token, edge cases such as Twitter which doesn't return an email or maybe Facebook profiles without email address, should probably be looked at afterwards how be can best approach that.

Although this issue pertains to desktop styling, might we add mobile styling as well? As @robinv85 said, there isn't a page for this yet, so I went ahead and made one and added it to the routes.


Proxy configuration

Hi,
I'd like to use this tool behind a corporate proxy, and I don't get how to configure the proxy, if possible.
I checked internal through link-check and needle.
I thought from reading at this issue that would be possible https://github.com/tcort/link-check/issues/29
Looking at needle documentation we would have to pass a proxy or agent option for that : https://github.com/tomas/needle#request-options
Currently there does not seem to be an option in order to configure a proxy, or am I missing something ?

Hi @tcort, I tried to move this topic upstream for full support in needle itself e.g. including no_proxy, in https://github.com/tomas/needle/pull/382, as using the standard environment variables is usually the way to go. But that doesn't seem to be picking up - would you still be interested in doing this on the link-check side? It does seem like the older request library already had full support for this.

The PR against needle seems to be merged in upstream release 3.1.0 (https://github.com/tomas/needle/commit/8353cdb5163a3e8e610ccc1eaea4e604c5159401).
A corresponding dependency bump would be needed to turn it effective for markdown-link-check.

@fhaftmann you can already bump needle yourself as markdown-link-check does not pin it to the exact version:
https://github.com/tcort/markdown-link-check/blob/master/package.json#L42
However, the implementation of no_proxy in that PR only seems to cover exact hosts, but not domains or ports (see discussion in https://github.com/tomas/needle/issues/383), so not sure that'll fix the issue for you entirely.

However, the implementation of no_proxy in that PR only seems to cover exact hosts, but not domains or ports (see discussion in https://github.com/tomas/needle/issues/383), so not sure that'll fix the issue for you entirely.

Confirmed => only way to support http_proxy / https_proxy / no_proxy is to use/downgrade markdown-link-check to
3.8.7 😢

I can also confirm. No matter how I set https_proxy I get only errors 502 and 503 for external URLs. With 3.8.7 there are no problems. Verbose output -v does not show more information.

IMO the problem is an upstream bug: https://github.com/tomas/needle/issues/406