Does it support other languages rather than English?

Does it support other languages rather than English?
Nothing is mentioned in the read.me.
If it currently does not support other languages, is there a guide line to develop it for others?

I think it does, since it detects any voice audio appearing and the srt timing. @smacke ?

It would be surprising if it didn't since the very first line of the readme states:

Language-agnostic automatic synchronization of subtitles to video...

Yes! So far I've tested on English and Mandarin and it seems to work fine. Since it's just using presence / absence of speech, I think it should work for any language.


Dependency version update

Is it possible to bump the jni version from 0.19.0 to the latest - 0.21.1?

Hi !
It's work in progress ;)
But not an easy one.

OK, thank you for your work


[QA] Desktop client re-login is attempted with last WEB UI user

Setup

docker-compose-eos-test.yml at v1.0.0-rc3
connect desktop client 2.7.0 to https://localhost:9200 as user einstein
logout the desktop client
login marie at the WEB UI,
re-login the desktop client

Expected behaviour: user einstein should be suggested.
Accepting the suggested user marie on the IDP page seems to work well in the beginning, there is no hint that the ownCloud desktop app wants the access for a different user.
The information "Hi marie, ... ownCoud desktop app wants to ...  is wrong. Not her account, einstein's.

When 'Allow' is clicked. The client probably receives permisson for using marie's account, but then detects the mismatch -- luckily

The mismatch should be detected before sending a token to the client.

@TheOneRing @michaelstingl is this more a server or a client issue?

Support for login_hint is not yet supported by Konnect @IljaN

@jw branding issue in your screenshot is known as #698

Does this need to be re-tested?

Does this need to be re-tested?

re-tested. reproduce with local server oCIS version 1.11.0

@IljaN Is there some news regarding the login hint in konnect?

Still happening in ocis 2.0.0-beta1

Not supported.


Set first categorical column as stratification

Closes https://github.com/Caleydo/taggle/issues/352

This doesn't work, since the aggregation is now active all the time. Have a look here:

"Market" is a string column and is before continent -> stratification for continent shouldn't be active (there is no icon), however, the stratification seems to be still active.

This is also related to the issue #365. The string column is added only in dom but not registered on column stratification.

Its better but it is still not working properly:

There seems to be another bug now:

Also address https://github.com/Caleydo/taggle/issues/365 from
https://github.com/Caleydo/taggle/pull/389/commits/38a1c1f7c98de107578f0ccd8b6df98a03af0750

Overridden the addDefaultColumn for the matrix.


gsettings-desktop-schemas dep missing for Next browser

Issue description
https://github.com/atlas-engineer/next/issues/496 says that Next only renders a blank page on Nix.  In my experience, this is because the propagated input gsettings-desktop-schemas is missing.
Steps to reproduce
Install Next in a profile that does not have gsettings-desktop-schemas.  Start Next.
Technical details
Reporting this on behalf of a Nix user, I don't have Nix myself, sorry.

I've opened https://github.com/NixOS/nixpkgs/pull/74265 to fix this issue.

Thanks!


std commits

The protocol-ink poseidon contract could not compile successfully due to std feature issues. This is a slight change to enable the poseidon contract compile successfully.

Codecov Report

Merging #216 (03e401a) into master (f03f45a) will increase coverage by 0.02%.
The diff coverage is 50.00%.

@@            Coverage Diff             @@
##           master     #216      +/-   ##
==========================================
+ Coverage   32.89%   32.91%   +0.02%
==========================================
  Files          27       27
  Lines        1785     1787       +2
==========================================
+ Hits          587      588       +1
- Misses       1198     1199       +1

Impacted Files
Coverage Δ

arkworks-setups/src/lib.rs
0.00% <ø> (ø)

arkworks-setups/src/r1cs/anchor/mod.rs
0.00% <ø> (ø)

arkworks-setups/src/r1cs/mixer/mod.rs
0.00% <ø> (ø)

arkworks-setups/src/r1cs/vanchor/mod.rs
0.00% <ø> (ø)

arkworks-utils/src/lib.rs
66.67% <50.00%> (-2.56%)
:arrow_down:

Continue to review full report at Codecov.

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


issue with Huawei mobile phone

Describe the bug
It's actually not possible to use the plugin filepond on a Huawei P20 Pro and on this mobile phone only. I get an error every time I try to upload a file on this mobile phone but it's working fine on any other Android or iOS phone. We are actually working with the version 4.11.0 but we can reproduce the bug on the last version of the plugin.
Logs
Here is a sample of the error message : https://usersnappublic.s3.amazonaws.com/2020-09-15/15-12/403c5441-cb8a-4eae-82ab-69689930a37c.png
Information about your project:

Your browser and the version: Android 10 - Chrome 85.0.4183.120 / 85.0.4183.127
Your operating system: Huawei P20 Pro CLT-L29
FilePond version : 4.11.0

Additional context
OS of the mobile phone is in french

Can you reproduce the issue on https://pqina.nl/filepond

Yeah I confirm you that I can reproduce the issue on the URL you give me.

Tried to test this on BrowserStack but I can't find the device.

Any errors in the developer console?

Closed because inactive.


How long this feature will be in the experimental statr?

Years were  passed bit state not changed.
Is it possible to complete this part of code? We need it.
Do we have a release date?
Thank you,,

It will never being released
This guys like process, not results

@zdm please remember we have an official Code of Conduct, which your comment clearly violates. Please respect it in the future if you wish to continue participating within our github org.


thrift: fix python3 nativeBuildInputs

python3.pkgs appears to have issues with splicing. When building it in pkgsCross, or pkgsStatic the derivation uses the hostPlatform variant of setuptools as an input, but we want them for buildPlatform instead.

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

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

nix-diff indicates that switching to withPackages doesn't help:
nix-diff /nix/store/whkcs0mgfgsczdkb0ihpqvng4lvrq2i2-thrift-stat
ic-x86_64-unknown-linux-musl-0.18.1.drv /nix/store/x4l7zvj9rsl21gnjkc6dlhifdirzsii9-thrift-static-x86_64-unknown-linux-musl-0.
18.1.drv
- /nix/store/whkcs0mgfgsczdkb0ihpqvng4lvrq2i2-thrift-static-x86_64-unknown-linux-musl-0.18.1.drv:{out}
+ /nix/store/x4l7zvj9rsl21gnjkc6dlhifdirzsii9-thrift-static-x86_64-unknown-linux-musl-0.18.1.drv:{out}
• The set of input derivation names do not match:
    - python3-3.12.8
    - python3.12-setuptools-75.3.0-x86_64-unknown-linux-musl
    + python3-static-x86_64-unknown-linux-musl-3.12.8-env
• The environments do not match:
    nativeBuildInputs=''
    /nix/store/divlf5r1szymxm91idm9v76nmawjsplz-bison-3.8.2 /nix/store/38cffsqqx823crf1i4bcf6zz1qz1hgpd-cmake-3.30.5 /nix/store/gmhlgmbc9fdkyq68w601vnv9l09899hb-flex-2.6.4 /nix/store/01rcbfq8pmkk8nxxia2jwgrp2g0w4fmf-x86_64-unknown-linux-musl-pkg-config-wrapper-0.29.2 /nix/store/c9m6yd8fg1flz2j5r4bif1ib5j20a0cy-python3-3.12.8 /nix/store/m3gsnx49mnpzkmp56pysrc64106cai1r-python3.12-setuptools-75.3.0-x86_64-unknown-linux-musl/nix/store/sgpmz9cvgp0j9sfdi7q2p8jbid93ia7b-python3-static-x86_64-unknown-linux-musl-3.12.8-env
''

:face_with_diagonal_mouth:

Better solution in https://github.com/NixOS/nixpkgs/pull/296770.


cmd/vet: check for concurrent use of T.FatalX and T.SkipX

The testing package is explicit that FailNow, Fatal, Fatalf, SkipNow, Skip, or Skipf may only be called from the within the goroutine running the Test function:

A test ends when its Test function returns or calls any of the methods FailNow, Fatal, Fatalf, SkipNow, Skip, or Skipf. Those methods, as well as the Parallel method, must be called only from the goroutine running the Test function.

However, this is easy to overlook and it is not immediately obvious that the code below is a bad test:
func TestFoo(t *testing.T) {
	go func() {
		t.Fatal("fatal")
	}()
	time.Sleep(1 * time.Second)
}

This outputs (what a user expects):
--- FAIL: TestFoo (1.00s)
	foo_test.go:10: fatal

Giving the user a false sense of having written correct test.
However, when running the test with the -race flag, it becomes obvious this is not okay:
==================
WARNING: DATA RACE
....
==================
--- FAIL: TestFoo (1.00s)
	foo_test.go:10: fatal

Perhaps the vet tool can check for these cases.

I think if the race detector catches the problem then vet doesn't need to check too.

The difficulty is that the Fatal case isn't always triggered, so the race detector isn't able to detect them. But when Fatal is actually hit, funky things can sometimes happen.
Go vet offers the ability to detect these abuses of the testing package earlier on.


Fix: existing attributes are not replaced

According to the document of Darwin Foundation  of XMLElement.addAttribute(_:),

If the receiver already has an attribute with the same name, anAttribute replaces the old attribute.

and actually it replaces the old attribute on Darwin.
However in swift-corelibs-foundation, addAttribute(_:) do nothing when the attribute with the same name exists.
This patch fixes the behavior and improves compatibility with Darwin Foundation.

Good catch; thank you.

@swift-ci please test


Enhancement: Hotkey addition, and new line.

Thank you for the useful Obsidian plugin! 🙏🙇♂
I'd like to propose an enhancement to the translation hotkey options to improve workflows.
Currently, the plugin offers these hotkey options for translation:

DeepL: Translate selection
DeepL: Translate selection: From language to another
DeepL: Translate selection: to language
DeepL: Translate selection: To language and append to selection

Proposed Addition:

DeepL: Translate selection: and append to selection

This would use the To language preset from the plugin's Language settings without prompting for language selection each time, simplifying the workflow.
The existing To language and append to selection option is useful, and I suggest maintaining it, possibly with an added setting for inserting a newline automatically.
Example Use Case:
This change would facilitate language comparison in a stacked format:
"Tässä on näyteteksti kääntämiseksi haluamalleni kielelle."
"Here is a sample text to convert to my preferred language."
Currently, without a newline, the translation appends directly, making it less readable:
"Tässä on näyteteksti kääntämiseksi haluamalleni kielelle." "Here is a sample text to translate into the language of my choice."
This enhancement would greatly benefit users who frequently compare translated texts.

