Cyclonedx external reference URLs are not validated when encoding

What happened:
When analyzing docker.io/anchore/test_images:grype-quality-node-d89207b@sha256:f56164678054e5eb59ab838367373a49df723b324617b1ba6de775749d7f91d4 and outputing to cyclonedx I'm seeing values that are not valid URLs in the externalReferences section:
# cat node-87.1.cxd.json| jq '.components[].externalReferences'
...
[
  {
    "url": "jsdom/webidl-conversions",
    "type": "distribution"
  }
]
[
  {
    "url": "jsdom/whatwg-url",
    "type": "distribution"
  }
]
[
  {
    "url": "git://github.com/isaacs/node-which.git",
    "type": "distribution"
  }
]
[
  {
    "url": "git://github.com/isaacs/node-which.git",
    "type": "distribution"
  }
]
...

Which results in invalid cyclonedx relative to the validator:
cyclonedx validate --input-file ./node-87.1.cxd.json  --input-version v1_4

Validating JSON BOM...
Validation failed: Value does not match format "iri-reference"
#/properties/components/items/$ref/properties/externalReferences/items/$ref/properties/url/format
BOM is not valid.

What you expected to happen:
URLs encoded should be compliant relative to where they were parsed, so for node cataloging https://github.com/jsdom/webidl-conversions/blob/master/package.json#L15 will result in a repository value of jsdom/webidl-conversions. For node, this should be interpreted as github.com/jsdom/webidl-conversions, for other package types these assumptions might not be valid or have different assumptions that can be made about the URL.
Ultimately https://github.com/anchore/syft/blob/cfebae27f5216d042b87b7508fcf39086c6b0338/syft/formats/common/cyclonedxhelpers/external_references.go#L15 the cyclonedx external reference encoder will need to take this into consideration.
Environment:
Syft version v0.87.1

hi, I'd like to work on this issue. Can you help assigning it to me? Thanks!

@wagoodman so it turns out the extracted metadata comes from embedded /usr/local/packages/npm/node_modules directory in the image and hence I don't see anyway to extrapolate the module's repository URL.
IMO, we can try validating extracted metadata before encoding as external_references, which would make the validation going through. I've made a PR at #2091. Let me know if you have any concern for this approach. Thanks!


Stars are kinda blurred

The stars look like this in some devices. I couldn't find why. Is it plugin-related or device-related?

Hi, I've never seen it before. On which device did this occur? Than I may be able to reproduce it...

At first I thought it was related to Ubuntu or Linux, but this is happening on Windows too.
Is it possible that minification is causing this?
My tested devices were using latest Chrome, 1080p screens, Elementary OS 0.4 and Windows 10.

Same here.  Strangely enough, I see the stars blurred on Chrome and Opera, and a clearer picture is showed in IE/Edge/FireFox....
Using the latest version of each browser - Windows 10 - with Angular 1.4.
I'm also embedding the component inside a bootstrap col.
Also, the weird thing is that the stars show correctly (even in Chrome and Opera) in the test site:
http://akempes.github.io/angular-rateit/
Still trying to figure it out, but wanted to add more info.

Just found out that increasing the star height, width and background to 20px, as in the example namd Star height/width - makes it look better. Not sure the root cause, though, but that worked for me.

I'll try that later. Thanks!
Em 02/11/2017 16:08, "fcarreno"<EMAIL_ADDRESS>escreveu:

Just found out that increasing the star height, width and background to
20px, as in the example namd Star height/width - makes it look better. Not
sure the root cause, though, but that worked for me.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/akempes/angular-rateit/issues/17#issuecomment-341510668,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AH43heFShk7sax_sitN-FtyNQLPtIN9mks5sygUzgaJpZM4QHVHy
.

This is what I got when I set star-height and star-width..

This is what worked for me:
<ng-rate-it data-ng-model="modelVar" ...... star-width="20" star-height="20">

Unfortunately I can't have 20px stars on my page, but it works with 18px too. Anything below that crashes.


Code Style

In some places of the Scss we have no alignment for colons, while in other places there is alignment.
Is there any set style for the projects code?
Further, we should setup tooling to check the code style through a gulp task. Maybe even using something like gulp-csslint to verify the output CSS adhears to some set rules.

As a suggestion for CSS code style to follow some css guides especially 'Declaration order' by Mark Otto. The CSS becomes more readable :)

Great reference @yuyokk. Thanks.

Superseded by the linting setup in #4464.


synchronizeWithChildren fails with child.key undefined error

In utils.js function synchronizeWithChildren starts off
    children = [].concat(children); // ensure 'children' is always an array

If the incoming children argument to this function is undefined, which it will be if you create a ReactGridLayout with none, then the result of this statement is an array, length 1 with children[0] === undefined. The loop over children sets child to this undefined, and throws an exception as soon as it tries to access a property of child.

Thanks for the catch. I'll add a check for this.


CANT LAUNCH HYPRLAND AT ALL.

Already reported ? *

[X] I have searched the existing open and closed issues.

Regression?
No
System Info and Version
yprland 0.45.0 built from branch  at commit  dirty ().
Date:
Tag: , commits:
built against aquamarine 0.4.3
flags set:
debug
System Information:
System name: Linux
Node name: cachyos-x8664
Release: 6.11.7-1-cachyos
Version: #1 SMP PREEMPT_DYNAMIC Sat, 09 Nov 2024 08:37:52 +0000
GPU information:
00:02.0 VGA compatible controller [0300]: Intel Corporation Core Processor Integrated Graphics Controller [8086:0046] (rev 02) (prog-if 00 [VGA controller])
os-release: NAME="CachyOS Linux"
PRETTY_NAME="CachyOS"
ID=cachyos
ID_LIKE=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://cachyos.org/"
DOCUMENTATION_URL="https://wiki.cachyos.org/"
SUPPORT_URL="https://discuss.cachyos.org/"
BUG_REPORT_URL="https://github.com/cachyos"
PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
LOGO=cachyos
Description
Hyprland crashes on startup due to a failure in initializing the backend, caused by libseat not being able to open a seat (Permission denied) and fallback backends also failing. Additionally, there is a conflict with session management, likely from another active compositor or session.
How to reproduce
dont understand.
Crash reports, logs, images, videos
Hyprland Crash Report
I hope you didn't have any unsaved progress.
Hyprland received signal 6(ABRT)
Version:
Tag:
Date:
Flags:
System info:
System name: Linux
Node name: cachyos-x8664
Release: 6.11.7-1-cachyos
Version: #1 SMP PREEMPT_DYNAMIC Sat, 09 Nov 2024 08:37:52 +0000
GPU:
00:02.0 VGA compatible controller [0300]: Intel Corporation Core Processor Integrated Graphics Controller [8086:0046] (rev 02) (prog-if 00 [VGA controller])
os-release:
NAME="CachyOS Linux"
PRETTY_NAME="CachyOS"
ID=cachyos
ID_LIKE=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://cachyos.org/"
DOCUMENTATION_URL="https://wiki.cachyos.org/"
SUPPORT_URL="https://discuss.cachyos.org/"
BUG_REPORT_URL="https://github.com/cachyos"
PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
LOGO=cachyos
Backtrace:
# | Hyprland(_Z12getBacktracev+0x61) [0x5b17ac477d71]
getBacktrace()
??:?
#1 | Hyprland(_ZN13CrashReporter18createAndSaveCrashEi+0xb80) [0x5b17ac3f7260]
CrashReporter::createAndSaveCrash(int)
??:?
#2 | Hyprland(_Z25handleUnrecoverableSignali+0x71) [0x5b17ac36f491]
handleUnrecoverableSignal(int)
??:?
#3 | /usr/lib/libc.so.6(+0x3d1d0) [0x7ace8604c1d0]
??
??:0
#4 | /usr/lib/libc.so.6(+0x963f4) [0x7ace860a53f4]
??
??:0
#5 | /usr/lib/libc.so.6(gsignal+0x20) [0x7ace8604c120]
??
??:0
#6 | /usr/lib/libc.so.6(abort+0xdf) [0x7ace860334c3]
??
??:0
#7 | /usr/lib/libstdc++.so.6(+0x97b2c) [0x7ace86297b2c]
??
??:0
#8 | /usr/lib/libstdc++.so.6(+0xadf3a) [0x7ace862adf3a]
??
??:0
#9 | /usr/lib/libstdc++.so.6(_ZSt10unexpectedv+0) [0x7ace8629752a]
??
??:0
#1 | /usr/lib/libstdc++.so.6(+0xae1f6) [0x7ace862ae1f6]
??
??:0
#11 | Hyprland(+0xcbdb0) [0x5b17ac2b1db0]
??
??:0
#12 | Hyprland(_ZN11CCompositor10initServerENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi+0x82d) [0x5b17ac375ddd]
CCompositor::initServer(std::__cxx11::basic_string<char, std::char_traits, std::allocator >, int)
??:?
#13 | Hyprland(main+0xb15) [0x5b17ac32a035]
main
??:?
#14 | /usr/lib/libc.so.6(+0x25e08) [0x7ace86034e08]
??
??:0
#15 | /usr/lib/libc.so.6(__libc_start_main+0x8c) [0x7ace86034ecc]
??
??:0
#16 | Hyprland(_start+0x25) [0x5b17ac36b6d5]
_start
??:?
Log tail:
[LOG] System name: Linux
[LOG] Node name: cachyos-x8664
[LOG] Release: 6.11.7-1-cachyos
[LOG] Version: #1 SMP PREEMPT_DYNAMIC Sat, 09 Nov 2024 08:37:52 +0000
[LOG] GPU information:
00:02.0 VGA compatible controller [0300]: Intel Corporation Core Processor Integrated Graphics Controller [8086:0046] (rev 02) (prog-if 00 [VGA controller])
[LOG] os-release:
NAME="CachyOS Linux"
PRETTY_NAME="CachyOS"
ID=cachyos
ID_LIKE=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://cachyos.org/"
DOCUMENTATION_URL="https://wiki.cachyos.org/"
SUPPORT_URL="https://discuss.cachyos.org/"
BUG_REPORT_URL="https://github.com/cachyos"
PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
LOGO=cachyos
[LOG] ========================
[INFO] If you are crashing, or encounter any bugs, please consult https://wiki.hyprland.org/Crashes-and-Bugs/
[LOG]
Current splash: Alors on danse
[LOG] Old rlimit: soft -> 1024, hard -> 1048576
[LOG] New rlimit: soft -> 1048576, hard -> 1048576
[LOG] Creating the EventLoopManager!
[LOG] Creating the HookSystem!
[LOG] Creating the KeybindManager!
[LOG] Creating the AnimationManager!
[LOG] Created a bezier curve, baked 255 points, mem usage: 4.08kB, time to bake: 43.53µs. Estimated average calc time: 0.10µs.
[LOG] Creating the ConfigManager!
[LOG] Created a bezier curve, baked 255 points, mem usage: 4.08kB, time to bake: 26.71µs. Estimated average calc time: 0.05µs.
[LOG] Using config: /home/fantabaridi/.config/hypr/hyprland.conf
[INFO] !!!!HEY YOU, YES YOU!!!!: further logs to stdout / logfile are disabled by default. BEFORE SENDING THIS LOG, ENABLE THEM. Use debug:disable_logs = false to do so: https://wiki.hyprland.org/Configuring/Variables/#debug
[LOG] Creating the CHyprError!
[LOG] Creating the LayoutManager!
[LOG] Creating the TokenManager!
[LOG] [hookSystem] New hook event registered: preConfigReload
[LOG] Created a bezier curve, baked 255 points, mem usage: 4.08kB, time to bake: 35.26µs. Estimated average calc time: 0.05µs.
[LOG] Using config: /home/fantabaridi/.config/hypr/hyprland.conf
[LOG] Created a bezier curve, baked 255 points, mem usage: 4.08kB, time to bake: 33.73µs. Estimated average calc time: 0.12µs.
[LOG] Created a bezier curve, baked 255 points, mem usage: 4.08kB, time to bake: 32.17µs. Estimated average calc time: 0.05µs.
[LOG] Created a bezier curve, baked 255 points, mem usage: 4.08kB, time to bake: 28.96µs. Estimated average calc time: 0.05µs.
[LOG] Created a bezier curve, baked 255 points, mem usage: 4.08kB, time to bake: 28.92µs. Estimated average calc time: 0.05µs.
[LOG] Created a bezier curve, baked 255 points, mem usage: 4.08kB, time to bake: 28.92µs. Estimated average calc time: 0.05µs.
[LOG] Disabling stdout logs! Check the log for further logs.
[LOG] Creating the PointerManager!
[LOG] Creating the EventManager!
[LOG] [AQ] Creating an Aquamarine backend!
[ERR] [AQ] [libseat] [libseat/backend/seatd.c:66] Could not connect to socket /run/seatd.sock: Permission denied
[LOG] [AQ] [libseat] [libseat/libseat.c:76] Backend 'seatd' failed to open seat, skipping
[ERR] [AQ] [libseat] [libseat/backend/logind.c:302] Could not take control of session: Device or resource busy
[LOG] [AQ] [libseat] [libseat/libseat.c:76] Backend 'logind' failed to open seat, skipping
[ERR] [AQ] [libseat] [libseat/libseat.c:79] No backend was able to open a seat
[ERR] [AQ] libseat: failed to open a seat
[ERR] [AQ] Failed to open a session
[ERR] [AQ] DRM Backend failed
[LOG] [AQ] Starting the Aquamarine backend!
[LOG] [AQ] Starting the Wayland backend!
[ERR] [AQ] Wayland backend cannot start: wl_display_connect failed (is a wayland compositor running?)
[ERR] [AQ] Requested backend (wayland) could not start, enabling fallbacks
[ERR] [AQ] Implementation wayland failed, erasing.
[CRITICAL] m_pAqBackend couldn't start! This usually means aquamarine could not find a GPU or encountered some issues. Make sure you're running either on a tty or on a Wayland session, NOT an X11 one.
[CRITICAL] Critical error thrown: CBackend::create() failed!

