App crashes when ViroImage tries to load an image.

Description
App crashes with the following error when a ViroARScene is initialized with ViroImage. The function is being called properly as console prints debug statements & props being passed to the scene. App is built with expo & running in a custom dev client.
This is behaviour is observed irrespective of loading a local image or an image from a url.

 LOG  Initializing AR...
  See the error below.
java.lang.IncompatibleClassChangeError: Found interface com.facebook.imagepipeline.image.CloseableBitmap, but class was expected (declaration of 'com.facebook.imagepipeline.image.CloseableBitmap' appears in /data/app/~~fS3hmjZoZP9CIviJO2unTQ==/com.example.app-jZ0719qUsfse_xwV_ZjwVA==/base.apk)
  com.viromedia.bridge.utility.ImageDownloader$1.onNewResultImpl(ImageDownloader.java:155)
  com.facebook.datasource.BaseDataSubscriber.onNewResult(BaseDataSubscriber.java:51)
  com.facebook.datasource.AbstractDataSource$1.run(AbstractDataSource.java:200)
  java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
  java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
  com.facebook.imagepipeline.core.PriorityThreadFactory.newThread$lambda$0(PriorityThreadFactory.kt:37)
  com.facebook.imagepipeline.core.PriorityThreadFactory.$r8$lambda$IPp7Vm9a1KDy8D4770JTjI9qOG4(Unknown Source:0)
  com.facebook.imagepipeline.core.PriorityThreadFactory$$ExternalSyntheticLambda0.run(Unknown Source:4)
  java.lang.Thread.run(Thread.java:1012)
 LOG  onInitialized 1 1
 LOG  TRACKING_UNAVAILABLE 1

Reproducible Demo
Fresh expo-create-app with just ViroARScene, ViroImage & ViroARSceneNavigator.
ViroARSceneNavigator is successfully able to call the ARScene function as both print debug & tracking initialization console logs.
When ViroARScene is being rendered, the app crashes. The remote image URL is valid since the image opens in browser.
Code:
import {
  ViroARScene,
  ViroARSceneNavigator,
  ViroImage,
} from '@viro-community/react-viro';

import React, { useState, useEffect } from 'react';
import {StyleSheet, TouchableOpacity} from 'react-native';
import { handleTrackingUpdated } from '../utils/handleTrackingUpdated';
import { scale } from '../utils'
import { MaterialIcons } from '@expo/vector-icons'

const ArScene = (props: any) => {
  console.log('Initializing AR...');
  console.log('MyARScene props:', props);
  console.log('ArSceneNavigator props:', props.arSceneNavigator);
  console.log('Image source:', props.source);

  const [imageAnchor, setImageAnchor] = useState(null);

  const onPlaneSelected = (anchor: any, planeType: any) => {
    if (planeType === 'Vertical') {
      console.log('Vertical plane selected:', anchor);
      setImageAnchor(anchor);
    }
  };

  return (
    // @ts-expect-error TS(2769): No overload matches this call.
    <ViroARScene onTrackingUpdated={handleTrackingUpdated} onPlaneSelected={onPlaneSelected}>
          <ViroImage
            source={{uri: props.source}}
            position={[0, 0, -4]}
            scale={[0.4572, 0.6096, 1]}
            onDrag={(dragToPos, source) => {
              if (imageAnchor) {
                // @ts-expect-error TS(2345): Argument of type 'number[]' is not assignable to p... Remove this comment to see the full error message
                setImageAnchor([imageAnchor[0], dragToPos[1], imageAnchor[2]]);
              }
            }}
            dragType='FixedToWorld'
          />
    </ViroARScene>
  );
};

export const MyARScene = ({
  navigation,
  route
}: any) => {

  console.log("MyARScene\n");

  const [isNavigatorMounted, setNavigatorMounted] = useState(true);
  const source = route.params.source;

  useEffect(() => {
    const unsubscribe = navigation.addListener('beforeRemove', () => {
      setNavigatorMounted(false);
    });
    return unsubscribe;
  }, [navigation]);

  const backButtonHandler = () => {
    navigation.goBack();
  };

  return isNavigatorMounted ? (
    <>
    <ViroARSceneNavigator
      autofocus={true}
      hdrEnabled={true}
      pbrEnabled={true}
      shadowsEnabled={true}
      initialScene={{
          // @ts-expect-error TS(2322): Type '(props: any) => React.JSX.Element' is not as... Remove this comment to see the full error message
        scene: ArScene,
        passProps: {source: source}
      }}
      style={styles.f1}
    />
    <TouchableOpacity
      style={styles.backButtonContainer}
      onPress={backButtonHandler}>
      <MaterialIcons
              name="arrow-back-ios"
              size={scale(30)}
              color="#FFF"
      />
    </TouchableOpacity>
    </>
  ): null;
};

var styles = StyleSheet.create({
  f1: {flex: 1},
  backButtonContainer: {
    position: 'absolute',
    top: 35, // Move the backButtonContainer down by 20 pixels
    left: 0,
    backgroundColor: 'transparent',
    padding: 15,
    zIndex: 1000, // Ensure the button is above other elements
  },
});

Requirements:
Please go through this checklist before opening a new issue

[x] Review the documentation
[x] Search for existing issues in: ViroCommunity/viro
[x] Use the latest ViroReact release

Environment

Development OS:

Arch Linux (linux-zen kernel 6.7.2-zen1-2-zen)

Device OS & Version:

Android OS version: 14.0

Versions:

"@viro-community/react-viro": "^2.23.1"
"react": "18.2.0"
"react-native": "0.73.2"
"expo": "~50.0.5"
NodeJS: v18.19.0
yarn: 1.22.21

Device(s):

OnePlus Nord 2T
Samsung Galaxy S22 Ultra

@robertjcolley

@robertjcolley I was able to resolve this. I have to make a few change to viro package, will be submitting a pull request, please review & accept it.

The issue arises because fresco was recently updated from 2.5.0 -> 3.1.3. I believe they have made some changes as there was a similar issue in expo that affected expo sdk 49 & 50.

Thanks @Avtrkrb , @bobbyjcolley this has relation with https://github.com/NativeVision/viro/issues/245

Viro app crashes when added ViroSound/ ViroVideo/ ViroSpacialAudio or anything related to audio and/or video, here is the code snippet I was testing:
import { StyleSheet } from "react-native";
import {
  ViroARScene,
  ViroTrackingStateConstants,
  ViroARSceneNavigator,
  ViroTrackingReason,
  ViroSound,
} from "@viro-community/react-viro";

const HelloWorldSceneAR = () => {
  const [text, setText] = useState("Initializing AR...");
  // const [showBox, setShowBox] = useState(false);

  function onInitialized(state: any, reason: ViroTrackingReason) {
    console.log("guncelleme", state, reason);
    if (state === ViroTrackingStateConstants.TRACKING_NORMAL) {
      setText("Hello World!");
    } else if (state === ViroTrackingStateConstants.TRACKING_UNAVAILABLE) {
      // Handle loss of tracking
    }
  }

  return (
    <ViroARScene onTrackingUpdated={onInitialized}>

    <ViroSound
      source={{uri: "http://<IP_ADDRESS>:9800/uploads/1705791646779-aabef5ba998a0f49.mp3"}}
    />
    </ViroARScene>
  );
};

export default () => {
  return (
    <ViroARSceneNavigator
      autofocus={true}
      initialScene={{
        scene: HelloWorldSceneAR,
      }}
      style={styles.f1}
    />
  );
};

var styles = StyleSheet.create({
  f1: { flex: 1 },
  helloWorldTextStyle: {
    fontFamily: "Arial",
    fontSize: 30,
    color: "#ffffff",
    textAlignVertical: "center",
    textAlign: "center",
  },
});

There are no error logs

Viro app crashes when added ViroSound/ ViroVideo/ ViroSpacialSounf or anything related to audio and/or video, here is the code snippet I was testing:
import { StyleSheet } from "react-native";
import {
  ViroARScene,
  ViroTrackingStateConstants,
  ViroARSceneNavigator,
  ViroTrackingReason,
  ViroSound,
} from "@viro-community/react-viro";

const HelloWorldSceneAR = () => {
  const [text, setText] = useState("Initializing AR...");
  // const [showBox, setShowBox] = useState(false);

  function onInitialized(state: any, reason: ViroTrackingReason) {
    console.log("guncelleme", state, reason);
    if (state === ViroTrackingStateConstants.TRACKING_NORMAL) {
      setText("Hello World!");
    } else if (state === ViroTrackingStateConstants.TRACKING_UNAVAILABLE) {
      // Handle loss of tracking
    }
  }

  return (
    <ViroARScene onTrackingUpdated={onInitialized}>

    <ViroSound
      source={{uri: "http://<IP_ADDRESS>:9800/uploads/1705791646779-aabef5ba998a0f49.mp3"}}
    />
    </ViroARScene>
  );
};

export default () => {
  return (
    <ViroARSceneNavigator
      autofocus={true}
      initialScene={{
        scene: HelloWorldSceneAR,
      }}
      style={styles.f1}
    />
  );
};

var styles = StyleSheet.create({
  f1: { flex: 1 },
  helloWorldTextStyle: {
    fontFamily: "Arial",
    fontSize: 30,
    color: "#ffffff",
    textAlignVertical: "center",
    textAlign: "center",
  },
});

There are no error logs

@ThuggerHacks will try this & fix it in my linked pr if I can get to the bottom of the error. Thanks for this.

Viro app crashes when added ViroSound/ ViroVideo/ ViroSpacialSounf or anything related to audio and/or video, here is the code snippet I was testing:
import { StyleSheet } from "react-native";
import {
  ViroARScene,
  ViroTrackingStateConstants,
  ViroARSceneNavigator,
  ViroTrackingReason,
  ViroSound,
} from "@viro-community/react-viro";

const HelloWorldSceneAR = () => {
  const [text, setText] = useState("Initializing AR...");
  // const [showBox, setShowBox] = useState(false);

  function onInitialized(state: any, reason: ViroTrackingReason) {
    console.log("guncelleme", state, reason);
    if (state === ViroTrackingStateConstants.TRACKING_NORMAL) {
      setText("Hello World!");
    } else if (state === ViroTrackingStateConstants.TRACKING_UNAVAILABLE) {
      // Handle loss of tracking
    }
  }

  return (
    <ViroARScene onTrackingUpdated={onInitialized}>

    <ViroSound
      source={{uri: "http://<IP_ADDRESS>:9800/uploads/1705791646779-aabef5ba998a0f49.mp3"}}
    />
    </ViroARScene>
  );
};

export default () => {
  return (
    <ViroARSceneNavigator
      autofocus={true}
      initialScene={{
        scene: HelloWorldSceneAR,
      }}
      style={styles.f1}
    />
  );
};

var styles = StyleSheet.create({
  f1: { flex: 1 },
  helloWorldTextStyle: {
    fontFamily: "Arial",
    fontSize: 30,
    color: "#ffffff",
    textAlignVertical: "center",
    textAlign: "center",
  },
});