Hello again!
I am a curious and driven person, so I learned how to branch some code from a fork, then had to figure out how to compile the code (I'm a Python novice), and then push this and make my first ever pull request.
In any case, putting the built main.js in the .obsidian\plugins\deepl folder allowed me to test this really easily, and I confirmed it's all functional and working. I made an additional commit to add the newline function also to the Translate selection: To language and append to selection feature.
I sincerely appreciate your plugin, and I wanted to give back with this feature. I hope you find it satisfactory.


ElevationGained returns empty array

Describe the bug
I've logged an ExerciseSession (Samsung Health and Google Fit) which includes elevation gained. It syncs but the request to readRecords for ElevationGained returns an empty array. Distance comes back and the basic activity details, but no elevation.
To Reproduce
Steps to reproduce the behavior:

Log an exercise session activity
Sync with Health Connect
Sync with an app using react-native-health-connect
Request elevation for the exercise session
Empty array is returned

Expected behavior
Should return an array of elevation records, like the readRecords for 'Distance' that includes inMeters, etc.
Minimal Reproducible
  const rawActivities = await readRecords('ExerciseSession', {
    timeRangeFilter: {
      operator: 'after',
      startTime: from.toISOString()
    },
  });

  let activities = []
  // for each activity additional reads are required to pull distance and elevation
  for (const a of rawActivities) {
    const rawDistance = await readRecords('Distance', {
      timeRangeFilter: {
        operator: 'between',
        startTime: a.startTime,
        endTime: a.endTime
      }
    });
    const distance = rawDistance.reduce((acc, item) => {
      return acc += item.distance.inMeters
    }, 0)
   // distance is working great and returns values here

    const rawElevation = await readRecords('ElevationGained', {
      timeRangeFilter: {
        operator: 'between',
        startTime: a.startTime,
        endTime: a.endTime
      }
    });

    // rawElevation is empty array
    console.log('rawElevation', rawElevation)
    const elevation = rawElevation.reduce((acc, item) => {
      return acc += item.elevation.inMeters
    }, 0)

    activities.push({ ...a, distance, elevation })
  }

Environment:

Health Connect Version: 2.0.3
React Native Version: "0.73.5"
New architecture enabled: ?
Using Expo: Prebuild(Dev Client)

Hey!
Are you seeing any errors in ADB in Android Studio? It just returns empty array?

@matinzd thanks for the response. There are no errors logged and the function successfully returns an empty array. It does not throw an error. Do you have any examples of this working?

I'm having the same issue with the power data...
But starting with the elevation gain case (and using Samsung Health). Google Fit doesn't have the option to add elevation manually (at least I didn't find it): I've checked Health Connect and the elevation gain data isn't there (maybe Samsung Health didn't publish it?).
In the case of power, I entered the exercise manually via Google Fit and when consulting this data through my app, the array comes up empty. I checked on Health Connect and the potency data was there. I opened this issue: https://github.com/matinzd/react-native-health-connect/issues/125

Have you added any ElevationGained records? It seems that both you and @gabrielgouv  might be assuming these values are automatically calculated based on the ExerciseSession, but that’s not the case. Health Connect should be viewed as a data store for different entities, and it doesn't automatically compute values based on other entities, as far as I know.
In both of your cases, it looks like you expect that by entering ExerciseSession data, you would also get ElevationGained and Power data from Health Connect. However, I don't believe that's the intended purpose of Health Connect.

I have used Google Fit with a device and recorded a true activity with real elevation gain (not manually entered) and exercise session data comes through, just no elevation gain. The array is empty.

Did you check Health Connect app to see if ElevationGained data is there for that specific timeframe?


Proposal - Support for the web implementation for the geocoding plugin

Context
The current geocoding plugin is only for iOS and Android available. The plugin uses the geocoding services from Apple and Google, which are to a certain extend free to use on their respected platforms. Since there are more and more issues showing up on the flutter-geocoding plugin GitHub page requesting to support web, we decided to look into opportunities and see what is possible/available to support the web with the geocoding plugin. Unlike Apple's and Android's geocoding services, there is no free to use geocoding API that we can implement to support the web. There are some services that require you to register and offer a limited free experience.
Proposal
The idea is to implement the support for different geocoding services, for example services like HERE, Google's Geocoding API, Mapbox and so on.
The developer using the geocoding plugin is free to use any of the supported geocoding services to his liking. The developer is also responsible for providing their own API key/access token needed for the geocoding service to make the requests. Keep in mind that geocoding services are not free after exceeding an certain amount of requests, how many requests can be done before you have to pay for the requests depends on the chosen service.
Summary of the proposal:

Support will be build in for the web implementation with different paid geocoding services to pick from
Developer provides their own API Key/access token needed for the geocoding service to make the request

Since there is a demand for a web implementation of the geocoding plugin, I am very curious how the community and users of the geocoding plugin feel about this proposal. It would help me out if you would react with a :+1: if you would like to see this implemented, and if you're not interested or against this proposal please comment with a :-1:. If you're not interested or against this proposal, it would help out to leave a comment on why you don't agree with the proposal.
If you have suggestions on how to improve the proposal, or suggestions about a geocoding API you would like to see implemented then also feel free to react!

I would very much like to see geocoding plugin support for web implementation

Looking forward to seeing the plugin support for web

Agreed

@JDDV Thanks for the proposal, I find it very interesting. Have you checked the nomination  API? It has the reverse endpoint to lookup location from lat and long. Here.
If you find it interesting, I'd be glad to volunteer and implement a web package based on it for geocoding.
Waiting for your response.

I have implemented a web plugin for geocoding, however, there are some inconsistencies which is I believe due to the precision of the Nomniatim API.
Here is a difference between the same location on the web version and the android version.
For a Placemark
Mobile :

Web :

And for a location
Mobile :

Web :

I'm sharing this with you to know your opinion about it.
Thanks

Do you confirm that android and ios usage of this plugin is completely free zero $ zero cents at any scale (bc it uses ios and android SDKs instead of endpoint

It would be much help if it supports web

+1 for web support please!

That's the approach I'm currently using. However if there is an error thrown on the device geocoding service, there is a fallback to http geocoding. I would like to see the same sort of fallback if this is implemented, else I'll have to keep using what I have.
FWIW here is the geocoder I wrote for mapbox but you might want to rewrite it: https://pub.dev/packages/map_box_geocoder

+1 for web support please please please.

web strongly welcomed!

@JDDV is there any news about this?

Hi,
The Geocoding plugin provides a wrapper around the available (free and anonymous) SDKs provided by the native platforms (CLGeocoder on iOS and Geocoder on Android).
Since there is no such alternative on web, we are not planning to add support for web. There are several alternatives available but they all require some sort of user registration and therefore don't fit in the philosophy of this package:

HERE SDK for Flutter
MapBox

I will be closing this issue as Web implementation is not planned.


Add tip to change ApplePersistenceIgnoreState defaults

This can be useful if you have a project that crashes Xcode on launch, if you want to run multiple Xcode versions for different projects, or if you just want to choose the project to open every time.

Thanks @txaiwieser !


[Question] Skip ActionDispatch::SystemTest integration possible?

Hi,
I was wondering if it is currently possible to skip the ActionDispatch::SystemTest integration when using Rails 5.1?
Usecase:
Our integrationtests require the server (puma/passenger) to run as a separate process.
The workflow while developing would be to start bin/rails server in one terminal tab and run a integration spec in the other.
When I activate rspec-rails 3.7.1 this doesn't work anymore since the ActionDispatch::SystemTest integration start the server itself.
As I understand the Integration is activated when requiring example.rb (https://github.com/rspec/rspec-rails/blob/master/lib/rspec/rails/example.rb#L11) and thus requiring 'rspec/rails/example/system_example_group'.
Is it possible to skip that to make the old way (two processes) work again?
Thanks!

Ironically someone had the inverse issue recently, they'd already turned off the inbuilt server and were having process configuration issues. I believe if you set Capybara.run_server = false you'll restore the behaviour you want. See #1813


Link to swagger spec broken

Hey guys,
This page supposedly giving the link to the Swagger 2.0 spec is linked to in this doc, but appears to 404:
https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/Swagger-spec2.0
Thanks,
Steven

@stdas - The link has been fixed in this doc: https://github.com/Azure/azure-rest-api-specs/blob/master/documentation/creating-swagger.md


chore(deps): upgrade dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-main" workflow

Codecov Report

Merging #328 (6a3015e) into main (2974dfe) will increase coverage by 12.10%.
The diff coverage is 100.00%.

@@             Coverage Diff             @@
##             main     #328       +/-   ##
===========================================
+ Coverage   83.33%   95.44%   +12.10%
===========================================
  Files           2        1        -1
  Lines         126      395      +269
  Branches       31       46       +15
===========================================
+ Hits          105      377      +272
+ Misses         21       18        -3

Impacted Files
Coverage Δ

src/index.ts
95.44% <100.00%> (+13.44%)
:arrow_up:

example/src/main.ts

Continue to review full report at Codecov.

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


Refactor unit tests.

Current coverage is 90.03% (diff: 92.53%)

Merging #76 into master will decrease coverage by 4.97%

@@             master        #76   diff @@
==========================================
  Files             6         10     +4
  Lines           621        622     +1
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
- Hits            590        560    -30
- Misses           31         62    +31
  Partials          0          0

Powered by Codecov. Last update 4713fb7...89582cf

@tdamsma master's build is finally passing \o/


Open the library for additional serialization approaches

It would be a good idea to at least expose additional API to be able to plug other serialization providers.
Now we have
fun <T> WriteBatch.set(documentRef: DocumentReference, strategy: SerializationStrategy<T>, data: T, merge: Boolean): WriteBatch
fun <T> DocumentSnapshot.data(strategy: DeserializationStrategy<T>): T

Proposed API
inline fun <T> WriteBatch.set(documentRef: DocumentReference, crossinline encode: (T)->Any?, data: T, merge: Boolean): WriteBatch
inline fun <T> DocumentSnapshot.data(crossinline parse: (Any?)->T): T

By providing this API we should be able to plug in any serialization library (including kotlinx.Serialization).

Hi @brezinajn what serialization provider are you using?

When it's my decision kotlinx.Serialization. But in some older projects we have both Moshi and Jackson. We even have some projects using Helios by 47degrees. The thing is just to provide ability to plug serialization solution that suits the needs of your project.

Problem with such a change is what format is the data passed to the parse function in? If we pass the raw format from underlying Firebase library it will be platform specific

Problem with such a change is what format is the data passed to the parse function in? If we pass the raw format from underlying Firebase library it will be platform specific

That is a good point. It should be possible in the same manner as with current serializer/deserializer implementation.
fun <T> dev.gitlive.firebase.decode(strategy: DeserializationStrategy<T>, value: Any?): T {
    require(value != null || strategy.descriptor.isNullable) { "Value was null for non-nullable type ${strategy.descriptor.serialName}" }
    return FirebaseDecoder(value).decode(strategy)
}

What this function does is, it takes (multiplatform) deserializer and some value that came from firestore and runs the value through deserializer. There should be no need to force a specific deserializer.
fun <T> decode(parse: (Any?)->T, value: Any?): T = parse(value)

fun <T> decode(strategy: DeserializationStrategy<T>, value: Any?): T = parse({ data ->
    require(value != null || strategy.descriptor.isNullable) { "Value was null for non-nullable type ${strategy.descriptor.serialName}" }
    FirebaseDecoder(data).decode(strategy)
}, value)

In reality this is the only change needed.

Well that doesn't solve the issue I mentioned,  the Any? passed in the parse function will be different things depending on which platform you are running on and we shouldn't expose that to clients.
Perhaps what we could do is add a singleton serializer which you can pass in which would return the platform specific version which the client can then manage the deserialization of. That way we don't pollute the API with low level functionality

Oh I see where is the difference. I think about this as very low level API of "Don't impose unnecessary constraints and let the user handle it" type. If you don't wanna expose this to the user, the singleton approach seems fine.

I'm also puzzled on how one could decode firstore's (platform specific) GeoPoint and Timestamp values. Is that even possible given the current design?

@jonatbergn solution is https://github.com/GitLiveApp/firebase-kotlin-sdk/issues/64#issuecomment-662481715

closing due to lack of demand


Bug: types broken with assign

XState version
XState version 5
Description
In the code below, thing is allowed in the RUN transition.  If you remove the actions: 'doAction' then it will properly catch the error and not allow thing.  This seems to be specific to assign.
In my real world code, I accidentally had type: instead of target: and it took a bit to figure out why my machine wasn't working as expected.
import { setup, assign } from 'xstate';

type Events = { type: 'RUN' };
type Context = {};

setup({
  types: {
    events: {} as Events,
    context: {} as Context,
  },
  actions: {
    doAction: assign(({ context }) => {
      return context;
    }),
  },
}).createMachine({
  initial: 'idle',
  states: {
    idle: {
      on: {
        RUN: { thing: 'stop', actions: 'doAction' },
      },
    },
    stop: {},
  },
});

Expected result
thing is not assignable to type 'TransitionConfigOrTarget`
Actual result
It type checks
Reproduction
https://stackblitz.com/edit/vitejs-vite-9vip7x?file=src%2Fmachine.ts,tsconfig.json&terminal=dev
Additional context
No response

This has nothing to do with assign. With setup API our whole config is the target of inference - inferred type arguments are exempt from excess property check (which is something between a lint rule and a hard error in TS). We can't do anything about it right now - this is how TS works.

I'm such a beginner at typescript, even more so relatively.  Why does it catch the following when I remove the actions:
import { setup, assign } from 'xstate';

type Events = { type: 'RUN' };
type Context = {};

setup({
  types: {
    events: {} as Events,
    context: {} as Context,
  },
  actions: {
    doAction: assign(({ context }) => {
      return context;
    }),
  },
}).createMachine({
  initial: 'idle',
  states: {
    idle: {
      on: {
        RUN: { thing: 'stop' },
      },
    },
    stop: {},
  },
});

With Type '{ thing: string; }' is not assignable to type 'TransitionConfigOrTarget<Context, Events, Events, never, { type: "doAction"; params: NonReducibleUnknown; }, never, never, EventObject>'.


Error

I am getting this error when start to run the scan
[Error]Error occurred during the scan process: 'module' object is not callable

this error is only happen after the scan finished
im still trying to find what cause it but no clues Thank You
it wont affect the performance of the tool ?

thanks for your reply, it gives error before the scan get started


add workflow.yml

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@9c605ab). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             master        #1   +/-   ##
==========================================
  Coverage          ?   100.00%
==========================================
  Files             ?         4
  Lines             ?        41
  Branches          ?         4
==========================================
  Hits              ?        41
  Misses            ?         0
  Partials          ?         0

Continue to review full report at Codecov.

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


Godeps is not found on branch master

Godeps is not found on branch master. And tag 0.1 tips
"Package (golang.org/x/sys/unix) not found"
I can't build it , please help, thks!

@deathmemory we don't use Godep, we have all dependencies under .vendor version. Please update your go framework.

thanks for your respone !
I use these commands to build authz
 $ cd broker/
 $ go build
 $ mv broker ../authz-broker
 $ cd ..
 $ docker build .

I think the the readme description about build & usage should be update.
Best wishes


Question concerning variant representation in VCF

Hi Erik,
first, I wanted to thank you for developing freebayes. We did an large evaluation on the NA12878 sample and found that it performs much better than samtools, especially for indels. Thus, we decided to migrate from samtools to freebayes.
Now, I have a question concerning the representation of variants. You call and report haplotypes, which is fine until you want to annotate the VCF, because most annotation databases use primitives to describe variants. Thus we use vcfbreakmulti and vcfallelicprimitives to decompose complex variants and make it easy to annotate then. However we loose all INFO annotations in the process :(
Is there a way to make freebayes report primitives (without sacrificing performance), or are there annotation tools that can annotate complex variants from databases/VCFs that contain only primitives.
Cheers,
Marc

@marc-sturm Yes! You just do this:
vcfallelicprimitives -kg

I'm sorry, but this is hidden in the help text, which doesn't appear by default. You have to run vcfallelicprimitives -h.
Let me know if this helps, and close the issue if it does :)

Thanks, now annotations are kept and I dod not find any problems with it.
Perhaps you can update the documentation of the tools on the vcflib page. I missed the parameters because they are not listed here:
https://github.com/ekg/vcflib#vcfallelicprimitives
Cheers,
Marc


ci: restyled seems broken

per https://github.com/iterative/dvc.org/pull/1058#pullrequestreview-376234425
Let's double check it's still working and that it can fix as much as possible from our format checks...

Now Restyled seems completely removed from the repo. Maybe a recent merge guys? @iAdramelk @pavelgrinchenko @fabiosantoscode
Thanks

@jorgeorpinel it's not, we just need to update and make sure it works - https://github.com/iterative/dvc.org/blob/master/.restyled.yaml

Yeah turns out someone added stylelint but it's not supported. I just removed it in 20c17baf5ce5c5e83096878a86c9da5260264299.
Should we add any others? Availeble ones: https://github.com/restyled-io/restyled.io/wiki/Available-Restylers

sounds good, I would not worry about even JS files to be honest ... mostly we should provide simple workflow for md files.
can we test it?

Fixed, see #1159


Add PageActionDescriptorChangeProvider to allow reloading on page changes

More of an FYI thing since it gets @danroth27 closer to a functioning demo


Add a manpage generator & a manpage

@alexanderkjall does this work?

I understand the manpage generator will not be included in the crates.io upload while the manpage itself will.
If this is OK, I'll merge this and cut a release.

Cool, I'll write a changelog and cut a release later today then.


Global custom properties no longer showing up

I don't know if the update broke something. But, 2 days ago, this extension was working great. It was able to pick up all my css custom properties. Now, it doesn't seem to work. Only intellisense picks up on the custom properties I've used within the same file.
I tried re-enabling the extension and rechecking its settings.  I just added "cssvar.files": ["**/*.css"], but it made no difference.
Here are my settings:
"cssvar.postcssPlugins": ["postcss-preset-env"],
	"cssvar.extensions": [
		"css",
		"scss",
		"sass",
		"less",
		"postcss",
		"vue",
		"svelte",
		"astro",
		"jsx"
	],
	"cssvar.postcssSyntax": [
		"@tokencss/postcss",
		"postcss-preset-env",
		"open-props"
	],
	"cssvar.files": ["**/*.css"],

It fails in .astro files without an alert. Within .css files, I get the screenshot attached:

It clearly looks like the parser is failing to parse the CSS file, which shouldn't be the case, as I released a safe-parser which should work for any type of file.
Can you help with the following details:

Extension version you are using right now?
Are you using VSCode's multi-root workspace?
Provide VSCode logs. Please follow this doc to provide log details.

I would need contents from the file which is failing to get parsed. The line number and file name details can be seen in the log.

Also, to understand your cssvar settings:

Supported CSS syntaxes for cssvar.postcssSyntax are:

postcss-scss (for scss)
postcss-sass (for sass)
postcss-less (for less)

In your config, I am not sure what does "@tokencss/postcss" do. Is it a supported postcss syntax parser.

You can also refer to the examples, if your vscode settings are correctly set or not 👍🏾

Thanks @phoenisx
I have a bunch of errors like these:

Currently, it's now working but only within css files. However, between the <style> in .astro files it's only picking up currently existing custom properties via Intellisense.
I did the obvious thing and restarted my computer. That made no difference.
Using Workspaces or not made no difference.
I removed the TokenCSS from cssvar settings – made no difference

I tried on VS Codium too. No errors, but doesn't work with Astro files either.

Is this the project: https://github.com/djmtype/astro-xenon that fails to parse the main.css files??
Anyways, I need to raise a PR to update Open-Props docs, because there has been some recent changes that by default ignores scanning node_modules files.
Due to this you will have to provide:
{
  // Do not ignore node_modules, which is ignored by default
  "cssvar.ignore": []
}

You can refer to this example for better understanding.

@phoenisx That's the repo, but it's the open-props branch. https://github.com/djmtype/astro-xenon/tree/open-props
It's still not offering css variables suggestions.
I also tried adding a Vue component to an Astro project and that didn't provided suggestions to Open-Props or my local css variables either. It seems to only provide suggestion among other css files.

Hi @djmtype
What is the extension of the file where you are not seeing any intellisense?
Can you share a short video clip or a reproduction of the issue that you are facing?
This would help me understand your problem better

@phoenisx CSS Vars currently isn't showing suggestions from local css files or node modules on any .astro file within a

@phoenisx I figured out my issue – me, or my muscle memory.
Without I realizing, I'm so use to typing var first. But CSS Var expects -- from the start which so much better as it saves a lot of typing.
In CSS files, it works either way by typing var or by typing --. Frameworks like Astro and Vue, within a style tag, it only works by typing -- first.
However, I wouldn't change a thing. I just need to train my brain.

I feel the issue is with using PostCSS plugin, as raised earlier https://github.com/willofindie/vscode-cssvar/issues/38#issuecomment-1161198828

Hi @djmtype
Were u able to find details on the issue? Was any other extension causing conflict with this one?
Also, I wanted to know, Are you working on a local file system or a remote file system project?

Hey @phoenisx
Thanks again, it seems the PostCSS Intellisense plugin was creating the conflict with CSS Vars enabled.
I'm just working on a local project.


James 1773 Rework SizeGreaterThan

Specified size limit should not be negative or null
Right more tests for hedge cases and all possible units
Some imports were not needed

I rewrotte tests for all standard matcher (that do not have tests based on inheritance) with assertj.
I provide also some tests for HasAttachment
HasAttachment now is conform to RFC-8153 and uses content disposition.
I clarified FetchFrom did not removed non matched headers


Fix ILASM path when building on OSX

Mono installs its binaries on OSX under /usr/local/bin rather than /usr/bin, so we should detect the correct path rather than hardcoding it.
Please review: @edumunoz @jacdavis

👍

LGTM


Storage Blobs Extends and Uses RequestConditions

Fixes #5939
Updates the Storage Blob access conditions classes to extend those in Azure Core.

Common transient test failure, pipelines has an issue where individual steps cannot be re-ran, merging.


missing document

this isn't even really a document it's just a collection of images 😭
https://docs.google.com/document/d/1JVnSnWap9OxYfacKN0LTHKOQYSeuo2bwnOVoDc5w98M
is it official? no clue but it was announced in orc exclusive So i guess

Thanks!


Update Guess_Game.py

1)Guesses we not getting updated
2)Code in just 35 lines