https://bbs.archlinux.org/viewtopic.php?id=290280

read the wiki


gspreadsheets. Update component to new sailor version / use new logger functionality / dockerize

DoD
Development:

[x] use new logger
[x] component should be dockerised, add: "buildType":"docker" line into component.json
[x] sailor version is changed from 2.4.0 to 2.5.4
[x] CHANGELOG.md is updated
QA:
[x] Smoke test is finished
[ ] Regression testing is finished (optional)
[ ] Support is asked to deploy to the production stage (app.elastic.io) and/or another required stage
[ ] Component is actually deployed to the production stage (app.elastic.io) and/or another required stage
[ ] Smoke after deploying to the production stage

Smoke test checklist

[ ] Push to platform
[ ] Retrieve sample
[ ] Retrieve sample on LA (if possible)
[ ] Run keen flow
[ ] Run realtime flow
[ ] Create valid creds in the flow
[ ] Create valid creds in credentials itself


Create Function + missing

[Enter feedback here]
Hello,
In Visual Studio Code, Azure, Workspace there is no "+" button (Create Function), like in the picture in step 1. "Create an Azure Functions Project"  on this page, only "Deploy" and "Refresh".
What Am I doing wrong?
Thank you, Matjaz Reberc
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: a0ac735e-3c90-8ba4-2d19-55099d03a1e4
Version Independent ID: c3b1b510-641b-2cfb-e414-8d8b068de9e6
Content: Develop Azure Functions by using Visual Studio Code
Content Source: articles/azure-functions/functions-develop-vs-code.md
Service: azure-functions
GitHub Login: @ggailey777
Microsoft Alias: glenga

@matjazreberc Thank you for reaching out. Sorry to hear that you are facing this issue. I have Azure Functions extension as specified in the docs' prerequisites and able to see "+" button in my local machine.

Can you please confirm if you have VS code Functions extension installed?

@MayankBargali-MSFT  Thank for you message, but Azure Function extenstion ist installed,

This is what I see,

But after uninstalling extension, installing it again, closing Visual Studio Code, opening, restarting computer,... I have found workaround,
First I select my Azure function, then i press F1, write Azure functions: Create New Project...

Whay I dont see the "+" button in Workspase I dont know.
Thank for your help, Matjaz Reberc

@matjazreberc Appreciate you sharing the details and glad you have found a workaround. This appears to be an issue with VS Code Functions extension. Typically, we try to keep azure-docs channel scoped to feedback directly about the docs. I kindly request you to reach out to https://github.com/Microsoft/vscode-azurefunctions/issues repo to report the issue.

#please-close
We will go ahead and close this issue. Please feel free to reach out for any docs issue.


Update TaskParameters.ts

westus3 is supported as well
https://docs.microsoft.com/en-us/azure/virtual-machines/image-builder-overview#regions
I did not see an "australia" location supported but a australiaeast

closing as it should all be in other PR now


Remove faction/system from monitoring

I added a faction to monitoring by mistake, and can't seem to find a way to remove it

Go to your profile. It is under top right corner. All added factions and systems will be listed there.


fix(docs): title match content

Checklist

[x] npm install && npm test passes
[x] tests are included
[x] documentation is changed or added
[x] commit message follows commit guidelines

Description of change

Fix issue https://github.com/nodejs/node-gyp/issues/2573

My sense is that a lot of users come here frustrated and just want simple instructions that make things work again.  We need a TL;DR approach that quickly tells them how to put the train back on the tracks again.  After that has been done, we can have extra text on the whys and wherefores for those who are interested to read further.

Thanks for feedback, but i cant accomplish this changes, because this PR fix exactly what @DeeDeeG told to fix: restore old content of "update" and move current content to another file.
So i will not include any other fixes to this PR. If you want them, I can make a separate PR but only after merge of this.

Hi folks. I feel a bit responsible for the state of this PR, as it follows my suggestion exactly, and restores content that I was the most recent person to seriously work on.
This PR has no new content other than a filename and markdown heading. It restores one file's worth of old content, verbatim, so that npm 7 and 8 users have something that works. And moves the revamped instructions (npm 6-compatible only) to a separate file. Again copied verbatim, other than the new filename and markdown heading at the top.
Improving the content is much harder than what this PR currently does. It's just copy-pasting old content and giving the newer approach a new filename and title. Please consider whether desired improvements might be out of scope here?
If the desired improvements truly block this, I am the most recent person to do a lot of work and testing on the old docs this PR restores. I can try to find time to improve them, I suppose...

I drafted up some changes addressing @rvagg's review comment...
Take a look at my changes here: https://github.com/DeeDeeG/node-gyp/commit/af2b04bd016f280e5b69822af51be408c32e4b14?short_path=443aa74#diff-443aa74934592a76925a0b31e9d53915279d364ee7775ebb99e2950493087401
Reviews welcome, and I can post these as a PR to @owl-from-hogvarts's branch to make it part of this PR if desired.

Here's some notes that could be added right under the title/header on Updating-npm-bundled-node-gyp.md:
**Note: These instructions are (only) tested and known to work with npm 8 and older.**

