WASM compatibility

In the conversation thread here, we discussed how to make oqs's C library compile to WASM. The build script and anything else internal should be modified to support compilation to the common WASM targets here for the rust crate, that way no modification is needed for users of this library.

I've got some WASM support in the pqcrypto crates since PR rustpq/pqcrypto#26. I have no idea how WASM works though, so I would appreciate it if those that would like to see it open a PR and propose some suggestions for testing it in CI (so I don't break it accidentally).

Plus one on this

So far, got liboqs rust to build with cargo build --target=wasm32-unknown-emscripten after supplying a few -I include paths - which I guessed, and might be part of the trouble. I used musl ones in emscripted compiler version 3.1.61 (on mac).
Then I setup a project to build with liboqs rust and get the benefit of all the brains behind the rust bindings.
I took the .a from the step above and made a liboqs.pc for a static link.
Here is where problems begin - and they are first compile problems.
When I build with target=wasm32-unknown-unknown (even using nightly and --Z wasm_c_abi=spec, I get
.../out/sig_bindings.rs:261:52
261 |     pub fn OQS_SIG_new(method_name: *const ::libc::c_char) -> *mut OQS_SIG;
    |                                                    ^^^^^^ not found in `libc`

with the suggestion
help: consider importing this type alias
   --> /.../oqs-sys-0.9.1+liboqs-0.9.0/src/lib.rs:35:5
    |
35  +     use core::ffi::c_char;

In addition, there are also errors like
error[E0308]: mismatched types
    --> /.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/oqs-0.9.0/src/kem.rs:229:44
     |
229  |         let cstr = unsafe { CStr::from_ptr(kem.alg_version) };
     |                             -------------- ^^^^^^^^^^^^^^^ expected `*const u8`, found `*const i8`
     |                             |
     |                             arguments to this function are incorrect
     |
     = note: expected raw pointer `*const u8`
                found raw pointer `*const i8`
note: associated function defined here
    --> /.../.cargo/registry/src/index.crates.io-6f17d22bba15001f/cstr_core-0.2.6/src/lib.rs:1025:19
     |
1025 |     pub unsafe fn from_ptr<'a>(ptr: *const c_char) -> &'a CStr {
     |                   ^^^^^^^^

which involve library crates - code I cannot edit, so I imagine there is configuration that can help.
With wasm32-unknown-emscripten only the second error shows up. Following the suggestion for the first error to use the alias solves the instances that I can affect (files in the target folder, but also has the errors indicated for some crate files.

According to lib.rs in libc it seems c_int and friends are defined for emscripten only, but c_char is not defined (and appears to default to i8 instead of u8.


Jsprint and Google Map

Hello, I want to integrate Google maps to calculate the actual distance in the city. Can you give me an idea, thank you

You would need to implement your own VehicleRoutingTransportCosts
For example:
public class GoogleMapsVehicleRoutingTransportCosts extends AbstractForwardVehicleRoutingTransportCosts {

    @Override
    public double getDistance(Location from, Location to, double departureTime, Vehicle vehicle) {
        return callGoogleMapsDistanceApi(from, to, departureTime);
    }

    @Override
    public double getTransportTime(Location from, Location to, double departureTime, Driver driver, Vehicle vehicle) {
        return callGoogleMapsDistanceApi(from, to, departureTime);
    }

    @Override
    public double getTransportCost(Location from, Location to, double departureTime, Driver driver, Vehicle vehicle) {
        return callGoogleMapsDistanceApi(from, to, departureTime);
    }

    private double callGoogleMapsDistanceApi(Location from, Location to, double departureTime) {
        // implement a call to google maps
    }
}

Then
vrpBuilder.setRoutingCost(new GoogleMapsVehicleRoutingTransportCosts());
NOTE: This will be very expensive in both time and API calls so you may want to consider a cache.

Re: "This will be very expensive in both time and API calls so you may want to consider a cache.", regardless of what system you're using for routing costs (Google Maps, GraphHopper, OSRM, etc.), a common approach is to make a "routing costs matrix" type call.  i.e. say you have 100 locations in your problem, at the start of the problem you make a single call to the your routing costs system to get a matrix of all times and distances between all those locations, i.e. a 100x100 matrix.  You then use the repose to build jsprit routing costs, that you simply pass in to your problem.
For the Google Maps API specifically, you can use the Distance Matrix API: https://developers.google.com/maps/documentation/distance-matrix/overview


Allow access to repositories for active accounts without login permission

Gitea version (or commit ref): 1.4.1
Git version: 2.11
Operating system: Linux
Database (use [x]):

[x] PostgreSQL
[ ] MySQL
[ ] MSSQL
[ ] SQLite

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

[ ] Yes (provide example URL)
[ ] No
[x] Not relevant

Description
The current behaviour was introduced with PR #3887 and #3889. Before it worked as expected.
Expected behaviour
A user account with "Account activated" and "Login disabled" both enabled should not be able to login into the web interface but may access a git repository to which access was granted.
Actual behaviour
A user account with "Account activated" and "Login disabled" both enabled can neither access the web interface nor a git repository.
Screenshots

Account options:

Output when accessing a repository:

I would like the current behaviour.

For non-actived user, he's profile cannot be view by others and his repository will not be visited too.
For login disabled user, he's profile and repository could be visited but he cannot login and cannot change his settings and repositories and cannot clone his private repositories.

I think this could be closed now. Please feel free to reopen it.


Inconsistent use of terms for Contact Journal

Where to find the issue
https://www.coronawarn.app/
Describe the issue
The app uses the terms:

Journal / Contact Journal (EN)
Tagebuch / Kontakt-Tagebuch (DE)

Blogs, FAQ and Glossary are inconsistent.
Additional English terms used:

Contact diary

Alternate German spelling used:

Kontakttagebuch

When searching, if different terms are used for the same object, then the results will not be consistent.
Readers may also be confused by the random use of different terms.
Suggested change
Align all terms in the Blogs, FAQ and Glossary https://www.coronawarn.app/ to use the same terms and spelling as the app:

Journal / Contact Journal (EN)
Tagebuch / Kontakt-Tagebuch (DE)

Please let me know if you would like a PR for this.
The glossary should certainly use the same name as the app.
I would also expect the FAQ to be consistent.
Regarding the blogs: it feels a bit like rewriting history to make changes there, but I think that it would also be beneficial to clean them up in this regard.

@MikeMcC399 Blog should be aligned as well.

The issue is fixed by PR #2317 which is already merged, however
this has caused a side-effect with the Cypress test suite, which should be fixed by PR https://github.com/corona-warn-app/cwa-website/pull/2318


Don't copy incomplete configuration specs for integrations

Motivation
The Agent tries to load them and they aren't the full spec anyway

https://github.com/DataDog/integrations-core/pull/5337


Close sheet component on click

Which scope/s are relevant/related to the feature request?
sheet
Information
hey guys is there a way to close a sheet programmatically i am **beginner to angular **
my use case is when i click on navbar links the route changes but the the sheet doesn't close automatically i have to click outside of the sheet to close
Thanks in advance
Describe any alternatives/workarounds you're currently using
couldn't found one
I would be willing to submit a PR to fix this issue

[ ] Yes
[X] No

I think you are looking for this: https://github.com/spartan-ng/spartan/discussions/520


FFaker::Image.file OpenURI::HTTPError

FFaker::Image.file
/usr/share/rvm/rubies/ruby-3.0.4/lib/ruby/3.0.0/open-uri.rb:364:in `open_http': 520  (OpenURI::HTTPError)
problem is at https://dummyimage.com side
it doesn't want to work with ?text= and some color params
for example
this works
https://dummyimage.com/600x400/000/0011ff.png
and this not
https://dummyimage.com/600x400/b033b0/0011ff.png

FFaker::Image.url - does not work properly too

and this not
https://dummyimage.com/600x400/b033b0/0011ff.png

Now everything works:
~/Projects/ruby/ffaker (main|✔)
> pry
pry: main > require_relative 'lib/ffaker'
# => true
pry: main > FFaker::Image.file
# => #<File:/tmp/ffaker_image20230824-117266-e5cm8v>
pry: main > FFaker::Image.url
# => "https://dummyimage.com/300x300/dc53e2/453b31.png?text="


Update target_STM32L031x6.py

The double buffering does not work.
pyocd.core.exceptions.TransferFaultError: SWD/JTAG Transfer Fault @ 0x20002000-0x200027ff

Strange, I wonder what causes it to fail? Thanks for the fix.

/morph test


Update to dependency libs

Updated dependencies and some API responses to newest versions
rake spec:
/Users/homans/.rvm/rubies/ruby-2.3.3/bin/ruby -I/Users/homans/.rvm/gems/ruby-2.3.3/gems/rspec-core-3.5.4/lib:/Users/homans/.rvm/gems/ruby-2.3.3/gems/rspec-support-3.5.0/lib /Users/homans/.rvm/gems/ruby-2.3.3/gems/rspec-core-3.5.4/exe/rspec spec/sabnzbd_spec.rb spec/utils_spec.rb
You are using WebMock 2.3.2. VCR is known to work with WebMock >= 1.8.0, < 1.9. It may not work with this version.
..............

Deprecation Warnings:

Using `should` from rspec-expectations' old `:should` syntax without explicitly enabling the syntax is deprecated. Use the new `:expect` syntax or explicitly enable `:should` with `config.expect_with(:rspec) { |c| c.syntax = :should }` instead. Called from /Users/homans/code/sabnzbd/spec/sabnzbd_spec.rb:12:in `block (3 levels) in <top (required)>'.

If you need more of the backtrace for any of these deprecations to
identify where to make the necessary changes, you can configure
`config.raise_errors_for_deprecations!`, and it will turn the
deprecation warnings into errors, giving you the full backtrace.

1 deprecation warning total

Finished in 0.12194 seconds (files took 1.65 seconds to load)
14 examples, 0 failures

Cool, my only suggestion would be to rename the files you are downloading to a_big_legal_file instead of Criminal.Minds.S04E04.720p.HDTV.x264-2HD 😉

Doh. Fixed.


Add concatenation of templates

It would be another nice feature of default.yaml
(which also supports macros).
Enabled by additional option like --concatenate  - multiple times,
like  --concatenate a.yaml --concatenate b.yaml ....
It would contains common stuff for all like:
healthChecks:
- portIndex: 0
  protocol: TCP
  timeoutSeconds: 30
  intervalSeconds: 10
  gracePeriodSeconds: 30
  maxConsecutiveFailures: 3
- portIndex: 0
  protocol: HTTP
  timeoutSeconds: 30
  intervalSeconds: 10
  gracePeriodSeconds: 30
  maxConsecutiveFailures: 3
  path: /%%SERVICE_NAME%%/health/ping

and it will be concatenated with deploy.yaml - with smart way - if some components already exist in
deploy.yaml - then cover the default.yaml
Open question is how "smart" should it be in case of common components, for ex.:
default.yaml:
container:
  docker:
    network: BRIDGE
  type: DOCKER

deploy.yaml:
container:
  docker:
    image: foo/bar

A.Should whole container be replaced ?
or
B Should be merged ?
In the end it would be awesome to have concatenation with multiple yaml files

I like this idea.  To handle duplicate definitions, how about merging (with warning output)?    So files which are concatenated override for attributes which must be unique (like container),  but things like healthChecks will just be added.


Add jsonlog encoding extension

Duplicate of https://github.com/open-telemetry/opentelemetry-collector-releases/pull/558, had to open a new PR that was from my own fork so the PR can be updated to fix conflict.

lgtm, but there is a conflict

Resolved 👍


Copy Image Cannot read properties of undefined (reading 'write')

Cannot read properties of undefined (reading 'write') An error occurred while rendering the page. Check developer tools console for details.

Hi @weihongbin1!
What web browser are you using? It looks like it doesn't support the clipboard API?
I'll patch this so the copy button displays a tooltip if the browser doesn't support it 👍

Hi @weihongbin1!
What web browser are you using? It looks like it doesn't support the clipboard API?
I'll patch this so the copy button displays a tooltip if the browser doesn't support it 👍

Google Chrome Version 108.0.5359.95 (Official Build) (64-bit)


Fix 1-tuple regression.

Adds a test to prevent future regressions.
I hope it's ok that I enabled the slice patterns feature.
Fixes #401

Oh I didn't know that (x) is different than (x,), TIL.

Thanks!


Floating pin reading as high (DAL has pull downs)

This programme in V1 DAL always reads the pin a floating pin as "low", until a jumper cable is used to connect it to the 3V pin.
#include "MicroBit.h"

MicroBit uBit;

int  main() {
    uBit.init();
    // uBit.io.P1.setPull(PullMode::Down);
    while (1) {
        if (uBit.io.P1.getDigitalValue() == 1) {
            uBit.display.printChar('H');
            uBit.sleep(400);
        } else {
            uBit.display.printChar('L');
            uBit.sleep(400);
        }
    }
}

The sleep is not required, it also shows that in V2 CODAL the first reading of the pin is always 0, as on reset it always it shows the L on the display once and then stays H.
Uncommenting the pull down matches the V1 DAL behaviour.
Tested P0,P1, P12, and P16, so I assume this is probably true for all io.

Related: https://github.com/lancaster-university/codal-microbit-v2/issues/17

Thanks Martin, didn't see that issue when I opened this. As it is essentially the same I'll close this one to concentrate the conversation over there.


UnderlineNav2 children changes not reflected

Description
For a long time, we've been using the original UnderlineNav where state would dictate the visible underlined items, to essentially lightup a few additional items for administrators, etc.
Recently, we noticed this regressed, but haven't worried about it too much, since with cached state and other items, a refresh of the page, or if the component tree shifts enough, would fix the glitch.
Any chance this is as expected? At least today, this all behaves differently than basic React lists, for example... it's possible this is a regression in the "new" UnderlineNav, or, maybe related to some of the changes such as https://github.com/primer/react/pull/3559 ?
Steps to reproduce

Add this sample component to a simple Primer React sandbox
Wait until the page renders, and after 2 seconds, the state will flip.
Expected: an item is added to the first UnderlineNav, one is removed from the 2nd; and the 3rd has an item added. Equivalent behavior on the same state for a
 is also shown to observe.
Actual: no change to the children in UnderlineNav

import { useEffect, useState } from 'react';
import { Box, Text, UnderlineNav } from '@primer/react';

// The state change doesn't render the updated list.
// This was definitely working for us in the past, but it's possible
// we were refreshing the render tree higher up in the component tree,
// so maybe it's by design?

function getItems(state: boolean) {
  const items: string[] = [
    'Item 1',
    'Item 2',
    'Item 3'
  ];
  if (state === true) {
    items.push('Item 4');
  }
  return items;
}

export const UnderlineNavBugRepro = () => {
  const [someState, setSomeState] = useState(false);
  const [someState2, setSomeState2] = useState(true);
  useEffect(() => {
    const timer = setTimeout(() => {
      setSomeState(true);
      setSomeState2(false);
    }, 1000);
    return () => clearTimeout(timer);
  }, []);

  const runtimeItems = getItems(someState);

  return (
    <Box>
      <Text as="p">
        The state is {String(someState)}.
      </Text>

      <Text as="p">
        Given the state right now, there should be visible {someState === true ? '4' : '3'} items in the UnderlineNav.
      </Text>
      <UnderlineNav aria-label="Main">
        <UnderlineNav.Item
          onSelect={(e: any) => {
            e.preventDefault();
          }}
        >Item 1</UnderlineNav.Item>
        <UnderlineNav.Item
          onSelect={(e: any) => {
          e.preventDefault();
        }}
        >Item 2</UnderlineNav.Item>
        <UnderlineNav.Item
          onSelect={(e: any) => {
            e.preventDefault();
          }}
        >Item 3</UnderlineNav.Item>
        {someState === true && (
          <UnderlineNav.Item
            onSelect={(e: any) => {
              e.preventDefault();
            }}
          >Item 4</UnderlineNav.Item>
        )}
      </UnderlineNav>

      <Text as="p">Inverse:</Text>
      <Text as="p">
        Given the state right now, there should be visible {someState === true ? '3' : '4'} items in the UnderlineNav.
      </Text>

      <UnderlineNav aria-label="Main">
        <UnderlineNav.Item
          onSelect={(e: any) => {
            e.preventDefault();
          }}
        >Item 1</UnderlineNav.Item>
        <UnderlineNav.Item
          onSelect={(e: any) => {
          e.preventDefault();
        }}
        >Item 2</UnderlineNav.Item>
        <UnderlineNav.Item
          onSelect={(e: any) => {
            e.preventDefault();
          }}
        >Item 3</UnderlineNav.Item>
        {someState2 === true && (
          <UnderlineNav.Item
            onSelect={(e: any) => {
              e.preventDefault();
            }}
          >Item 4</UnderlineNav.Item>
        )}
      </UnderlineNav>

      <Text as="p">
        Items map:
      </Text>
      <Text as="p">
        Given the state right now, there should be visible {someState === true ? '4' : '3'} items in the UnderlineNav.
      </Text>
      <UnderlineNav aria-label='Items'>
        {runtimeItems.map((item: string, index: number) => (
          <UnderlineNav.Item
            key={index}
            onSelect={(e: any) => {
              e.preventDefault();
            }}
          >{item}</UnderlineNav.Item>
        ))}
      </UnderlineNav>

      <Text as="p">
        Standard unordered list, inline:
      </Text>
      <Text as="p">
        Given the state right now, there should be visible {someState === true ? '4' : '3'} items in the UnderlineNav.
      </Text>

Item 1

Item 2

Item 3

        {someState === true && (

Item 4

        )}

      <Text as="p">
        Standard unordered list, items map:
      </Text>
      <Text as="p">
        Given the state right now, there should be visible {someState === true ? '4' : '3'} items in the UnderlineNav.
      </Text>

        {runtimeItems.map((item: string, index: number) => (

{item}

        ))}

    </Box>
  );
}

Version
v.36.5.0
Browser
Edge

Here's a short repro vid
https://github.com/primer/react/assets/427913/a68a38ec-6d07-4291-925f-1fe18aba8b2a

Hi @jeffwilcox 👋🏻 Thanks for filing this. It sounds like you've been able to work around this for now, but if that changes please let us know.
@broccolinisoup when you're back from vacation, curious if you can think of any recent changes to UnderlineNav that might have introduced this behavior?

Hello @jeffwilcox 👋
Sorry for a very late response!
I can confirm that the behaviour you are seeing is due to design and it is unfortunate not to be able use the component with the traditional React mindset 😢 I am now thinking maybe we can tweak this behaviour since you are experiencing an issue. 🤔
The component actually gets re-rendered when the state changes, i.e. when the number of the children is changed, but it doesn't update the final list that makes up the inline and menu items and this is something we had to sacrifice to accomodate one of the overflow features of UnderlineNav. We only update the list and menu items when resize is triggered.
Could you point me the code where this behaviour is happening? I'd like to understand the use case better and see if we can accomodate it. Thank you 🙏

Cool, appreciate the response in any form!
... the code is not pretty, that's for sure, but I think I could point you at a few examples. It's typically in a few rare spaces where we light up additional items only for administrators / feature flagged users / members of a resource which general users may not, yet that state is usually being loaded async.
One change at a cost of responsiveness we've considered is waiting to have answers on those flags before rendering the parent component that contains UnderlineNav2.
Since the project is half open source and half in the Microsoft internal EMU instance (I'm a Microsoftie), while you should have creds for it, I am definitely not expecting any support beyond the response here same as any oss participant.


BCP Related Bug-fixes

Description
In this commit we fix 3 issues:

Bcp does not handle ‘db..table’ syntax. The issue was pertaining to
sp_describe_first_resultset where SPI API was not able to resolve the
DB..TABLE name. To fix this we are making use of ANTLR Parser to resolve
the full name, in addition it also provides syntax checks.

Bcp-in does not handle identity column. The issue was with views created
from select statement does not inherit the constraints from the base columns
which was the reason why sp_describe_first_resultset sent wrong values for
identity columns. To Fix this we lookup the catalog at the time of view
creation in TSQL Dialect to initialise the constraints for it.

We had restricted sp_describe_first_result_set to only work with SELECT
statements and for non-select statements we threw an error. With this commit
we return 0 rows for any valid non-select query.

Task: BABEL-3193, BABEL-3194, BABEL-3208
Signed-off-by: Kushaal Shroff<EMAIL_ADDRESS>Check List

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is under the terms of the Apache 2.0 and PostgreSQL licenses, and grant any person obtaining a copy of the contribution permission to relicense all or a portion of my contribution to the PostgreSQL License solely to contribute all or a portion of my contribution to the PostgreSQL open source project.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Opened issue #229 for the problem with the branch selection script.

PR #230 contains a fix for the test problem.


Adding display parts to definition items to support FindAllReferences

Fixes #10541
Adds optional symbol display parts to the find all references results to aid in classifying the definition items that are returned.
@paulvanbrenk

👍

we should add a fourslash test for it as well.

👍

Added fourslash test and fixed a few errors

👍


Unsure how to use AbstractWsClient

@wuminzhe @itering recently i presented this repository at a BlockspaceDevRel event as part of Consensus 2024, as I was interested in encouraging its use. Here are the slides https://hackmd.io/@ltfschoen/Hy25QTH40#/.
I have a question, is it possible to use this scale_rb library to connect to a local Substrate-based node using Ws instead of Http? If so how?
There is a AbstractWsClient here https://github.com/wuminzhe/scale_rb/blob/main/lib/client/abstract_ws_client.rb#L6, but could you please share an example of how to use it?
Or if the Ws capability is incomplete, do you have any tips on how I could add that capability?
Should it be added similar to the deprecated repository https://github.com/itering/substrate_client.rb?tab=readme-ov-file#supported-rpc-methods where it was possible to connect using Ws using:
require "substrate_client"
client = SubstrateClient.new("wss://kusama-rpc.polkadot.io/")

I was only able to connect using Http in my fork of this repo in this example  https://github.com/ltfschoen/scale_rb/blob/easya/example01/main.rb#L3 based on reviewing the code in this repository.
The reason why I want to connect using Websockets is because most of the available parachain endpoints are Ws endpoints, I'd only use Http for connecting to a Substrate-based node running on localhost.

https://x.com/wuminzhe/status/1810555964296413455
@ltfschoen I'm writing the websocket client. I'll update the code after it is ready

WsClient.start('wss://polkadot-rpc.dwellir.com') do |client|
  block_hash = client.chain_getBlockHash(100)
  runtime_version = client.state_getRuntimeVersion(block_hash)
  puts runtime_version
end

WsClient.start('wss://polkadot-rpc.dwellir.com') do |client|
  client.chain_subscribeNewHead do |head|
    puts head
  end
end

PR: https://github.com/wuminzhe/scale_rb/pull/6

@ltfschoen I have added the ws_client and updated the http_client. You can try them by using 0.3.0.
And, I also added an examples dir to show how to use them. I'll add more examples.


SVG Logo

Hey Jessie!
Do you guys have a SVG logo of Oxide Computer on hand? If not, would you like one? It would be super useful for animating it, or collapsing the light/dark logo into one file and triggering the color change via CSS.
Thanks,
Mike

Oh we do not have one, but I do have the AI files and an EPS, GitHub will not let me upload either tho...

I will push to the repo under static :)

They are here, hopefully that helps! https://github.com/oxidecomputer/design.oxide.computer/tree/master/static/files

Thanks!
Looks like @fivenp already took care of the conversion with the PR #18 (I tried it with Inkscape and the ai file, was really easy)


Duplicate saved windows

When I name a tabset (say 'Zeno Project') and save it, TabCloud works nicely. When I come back later, I can open Zeno Project and work away. But if I add or delete some tabs, and save it again (to update what the cloud knows about that tabset), I get a duplicate saved tabset. A few saves later, I have half a dozen saved Zeno Project tabsets. The list of saved tabsets is not even name-sortable, making it hard to identify what is the most recent version.
Example: http://twitpic.com/3irz8z
I thought once I named a tabset, that name would be durable, and further saves would update that tabset, not create clones or near-clones. This will be the biggest impediment to scaling up my TabCloud use.

Any plan for this feature? I think it would be super high value.


Implement block transfer for Static API

@DavidAntliff and I propose to implement block transfer support for the Static API. We consider this to be a special case of an opaque resource write operation.

What we are trying to solve

Write only transfer of a large opaque resource (example firmware object's package resource /5/0/0).
Large means bigger than a coap packet allows, therefore requires coap block transfer.
Avoid buffering entire resource (maybe too large for memory).
Could write blocks to file.

How we propose to solve it

Consider opaque block resource as special case:

Can't be transferred as part of a whole object (block transfer failures are hard to handle without buffering).
Can only write resource on its own and not as part of an object write.

Erbium support only and no libcoap.
Actions:

Investigate current status of block transfer and coap standard.
Investigate and test erbium support for block transfer
Extend Static API to support opaque block resource and offer for comments.
Implementation and tests.

Relates to #292


What is fusv?

What is fusv seen in package.json
"css-lint-vars": "fusv scss/ site/static/",

Thanks!

Hi @ZaidBarghouthi,
It's a npm package: https://www.npmjs.com/package/find-unused-sass-variables we use to find unused scss variables.
It's made by @XhmikosR and myself

@Johann-S Thank you )


[GLib][Parquet] Add gparquet_arrow_file_writer_new_buffered_row_group()

Describe the enhancement requested
It's the bindings of parquet::arrow::FileWriter::NewBufferedRowGruop().
It's an advanced feature.
Component(s)
GLib, Parquet

Issue resolved by pull request 44100
https://github.com/apache/arrow/pull/44100


Introduce Line Debugger for Python UDF

This PR introduces the new Line Debugger for Python UDF.
Line Debugger Integration
The current interface expects any python based debugger, including the standard pdb, pudb, pdb++, PyDev.Debugger and many other available choices in the market. Our solution replaces the IO to and from the debugger, by conducting context switch between the thread being debugged (data processor) and the main loop thread.
This implementation integrates pdb as one example.
SingleBlockingIO
The customized IO that supports:
-Transferring one message at a time, from producer to consumer.
-Optional blocking flush.
-Blocking readline (as well as the awareness of being blocked on readline).
-Whenever being blocked, it switches between producer and consumer.
With the SingleBlockingIO, we achieved context switch between the main loop and data processing threads.
Debug Event
In previous PR #1754 we introduced Debug Command, and this PR now introduces Debug Event.

Debug Command: a message from user to debugger, instructing an operation in debugger, expecting no response from debugger.
Debug Event: a message from debugger to user, could be a reply to a Debug Command or an event triggered in debugger (e.g., hit a breakpoint, exception).

Debug Command and Debug Event Life Cycle
The global picture of the debug-related messages exchange life cycle is shown below:

Discussion 2022.12.07: Work in progress.


Change rpath to ORIGIN

This lets libui-node work with packaging system like pkg and nexe. The rpath used to be an absolute path, meaning that it could not be moved. This should fix that. I'm not 100% certain if this works on Windows since I currently don't have a Windows box to test on.
Edit: Seems like I tested it wrong. I'll see if I can figure out a solution that works with both systems.
All compiles work now!

Tests aren't passing because of some formatting, but the unit tests and compile work now. I've changed it so that $ORIGIN and module_root are both included in the search path.

Thank you! I'll also merge this in 0_1_0 version, where I'm preparing next release on npm.
Does this improvement allow you to link to npm release in proton?

This lets libui-node work with packaging system like pkg and nexe.

Awesome news! Do you already try it? I remember I read some times ago that they didn't support native node addons...

It allows me to package it into a single executable, and then distribute the libraries alongside, if people want to package it. I'm still experimenting with it on Windows, something to do with mismatched node versions I think.
It worked with pkg on Linux, as long as you distribute nbind.node and libui.so.0 next to it, but its giving me module did not self-register on Windows.

It seems this is not working for macOS too. I found this article and it seems $origin is supported only on linux (is working for me too on linux ).
I thought another way to solve the problem: we can try to statically link the libui library, and then package only the libui-node library. The build process probably will become slower, but since that happen only on developer machine, I think it shouldn't be a problem.
Any thought?

I didn't get a chance to test on anything other than Linux. I didn't know
that origin was Linux exclusive. Statically linking would make it more
convenient, for packaging as well since only one file has to be included.
The binary size isn't really a problem also.
It shouldn't be too hard to change I think.
On Tue, Mar 6, 2018, 3:34 PM Andrea Parodi<EMAIL_ADDRESS>wrote:

It seems this is not working for macOS too. I found this article
https://blogs.oracle.com/dipol/dynamic-libraries,-rpath,-and-mac-os and
it seems $origin is supported only on linux (is working for me too on linux
).
I thought another way to solve the problem: we can try to statically link
the libui library, and then package only the libui-node library. The build
process probably will become slower, but since that happen only on
developer machine, I think it shouldn't be a problem.
Any thought?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/parro-it/libui-node/pull/58#issuecomment-370918490,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJW73NUN9OTdPDPHvy0C7BNT3RqYVcRcks5tbvKogaJpZM4SbJBX
.

It shouldn't be too hard to change I think.

I agree.
@mischnic any thought?

I think on mac, setting the rpath to @executable_pathshould work.
Is there a big difference between one and two additional files? On Windows one additional file will still mean that the user won't put the executable on the desktop because he doesn't want an extra file there.

On macOS, setting the rpath to @executable_path should correspond to $ORIGIN.

Great, we can try to use it.

Is there a big difference between one and two additional files? On Windows one additional file will still mean that the user won't put the executable on the desktop because he doesn't want an extra file there.

No, the idea was just to overcome the relocation problem altogether. From the final user perspective I agree, there is really no difference...

I will make a pull request to make it work on mac (actually this is needed for proton-packager - i didn't even think about that).
Is it possible to put nbind.node into the libui-node root folder after building? Currently, a recompile is needed if the folder is moved (because the rpath is "hardcoded").
  cmd LC_RPATH
 path @loader_path (offset 12)
  cmd LC_RPATH
 path /Users/niklas/Desktop/DEV-TEST/libui/libui-nodepad/node_modules/libui-node

How is windows handling rpath?

Is it possible to put nbind.node into the libui-node root folder after building? Currently, a recompile is needed if the folder is moved (because the rpath is "hardcoded").

I think it should be possible, we just have to change the location from where we load it in index.js

How is windows handling rpath?

I'll do some research. I found an interesting article here: https://msdn.microsoft.com/en-us/library/ms682586(VS.85).aspx

When nbind.node isn't next to the libui library, it is still found on Mac and Linux, because the path to the libui library is specified using -rpath,<(module_root_dir). This doesn't seem to have an affect on Windows (as the concept of rpath doesn't seem to exists).
From the site you mentioned:

search order:

The directory from which the application loaded.
[System folders ...]
The current directory.

libui-node's npm run demo works, because the libui library is in the root folder, which is also the cwd of the spawned node process. (cd examples; node control-gallery doesn't work on Windows, the specified module could not be found).
To make it work consistently (and also from other libraries like proton-native) nbind.node needs to be in the root folder, since there seems to be no other way for Windows.  I think this is also the reason why @kusti8 forked libui-node for proton-native and added a script to do so: https://github.com/kusti8/libui-node/commit/3e614d2a55097dd75a799bcac58d358be4021119. It would be cleaner to specify the output path directly in the build process, but I don't know if that's possible.
(This change would also make libui-node path independent on other platforms because -rpath,<(module_root_dir) could be removed).

I think it should be possible, we just have to change the location from where we load it in index.js

Do we have to? (Mac, didn't test on Linux)
Error: Could not locate the bindings file. Tried:
/Users/niklas/Desktop/DEV-TEST/libui/libui-node/nbind.node
/Users/niklas/Desktop/DEV-TEST/libui/libui-node/build/nbind.node
/Users/niklas/Desktop/DEV-TEST/libui/libui-node/build/Debug/nbind.node
/Users/niklas/Desktop/DEV-TEST/libui/libui-node/build/Release/nbind.node
/Users/niklas/Desktop/DEV-TEST/libui/libui-node/out/Debug/nbind.node
/Users/niklas/Desktop/DEV-TEST/libui/libui-node/Debug/nbind.node
/Users/niklas/Desktop/DEV-TEST/libui/libui-node/out/Release/nbind.node
/Users/niklas/Desktop/DEV-TEST/libui/libui-node/Release/nbind.node
/Users/niklas/Desktop/DEV-TEST/libui/libui-node/build/default/nbind.node
/Users/niklas/Desktop/DEV-TEST/libui/libui-node/compiled/9.8.0/darwin/x64/nbind.node
/Users/niklas/Desktop/DEV-TEST/libui/libui-node/nbind.js
/Users/niklas/Desktop/DEV-TEST/libui/libui-node/build/nbind.js
/Users/niklas/Desktop/DEV-TEST/libui/libui-node/build/Debug/nbind.js
/Users/niklas/Desktop/DEV-TEST/libui/libui-node/build/Release/nbind.js
/Users/niklas/Desktop/DEV-TEST/libui/libui-node/out/Debug/nbind.js
/Users/niklas/Desktop/DEV-TEST/libui/libui-node/Debug/nbind.js
/Users/niklas/Desktop/DEV-TEST/libui/libui-node/out/Release/nbind.js
/Users/niklas/Desktop/DEV-TEST/libui/libui-node/Release/nbind.js
/Users/niklas/Desktop/DEV-TEST/libui/libui-node/build/default/nbind.js
/Users/niklas/Desktop/DEV-TEST/libui/libui-node/compiled/9.8.0/darwin/x64/nbind.js

Here's how to do it with node-gyp:
{
  "targets": [
    {
      "target_name": "nbind",
      "includes": [
        "auto.gypi"
      ],
      "sources": [ ... ],
      "conditions": [ ... ]
    },
    {
      "target_name": "copy_binary",
      "type":"none",
      "dependencies" : [ "nbind" ],
      "copies": [
        {
          'destination': '<(module_root_dir)',
          'files': ['<(module_root_dir)/build/Release/nbind.node']
        }
      ]
    }
  ],
  "includes": [
    "auto-top.gypi"
  ],
}

@mischnic, you contribute is really invaluable!
If you agree, I would like to make you a member of the repo, so you can contribute easily...
Regarding the technicalities...
I don't think there is a way to change node-gyp output folder, so the best solution would to copy artifacts as you suggested.
Do you know how node-gyp know that it has to run the copy_binary target too? It's because all targets are run in sequence?

Do we have to? (Mac, didn't test on Linux)

Seems not.

Do you know how node-gyp know that it has to run the copy_binary target too? It's because all targets are run in sequence?

node-gyp creates a Makefile from all targets in binding.gyp. They are then all executed (by default in alphabetical order it seems) - so it isn't quite sequentially, that's what "dependencies": [ ... ] is for.

If you agree, I would like to make you a member of the repo, so you can contribute easily...

Sure, though I don't know how much time I'll have in the near future.


Allow users to reject their own watch/blacklist PRs (v2: Now with cleaner commit history!)

This is #11285 but with a less messy commit history (and a small regex adjustment).
I'd have done rebase-foo on THAT PR instead, but my Git wizardry is... Novitiate. That's a word, right?

Implements feature request #8642
This PR allows users to reject/close (including -force) their own auto-created watch and blacklist PRs.
This was tested in this chatroom (where I removed SD ignoring its own messages when considering them for commands and some other changes, the full diff of which is available here where I mistakenly committed them to this branch and had to remove them).
One small change I made was making the payload argument for get_pull_request an optional arg with a blank string as its default. This change has no effect elsewhere in the project as get_pull_request isn't used anywhere aside from in this PR's changes, and you don't need to supply a payload when performing a GET request for a PR anyway.
I also took the liberty to remove the "so the user can learn from their mistakes" content from the required-rejection CmdException. I have a couple of reasons for this removal:

This wording makes no sense if the user is rejecting their own PR
We frequently reject duplicate PRs. In such a case, there is no mistake being made.

Known limitations:
This PR operates off of the chat messager's chat id, and so does submitting a watch PR. This can be different across chat servers, such as if a user submits a watch PR in SO chat and attempts to self-close it in Charcoal HQ. This will yield a "You need blacklist manager privileges to reject pull requests that aren't created by you." error.
Given that 95% of all watch/blacklist PRs occur in Charcoal HQ, I consider this an acceptable limitation.

FYI: this was already requested at #1639 before and was declined.

Tested and approved.  https://chat.stackexchange.com/rooms/154945/room-for-tripleee-and-ad-oisee

Sorry for the really long time this took. I'll try to plow through the backlog of pending PRs over the next few weeks.


Add consumption module to code owners

View a preview at https://prompt.ws/r/Azure/azure-cli/4906
This is an experimental preview for @microsoft.com users.
(It may take a minute or two for your instance to be ready)
Email feedback to 'azfeedback' with subject 'Prompt Feedback'.

@sandeepnl this is so that you'll be notified of changes to the module.


depencies out of date

cerebral-react and cerebral-baobab have been renamed:
cerebral-model-baobab
cerebral-view-react
good news is that if you update the demo, you'll be able to use the interesting Cerebral Chrome extension!
Dave

I think you can make a PR. But it will require a little more than just updating deps.

Yeah, I'll get it updated. No need for PR. :)

@bebraw maybe it worth to delay it until<EMAIL_ADDRESS>release. We are cleaning out lot of stuff now.

btw, we have new concept of modules. you can look it on http://cerebraljs.com website

@Guria Alright. Poke me again after the release and I'll get the work done. Maybe that's something you can then link to. :+1:

you might want to look at cerebral-boilerplate ,  it's also out of date, but is fixed with ncu -u.
Also, it seems to use the more recent react-transform-hmr   - would be great to see these features explained in your excellent SurviveJS book!
Here is their .babelrc
{
  "stage": 0,
  "env": {
    "development": {
      "plugins": ["react-transform"],
      "extra": {
        "react-transform": {
          "transforms": [{
            "transform": "react-transform-hmr",
            "imports": ["react"],
            "locals": ["module"]
          }]
        }
      }
    }
  }
}

The Cerebral chrome extension is outstanding too.
'cerebral-boilerplate' plus Flow plus the testing setup in this project would be great, just saying.

@davidmoshal Once I get "ok" to update the project, I'll make it use babel-preset-react-hmre. That takes care of the setup.
Here's the hot loading bit of the book. I did the setup without the preset earlier, but that got rather messy. I think I'll add more about presets to the chapter, though, so you understand how to implement them, though.

thanks, actually I have the book, but the link is helpful.
Your snippet reminded be of the other issue with your .babelrc, namely: Flow.
The SurviveJS book recommends this for flow:

"plugins": ["typecheck"]

Babel recommends:

"plugins": ["transform-flow-strip-types"]

I found that this worked:

"plugins": ["typecheck", "syntax-flow", "transform-flow-strip-types"]

So, would be great to know which is best to use!

@davidmoshal GitHub lost your comment for some reason (downtime?). Here's the comment:

thanks, actually I have the book, but the link is helpful.
Your snippet reminded be of the other issue with your .babelrc, namely: Flow.
The SurviveJS book recommends this for flow:

"plugins": ["typecheck"]

Babel recommends:
"plugins": ["transform-flow-strip-types"]
I found that this worked:
"plugins": ["typecheck", "syntax-flow", "transform-flow-strip-types"]
So, would be great to know which is best to use!

Thanks for bringing this up.
The Flow bits are still quite bleeding edge, but I'll check it out and update the setup accordingly. :+1:
If I remember right, the typecheck plugin does branching based on environment already. But it's possible there's something missing. Esp. for production usage it makes sense to strip the typing.

@bebraw - actually I deleted the comment when I realized that Babel React preset probably has all of those plugins:

see:  https://babeljs.io/docs/plugins/preset-react/

Here is the relevant info: https://github.com/codemix/babel-plugin-typecheck

Important: This plugin has a dependency on babel-plugin-syntax-flow and babel-plugin-transform-flow-strip-types. Without syntax-flow, babel will be unable to parse the flow annotation syntax. Without transform-flow-strip-types, the type annotations will be included in the output which will make it unparsable by JS engines.
If you are not already using the babel-preset-react plugin, you must install those plugins and include them in your babel configuration (usually .babelrc). Put them after typecheck in the list, e.g.

{
"plugins": ["typecheck", "syntax-flow", "transform-flow-strip-types"]
}

So, it's possible that you only need:
```js
{
   "presets": ["react"],
   "plugins": ["typecheck"]
}

I'm not sure whether the "typescheck" plugin is needed either if you have the react preset.

At any rate, I decided to go back to Typescript for now, better IDE (Webstorm) support at this time.
Dave

@davidmoshal Ok, cool. Thanks for getting back to me!

@bebraw I think you can start transition. We have finished to deprecate stuff and app<EMAIL_ADDRESS>without deprecation warnings should be compatible with upcoming<EMAIL_ADDRESS>But I am afraid we don't have clear upgrade path from<EMAIL_ADDRESS>used in this demo. So feel free to join us at discord and bother us if something not clear enough from docs.

@Guria Ok, no probs. I'll look into it sometime this week most likely.

I think this is fixed?

@christianalfoni Not yet. Busy with release. Next week most likely.

Oh, sorry :)

@christianalfoni If you have time to debug, deleteLane has something weird going on. It's as if state.unset(['data', 'lanes', input.id]); doesn't do anything useful. A lane with an empty notes listing will still remain hanging. Not sure if that's my bug or upstream bug.

All okay? Happy to help :)

@christianalfoni There is only one problem. The current solution leaves lanes.ids hanging. Here's the relevant code from modules/actions.js:
export function deleteLane({input, state}) {
  const indexOfLane = state.get(['lanes', 'ids']).indexOf(input.id);

  // XXX: figure out why this leaves a reference hanging
  state.splice(['lanes', 'ids'], indexOfLane, 1);
  state.unset(['data', 'lanes', input.id]); // XXX: does this work???
};

That state.splice(['lanes', 'ids'], indexOfLane, 1); doesn't seem to do anything useful. Possibly I'm using the API wrong here and there's a better way to delete by given id.
The code should probably check against -1 (no result) anyway.

Hi there!
Yeah, unset should work. state.unset(['data', 'lanes', input.id])  :-) It does not work?

Here's a trivial example:

Create a lane
Print model through Cerebral debug tools
Delete a lane
Print model through Cerebral debug tools

And result:

So splice actually works. It's that state.unset(['data', 'lanes', input.id]); that doesn't do anything (fails silently) here.

Is lanes an array? Unset is for objects :)

data.lanes is an object for sure (lane id -> lane content). That's the weird thing here.

Which version of cerebral-model-baobab is it?

0.4.7, should be the latest.
Is there a debug flag or something to get more info out of baobab? I would love to understand what unset does exactly. Might as well debug this properly, though.

It just uses the "unset" method on Baobab itself. http://www.cerebraljs.com/todomvc/ uses it as well, if you bring up the debugger, you see it running. Very strange. But I can have a rework of the demo, that API has changed a bit. Could check that out as well, would that be okay?

Sure. Feel free to do any changes necessary. :+1:
If you want, it might be cool to include the full app to your demos. Just link back here. Probably easy to set up.

Cool, I will dive into it :) Let you know when I am done!

Okay, the demo is now refactored an working. It was also running on the old debugger :)
Mostly syntax and some structure changes. The bug you experienced was actually related to the "delete lane" button actually propagating up and also firing off a "laneUpdated" signal, which then caused an error. Could not update when it was deleted :) At least that is what I fixed after refactor.
Okay, goody, let me know if I can help with anything else!

@christianalfoni Thanks! Esp. the new debugger looks great. Very handy!
The bug makes sense, yeah. Just missing preventDefault...
Thanks again! :+1:

Awesome :) :+1:


BUG- Syntax Error  -   Cycles and Scopes

Bug description
From this tutorial we are given the functions to get  all the scenarios in the Cycle and get  the primary scenario of the Cycle with the functions tp.get_scenarios(cycle=<Cycle>) and tp.get_primary(<Cycle>) respectively.  The code on the tutorial produces a syntax error.
Even after importing the Cycle library
from taipy.core import   Cycle

I can't seem to get the id of the Cycle.   I am using the same code on the tutorial .       @trgiangdo  , @jrobinAV  please help me  clarify this issue,  I am not very clear on how to use these functions :  tp.get_primary(<Cycle>) and  tp.get_scenarios(cycle=<Cycle>) .
Screenshots

The <Cycle> here must be a cycle entity.
Please take a look at the document page on https://docs.taipy.io/en/latest/manuals/core/entities/scenario-cycle-mgt/#cycle-attributes to see when a cycle entity is created and how to get one.


Separate namespace creation and metadata

Couple of issues caught in this branch, as per the commit messages.

I broke it. I'll fix tomorrow....

Couldn't leave broken tests. Too embarrassed.


'sortableListsPlaceholder' as id

Hi!
Plugin is awsome, I have integrated successfully with no many issues but I have last one that still give me a headache.
I have defined this callback on drop completion:
complete: function(currEl)
            {
                var $tree = $sortable.sortableListsToArray();
                $.ajax({
                    url: '{{ path('admin_category_sort_component') }}',
                    type: 'POST',
                    data: { data : $tree},
                    success: function(data) {
                        //console.debug(data);
                    }
                });
            }

But sortableListsToArray function gave me an element with 'sortableListsPlaceholder':
...
    [order] => 0
 )
[2] => Array
(
    [id] => sortableListsPlaceholder
    [parentId] => 92
    [order] => 0
)
...

Seems sortableListsToArray is not waiting to id restore after drop completion.
I need export tree data on drop finish in order to save hierarchy automatically.
I'm making anything wrong maybe?
Thanks in advance.

I am going to check it.

There was a bug if user calls toArray from complete callback. It should be fixed.
If you want it immediately use gothub repository. Bower/NPM is not available yet.

Thanks a lot!!

Bower and NPM are available.
Have a nice day.


E2E: go release main SLSA3 config-ldflags assets

Repo: https://github.com/slsa-framework/example-package/tree/v16.0.13
Run: https://github.com/slsa-framework/example-package/actions/runs/6701900628
Workflow name: go release main SLSA3 config-ldflags assets
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.go.release.main.config-ldflags-assets.slsa3.yml
Trigger: release
Branch: v16.0.13
Date: Tue Oct 31 04:10:57 UTC 2023

Repo: https://github.com/slsa-framework/example-package/tree/v16.0.13
Run: https://github.com/slsa-framework/example-package/actions/runs/6715521003
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.go.release.main.config-ldflags-assets.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.go.release.main.config-ldflags-assets.slsa3.yml
Trigger: release
Branch: v16.0.13
Date: Wed Nov  1 04:14:20 UTC 2023
Tests are passing now. Closing this issue.


trying to draw too large bitmap

hello, use demo, load large gif, report error, gif link

That's the limit of gif drawable library.


Add Fhir events

API change check for Azure.Messaging.EventGrid
API changes have been detected in Azure.Messaging.EventGrid. You can review API changes here


Inconsistent spearmanr behavior with NA's in vectors vs DFs

I find inconsistent behavior when performing spearman correlations in 2 vectors vs a dataframe, if the vectors have NAs. I have tried updating scipy through pip, and even installing the latest development version from Github but to no avail.
(I apologize for the code formatting as I am using Jupyter)
Reproducing code example:
from scipy import stats

bla=[1,2,3,4,5,np.nan]
ble=[1,2,3,np.nan,5,6]
bli=[-1,-2,-3,-4,-5,-6]

stats.spearmanr(bla,ble,nan_policy='propagate') #Works as intended
## Out:
SpearmanrResult(correlation=nan, pvalue=nan)

stats.spearmanr(bla,ble,nan_policy='omit') #Works as intended
## Out:
SpearmanrResult(correlation=1.0, pvalue=0.0)

stats.spearmanr(pd.DataFrame([bla,ble,bli]).T,nan_policy='propagate') #Doesn't return NA.
#It looks like it is omitting but the correlation should be 1 and not 0.83 between the two first vectors.
## Out:
SpearmanrResult(correlation=array([[ 1.        ,  0.82857143, -1.        ],
       [ 0.82857143,  1.        , -0.82857143],
       [-1.        , -0.82857143,  1.        ]]), pvalue=array([[0.        , 0.04156268, 0.        ],
       [0.04156268, 0.        , 0.04156268],
       [0.        , 0.04156268, 0.        ]]))

stats.spearmanr(pd.DataFrame([bla,ble,bli]).T,nan_policy='omit')  #Same as above
## Out:
SpearmanrResult(correlation=array([[ 1.        ,  0.82857143, -1.        ],
       [ 0.82857143,  1.        , -0.82857143],
       [-1.        , -0.82857143,  1.        ]]), pvalue=array([[0.        , 0.04156268, 0.        ],
       [0.04156268, 0.        , 0.04156268],
       [0.        , 0.04156268, 0.        ]]))

I have also found some instances where the comparison between 2 arrays returns a masked array as pvalue, but I cannot generate a reproducible example for this point.
Scipy/Numpy/Python version information:
<<Output from 'import sys, scipy, numpy; print(scipy.__version__, numpy.__version__, sys.version_info)'>>
1.2.0.dev0+849bacd 1.14.3 sys.version_info(major=3, minor=6, micro=0, releaselevel='final', serial=0)

I've additionally commented on this issue in #6530 and #6654

Yep this is a bug. The behavior is only correctly implemented in case a and b are both given as 1-D arrays, not for a as 2-D and b=None. Working on a fix.

See also this question on stackoverflow: https://stackoverflow.com/questions/51386399/python-scipy-spearman-correlation-for-matrix-does-not-match-two-array-correlatio

I have also found some instances where the comparison between 2 arrays returns a masked array as pvalue, but I cannot generate a reproducible example for this point.

That seems to be the case for the mstats version:
>>> x1 = [1, 2, 3, 4, 6, np.nan]
>>> x2 = [np.nan, 2, 3, 4, 6, np.nan]
>>> mstats.spearmanr(x1, x2)
SpearmanrResult(correlation=0.4285714285714286, pvalue=masked_array(data=0.39650146,
             mask=False,
       fill_value=1e+20))
>>> stats.spearmanr(x1, x2)
SpearmanrResult(correlation=nan, pvalue=nan)
>>> stats.spearmanr(x1, x2, nan_policy='omit')
SpearmanrResult(correlation=1.0, pvalue=0.0)


jenkins: 1.631 -> 1.633

cc @oconnorr (The maintainer on the package is actually coconnor; your nick has the smallest edit distance, I guess you mistyped?)

It's actually @coreyoconnor whom you want.


Scaling L1 test fails

Log:

Running Matrix Multiplication with 4 GPUs, starting with 1 GPUs
Testing with 1 GPUs
SGEMM - MAPS (unmodified routine): 38.103477 ms
TEST passed
Testing with 2 GPUs
ERROR in deps/maps/include/maps/multi/scheduler.h:189: invalid argument (11)

Resolved.


Workspace - Offline changes in Track Distance are not kept when going back online

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

Action Performed:

Go to staging.new.expensify.com
Log in with expensifail account
Go to Setting - Workspace - Reimburse expenses
Disable the internet connection
Under "Track Distance" change the "Unit" value and the "Rate"
Enable the internet connection
Refresh the page or force-kill and relaunch the app
Go to Setting - Workspace - Reimburse expenses again

Expected Result:
Verify the unit and rate change is still displayed
Actual Result:
Track distance changes are not kept when going back online and an error message is displayed
Workaround:
Unknown
Platforms:

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

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

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?:
If this was caught during regression testing, add the test name, ID and link from TestRail: https://expensify.testrail.io/index.php?/tests/view/3087990
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation

https://user-images.githubusercontent.com/93399543/213917429-962900ef-e292-4abb-aa30-043863cef0d0.mp4
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub

Bug0 Triage Checklist
Note: see this SO for more information.

[ ] The "bug" is actually a bug
[ ] The bug is not a duplicate report of an existing GH.

If it is, close the GH and add any novel details to the original GH instead

[ ] The bug is reproducible, following the reproduction steps.

[ ] If the GH doesn’t have steps to reliably reproduce the bug and you figure it out, then please add them.
[ ] If you’re unable to reproduce the bug, add the Needs reproduction label.
[ ] Comment on the issue outlining the steps you took to try to reproduce the bug, your results and tag the issue reporter and the Applause QA member who created the issue. Ask them to clarify reproduction steps and/or to check the reproduction steps again. Close issue.

[ ] The GH template is filled out as fully as possible

The GH body and title are clear (ie. could an external contributor understand it and work on it?)

[ ] The GH was created by an Expensify employee or a QA tester
[ ] If the bug is an OldDot issue, you should decide whether it is widespread enough to justify fixing or it is better to wait for reunification. If it’s better to wait, close the GH & provide this justification
[ ] If there's a link to Slack, check the discussion to see if we decided not to fix it
[ ] Decide if the GH should be resolved by an External contributor or Internal engineer, add the appropriate label

https://user-images.githubusercontent.com/42940078/214726773-8237b6d9-d07c-4003-8296-4dfd7989c55a.MP4

I think we should fix this because there's no route to update the new mileage rate once the error appears.

Looking into it today.

Looked into it and figured out the reason this fails is when we first update the rate it modifies the policy and updates the policy's lastModified in DB. Now when the other command to change the unit is executed it has the lastModified(client side) value less than the policy's lastModified value(which got updated due to the first command) and thus it throws an error because we don't allow updating a policy when the client policy's lastModified < the server's policy lastModified.

Going to look into it more to find the best fix here.

I will tag @jasperhuangg to see his thoughts about the issue because I can see from the blame that he worked on something related.

Hi @jasperhuangg, do you mind looking into this once? It looks like you worked on something similar in past.

Discussing this here on slack: https://expensify.slack.com/archives/C03TQ48KC/p1675353598420859

Discussing this in slack, I will look into it once we have some agreed solution.

@techievivek - did you have a summary of where you got to with that slack conversation?

Sorry I was ooo, we agreed on a solution of using an additional param partnerUserID to help us know if the request is coming from the same client. I have shared it once again in the room to have more eyes before we start the implementation.

@techievivek @sophiepintoraetz this issue is now 3 weeks old. There is one more week left before this issue breaks WAQ. What needs to happen to get a PR in review this week? Please create a thread in #expensify-open-source to discuss. Thanks!

I'll give it a moment - Melvin! OOO and weekend but @techievivek - let me know if you need help in getting more eyes on a solution/path forward!

Ohh yes, we have an agreed solution now, I will push a PR tomorrow.

@techievivek - what's the latest with the PR?

@sophiepintoraetz Sorry, I was actually caught up with N6.99 and passwordless so couldn't look into it, I have 2 PRs ready one in Web-E and one for the App, I will add the screen recordings today and send it for review.

@techievivek, @sophiepintoraetz Whoops! This issue is 2 days overdue. Let's get this updated quick!

@techievivek, @sophiepintoraetz Eep! 4 days overdue now. Issues have feelings too...

We have a few comments suggesting adding the updates to Auth repo to which I have asked a few clarifying questions here, and once those are resolved, we will have a way forward.

@techievivek, @sophiepintoraetz Uh oh! This issue is overdue by 2 days. Don't forget to update your issues!

After a few discussions we came to the conclusion that we need to have the checks in the Auth as well, I have pushed a new PR in Auth: https://github.com/Expensify/Auth/pull/7624

@techievivek, @sophiepintoraetz Eep! 4 days overdue now. Issues have feelings too...

Updated all the PRs and requested for a re-review.

@techievivek - are you able to go back to some of the comments on the PR?

@sophiepintoraetz Ohh, yes. Ioni and Yuwen have given it a review, going to address the comments and close the Auth PR by today and then focus on the Web-E PR.

Only Web-E PR is waiting for review from Jasper, we should get this close by today/tomorrow.

Looks like this got deployed to production - anything else here @techievivek to close this one out?

We can close this out, thanks.


Avoid using atomic primitives in the hot path

For instance, in tcpstream.c and udpstream.c, __sync_fetch_and_add() is used to update the number of bytes transferred.  This can cause contention between cores if they share cache lines (i.e. false sharing).  Ideally, each thread would update their own counter without any kind of locking, and these numbers would be tallied up after joining the worker threads.

Yes, but how does the main thread to collect those counters from the child thread counters?


This convolution is not supported by cudnn, MXNET convolution is applied.

[19:15:03] src/operator/convolution.cu:87: This convolution is not supported by cudnn, MXNET convolution is applied.
[19:15:03] src/operator/convolution.cu:87: This convolution is not supported by cudnn, MXNET convolution is applied.
[19:15:03] src/operator/convolution.cu:87: This convolution is not supported by cudnn, MXNET convolution is applied.
[19:15:03] src/operator/convolution.cu:87: This convolution is not supported by cudnn, MXNET convolution is applied.
[19:15:03] src/operator/convolution.cu:87: This convolution is not supported by cudnn, MXNET convolution is applied.
[19:15:03] src/operator/convolution.cu:87: This convolution is not supported by cudnn, MXNET convolution is applied.
[19:15:03] src/operator/convolution.cu:87: This convolution is not supported by cudnn, MXNET convolution is applied.
[19:15:03] src/operator/convolution.cu:87: This convolution is not supported by cudnn, MXNET convolution is applied.
[19:15:03] src/operator/convolution.cu:87: This convolution is not supported by cudnn, MXNET convolution is applied.
[19:15:03] src/operator/convolution.cu:87: This convolution is not supported by cudnn, MXNET convolution is applied.
[19:15:03] src/operator/convolution.cu:87: This convolution is not supported by cudnn, MXNET convolution is applied.
Traceback (most recent call last):
File "experiments/dff_rfcn/dff_rfcn_end2end_train_test.py", line 19, in
train_end2end.main()
File "experiments/dff_rfcn/../../dff_rfcn/train_end2end.py", line 171, in main
config.TRAIN.begin_epoch, config.TRAIN.end_epoch, config.TRAIN.lr, config.TRAIN.lr_step)
File "experiments/dff_rfcn/../../dff_rfcn/train_end2end.py", line 164, in train_net
arg_params=arg_params, aux_params=aux_params, begin_epoch=begin_epoch, num_epoch=end_epoch)
File "experiments/dff_rfcn/../../dff_rfcn/core/module.py", line 969, in fit
self.update()
File "experiments/dff_rfcn/../../dff_rfcn/core/module.py", line 1051, in update
self._curr_module.update()
File "experiments/dff_rfcn/../../dff_rfcn/core/module.py", line 572, in update
self._kvstore)
TypeError: _update_params_on_kvstore() takes exactly 4 arguments (3 given)
-------------------------------------------Error log  above ------------------------------------------------
When  I use DFF + R-FCN to train the imagenet dataset, DET+VID, it keep waing that "This convolution is not supported by cudnn, MXNET convolution is applied." and then error occur, is it because  I am using Mxnet 0.10.0 release ?
Thank you.

Please add 'cudnn_off=True' to all Conv op with dilate != 1. You could refer the symbols in Deformable ConvNets

Problem solved with your provided solution,Thank you!

Problem solved with your provided solution,Thank you!

How did you solve this problem? I also met this problem.

Please add 'cudnn_off=True' to all Conv op with dilate != 1. You could refer the symbols in Deformable ConvNets

Can you be more specific? I also have this problem, but it has not been solved yet. Thank you.


Nonfunctional typos #1643

Fixes #1643
This PR

Adds .idea (IntelliJ IDE configuration) to the .gitignore file
Fixes various spelling and grammar mistakes in comments
Clarifies some comments
Renames a variable for clarification purposes (without affecting functionality)

There are no new tests.
I wasn't sure if you usually squash commits before or after reviewing the PR. I'm happy to squash them if you prefer.

Regarding commits, don't worry about it - we always squash-merge. Keeping a clean commit history does make it easier to review in some scenarios though :)


Crash on Startup (Windows 7)

Hey, so i just updated from 0.31 (the W7 special version) to 0.4
And now all my games wich were working fine before crash on startup
(AOE1, AVP2, RealMyst)
Tried without custom settings and with custom settings, same result
(i tried to change DisplayResolution=app
DpiAwareness=app
FullscreenMode=exclusive)
DDrawCompat-lithtech.log
here is the log file from avp2, dunno if it might help u

Please change the LogLevel setting to debug and upload the log with that. Thanks!

DDrawCompat-lithtech.log
Here it is with debug mode

Ok, I think I found the culprit. Please try this test version:
ddraw.zip (diff.txt compared to v0.4.0)

Ok, so RealMyst is working now but AOE1 and AVP2 are still crashing, but not at the same time
before it would crash instantly, now the screen turn black 1 sec, like the game would start normally, then it crash
DDrawCompat-lithtech.log

Hmm, it seems to crash in SetCursor, but I'm not sure what could crash there. Could you please collect a crash dump also? I have some instructions here: https://github.com/narzoul/DDrawCompat/issues/50#issuecomment-520162844
Please also attach the new debug logs again with the crash dump.

Here you go
lithtech.exe.7128.dmp.zip
DDrawCompat-lithtech.log

Thanks! Unfortunately, the crash dump seems to get created after the original exception, so I still don't see what exactly is causing it. But at least I noticed an extra dinput.dll in your game directory. Where is that from? It might be installing some hooks that interferes with DDrawCompat. Can you try running the game without it?

It's a wrapper to convert dinput to dinput8 (that game has some mouse issues) but i still get the crash without it
And AOE1 don't have any additional wrappers, ill send you the log and dump from that game this time, maybe it will give better infos
DDrawCompat-Empires.log
Empires.exe.6056.dmp.zip

It looks the same. I found the issue anyway. The GetCursor function has an early call instruction with relative addressing on Windows 7, which wasn't patched up when moving it to the trampoline during hooking. This should fix it:
ddraw.zip (diff.txt compared to v0.4.0)

Yes it working just fine now
Thx for your time on this

Great, thanks for the reports! I'll add the fixes to the next release.

Win 7 startup crashes have been fixed in v0.5.0.


How should these schemas be updated?

Since the release of v1.0.0, we have made improvements to the schema, whilst still following the release text. Should we update the schemas here with the best approximation of the v1.0.0 specification? This will just be a tweak on the version presently in the specification repo, minus any fields we have added since v1.0.0.

Given that the schemas provided here are the ones in the repository for the v1.0.0 release, does it not seem a bit weird to update them without a patch release with the new versions. We would essentially be modifying schemas without having version numbers to distinguish them by?
If we are firm on not supporting point releases at all, then we probably shouldn't "fix" broken schemas in old point releases either?

Given that the schemas provided here are the ones in the repository for the v1.0.0 release, does it not seem a bit weird to update them without a patch release with the new versions. We would essentially be modifying schemas without having version numbers to distinguish them by?

Yeah, this is the crux of my question really... the trouble is we know that these 1.0.0 schemas are "wrong" in that they did not properly validate with the swagger tools (due to a pydantic bug), so they are not super useful, especially if this is the link that people are expected to point to.

If we are firm on not supporting point releases at all, then we probably shouldn't "fix" broken schemas in old point releases either?

I'm not against the idea that the schemas in this repository always provide our best approximation of that version of the human-readable specification, as opposed to the version that was bundled with the release itself. Another option would be to release a spec v1.0.1 that ONLY updates the schema in the spec repo, excluding all other changes we had made.

Here's the bug I mention above, as reported in https://github.com/Materials-Consortia/OPTIMADE/issues/314
https://validator.swagger.io/validator/debug?url=https://raw.githubusercontent.com/Materials-Consortia/schemas/master/openapi/v1.0/optimade.json

I'm not against the idea that the schemas in this repository always provide our best approximation of that version of the human-readable specification, as opposed to the version that was bundled with the release itself.

We open for a lot of potential frustration if there is no version identifier that changes when we do this, and no way to reference an older schema that was replaced. I really want there to also be a fixed URL under schema.optimade.org where one can reference a specific version of a schema that never changes (flawed or not).

Another option would be to release a spec v1.0.1 that ONLY updates the schema in the spec repo, excluding all other changes we had made.

But if we do this, there really is very little reason not to conservatively select commits which are just patches to that v1.0.1, and thus we are at a "normal" v1.0.1 patch release. Which there is nothing wrong with.
Since we took the decision to release v1.1.0, I can take it onto myself to make a v1.0 branch at a point before the issue tracker commit, cherry-pick every patch change since then, and they you can push the updated schemas to that branch. Does that sound ok?

Ok, there is now a v1.0 branch: https://github.com/Materials-Consortia/OPTIMADE/tree/v1.0
Are the schemas correct in this version? If you are ok with us staging a v1.0.1 release from this branch we can then update the schemas here. Howecer, we should create new https://schemas.optimade.org/openapi/v1.0.x/optimade.json that points to the respective schemas, and have https://schemas.optimade.org/openapi/v1.0/optimade.json point at the latest one.
How is it with github pages and symlinks? Can we just make openapi/v1.0 a symlink to openapi/v1.0.1 ?

This all sounds good to me @rartino. The schemas look fine, though bear in mind they also include the mass->species becoming a list rather than a float, although we convinced ourselves that this wasn't really a breaking change.
I think symlinks should work... happy to test either way

bear in mind they also include the mass->species becoming a list rather than a float, although we convinced ourselves that this wasn't really a breaking change.

The point being that this is a fix both in the specification and in the schemas of a specification bug, right?
I'm a bit reluctant against just trying this in the repository since it is bad form to run "experiments" on our stable immutable URL provider. But on the other hand, is there anyone that presently rely that hard on this service yet? Perhaps it is ok to try quickly; people must in any case be prepare for outages; github pages do go down from time to time.

bear in mind they also include the mass->species becoming a list rather than a float, although we convinced ourselves that this wasn't really a breaking change.

The point being that this is a fix both in the specification and in the schemas of a specification bug, right?

:+1:

I'm a bit reluctant against just trying this in the repository since it is bad form to run "experiments" on our stable immutable URL provider. But on the other hand, is there anyone that presently rely that hard on this service yet? Perhaps it is ok to try quickly; people must in any case be prepare for outages; github pages do go down from time to time.

I don't think anyone is relying on this, but we could test it with some dummy files in https://github.com/Materials-Consortia/materials-consortia.github.io...
Not necessarily related to this repo, but I am slightly worried about all the things that will be broken by having multiple existing spec versions, e.g. the providers dashboard https://github.com/Materials-Consortia/providers-dashboard/issues/52 and the validator action https://github.com/Materials-Consortia/optimade-validator-action/issues/66.

The documentation says symlinks are supposed to work, so I think I'll just do the adjustment in master and verify that nothing breaks.

Not necessarily related to this repo, but I am slightly worried about all the things that will be broken by having multiple existing spec versions, e.g. the providers dashboard Materials-Consortia/providers-dashboard#52 and the validator action Materials-Consortia/optimade-validator-action#66.

Oh, right, the validator probably needs to become aware of different versions (or different validators run, depending on version). But that is the case essentially regardless on how we handle versioning.

The symlink solution and v1.0.0 is now in place and seems to work. So, all we need to do once we are releasing v1.0.1 is to upload the schemas here and re-point the symlink.
But, there seem to be some additional patches being collected right now for v1.1.0, so perhaps we should hold off releasing v1.0.1 until those are in place.

@ml-evs Thanks for the work with releasing v1.1.0. I've updated the v1.0 branch to contain everything relevant from v1.1.0.
Just to make perfectly sure: the schemas that now are in that branch are the ones you want to replace the ones currently served at:

https://shemas.optimade.org/openapi/v1.0/optimade/optimade.json
https://shemas.optimade.org/openapi/v1.0/optimade/optimade_index.json

right?
Do you want me to create the v1.0.1 release, or should you?
Do you know how GitHub reacts when one releases a version with a lower version number after one with a higher number? I still want the "Latest release" to point to v1.1.0, and v1.1.0 to stay on top of the list of releases. (But I suppose we can "release" v1.0.1 by just tagging it in git, without creating a GitHub release for it.)

@ml-evs Thanks for the work with releasing v1.1.0. I've updated the v1.0 branch to contain everything relevant from v1.1.0.
Just to make perfectly sure: the schemas that now are in that branch are the ones you want to replace the ones currently served at:
* https://shemas.optimade.org/openapi/v1.0/optimade/optimade.json

* https://shemas.optimade.org/openapi/v1.0/optimade/optimade_index.json

right?

They are the correct schemas, but you will need to add a commit that changes the version from 1.0.0~develop to 1.0.1.

Do you want me to create the v1.0.1 release, or should you?

I don't mind, I'm happy to do it next week as I've just gone through the process again more recently.

Do you know how GitHub reacts when one releases a version with a lower version number after one with a higher number? I still want the "Latest release" to point to v1.1.0, and v1.1.0 to stay on top of the list of releases. (But I suppose we can "release" v1.0.1 by just tagging it in git, without creating a GitHub release for it.)

This is a good point... I'm pretty sure the releases will just be displayed chronologically. Just setting the tag is a useful workaround, as we will still get the automatic deployment to Zenodo but the order will not change).

I've updated the CHANGELOG on the v1.0 branch in the spec repo, and will make a PR that merges in the v1.0.1 changelog into the develop branch. Once this is accepted, I will tag the HEAD of the v1.0 as v1.0.1.

I think this can now be closed, we have all of the schemas up to date under schemas.optimade.org, and I've released v1.0.1 of the spec (for which I just set a tag, and not a full release, as we discussed above).


Show SBGN logo somewhere

I think it'd help and be honest to display an "SBGN PD" logo (link to sbgn.org) somewhere on the network view pages.

This is a good point that Dylan also raised - users (aka biologists) generally have a hard time understanding SBGN-PD. For example, 'what are process nodes'? Most biologists are used to activity flow.
I wanted to create an actual 'Help' page that contains the FAQ that would describe SBGN etc  - #78

I've added a Help link in 96f7c8fb1e8e66f04478242e3880430dd7143a8b. This is related to #78 so closing.


OpenStreetMap data parser

This PR adds parsing for OpenStreetMap data source. It can load a charging station from JSON and convert it to a ChargeLocation instance.
Supported values:

Name (tag: name)
Description (tag: description)
Location (lat/lon)
Network (tag: network)
Operator (tag: operator)
Chargepoints, including type and output power
URL and Edit URL
Cost (fee and parking:fee)
Some opening hours (only opening_hours=24/7)
License

Tests are provided, but the class is not yet integrated into the app itself. However, this should pave the way for a new OSM data source (#97).
Notes and open issues:

Based on #159, merge that one first and then I can rebase (and mark this as non-draft)
Address is not yet known and defaults to empty values (maybe this should be nullable?)
What does barrierFree entail? Probably it should be named accessible, but that's still unclear. Parking lot for people with disabilities? Reachability with a wheelchair? See https://wiki.openstreetmap.org/wiki/Disabilities for different meanings.
Right now the chargepoint type is represented using a human-readable string like "CCS (either Type 1 or Type 2)". The possible values are assigned to constants in the Chargepoint companion object. However, that's really not a clean solution. Instead, there should probably be an enum that lists all known chargepoint types and that has a clearly defined representation for serialization.

Thank you! 🎉
Some comments about the open issues:

Address is not yet known and defaults to empty values (maybe this should be nullable?)
Yeah, I think we can make the address nullable (if it can't easily be determined from the OSM data).

What does barrierFree entail? Probably it should be named accessible, but that's still unclear. Parking lot for people with disabilities? Reachability with a wheelchair? See https://wiki.openstreetmap.org/wiki/Disabilities for different meanings.

No, sorry that this was not yet documented: barrierFree means that the charger offers the possibility of direct/ad-hoc payment (with a credit/debit card or cash etc.) without the need to sign up e.g. for an RFID card or app from a service provider. Most chargepoint operators implement this using a QR code on the charger that leads to a payment website. But it could also be a credit card terminal or a coin slot directly on the charger, or payment in a shop. Free chargers can probably also be considered barrierFree if activating them does not require a registration.
GoingElectric labels this attribute "Barrierefreies Laden" or "ohne Vertrag/Registrierung nutzbar" in their UI and calls it barrierFree in the API.

Right now the chargepoint type is represented using a human-readable string like "CCS (either Type 1 or Type 2)". The possible values are assigned to constants in the Chargepoint companion object. However, that's really not a clean solution. Instead, there should probably be an enum that lists all known chargepoint types and that has a clearly defined representation for serialization.

The initial idea behind using a string instead of an enum there was that the list of plug/socket types used all over the world would become very long, especially when including all the different kinds of household sockets. So, in case a plug provided by the data source is not supported by EVMap, we can still show it as a free text field. But I also agree it would be cleaner with an enum... Maybe an enum field with an option OTHER combined with a string field with further information might be a solution?

No, sorry that this was not yet documented: barrierFree in this context means that the charger offers the possibility of direct/ad-hoc payment (with a credit/debit card or cash etc.) without the need to sign up e.g. for an RFID card or app from a service provider.

Ahhh, that's authentication:none=yes in OSM 🙂 I'll integrate that into the branch.

I did some initial fixes, will finish them later today.
TODO:

[ ] Make address nullable
[ ] Finish documentation of ChargeLocation fields

The chargepoint type can be handled in a separate PR.

@dbrgn I'm now merging #157, which also adds two new fields timeRetrieved and isDetailed to the ChargeLocation class. These fields will be useful for offline data storage/caching, but will probably cause some conflicts when rebasing this PR. isDetailed can probably always be set to true for OSM data as we have no compact representation of the OSM data that includes fewer details.

Thanks for the helpful rebase notes 🙂
Should timeRetrieved be set to the time the OSM data extract was generated? Or to the time it was parsed? The former probably makes the most sense.
We have access to three additional properties that might be interesting: The timestamp of the last update in OSM, the version (monotonically increasing integer) and the username that last edited this node. Do you think we should integrate these somehow? The information could be integrated into the general description, e.g. "information last updated in OpenStreetMap by   days ago", but this is hard to localize. Additionally, just because an entry is old doesn't mean it's wrong. (Note: This could also be handled in a future PR.)

Rebased against master and cherry picked some commits from other open PRs. Can be rebased again once #159 and #161 are merged.
I think all previously open issues are now addressed.

Thanks! 😊 I'll try to take a look at this later today, but it might also take until tomorrow.

Yep, I agree, the open issues are addressed 🙂 Can you rebase again as #159 and #161 are merged now?

Should timeRetrieved be set to the time the OSM data extract was generated? Or to the time it was parsed? The former probably makes the most sense.

Good question. I was thinking to use this for reminding the user to re-download their offline data - for GoingElectric this would need to be already after 24h due to their API usage policy, but for OSM data there is probably no such policy - so we could remind the user e.g. after 30 days.
So if we update the OSM extract every day or so, it should not make a huge difference whether we use the extraction time or the parsing time. But yes, if we show that value to the user and a change was made on OSM shortly after the extract was generated it might be confusing, so using the extraction time might be the best solution.

The timestamp of the last update in OSM, the version (monotonically increasing integer) and the username that last edited this node. Do you think we should integrate these somehow? The information could be integrated into the general description, e.g. "information last updated in OpenStreetMap by days ago", but this is hard to localize. Additionally, just because an entry is old doesn't mean it's wrong. (Note: This could also be handled in a future PR.)

Yeah, this would be interesting to add in a future PR. Not sure if we need the version number, but the last edited date and username would definitely be nice. We could e.g. show this at the bottom of the charger details screen where we already have the licensing info.

@johan12345 great, branch is now rebased and marked as ready!


Error running differential analysis on diffcyt

I am currently following a CyTOF workflow in order to analyse CyTOF  datas with CATALYST package and diffcyt package; however I keep getting the same error and I don't understand where it comes from.
Everything works just fine until I try to create the object "ds_res1".
> ds_res1 <- diffcyt(sce,
+                    formula = ds_formula1, contrast = contrast,
+                    analysis_type = "DS", method_DS = "diffcyt-DS-LMM",
+                    clustering_to_use = "merging1", verbose = FALSE)

I always get this error:
Error in rep(NA, nrow(meds)) : invalid 'times' argument.
I am new to R and I don't know what "times" means in this case.
Thanks for your time.
I will be grateful if you could comment on this.

I'm going to take a guess that it's because you have no state markers (i.e., all markers are annotated as type markers).
Can you give the following details?

output of sessionInfo()
after you get the error, give the output of traceback()
output of state_markers(sce)

I am having the same issue though differential abundance ran fine. Do I need to reassign the markers I want assessed as "state"? They are currently all "type".
Thanks!
Leeana

Ideally, there is an actual split of type (e.g., cell surface markers) and state (e.g., cytokines, etc.) markers, but it's not always clear how to do that. I just worry that if you've clustered on all markers, then there may not really be a differential state analysis to do.
Re: running diffcyt(), reassigning the marker_class column to state could work. Note that diffcyt() also has a markers_to_test argument. See ?diffcyt.


Commit causing Buffer error when executing in browser, not Node environment

This commit (line 36 in retrieve.js) breaks the extract call is giving the following error when executing in a browser such as Chrome:
Uncaught (in promise) ReferenceError: Buffer is not defined     at __WEBPACK_DEFAULT_EXPORT__ (retrieve.js:58:1)     at async extract

The reason is that Buffer object is only available in a Node environment, not in a browser library.
You either want to rewrite it to not depend on that Node Buffer class or rewrite the line something like:
const text = (buffer && Buffer) ? Buffer.from(buffer).toString().trim() : ''

@willjstevens  this library's browser support is quite limited, making it nearly unusable in that environment. Considering this, would it be best to remove browser compatibility from the project's scope for now?

Well, I have been using it in the browser for testing and analysis, in addition to a backend-Node environment. Limiting it to Node only would only inhibit from other use cases; might cause people to go elsewhere. This is also a JavaScript library and theoretically, anything written in JavaScript should function in any JavaScript engine (browser or Node.) Requiring Node, if anything, could be handled by externalizing Node-only components to external module, over marking as Node only. This would give people choice of how to use it.
This library is nice and is useful. I recommend not limiting it. Just try to rewrite the line above. Or ask, 'is that Buffer optimization necessary?' Or how could it be handled differently?, etc.  BTW - thanks for your work on this helpful project.

@willjstevens ok, let me see how we should deal with buffer at the client side.

+1, Buffer API isn't available in Cloudflare Workers. So, I can't use the latest version of the package.

+1, Buffer API isn't available in Cloudflare Workers. So, I can't use the latest version of the package.

Cloudflare just rolled out a new update to Node runtime compatibility for Workers, and Buffer is now available. See https://blog.cloudflare.com/more-npm-packages-on-cloudflare-workers-combining-polyfills-and-native-code/
I'm using the latest version there, and it works, but you have to update your wrangler.toml with:
compatibility_flags = ["nodejs_compat"]
compatibility_date = "2024-09-23"


PXP-434: [CLI] Implement the application info command

Summary

Ticket: PXP-434
What's Changed

Added

[x] add wukong application info command to display the application's configurations

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: jk-gan
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: jk-gan, onimsha
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Fix for reading TensorArray column that have been automatically chunked

When a TensorArray column is automatically chunked, e.g. for large array sizes, the data type is copied. In this case the type can not store the number of records as the outer dimension because this number will change as it is chunked. This removes the number of records from the shape and instead only the element shape is stored. When deserialized to numpy, the size of the Arrow extension arrow will be added to the final numpy array as the outer dimension.
Fixes #21

@frreiss I tested this change with your notebook and was able to read the feather file back in


[Feature Request] Adapt new sources from qbittorrent's search plugins

https://github.com/qbittorrent/search-plugins/wiki/Unofficial-search-plugins
In my testing the best of these sources seems to be

[ ] torrents-csv
[ ] limetorrents
[ ] torrentproject2

torrent-csv should be fairly easy to add, since it is just another JSON API: https://github.com/qbittorrent/search-plugins/blob/master/nova3/engines/torrentscsv.py
The other two look like HTML parsing is necessary.

I hadn't looked at the code yet, that's great to know! In my experience torrent-csv usually nets the best results too so that's a perfect low-hanging fruit. I might take a crack at it since I'm learning Rust.
Would you be open to the inclusion of an html parser in this project for other sources? Or is there a preferred html parsing crate I should use?

I hadn't looked at the code yet, that's great to know! In my experience torrent-csv usually nets the best results too, so that's a perfect low-hanging fruit. I might take a crack at it since I'm learning Rust.

Take a look at https://github.com/rnestler/attractorr/blob/master/src/search_providers/pirate_bay_search.rs which is a quite simple api.
For YTS I implemented it in a separate crate: https://github.com/rnestler/yts-api-rs but I'm not sure if this is really worth it.

Would you be open to the inclusion of an html parser in this project for other sources? Or is there a preferred html parsing crate I should use?

Until https://github.com/rnestler/attractorr/pull/38 we used https://crates.io/crates/select for HTML parsing for pirate bay which I found quite nice to use.

Jackett is probably the best project to target for the best searchability, but it might be outside the scope of this project and require a new dedicated project. https://github.com/Jackett/Jackett


Vendor<EMAIL_ADDRESS>

How to categorize this PR?

/area open-source
/kind task
/priority normal
What this PR does / why we need it:
Vendor<EMAIL_ADDRESS>which contains several bug fixes.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
v0.6 will be vendored as part of #2489, see @timuthy's progress.
Release note:

`extensions/pkg/predicate.Or` has been deprecated in favor of `sigs.k8s.io/controller-runtime/pkg/predicate.Or`.

Yes, indeed. Originally I wanted to do it seperately, but now that you also mentioned it, I just did it in this PR.
Rather than removing our predicate.Or I deprecated it with a note that it will be removed with<EMAIL_ADDRESS>

Rather than removing our predicate.Or I deprecated it with a note that it will be removed with<EMAIL_ADDRESS>
Makes sense. Thanks.


CI: generate coverage daily report

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


operator exascaler-csi-driver-operator (2.2.4)

I'd suggest that you close this PR, re-base your fork, and create a new PR that just has your new 2.2.4 folder.


Build package in prepack instead of prepublish

From Yarn docs about lifecycle scripts:

Note about yarn pack: Although rarely called directly, yarn pack is a crucial part of Yarn. Each time Yarn has to fetch a dependency from a "raw" source (such as a Git repository), it will automatically run yarn install and yarn pack on it to know which are the files to use.

prepack is the lifecycle script called before each call to yarn pack. This is typically the place where you'll want to put scripts that build a package - such as transpiling its source.

prepublish is called before yarn npm publish and similar commands (even before the package has been packed). This is the place where you'll want to check that the project is in an ok state. Because it's only called on prepublish, the prepublish hook shouldn't have side effects. In particular don't transpile the package sources in prepublish, as people consuming directly your repository (such as through the git: protocol) wouldn't be able to use your project.

I have found this change to be helpful when trying to install Redux using the Git protocol in order to test out changes on a specific branch.
prepack is run as part of npm/yarn publish so this change should hopefully not change anything about publishing.

To be honest, I really hate these hook scripts anyways. We should just have an automated build and publishing process (we have this on React Router, for instance).
But for now, this at least alleviates some of the hassle.

fwiw I've always published locally, first using np, now using release-it.