There are some conflicts arising, please check. Maybe the pull you are making is already pushed.

Hello..any error in the code? Or what?
On Thu, Oct 1, 2020, 11:30 AM Shivang Dubey<EMAIL_ADDRESS>wrote:

There are some conflicts arising, please check. Maybe the pull you are
making is already pushed.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/shivangdubey/HacktoberFest2020/pull/25#issuecomment-701906352,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANO2C3WFBMHKIR6ZR5KF32LSIQLJPANCNFSM4R76OZAQ
.


gqlgen - prisma select only requested fields

Hello,
I'm trying to build a GraphQL service using gqlgen and prisma2. I want to select only requested fields from prisma using gqlgen field collection, is it possible? Does prisma golang client supports field selection?

Unfortunately, it's not supported yet. We want to have the feature at some point but don't have the capacity for it in the near future.

Syntax proposal:
users, err := client.User.FindMany().Select("id", "email", "username").Exec(ctx)

The users variable would still be of type []db.UserModel, but the connection would only fetch the selected fields, and unselected fields would be nil or the Go default value.

Any updates / community accepted way to do this?

No, and we don't expect to have this feature anytime soon due to constrained resources

Don't know if this still is requested, but just got to playing around with prisma go (after prisma ts), and got it to work somehow:
	var folder db.MediaFolderModel
	query := global.DB.MediaFolder.FindUnique(db.MediaFolder.Name.Equals("cache")).ExtractQuery()

	query.Outputs = []builder.Output{{Name: "id"}, {Name: "name"}}
	err := query.Exec(context.Background(), &folder)