**Note: These instructions will be undone if you reinstall or upgrade your install of npm or node! For a more permanent (and simpler) solution, see [Force-npm-to-use-global-node-gyp.md](https://github.com/nodejs/node-gyp/blob/master/docs/Force-npm-to-use-global-node-gyp.md)**

I would also mention npm 8 later in the file, since the instructions work exactly the same on npm7 as on npm 8.
-If your npm version is ___7___, do:
+If your npm version is ___7 or 8___, do:

(Applies once in the macOS/Linux section, once in the Windows section.)

If it's not too bizarre, I can post this as a PR to @owl-from-hogvarts' fork targeting this branch and it will become part of this PR. Feedback on these changes welcome.

@DeeDeeG i have reviewed your changes. As i can see, they satisfy what @rvagg told about. I can approve them. But it would be cool to land them into separate PR on top of this, as you suggest

I can also propose some changes to "Force". Check out owl-from-hogvarts:docs/clarify

Thanks for the review!
(And to the small extent I've been a maintainer on repos that get issues/PRs posted, I have been super picky about it.)
Regarding my proposed changes to address the review comment from before: I'll be happy to re-post those at this repo instead, in a day or two, if this indeed merges. (When I get a free moment.)
(I don't think @owl-from-hogvarts is keen to merge my stuff to this branch/PR? I tried to submit the changes to this PR indirectly, via https://github.com/owl-from-hogvarts/node-gyp/pull/14, but I can agree that's more hassle than @owl-from-hogvarts probably meant to sign up for here... If I'm proposing changes, I should probably be accountable to feedback, not indirectly introduce them through someone else's PR.)
Super nitpicking/maybe unimportant stuff about commit message, (click to expand, or feel free to skip):
The PR title used here fix(docs) would make it show under the "Bug Fixes" heading in the Changelog, as an entry_ "docs: title match content". I think the fix(): prefix is superfluous and docs: could be used as the prefix instead, so it shows under the "Documentation" heading in the Changelog. But I don't really mind either way, people can figure it out.

Thanks for the comments @DeeDeeG, it might be best if you just submit your PR here and we'll work on this piecemeal. This was one benefit of docs being a wiki and we probably should be a lot more relaxed about getting doc changes in, more wiki-style.

I have posted my stuff here: https://github.com/nodejs/node-gyp/pull/2585
(It adds some notes/disclaimers for upgrading the copy of node-gyp that npm will use.
Mostly about compatibility with npm 6, vs 7/8. Note that npm 6 is still relevant as it is bundled with Node 12.x and14.x, which are LTS releases of Node. Node 14.x will be supported until 2023-04-30.)

just update module gulp-sass to the latest version, add sass module to the package.json and write
const sass = require('gulp-sass')(require('sass'));

to the gulpfile.js to get rid off node-gyp.


Add support for ledger_data RPC

See https://xrpl.org/docs/references/http-websocket-apis/public-api-methods/ledger-methods/ledger_data/

For some interesting example ledgers, see https://github.com/XRPLF/xrpl4j/issues/474


Can't delete gateway

Issue
when you try to delete created gw u will get this error :
p 2 in run cf06517702b3396caf1c2bc9976374da
Error of job: gateway!test5 (uninstall):
*TRACEBACK*********************************************************************************
Traceback (most recent call last):
  File "/usr/lib/python3.5/concurrent/futures/thread.py", line 55, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/tmp/actions/gateway/8414c50604acaa0d4361e13aec6a0ee5.py", line 115, in uninstall
    j.tools.async.wrappers.sync(container.delete())
  File "/opt/code/github/jumpscale/lib9/JumpScale9Lib/tools/async/Wrappers.py", line 12, in sync
    return loop.run_until_complete(coro)
  File "/usr/lib/python3.5/asyncio/base_events.py", line 387, in run_until_complete
    return future.result()
  File "/usr/lib/python3.5/asyncio/futures.py", line 274, in result
    raise self._exception
  File "/usr/lib/python3.5/asyncio/tasks.py", line 239, in _step
    result = coro.send(None)
  File "/opt/code/github/jumpscale/ays9/JumpScale9AYS/ays/lib/Service.py", line 365, in delete
    raise j.exceptions.RuntimeError(msg)
JumpScale9.errorhandling.JSExceptions.RuntimeError: ERROR: Can't remove service:container!test5 has children [service:http!test5, service:dhcp!test5, service:cloudinit!test5, service:firewall!test5]. ((type:runtime.error)

Software Version
00cb80349baf807d120799b0e37942a4dfac1b47

Will be fixed as part of js9 we depend on

Software Verification
ea6468df6151ab593f4ddab3ca304c8ef011ec71


Annotation Based DefaultValues only works for strings

Is there an existing issue for this?

[x] I have searched the existing issues

Describe the bug
The DefaultValue attribute only works for strings. Take the following class:
public class MyTypeInput
{
  [DefaultValue("foo")]
  public string String1 { get; set; }

  [DefaultValue(true)]
  public bool Bool1 { get; set; }

  [DefaultValue(42)]
  public int Int1 { get; set; }

  [DefaultValue(3.14)]
  public double Float1 { get; set; }

  [DefaultValue(MyEnum.Value1)]
  public MyEnum Enum1 { get; set; }
}

It produces the following SDL:
input MyTypeInput {
  string1: String = "foo"
  bool1: Boolean! = true
  int1: Int! = 42
  float1: Float! = 3.14
  enum1: MyEnum! = VALUE1
}

Note that the Boolean, Int, Float, and MyEnum fields are all non-nullable despite having default values defined. When making a request to the endpoint, the non-null requirement makes it so those fields have to be set in the input, treating them exactly the same as non-null fields without a default argument specified.
I also tried this with the following class:
public class MyTypeInput
{
  [DefaultValue("foo")]
  public string String1 { get; set; }

  [DefaultValue(true)]
  public bool? Bool1 { get; set; }

  [DefaultValue(42)]
  public int? Int1 { get; set; }

  [DefaultValue(3.14)]
  public double? Float1 { get; set; }

  [DefaultValue(MyEnum.Value1)]
  public MyEnum? Enum1 { get; set; }
}

Note that this time, the bool, int, double, and MyEnum are all nullable. Nevertheless, the exact same SDL gets produced.
Update: I originally tested this in 11.3.7. I updated my examples to account for a bug fix that wasn't included in that version.
Steps to reproduce

Clone this repository
Build and run the solution
Download the SDL at https://localhost:5001/graphql?sdl (exact url may differ on your machine)
Note that the input type produced has fields that have default values marked as non-null

You can also attempt to hit the graphql endpoint with an editor of your choice. If you attempt to use the returnTypePassedIn query without specifying the bool, float, and int fields, you'll get an error like "The field 'field name' is required and must be set."
Relevant log output
No response
Additional Context?
No response
Product
Hot Chocolate
Version
12.0.0-rc.6

Update: I tested making a request using defaults in 12.0.0-rc.6 and it worked. It seems that the request only failed on 11.3.7. It's worth mentioning that the exact same SDL is produced in both versions, it just seems that 12.0.0-rc.6 interprets that SDL more loosely. If the generated SDL ever needs to be used outside of a Hot Chocolate project, it may be interpreted more strictly. It also shows errors for input in other GraphQL IDEs, even if the query is legal. For example, here's a screenshot of the popular IDE Altair showing errors for what is, for Hot Chocolate, valid input:

That has nothing todo with strict 😅 we just implement already the spec draft. The new spec release is slated for later this month. It will take a while for tools to update certain things. Hot chocolate 12 also already implements features of the very next spec draft like defer and stream.

I read  the 2021 spec and you're right: default values don't care if the type is non nullable. That raises an interesting question. Why were default values in version 11.3.7 of hot chocolate not working with non null types? Having checked the 2018 spec, it seems that it was valid to set a default value for a non null field/argument. That makes me think that default values working in version 12 but not 11.3.7 isn't a result of implementing the newest spec.

Because the 2018 spec had some issues with validation rules... I have to look them up again. But if you would implement the 2018 spec validation rules as described you would run into this... I need to check again my discussion notes with Ivan from GraphQL-js but there were contradicting rules.

Interesting. Thanks for sating my curiosity.
On an unrelated note, I think Hot Chocolate is a great tool. Keep up the good work.

BTW there is a new draft on default values written by Benji that is not going into the 2021 spec draft. If you are interested in the odd cases. He is trying to root a lot of these cases out and streamline the handling of default values.
https://github.com/ChilliCream/hotchocolate/issues/4179


bugfix(tech user): fix duplicate entry issue

Description
Fix - After adding / creating new technical users, list view at bottom "randomly" shows duplicates. Applies to all the views (ALL, MANAGED, OWNED)
Why
duplicate entry issue
Issue
NA
Checklist
Please delete options that are not relevant.

[x] I have followed the contributing guidelines
[x] I have performed a self-review of my own code
[x] I have successfully tested my changes locally

conflicts resolved


Update docs to use marathon-lb

These docs (https://mesosphere.github.io/marathon/docs/service-discovery-load-balancing.html) don't mention the new marathon-lb project.

Note: This issue has been migrated to https://jira.mesosphere.com/browse/MARATHON-3045. For more information see https://groups.google.com/forum/#!topic/marathon-framework/khtvf-ifnp8.

Note: This issue has been migrated to https://jira.mesosphere.com/browse/MARATHON-3045. For more information see https://groups.google.com/forum/#!topic/marathon-framework/khtvf-ifnp8.


Automatic detect when the bedding has been washed 🧺⏳🔔

I track a number of household chores with the help of input_datetime helpers and an automation than naggsreminds me when the chore is due.
An example of such a chore is bedding however I've added some intelligence leverage the powerful insights I have from my Smart Home. For example, I get reminders after every second stay that my daughter's bedding needs to be washed and changed after every guest has visited and every week for my own.
While I quite happily take advantage of an actionable alert when my washing machine is used where I can say if the bedding in one of these examples has been washed I'd really like to automate that final piece. My good friend @adonno pointed me towards Magic Cards some time ago and he has recently revisited Magic Cards. This got me thinking about how I could use RFID tags on the bedding and detect when they have been washed.
So my plan is to build an ESPHome based RFID reader (with strong/long-range) that can be placed on the washing machine and detect when I wash bedding. The same could be achieved for other items such as towels but let's just have some fun with bedding for now.

You have to ensure that the tags are compatible with the reader
There are several reader on different frequencies the tags MUST be on that same one

Research

Printable tray for Magic cards https://www.amazon.co.uk/gp/product/B06Y5FC7N9
Cards for Magic cards https://www.amazon.co.uk/gp/product/B07M9NGRTP/
Long-range RFID tags for laundry https://www.amazon.co.uk/gp/product/B0797QZYPX/
RFID tags that could be sewn onto material https://www.amazon.co.uk/gp/product/B00M9L8F6Y/ and https://www.amazon.co.uk/gp/product/B079DSPZB6
RFID tag button https://www.amazon.co.uk/gp/product/B07C78MHL9
Long-range RFID reader https://www.amazon.co.uk/gp/product/B018EFLJJI/

You have to ensure that the tags are compatible with the reader
There are several reader on different frequencies the tags MUST be on that same one

Thanks. I had this same problem a few years ago when I built a device for a farmer to scan and read the tags off his livestock. The tags placed onto animals ears in the UK are typically non-standard and I had to import a reader from Australia for the project. I must get round to publishing that project. It made the farmer much more efficient when performing the annual disclosure report he legally had to produce and was a lot of fun to build.

https://www.youtube.com/watch?v=pPmQoIU-86o

Related: #143 #145 #171

https://www.amazon.co.uk/frequency860-960Mhz-reading-application-inventory-management/dp/B075WY8DSR

https://www.instructables.com/id/Use-Arduino-and-RS232-Shield-to-interface-Integrat/

Looking for ~1-meter range so should look for RFID at UHF 13.56Mhz or 860Mhz.
https://forum.arduino.cc/index.php?topic=16702.0

https://www.rfidtagworld.com/


Update color of map widget shapefile lines to match MET & add zoom out

Shapefiles are currently teal can be changed to the color of MET.
-Shapefiles with different lines across large distances are cannot be seen until zoomed out (add a zoom to make shapefiles in view when user clicks preview)

Verified, map is zoomed out and shape matching MET color


v1.3 release in pypi

Hi @c-martinez ! I know you've taken care of uploading the previous releases to pypi. Could you do as much for v1.3? Not urgent but would be good. Thanks!

Hi @albertmeronyo -- tests on travis are failing, so I haven't made a new release yet. I would like to fix that first.

Released!

Congratulations 🎉🎈🍾!!!
On 1 Jul 2019, at 14:12, Carlos Martinez <notifications<EMAIL_ADDRESS>wrote:
Released!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/CLARIAH/grlc/issues/198?email_source=notifications&email_token=AA2RW7R7NZ5X4LIHX5HQ273P5HYDBA5CNFSM4HGAYGO2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODY55T4Y#issuecomment-507238899, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AA2RW7X3ZEIB7C4UVPTDZRDP5HYDBANCNFSM4HGAYGOQ.


whats the version of tensorflow

are there any other tools used

The recommended environment to install is：
python 3.6.0
TensorFlow-GPU 1.14.0
scipy 1.2.0
OpenCV 3.4.2
numpy 1.19.2

matplotlib版本呢


Location of saved pin is bad

Hey,
i checked the detail Code of the AppLocker Implementation and i was not amused to see that you save the pin in the UserDefaults by default. Its really unsecure to use that place and it seems that there is no chance to change the location? Im right?
Is it possible to give the user the control over the save location of the pin code?

Hello. Thank you for your feedback. Im going to add the control for developers such as Keychain, UserDefaults, Custom.

@MasterOP22 and @Ryasnoy I just put up a PR #9 to attempt to address this issue.


Initialize remote state for TF

Somewhere in my branch there was some stuff for that

Yeah, it's still there. I will add.


lncli: --chan_point option for updatechanstatus

Background
lncli updatechanpolicy provides a --chan_point option which could also ease the use of lncli updatechanstatus
Maybe the --chan_point option makes also sense for more channel operations.
Your environment
lncli version 0.15.0-beta commit=v0.15.0-beta

Expected behaviour
lncli updatechanstatus --chan_point funding_txid:idx

can be used instead of
lncli updatechanstatus --funding_txid tx --output_index idx

I'll look into it.

This issue was resolved.

Thanks, wanted to keep it open, I think there might be other commands that benefit from a chan_point flag. Will have a look in a bit.

Funny enough I tried to open an mr to do exactly this a few days ago. Every cli cmd that takes funding_txid & outpoint_index now also takes chan_point.

Nice, could you link the PR here and I'll close the issue.

Fixed by https://github.com/lightningnetwork/lnd/pull/6705.


Use platform-specific classpath separator for the generated classpath…

PR Checklist

[X] A description of the changes is added to the description of this PR.
[X] If there is a related issue, make sure it is linked to this PR.

Description of changes
Resolves #120
The generated classpath file uses a colon separator which causes issues on Windows since it uses colons as part of the filesystem paths.
Initially generated classpath file:
C:\..\unitycatalog\server\target\classes:C:\..\cache\v1\https\repo1.maven.org\maven2\io\netty\netty-tcnative-boringssl-static\2.0.65.Final\netty-tcnative-boringssl-static-2.0.65.Final-windows-x86_64.jar:C:\..

The classpath file now uses a platform-specific classpath separator, which is a semicolon for Windows.
C:\..\unitycatalog\server\target\classes;C:\..\cache\v1\https\repo1.maven.org\maven2\io\netty\netty-tcnative-boringssl-static\2.0.65.Final\netty-tcnative-boringssl-static-2.0.65.Final-windows-x86_64.jar;C:\..

Hello havryliuk, can you check if you are still facing issues with this change?

@filipovskid if this means that it's started, then no issue any more

Thank you very much @filipovskid !


Deploy registry at fly.io

Requirements:

[x] should respond at registry.sunodo.io
[ ] should authenticate via api.sunodo.io/
[ ] should store images at S3 https://docs.docker.com/registry/storage-drivers/s3/

I just created the entry  registry.sunodo.io CNAME sunodo-registry.fly.dev manually, since this domain may not be managed by CDK anyway.


Fix Texture2D exporting and Optimize CLI files loading

This PR will break the compatibility for older GI versions.

This PR will break the compatibility for older GI verisons

Greetings,
Thanks for the PR, will check.


Don't activate default features of env_logger

env_logger comes with several optional-but-default-activated features,
including a dependency on regex.
There's no need for android_logger to require that. Deactivating default
features allows users of android_logger to define the features they
need.

We're using regex in our own library, but with [recent changes](https://github.com/rust-lang/regex/pull/613) we were able to reduce our library size by 30% or so. However, now upgrading to the latest android_logger pulls in the whole of regex again, without a way to prevent that. If android_logger just won't ask for the default features our own library is free to specify the final feature set (of course only as long as no _other_ library also pulls in regex with default features).

Since this breaks backwards compatibility, would make this crate work differently than default env_logger, would need a new major version and at least a note in readme, let's do it this way:

Expose a feature for this crate named regex, that will forward regex to env_logger's regex:

[features]
default = ["regex"]
regex = ["env_logger/regex"]

Remove the current change that adds line default-features = false.
Add default-features = false for this crate in your project.

Sorry, looks like we need to leave default-features = false on dependencies.env_logger for this scheme to work, otherwise the regex will still get picked up.

Sorry, looks like we need to leave default-features = false on dependencies.env_logger for this scheme to work, otherwise the regex will still get picked up.

Oh, true. I should not send PRs before my first coffee in the morning :D

These are the default features of env_logger:
default = ["termcolor", "atty", "humantime", "regex"]

So default-features=false and enabling regex will still be different from that.
Hmpf. I'll spend a bit to think about that. Maybe the solution here is something else (and for now I'm fine with depending on an old version of android_logger and in the future I might even replace it due to some other internal code)

This change is good overall, because we certainly don't need other env_logger features such as colored terminal output or humantime.

Well, then...


Use the standard thread library for the lua interpreter

This PR replaces Windows specific thread handling with standard C++ constructs in the lua interpreter/console/MFD.
I've tested it on the DG atmospheric autopilot and solar system scenarios but I'd prefer to have some more feedback.
Is there some kind of stress test for the lua interpreter?

Working on the failed test case, I think there is a bug in the core that is worked around with a TerminateThread,..

@TheGondos did you see my comments in your _itoa PR?

@TheGondos did you see my comments in your _itoa PR?

Yes, I can work around the 32bit warning but I think the root cause is using an INT_PTR to represent either an ExternMFD pointer or an MFD Id. Maybe it would be better to use a std::variant instead (I replaced it with a struct containing a union on my linux branch)

Sorry, since that PR was accepted I wasn't sure if you saw my comments. Let's continue in there.

Since we are now using C++20, I took the liberty to switch to semaphores since they are more appropriate.
There was a deadlock when calling the Interpreter destructor in case its thread was already finished when trying to step it.
There was also a crash when calling exit from the intepreter thread so it now forwards its exit code to the main thread and exit is called from there.
CTests are now OK, I tried the DG atmo autopilot scenario several times in a raw and got no crash/freeze when exiting the scenario.

All those late nights I've spent updating the code for c++20 are starting to pay off already 😅

BTW, I tend to rebase/squash before merging because I find it easier to revert/cherry-pick if needed later. Tell me if it's not something you want.

BTW, I tend to rebase/squash before merging because I find it easier to revert/cherry-pick if needed later. Tell me if it's not something you want.

Nah it's fine, I generally prefer to do that anyway unless the history on the branch is significant somehow

Added a minor prototype change.
BTW, is there a way to run CTests in a loop? It's not really enough to declare some multithreading stuff OK over just a couple of tests. If I could launch it a few thousand times, it would be better...

Added a minor prototype change. BTW, is there a way to run CTests in a loop? It's not really enough to declare some multithreading stuff OK over just a couple of tests. If I could launch it a few thousand times, it would be better...

https://cmake.org/cmake/help/latest/manual/ctest.1.html#cmdoption-ctest-repeat
ctest --repeat-until-fail 1000 <other parameters>


chore(release): v0.11.0 🎉

:robot: I have created a release *beep* *boop*
0.11.0 (2023-08-05)
Features

relationships: expose isPropertyNameAReference methods (1f20166)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/ehmpathy/domain-objects/releases/tag/v0.11.0 :sunflower:


How to upscale videos via Waifu2X

So here's what happened.
I want to upscale a low-res Vocaloid song video to 1080p because the source is modified which makes it impossible for me to just use video from Blu-Ray version.
I have the latest Windows 10 and NVIDIA GeForce GTX 1060 6G installed on my PC
What should I do next? Due to my machine has certain bugs I can't use Linux distributions so it would be nice if I can just run this on my Windows PC.
CUDA and cuDNN are all set.

waifu2x isn't really made to upscale videos. While it's not impossible, it takes a lot of time and effort. I once upscaled a bunch of videos using waifu2x; for that I used the following software:

ffmpeg, to convert a video into pictures frame-by-frame; and to put all frames together into a video file again
ImageMagick, for eventual resolution fixes which may come up by using waifu2x
bash shell for batch processing with ImageMagick
x264 and x265 to encode the lossless video which has several GB into a small video file

The process took several weeks on my laptop with constant 100% GPU usage; I can't recommend it.
The results of the upscale really depend on the visual quality (compression artifacts) of the input source, you first should try 3~5 seconds of a video before wasting your time.

waifu2x isn't really made to upscale videos. While it's not impossible, it takes a lot of time and effort. I once upscaled a bunch of videos using waifu2x; for that I used the following software:

ffmpeg, to convert a video into pictures frame-by-frame; and to put all frames together into a video file again
ImageMagick, for eventual resolution fixes which may come up by using waifu2x
bash shell for batch processing with ImageMagick
x264 and x265 to encode the lossless video which has several GB into a small video file

The process took several weeks on my laptop with constant 100% GPU usage; I can't recommend it.
The results of the upscale really depend on the visual quality (compression artifacts) of the input source, you first should try 3~5 seconds of a video before wasting your time.
EDIT: If you need a reference; those are the videos I upscaled within 2 month https://mega.nz/#F!Sxo2kQIB!eyD2hfdv9Y3C-tiFrkLXjQ

Thank you helped a lot

https://github.com/K4YT3X/video2x
https://github.com/HomeOfVapourSynthEvolution/VapourSynth-Waifu2x-caffe
I have never used these.

I'm working on a software to optimize waifu2x for videos, it's still in development but I hope to release it soon.

I'm working on a software to optimize waifu2x for videos, it's still in development but I hope to release it soon.

Wow， thank you for your creation. Hope to use it soon

I saw them using Blender and Waifu2x Cafe. In general, the time to make a video is quite time consuming and difficult for newbie.
https://mega.nz/#!yhhGGIAY!jLXLukN2yHD6-qVe0bzH0ciGfSBuQ6AH91lXR4t8rxM

I'm working on a software to optimize waifu2x for videos, it's still in development but I hope to release it soon.

Hope it is fast and easy to use :))