There are no error logs

@ThuggerHacks will try this & fix it in my linked pr if I can get to the bottom of the error. Thanks for this.

Right, anything just update us

i have the same issue, using expo
"dependencies": {
"@viro-community/react-viro": "^2.23.1",
"expo": "~50.0.4",
"expo-dev-client": "~3.3.8",
"expo-status-bar": "~1.11.1",
"react": "18.2.0",
"react-native": "0.73.2",
"expo-asset": "~9.0.2",
"metro-config": "~0.80.4"
}
when i tried this
ARTrackingTargetsModule.createTargets
Your app just crashed. See the error below.
java.lang.IncompatibleClassChangeError: Found interface com.facebook.imagepipeline.image.CloseableBitmap, but class was expected (declaration of 'com.facebook.imagepipeline.image.CloseableBitmap'
looks like a problem with old version of Fresco

i have the same issue, using expo
"dependencies": {
"@viro-community/react-viro": "^2.23.1",
"expo": "~50.0.4",
"expo-dev-client": "~3.3.8",
"expo-status-bar": "~1.11.1",
"react": "18.2.0",
"react-native": "0.73.2",
"expo-asset": "~9.0.2",
"metro-config": "~0.80.4"
}
when i tried this
ARTrackingTargetsModule.createTargets
Your app just crashed. See the error below.
java.lang.IncompatibleClassChangeError: Found interface com.facebook.imagepipeline.image.CloseableBitmap, but class was expected (declaration of 'com.facebook.imagepipeline.image.CloseableBitmap'
looks like a problem with old version of Fresco

I have an open pr that resolves this. Waiting on the maintainers to review & approve.
@robertjcolley @cjmcassar


Logic added to not propagate objects with nonempty finalizer list

Changes-
Logic added to not propagate objects with nonempty finalizer list
Tested: manually caused some conditions and verified that they were
reported correctly.
Fixes #106

/assign @adrianludwin

This lgtm after @adrianludwin's comments are resolved

closing this pull request because of branch name and git blunder


Two constructors being shown when using @Builder and @AllArgsConstructor together

Hello, I just found this other bug:

In this particular case, it should only show the private constructor and therefor not autocomplete the constructor outside this class and show it as being available for package-wide use.
Thanks,

Should be fixed in the next release 0.9.3


Support for Zooz Zen31 RGBW LED Dimmer

Ask bot for Zen31 driver

@zwave-js-bot import config 0x027a-0x0902-0x2000 from ozw

@zwave-js-bot import config 0x027a-0x0902-0x2000 from ozw

Well, that didn't work. Opened this instead:
https://github.com/zwave-js/node-zwave-js/pull/1420

Well, that didn't work. Opened this instead:
https://github.com/zwave-js/node-zwave-js/pull/1420

That command is limited to @robertsLando  and me because it would effectively give people write access to the repo.

That command is limited to @robertsLando  and me because it would effectively give people write access to the repo.


Showcase Submission for challenges/180-falling-sand

Thank you Asher Usdan for your contribution! A member of the Coding Train team will review it shortly.

Falling Sand
Asher Usdan

Great work!


orientation change on android 5.0.1 is kiss of death for app

using p4a and kivy masters, and running an app on android 5.0.1.  when I rotate the phone, the app goes away.  can anyone confirm?

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/15689478-orientation-change-on-android-5-0-1-is-kiss-of-death-for-app?utm_campaign=plugin&utm_content=tracker%2F42681&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F42681&utm_medium=issues&utm_source=github).

here is the corresponding logcat: https://gist.github.com/denys-duchier/c2e9bda025bdaea88749

I just tried on 4.4, and when rotating the phone, the app does not autorotate and then it stops as well.

this is almost certainly the same as this bug: https://github.com/kivy/python-for-android/issues/379, but I haven't had time to investigate yet

I just confirmed that it is the same bug.  so I am closing this issue.


Permission Control for part of menu

@codingchili  Thanks for provide useful plugin.  If I want to everyone could access the discover page, few people could access the dev tools,  What I need to change the source code ?  for example, when person access discover page, no need to login, once they access dev tools, should be login first.
Thanks
Wayne

we also need this functions,are there any update?

Hello,
There are currently no plans to implement any further access control. Because it's hard to get right, requests would have to be proxied and filtered somehow.
Open to PR's and suggestions if anyone has an idea on how to solve this.


Libdoc: XML spec files should have info about all tags used by keywords

Keywords listed in XML specs have tags, but having all tags that have been used listed separately would make working with them a bit more convenient. The new JSON specs already have all tags listed like that because that info is need by HTML outputs that nowadays use JSON specs internally. Both spec formats should have same content.

@pekkaklarck I'm interested in that one. I will take a look into it.

Go ahead! @Snooz82 was going to look at this but I think he hasn't started yet.

I created PR for this issue, let me know if this matches intention

The PR looks good to me. Can you @Snooz82 take a look as well?

I can do!

@MaciejWiczk @pekkaklarck
I reviewed it. implementation is fine, but XSD and Tests need some changes.

Thanks @Snooz82! Let me know when changes are done and I'll take one final look and merge the PR.

@pekkaklarck @Snooz82 , Pr fixed and ready for another review round.


Configuration and generation of coerce methods (WIP for #8 and #11)

This not to be merged yet, just opened it so that people can review and contribute to the branch.

just committed a "codeGenConfig" method that should handle reading the annotation and taking overrides into account. Next thing to do: using it to generate the Hkt  class with coerce methods.


fix: Drag & drop tab will close the original window

Coverage decreased (-0.09%) to 39.911% when pulling 09281ee42473f9cc8a47deb0686858d88f44c1a3 on fix-229 into 85cb109b702ad57ea1e2c030572d4ae10a36f4f8 on master.


Stage to Main

Releasing:

https://github.com/adobecom/express/pull/1279
https://github.com/adobecom/express/pull/1287
https://github.com/adobecom/express/pull/1285
https://github.com/adobecom/express/pull/1296
https://github.com/adobecom/express/pull/1295
https://github.com/adobecom/express/pull/1297
https://github.com/adobecom/express/pull/1292
https://github.com/adobecom/express/pull/1290

Pages to check for regression and performance:

https://stage--express--adobecom.hlx.live/express/?martech=off

Codecov Report
Attention: Patch coverage is 85.71429% with 1 line in your changes missing coverage. Please review.

Project coverage is 44.14%. Comparing base (6e999fc) to head (7c7ff5a).
Report is 14 commits behind head on main.

Files with missing lines
Patch %
Lines

express/scripts/utils.js
0.00%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1288      +/-   ##
==========================================
+ Coverage   43.89%   44.14%   +0.25%
==========================================
  Files          98       96       -2
  Lines       22849    22643     -206
==========================================
- Hits        10029     9996      -33
+ Misses      12820    12647     -173

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Python 3 Incompatibility (?)

On lines 691-692 of __init__.py in the minConflicts.getSolution(...) method, you have the following:
lst = domains.keys()
random.shuffle(lst)

The call to random.shuffle() fails on python 3, because in python3 the dictionary .keys() method returns a set, which can't be indexed. So lst must be converted from this set into a list:

lst = list(domains.keys())
random.shuffle(lst)

Not sure how you would write the code to be compatible in both Python2 and Python3

In Python 3 domains.keys() returns an iterator, not a set.
Wrapping in list() is a reasonable approach that's compatible on both Python 2 and 3.
Want to provide a PR?

I'll provide a PR this weekend, thanks!

@evancox10 Could you ideally send a PR with a test showing it's currently broken with Python 3 and a fix to make this test pass?

@evancox10 Just to clarify what @scls19fr said, it doesn't need to specifically be a test for your fix. Adding tests for MinConflictsSolver should do the trick since it's not covered yet, and Travis will show the build failing or succeeding in your PR. https://coveralls.io/builds/13020985/source?filename=constraint%2F__init__.py#L647

Same issue in Constraint.preProcess, trying to access variables[0], coming from domain.keys() in Problem._getArgs.

Seeing the same issue @deceze. Anyone actively working on a fix?

Created a PR for Constraint.preProcess issue: https://github.com/python-constraint/python-constraint/pull/37. Please review.


Add hugging face integration

Ref: https://github.com/apache/datafusion/pull/10792
Potentially could do this with open dal https://github.com/apache/datafusion/pull/10792#issuecomment-2334458674

Hi @matthewmturner, please let me know if you encounter any issues. Feel free to ping me everywhere.

@Xuanwo will do - thanks!


Manufacturing - OPC Simulator Helm Chart

This PR adds a basic Helm chart to deploy the OPC simulator.  The default values can be accepted and will, unless a new simulator file is specified, will use magnemotion.json.

Closing per discussion on 26 March.  Slight modifications will be made to the code and a single PR created for the Helm chart and opc-simulator codebase


Runtime: update to polkadot 1.0.0

Should use https://github.com/paritytech/polkadot/releases/tag/v1.0.0 dependencies

We are falling behind and unable to keep up with many fixes on Upstream.
It is imperative that we prioritize this update in our 3.14 project. Currently, we are using Polkadot 0.9.42, while the latest version is 1.4.0. There are a lot of changes that break things along the way. @xmonader @renauter

Update: I made a first step by upgrading to polkadot 1.0.0 to be included in tfgrid 3.13
PR is ready for review
Going to polkadot 1.4.0 could be part of other issue scope
Still need to evaluate if the latter would be part of tfgrid 3.13 or 3.14

Already live on mainnet so it can be closed


feat: Enable UDF access to SQLTransformers

PR for dagger smoke test

@Shreyansh228 Can you create a temp branch on the dagger repository itself and then create a PR for merging to main ?
Currently, this PR branch is still on your fork. Closing this PR.


[7402] Don't reuse DPM proxy from empty position

Don't reuse DPM proxy from empty position

Changes 👷♀

- previously a proxy had a position if the proxy had no locked value in Aave.  now it checks for position created event.
- prevents reuse of proxies of closed or emptied positions.
How to test 🧪

- ensure bug in https://app.shortcut.com/oazo-apps/story/7402/reused-id-s-are-counted-as-individual-positions is resolved
- ensure DS proxy continues to work as normal - see https://docs.google.com/document/d/1aQDSnX93DdkHwvE_IuOu6j1kfZ5bQp0Ef6J17xINahI/edit#

The implemntation is wrong. We should only show only disctinct PositionCreated events to show right number of opened positions.

Discussed on meet. 👍


NONE: Simplify the project setup by using ngrok static domains

Changes

refactor: Updates the project setup to leverage an ngrok static domain (available for free accounts) for creating a tunnel with the fixed URL. This allows to simplify the overall setup and improve development UX by removing the necessity to reinstall the app after new tunnel creation.  Removes prestart.ts (responsible for updating APP_URL in .env) as not required.
Removes postinstall.ts responsible for creating .env file. Updates the documentation to recommend manual creation of the file (based on .env.example). This allows to simplify the overall setup without adding extra burden on users (they have to go to and update .env` file anyway).
docs: Updates comments .env.example with an additional information about how to set environment variables. Update the formatting for consistency.
docs: Simplifies and updates README.md with an additional information. See here for how it looks with the changes.

I've created a static domain and have added that in the secrets NGROK_DOMAIN.

@krazziekay , the issue with tests have been resolved. Sorry for this mess: I forgot to commit one file 🙈

@krazziekay , I have fixed the issue with $NGROK_DOMAIN not being passed to the tunnel container.
However, unfortunately, tests are still failing but with different error:
waiting for navigation to "***/jira/your-work" until "load"
  navigated to "https://id.atlassian.com/login/authorize?continue=https%3A%2F%2Fid.atlassian.com%2Fjoin%2Fuser-access%3Fresource%3Dari%253Acloud%253Ajira%253A%253Asite%252Fa5c5cc05-f16b-4d20-85df-9095c1189715%26continue%3Dhttps%253A%252F%252Fgh4j-sample-app-e2e-test.atlassian.net&application=jira&token=***"
  navigated to "https://id.atlassian.com/join/user-access?resource=ari%3Acloud%3Ajira%3A%3Asite%2Fa5c5cc05-f16b-4d20-85df-9095c1189715&continue=***"
============================================================

   at utils/jira.ts:23

  21 | 		await passinput.fill(role.password);
  22 | 		await passinput.press("Enter");
> 23 | 		await page.waitForURL(data.urls.yourWork);
     | 		           ^
  24 | 	}
  25 |
  26 | 	return page;

It seems that something has been changed in Jira causing the test failure. My assumption is that a test user is redirected to some unexpected page instead of the "Your work" page (${envVars.ATLASSIAN_URL}/jira/your-work) after logging in (e.g., some promotional page, survey or a page for entering a passcode).
@krazziekay , please, could I ask you to log in on behalf of the test user (see the credentials in GitHub Secrets) and check what the test user sees?


dip1008 compliant

During some asynchronous cleanup we sometimes have to take a hold of exception to rethrow them later, but this interferes with dip1008 scope assumptions.
For refcounted exception we should be able to incr/decr the refcount.
Statically or stack allocated ones are still an issue. We would need to clone them. But besides there not being a clone function on exceptions, it is likely hard to detect those exceptions.

Why are statically allocated exceptions a problem? Their lifetime is the same as the lifetime of the program aren't they?


[S2GRAPH-19] When query with duration error.

throw BadQueryException when from > to on duration.

+1

+1 (working on the inhouse version)

+1


template builder - null handler

Let me know if I'm missing something with the Keys class. 😄

Thanks Damian, Updated the class name and its references.


Refactoring library module

Summary

Moving some stuff into an internal package, and also tweaking the rest of the file directory.
How It Was Tested

Manually tested bracket UI.

By moving a bunch of this around I accidentally broke the state management, will probably fix in this PR.


A error while pretraining

Hi! I download the vgg19.npy  and put my own images in "r256-512.bin".
While trying to run "pretrain.py" file it gives me this traceback:
File "/home/iecas/PycharmProjects/SRGAN-tensorflow-master/pretrain.py", line 49, in
resnet = srResNet.srResNet(rescaled)
File "/home/iecas/PycharmProjects/SRGAN-tensorflow-master/pretrain.py", line 7, in init
conv1 = conv_layer(T, [5, 5, 3, 64], 1)
File "/home/iecas/PycharmProjects/SRGAN-tensorflow-master/pretrain.py", line 7, in conv_layer
bias = tf.Variable(tf.zeros(conv.shape.as_list()[3], name='bias'))
AttributeError: 'Tensor' object has no attribute 'shape'
@zoharli

What's your tensorflow version? Try to find a built-in function or attribte of Tensor Class that return the shape of the Tensor.Typically,it's shape() or shape.

My tensorflow version is 0.12, I replaced conv.shape.as_list() with conv.get_shape().as_list(). That's worked.Thank you! @zoharli . You said your result is not good, have you improved this model?
if you did some works in improving the result, can you put you method in this web?Thank you very much!

I recently switched to pytorch and reimplemented SRGAN,because I thought tensorflow don't work well with SRGAN.But it turns out that the problem is the testing method I use, I didn't follow the standard way used in the paper.Actually the result is just fine,though not as good as presented in paper,but still better than bicubic upsampling.
Currently I'm still trying to fine tunning my result in pytorch , which has reached 26.0dB in BSD100 dataset .When I'm done,I'll update this tensorflow implementation as well,but that should take a while.

@zoharli  many thanks!After solving the problem before, I meet another problem that as follows.
File  "/home/iecas/PycharmProjects/SRGAN-tensorflow-master/pretrain.py", line 58, in
with tf.Session() as sess:
File  "/home/iecas/PycharmProjects/SRGAN-tensorflow-master/pretrain.py", line 1186, in init
super(Session, self).init(target, graph, config=config)
File  "/home/iecas/PycharmProjects/SRGAN-tensorflow-master/pretrain.py", line 551, in init
self._session = tf_session.TF_NewDeprecatedSession(opts, status)
File "/home/iecas/PycharmProjects/SRGAN-tensorflow-master/pretrain.py, line 24, in exit
self.gen.next()
File "/home/iecas/PycharmProjects/SRGAN-tensorflow-master/pretrain.py, line 469, in raise_exception_on_not_ok_status
pywrap_tensorflow.TF_GetCode(status))
tensorfloe.python.framework.erors_impl.InternalError: Failed to creat session.
Can you help me to do with that one?

I never encountered such problem, maybe you can try using tf.InteractiveSession() instead.By the way，I strongly recommend you upgrade tensorflow to 1.0 before running my project,there can be a lot of incompatibilities between 0.12 and 1.0.

Thank you very much!


ReferenceError: regeneratorRuntime is not defined

Feature to document
Writing a loader

What is the minimum supported version of node we have to support when writing a loader?
I have node v12.13.0 installed.
I can't make the example work following the babel setup in your example:
{
  "presets": [
    [
      "env",
      {
        "targets": {
          "node": "4"
        }
      }
    ]
  ]
}

I get :
ReferenceError: regeneratorRuntime is not defined
What else has to be setup/installed here?
Package.json:
{
  "name": "loader-test",
  "version": "1.0.0",
  "license": "MIT",
  "scripts": {
    "test": "jest"
  },
  "devDependencies": {
    "babel": "^6.23.0",
    "babel-jest": "^24.9.0",
    "babel-preset-env": "^1.7.0",
    "jest": "^24.9.0",
    "loader-utils": "^1.2.3",
    "memory-fs": "^0.5.0",
    "schema-utils": "^2.6.1",
    "webpack": "^4.41.5",
    "webpack-cli": "^3.3.10"
  },
  "dependencies": {}
}

@michael-ciniawsky

I made it compile using this setting in package.json and converting all import to use require
 "jest": {
    "verbose": true,
    "testEnvironment": "node"  // <---
  },

But what is the setup for using ES6 syntax?

Ref any official loader like https://github.com/webpack-contrib/style-loader
They are written in es6
Also better use https://github.com/webpack-contrib/webpack-defaults to setup your webpack loader/plugin project

Thanks for the recommendation!
But adding the webpack-defaults does not insert a script command in package.json.

After install a defaults NPM script will be written to the local package.json. To sync a project with webpack-defaults, simply run:
 npm run defaults

I usually do

npm init -y
npm i --save-dev webpack-default
add the webpack default script in the package.json mentioned in the webpack-default docs
npm run default.

This pretty much works for me. Then I do my own changes on top of that.

And if you want to use es6, use @babel/preset-env , I saw your package.json and those packages are outdated.
Please update them as well.

add the webpack default script in the package.json mentioned in the webpack-default docs

There is only the readme page, I cannot find any docs?!
So what are the requirements for installing webpack-default, nothing is mentioned in the readme, so I assume none.
I will try with a new blank project from scratch.

It doesn't work...

It doesn't work...

What doesn't work?

There is only the readme page, I cannot find any docs?!

I meant readme

btw, the package name is  @webpack-contrib/defaults.

The package only installs, no default command is created under scripts in package.json.
The package seems not to create this entry on windows.
I know, there are three different packages

webpack-contrib/default
webpack-contrib/defaults
@webpack-contrib/defaults  <-- this is the correct one

As a workaround I execute it myself:

In order to make it work on windows 10:
create and execute the following index.js file:
const run = require("@webpack-contrib/defaults/dist");
run();

the default script is this one
default : webpack-defaults

One question:
Should there also be a helpers.js file generated or should this only be a suggestion:

There is no helpers file generated.


where to find the generated resource class?

Hi Mark, this is a really valuable package !
I added a Resources.resj and a Resources.de.resj and a Resources.fr.resj file in a folder named Resources and the compilation works fine - the following dlls are generated:

\bin\MyProject.resources.dll
\bin\de\MyProject.resources.dll
\bin\fr\MyProject.resources.dll

But I can not find the generated classes. There is no namespaces MyProject.Resources. Could you precise how the generated classes are named and the namespace where they are placed?
Perhaps (probably) I am not knowledgeable enough. I would like to inject IStringLocalizer with the resource class generated by you.
Thanks a lot for any feedback !

What development environment are you using? I'm going to assume VS Code.
In Visual Studio, this package uses a special capability that will generate and include the classes as design time, before you even build the code.
In VS Code, however it appears that mechanism doesn't exist in the same way, so while the project should build correctly (dotnet build from the command line should report no issues), the Resources class and it's members won't appear in autocomplete listings, and will appear as an error in VSCode. I've found that you can trigger them to appear by opening the .csproj and saving it. You don't even need to edit it, just save it. This seems to cause the IDE to run the part of the build process that triggers the code generation and includes the classes.
You should be able to find the generated code files under the /obj/(debug|release)/(targetframework) folder, named something like Resources.resj.g.cs.


Add is_instance_valid to GDNative

ff1e7cfbf4b7ad9b327588ce7dffb43d31fee3e9 added is_instance_valid to GDScript, but GDNative users may also need it.

Fixed by #21602.


Lint in the actions

Can we make an action that does quality assurance things like Lint, indentation, and exports? Lilith made a PR to one of our repos that added a quality assurance tool Acqua.jl https://github.com/AlgebraicJulia/DiagrammaticEquations.jl/pull/21. Can we add this to the template?

@jpfairbanks I have added AQUA.jl into main, but this means I will need to propagate this change into other repositories.
As for linting/identing, I think we will need to add linter/identer to our github actions. Fortunately this means we will not need to manually propagate this enhancement.
https://github.com/AlgebraicJulia/Decapodes.jl/issues/211 is related.


Relay only streams with a specific protocol ID

How to configure the libp2p-relay-daemon to relay only streams with a specific protocol ID?
Otherwise anyone can use a relay server for any network. Right?

It’s not possible. The relayed connections are e2e encrypted.


action create with env variables overloads -P

Describe the bug
This was missed in the recently merged PR #103. The -P flag is overloaded to mean read params from file and read env from file. This is a copy/paste bug, the intent was to use -E.
https://github.com/adobe/aio-cli-plugin-runtime/pull/103/files#diff-6d51d7a8679a906a9bfdaf1a8b017006R207
Thanks to @purplecabbage for pointing this out. We were both surprised oclif didn't barf at this.
As an enhancement, Jesse also suggested supporting reading the value of an env var from the shell environemnt, so that you can do ... action create myAction -e FOO which is syntactic sugar for  ... action create myAction -e FOO $FOO. I think this is neat/convenient (perhaps to be considered separately as an enhancement).

The overloaded flag is fixed in #117

Thanks @purplecabbage . Let's keep this one open for the suggested enhancement.


clarify that elemental soil must touch top face of lava to transform

i tried throwing it on the side of a lava sourceblock because it was already placed and at hand , and it doesnt transform and burns.

That's... interesting and also a bug.

if you have a hopper under the lava it still doesnt transform but it doesnt burn

That's just the nature of the hopper, I think. It picks up the event before the EntityItem actually detects that it's in lave and can transform.


#23 GQM to Describe Repositories Health

Issue #23

Description
Added the document that describes the GQM that the team will use to measure a repository's health

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] New Document

Checklist:

[ ] My code follows the code style of this project. (It's markdown, bro)
[ ] My change requires a change to the documentation. (It IS a documentation change)
[ ] I have updated the documentation accordingly.

insert docs/product/measurement_model into docs/_data/project.yml to appear in an initial page


AttributeError: can't set attribute during EVERY put(), get() and fetch() operation

Problem
Both on localhost and in production, essentially every ext.db operation fails.
Local Environment Specs
OS X El Capital 10.11.3
Platform:

[Mac OS X, x86_64]
'Darwin'
'XYZ-MacBook-Pro.local'
'15.3.0',
'Darwin Kernel Version 15.3.0: Thu Dec 10 18:40:58 PST 2015; root:xnu-3248.30.4~1/RELEASE_X86_64', 'x86_64', 'i386'
Python Verdion:
[2.7.13 (default, Dec 17 2016, 23:03:43)  [GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-8<IP_ADDRESS>)]]

Selected gcloud components:

core: [2017.06.02]
app-engine-python: [1.9.54]
gcloud sdk 159.0.0

Example Trivial Put Request
class RealEstateProperty(db.Model):
    owner = db.ReferenceProperty(User, required=True, collection_name='props')
    can_be_indexed = db.BooleanProperty()
    ... # no other `required` properties

garage = RealEstateProperty(owner=self.user, can_be_indexed=False)
garage.put()

Error Log
ERROR    2017-07-01 17:06:27,192 wsgi.py:279]
Traceback (most recent call last):
  File "/Users/jay/Downloads/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 267, in Handle
    result = handler(dict(self._environ), self._StartResponse)
  File "/Users/jay/Downloads/google-cloud-sdk/platform/google_appengine/lib/webapp2-2.3/webapp2.py", line 1519, in __call__
    response = self._internal_error(e)
  File "/Users/jay/Downloads/google-cloud-sdk/platform/google_appengine/lib/webapp2-2.3/webapp2.py", line 1511, in __call__
    rv = self.handle_exception(request, response, e)
  File "/Users/jay/Downloads/google-cloud-sdk/platform/google_appengine/lib/webapp2-2.3/webapp2.py", line 1505, in __call__
    rv = self.router.dispatch(request, response)
  File "/Users/jay/Downloads/google-cloud-sdk/platform/google_appengine/lib/webapp2-2.3/webapp2.py", line 1253, in default_dispatcher
    return route.handler_adapter(request, response)
  File "/Users/jay/Downloads/google-cloud-sdk/platform/google_appengine/lib/webapp2-2.3/webapp2.py", line 1077, in __call__
    return handler.dispatch()
  File "/Users/jay/Downloads/google-cloud-sdk/platform/google_appengine/lib/webapp2-2.3/webapp2.py", line 547, in dispatch
    return self.handle_exception(e, self.app.debug)
  File "/Users/jay/Downloads/google-cloud-sdk/platform/google_appengine/lib/webapp2-2.3/webapp2.py", line 545, in dispatch
    return method(*args, **kwargs)
  File "/Users/jay/Desktop/mng/mng.py", line 3401, in get
    garage = RealEstateProperty(owner=self.user)
  File "/Users/jay/Downloads/google-cloud-sdk/platform/google_appengine/google/appengine/ext/db/__init__.py", line 973, in __init__
    prop.__set__(self, value)
  File "/Users/jay/Downloads/google-cloud-sdk/platform/google_appengine/google/appengine/ext/db/__init__.py", line 618, in __set__
    setattr(model_instance, self._attr_name(), value)
AttributeError: can't set attribute

What's worse, in the live environment, not only do new entities FAIL to be created, but also NO existing datastore entity can be fetched without the setter messing up my day.
Production get() Request Log
AttributeError: can't set attribute
at __set__ (/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/ext/db/__init__.py:618)
at __init__ (/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/ext/db/__init__.py:973)
at from_entity (/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/ext/db/__init__.py:1445)
at extra_hook (/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/ext/db/__init__.py:1510)
at local_extra_hook (/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/api/datastore.py:643)
at __get_hook (/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/datastore/datastore_rpc.py:1729)
at get_result (/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/api/apiproxy_stub_map.py:613)
at get (/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/ext/db/__init__.py:1540)

at get (/base/data/home/apps/e~APP_ID/17.402363937185965808/mng.py:4179)

at dispatch (/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.3/webapp2.py:545)
at dispatch (/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.3/webapp2.py:547)
at __call__ (/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.3/webapp2.py:1077)
at default_dispatcher (/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.3/webapp2.py:1253)
at __call__ (/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.3/webapp2.py:1505)
at __call__ (/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.3/webapp2.py:1511)
at __call__ (/base/data/home/runtimes/python27/python27_lib/versions/third_party/webapp2-2.3/webapp2.py:1519)
at Handle (/base/data/home/runtimes/python27/python27_lib/versions/1/google/appengine/runtime/wsgi.py:267)

No issue of this scope has happened since 1 year of my usage of DB. It appears to be linked to upgrading my cloud SDK to 160.0.0 earlier today, but after rollback to 159.0.0, not much has changed.
I'd be happy to provide more context, if needed.
A product launch depends on this so please let me know if there is an immediate fix.
Thank you!

FIXED ✔
Nevermind! The cause of the problem was my addition of a @property whose name started with an underscore, thereby messing up the setter.

I'm glad you found your bug.  Note for future reference that this repository is for the google-cloud-python libraries, not for the gcloud sdk / GAE.


Audio Generation Support In Tensorboard

I'm wondering if you already support audio synthesis after each number of steps, as that would be helpful to notice model convergence.

hi @shivammehta25 I just wanted to say a big thank you for your fantastic work and for sharing this amazing tool! Today, I've been playing around with it, and I discovered that having audio in TensorBoard is incredibly helpful for tracking your model's progress. i am not sure if the best anyway i say to share if someone want to use it
hi @CreativeSelf0 here how you can do this you ask i don't test a lot look like working good but i am not if
the best method i am very new on ai stuff like i use  .
first go to Matcha-TTS/matcha/models/baselightningmodule.py file open to edit
in line 16 you see somthing like this

log = utils.get_pylogger(name)
https://github.com/shivammehta25/Matcha-TTS/blob/c8d0d60f87147fe340f4627b84588e812e5fbb00/matcha/models/baselightningmodule.py#L16

write this script it's helper to generate audio
import os
from matcha.utils.utils import get_user_data_dir
from matcha.hifigan.config import v1
from matcha.hifigan.denoiser import Denoiser
from matcha.hifigan.env import AttrDict
from matcha.hifigan.models import Generator as HiFiGAN
import torch

def load_hifigan(checkpoint_path, device):
    h = AttrDict(v1)
    hifigan = HiFiGAN(h).to(device)
    hifigan.load_state_dict(torch.load(checkpoint_path, map_location=device)["generator"])
    _ = hifigan.eval()
    hifigan.remove_weight_norm()
    return hifigan

def load_vocoder(vocoder_name, checkpoint_path, device):
    print(f"[!] Loading {vocoder_name}!")
    vocoder = None
    if vocoder_name in ("hifigan_T2_v1", "hifigan_univ_v1"):
        vocoder = load_hifigan(checkpoint_path, device)
    else:
        raise NotImplementedError(
            f"Vocoder {vocoder_name} not implemented! define a load_<<vocoder_name>> method for it"
        )

    denoiser = Denoiser(vocoder, mode="zeros")
    print(f"[+] {vocoder_name} loaded!")
    return vocoder, denoiser

def to_waveform(mel, vocoder, denoiser=None):

    audio = vocoder(mel).clamp(-1, 1)
    if denoiser is not None:
        audio = denoiser(audio.squeeze(), strength=0.00025).cpu().squeeze()

    return audio.cpu().squeeze()

vocoder_name="hifigan_T2_v1"
checkpoint_path=get_user_data_dir()
file_vocoder=os.path.join(checkpoint_path,vocoder_name)
vocoder, denoiser = load_vocoder(vocoder_name, file_vocoder, "cuda")

def get_waveform(mel):
    return to_waveform(mel, vocoder, denoiser=None)

now find in line 218 the
** def on_validation_end(self) -> None:**
https://github.com/shivammehta25/Matcha-TTS/blob/c8d0d60f87147fe340f4627b84588e812e5fbb00/matcha/models/baselightningmodule.py#L206
about line 206
write this code
                self.logger.experiment.add_image(
                    f"alignment/{i}",
                    plot_tensor(attn.squeeze().cpu()),
                    self.current_epoch,
                    dataformats="HWC",
                )

now in tensorboard you have new tab with audio and you can see 2 first audio
also you can drag the slider to see the step how listen your model

Hello! @lpscr ,
Thank you for the super useful information this would also be my recommended way of doing it if one would want to load HiFi-GAN. However, one downside to this approach is that HiFi-GAN will compete with GPU memory bandwidth especially because it is loaded in the global. Either load it only after validation which might add further overhead if you need to save GPU memory. (classic tradeoff)
One other low-memory workaround would be using Griffin lim to convert to waveforms. However, the quality will hinder but I think you can get a high-level idea of how prosody is evolving. Coqui has an amazing source code which you can use.
https://github.com/coqui-ai/TTS/blob/6fef4f9067c0647258e0cd1d2998716565f59330/TTS/utils/audio/processor.py#L542

@shivammehta25 thank you very much for the info very helpful :)

I am closing the issue for now. If you have any further questions please feel free to reopen it and continue the discussion.


Remove label if value is 0

Hello. i was wondering if there's a way to remove the labels on pie chart segments whose values are 0. Thanks in advance!

Thanks for the proposal! Thanks to @solomein we got that fixed. I will release as soon as I incorporated the other current pullreqs.


Moved animate_dur attribute from marks to figure

Moved animate_dur attribute from marks to figure. Since figure contains axis and multiple marks it makes sense for all of them to transition together.
Updated the example notebooks to reflect the above change
Fixed couple of bugs in Pie mark
Added a custom tween for Pie transitions

Note: Axis gridlines and ticks should also transition when individual marks transition. I am working on it and will create a separate PR for that.

:+1: it could be a good time to rename this to animate_duration. We should figure out how to deprecate a trait attribute name.

@ChakriCherukuri can you please also rebase?

Added the following changes -

renamed "animate_dur" to "animation_duration" as per request of @SylvainCorlay
enabled axis, gridlines and tick animations
Now enabling animations only on data updates (not when rendering plots)
added an example notebook which showcases animations of various marks on data updates
enabled animations (only on data updates) of non-positional data attributes of Scatter

@SylvainCorlay and @ssunkara1 please review (esp axis related changes)

OK, I think this needs a simple rebase.

rebase done

@ChakriCherukuri In the axis example, with the offset, the grid_lines do not go beyond the axis towards the negative numbers.

@ssunkara1 fixed the gridlines to go beyond the axis when offset is specified. Please review

@ChakriCherukuri sorry for the delay. The change with the offset looks good. Thanks!
I just noticed a small bug. If I set the grid_lines to solid or dashed and then change them to none, the tick size still is the height or width of the figure. Hence there are solid lines in place of the grid lines.
Also, I think we should remove the string 'none' and change it to a python None. Let me know what you think.

@ChakriCherukuri Also, I noticed that the logic for animation in Lines and Hist is slightly different from the others. In these two, there is no explicit check for animate, which is present in the other marks. Any reason why they are different?

Not sure about changing 'none' to None since it would not be backward compatible.

@ssunkara1 Hist animations are tricky and currently the way they are done (each bar expanding in horizontal direction) is distracting and don't serve the purpose. I will do them later. For now it's better not to do Hist animations. Let me know if you think otherwise.
I will fix the gird lines bug. Thanks for letting me know.
I will also do the line animations (only on data updates)

@ssunkara1 Can you please check the axis issue we'd discussed today? Everything else looks good

This is looking good to me. It is a true improvement. Unless @ssunkara1 does not comment or merge, I will merge soon.

@SylvainCorlay There's an issue with offsets which I and @ssunkara1 are looking into. Once we resolve it he will merge it.

ok, let me know. I would like to push out a release before tomorrow's presentation, preferably with that PR in.

@SylvainCorlay since there are lot of changes it'd better you cut a release without this. I want to do more testing

@SylvainCorlay fixed all the issues. Can you also test on your end to see if everything looks good? Then we can merge

The Animation notebook is great. Thanks.


playbot -- reduce maximum output size to 3000

Fix #276
Short summary: playbot will exceed RecvQ limits on IRC and disconnect if given an input of 4997 (but seems to be fine with 4350, so the limit is some number between these two).  Either way, that's quite excessive for an IRC bot limited to two lines of output.
This PR reduces the maximum output to 3k bytes.

r? @nikomatsakis
(rust_highfive has picked a reviewer for you, use r? to override)

Thanks!


Added byte cast to fix entropy crop web processor casting issue.

This is a fix for Issue #731 - I've added a cast to convert the literal 128 value into a byte within the ternary expression, this looks like it was originally removed in a bulk clean-up operation in commit 4af8de4a.

Ah brilliant thanks! :+1:


Add check to getID() to return null if element has no set id

This fixes an unseen error where getID() is returning always a string which is being passed to testUniqueness() which will return false but the call is not necessary. There is a check for getID() returning a falsy value but it never does because of the missing condition.


Is it possible to populate clientActivityId in backchannel while sending an activity of type message?

Trying to send a message with the backchannel approach, but the sent message is not reflecting in the web chat. tried with a previous message's clientActivityId (manually copy pasted)and it seems to be the key.
Is it possible to generate the clientActivityId?

You don't need/want a clientActivityId for a backchannel message. Can you share the bot code?

const postButtonMessage = (msg) => {             botConnection                 .postActivity({                     "type": "message",                     "text": msg,                     "from": {                         "id": "userid",                         "name": "username"                     }                 })                 .subscribe(id => console.log(id));         }
This posts a message, but does not reflect in the chat windows. Guess that's how it is meant to be

Yes, that is the whole point of the backchannel....


ClientId string property foreign key PersistentGrant table

Hi, so I'm comparing the Client and Persistent Grant tables.
The PersistentGrant table has a link to the Client table:
public class PersistedGrant
{
    public string Key { get; set; }
    public string Type { get; set; }
    public string SubjectId { get; set; }
    public string **ClientId** { get; set; }
    public DateTime CreationTime { get; set; }
    public DateTime? Expiration { get; set; }
    public string Data { get; set; }
}

public class Client
{
    public int Id { get; set; }

    public string **ClientId** { get; set; }
}

However, why is the ClientId column in the PersistentGrant table a String field? Should it not link to the Client int Id primary key? I see no unique constraint on the Client ClientId field, so its uniqueness is not enforced anywhere. Can this not cause problems? We can enforce this in our database model, but it just seems so awkward.

More to the point, if the Client-ClientId field is meant to be a unique (primary?) key, then why is another int field used as a primary key?

Check out #22 for some previously discussed reasoning behind this.
Just had a quick scan and there's a unique index on ClientId.


Update _multiple.scss

hide by default selected items from list
This pull request includes a

[ ] Bug fix
[ x] New feature
[ ] Translation

The following changes were made
hide by default selected items from list

If this is related to an existing ticket, include a link to it as well.

Closing this out since this would impact accessibility within the dropdowns, marking them as display: none makes them impossible to unselect using the keyboard.


Add Pubmed Central Integration

This Pull Request introduces an integration for Pubmed Central into the Langchain_community. The integration enables the retrieval of full-text articles from Pubmed Central using PMC_ID (Pubmed Central ID). Currently, the existing Pubmed integration in Langchain only provides paper summaries, making it limited in scope.
By incorporating this feature, users will be able to access the complete content of Pubmed Central papers. Access to full-text articles supports more comprehensive analysis and better integration with various research workflows.
In this PR, I introduce the PmcIDSearchWrapper class, which provides a unified interface for interacting with the PubMed Central (PMC) API. It enables searching for full-text articles by PMC ID, downloading files from AWS S3, and extracting text from XML files.
I also added the PmcIDyRun tool, which integrates PmcIDSearchWrapper with LangChain, allowing for efficient PMC ID-based queries.
To ensure everything works as expected, I have included integration tests that verify the functionality of PmcIDSearchWrapper and its integration with PmcIDyRun.
Please let me if anything need to be modify. Thanks!!

Hi @eyurtsev, I made parsing logic in a separate file, created unit test for it and added explantation. Unit tests all passed, but there are some independency errors which I might need some guidance. For example, I install boto3 followed instruction here, but error message said " ModuleNotFoundError: No module named 'boto3'".

hi @XinlingWang0628  -- we won't be able to merge this code into langchain-community in its current state. There's a lot of specialized parsing and too many different dependencies being used. This is not code that will be easy for other developers to maintain.
What I would suggest is starting a new repository and publishing a client from that repository that's a standalone client. Then hopefully things are modular enough that you could be able have a light weight integration using the library client wrapper via an appropriate langchain abstraction

Hi @eyurtsev ,
I've updated the PMC parsing logic to make it more lightweight by removing the S3 download functionality, pmid_convert_to_pmcid and its dependencies. However, I've encountered a circular import issue while testing: ImportError: cannot import name 'Response' from partially initialized module 'requests' (most likely due to a circular import) (/Users/xinling/langchain/libs/community/langchain_community/utilities/requests.py) I haven't been able to pass the test cases yet due to this issue. Happy to modify the test cases if needed once this error is fixed.

going to close again - still too many issues unfortunately. Would recommend checking CI output, and also implementing one of the langchain abstractions! here's our integration guide if you want to take another go in the future:
https://python.langchain.com/docs/contributing/how_to/integrations/


Enums Alternatives in TypeScript

Add a new pattern that provides an alternative to Enums in TypeScript

Thanks for sharing @n-d-r-d-g , I'll give this approach a try.


fix: specify securityContext in cloud node manager

Reason for Change:

Cloud node manager v1.29 needs to be run as root in order to access /etc/kubernetes/certs.
Issue Fixed:

Credit Where Due:
Does this change contain code from or inspired by another project?

[x] No
[ ] Yes

If "Yes," did you notify that project's maintainers and provide attribution?

[ ] No
[ ] Yes

Requirements:

[x] uses conventional commit messages

[ ] includes documentation
[ ] adds unit tests
[ ] tested upgrade from previous version

Notes:

Verified successful run with Azure E2E PR pipeline.


A tree widget

Hi all, this is a simple implementation for a tree widget, with the associated example.
This is my very first piece of rust code, so please bear with me, I might be doing things in a not-so-orthodox way. Also, I tried not to aim too high. I know the following limitations, which I'd like to lift in the future:

hot/hovering does not seem to work correctly, though I assumed WidgetPod would handle it for me,
the node's labels are currently only "Label" widgets. It shall not be too hard to make it a generic type instead,
animating the expand/collapse actions would be nice,
the tree currently cannot be changed (nodes removed/added). That's maybe a harder task!
very big trees: see below...

I would like this widget to handle possibly very big trees. The idea would be to only create the nodes currently visible on the screen, depending on the viewport position. Looking around, I saw that two three approaches exist for that:

@rjwittams has changes in his fork which allow for his table implementation to get events whenever the viewport changes (scroll events)
the official repository has a ScrollComponent / Viewport mecanism which may allow me to access the viewport rectangle.
Jan's proposal #1365 Virtual list, which I understand also sends an event VIEWPORT_SIZE_CHANGED  whenever the viewport size changes

In any case discussions around how scrolling has to be handled might not have completely settled down yet, so I'll probably leave this part for later.

@tirix We're starting a new experiment for widget contributions, which is the druid-widget-nursery repo; the idea is to have a lower barrier for merging of new widgets and related experiments. Would you like to open this as a PR over there?

@tirix you'd be adding the first widget, so don't worry about web - just put the example in. I'll then have a go at getting CI set up.

I've added this as PR #2 in druid-widget-nursery, so I'm closing this PR here.


Plugin: time previewer

Previewer for times (e.g. durations).
The plugin does not work in IE.

These are brilliant :+1:


Added plow's Phoniebox to gallery

Please move the pics into the wiki. Then the following rows can be added to the gallery on https://github.com/MiczFlor/RPi-Jukebox-RFID/wiki/GALLERY
(no pushing allowed on wiki repos).
|  |  |
| --- | --- |
| ![plow](plow-2019-04-03_w800-01.jpg "plow's Phoniebox") | ![plow](plow-2019-04-03_w800-02.jpg "plow's Phoniebox") |
| [plow](https://github.com/plow)'s wooden box with physical buttons. The OpenSCAD model of this case is available [here](https://github.com/plow/phoniebox-case) | It also features a hidden RFID card collection container (April 2019) |

Hi @plow
thanks for the contribution, but I want to keep the list of boxes in the repo with images as small as possible, so I am not merging these requests.
Hope you have fun with your Phoniebox!
All the best, micz


Remove typekit to use local fonts

Background
Fonts are different between the new domain and Doppler Relay due to new domain is not added to Adobe TypeKit package.
Changes done
Remove TypeKit dependency and implement local custom fonts
Add web.config
Add mime type in IIS to handle static font files
Pending to be done
N/A
Notes
N/A
Demo

Nice! @mvillaseco and @fcoronel could you please take a look?

@andresmoschini, our local web.config will update configs on IIS only for our solution instance.
About the files, Mariana gave me this set of fonts to use, I check with web browsers compatibility and appear to be ok but I will ask again about this difference.

About the files, Mariana gave me this set of fonts to use, I check with web browsers compatibility and appear to be ok but I will ask again about this difference.

Please confirm before continue.
@fcoronel what do you think?

CC: @fcoronelmakingsense

Hi! i never use only .otf extention. Maybe need .ttf .woff for browsers compatibilty. You check is .otf works in all browsers? https://css-tricks.com/snippets/css/using-font-face/

I cannot find my previous comment (I have to remember not commenting in commits!),
When I saw that, I realized that some font types are missing, for example .eot, .ttf, woff, etc. Could you research about it? see this commit: MakingSense/Doppler_Website@51bce55

Thanks @fcoronelmakingsense !

@mvillaseco, based in that compatibility grid, could you verify if it meets our WebApp standards?
On the other hand, @cristiangiagante, supposing that it meets our minimum standards, since making it more compatible is relatively easy: it has already done in other places (for example Doppler Site), and it does not require any research: do you think that it is a good idea resigning it taking into account cost and benefits?

I really like this! :) only one thing, All browsers are pointing to WOFF and Woff2 in the future, maybe we should add the extension to them also(as fede link says).

I think it is a good idea implement all that give us more compatibility. Recently I add the others Doppler  fonts.


[cli] Add a verbose flag

Motivation
Debugging CLI interaction with the testnet service can be complicated by a lack of output to help associate CLI and server activity.  This PR adds a --verbose | -v CLI flag to print a UTC timestamp for every CLI command.
The verbose flag (and additional CLI flags) may be passed through
start_cli_testnet.sh by passing them after --. (See example in the test plan.)
Have you read the Contributing Guidelines on pull requests?
:+1:
Test Plan
Manual testing without adding flags:
$ ./scripts/cli/start_cli_testnet.sh
(snip)
libra% a c
>> Creating/retrieving next account from wallet
Created/retrieved account #0 address 657c04130b1c03d910f5b211548066fb9c2266da9d69e1224662487312c3a679
libra% a m 0 100
>> Minting coins
Mint request submitted

With the verbose flag:
$ ./scripts/cli/start_cli_testnet.sh -- -v
(snip)
libra% a c
2019-10-02T18:41:31Z
>> Creating/retrieving next account from wallet
Created/retrieved account #0 address 657c04130b1c03d910f5b211548066fb9c2266da9d69e1224662487312c3a679
libra% a m 0 100
2019-10-02T18:41:34Z
>> Minting coins
Mint request submitted

@bors-libra r+
Awesome, thanks for working on this!

:pushpin: Commit 0230891 has been approved by bmwill

:hourglass: Testing commit<PHONE_NUMBER>f4408d8c80b6ef4aa20d12fbb6af12 with merge 9c99c1f5fea066e586944fb9cf3d777c96881354...

:sunny: Test successful - checks-circle_commit_workflow
Approved by: bmwill
Pushing 9c99c1f5fea066e586944fb9cf3d777c96881354 to master...


Update CI and deps

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (5de3d47) 85.56% compared to head (f1b9550) 85.56%.

:exclamation: Current head f1b9550 differs from pull request most recent head 9120860. Consider uploading reports for the commit 9120860 to get more accurate results

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##           master      #10   +/-   ##
=======================================
  Coverage   85.56%   85.56%
=======================================
  Files           3        3
  Lines         187      187
=======================================
  Hits          160      160
  Misses         19       19
  Partials        8        8

Flag
Coverage Δ

unittests
85.56% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


[bug]: Child not rebuilding using ViewModelWidget

Describe the bug
issue no 1:
when parent = reactive and child = non reactive
child is not rebuilding when we do notify listener.
this happens when we use child using viewmodel widget.
issue no 2:
when parent = reactive and child = reactive
child rebuilds before parent.
(child build method is called before parent's build method)
also this happens when we use child using viewmodel widget.
To reproduce

Make a screen with stackedview which have child that uses viewmodelwidget than this issue will arise

Expected behavior
No response
Screenshots
No response
Additional Context
No response

@FilledStacks


[firebase_crashlytics] Add macOS support

Description
Add macOS support.
Related Issues
https://github.com/FirebaseExtended/flutterfire/issues/1653
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] If the pull request affects only one plugin, the PR title starts with the name of the plugin in brackets (e.g. [cloud_firestore])
[x] My PR includes unit or integration tests for all changed/updated/fixed behaviors (See Contributor Guide).
[x] All existing and new tests are passing.
[x] I updated/added relevant documentation (doc comments with ///).
[x] The analyzer (flutter analyze) does not report any problems on my PR.
[x] I read and followed the Flutter Style Guide.
[x] I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy.
[x] I updated CHANGELOG.md to add a description of the change.
[x] I signed the CLA.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (please indicate a breaking change in CHANGELOG.md and increment major revision).
[x] No, this is not a breaking change.

The macOS example is complaining about a missing GoogleService-Info.plist. In the other PRs I copied the file from the iOS example. But here it does not contain one. @franciscojma86 can you create one?

Any relation to my issue?
https://github.com/FirebaseExtended/flutterfire/issues/1951

@viktor-morin No, unless you forgot to provide your own GoogleService-Info.plist in your app. The example missing that file only affects testing.

@cbenhagen
Yeah sorry isn't related. But do you have any insight in why crashlytics dosnt work for iOS?

@viktor-morin I don't know. Please do not hijack other issues.

@cbenhagen
Yeah sorry isn't related. But do you have any insight in why crashlytics dosnt work for iOS?

There is a known issue affecting iOS with a pending fix here: https://github.com/FirebaseExtended/flutterfire/pull/1782
I imagine that fix will benefit macOS as well.

@cbenhagen
Yeah sorry isn't related. But do you have any insight in why crashlytics dosnt work for iOS?

There is a known issue affecting iOS (keys not getting reported) with a pending fix here: #1782
I imagine that fix will benefit macOS as well.

@collinjackson
I don't want to to hijack this thread but is there a way to get that fix now? Get an dev version of this package?

@cbenhagen
Yeah sorry isn't related. But do you have any insight in why crashlytics dosnt work for iOS?

There is a known issue affecting iOS (keys not getting reported) with a pending fix here: #1782
I imagine that fix will benefit macOS as well.

@collinjackson
I don't want to to hijack this thread but is there a way to get that fix now? Get an dev version of this package?

You can use a git dependency with a package in a folder, pointing to the ref of the PR. More info here.

@cbenhagen
Yeah sorry isn't related. But do you have any insight in why crashlytics dosnt work for iOS?

There is a known issue affecting iOS (keys not getting reported) with a pending fix here: #1782
I imagine that fix will benefit macOS as well.

@collinjackson
I don't want to to hijack this thread but is there a way to get that fix now? Get an dev version of this package?

You can use a git dependency with a package in a folder, pointing to the ref of the PR. More info here.
@collinjackson
Thanks for helping out, unfortunately didn't that solve the issue.

@viktor-morin && @collinjackson please keep communication about other issues out of this PR unless they are related. Of course every fix for iOS code will most likely fix them for macOS as well and I highly appreciate those efforts.


Add x.ss.iso_value to Vector and Matrix objects

I think it's nice to capture intent here even though this is currently a recipe.  We could make this faster by e.g. using iterators that SuiteSparse:GraphBLAS recently added.
Some possible alternative behaviors of x.ss.iso_value:

If empty, return empty scalar (it currently raises)
If not iso-valued, return None (it currently raises)

Merging so I can do a release.  Feel free to share thoughts if you think this should behave differently.


Ctrl-wheel zooming also scales UI in Chrome

Attach (recommended) or Link to PDF file here: Any PDF will work
Configuration:

Web browser and its version: Chrome 73.0.3683.103 x64
Operating system and its version: Windows 10 Pro x64
PDF.js version: 2.0.673
Is a browser extension: Yes

Steps to reproduce the problem:

Open any PDF
Hold CTRL key and use mouse wheel to zoom in/out

What is the expected behavior? (add screenshot)
Document is zoomed in/out
What went wrong? (add screenshot)
The PDF reader UI is also scaled. It appears that Chrome is also zooming the entire page, including the PDF reader UI, as well as the PDF reader also zooming the document.
In previous versions only the document would be zoomed.

Note how the PDF viewer UI is scaled in this image. It can also be made absurdly small by zooming out:

Link to a viewer (if hosted on a site other than mozilla.github.io/pdf.js or as Firefox/Chrome extension):
https://chrome.google.com/webstore/detail/pdf-viewer/oemmndcbldboiebfnladdacbdfmadadm

In previous versions only the document would be zoomed.

It's not clear what "previous versions" refer to here, but this its actually a case where the Chrome browser itself is unfortunately breaking web compatibility; see https://developers.google.com/web/updates/2019/02/scrolling-intervention for additional details.
Generally speaking this cannot be "fixed", or rather worked-around since it's not our fault, in the PDF.js default viewer since we still support IE11 for the time being, which according to https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#Browser_compatibility doesn't support the options object format in addEventListener calls.

Sorry, previous version of Chrome.
If I understand you are saying that adding {passive: true} would fix it, but you can't do that because it would break Internet Explorer. That's unfortunate as I rate the probability of Google relenting or Microsoft fixing IE11 as 0%.
I will attempt to fork to see if I can fix the problem based on your suggestion. Thank you.

Fork with fix here: https://github.com/kuro68k/pdf.js

I made a fixed version available for Chrome here: https://chrome.google.com/webstore/detail/pdf-viewer/khoagkdmmnmmimpmdbeapnlmkkiiikae

The problem should be fixed by the pull request above and will be in the next release. Maybe a Chrome extension update can already be done (/cc @Rob--W for that)? That way no fork/other extension than the official one should be necessary.

Well, I should be happy it's being fixed at least. I'll pull mine once it's out.

I'll include a fix for #10645 and then publish the update.

I published an update as https://github.com/Rob--W/pdf.js/releases/tag/chrome-2.2.191


Implement BlockModel interface

Let me know if there's anything else I should consider.
When given the approval, I'll make a PR for the actual Block, Title and Body classes.
BlockManager still needs work to tie up with the ObservableBlockTree!

Hey @firzanarmani ! I think you should create the skeleton classes for Title and Body alongside this PR, to make sure the code builds!

LGTM!

Ah, how about calling the interface Block, then the concrete class BlockImpl? I believe @johannagwan is using this naming convention too for SuggestedItem and SuggestedItemImpl. What do you think?

Fine with me! I'll change accordingly!

LGTM!


Fix wagtail 2.4 issues

Have to make some modifications to run wagtailvideos on Wagtail 2.4/Django 2.1
changes of render_modal_workflow in wagtail 2.4
add onload handler in video-chooser.js
add video_chooser-modal.js

@NickSimkin thanks for picking this up, was getting ready to tackle it myself. I see that the tests are failing. Is there anything I could help out with?

@NickSimkin it was just backwards compatibility issues and outdated tests making it fail, the following commit should allow all the tests to pass. I pulled your branch and added the commit so you can either cherry pick or I can open a new pull request for you.
https://github.com/mrname/wagtailvideos/commit/248ba223a3758d37658e169f78f59f521b7e27da

Thanks for this @NickSimkin :+1:
There's a few comments to address. It would be good if you could get the tests passing too, but it's not necessary


API Get Console

Hello,
it would be very nice If you could add add a endpoint to get the console Output a specific Minecraft Server.
With best regards
Dieter Fugger

Please do not open Pull Requests that do not change anything. Create an issue instead, and please actually read through the issue list and API code before requesting these things as they already exist.


[TUBEMQ-576] Build metadata entity classes

Increase the representation object of metadata in memory;
Add operation interfaces that need to be supported by the actual storage layer of metadata
Other minor adjustments and optimizations

Codecov Report

Merging #443 (bb83b61) into TUBEMQ-570 (84c3469) will decrease coverage by 0.08%.
The diff coverage is 0.00%.

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


Multiple apps per host

I want to reopen #500 issue. How to lauch multiple apps?
I have nginx-proxy and a django site running. I want to add this cookiecutter-django site to the host

@pydanny This has come up a couple of times in the last couple of days.
Nginx setup is a whole 'nuther kettle of fish.
I think we need to think seriously about pulling deployment under various scenarios out of "things that we can support within the scope of cookiecutter-django itself" as the non-Django aspects of the project consume way more bandwidth than anything actually related to Django or the project set up by running this cookiecutter.
That said, obviously this is meant to be an all-in-one setup, but it should be "all-in-one,  one way", not all-in-one with every possible variation of deployment tool, wsgi/asgi front end, possible load balancer/proxy, multi-site deployment, cacheing, optimization, CSS framework, javascript library, and so forth ad nauseum.
A "This is what we support as part of this project" document/disclaimer might go a long way towards cutting down the enormous backlog of out-of-scope "support requests" aka "how do I set up my project in a way that meets my specific requirements once I've got it working as designed?"
@pydanny Let's chat about this offline, I've got an idea.
S

I agree with you. Please, consider my words as shouts of despair. I'm happy that you answered at all.
Concerning the issue: I've deleted your nginx.conf, and put projects config into sites-enabled directory.

Is it true that when I use nginx-proxy with django cookiecutter, I have nginx behind nginx?

@microspace Using nginx as a proxy means that requests that should be handled by e.g. Gunicorn are sent to Gunicorn on the port on which it's listening.
So, for example, a request for "http://mydomain.com/home" on the usual port 80 ashould be handled by the Django app using Guinicorn running on port 8000, so nginix sends the request to port 8000, then returns the response from Gunicorn as if Gunicorn had handled the request on port 80.  The browser doesn't care, it just gets the correct response without having to worry about the back-end details.
A request for "http://mydomain.com/static/app.css" is a request for a static file which nginx handles much more efficiently, so nginx just handles it.  Again, the browser is none the wiser, it just gets what it asked for.
Nginx is just used to delegate all requests coming in on "http://mydomain.com" to the correct handler and sends back the appropriate response in a completely transparent way.

Is it true that when I use nginx-proxy with django cookiecutter, I have nginx behind nginx?

Yeah, you can configure it this way.
But honestly, as @ssteinerx says, this is way out of scope for Cookiecutter Django. There are much better ways to find people to chat about deploying and running Django apps. Check out the #django IRC channel on freenode, or stackoverflow (there's even a cookiecutter-django tag).

Thank you for your responses!
Docker gave me layer of complexity in deploying apps. I've reconfigured my server without docker already.


Dedicated editor for translations.

@oliver---- can you check if this is going into an ok direction?
@Integral there's more to do here and I could need your help, but just finish other task first.

@michael hard to say atm. I guess the challenge here is to find a Model for translations, that can be implemented well on top of JATS, but is general enough. I'd say, go ahead with your approach, and then let's see ;).
Maybe, at some point you could capture a version of a model for translations, without having the JATS based impl already in mind. (Or is it that already?)

that's what I'm trying to acchieve with that Translatable API. I just define translatables, which have an id. E.g. article-title or abstract and then we can modify the original language as well as adding and updateing translations.
E.g. model.addTranslation('es')
model.getTranslations() will yield translation models.

Sounds good. This sounds a bit like a mixin.. But for now we will only have titles and abstracts...

We could also use it for figures then it gets a bit more of a dynamic nature, that's why I'm using ids for the translatables. E.g. each figure could produce a virtual view on the caption translatable.
api.getTranslatable('fig1-caption-trans')
The idea would be that we have all translations in one place (task-based for the translator person). So I would maybe not show them in the Figures section.  (if that's what we want)

Yep. That is something we need to discuss with Editors.

Dedicated Translations section
Adding to cards in other collections (e.g. Figures)
Or both

Let's do a first shot, and present it to them. For the metadata editor demo i will leave it for title + abstract for now.


[PDI-14921]-Help links of database connections drill to Page Not Found web pages.

:white_check_mark: Build finished in 17m 16s
Build command:
mvn clean verify -B -e -Daudit -amd -pl core,ui

:exclamation: No tests found!
:information_source:  This is an automatic message


Comparison Method violates its general Contract

Thanks for building this. It's great!
I just found and downloaded the latest version of Tabula a couple of days ago.
The pdf I'm trying to extract tables from is here:
http://aep.alberta.ca/land/land-industrial/inspections-and-compliance/documents/AlbertaTier1Guidelines-Feb02-2016A.pdf
I just autoselected all the tables and was going to remove the tables I didn't want in the preview section, when I got the error.
Here is the error message:
"""
Tabula API version: <IP_ADDRESS>21116
Filename: AlbertaTier1Guidelines-Feb02-2016A.pdf
Internal Server Error (500)
    Request Method:
    POST

    Request URL:
    http://<IP_ADDRESS>:8080/pdf/f46bfe1c6631f9dfd0ef04701e3fe7dffd7f608a/data

Comparison method violates its general contract!
"""

I just wanted to note, by being way more selective in what I selected (selecting only the column headers for the general data structure of the table I was interested in), I was able to get all the data I needed. Thanks!


pipeline.json is downloaded every time

Thanks for your great work!
https://github.com/microsoft/TRELLIS/blob/f094d9f20ee2bc2e100ecce4d3ea7ea5119d7e21/trellis/pipelines/base.py#L28
        is_local = os.path.exists(f"{path}/pipeline.json")

        if is_local:
            config_file = f"{path}/pipeline.json"
        else:
            from huggingface_hub import hf_hub_download
            config_file = hf_hub_download(path, "pipeline.json")

        with open(config_file, 'r') as f:
            args = json.load(f)['args']

        _models = {
            k: models.from_pretrained(f"{path}/{v}")
            for k, v in args['models'].items()
        }

https://github.com/microsoft/TRELLIS/blob/f094d9f20ee2bc2e100ecce4d3ea7ea5119d7e21/trellis/models/__init__.py#L44
    import os
    import json
    from safetensors.torch import load_file
    is_local = os.path.exists(f"{path}.json") and os.path.exists(f"{path}.safetensors")

    if is_local:
        config_file = f"{path}.json"
        model_file = f"{path}.safetensors"
    else:
        from huggingface_hub import hf_hub_download
        path_parts = path.split('/')
        repo_id = f'{path_parts[0]}/{path_parts[1]}'
        model_name = '/'.join(path_parts[2:])
        config_file = hf_hub_download(repo_id, f"{model_name}.json")
        model_file = hf_hub_download(repo_id, f"{model_name}.safetensors")

path is "JeffreyXiang/TRELLIS-image-large", so is_local is always False, so the "pipeline.json" is downloaded every time.
There may be some issues with servers that are not connected to the internet~

What I said earlier was incorrect. The _hf_hub_download_to_cache_dir function in huggingface_hub automatically downloads the download metadata (commit_hash) for the URL to compare versions. For files that already exist in the cache, it will use the cached content and not re-download them.
On the server I'm using, it takes about 10 seconds to download the metadata for each URL in get_hf_file_metadata. When the network connection is poor, it triggers a MaxRetryError network connection error.
The solution is to set the environment variable export HF_ENDPOINT=https://hf-mirror.com to avoid connecting to the default Hugging Face server.


How can I change the background color?

I haven't tested it, but I think you can simply change this value: https://github.com/facebookresearch/visdom/blob/master/py/static/css/style.css#L24

@lvdmaaten
Thanks a lot.

@lvdmaaten
It worked! Thanks again!


EHN: special: update nbdtr and friends to use Boost implementation

When working on porting some scipy.special functions to CuPy, I noticed that there was a scheduled deprecation for SciPy 1.7 that has not yet been carried out. Specifically, the unsafe double->int casting for the n or k inputs to binomial distribution functions bdtr, bdtrc and bdtri leads to the following warning:
https://github.com/scipy/scipy/blob/b5d8bab88af61d61de09641243848df63380a67f/scipy/special/_legacy.pxd#L39-L43
I thought about making a PR to complete the deprecation, however, I am not sure how best to proceed with that as it seems inconsistent with other functions in that same file. For example the functions related to negative binomial distributions (nbdtr, nbdtrc and nbdtri) and others instead raise a RuntimeWarning and do not indicate that the unsafe casting is deprecated. Shouldn't the approach for bdtr and nbdtr be the consistent? Please advise.

Most functions now do _legacy_cast_check rather than _legacy_deprecation. Do I understand correctly that is we moved them all to _legacy_deprecation, then things are consistent? That seems like a reasonable thing to do.

That would be consistent,  however _legacy_deprecation was introduced in v1.5 and still mentions removal in v1.7.x specifically. If we change everything to _legacy_deprecation then would we list it as v1.10?

We'd then be deprecating everything in 1.9.0 so should remove it in 1.11.0.

For historical context, https://github.com/scipy/scipy/pull/11045 is the PR included in SciPy 1.5 where the safe ufunc type signatures for these bdtr functions were changed from iid->d to did->d and the _legacy_deprecation was introduced.
Specifically, reasoning for wanting to allow double-valued k from a CDF perspective: https://github.com/scipy/scipy/pull/11045#issuecomment-553068782
However, these binomial distribution funtions are now inconsistent with the corresponding negative binomial ones (nbdtr, nbdtrc, nbdtri) whose signature was not also changed to did->d in the same manner.

I unintentionally duplicated this issue in https://github.com/scipy/scipy/issues/15731 - my opinion was that since the warning explicitly announces removal by 1.7, we could directly do this in 1.9.

I unintentionally duplicated this issue in https://github.com/scipy/scipy/issues/15731 - my opinion was that since the warning explicitly announces removal by 1.7, we could directly do this in 1.9.

My only problem with that is that it would be nice if the negative binomial functions (nbdtr*) would deprecate in the same way as the binomial ones (bdtr*). Given that we don't currently have a similar deprecation warning for the nbdtr* functions, we could modify those to behave like bdtr* now and then just deprecate both together in 1.11.

Gentle ping @grlee77 for renaming this issue... 🙃

Gentle ping @grlee77 for renaming this issue... upside_down_face

done, but feel free to modify it if you like. I can try to submit a small PR to address this later in the week.

Thanks; I don't have the rights to rename issues. 🙃

Removing the "needs-decision" label, as a way forward seems to have been agreed upon. Please revert if I'm mistaken.

@grlee77, any update on this?

Gentle ping @grlee77

Update: this should not be deprecated but switched to the boost implementation. For more details see #15845

I'm guessing the Boost implementation won't be ready in 24 hours, bumping milestone for imminent branching on May 29th.

CC @steppi @izaid, not sure if this is on your radar, but looks like it'd be closely related to recent C++ efforts in scipy.special.

CC @steppi @izaid, not sure if this is on your radar, but looks like it'd be closely related to recent C++ efforts in scipy.special.

Reading through the above, things seem to have come full circle. @izaid and I are actually considering to move away from using Boost in special because it is more difficult to make the Boost implementations work on CUDA (in CuPy for instance). To fill anyone in who might not be aware; @izaid and I are trying to assemble the scalar kernels in scipy.special into a header only C++ library which can run on CPU or on GPU with CUDA. This was first discussed here, https://github.com/scipy/scipy/issues/19404, and here's the first example of this in action: https://github.com/scipy/scipy/pull/19601/files, https://github.com/cupy/cupy/pull/8140. This would allow SciPy, CuPy, and other array libraries like PyTorch to share code for their special function implementations.
I've recently translated nbdtr and friends to C++ in this PR, https://github.com/scipy/scipy/pull/20390. Rather than using Boost, @izaid and I hope to update the existing implementations of these functions to reach parity with Boost.

The title here is somewhat fungible 😅; it's already gone through

question surrounding desired scipy.special._legacy deprecation
reschedule scipy.special.bdtr deprecations and make scipy.special.nbdtr follow the same behavior
ENH: special: update nbdtr and friends to use Boost implementation

So I'm pretty sure we can close this once #20390 lands. :)
See also this comment from #15845:

@tylerjereddy: I spoke with Matt [Haberland] in person this morning and he had a pretty firm view that we should not do this deprecation and instead pursue the Boost approach.
I spoke with Greg [Lee] yesterday afternoon and I think this PR had fallen off his radar for ~1 year and he already seemed "OK' with going the Boost route above in https://github.com/scipy/scipy/pull/15845#issuecomment-1134579184.

@steppi how are we looking with the new implementations with respect to Matt's comment from the linked PR?

I see that currently nbdtr and friends truncate floating point n to an integer, and that's not very useful. But instead of deprecating, have we considered using Boost (see e.g. gh-14696) to perform the calculation instead? It (meaningfully) extends the negative binomial distribution to float n, so that's what we do in stats:

from scipy.stats import nbinom
nbinom.cdf(12, p = 0.5, n=15)  # 0.3505540192127228
nbinom.cdf(12, p = 0.5, n=15.5)  # 0.31720141151535164

(Agrees with Wolfram Alpha CDF[NegativeBinomialDistribution[15.5, 0.5], 12] and R pnbinom(12, 15.5, 0.5))

If there is still work to do there, we should probably change the title to represent what is left to do, and remove this from the deprecation tracker.

Okay, this is not resolved yet:
In [1]: from scipy import special, stats

In [2]: stats.nbinom.cdf(12, p = 0.5, n=15)
Out[2]: np.float64(0.3505540192127228)

In [3]: special.nbdtr(12, 15, 0.5)
Out[3]: np.float64(0.35055401921272267)

In [4]: stats.nbinom.cdf(12, p = 0.5, n=15.5)
Out[4]: np.float64(0.31720141151535153)

In [5]: special.nbdtr(12, 15.5, 0.5)
<ipython-input-5-aa33b818cad8>:1: RuntimeWarning: floating point number truncated to an integer
  special.nbdtr(12, 15.5, 0.5)
Out[5]: np.float64(0.35055401921272267)


CPU metric computation

Hi,
Thanks for all your hard work!  It's nice not to have to create all those panels from scratch!
I have a question about the CPU usage PromQL.  I've noticed that on multi-cpu systems the CPU panels if the Y-axis is set to autoscale the CPU usage sums to N*100 where N is the number of CPUs.
Depending on a axis scaling to make the graph come out to 100% caused me to question the whole formula, so I hunted around the web and found this blog post: https://movio.co/blog/prometheus-lighting-the-way/ with a different formula that comes out to 100(%) even when autoscaled.
So for example for 'user' time, instead of:
sum by (instance)(irate(node_cpu_seconds_total{mode="user",instance="$node",job="$job"}[5m])) * 100
this:
avg(irate(node_cpu_seconds_total{mode='user',instance="$node",job="$job"}[5m])) * 100
Thanks again!
C.

Having made these changes in the dashboard the figures make much more sense, thanks for the tip.

The graph has been updated a lot since this issue was open. Does still suffer the same problem?
Please, could you provide some detailed examples?.
Thanks,


fix: convert utility methods to static

Detail

All methods rewritten as static methods for JSII compatibility.
Updates naming of methods for readability (e.g. {Service}Defaults.{ResourceType}Props() -> GlueDefaults.jobProps()

Open to suggestions if someone has a better convention. Kept it simple and left room for future resource types under a service.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

AWS CodeBuild CI Report

CodeBuild project: DDKIntegrationTestsD8472609-5SCHWjldmWcf
Commit ID: 51d311bb439a1993b2e397c6518c712a928ec958
Result: SUCCEEDED
Build Logs (available for 30 days)

Powered by github-codebuild-logs, available on the AWS Serverless Application Repository


Fabulous, Fabulous.Cli and Fabulous.LiveUpdate should be at the top level directory

Alternatively, Fabulous.StaticView and Fabulous.XamarinForms should be in the src folder.

Or, the src folder should be renamed to something like Fabulous.Core

Fabulous, Fabulous.XamarinForms and Fabulous.StaticView are 3 separate products now.
In the future, Fabulous.XamarinForms and Fabulous.StaticView might even go in their own GitHub repositories.
That's why I kept them in separate folders.
This repository is mainly structured for Fabulous itself and follows the classic src/tools/tests structure.
F.XF and F.StaticView reproduce this structure inside their own folder to be easily movable.
Is there an issue with this?

I guess I could have put most of the files and folders of the root directory inside a folder called Fabulous.
It would have left only 3 folders at the root: Fabulous, Fabulous.XamarinForms and Fabulous.StaticView, which would have reflected those 3 products in 1 repo.
But given we're in the Fabulous repository, I preferred to keep Fabulous at the root directly.

Makes sense with this mental structure. Thanks.


Make resetting the near_plane in NearFarCollider optional.

It is not always desired to reset the near plane to 0 during inference. Added an optional flag.

I'm curious why it was there in the first place. Could it be removed for good? @tancik

I think it was there because otherwise the scene can get clipped when viewing it in the viewer. iirc this was an issue with the blender synthetic datasets awhile ago.

I wonder if we can remove this for good...

It seems like this would only matter if the camera gets super close to objects in the scene, how often do people do this? What situations would you want to keep the near plane the same as training?

situations

Well some methods do not even work when the near plane is zero. E.g. if the sampler is LinearDisparitySampler due to the 1/near_plane. This could also be made to work if you replace 0 with a small epsilon but I thought keeping the initial near_plane much more logical.

It seems like this would only matter if the camera gets super close to objects in the scene, how often do people do this? What situations would you want to keep the near plane the same as training?

I think changing the near plane skews the sampling in nerf/mipnerf potentially decreasing the eval perf.

I would vote for removing resetting to zero. I don’t think having the option here is useful.

@brentyi, do you accept this PR?

It looks good to me, I just tweaked the comment to add details on why we reset the clipping plane.
I don't feel strongly, but I'd vote to keep the argument + current reset behavior. I agree that it'd likely hurt eval metrics when evaluation images are a similar distance to the object as the training images (as is the case in the synthetic datasets), but it would dramatically improve them if the evaluation images get much closer (not present in evaluation datasets, but IMO more useful in the real world).


FIX: Add editing user ids to ChatMessage and ChatMessageRevision

This commit adds last_editor_id to ChatMessage for parity with Post in core, as well as adding user_id to the ChatMessageRevision record since we need to know who is making edits and revisions to messages, in case in future we want to allow more than just the current user to edit chat messages. The backfill for data here simply uses the record's creating user ID, but in future if we allow other people to edit the messages it will use their ID.

@martin-brennan Im wondering if we need to pass the guardian everywhere given we have message.user ?


initial stab at Hello task

DO NOT MERGE this PR. It's just for illustrative purposes.
Look at the files that actually changed versus just getting deleted. There's really not much difference.

Can one of the admins verify this patch?


Let me choose if I want browser testing included

Sometimes I am writing server-side only stuff. In that case, some packages should not be installed and the circle CI file should be a little bit different.

Closed: Development won't continue in this repository.


Libdoc: Using python decorator for keyword generates incorrect documentation

I am using a python library with a decorator for the purpose of logging all arguments passed to any keyword like below (using RobotFramework 4.0.1),
# MyLib.py
from robot.api.logger import info, debug

def log_func(func):
  def inner1(*args, **kwargs):
    info(f'Inside {func.__name__}')
    debug(f'Arguments: {args}, {kwargs}')
    r_val = func(*args, **kwargs)
    info(f'Exiting {func.__name__}')
    return r_val

  return inner1

class MyLib:
  @staticmethod
  @log_func
  def activate_config_file(arg1: str = 'val1', arg2: int = 0):
    # Do something with the arguments

  # other keywords

When I try to generate the documentation for activate_config_file keyword I get the following documentation,

It seems the decorator is coming in the way while deciding the arguments. How can we overcome this issue?

Use functools.wraps as explained in the User Guide:
http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#using-custom-decorators


Fixes #20: Rework JSON-LD queries

Fixes #20
Updates amf to 4.0.4.
Reworks JSON-LD queries to match amf 4.0.3 namespaces changes.

Not sure why Travis can't replace GITHUB_PERSONAL_ACCESS_TOKEN environment variable as I can't access its settings.

Not relevant any more because of https://github.com/aml-org/aml2doc/commit/f0a1d12e305256d91515574d102a9b0bf9210cc3