Returns the following:
{```
"id": 5,
"name": "cache",
"path": "",
"type": ""

}

i.e. path and type is not fetched (actually not in json from prisma engine), but set as empty strings because of golang struct

Oh wow, that is pretty cool @fragdance1. If you want to create a PR to add a method .Select([]string{}) to the query builder to select these fields, I'd be happy to review and merge it!
I think the question left for this issue specifically would be if passing the args directly from gqlgen would work.

Actually forked it to https://github.com/fragdance1/prisma-client-go in order to implement just that (and not mess anything up), and now I can call it like:
episodes, err := global.DB.Episode.FindMany(db.Episode.ShowID.Equals(id)). 		Select([]string{"name", "id", "episodeNumber", "seasonNumber", "progress", "owned"}). 		With(db.Episode.VideoFiles.Fetch(). 			Select([]string{"id", "extension"}). 			With(db.VideoFile.Subtitles.Fetch())). 		Exec(context.Background())
I've also added a replacement function ExecJson that returns the raw json from the call, thus excluding the fields not retrieved. Feel free to check it out/grab the code

@fragdance1 I think this would be awesome to have in the client. I'd be happy to review and merge a PR for this!

@steebchen Just tried to push to a new branch feat/prisma-select-statement, but got access denied.
Anyways, the code in my branch turns this:

to this:

When using the code:

As can be seen in the screenshots it works on multiple levels (here the credit goes to you), and I have select on both the Episode model and the relational Videofile model

@fragdance1 You can just push it to your repo and then create a PR from your branch to this repo

@fragdance1 May you create a PR with your change, please?

Hi,
sorry about the delay, got sidetracked at work.
Problem is that I pushed a lot of changes, so no single 'Select'-branch.
Think the easiest is for you to make the changes (there aren't that many).
In generator/templates/actions/find.gotpl add
func (r {{ $result }}) Select(params []string) {{ $result }} {
r.query.Outputs = []builder.Output{}
for _, q := range params {
r.query.Outputs = append(r.query.Outputs,builder.Output{
Name:    q,
})
}
return r
}
And that's it
On Tue, Aug 16, 2022 at 5:25 PM Alex @.***> wrote:

@fragdance1 https://github.com/fragdance1 May you create a PR with your
change, please?
—
Reply to this email directly, view it on GitHub
https://github.com/prisma/prisma-client-go/issues/346#issuecomment-1216791712,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFZKQZXEVDUCTNXCQP7KL2DVZOXH3ANCNFSM4VHCLP5Q
.
You are receiving this because you were mentioned.Message ID:
@.***>


Styling issue at first load

Hello,
I'm testing the basic example and when i first load the page it gets like this:

After navigate to another page and navigate back to the page where the timeline is, it gets fixed by itself.

Thanks,

This is very weird!
what was your environment?

I'm using with Ant Design UI on top of a React + Redux .net core template

what os and browser are you using?

@rmncavaco before we proceed, can you please provide a a repo or a codesandbox that you can share here that displays this bug?  This issue could be an issue with the library or an issue with your code but it's impossible to know without actual code that we can play with.
This is why this project has issue templates (which you should have filled out) configured so that you as the issue creator can provide all pertinent information to us, the maintainers, so that we can address your issue as quick as possible.

Windows 10 + Chrome Version 68

@mcMickJuice i will create a codesandbox asap and let you know.

I've made some code cleaning and apparently it went away....
Sorry about bothering you guys and thank you for you time.

Ok, i was able to reproduce it again in codesandbox https://codesandbox.io/s/wj9r8wy18
Try the following:
Load the page and click on the timeline menu
Click anywhere in the code and hit the "space" bar.
Looks like that any update to the code when the timeline is been rendered causes the CSS to get messed up.

works fine for me

ok I was able to reproduce now. It is a bug of how we calculate the width of the calendar headers part. Will look into it.

Hey, is there any progress on this issue?

Hi, is there a workaround for this issue?

I'm an issue which i think its also related to the calculation of the header width.

In the initial state the sidebar header is not property aligned,
after a page resize (or window.dispatchEvent(new Event('resize')); like @mertcanyalhi mentioned) it seems to get resolved.
Also, if I shrink the page to a point where the vertical scroll bar is displayed the header seems to get a wrong size again.

@TiagoGraf89 this will be solved as well with Custom headers which is getting closer and closer to the end line.
could you please provide a codesandbox issue for future testing?

I've resolved this issue by dispatching a resize event while rendering:
window.dispatchEvent(new Event('resize'));

Thanks for the temp solution!

released in 0.25.0


Add tracking to subscriptions banner CTAs

What does this change?
We are adding tracking to the digital subscription and guardian weekly banners, as described in the trello card for digital subscriptions and the trello card for guardian weekly.
How to test
You can test this by running the code in storybook (with 'yarn storybook') and clicking on the 'Subscribe now' CTA and also the sign-in url. Since these are links, you can check where these clicks take you, noting however that the links are constructed from fakey fakey data in the stories for each banner.
// TODO: Add notes on how to test the not now and close buttons
How can we measure success?
When these remote banners are switched on, tracking data keeps on flowing to GA and Ophan.

covered by https://github.com/guardian/contributions-service/pull/197


Medusa export : ability to export all the vault keys for key value engine

Hi Team,
I'm really impressed with the tool. It beautifully exports the given vault path and has very minimal and simple setup. But my main use case was to export all the keys for all the mounts for key value engine. I had few keys of generic/kv1/kv2.
Since this module doesnt support this right now out of the box, i have forked it and coded the basic minimal version at https://github.com/sumanthkumarc/medusa/commit/47296bba9afe7f206ffe41822ae0c116f50bf0d5 This is my first golang code, so code might not be very standard but works for me.
medusa export /

will export all keys of all mounts belonging to generic/kv1/kv2 secret engines and skips any other engines. I have also added go routine support for parallel fetch, and timing.
I'm all good for giving up my code or even contributing, if i get some mentoring.

Hi @sumanthkumarc
I really love that this is your first go code. To me it looks good. So great job!
I think that what you are doing could be achieved using a combination of the Vault cli tool and Medusa. You should be able to do the list mounts using the Vault cli and then using some bash scripting extract the kv1/kv2 engines and then run medusa export for each secret engine.


No history or booking for the search bar

Is there a way to keep track of the history of the search bar? This is important to track how i arrived to my final search query.

No history available in the browser UI, but take a look at the [default location] -> /data/moloch/logs/viewer.log, filtering on your username and the queries are there.

The browser history is supposed to track the searches also

Thanks for the replies. @awick @WilliamSalusky

Be nice to have this as a feature in the UI though. I would have to retype similar queries over and over.

you can use browser bookmarks or your can use moloch views (they are in settings).  Do you have an example app that does something like you want that we can see the UI of?

#731 replaces this issue, being worked on now


Integrate react-theming from staging

This moves the code that exists in fluent-ui-react-staging so we can all start working in one codebase!
Microsoft Reviewers: Open in CodeFlow

Warnings

:warning:
There are no updates provided to CHANGELOG. Ensure there are no publicly visible changes introduced by this PR.

:warning:
New package.json added: packages/react-theming/package.json. Make sure you have approval before merging!

:warning:
Package (or peer) dependencies changed. Make sure you have approval before merging!

Changed dependencies are detected.
Changed peerDependencies in packages/docs-components/package.json

package
before
after

prettier
^1.18.2
^1.19.1

Changed dependencies are detected.
Changed dependencies in packages/react/package.json

package
before
after

classnames
^2.2.5
^2.2.6

  Generated by :no_entry_sign: dangerJS


PRT-944: Chaging lavavisor block parsing to just query the params and validate the version that way we wont miss blocks

This PR changes Lavavisor upgrade detection mechanism

Old Mechanism: monitoring the upgrade events to detect a need for an upgrade. (If we miss the event, then gg)
New Mechanism: Queries the protocol version params from blockchain in Update() and compares it with the lastKnownVersion. When the mismatch occurs, lastKnown version parameter is updated inside Update() function so that Lavavisor will detect the mismatch inside its own ValidateProtocolVersion implementation.

This PR also adds block height info to lavavisor info logs as follows:

merged in #876

merged in https://github.com/lavanet/lava/pull/876


refactor(dashboard): rewriting these components

rewriting the dashboard components to make it easier to add a card that will load it's data

Should this go into master?

ImageCard expand to full screen on basic story gives a console error
Uncaught TypeError: onCardAction is not a function
    at onClick (Card.jsx:333)

thanks @tay1orjones I fixed that one, any other issues?

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

npm package (@release-1.x dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


How to force update check?

AFAIK the plugin (or, more correctly, it's service worker) only checks for changed files (new application release) when the webpage "starts"/loads.
Is there a way (or can it be added) to manually force a check via a function call or at least define a re-check interval.
Reason: My application (PWA) is likely to remain opened (or, at least, live in the background) for a long time. Unless the user force-closes applications or restarts the phone, the application (which regularly gets updates) won't notice that a new version is available. I would like that at most 3-4 hours after the last check  the webserver is contacted again to see if a new version has been released.

@jampy hey, there is no such a way at a moment, but that's indeed good to have.
offline-plugin doesn't add special restrictions to SW or AppCache updates, so while there is no built-in function for that, you can still do that manually like this:
function updateOfflineService() {
  if (navigator.serviceWorker) {
    navigator.serviceWorker.ready.then((registration) => {
      return registration.update();
    });
  } else if (applicationCache.update) {
    applicationCache.update();
  }
}

Important: Be sure to server SW file without http caching (specify explicitly to not cache), otherwise you make get updates from the cache.

Works fine, thanks!

@jampy great :-)

I tried to patch offline-plugin to add updateOfflineService() to the runtime, but there is a complicated runtime.js build behind the scenes I had a difficulties to understand it, so I gave up and added the function to my app.
Hope you can find time to add this to the runtime...

Created a PR that adds that functionality into the offline-plugin: https://github.com/NekR/offline-plugin/pull/169

Yeah, landed in #169, not sure why this isn't closed already.


Cannot get value from function

First off. thanks for all your support getting started in the past. Be advised. I am still new so the fault could lie with me. Also I am encountering this issue on an assignment problem.
The code will look like a dogs breakfest more than usual since I am troubleshooting and I dont subscribe to the idea of mashing () pairs with the mass density approaching that of a neutron star since I still need to see what I am doing.
Please review the following link.
https://github.com/cooleynal/COMP-456/blob/master/Assignment2/q3.lisp
I have function (qs):
(qs '((3 B C D) (1 A E F C) (3 X F E) (8 C F E F) (7 D) (3 G E)))
Returns
((1 A E F C) (3 G E) (3 X F E) (3 B C D) (7 D) (8 C F E F))
I have function (dbfs) that marks nodes as read. The idea is to make a psuedo priority queue and pop elements off in terms of lowest value.  Add all neighbours of that popped element to the priority queue. Continue until everything is visited. Assuming the goal is found, there exists some sublists of lists contain a goal and the lowest cost path is now our ... lowest cost path from start node to the goal.
Everything is mostly functional except I can not call (qs pq) from inside (dbfs). From my troubleshooting (qs) works great from the scratch pad side when I call from inside (dbfs) and also in REPL.
When (setq pq (qs pq)) is called from inside (dbfs) I get the following.
The value NIL is not of the expected type NUMBER.
The interesting part is (pq) handles null entries and closes gracefully. I have tried to offload (setq pq (qs pq))  functionality to other functions with no success.
Is it Alive? or is it me? or both?
Any tips will be appreciated.

To add. I think it might have something to do with sending a non quoted value. I thought I have done this before. What would be a fix?

To add. I think it might have something to do with sending a non quoted value. I thought I have done this before. What would be a fix?

I was so focused on checking some parts i neglected others.
I developed this in two seperatly. Copied and pasted together, forgot about global variables.
Feel free to close.

I was so focused on checking some parts i neglected others.
I developed this in two seperatly. Copied and pasted together, forgot about global variables.
Feel free to close.

Ok, I'll close it. I didn't see anything obvious that would cause the problem. I would need to run it to figure out what was going on.
Only code review thing would be that the common practice is to only use if when both branches are present. If you only have a true branch, use when. If there's only an else branch, use unless. So, (if (not foo)...) becomes (unless foo ...).

Ok, I'll close it. I didn't see anything obvious that would cause the problem. I would need to run it to figure out what was going on.
Only code review thing would be that the common practice is to only use if when both branches are present. If you only have a true branch, use when. If there's only an else branch, use unless. So, (if (not foo)...) becomes (unless foo ...).

Okay, Im unfamiliar with those parts of the language. Ill try to use them in part 4 of the assignment.
I made some upload changes recently after I solved the problem.
Thanks for being a soundboard!

Okay, Im unfamiliar with those parts of the language. Ill try to use them in part 4 of the assignment.
I made some upload changes recently after I solved the problem.
Thanks for being a soundboard!


[release-1.24] Additional clarifications for changing package repository

This is a manual backport of #43905 to the release-1.24 branch in order to add some additional clarifications regarding changing the package repository for users of the new package repositories (pkgs.k8s.io).

Clarify that changing the package repository is meant to be used only when upgrading to another minor release
Clarify that changing the package repository document is only one part of the upgrade process

/lgtm
/approve


clicking a connector in "Explore from here" lightbox makes the whole thing disappear

Preflight Checklist

[X] I agree to follow the Code of Conduct that this project adheres to.
[X] I have searched the issue tracker for a feature request that matches the one I want to file, without success.

Describe the bug
I create a diagram with a few shapes that are connected.  I use the explore plugin (right-click -> Explore from here) on one of the shapes.  If I click on a connector, the whole diagram disappears and the lightbox is empty.
To Reproduce
I haven't been able to narrow this down fully.  I've seen the behaviour when I've created the connections:

from the blue arrows on the 4 axes of a shape (blue arrow appears when hovering)
from the various predefined connection points of a shape (blue x's on shape edge when hovering)
manually using a connector shape from the library

It doesn't seem to matter what kind of shape I use.  I've proven this behaviour with:

Organization rectangle from Advanced library
Rounded Rectangle from General library

The one commonality is that there has to be a label on the connector, and it seems like more than 2 shapes are needed to reproduce the bug.  Sometimes the connectors are not clickable, but most of the time they are.  When you click them in this explore mode, the whole diagram goes bye-bye.
I've been trying to narrow this down to a base case, but I'm not finding this to be 100% reproducible :(
Expected behavior
I wouldn't expect the diagram to disappear.  In fact, I wouldn't expect the connectors to be clickable at all.
Screenshots
If applicable, add screenshots to help explain your problem.
draw.io version (In the Help->About menu of the draw.io editor):

21.3.7

Desktop (please complete the following information):

OS: Windows 10
Browser: Chrome
Version: 114.0.5735.134 (Official Build) (64-bit)

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

Fix in 21.6.2


@pyimport numpy fails

Hello,
I use Ubuntu 12.04, 64 bit. I installed numpy 1.7.1 with pip.
Importing numpy fails:
julia> using PyCall
julia> @pyimport numpy
ERROR: PyError (PyImport_ImportModule) <type 'exceptions.ImportError'>
ImportError('cannot import name scimath',)
File "/usr/local/lib/python2.7/dist-packages/numpy/init.py", line 153, in
from . import add_newdocs
File "/usr/local/lib/python2.7/dist-packages/numpy/add_newdocs.py", line 13, in
from numpy.lib import add_newdoc
File "/usr/local/lib/python2.7/dist-packages/numpy/lib/init.py", line 17, in
from . import scimath as emath
in pyerr_check at /home/ufechner/.julia/PyCall/src/exception.jl:58
in pyimport at /home/ufechner/.julia/PyCall/src/PyCall.jl:85
Importing numpy from python works fine, importing other packages from julia
also works.
Any idea?
Uwe Fechner

@stevengj The issue appears to be about circular imports. Here is how they are supposed to work: http://stackoverflow.com/a/744403/744071
To demonstrate the issue: Make a virtualenv and install numpy==1.9.1. Then go to where it was installed, and add the following line near the top of numpy/__init__.py: print("numpy.__init__ running"). Add a similar line to the files numpy/lib/__init__.py and numpy/lib/scimath.py. Now, if you run this from python:
>>> import numpy
numpy.__init__ running
numpy.lib.__init__ running
numpy.lib.scimath running

That looks good. Now run the same from julia (v0.3.2) using PyCall (version 0.7.3):
julia> using PyCall
julia> @pyimport numpy
numpy.__init__ running
numpy.lib.__init__ running
numpy.lib.scimath running
numpy.__init__ running
numpy.lib.__init__ running
ERROR: PyError (:PyImport_ImportModule) <type 'exceptions.ImportError'>
ImportError('cannot import name scimath',)
  File "/home/cberzan/.virtualenvs/captcha/local/lib/python2.7/site-packages/numpy/__init__.py", line 172, in <module>
    from . import add_newdocs
  File "/home/cberzan/.virtualenvs/captcha/local/lib/python2.7/site-packages/numpy/add_newdocs.py", line 13, in <module>
    from numpy.lib import add_newdoc
  File "/home/cberzan/.virtualenvs/captcha/local/lib/python2.7/site-packages/numpy/lib/__init__.py", line 19, in <module>
    from . import scimath as emath

 in pyerr_check at /home/cberzan/.julia/v0.3/PyCall/src/exception.jl:58
 in pyimport at /home/cberzan/.julia/v0.3/PyCall/src/PyCall.jl:91

As you can see, the line numpy.__init__ running is printed twice, which shows that the circular imports aren't working properly.
I don't know enough about Python's import mechanism to debug this further, but I hope it leads you to a solution.
Update: Things get weirder. Consider this:
a.py:
print "a.py top"
import b
print "a.py bottom"

b.py:
print "b.py top"
import a
print "b.py bottom"

If I run this from the python shell, things work as expected:
>>> import a
a.py top
b.py top
b.py bottom
a.py bottom

But if I run it as a script, it does something else (I don't understand why):
$ python a.py
a.py top
b.py top
a.py top
a.py bottom
b.py bottom
a.py bottom

And Julia / PyCall behaves like the former:
$ PYTHONPATH="." julia
julia> using PyCall
julia> @pyimport a
a.py top
b.py top
b.py bottom
a.py bottom

So in this case Julia / PyCall seems to handle the circular imports properly.

My first guess is that you have multiple versions of numpy etc. installed and it is getting confused about which one to import...

The thing is, it is not PyCall that is "handling" the circular imports.  PyCall just calls PyImport_ImportModule from the CPython API, and the rest is done by CPython (the same as in python).  I can only think that is some path or environment variable that is making Python behave differently in PyCall.

Can you try __import__ in Python instead (see here).

@stevengj I found the cause of the problem.
First I realized that sys.modules['numpy'] gets overwritten:
julia> using PyCall
julia> @pyimport numpy
numpy.__init__ running
id(sys.modules) = 89034704
id(sys.modules['numpy']) = 161528304
numpy.__init__ running
id(sys.modules) = 89034704
id(sys.modules['numpy']) = 177135864

Then I realized that numpy gets imported by PyCall even when I don't ask for it:
julia> using PyCall
julia> @pyimport datetime
numpy.__init__ running
...

The culprit is the line pyimport("numpy")["ufunc"] in the function pyinitialize. It appears to import numpy before the python interpreter is fully initialized (?), causing this weird issue. I don't know how to fix it properly, but as a workaround, I can just comment out the ufuncType global from pyinitialize.
BTW, if anyone is getting ImportError("...../lib/julia/libgfortran.so.3: version GFORTRAN_1.4' not found (required by /usr/lib/liblapack.so.3gf)",), a solution that worked for me is to invoke julia with LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libgfortran.so.3 julia. This loads the system libgfortran` instead of the one bundled with julia.
Yay, I can finally use PyPlot from julia!

Thanks for looking into this.  (The need for the numpy ufunc thing will go away in Julia 0.4; see #101.)
However, I don't understand the problem, since Python has been initialized when the pyimport("numpy")["ufunc"] is called.
Could it possibly be that Python is reloading the numpy module because it got garbage-collected?  i.e. pyimport("numpy")["ufunc"] loads the module and stores a reference in a temporary object, which Julia will eventually free.  When Julia frees the object, the corresponding module reference in Python is decrementing, which I suppose tells Python it is okay to unload the module.  Then later on when you import numpy again, Python reloads it, and somehow this goes horribly wrong?   If this is the problem, a simple workaround would be to modify pyinitialize to store the numpy reference in a global constant so that it is never garbage-collected:
        global const numpy_module = try
            pyimport("numpy")
	catch
            PyObject() # NumPy not available
        end
        global const ufuncType = numpy_module.o == C_NULL ? PyObject() : numpy_module["ufunc"]

(I'm not sure if anything can be done about the libgfortran thing; it's always a problem to have multiple incompatible Fortran compilers on your system; you have to be very careful about consistently linking the same one.)

@stevengj I take back everything I said; it was a red herring. I just realized that libgfortran was at fault all along. If I LD_PRELOAD the correct version as I mentioned above, then @pyimport numpy works fine with an unmodified version of PyCall (i.e. without doing anything about ufuncType). I guess the lesson here is that if there's a problem with a .so file, python's import mechanism fails horribly and with completely misleading error messages...

Also ran into this, LD_PRELOAD trick didn't fix it.

Just to add to the documentation of this:
As of yesterday, running 04.-rc1 on my Ubuntu 14.10, I am having this issue. My particular version is that I cannot pyimport("numpy") (or anything that depends on NumPy). The LD_PRELOAD doesn't work for me either. No problem on my Mac (running latest OS X) with this.
PYTHONHOME is set correctly as checked by ccalling into libpython.
Note that if I comment out the scimath import in numpy/lib/__init__.py, a similar error is raised in the next line when polynomial attempts to import from numpy.core. Anything I try to import without these relative package imports seems to be fine. Any import in Python/IPython also works.

I will also note that a simple C version
#include <Python.h>

int
main(int argc, char *argv[])
{
    PyObject *pModule;
    char *pName = "numpy";

    Py_Initialize();

    pModule = PyImport_ImportModule(pName);

    if (pModule != NULL) {
        printf("Success!\n");
    }
    else {
        PyErr_Print();
        fprintf(stderr, "Failed to load \"%s\"\n", pName);
        return 1;
    }
    Py_Finalize();

    return 0;
}

Runs successfully.

Having same issue as @jmxpearson.

Just for reference, I created a minimal Julia example that reproduces the issue.
$ julia pyimport_test.jl json

works, while
$ julia pyimport_test.jl numpy

fails.
What could it be here, except ccall?
############## pyimport_test.jl ######################################
const stub = homedir() * "/anaconda"
const libname = @osx? "libpython2.7.dylib" : "libpython2.7.so"
const libpython = stub * "/lib/" * libname

################# from PyCall.jl #####################################
immutable PyObject_struct
    ob_refcnt::Int
    ob_type::Ptr{Void}
end

typealias PyPtr Ptr{PyObject_struct} # type for PythonObject* in ccall

macro pysym(func)
    :(($func, libpython))
end
################# from PyCall.jl #####################################

# now, do some ccalling to initialize

ccall((@pysym :Py_InitializeEx), Void, (Cint,), 0)

modname = ARGS[1]
println("About to try loading library $modname")

modptr = ccall((@pysym :PyImport_ImportModule), PyPtr, (Ptr{Uint8},),
    bytestring(modname))

if modptr == C_NULL
    println("Could not load library.")
else
    println("Success!")
end

ccall((@pysym :Py_Finalize), Void, ())

@jmxpearson, I really think it is some Python path thingy that is missing; ccall is calling libpython, it is PyImport_ImportModule that is not succeeding.   See, for example, the persistent problems with Canopy (#42).   There is some mysterious path setting that seems to be needed in some Python distros, that I have yet to figure out.
(It sucks that the hardest thing about PyCall has been figuring out how to initialize Python correctly.)

Agree. That really does seem like the most likely solution, except that PyCall is correctly inferring the location of libpython on my system, correctly setting PYTHONHOME, and having run the code more or less line by line, I can't find the failure until you try to import numpy for loading ufunc.
At every point where I have been able to interrogate path settings, they've been the same between my mac (working) and linux (not).

You could try setting LD_DEBUG=all before running the Julia script. This will be very noisy, but should tell you if there is some shared library loading error while attempting to import numpy. Call LD_DEBUG=help cat to see all of the options. (You may want to print some separator output at the start of your script so you can find where the Julia initialization ends)

Thanks @ihnorton. After combing through the output, I found that several symbols were coming up undefined. I think numpy is having trouble using julia's libopenblas, which I assume is overshadowing its own. If I do
LD_PRELOAD=$HOME/anaconda/lib/libopenblas.so julia pyimport_test.jl numpy

Everything works!
It appears that I'm having the same issue as cberzan above, just with a different shared library.
@stevengj, any ideas about a fix? Seems dicey to change anything based on circumventing julia's openblas build long-term.

An additional note: the problem is not that the symbols numpy is looking for are missing from julia's libopenblas. Running nm shows that julia's version simply appends 64 to the ends of these symbols.

@jxmpearson, Julia's openblas was patched to append 64 to its symbols (JuliaLang/julia#8734) precisely to avoid conflicting with numpy (JuliaLang/julia#4923).
It's a bit frustrating that we are still having problems with conflicts, but maybe it's sufficient to simply rename Julia's openblas library in a future version so that NumPy doesn't find it?

@jmxpearson, when you say that you downgraded numpy, what was the version that didn't work and what version do you have now?  Or was it just a bug in anaconda?  I'm confused.

@stevengj I had numpy 1.9.2-py27_1, which was replaced with 1.9.2.py27_0
Setuptools and pip were also changed. So if I ask conda to update numpy (reversing what I did), these are the proposed changes:
The following packages will be UPDATED:

    numpy:      1.9.2-py27_0  --> 1.9.2-py27_1
    pip:        7.0.3-py27_0  --> 7.1.2-py27_0
    setuptools: 17.1.1-py27_0 --> 18.1-py27_0

I suspect that in trying to update numpy in hopes of clearing this up, I got it out of whack with something else in anaconda. It's also possible that updating anaconda as a whole fixed something else that I'm not seeing here.
re: renaming openblas: Seems like a tough thing to have to do if the only people who are having this problem are those with out of whack Python configurations, but if it's transparent to end users, perhaps it's worthwhile to avoid conflicting with other installs?

Renaming the openblas library internal to Julia is easy, and shouldn't hurt anything else, if that actually solves the problem.

Well, I guess if this problem keeps creeping up, it might be worth a go.
Thanks again!

I was referred here from  https://github.com/stevengj/PyCall.jl/commit/4b2732d5f35176e2bc84ce7db1e325e6ae949666,
for fear of messing things up, could someone please include instructions for "renaming openblas"?
Thank you, and apologies for my noobness.

I think @stevengj means this is something that will change in Julia itself.
In the meantime, LD_PRELOAD is probably the way to go. I have also been having some issues with PyPlot itself, but I think that's separate.

Thanks jmx!  Are you able to get any sort of plotting working using the preload?
Even why I do @pyimport matplotlib.pyplot as plt  for plotting, the kernel dies on me.
I'm also to the point where I might just save all of my data in some sort of python numpy form, and plot it in a separate notebook.

I was able to @pyimport successfully, both with the LD_PRELOAD trick and once I did conda update anaconda above (different "fixes").
The plotting issue I have I'm still trying to pin down. I can do lots of plotting just fine, but have some reproducible crashes related to certain types of plots. I think this is really tied to garbage collection in PyCall, and will need to be separate issue there.

I see. I am able to do get everything to import successfully using the tricks, but my kernel dies everytime I try to plot anything.  This is using both PyPlot and @import matplotlib . .

If you follow the instructions at the bottom of the IJulia README to get debugging output, do you get something similar to stevengj/PyPlot.jl#167?

I used the verbose error and found that there was a problem with the way it was calling openblas (there was a missing 3?) .  As it stands, everything seems to work!  Quite the adventure. Thank you very much for the help!  I will be sure to use the verbose errors in the future to better debug.

Great!

@ttfoley, how did you solve the problem?

After checking the output as jmx suggested, I saw there was a bad call to
liblapack.so.3
So I reinstalled all of the atlas stuff, and ran:
sudo update-alternatives --all
making sure the names matched.
I am still using the "trick" of calling:
LD_PRELOAD=/usr/lib/atlas-base/atlas/liblapack.so.3 ipython notebook

Hi, think I am having the same issue with liblapack and libopenblas. (I originally posted under stevengj/PyPlot.jl#140). Neither LD_PRELOAD or the conda update options have worked for me yet. I've tried:
LD_PRELOAD=/usr/lib/liblapack.so
LD_PRELOAD=${USER}/anaconda/lib/libopenblas.so

and
conda update conda
conda update anaconda

The easiest way for me to produce the problem is:
$ juliarc2
julia> using PyCall
julia> @pyimport numpy as np

at which point I consistently get import errors similar to
ERROR: PyError (:PyImport_ImportModule) <type 'exceptions.ImportError'>
ImportError('/home/dehann/anaconda/lib/python2.7/site-packages/numpy/linalg/lapack_lite.so: undefined symbol: zgelsd_',)
  File "/home/dehann/anaconda/lib/python2.7/site-packages/numpy/__init__.py", line 170, in <module>
    from . import add_newdocs
  File "/home/dehann/anaconda/lib/python2.7/site-packages/numpy/add_newdocs.py", line 13, in <module>
    from numpy.lib import add_newdoc
  File "/home/dehann/anaconda/lib/python2.7/site-packages/numpy/lib/__init__.py", line 18, in <module>
    from .polynomial import *
  File "/home/dehann/anaconda/lib/python2.7/site-packages/numpy/lib/polynomial.py", line 19, in <module>
    from numpy.linalg import eigvals, lstsq, inv
  File "/home/dehann/anaconda/lib/python2.7/site-packages/numpy/linalg/__init__.py", line 51, in <module>
    from .linalg import *
  File "/home/dehann/anaconda/lib/python2.7/site-packages/numpy/linalg/linalg.py", line 29, in <module>
    from numpy.linalg import lapack_lite, _umath_linalg

 [inlined code] from /home/dehann/.julia/v0.4/PyCall/src/exception.jl:82
 in pyimport at /home/dehann/.julia/v0.4/PyCall/src/PyCall.jl:321

Maybe I'm still doing something different from the workarounds suggested here and at stevengj/PyPlot.jl#140. Maybe worth noting that I do not have atlas-base installed on this machine:
$ locate liblapack.so
/etc/alternatives/liblapack.so
/etc/alternatives/liblapack.so.3
/etc/alternatives/liblapack.so.3gf
/usr/lib/liblapack.so
/usr/lib/liblapack.so.3
/usr/lib/liblapack.so.3gf
/usr/lib/lapack/liblapack.so
/usr/lib/lapack/liblapack.so.3
/usr/lib/lapack/liblapack.so.3.0
/var/lib/dpkg/alternatives/liblapack.so
/var/lib/dpkg/alternatives/liblapack.so.3

and a sub-sampling of
$ locate libopenblas
/home/dehann/anaconda/lib/libopenblas.so
/home/dehann/anaconda/pkgs/openblas-0.2.14-1/lib/libopenblas.so
/usr/lib/libopenblas.so.0
/usr/lib/openblas-base/libopenblas.so.0

Lastly,
julia> Pkg.status("PyCall")
 - PyCall                        1.0.3
julia> versioninfo()
Julia Version 0.4.0-rc2
Commit fa52609* (2015-09-18 17:51 UTC)
Platform Info:
  System: Linux (x86_64-unknown-linux-gnu)
  CPU: Intel(R) Core(TM) i7-3920XM CPU @ 2.90GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Sandybridge)
  LAPACK: libopenblas
  LIBM: libopenlibm
  LLVM: libLLVM-3.3

Maybe this info helps isolate the problem.

@dehann, try preloading /home/dehann/anaconda/lib/python2.7/site-packages/numpy/linalg/lapack_lite.so, the library it is complaining about

@stevengj thanks, unfortunately not it. I think the problem is elsewhere.
$ LD_PRELOAD=/home/dehann/anaconda/lib/python2.7/site-packages/numpy/linalg/lapack_lite.so
[and also for, $ /usr/lib/pyshared/python2.7/numpy/linalg/lapack_lite.so]
[and also for, $ /usr/lib/python2.7/dist-packages/numpy/linalg/lapack_lite.so]
$ juliarc2
julia> using PyCall

julia> @pyimport numpy as np
ERROR: PyError (:PyImport_ImportModule) <type 'exceptions.ImportError'>
ImportError('/home/dehann/anaconda/lib/python2.7/site-packages/numpy/linalg/lapack_lite.so: undefined symbol: zgelsd_',)
  File "/home/dehann/anaconda/lib/python2.7/site-packages/numpy/__init__.py", line 170, in <module>
    from . import add_newdocs
  File "/home/dehann/anaconda/lib/python2.7/site-packages/numpy/add_newdocs.py", line 13, in <module>
    from numpy.lib import add_newdoc
  File "/home/dehann/anaconda/lib/python2.7/site-packages/numpy/lib/__init__.py", line 18, in <module>
    from .polynomial import *
  File "/home/dehann/anaconda/lib/python2.7/site-packages/numpy/lib/polynomial.py", line 19, in <module>
    from numpy.linalg import eigvals, lstsq, inv
  File "/home/dehann/anaconda/lib/python2.7/site-packages/numpy/linalg/__init__.py", line 51, in <module>
    from .linalg import *
  File "/home/dehann/anaconda/lib/python2.7/site-packages/numpy/linalg/linalg.py", line 29, in <module>
    from numpy.linalg import lapack_lite, _umath_linalg

 [inlined code] from /home/dehann/.julia/v0.4/PyCall/src/exception.jl:82
 in pyimport at /home/dehann/.julia/v0.4/PyCall/src/PyCall.jl:321

I'll search more. What's odd to me is that the only change was from Julia-dev+5933 to rc2. Will post again if I find any more details.

I may be misreading your output, but LD_PRELOAD= needs to be on the same line as juliarc2. It only sets the variable for the command that follows.

Hi @jmxpearson @stevengj , the LD_PRELOAD path on the same line for lapack_lite worked thanks. I would have guessed LD_PRELOAD is an environment variable stable within a terminal session -- quite surprised it makes a difference when running on a new line. I'd rather not export LD_PRELOAD system wide (maybe just an alias for now). Don't know PyCall well enough to contribute on this yet, but will have a look in time. Thanks!

Glad it worked!

@dehann, if you just set LD_PRELOAD=..., that is not an environment variable, it is just a local variable in the shell.  To create a global environment variable in a session, do export LD_PRELOAD=... (in bash and similar) or setenv LD_PRELOAD ... (in csh and similar).    In contrast, if you do LD_PRELOAD=... command ..., that is the shell syntax to set an environment variable only when launching a particular process.

That makes sense, thanks.

This should be fixed in Julia 0.4, which renamed libopenblas.

I just tested with Julia 0.4rc4 and the problem presented by OP is still present on Ubuntu 15.04. Can import other Python packages into Julia OK, and can import and use numpy from within Python 2 without issue.

@holocronweaver, are you building Julia from source?  Possibly you have libopenblas.so files lying around from previous Julia builds/installations....

Julia 0.4 on Ubuntu 12.04 (generic binaries) has solved the problem for me, thanks! The PRELOAD workaround no longer required on my current setup.

@stevengj That was indeed the issue! I ran git clean -xdf followed by make and now @pyimport numpy runs fine.

I found this thread as I had a similar problem on a vanilla machine in a controlled python/python-package environment which I have resolved, thanks to some of the tips and hints in this thread, so I am sharing my solution.
My error was initially:
numpy/lib/__init__.py:17: in <module>
from . import scimath as emath
ImportError: cannot import name scimath

In a different configuration it also manifested as
File "./../numpy-1.9.2-py2.7-linux-x86_64.egg/numpy/linalg/__init__.py", line 51, in <module>
    from .linalg import *
  File "./../numpy-1.9.2-py2.7-linux-x86_64.egg/numpy/linalg/linalg.py", line 29, in <module>
    from numpy.linalg import lapack_lite, _umath_linalg
ImportError: liblapack.so.3: cannot open shared object file: No such file or directory

I used the LD_PRELOAD tip above for lapack_lite.so (equivalent to adding the location of lapack_lite.so to the LD_LIBRARY_PATH) and these both also gave the error
ImportError: liblapack.so.3: cannot open shared object file: No such file or directory

On the one machine I have where it does work turns out I had "atlas" installed which contained
find /usr -name liblapack.so.3
/usr/lib64/atlas/liblapack.so.3

So you need to get this library and add it to the LD_LIBRARY_PATH before executing python (eg through atlas or other means).
There may be further depenciies beyond liblapack.so.3 but that is certainly the cause of this error.

@stevengj,
It looks like Julia 0.4 from https://launchpad.net/~staticfloat/+archive/ubuntu/juliareleases is using libopenblas.so on Ubuntu 14.04 (at least that's what it is installing and I'm getting the same problem). Building Julia from source works just fine though

@staticfloat, is there anything that can be done about the Ubuntu package?

@stevengj I've tried to follow the conversation here but I'm having a little trouble. What is the fix that is needed?  When running on Ubuntu 14.04, with the following packages installed:
$ dpkg -s julia | grep Version
Version: 0.4.1-trusty1
$ dpkg -s libopenblas-base | grep Version
Version: <IP_ADDRESS>-trusty2

Everything works just fine, as far as I can tell:
$ julia
               _
   _       _ _(_)_     |  A fresh approach to technical computing
  (_)     | (_) (_)    |  Documentation: http://docs.julialang.org
   _ _   _| |_  __ _   |  Type "?help" for help.
  | | | | | | |/ _` |  |
  | | |_| | | | (_| |  |  Version 0.4.1 (2015-11-08 10:33 UTC)
 _/ |\__'_|_|_|\__'_|  |  Official http://julialang.org release
|__/                   |  x86_64-linux-gnu

julia> using PyCall

julia> @pyimport numpy

julia>

A little bit more information:
julia> filter(x -> contains(x,"blas"), Libdl.dllist())
1-element Array{AbstractString,1}:
 "/usr/lib/libopenblas.so.0"

julia> filter(x -> contains(x,"numpy"), Libdl.dllist())
8-element Array{AbstractString,1}:
 "/usr/local/lib/python2.7/dist-packages/numpy/core/multiarray.so"
 "/usr/local/lib/python2.7/dist-packages/numpy/core/umath.so"
 "/usr/local/lib/python2.7/dist-packages/numpy/core/scalarmath.so"
 "/usr/local/lib/python2.7/dist-packages/numpy/lib/_compiled_base.so"
 "/usr/local/lib/python2.7/dist-packages/numpy/linalg/lapack_lite.so"
 "/usr/local/lib/python2.7/dist-packages/numpy/linalg/_umath_linalg.so"
 "/usr/local/lib/python2.7/dist-packages/numpy/fft/fftpack_lite.so"
 "/usr/local/lib/python2.7/dist-packages/numpy/random/mtrand.so"

@staticfloat, it seems like you are not using the Ubuntu numpy package, which would normally be in /usr/lib rather than /usr/local/lib?

Ah, you are correct, I installed numpy from source.  I'll try installing the package and see what happens.

Even after installing the debian package and removing everything in /usr/local/lib/python2.7/dist-packages/numpy  things work the same as before.

I'm using Python from Anaconda if that matters.

OK, we've talked a bit more with @staticfloat and here is what we found:

Julia on Ubuntu is using system libopenblas (not renamed), while loading extra symbols from liblapack.so (LAPACK is not built in OpenBlas)
Latest version of Numpy in Anaconda loads libopenblas (provided by Anaconda as well) and expects to find LAPACK symbols there.

So when I try to import Anaconda-provided version of NumPy through PyCall, it fails to find needed LAPACK symbol ("zgelsd_") because libopenblas is already loaded (Ubuntu's version) and it doesn't export symbols that NumPy expects.
Solutions:

Using Julia built from source works, because then libopenblas is renamed.
Doing LD_PRELOAD=anaconda/lib/libopenblas.so works as well (Anaconda's version of OpenBlas is a superset of system version)
Interestingly, this thing also works:

Libdl.dlopen("/usr/lib/liblapack.so.3", Libdl.RTLD_GLOBAL)

using PyCall
@pyimport numpy

This way, NumPy is loading needed LAPACK symbols from Ubuntu's liblapack.so (that is already loaded by Julia btw, but for some reason symbols are not available to NumPy without that extra Libdl.dlopen)

@stevengj Do you think there is a way we can auto-detect condition and load liblapack into the global namespace automatically?  Alternatively, should we be loading liblapack into the global namespace automatically anyway?  I believe this is the default on OSX but perhaps not on Linux.

@staticfloat, on most systems the Julia binaries load the ILP64 libopenblas64_.so and all the symbols are suffixed with 64_, so they are not visible at all to other libraries like numpy that want to link the ordinary LP64 blas/lapack.
The problems arise when both numpy and julia both want to link to a library called libopenblas.so, but numpy is expecting different library contents.

That is one problem.  This problem is slightly different.
OpenBLAS has an option to statically build LAPACK and embed LAPACK within it; thereby creating a single .so file (libopenblas.so) that contains both the BLAS and LAPACK symbols.  Anaconda's libopenblas.so does this, the default Ubuntu/Debian packages do not so as to maintain a weak linking between BLAS and LAPACK.  (Apparently, in ages long lost to the mists of time, there were developers that wanted to experiment with different pairings of BLAS and LAPACK libraries).  None of this is a problem until Julia attempts to load numpy, which has shared libraries that have an explicit dependence on libopenblas but not liblapack.  Because a library called libopenblas.so is already linked into the current process, we don't attempt to dlopen() Anaconda's libopenblas.so.  This is not a problem in general however, because as long as there is not a mixup of ILP64 symbols we shouldn't have any lacking symbols.  (There is no mixup in this case because both the ubuntu libopenblas package and Anaconda's libopenblas are non-ILP64)
The issue arises because numpy expects to get LAPACK symbols from libopenblas.so; not that it is explicitly searching for the symbols in that particular file, but that it does not declare a dependency on liblapack.so.  I originally thought this would not be a problem, as Julia already has liblapack.so mapped into its address space, so searching for symbols like zgelsd_ (the actual culprit in @maximsch2's case above) should have  been resolvable, but it turns out that liblapack.so is loaded without the RTLD_GLOBAL flag by default, thereby limiting its visibility to external libraries.  I'm not sure about the rationale behind this design, and I get the sinking feeling that it is platform-dependent (e.g. I think this would not be the case on OS X) but regardless, the fact that simply explicitly loading liblapack.so into the global namespace (Which is what @maximsch2's dlopen() above does) works shows that a "reasonable" fix should exist.

Back in the day Atlas etc didn't contain any lapack implementation pieces, so you could keep the netlib reference lapack and just swap out libblas dynamically and still get a speedup. MKL typically put blas and lapack into the same library but is not open source so linux distributions didn't really accomodate it here. Open source implementations that follow the mkl organization of having everything in the same library are a bit newer and distros haven't really caught up yet.
Always dlopening liblapack on linux, or maybe only when lapack_name doesn't match blas_name, would make sense here. SCS.jl has been doing so.

I guess my question is why isn't liblapack opened with RTLD_GLOBAL in the first place?  What is the use case for that state of affairs?

Guessing, but probably because the name/ILP64 conflicts used to be an issue, and it hasn't been adjusted since that was rectified?

I don't know what the numbers look like on openblas' lapack vs netlib lapack linked against openblas for just libblas, but we could raise this with anaconda and see whether it would make sense for them to build blas-only openblas the way ubuntu is doing?

I don't think there's any reason to do that; in fact, we build openblas-with-lapack when we do a from-source build.

Right, but we also do ILP64 and tend to err on the side of performance over compatibility in source builds and tarball binaries. Anaconda doesn't do ILP64 and may care more strongly about compatibility than we do.

One solution here would be to get Julia into Anaconda and then just tell people like me that they should install Julia from Anaconda as well if they want it to play nicely with Anaconda's Python. Right now I can see Julia there in some 3rd party channels, but none of them has 0.4.1 or even a release version of 0.4.0.

Maybe. There are several ways of going about that, some of which would be much more challenging than others. Another option is for you to use the tarball binaries of Julia rather than the Ubuntu PPA, which would be more isolated in terms of library naming.

Right. Right now I've switched to building Julia from source, so I don't really have an issue on my end. This is more about what to do when someone else runs into the same setup (Julia package from PPA + Anaconda)

If we are linking to the system LP64 blas and lapack, I think we should load them with RTLD_GLOBAL.  If we are linking to our own ILP64 openblas+lapack, it doesn't matter because the symbols are suffixed with 64_.

@staticfloat, would it be enough to add:
    if startswith(basename(Base.liblapack_name), "liblapack")
        Libdl.dlopen(Base.liblapack_name, Libdl.RTLD_LAZY|Libdl.RTLD_DEEPBIND|Libdl.RTLD_GLOBAL)
    end

to PyCall's __init__ function?

@maximsch2 could you try putting the following snippet just below this line in PyCall/src/pyinit.jl:
    if basename(Base.liblapack_name) != basename(Base.libblas_name)
        Libdl.dlopen(Base.liblapack_name, Libdl.RTLD_LAZY|Libdl.RTLD_DEEPBIND|Libdl.RTLD_GLOBAL)
    end


mlkit: init at 4.5.0

Motivation for this change
I don't think Nixpkgs contains quite enough Standard ML compilers.  Here's one more.  It's actively maintained and in use.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Thanks for the prompt review!  Replacing the buildPhase with makeFlags unfortunately doesn't work, likely because the Makefile has imperfect dependencies.  make mlkit must finish completely before running make mlkib_libs.

I have updated the derivation to use the just released mlkit 4.5.0, and also simplified the handling of autoconf.

I quoted the homepage URL, as I was told that unquoted URLs are now deprecated.


Outdated tutorial guides https://www.asyncapi.com/docs/tools/generator/generator-template

In the tutorial it has this snippet
class TemperatureServiceClient:

  def __init__(self):
              self.client = mqtt.Client()
              self.client.connect(mqttBroker)

But this would throw an error because the python in this case now requires a callback api version specification. I researched further on how to fix and found out the the python client packages offer two version for api call back and any can be used in this case
CallbackAPIVersion.VERSION2
or
CallbackAPIVersion.VERSION1

so the fixed code should look something like this
class TemperatureServiceClient:

  def __init__(self):
              self.client = mqtt.Client(CallbackAPIVersion.VERSION2)
              self.client.connect(mqttBroker)

Hi @urizennnn
thanks for taking the time reporting this..
this is the repo for the vscode extension..
for the website/docs... can you create this issue again here?

Hi @urizennnn
thanks for taking the time reporting this..
this is the repo for the vscode extension..
for the website/docs... can you create this issue again here?

oof sorry about that will do that now thanks


RandomQuoteGenerator added

follow PR checklist, follow guidelines mention in the readme

follow PR checklist, follow guidelines mention in the readme

made a new pr, pls check


Page immediately blanks after entering URL in textbox

I am using the live version here: https://tiny.ink/
I have Polkadot-JS extension installed, with valid accounts, and tried in both Brave and Chrome.
I have tried this both before and after connecting my wallet, but I see the same behavior.
TO REPRODUCE:

Visit page
Enter any URL in the textbox labeled "Paste an URL to get cost estimations" - for example, "https://en.wikipedia.org/wiki/Cockatiel". Alternatively, you can start typing and the same behavior will occur after a few keystrokes.

EXPECTED BEHAVIOR:

User can then click "Shorten"

OBSERVED BEHAVIOR:

Page becomes entirely blank (only purple background)

@laboon thanks for reporting this. should be fixed now


Lazy table does not have consistent history of sorted columns between it and default table config

Table config and table have inconsistent history of sorted columns.
E.g. if table config has a column set default on ascending, then when a user clicks to sort the same column in descending order an event with value columnName is returned instead of -columnName.
Seems to be affected by table.sortOrder variable being empty when the sort click is received.

I haven't really looked into this but I guess this is still an issue right? And it only happens if you try to sort a column that has been set to ascending by default? I look into it:)

Yes, the issue of not having sorted history is present.
On the on the demo page: https://hjalmers.github.io/angular-generic-table/examples#lazy if you hold CTRL and click on another column - the first sorted column caret disappears.


GRPCRoute conformance tests failing with client connection is closing

What happened:
Our GRPCRoute conformance tests are failing running against the main branch with
RPC finished with error: rpc error: code = Canceled desc = grpc: the client connection is closing
These are running and working successfully against v1.1.0.
What you expected to happen:
The requests are not cancelled and the tests pass
How to reproduce it (as minimally and precisely as possible):
Run the conformance test suite against any implementation using the default GRPC client
Anything else we need to know?:
As far as I can tell, this is happening as a result of https://github.com/kubernetes-sigs/gateway-api/pull/3095.
As part of the changes introduced in this PR, we are sharing one client between all requests instead of instantiating a new client for every GRPC request. However, each request is still calling defer c.Close() which means the client connection will be closed when this function returns even if another request is using the connection. Additionally, each call to sendRPC sets the connection specific to the call being made, and will reset the current connection if present. Because the tests run in parallel, this is causing conflicts and race conditions.
Example conformance test run with the failures: https://github.com/nginxinc/nginx-gateway-fabric/actions/runs/9312728851/job/25634135132

Thanks for catching this @ciarams87! The fix looks reasonable to me, but would also like to have @snehachhabria and @gnossen review any follow up PR.

/assign @ciarams87