Script for scale videos using Waifu2X in avisynth,
Here link:
https://www.youtube.com/watch?v=kdbhFVZ4vIM
In the description of the video, comes a compressed file with all the necessary files and examples for its use.
Avisynth + any program windows Waifu2x (waifu2x-conver-cpp, waifu2x-caffe, waifu2x-ncnn-vulkan)
It has automatic detection of duplicate frames, thereby saving processing time in static scenes
Only use a single temporary image file.
OnlyScriptAvsWaifu.zip


Support Team Drives

A new business feature has been announced some time ago - Team Drives.
Please add an option to specify a team drive name on mount operation.
See the API docs.

When will this become available?

The problem is that this feature it's only available as part of G Suite, and I don't have a G Suite account.

@astrada I can give you temporary access to our G Suite account if this helps

@CzechJiri: Thanks! That would be great! Ping me at<EMAIL_ADDRESS>

Perhaps this may help (2nd November):
"You’ve told us that you want more tools to see and manage all of the Team Drives in your domain in one location. Today, we’re making that easier by providing new methods in the Google Drive API that enable developers to build tools for Team Drive membership management, cybersecurity solutions, and more."
View and modify all of your Team Drives using the Google Drive API (https://gsuiteupdates.googleblog.com/2017/11/view-and-modify-all-of-your-team-drives.html)[https://gsuiteupdates.googleblog.com/2017/11/view-and-modify-all-of-your-team-drives.html]

If you integrate the team drive functionality, we would pay you for this feature. It's a very important point for my company.
Thank you very much.
Regards
Volker Holthaus

If you integrate the team drive functionality, we would pay you for this feature.

No need, thanks. I need only a temporary G Suite account. Please contact me at<EMAIL_ADDRESS>

Team drives can be shared with non g-suite accounts, perhaps you just need a drive shared? I can do this if it will expedite the feature.

@astrada I have invited you as a member to a team drive at my organization.

@HelgeS, thank you very much! I'll let you know if I need something to test the implementation.

@HelgeS, I think I have an experimental version that you can test. Let me know if you installed google-drive-ocamlfuse via opam or ppa, so that I can give you instructions on how to install the test version. Thanks!

If you have a ppa version, i could test the team drive functionality.
Regards
Volker

I'm on arch linux, but it seems the install scripts there are stuck on 0.6.21 and still require a setup.ml, which no longer exists.
But using the release sources for version 0.6.23, I get a compile error:
$ cd google-drive-ocamlfuse-0.6.23
$ ocaml --version
The OCaml toplevel, version 4.05.0
$ jbuilder build @install
    ocamldep bin/gdfuse.depends.ocamldep-output
    ocamldep src/google_drive_ocamlfuse.dependsi.ocamldep-output
    ocamldep src/google_drive_ocamlfuse.depends.ocamldep-output
      ocamlc src/bufferPool.{cmi,cmti}
      ocamlc src/threadPool.{cmi,cmti}
      ocamlc src/keyValueStore.{cmi,cmo,cmt}
      ocamlc src/buffering.{cmi,cmti}
    ocamlopt src/bufferPool.{cmx,o}
      ocamlc src/utils.{cmi,cmo,cmt}
    ocamlopt src/keyValueStore.{cmx,o}
      ocamlc src/concurrentGlobal.{cmi,cmo,cmt}
      ocamlc src/state.{cmi,cmo,cmt}
    ocamlopt src/utils.{cmx,o}
      ocamlc src/config.{cmi,cmo,cmt}
    ocamlopt src/concurrentGlobal.{cmx,o}
    ocamlopt src/state.{cmx,o}
    ocamlopt src/threadPool.{cmx,o}
      ocamlc src/appDir.{cmi,cmo,cmt}
      ocamlc src/mime.{cmi,cmo,cmt}
File "src/mime.ml", line 6, characters 50-66:
Warning 3: deprecated: String.lowercase
Use String.lowercase_ascii instead.
    ocamlopt src/buffering.{cmx,o}
      ocamlc src/cache.{cmi,cmo,cmt}
      ocamlc src/context.{cmi,cmo,cmt}
      ocamlc src/gaeProxy.{cmi,cmo,cmt}
      ocamlc src/oauth2.{cmi,cmo,cmt}
    ocamlopt src/config.{cmx,o}
    ocamlopt src/appDir.{cmx,o}
      ocamlc src/drive.{cmi,cmo,cmt} (exit 2)
(cd _build/default && /usr/bin/ocamlc.opt -w -40 -g -bin-annot -I /usr/lib/ocaml -I /usr/lib/ocaml/Fuse -I /usr/lib/ocaml/biniou -I /usr/lib/ocaml/bytes -I /usr/lib/ocaml/cryptokit -I /usr/lib/ocaml/curl -I /usr/lib/ocaml/easy-format -I /usr/lib/ocaml/extlib -I /usr/lib/ocaml/gapi-ocaml -I /usr/lib/ocaml/netstring -I /usr/lib/ocaml/netsys -I /usr/lib/ocaml/sqlite3 -I /usr/lib/ocaml/threads -I /usr/lib/ocaml/yojson -I /usr/lib/ocaml/zarith -no-alias-deps -I src -o src/drive.cmo -c -impl src/drive.ml)
File "src/drive.ml", line 593, characters 24-28:
Error: The function applied to this argument has type
         ?base_url:string ->
         ?corpus:GapiDriveV3Service.FilesResource.Corpus.t ->
         ?spaces:string ->
         ?orderBy:string ->
         ?pageToken:string ->
         GapiConversation.Session.t ->
         GapiDriveV3Model.FileList.t * GapiConversation.Session.t
This argument cannot be applied with label ~supportsTeamDrives
```

@HelgeS you need a newer version of gapi-ocaml.
@astrada how does one use the new team drive functionality? I'd like to test it and got everything built.

@d235j I added team_drive_id= in config where you can put the id of the root folder of your team drive. You can get the id from the web interface, clicking on your team drive and copying the id you can find in the url (after https://drive.google.com/drive/folders/). I didn't implement a search by name because it requires admin privileges.

To install the new test version via opam, you can use the following commands:
opam pin -n add gapi-ocaml https://github.com/astrada/gapi-ocaml#master
opam pin -n add google-drive-ocamlfuse https://github.com/astrada/google-drive-ocamlfuse#beta
opam update
opam upgrade

to restore the stable version:
opam pin -n remove gapi-ocaml
opam pin -n remove google-drive-ocamlfuse
opam update
opam upgrade

I've managed to upload updated packages (google-drive-ocamlfuse v0.6.23/gapi-ocaml v0.3.6) for zesty and xenial. Unfortunately I wasn't able to update artful because the OCaml packages I depend on are broken and trusty because the OCaml compiler is too old and doesn't support the last changes I had to make for compatibility with the new OCaml compiler (4.06.0).

@astrada just trying to test this out, installed via the beta ppa repo and have put into the config file
~/.gdfuse//config
team_drive_id=0AF3...
for my team drive however I am not seeing a new folder appear. Where should the team drive appear, would it just appear as another folder under the mount point? Or am I missing some steps?
Thanks.

Ah, never mind, figured it out, for anyone else wondering, it appears you need to

create a new label, i.e. google-drive-ocamlfuse -headless -label myTeamDrive ... and authorise
add the team_drive_id config before the first time you mount
once mounted with google-drive-ocamlfuse -label myTeamDrive /mountPoint, the team drive is mounted there (instead of your usual 'My Drive')

Thanks @Tigerhacker. I added a new wiki page with your instructions.

I was able to manually download 0.6.24 package from https://launchpad.net/~alessandro-strada/+archive/ubuntu/ppa/+packages and install it on artful


Recognize nothogenus ×Cyclobotrya in the Dryopteridaceae, and to keep Cyclodium and Polybotrya as distinct

Author(s) of proposal
Pedro B. Schwartsburd, Jefferson Prado
Name of taxon
×Cyclobotrya
Rank of taxon
Nothogenus
Approximate number of species affected
2
Description of change
Cyclosorus and Polybotrya are two Neotropical genera with stable circumscriptions since the 1980s, after their respective taxonomic revisions published by Smith (Amer. Fern J. 76: 56–98. 1986) and Moran (Illinois Nat. Hist. Survey Bull. 34: 1–138. 1987). They show very distinct morphology: Cyclosorus has meristeles without schlerenchyma sheaths, the leaves are sub-dimorphic, with the fertile laminae slightly more contracted, and the discrete sori are indusiate (peltate or round-reniform); whereas Polybotrya has meristeles surrounded by schlerenchyma sheaths, the leaves are strongly dimorphic, with the fertile laminae skeletonized, the sori are somehow primarily discrete, but due to the skeletonized laminae, they can get an acrostichoid appearance (sometimes forming coenosori, and sometimes getting to be amfiacrostichoid), and they are never indusiate.
A comprehensive phylogeny performed on them (Moran & Labiak, Int. J. Plant Sci. 176: 880–891. 2015) showed them to be sister genera and also showed many apomorphies for each one, such as habit (terrestrial vs. terrestrial root climber), the schlerenchyma sheaths around the meristeles in Polybotrya, indusia (present vs. absent), the peltate indusium attachment in Cyclosorus, and the strong leaf dimorphism in Polybotrya. The two genera are also equally sister to Maxonia.
In 2016, Engels & Canestraro collected a specimen with undoubtfully intermediate morphology between those two genera and co-occurring with both Cyclodium meniscioides and Polyborya goyazensis. The specimen had also malformed sporangia and spores. Thus, Engels & Canestraro (Brittonia 69: 307–312. 2017) published the new nothogenus ×Cyclobotrya, along with the inter-generic hybrid ×Cyclobotrya telespirensis.
Right after Engels & Canestraro (2017) paper, Schwartsburd and Prado et al. re-examined some specimens they had collected in 2011 and realized they also had collected a strange specimen with undoubtfully intermediate morphology between those two genera. The specimen had even an acrostichoid sori with indusia! and also malformed sporangia and spores. The specimen grew along populations of Cyclosorus meniscioides and Polybotrya osmundacea. Thus, Schwartsburd and Prado et al. (Brittonia 70: 25–30. 2018) published a second hybrid species in the nothogenus: ×Cyclobotrya amalgamata.
Reason for change
Although there has not been any attempt to genetically test these hybrids, their intermediate morphology leaves no doubt about their identity. The thing is: Cyclosorus and Polybotrya are sister genera. Therefore, the lumping of these two genera into Polybotrya s.l. is an option, or we keep the two genera apart (Cyclosorus and Polybotrya) and also consider valid the nothogenus ×Cyclobotrya.
We here propose the adoption of the last solution.
Reference(s) for publication of the name
Engels, M.E. & Canestraro, B.K. 2017. ×Cyclobotrya: a new hybrid genus between Cyclodium and Polybotrya (Dryopteridaceae) from the Brazilian Amazon. Brittonia 69: 307–312. 2017. http://dx.doi.org/10.1007/s12228-017-9468-2
Moran, R.C. 1987. Monograph of the Neotropical fern genus Polybotrya (Dryopteridaceae). Illinois Nat. Hist. Survey Bull. 34: 1–138.
Moran, R.C. & Labiak, P.H. 2018. Phylogeny of the polybotryoid fern clade (Dryopteridaceae). Int. J. Plant Sci. 176: 880–891. http://dx.doi.org/10.1086/683393
Schwartsburd, P.B., Canestraro, B.K., Moran, R.C., Prado, J. & Smith, A.R. 2018. A second ×Cyclobotrya (Dryopteridaceae) from Brazil. Brittonia 70: 25–30. http://dx.doi.org/10.1007/s12228-017-9501-5
Smith, A.R. 1986. Amer. Fern J. 76: 56–98.
List the numbers of any related issues
No response
Code of Conduct

[X] I agree to follow the PPG Code of Conduct

By the way, this proposal was written by me and Jefferson Prado. I thought there would be a place to include the authors...

@schwartsburd Good point - sorry that wasn't included in the template! It has now been added, and I edited your proposal to include your names. Is that better?

I think this proposal needs to be rewritten as "Recognize nothogenus ×Cyclobotrya in the Dryopteridaceae, and to keep Cyclodium and Polybotrya as distinct"
Cyclosorus (Thelypteridaceae) is not closely related to Polybotrya and does not hybridize with it.

Dear Susan: you are right! Dear all: I am terribly sorry. I could edit the title, but not the text (I don't know how to do it). The erratum is the following: wherever is written "Cyclosorus", please read "Cyclodium".
Am I too busy? Am I getting old? Insane? Sorry for that, people. My bad,
Pedro

@joelnitta could you please fix it in template? Thanks

@schwartsburd no worries! Everyone does something like this now and again!

Fixed :)

This proposal was voted on during PPG Ballot 3 (voting period September 2023). A total of 63 votes were cast. There were 56 'Yes' votes (88.9%) and 7 'No' votes (11.1%). The proposal passes.


replaceShape fails if an existing shape doesn't exist

scripts/mgear/rigbits/init.py
In the function replaceShape() line 410. If a pre-existing shape doesn't exist on the target node, it fails with an error and then leaves remaining duplicate nodes from the function leftover in the scene. This is because the variable cnx is only declared if a shape is found. But cnx gets called outside the scope of "if shape:"
Suggested fix.
Declare "cnx = None" or "cnx = []" at the beginning of the function.
Then, if a shape doesn't already exist, it will just add it to the transform.
(I'll do a PR in December if no one else gets to it.)

Thanks @chris-lesage   I will do the suggested fix on Monday :)


Add tf_utils._makedirs to address race condition.

Use try/except to to run os.makedirs to give it similar behavior to mkdir -p, which doesn't fail if the directory already exists.
This was the cause of this post-submit failure.

This is a side effect of the "our tests are our benchmarking artifact generation infra" thing. It's a lot nicer to get the artifacts out of a predetermined directory than to fish around in whatever mess bazel makes. We could add an option to dump everything into --test_tempdir and then use an environment variable to enable this option in the CI, since it doesn't use anything it creates.

I would invert the default. If test_tmpdir exists, use that, otherwise use the os tmpdir. This would keep everything separated but if you bazel run it goes to the os tmpdir. And you can still specify artifacts_dir directly


Regro cf autotick bot rebuild / upgrade to simuPOP 1.1.9

Branch for https://github.com/conda-forge/simupop-feedstock/pull/1 with simuPOP upgraded to 1.1.9

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

One of the tests fail with messages
    Running command python setup.py egg_info
    boost_1_49_0/libs/iostreams/src/zlib.cpp:20:76: fatal error: zlib.h: No such file or directory
     #include "zlib.h"   // Jean-loup Gailly's and Mark Adler's "zlib.h" header.

I have this line of code added yesterday to include ${CONDA_PREFIX}/include and was able to compile simuPOP locally. So, for this particular test,

If it looks for system zlib.h, the environment might be lacking the zlib dev package (e.g. zlib1g-dev).
If it looks for conda zlib.h, the environment might be lacking zlib from conda.

Note that simuPOP was able to build in two of the environments in https://travis-ci.org/conda-forge/simupop-feedstock/builds/439833504?utm_source=github_status&utm_medium=notification , and I cannot tell instantly what are the differences between the environments.


Unable to annotate a field with Any type.

I'm trying to use weave on the run method below:
class Reply(sg.Node):
    static_context: StaticContext
    llm: Any

    def __init__(self, static_context: StaticContext):
         ...

    @weave.op()
    async def run(self, state: State) -> dict[str, Any]:
        chat = truncate_chat(state.chat)
        print(chat)
        gathered = await stream_until_the_end(
            self.llm.astream(chat),
            self.stream_token,
        )
        # async for response in self.llm.astream(chat):
        #     await self.stream_token(response.content)
        return {
            "chat": state.chat + [gathered],
        }

And got:
pydantic.errors.PydanticUserError: A non-annotated attribute was detected: `run = Op(run)`. All model fields require a type annotation; if `run` is not meant to be a field, you may be able to resolve this error by annotating it as a `ClassVar` or updating `model_config['ignored_types']`.

But I'm not sure what to annotate the llm field with, because my class is a pydantic v2 object and the llm uses langchain so its a pydantic v1 object.

hi @SalamanderXing,
Without your dependencies, its tough to know if this is a complete reproduction but this gives me the same error:
from typing import Any, Dict
import weave
from pydantic import BaseModel
import asyncio

class Reply(BaseModel):
    llm: Any

    @weave.op()
    async def run(self) -> Dict[str, Any]:
        return {
            "chat": 'hello'
        }

reply = Reply(llm='llm')
print(asyncio.run(reply.run()))

To fix this, you can make your class inherit from weave.Object and it should resolve your issue.
from typing import Any, Dict
import weave
from pydantic import BaseModel
import asyncio

class Reply(weave.Object, BaseModel):
    llm: Any

    @weave.op()
    async def run(self) -> Dict[str, Any]:
        return {
            "chat": 'hello'
        }

reply = Reply(llm='llm')
print(asyncio.run(reply.run()))

Closing. Please reopen if not resolved.

The weave.op still causes my code to break, but it's no longer caused by the Any type.
I prepared a notebook to reproduce the issue:
https://colab.research.google.com/drive/1XRU11SIytHXqiO4mV3CYy5JePw1B2YJC?usp=sharing
TypeError                                 Traceback (most recent call last)
[<ipython-input-16-be0796def7f5>](https://localhost:8080/#) in <cell line: 1>()
      1 while True:
      2     new_msg = input("Your msg:")
----> 3     await graph.run(dict(chat=[HumanMessage(content=new_msg)]))
      4

[/usr/local/lib/python3.10/dist-packages/state_graph/__init__.py](https://localhost:8080/#) in run(self, input)
    412                 return self.context, False
    413
--> 414             context_update = await self.current_node.run(self.context)
    415             self.context = update_context(self.context, context_update)
    416

TypeError: op.<locals>.wrap() takes 1 positional argument but 2 were given


enlarge text/button on slider nav for smaller viewports; gulp/scss compile fix for non-partials

lgtm


Feature request to support composite index or "IS NODE KEY" equivalent of neo4j in OGM

I'm using neo4j ogm version 2.1.3.   I used to have a @Index (unique=true, primary=true) on a specific attribute and things worked fine when session.save(obj) was executed.   It was correctly able to execute either a CREATE or a MERGE based on the unique constraint. However, now I need a composite constraint that spans 3 different attributes.   Since, I couldn't find a means to specify a composite index using ogm, I've specified a IS NODE KEY constraint on those 3 properties/attributes outside of code (directly executing a CYPHER on neo4j shell).   Now, after adding a relationship when I try to execute a session.save(domainObj), I now get a Node already exists with ... exception since ogm tries to execute a CREAT" query instead of a MERGE.   How do I provide a hint to OGM to not construct a CREATE but a MERGE ?  Or in other words, is there a way to specify a composite constraint in OGM so that I can get past this issue?
Here is the link to my stackoverflow posting: https://stackoverflow.com/questions/45397094/how-to-implement-composite-constraint-or-the-equivalent-of-is-node-key-in-neo4/45416878#45416878
On the recommendation of Frant.Hartm I'm submitting this request.
Expected Behavior

Current Behavior

Possible Solution

Steps to Reproduce (for bugs)

...
...
...
...

Context

Your Environment

OGM Version used:
Java Version used:
Neo4J Version used:
Bolt Driver Version used (if applicable):
Operating System and Version:
Link to your project:

We actually don't support any of the constraints from enterprise edition of Neo4j.
We should support

property existence for nodes and relationships - creation / assertion of the constraint
creation / assertion of the node key constraint
lookup by the node key

Docs: http://neo4j.com/docs/developer-manual/current/cypher/schema/constraints/


implement Idd.eval and add tests for remaining 4 reductions

No need to merge this, just thought it'd be a good way for you to take a look at what I've been up to!

LGTM!


[emacs-24.5-mac-5.9] Error building on OS X El Capitan

I just started using Nix on OS X El Capitan and besides some initial hickups/misunderstandings things are working smoothly now. :+1:
One issue I encountered is that I cannot build emacs. I'm using Emacs installed via Homebrew Cask for now. Mostly logging this so others can find it/test it.
The full output of nix-env -i emacs-24.5-mac-5.9 is pasted here: http://sprunge.us/gLDX
I think the relevant parts are the ones showing up when searching for error:. I tried with both XCode-beta and plain command line tools installed. With XCode installed I got even weirder errors resulting in things like checking whether the C compiler works... no.
Not sure what to do from here but if anyone has some ideas but no El Capitan installation at hand I'm happy to try.

@pikajude can you confirm this issue? I don't have a copy of 10.11.

I can confirm this, including the different (but equally fatal) errors when using either the Xcode release (6.4) command-line tools, or the Xcode-beta 5 command-line tools.

I believe the problem is that Nix installs the OS X 10.9 SDK and command-line developer tools, but these don't work on OS X 10.11. I've created a fork that replaces these with the 10.11 tools, and this seems to fix most of the build problems I've been having with Nix on 10.11. However, there are currently other issues blocking some packages, e.g., #9707.

Based on some of the errors, e.g.
/System/Library/Frameworks/Foundation.framework/Headers/NSObject.h:54:4: error: expected a type
- (nullable id)awakeAfterUsingCoder:(NSCoder *)aDecoder NS_REPLACES_RECEIVER;
   ^

I suspect apple is shipping a newer version of clang with 10.11 than we are.

This is fixed by making llvm-3.7 the default on OS X 10.11.

@dhess Would you mind sharing how I can setup my nixpkgs clone to use llvm-3.7 by default? :)

@martinklepsch Do you have a config.nix file with a packageOverrides section? If so, just add llvmPackages = recurseIntoAttrs llvmPackages_37; to it. If not, see https://gist.github.com/dhess/476aa2342d53ffc6ff73.

@dhess Thanks a lot! For others, there is more information on config.nix in the wiki: Modifying Packages

This helps, but also seeing this right now:
ld: framework not found CoreFoundation

I use https://gist.github.com/dhess/476aa2342d53ffc6ff73 and run:
nix-env -i emacs
It seems nix is compiling everything including perl and python 2.7.10. Binary cache not working under this configuration?

@Nuk9 I'm assuming you're building on OS X 10.11. In that case, you'll need to use a LLVM 3.7 toolchain, and that will rebuild everything until upstream makes it the default and starts building packages with it.

Could you check this again with a current clone of nixpkgs and Nix HEAD?
Both emacs and emacs24Macport should build with 10.11.
To install Nix HEAD:
git clone https://github.com/NixOS/nix
cd nix
nix-env -f release.nix -iA build.x86_64-darwin --option build-use-chroot false

Also, you should set
build-use-chroot = true

in /etc/nix/nix.conf
Instructions for working from a clone, updates, and more info on troubleshooting here:
https://nixos.org/wiki/Nix_on_OS_X

This is quite an old issue so I am closing this.


Switch linting to Ruff

This change fixes minor linter warnings from the Ruff linter and adds a basic ruff.toml configuration.
Fixes #145

[ ] Add rules N and D


How to call slackbot functions from slack asynchronously

Description
Describe your issue here.
What type of issue is this? (place an x in one of the [ ])

[ ] bug
[ ] enhancement (feature request)
[x] question
[ ] documentation related
[ ] testing related
[ ] discussion

Requirements (place an x in each of the [ ])

[x] I've read and understood the Contributing guidelines and have done my best effort to follow them.
[x] I've read and agree to the Code of Conduct.
[x] I've searched for any related issues and avoided creating a duplicate issue.

Hi there, I'm trying to make a slack bot for my company and am having trouble understanding the procedure for making the bot asynchronous. I have used discord.py before and that allows you to flag an asynchronous function with @discord.command() which makes it so if you type the function name in the discord chat it calls the function asynchronously. Just curious if slackclient has something similar.
Example of a discord command:
@discord.command()
async def command1():
   do whatever...

Typing command1 in the chat would run it. I checked around and saw some stuff that might have tried to answer the question, but it didn't give me the info I needed/I didn't understand it.

Hi @whitew0lf5, you can take a look at this example async app that's built on top of Slack's RTM API. The tutorial will give you an idea of how to get up and running with minimal effort.

@RodneyU215 I found this thread searching for answers on why the onboarding tutorial doesn't seem to ACTUALLY be asynchronous but maybe I'm missing something.. The tutorial runs fine & does what's expected showing the welcome message by typing the word start & the actions can be completed OK. I can type start repeatedly to get the same welcome message again & again as expected. As a test I edited start_onboarding and added at the very end:
    print("before sleep")
    await asyncio.sleep(10)
    print("after sleep")
Now running the onboarding tutorial it shows the welcome message as expected but I can not run start again while the sleep is happening..  (You can see the execution is stuck at the before sleep line and no other message events are seen until the sleep is done) What am I missing? The start_onboarding function has async in front of the def, run_async=True is set on the rtm_client = slack.RTMClient() call, the message event function has async, the call to start_onboarding has the await.. I checked out slack/rtm/client.py and _dispatch_event has async def, inspect.iscoroutinefunction(callback) is in fact seeing the event return function is coroutine (I tested it) and the callback function is being called with await.. Surely I'm missing something but what?! :)
Thanks! Bill

As I left a comment at #558 https://github.com/slackapi/python-slackclient/issues/558#issuecomment-629013472
v2.6.0 is going to resolve the issues you've reported here and #558 The new minor version will be released within a few days. You can try v2.6.0rc2 out in advance. If you have a chance, test the version and let us know if you have feedback.
https://pypi.org/project/slackclient/2.6.0rc2/
Allow me to close this issue now but please feel free to reopen this whenever you see the necessity.


Specs for xrefs types

Hello,
Following the request in #20135 we have implemented xref types. Specifically @balhoff added {source="skos:narrowMatch"}
when a term was merged into another term.
From the W3.org standards (https://www.w3.org/TR/skos-reference/#mapping), we could envision having:
skos:mappingRelation

~skos:closeMatch~ probably too confusing
skos:exactMatch: GO term meaning is exactly the same as the xreferenced term; single EXACT or RELATED match allowed per term for any xref type
skos:broadMatch: GO term meaning is narrower than that of the xreferenced term. More than one BROAD xref is allowed per term, and BROAD xref can be mapped to multiple terms
skos:narrowMatch: GO term meaning is more general than that of the xreferenced term. More than one NARROW xref is allowed per term, but a given NARROW xref can only be mapped to a single term
skos:relatedMatch: GO term meaning is not exactly the same as the xreferenced term, but the best match; single EXACT or RELATED match allowed per term for any xref type

We need to define the following

Should we add a type to all xrefs ?
If so - what are the rules: possibly

if there is more than 1 xref of the same type, all would be automatically set to NARROW, and we can manually select an EXACT or RELATED as appropriate

What should we export ?

go-basic.obo : only export EXACT or RELATED xref
others: go.obo, go.owl, go-plus.owl : Export all xref types, plus the skos value

@balhoff @cmungall @hdrabkin
I'll put this for discussion for the first 2021 ontology editors call.
Thanks, Pascale

The ontology build for go.obo, go.owl, go-basic, etc. specifically uses an option --remove-trailing-qualifiers
https://github.com/geneontology/go-ontology/blob/3fe0b623e0d33a8e44e9c566f824b29c35d91edd/src/ontology/Makefile#L253
This is a problem for outputting all these qualifiers. @cmungall do you know why this was originally used? I can make a diff to see what comes out if this is turned off.

It looks like besides the skos:narrowMatch qualifiers, the only other ones that are being removed are a few GO_REF like this:
relationship: part_of GO:1902270 {http://purl.org/dc/terms/source="GO_REF:0000090"} ! (R)-carnitine transmembrane transport

I believe I added these 7 years ago
https://github.com/geneontology/go-site/blob/master/metadata/gorefs/goref-0000090.md
it's fine to remove the axiom annotations on release, and also OK to change them to oio:source

I believe I added these 7 years ago
https://github.com/geneontology/go-site/blob/master/metadata/gorefs/goref-0000090.md
it's fine to remove the axiom annotations on release, and also OK to change them to oio:source

@cmungall they're already being removed — the change I want to make would stop removing them. Also fine? :-)

I think it's safest to remove, if they are being remove already

Is goref-0000090 obsolete then ?

Is goref-0000090 obsolete then ?

Also, we need to

Document that we remove the NARROW xref mappings from go.obo and go.owl  #20770

Decide what we do for other synonym types

Decide which mapping we keep for the external to GO

Implement for all xref types (EC, MetaCyc, Reactome, wikipedia, etc

Need to make a decision:

which we export
make SSOM files
decide what editors do

See manuscript submitted in Dec 2021 https://arxiv.org/abs/2112.07051


Maintainer feedback page and functionality

This PR adds a page to submit feedback to maintainers. The submission process includes creating a spreadsheet containing potential terms to create/import, and also creating a GitHub issue.
Some notes about this PR:

It is built on top of PR #77. To make the review process easier, I suggest using branch ols_queries as the base branch. PR #77 should be merged soon, and then I'll rebase this one.
The Heroku deployment requires some configuration of GitHub and Google APIs to work. It should be up and running by the time this PR is reviewed, but if not, please report it in this PR's comments.

Closes #73

@tskir There is a problem with this PR that I found out while deploying it on Embassy. For some reason, when I deployed the app to Embassy, the OAuth window doesn't open in the user's browser, and there is only a prompt in the server with an OAuth link showing up.
Even if I find a workaround, the problem I found out while researching this issue, is that as far as I understand, when a log in with the Sheets and Drive API is successful, the user's client_id and access token is saved permanently in the server, and the app uses those credentials to authenticate with Google Sheets pretty much permanently. I haven't been able to test it, but this might result in a user creating a spreadsheet with the creds of another user who authenticated before him.
The alternatives are two: I think the best approach is to create a service account for the app. A service account is a special type of Google account intended to represent a non-human user that needs to authenticate and be authorized to access data in Google APIs. I think it makes the most sense to create the sheets under this account and I wouldn't have to change the spreadsheet generation code at all, only the authentication section. However, I'm not sure if a service account can actually create sheets besides reading them. I will research this immediately.
The other option is to ditch the gspread library. The problem is that two other libraries that I found, seem to use the same authentication strategy, so the only alternative seems to be to use the Google API directly and not through an external library.

Update: Creation of a sheet with a service account is indeed successful.
Here you can see it: https://docs.google.com/spreadsheets/d/1sgIYCPK6M4-7xMl-gDZiAqQLPjJerdO44xwI86EYXo8/
And the owner looks like this:

Should I go ahead and make the changes to the code (actually only a single line changes), and add instructions for obtaining service account credentials?

Hrm. So it follows that the gspread library does not support multiple users or access keys? That's unfortunate. I was fine with just storing the credentials file on the server, but not with reusing it across different users.
Using a service account seems like a reasonable option; my only concern is who would then have admin control over that table? For example, if we wanted to delete it, how would we go about it?

Using a service account seems like a reasonable option; my only concern is who would then have admin control over that table? For example, if we wanted to delete it, how would we go about it?

You can specify that when creating the service account. For the one I just created, I gave everyone with an ebi.ac.uk domain access to admin operations with that account.

You can specify that when creating the service account. For the one I just created, I gave admin access to everyone with an ebi.ac.uk Google domain account.

I tried opening that spreadsheet from my EBI Google account and unfortunately I still have the "Move to bin" option greyed out.
I guess, if necessary, we could remove/administrate the spreadsheets using the service account credentials directly. In this case, we need to make sure that for any given installation the service account credentials are persistent. Looking at gspread documentation, this should be possible like this:
gc = gspread.service_account(filename='path/to/the/downloaded/file.json')

I tried opening that spreadsheet from my EBI Google account and unfortunately I still have the "Move to bin" option greyed out.

I gave myself access and tried it too with the same result, that is weird, I will look into it.

gc = gspread.service_account(filename='path/to/the/downloaded/file.json')

I am fairly certain that this option just changes the default path that gspread looks for to find the service_account.json file. If we omit that, the service acount creds will still persist in the default folder, which is ~/.config/gspread/service_account.json.

A good alternative would be to give 'owner' permission to specific people for a spreadsheet using gspread, when I create the spreadsheet. We could follow a similar approach where I give 'owner' permission to everyone with a ebi.ac.uk domain account, or to the app's admins.
Reference: https://gspread.readthedocs.io/en/latest/api.html#gspread.Client.insert_permission

I am fairly certain that this option just changes the default path that gspread looks for to find the service_account.json file. If we omit that, the service acount creds will still persist in the default folder, which is ~/.config/gspread/service_account.json.

Ah, I see. The location doesn't matter that much, I just hope that it will indeed persist, i.e., that it will not unnecessarily download a new auth JSON every time, including on app restarts.

A good alternative would be to give 'owner' permission to specific people for a spreadsheet using gspread, when I create the spreadsheet. We could follow a similar approach where I give 'owner' permission to everyone with a ebi.ac.uk domain account, or just to the app's admins.

If we could grant ownership access to all app admins, that would be great. Of course, provided that this actually works, since it currently appears not to, at least regarding sheet deletion :-)

If we could grant ownership access to all app admins, that would be great. Of course, provided that this actually works, since it currently appears not to, at least regarding sheet deletion :-)

So, I am adding 'edit' access to anyone and owner access to EBI acccounts, does that sound good?

So, I am adding 'edit' access to anyone and owner access to EBI acccounts, does that sound good?

Edit access to anyone is good; and owner access should be restricted to app admins, not all EBI accounts on the whole (especially considering that in the future this might have use cases outside of EBI)

@tskir did you get an email notifying that you have ownership of the latest spreadsheet?

No, I'm afraid I didn't get any emails regarding this

No, I'm afraid I didn't get any emails regarding this

That's really curious, using this code, I got ownership for the latest spreadsheet and I got an email notifying me. Can you confirm I entered your email correctly?
gc.insert_permission(sheet.id, value =<EMAIL_ADDRESS>perm_type = 'user', role = 'owner')
gc.insert_permission(sheet.id, value =<EMAIL_ADDRESS>perm_type = 'user', role = 'owner')

I updated the sheet creation process. I used batch update to insert all values at once per worksheet. So now I am making four requests in total:

One to add different formatting to the 'needs_import" worksheet headers
One to add all the mapping information to the 'needs_import' worksheet
One to add different formatting to the 'needs_creation worksheet headers
One to add all the mapping information to the 'needs_creation worksheet

I also updated the deployment of the 'feedback' branch in http://trait-curation-2.duckdns.org/

@tskir I added transferring of ownership upon successful spreadsheet creation. When you can, please go to http://trait-curation-2.duckdns.org/traits/ and try to create an issue and confirm whether you have been made owner of the generated spreadsheet.

Regarding the spreadsheet ownership approach: unfortunately I can't test it, because for some reason there's no feedback form on the Feedback page. Do you know why this might be?

Yes, this is because I am hiding the form when there are no terms to import. I went ahead and reviewed one from the dummy data so that you can test this

Yes, this is because I am hiding the form when there are no terms to import.

This doesn't seem right: the form should be shown when there is at least one term to either import or create. While rare for our use case, I can definitely imagine a situation where someone would want to request creation of 10 terms and import of none.
If this can be fixed quickly, then we can do this as part of this PR; otherwise we can create a follow-up issue

If this can be fixed quickly, then we can do this as part of this PR; otherwise we can create a follow-up issue

This should now be fixed.

@joj0s The submission form looks great and the GitHub login works. Unfortunately, when I try to actually do the submission, I get redirected to: http://localhost:8000/traits/github/callback/?code=[some token], which of course doesn't work because I don't have anything deployed on my local machine. It's probably a deployment configuration issue, could you take a look into that when you have time?
In the meanwhile, I'm going to merge this PR because the code changes themselves all look good.


substitute.js is definitely worth a mention

It's a library I ported from NSubstitute now that TypeScript 3.0 is out, and it allows for a very cool syntax when mocking.
https://github.com/ffMathy/FluffySpoon.JavaScript.Testing

@ffMathy I like it! Could you please make a Pull Request?

PR #61 opened.

PR #61 Merged


Change the "download" keyboard shortcut (Ctrl+S) handling, in GENERIC/CHROME builds, to utilize the EventBus (issue 11657); add a new "openfile" keyboard shortcut (Ctrl+O), in GENERIC builds

Change the "download" keyboard shortcut (Ctrl+S) handling, in GENERIC/CHROME builds, to utilize the EventBus (issue 11657)
This improves the consistency of the "download" handling, in the default viewer, such that the Toolbar/SecondaryToolbar buttons and the keyboard shortcut are now handled in the same way (using the EventBus).
Given that the "download" keyboard shortcut handling is limited to GENERIC/CHROME builds and that the issue does raise a valid point about only being able to observe some downloads, these changes seem acceptable in this particular case.
Finally the pre-processor condition is adjusted to explicitly, rather than implicitly, list the affected build targets.
Fixes #11657

Add a new "openfile" keyboard shortcut (Ctrl+O), in GENERIC builds
Somewhat surprisingly, despite the GENERIC viewer implementing "openfile" support, there's never been a keyboard shortcut available. Similar to the previous patch, this utilizes the EventBus for consistency with the Toolbar/SecondaryToolbar buttons.

Please note: This patch should NOT be construed as carte blanche to simply convert all of the code in webViewerKeyDown, or elsewhere, to make use of the EventBus instead of direct function calls.
Any further changes, along the lines in this patch, would need to be evaluated on a case-by-case basis to determine if they are actually wanted, given that many/most existing cases in webViewerKeyDown should already be indirectly observable through the EventBus instance.

/botio-linux preview

Looks like a good improvement; thanks!


[HELP WANTED] error when called  the ' leaderf#Rg#NormalModelFilter '

处理 function leaderf#Gtags#NormalModeFilter 时发生错误:
第    1 行:
E859: 无法将返回的 Python 对象转换为 Vim 值, as below:

the error occurred at the function leaderf#Rg#NormalModeFilter
so i try to update the function as below:

which displays:

why winid and key here is not defined
i displayed the value of variables:  g:Lf_PyEval && g:Lf_Py
:echo g:Lf_PyEval  output :  py3eval
while
:echo g:Lf_Py  output:   E121: 未定义的变量: g:Lf_Py
my env:
vim:  9.0.2121
os:  Linux raspberrypi 6.5.0-1013-raspi #16-Ubuntu SMP PREEMPT Thu Mar 14 15:47:52 UTC 2024 armv7l armv7l armv7l GNU/Linux
python:  Python 3.11.6

If you want to access the function arguments, you should use a:xxx, here you should use a:winid.

If you want to access the function arguments, you should use a:xxx, here you should use a:winid.

thanks for reply 🤝,
i just changed the function as below:

it plays well, no error .
but this will play error :

and this will error, and cause the vim exited, which report error below:

How to reproduce?

How to reproduce?

i think it is hard to reproduce the error,  as there are too many env deps,
but still , hope u can try to help me to figure out, and below is my install script :
https://github.com/xm-tech/dotfiles-ubuntu.git
make install

@Yggdroot
chinese ? 在上海 ？
如果是的话，我可以过来拜访😄

没错，中国人。

How to reproduce?

i think it is hard to reproduce the error, as there are too many env deps,
but still , hope u can try to help me to figure out the problem. below is my install script :
https://github.com/xm-tech/dotfiles-ubuntu.git
make install

具体我不知道你是在什么情况下出现的这个错误。
试试 如下：
vimrc

set encoding=utf-8
syntax enable
set nocompatible

"{{{
filetype on
"}}}

set runtimepath^=~/.vim/plugged/LeaderF

vim -u vimrc
然后执行你要执行的命令。


Implement Projects#list

Full support for preview API implemented.

Coverage increased (+0.01%) to 96.398% when pulling 1e95d513692a0074b3ef4e95610c8fa09dedd5a2 on samphilipd:master into fb31976794c2ca87af767d626c7b8edeafeca704 on piotrmurach:master.

Coverage increased (+0.01%) to 96.398% when pulling 1e95d513692a0074b3ef4e95610c8fa09dedd5a2 on samphilipd:master into fb31976794c2ca87af767d626c7b8edeafeca704 on piotrmurach:master.

Coverage increased (+0.04%) to 96.424% when pulling 03f8d50971825a09d949703600dfa2ad17bada7e on samphilipd:master into fb31976794c2ca87af767d626c7b8edeafeca704 on piotrmurach:master.

Coverage increased (+0.04%) to 96.424% when pulling 03f8d50971825a09d949703600dfa2ad17bada7e on samphilipd:master into fb31976794c2ca87af767d626c7b8edeafeca704 on piotrmurach:master.

@piotrmurach Yes I intended to add the feature specs after I had finished adding all of the endpoints

Coverage increased (+0.05%) to 96.433% when pulling 3ea0fa0c6ae0a7cc7459b59ef9321b0bbb910bac on samphilipd:master into fb31976794c2ca87af767d626c7b8edeafeca704 on piotrmurach:master.

Coverage increased (+0.05%) to 96.433% when pulling 3ea0fa0c6ae0a7cc7459b59ef9321b0bbb910bac on samphilipd:master into fb31976794c2ca87af767d626c7b8edeafeca704 on piotrmurach:master.

Coverage increased (+0.05%) to 96.431% when pulling 67e7c384a1b926668c8da6800d7d9741bf64f01b on samphilipd:master into fb31976794c2ca87af767d626c7b8edeafeca704 on piotrmurach:master.

@piotrmurach I'm having trouble getting the feature specs to pass. I disabled 2FA but I still see 27/219 failing. Any hints?

Coverage increased (+0.05%) to 96.431% when pulling bcb809f987b3bd54f9a8a31477f6d33db2146717 on samphilipd:master into fb31976794c2ca87af767d626c7b8edeafeca704 on piotrmurach:master.

@piotrmurach I'm stumped here. I fixed the issue with the existing feature specs not working by unfiltering a spuriously filtered <USER>.
But my two new feature specs refuse to pass, throwing some cryptic error instead. I don't know why this is happening, perhaps you could try running this branch and recording the new cassettes?
Feature: Projects API

  Background:                                               # features/repos/projects.feature:3
    Given I have "Github::Client::Repos::Projects" instance # features/step_definitions/github_api_steps.rb:8

  Scenario: List                                                      # features/repos/projects.feature:6
    Given I want to list resources with the following params:         # features/step_definitions/github_api_steps.rb:49
      | user       | repo   |
      | samphilipd | github |
    When I make request within a cassette named "repos/projects/list" # features/step_definitions/common_steps.rb:5
      undefined method `<<' for {:read_timeout=>60, :continue_timeout=>nil, :debug_output=>nil}:Hash
      Did you mean?  < (NoMethodError)
      ./lib/github_api/response/follow_redirects.rb:84:in `perform_with_redirection'
      ./lib/github_api/response/follow_redirects.rb:72:in `call'
      ./lib/github_api/request/basic_auth.rb:32:in `call'
      ./lib/github_api/request/oauth2.rb:24:in `call'
      ./lib/github_api/request/jsonize.rb:23:in `call'
      ./lib/github_api/request.rb:69:in `call'
      ./lib/github_api/request/verbs.rb:20:in `get_request'
      ./lib/github_api/client/repos/projects.rb:33:in `list'
      ./lib/github_api/api.rb:237:in `block in execute'
      ./lib/github_api/api.rb:224:in `run_callbacks'
      ./lib/github_api/api.rb:236:in `execute'
      ./lib/github_api/api.rb:196:in `block in method_added'
      ./features/step_definitions/github_api_steps.rb:72:in `/^I make request$/'
      ./features/step_definitions/common_steps.rb:6:in `block (2 levels) in <top (required)>'
      ./features/step_definitions/common_steps.rb:6:in `/^(.*) within a cassette named "([^"]*)"$/'
      features/repos/projects.feature:11:in `When I make request within a cassette named "repos/projects/list"'
    Then the response status should be 200                            # features/step_definitions/common_steps.rb:26
    And the response type should be JSON                              # features/step_definitions/common_steps.rb:45
    And the response should not be empty                              # features/step_definitions/common_steps.rb:60

Failing Scenarios:
cucumber features/repos/projects.feature:6 # Scenario: List

@piotrmurach Note that my new feature specs do work if I upgrade VCR/webmock to their latest versions... but then all of the other feature specs fail 😒

@piotrmurach Found out that this is due to an incompatibility with Ruby 2.4 and the outdated version of webmock used in this library.
See: https://github.com/vcr/vcr/issues/637
The workaround for now is to add a .ruby-version file pegging it to 2.3.x. At some point we'll need to update VCR and Webmock to latest versions and do whatever needs to be done to get all the cassettes working. Maybe I can look into that in another PR.

Coverage decreased (-31.2%) to 65.222% when pulling 6112fc9d47b8149e5ee5b40f9f0f818d7d8e8962 on samphilipd:master into fb31976794c2ca87af767d626c7b8edeafeca704 on piotrmurach:master.

Coverage decreased (-31.2%) to 65.222% when pulling 6112fc9d47b8149e5ee5b40f9f0f818d7d8e8962 on samphilipd:master into fb31976794c2ca87af767d626c7b8edeafeca704 on piotrmurach:master.

@piotrmurach Fixed it, added feature specs. Merge when you're ready.

Coverage decreased (-33.8%) to 62.536% when pulling 25642e85e01d68b02687b10e66cab4231c5a8fdd on samphilipd:master into fb31976794c2ca87af767d626c7b8edeafeca704 on piotrmurach:master.

Coverage decreased (-31.5%) to 64.845% when pulling 867cb45937d5f25b931a6ec8547636fe246a3a2b on samphilipd:master into fb31976794c2ca87af767d626c7b8edeafeca704 on piotrmurach:master.

Coverage decreased (-31.5%) to 64.845% when pulling 867cb45937d5f25b931a6ec8547636fe246a3a2b on samphilipd:master into fb31976794c2ca87af767d626c7b8edeafeca704 on piotrmurach:master.

Coverage decreased (-31.5%) to 64.845% when pulling 867cb45937d5f25b931a6ec8547636fe246a3a2b on samphilipd:master into fb31976794c2ca87af767d626c7b8edeafeca704 on piotrmurach:master.

Coverage increased (+0.05%) to 96.431% when pulling 0370b0f7f62e11b8c4495a9845c145e3f71aa550 on samphilipd:master into fb31976794c2ca87af767d626c7b8edeafeca704 on piotrmurach:master.

Coverage increased (+0.05%) to 96.431% when pulling 0370b0f7f62e11b8c4495a9845c145e3f71aa550 on samphilipd:master into fb31976794c2ca87af767d626c7b8edeafeca704 on piotrmurach:master.

Coverage increased (+0.05%) to 96.432% when pulling 2e09c0de2650a099ec5b0a5452a5845a34c1b5be on samphilipd:master into fb31976794c2ca87af767d626c7b8edeafeca704 on piotrmurach:master.

Coverage increased (+0.05%) to 96.432% when pulling ee60c8a26abda20b00963f9b934629c0b650fd8c on samphilipd:master into fb31976794c2ca87af767d626c7b8edeafeca704 on piotrmurach:master.

Coverage increased (+0.05%) to 96.432% when pulling ee60c8a26abda20b00963f9b934629c0b650fd8c on samphilipd:master into fb31976794c2ca87af767d626c7b8edeafeca704 on piotrmurach:master.

Coverage increased (+0.05%) to 96.432% when pulling ee60c8a26abda20b00963f9b934629c0b650fd8c on samphilipd:master into fb31976794c2ca87af767d626c7b8edeafeca704 on piotrmurach:master.

Coverage increased (+0.05%) to 96.432% when pulling c7c1b075a01653cbfc8cf360da28bed7b79b1b36 on samphilipd:master into fb31976794c2ca87af767d626c7b8edeafeca704 on piotrmurach:master.

@piotrmurach alright I think I got everything. Anything further that prevents this from being merged?

All is fine, I will merge shortly.

Thank you so much! ❤


[Feature] Allow easier export of transaction from the transaction tab.

One of my transaction is signed but broadcasting isn't working,
I noticed there are no ways to save it for sending another mean aside from selecting the HEX text at the bottom.

In electrum every pre-signed or confirmed transaction can be exported.

Someone might want to broadcast via another network / device so more export options would help.
Ps: Not a priority for me.

You can use the File menu? File > Save Transaction. Also, if you right click on the hex area, you can Copy All without selecting.


When importing TensorFlow, error loading Hadoop

Please make sure that this is a bug. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:bug_template
System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): No
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): gLinux (like Debian)
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: N/A
TensorFlow installed from (source or binary): binary
TensorFlow version (use command below): v1.12.1-12014-gab20de6 2.0.0-dev20190927
Python version: 3.6.8
Bazel version (if compiling from source): N/A
GCC/Compiler version (if compiling from source): N/A
CUDA/cuDNN version: N/A
GPU model and memory: N/A

Describe the current behavior
Importing TensorFlow prints an error:

2019-09-27 13:51:34.191065: E tensorflow/core/platform/hadoop/hadoop_file_system.cc:132] HadoopFileSystem load error: libhdfs.so: cannot open shared object file: No such file or directory

Describe the expected behavior
Importing TensorFlow should not print errors about Hadoop. I don’t have
Hadoop installed and am not interested in using it.
Code to reproduce the issue
$ cd "$(mktemp -d)"
$ virtualenv -q -p python3.6 ./ve
$ . ./ve/bin/activate
(ve) $ pip install -q tf-nightly-2.0-preview==2.0.0.dev20190927
(ve) $ python -c 'import tensorflow as tf; print(tf.__version__)'
2019-09-27 13:51:21.263111: E tensorflow/core/platform/hadoop/hadoop_file_system.cc:132] HadoopFileSystem load error: libhdfs.so: cannot open shared object file: No such file or directory
2.0.0-dev20190927

Other info / logs
Probably relevant: https://github.com/tensorflow/tensorflow/pull/32649

Maybe the lazy load is a better solution

Yes, Hadoop should probably be lazy-loaded. Even users who have it
installed may well not want to use it in every TensorFlow process;
forcing them to pay the load cost doesn’t make much sense to me.

Yep, sending out a change to lazy load.

I get the same error  as well ( in Tensorflow 2.0.0 and Python 3.5.2).

E tensorflow/core/platform/hadoop/hadoop_file_system.cc:132] HadoopFileSystem load error: libhdfs.so: cannot open shared object file: No such file or directory

@srinivasgln: @jhseu has a fix in the works; stay tuned.

Confirmed fixed in nightly; thanks!