Get full info about one target (Idea)

If is a person:

person name
about
number
groups in common
profile photo

If is a group:

group name
how many people
group profile
description
participant's names
participant's numbers ? -> this part is difficult and can be postponed

I would like to work on this issue, I will start by getting name, about, number and groups in common

okay, get the person profile photo too

ok, I will try that

@amandhamija98  you can do just the person part and let the group part for another person.  Also the issue #83 was closed.

Sure, thankyou

Could you please assign this issue to me

One more person could be assigned to this issue, to do the group part.

Interested

@preeti13456 what part do you want to do? if it is for "person" you have to enter the queue.

Sure
Get Outlook for Androidhttps://aka.ms/ghei36

From: Alexandre Calil<EMAIL_ADDRESS>Sent: Sunday, March 1, 2020 2:39:48 PM
To: rpotter12/whatsapp-play<EMAIL_ADDRESS>Cc: preeti13456<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [rpotter12/whatsapp-play] Get full info about one target (Idea) (#144)
@preeti13456https://github.com/preeti13456 what part do you want to do? if it is for "person" you have to enter the queue.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/rpotter12/whatsapp-play/issues/144?email_source=notifications&email_token=AITUUQ2BJIUHOQI5C2BAOV3RFIQ5ZA5CNFSM4K62M2H2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOENMZJ6A#issuecomment-593073400, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AITUUQ72C6RBC2YYNPJHU6LRFIQ5ZANCNFSM4K62M2HQ.

Hi, I am facing a slight hiccup while resolving this issue and it's taking longer than I expected. Could I please get two more days

@preeti13456 you can accept or reject the comment above

Accept
Get Outlook for Androidhttps://aka.ms/ghei36

From: Alexandre Calil<EMAIL_ADDRESS>Sent: Thursday, March 5, 2020 7:03:23 AM
To: rpotter12/whatsapp-play<EMAIL_ADDRESS>Cc: preeti13456<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [rpotter12/whatsapp-play] Get full info about one target (Idea) (#144)
@preeti13456https://github.com/preeti13456 you can accept or reject the comment above
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/rpotter12/whatsapp-play/issues/144?email_source=notifications&email_token=AITUUQ2YBSKBRSY6HTAG7V3RF36OHA5CNFSM4K62M2H2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEN3LASA#issuecomment-594980936, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AITUUQ6IZLT37MVLALWACRDRF36OHANCNFSM4K62M2HQ.

Almost think about what has to be done but due to the recent changes facing some problems .
Get Outlook for Androidhttps://aka.ms/ghei36

From: Preeti Sharma<EMAIL_ADDRESS>Sent: Thursday, March 5, 2020 7:21:30 AM
To: rpotter12/whatsapp-play<EMAIL_ADDRESS>rpotter12/whatsapp-play<EMAIL_ADDRESS>Cc: Mention<EMAIL_ADDRESS>Subject: Re: [rpotter12/whatsapp-play] Get full info about one target (Idea) (#144)
Accept
Get Outlook for Androidhttps://aka.ms/ghei36

From: Alexandre Calil<EMAIL_ADDRESS>Sent: Thursday, March 5, 2020 7:03:23 AM
To: rpotter12/whatsapp-play<EMAIL_ADDRESS>Cc: preeti13456<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [rpotter12/whatsapp-play] Get full info about one target (Idea) (#144)
@preeti13456https://github.com/preeti13456 you can accept or reject the comment above
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/rpotter12/whatsapp-play/issues/144?email_source=notifications&email_token=AITUUQ2YBSKBRSY6HTAG7V3RF36OHA5CNFSM4K62M2H2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEN3LASA#issuecomment-594980936, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AITUUQ6IZLT37MVLALWACRDRF36OHANCNFSM4K62M2HQ.

@amandhamija98 You will be unassigned at day 8.

I've submitted a pull request


[BUG] Services related to deployment/statefulset are not displayed on rancher UI

Rancher Server Setup

Rancher version: v2.7.2
Installation option (Docker install/Helm Chart):

If Helm Chart, Kubernetes Cluster and version (RKE1, RKE2, k3s, EKS, etc): helm chart, rke2 1.24

Proxy/Cert Details:

Information about the Cluster

Kubernetes version: 1.24
Cluster Type (Local/Downstream): local (rke2 1.24)

If downstream, what type of cluster? (Custom/Imported or specify provider for Hosted/Infrastructure Provider):

User Information

What is the role of the user logged in? (Admin/Cluster Owner/Cluster Member/Project Owner/Project Member/Custom)

If custom, define the set of permissions: Admin

Describe the bug

When exploring workloads on rancher UI, services related to deployment or statefulset are not showing up. It shows Could not find any Services that select Pods from this workload. instead. This was working in rancher 2.7.1.
To Reproduce

Deploy an app with one deployment and a service. My test case uses rancher-logging-root-fluentd statefulset from logging app.
Result
rancher 2.7.2 on rke2 1.24: Services are not displayed:

Expected Result

Rancher 2.7.1 on rke2 1.24: Services related to my workload are shown in the UI:

Screenshots

Additional context

I can't reproduce this. It works correctly for me. Tested with Rancher 2.7.2 on RKE2 v1.24.11 +rke2r1.


Crash on no StringTable attribute

Describe the bug
When running Surfactant on a particular binary it crashed due to an object not having a StringTable attribute.
The binary was the "uninstall.exe" binary generated by IDA Freeware 8.3.
To Reproduce
Steps to reproduce the behavior:

Run Surfactant on IDA Freeware 8.3 directory
Surfactant crashes upon attempting to analyze "uninstall.exe"

Expected behavior
Surfactant to run without crashing on the specified binary.
Screenshots
Stack trace:
Traceback (most recent call last):
  File "/home/doug/projects/Surfactant/venv/bin/surfactant", line 8, in <module>
    sys.exit(main())
  File "/home/doug/projects/Surfactant/venv/lib/python3.10/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "/home/doug/projects/Surfactant/venv/lib/python3.10/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "/home/doug/projects/Surfactant/venv/lib/python3.10/site-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/home/doug/projects/Surfactant/venv/lib/python3.10/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/home/doug/projects/Surfactant/venv/lib/python3.10/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "/home/doug/projects/Surfactant/surfactant/cmd/generate.py", line 267, in sbom
    get_software_entry(
  File "/home/doug/projects/Surfactant/surfactant/cmd/generate.py", line 43, in get_software_entry
    extracted_info_results = pluginmanager.hook.extract_file_info(
  File "/home/doug/projects/Surfactant/venv/lib/python3.10/site-packages/pluggy/_hooks.py", line 433, in __call__
    return self._hookexec(self.name, self._hookimpls, kwargs, firstresult)
  File "/home/doug/projects/Surfactant/venv/lib/python3.10/site-packages/pluggy/_manager.py", line 112, in _hookexec
    return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
  File "/home/doug/projects/Surfactant/venv/lib/python3.10/site-packages/pluggy/_callers.py", line 116, in _multicall
    raise exception.with_traceback(exception.__traceback__)
  File "/home/doug/projects/Surfactant/venv/lib/python3.10/site-packages/pluggy/_callers.py", line 80, in _multicall
    res = hook_impl.function(*args)
  File "/home/doug/projects/Surfactant/surfactant/infoextractors/pe_file.py", line 30, in extract_file_info
    return extract_pe_info(filename)
  File "/home/doug/projects/Surfactant/surfactant/infoextractors/pe_file.py", line 143, in extract_pe_info
    for st in fi_entry.StringTable:
AttributeError: 'Structure' object has no attribute 'StringTable'

System Information (please complete the following information):

OS: Windows 10 / Ubuntu 20.04 using WSL2

Additional context
PR to follow.

Thanks for the bug report and fix. It would be useful to get a small exe file with attributes like this missing for the CI tests to catch regressions.


RFC: Breaking API Change: SMF: change SMF_CREATE_STATE()

Problem description
Currently the number of arguments of SMF_CREATE_STATE() is dependent on the Kconfig options CONFIG_SMF_ANCESTOR_SUPPORT and CONFIG_SMF_INITIAL_TRANSITION, IMO this is bad, as it breaks existing code if a Kconfig option is enabled, that wasn't enabled when the existing code was written.
As the USB-C subsystem uses the SMF with CONFIG_SMF_ANCESTOR_SUPPORT enabled and CONFIG_SMF_INITIAL_TRANSITION disabled, so the user can’t use hierarchical state machine with support for initial transitions in the same project together with using the USB-C subsystem, as enabling CONFIG_SMF_INITIAL_TRANSITION would break the USB-C subsystem.
Proposed Change (detailed):
SMF_CREATE_STATE() should always have 5 arguments and the unused arguments should be set to NULL.
See #71250 for that.
Detailed RFC
SMF_CREATE_STATE() should be defined as the following:
#define SMF_CREATE_STATE(_entry, _run, _exit, _parent, _initial)               \
{                                                                              \
	.entry = _entry,                                                       \
	.run   = _run,                                                         \
	.exit  = _exit,                                                        \
	IF_ENABLED(CONFIG_SMF_ANCESTOR_SUPPORT, (.parent = _parent,))          \
	IF_ENABLED(CONFIG_SMF_INITIAL_TRANSITION, (.initial = _initial,))      \
}

Dependencies
In code parts, where CONFIG_SMF_ANCESTOR_SUPPORT and CONFIG_SMF_INITIAL_TRANSITION were not enabled,  users have to add NULL arguments to their call of  SMF_CREATE_STATE()

The proposal makes sense.  @sambhurst Do you have any objections?

Thinking about it, if CONFIG_SMF_ANCESTOR_SUPPORT is not enabled, you don't want the .parent field, to save memory in flat state machines that don't use it.

Seems like a good idea to me.

Thinking about it, if CONFIG_SMF_ANCESTOR_SUPPORT is not enabled, you don't want the .parent field, to save memory in flat state machines that don't use it.

It should be no problem changing that in another PR after my proposal has been accepted und my PR been merged.

The current state machine omits it for flat state machines, so permanently adding it is a memory waste on resource-constrained devices (So I'm told).

Thinking about it, if CONFIG_SMF_ANCESTOR_SUPPORT is not enabled, you don't want the .parent field, to save memory in flat state machines that don't use it.

It should be no problem changing that in another PR after my proposal has been accepted und my PR been merged.

The current state machine omits it for flat state machines, so permanently adding it is a memory waste on resource-constrained devices (So I'm told).

In the current main the const struct smf_state *parent it is a permanent member of struct smf_state.  My proposal would work with having and not having it as a permanent member.  For not having it as a permanent member feel free to open a new issue and PR to have it changed. By the way having a permanent member of a struct, that is not used in some configurations is not forbidden and the conditional inclusion is not mandatory, but allowed see here.

I think it was on oversight that the initial implementation of the SMF made  const struct smf_state *parent a permanent member.

In the current main the const struct smf_state *parent it is a permanent member of struct smf_state.

https://github.com/zephyrproject-rtos/zephyr/blob/84e7107b32f9babdab7c74a7b2a3f96df1f5172b/include/zephyr/smf.h#L69
It's not there if CONFIG_SMF_ANCESTOR_SUPPORT is not set.

In the current main the const struct smf_state *parent it is a permanent member of struct smf_state.

You are correct, my mistake.

Architecture WG:

No objections

@maass-hamburg have you sent an email to the devel@ mailing list about this breaking change?

@maass-hamburg have you sent an email to the devel@ mailing list about this breaking change?

Yes, here https://lists.zephyrproject.org/g/devel/message/9472


Changed documentation for Set-SPOMinimalDownloadStrategy

Hi @laskewitz, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by Microsoft and real humans are currently evaluating your PR.
TTYL, MSBOT;

Thanks!


Add compatibility with 10.11

What this PR does ?
goapp now can build and bundle apps for macOS 10.11
Fixes
10.11 compatibility

Something like this?

done :)

Thank you for this :)
Sent from my iPhone
On Jul 8, 2018, at 2:02 AM, tectiv3 <notifications<EMAIL_ADDRESS>wrote:
done :)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/murlokswarm/app/pull/144#issuecomment-403273525, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ACkWe6qmtQqz-qwy9ZEOGht_JRodanC9ks5uEcqtgaJpZM4VGSlN.


fixed a mistake in api-resize.md

fixed a mistake in api-resize.md

Coverage remained the same at 98.972% when pulling 87d2394614ad4e442026ab31b3d741ee0d53c850 on pjkui:patch-1 into dac8117f3205148e2794a26fb6bcc6ce0e649830 on lovell:master.

I updated the corresponding JSDocs in commit 9dc6492, thanks again for the PR.


Unit test for validateAddon and validateSecretPropagation for weebhoks.

Signed-off-by: Ankit Kurmi<EMAIL_ADDRESS>Description
Added unit test for validateAddon and validateSecretPropagation functions for webhooks present in internal/weebhoks/validate.go for better code coverage.

/ok-to-test


chore: Added example with ignore_ami_changes

Added an example as an attempt to reproduce #338, but I can't reproduce it.

This PR is included in version 5.2.0 :tada:


Ujson and chunking

Closes #181
Closes #182

I put a comment in the dt_to_json to explain the reasoning behind doing a groupby before processing the error data.  Essentially this was the only way to maintain data integrity without adding even more processing to collate related data between chunks.  However, adding this groupby does impact smaller data sets, though not by a huge margin.  So if we think an absurd number of errors, in the 3 million+ is just not something we are going to concern ourselves with for now, I can remove all that and just keep ujson and the df.concat change.
Post MVP it might be looking at parallel processing across multiple services to really speed things up.

oops, merge conflict needs resolving.


Removed cfmBasUrl from default CODAP parameters

This will allow CODAP to use its own CFM version by default.  To override the user would add codap:cfmBaseUrl=...

This works with the currently failing build (CODAP 525):
https://sagemodeler.concord.org/branch/remove-default-codap-cfm-param/app/?codap=build_0525#file=examples:Epidemic - static
and fails with the same build without these changes:
https://sagemodeler.concord.org/app/?codap=build_0525#file=examples:Epidemic - static
and also fails pointing codap to the production build:
https://sagemodeler.concord.org/branch/remove-default-codap-cfm-param/app/?codap=build_0525&codap:cfmBaseUrl=/cfm#file=examples:Epidemic - static
but does work pointing it at the master cfm branch (which has the current CODAP changes):
https://sagemodeler.concord.org/branch/remove-default-codap-cfm-param/app/?codap=build_0525&codap:cfmBaseUrl=master#file=examples:Epidemic - static

Waiting for QA from @eireland before I merge.  I added a PT story for this (https://www.pivotaltracker.com/story/show/172222653) and tagged it for QA.


Wrong collision with a scaled tilemap layer

Version

Phaser Version: 3.12.0

Operating system: Kubuntu 16.04

Browser: Firefox for Linux 61.0.1

Description

As I said on the title, I scaled up the tilemap just like the sample code below. But after I set the collision for the ground, I found that the collision box is in the original size of the tileset, not the scaled-up one.
P.S. I haven't tested it with an actual player object, I just found out that in the debug mode. I hope that is the problem of the debug mode...
Example Test Code

function onPreload () {
    this.load.setBaseURL('assets/');

    this.load.image("ts-ground", "tilesets/ground.png");
    this.load.tilemapTiledJSON("tm-ground", "tilemaps/ground.json");
}

function onCreate () {
    let tilemapGround = this.make.tilemap({ key: "tm-ground" });
    let tilesetGround = tilemapGround.addTilesetImage("ground", "ts-ground");

    let platformLayer = tilemapGround.createStaticLayer("platform-layer", tilesetGround, 0, 0).setScale(3);
    platformLayer.setCollisionByProperty({ collides: true });

    const debugGraphics = this.add.graphics().setAlpha(0.75);
    platformLayer.renderDebug(debugGraphics, {
        tileColor: null, // Color of non-colliding tiles
        collidingTileColor: new Phaser.Display.Color(243, 134, 48, 255), // Color of colliding tiles
        faceColor: new Phaser.Display.Color(40, 39, 37, 255) // Color of colliding face edges
    });
}

Additional Information

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

I've also noticed this issue in 3.12.0. I've been sticking with 3.12.0-beta3 since the problem does not occur with that build of Phaser.

Turns out this has been fixed in version 3.13.0.

Thank you for submitting this issue. We have fixed this and the fix has been pushed to the master branch. It will be part of the next release. If you get time to build and test it for yourself we would appreciate that.
The issue was with the debug graphic, not the collision btw.

Thanks for your help, it's working perfectly now.


Fix ap_provision.json

(M) ap_provision.json

Add MAC address below config container to make OC compliant JSON

I already fixed the ap_provision.json. And you may need to sync the folked repo with master before creating pull request. Otherwise, old CLs appear again.

Already fixed in PR #75


[Allocator] Fix pmem allocator layout config and benchmark script

Set layout of pmem allocator to "normal_contiguous", replace storage_size from number to list

Added pmem test in WDL train.py


Nice cursor but change command broken

The change command ( 'c' key) does not behave as expected but as an insert ('i' key) command.
For instance 'ciw' insert 'iw'...

dans le même genre, il semblerait que la commande 'insert' efface les commandes précédentes et passe en insertion. Par exemple, je ne peux plus utiliser le 'i' pour sélectionner le "inner word" comme avec 'diw' qui, au lieu d'effacer le mot courant ,insère "w"

delete ne marche plus correctement en mode normal non plus quand on lui ajoute un mouvement.
Par exemple, 'dw' ou 'de' se comportent comme 'w' et 'e'

Wut? What have you done to your vimrc? I don't know what the change command is supposed to do (haven't look yet), but dw, de, ... delete as they are expected to delete.
Can you try again your commands from your top build directory by running:
env EOVIM_IN_TREE=1 ./eovim -u NONE

it does not work neither...

Any error in the console? If you've altered the EINA_LOG_LEVELS environment variable after seeing #7, make sure to have it unset.

I could reproduce, but only with neovim 0.2.0. The problem does not happen with 0.2.1 or later.


Switch to github actions

Remove travis if it exists

It is currently AppVeyor and it works. Moving to GitHub actions is complicated.


Fix minor grammar mistake in README

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


Check for trailing (and leading) spaces in term definitions and other quoted attributes

Can a check be put in place to remove leading and trailing spaces in the definitions and other quoted attributes of terms.
For example, the definition of GO:0032002 in go.owl is:
<obo:IAO_0000115 rdf:datatype="http://www.w3.org/2001/XMLSchema#string">A protein complex that binds interleukin-28 and interleukin-29. It is composed of an alpha and a beta receptor subunit (in human IFNLR1/IL28Ralpha & IL10RB) and either Interleukin-28 (IFNL2 or IFNL3) or Interleukin-29 (IFNL1). </obo:IAO_0000115>
and in go.obo is:
def: "A protein complex that binds interleukin-28 and interleukin-29. It is composed of an alpha and a beta receptor subunit (in human IFNLR1/IL28Ralpha & IL10RB) and either Interleukin-28 (IFNL2 or IFNL3) or Interleukin-29 (IFNL1). " [GOC:rph]
The translation from the OWL representation to OBOGRAPH appears to have changed recently so that extraneous spaces are now stripped (which is how I spotted this issue in the first place).

May be fixed by : https://github.com/geneontology/go-ontology/blob/master/src/sparql/trailing-whitespace-violation.sparql ?

@dougli1sqrd Do you know if this is fixed ?
Can we add this to GO RULES (if it's not already there)?

I'm not sure if this type of thing belongs in "Go Rules" per se. My understanding is that go rules are more for annotation rules. Also this sparql check looks like it will correctly identify trailing and leading spaces in any object. As written it's maybe a little agressive (maybe ?x should be filtered by only Literals, and/or restricting ?c to be classes) but I think will report those errors correctly.

These kinds of checks used to be done upon saving in obo-edit.

These are OBO-wide rules. I agree, let's not duplicate them in go-rules. For documentation purposes we can have an over-arching rule that is "ontology should conform to OBO style guidelines" and this would point to the robot documentation.
@dougli1sqrd is coordinating with Becky on this.

Alll of the checks are encoded as sparql here:
https://github.com/rctauber/robot/tree/reporting/robot-core/src/main/resources/queries
This checks for leading or trailing ws:
https://github.com/rctauber/robot/blob/reporting/robot-core/src/main/resources/queries/annotation_whitespace.rq

Thanks @cmungall
So this can be closed ?

@dougli1sqrd writes

Yeah, this is covered by https://github.com/geneontology/go-ontology/blob/master/src/sparql/trailing-whitespace-violation.sparql. This is run on the makefile rule sparql_test which is run during travis, and during release

So this is resolved.


[OSE-178] Added /v1/presentation/definition endpoint

This PR adds the the endpoint with Create, Get, and Delete operations.
Unit tests were also added to ensure things work correctly.
This is part of supporting the Presentation Exchange spec.

Codecov Report

Merging #161 (00e2595) into main (7143d2d) will decrease coverage by 0.72%.
The diff coverage is 16.36%.

@@            Coverage Diff             @@
##             main     #161      +/-   ##
==========================================
- Coverage   26.88%   26.16%   -0.73%
==========================================
  Files          19       20       +1
  Lines        1484     1594     +110
==========================================
+ Hits          399      417      +18
- Misses       1015     1106      +91
- Partials       70       71       +1

Impacted Files
Coverage Δ

config/config.go
8.79% <0.00%> (-0.85%)
:arrow_down:

pkg/server/router/presentation.go
8.98% <8.98%> (ø)

pkg/server/server.go
80.00% <76.92%> (-0.33%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Update BINDINGS.md for raylib-go

raylib-go uses raylib 5.0: https://github.com/gen2brain/raylib-go/blob/master/raylib/raylib.h

@JupiterRider Wow! That was fast! raylib 5.0 is not published yet! 😄


Fixed setting :not modifier in search control popup

Coverage remained the same at 95.116% when pulling<PHONE_NUMBER>fa512351b2a2b176e7fd67b84a0cfe on cody-string-neq-filters into 4ef1441910be10bf01cd2cdcbc5d9ba9a7af3496 on main.


More actions

Thanks for the pr @boserup! Looks good, just one thing, can you rebase this into one commit? Thanks!

There you go @marteinn


add missing 'filter' field in IsValidResponse

merging, because it's straightforward

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.


feat: adding current role as env var

Storing current AWS assumed-role as AWS_ROLE. This allows the user to
easily check the assumed role when running aws-okta.

Hm, looks like a bad merge https://github.com/segmentio/aws-okta/issues/206 Can you please resubmit? Make sure you're based off the latest master.


Documentation update & Change Log (fixes #57)

This:

updates tiny bits of README,
starts a Change Log,
deletes stuff that has been moved to the Wiki or the Change Log.

Fixes #57.

@alexa-pi/coreteam So this the small update. Let me know what you think.

Now I'm thinking we should probably move the Installation info to wiki as well?
The README would only contain the info what the project is and probably Requirements so people know what they need or should have to get it running.

Note to myself: Change the docs url in systemd unit file.

Install info in the Wiki seems like a good idea, so long as we add a link to it from the README, people won't think to look there, they'll just try it and raise an issue when something breaks!

This looks good to go to me.

Great! Merging!


Localizer is crashing with grunt-locales 7.0.3

Hello,
I'm trying to use the localizer v0.2.10 with grunt-locales 7.0.3.
Sadly, the localizer raises an error when I'm using a string with spaces.
Example  :
localize('My string with spaces');

And i have this error at line 169 :
TypeError: func is not a function

Thanx !

Hi Ormazz,
could you tell this was working with a previous grunt-locales version?

Hi,
Yes, it works with grunt-locales <= 6.1.0.

Ok, I don't have much time to investigate it at the moment, could you provide us a PR?


CodeCraft [Node.js project]

Describe the project you want to add with tech stack
I had the privilege of exploring the vast realm of code editors. Developing this clone has been an enlightening experience, allowing me to refine my skills in creating robust and user-friendly applications.
In this Visual Studio Clone, I utilized the power of Visual Studio itself to create an exceptional code editor. It leverages the file system capabilities, enabling users to effortlessly create, read, delete, and save files with ease.
TechStack Used here is Node.js , Express.js
Additional context (optional )
Assign me this issue under GSSOC'23.

@MohitGupta121  @pranjay-poddar  @Saurabh-kumar09  please assign this project to me to work on it and contribute under GSSoC'23 program


Add missing tests for endianness functions used in SHA2

The endianness-conversion functions added in #161 are missing tests. Should be merged into v016.
Awaiting merge of #161.

Fixed in #181.


fix print the correct lock owner when geting lock timeout

now the lock owner is wrong, this pr fix it.

run buildall


[GLUTEN-8289] Fix the FileNotFound issue when reading file with libhdfs3

What changes were proposed in this pull request?
(Please fill in changes proposed in this fix)
(Fixes: #ISSUE-ID)
How was this patch tested?
jenkins test

Should we also change the repo?


feat: configure for direnv via envrc

This PR enables direnv users to, when changing into the directory:

(For the first time) See that we have an .envrc file. They can then type direnv allow . to give permission to their system to autoload the .envrc.
Have direnv, a tool which has a shell hook, load the requisite shell.nix automatically.

This is beneficial to users who use direnv (which I understand is common in the nix world) as once a user has configured this, they no longer need to type nix-shell to activate their environment. Some users also use IDE tools like VSCode direnv for this.
To test
Try adding direnv to your package set (don't forget to add the hook to your shell).
Then, cd into your Mayastor directory from a different one.

@Hoverbear Thank you, I've not used vscode for, well no real reason actually but over the weekend I thought I give it a swirl and see how good the rust-analyser plugin makes it.
So far so good, and I've also used the nix-env selector (BTW vscode now nix elf-patches binaries downloaded from the internet).  I have one question perhaps you might have an idea for/on. We have arguments in our shell.nix:

Local SPDK means that if you spdk-sys/spdk checked out locally, we will use that local copy to build against that one from our fork.

Option two is no-rust, which means "use whatever rust I have locally installed", instead of fetching it.

We always used to have (1) by default where spdk-sys was a submodule. However, this was (a) time consuming (b) confusing for people who are not used to submodules.
In any case, my local version looks like this:
> $ cat .envrc
use nix --arg nospdk true --arg norust true

To avoid "personal preference" to be picked up then, should we add something to .envrc with a comment that states, something towards the extent of:
# If you want to configure certain options for your .envrc and don't
# want git to track that change you can either use:
#  (1)  ~/.gitignore (which is global)
#  (2) `git update-index --assume-unchanged .envrc

Despite that, LGTM!

@Hoverbear Thank you, I've not used vscode for, well no real reason actually but over the weekend I thought I give it a swirl and see how good the rust-analyser plugin makes it.
So far so good, and I've also used the nix-env selector (BTW vscode now nix elf-patches binaries downloaded from the internet).  I have one question perhaps you might have an idea for/on. We have arguments in our shell.nix:

Local SPDK means that if you spdk-sys/spdk checked out locally, we will use that local copy to build against that one from our fork.

Option two is no-rust, which means "use whatever rust I have locally installed", instead of fetching it.

We always used to have (1) by default where spdk-sys was a submodule. However, this was (a) time consuming (b) confusing for people who are not used to submodules.
In any case, my local version looks like this:
> $ cat .envrc
use nix --arg nospdk true --arg norust true

To avoid "personal preference" to be picked up then, should we add something to .envrc with a comment that states, something towards the extent of:
# If you want to configure certain options for your .envrc and don't
# want git to track that change you can either use:
#  (1)  ~/.gitignore (which is global)
#  (2) `git update-index --assume-unchanged .envrc

Despite that, LGTM!

Ah yeah! Agree! Let me add that. :)

Ah yeah! Agree! Let me add that. :)

bors r+

bors r+


Manual using generator with yield without await

I try code below in  babel-node, and Chrome Canary(v64), and get different result
Unfortunately I could not understand what behavior is correct by this spec
In this example I call iterator.next() twice, and synchronously

I expect that point#2 and task#2 will be called immediately(within second  iterator.next()), because there is no await for the task#1
I give this behavior at babel-node, but not in Chrome Canary
Chrome execute point#2 only when task#1 resolved, like as I wrote yield await task('task#1') instead yield task('task#1')
Should the promiseCapability/IteratorResult be resolved only when the result is resolved, and contain resolved value?
2.1) In babel-node IteratorResult resolved, when yield got the value(pending Promise), and return this value without additional awaiting.
In other word IteratorResult..value can be a Promise
2.2) In Chrome IteratorResult resolved, when yield got the value(pending Promise), and this value also resolved.
In other word  IteratorResult..value cannot be a Promise - it is always fulfilled value

I read "Async Generator Rewrite", and it turns out that the behavior of the babel is correct
But when I read https://github.com/tc39/proposal-async-iteration/issues/114, I'm confused
What is correct behavior for this example?
const start = Date.now(),
    iterator = iteratorBar();
logIteratorResult('next#1', iterator.next());
logIteratorResult('next#2', iterator.next());

async function* iteratorBar() {
    console.log(time(), 'point#1');
    yield task('task#1');
    console.log(time(), 'point#2');
    yield task('task#2');
}

async function task(value) {
    console.log(time(), `${value} - started`);
    return new Promise((resolve) => setTimeout(resolve, 1000, value));
}

async function logIteratorResult(name, iteratorResult) {
    let {value, done} = await iteratorResult;
    console.log(time(), `${name} IteratorResult - resolved`, value);
    value = await value;
    console.log(time(), `${name} IteratorResult.value - resolved`, value);
}

function time() {
    return Date.now() - start;
}

babel-node execution log
1 'point#1'
3 'task#1 - started'
4 'point#2'
4 'task#2 - started'
34 'next#1 IteratorResult - resolved' Promise { <pending> }
34 'next#2 IteratorResult - resolved' Promise { <pending> }
1004 'next#1 IteratorResult.value - resolved' 'task#1'
1004 'next#2 IteratorResult.value - resolved' 'task#2'

Chrome Canary execution log
1 "point#1"
2 "task#1 - started"
1002 "point#2"
1002 "task#2 - started"
1003 "next#1 IteratorResult - resolved" "task#1"
1003 "next#1 IteratorResult.value - resolved" "task#1"
2003 "next#2 IteratorResult - resolved" "task#2"
2004 "next#2 IteratorResult.value - resolved" "task#2"

@Gvozd Hmm, Safari Technical Preview the same result as in Chrome Canary.
As I know yield does always  await in  async generators
https://tc39.github.io/proposal-async-iteration/#sec-asyncgeneratoryield  <IP_ADDRESS>.8.b
Also discussion https://github.com/tc39/tc39-notes/blob/master/es8/2017-05/may-25.md#15iva-revisiting-async-generator-yield-behavior

Conclusion/Resolution
Go with option 3: yield has the semantics of yield await in an async generator

@gskachkov Thanks
I read discusion and slides, and it became clear to me
It seems that Async Generator Rewrite is not entirely actual.
And Chrome and Safari correctly supported discusion resolution.
Also after read slide 27, I got additional code with problem behavior
@gskachkov, please tell what result you have in Safari
(async () => {
    const iterator = {
        i: 0,
        next() {
            if (this.i >= 3) {
                return {done: true};
            }
            return {
                value: Promise.resolve(this.i++),
                done: false
            };
        },
        [Symbol.asyncIterator]() {
            return this;
        }
    };

    for await(const i of iterator) {
        console.log(i);
    }
})();

babel-node execution log - not correct for slide 27
0
1
2

Chrome Canary log - correct for slide 27
Promise {<resolved>: 0}
Promise {<resolved>: 1}
Promise {<resolved>: 2}

@gvozd This has been fixed in Babel 7 (currently Beta) so Babel's implementation should be compliant with the others.

@Gvozd I'm receiving following results in Safari Technical Preview:
Promise {status: "resolved", result: 0}
Promise {status: "resolved", result: 1}
Promise {status: "resolved", result: 2}

@Jamesernator I check with<EMAIL_ADDRESS>My first example works correct, like Chrome/Safari
But second example work not like Chrome/Safari, and for-await resolve my manual promise result
Also I was surprised, that transform-async-to-generator moved from stage-3, and disabled by preset-env
I use node v9.2.0, that support async functions, but not for-await loop, and my node need only for-await transform(if possible), or both transformation
.babelrc
{
  "presets": [
    ["@babel/env", {
      "targets": {
        "node": "current"
      },
      "include": [
        // without this `for-await` not worked !!!
        "transform-async-to-generator"
      ]
    }],
    "@babel/stage-0"
  ]
}

async iterators is stil experimental feature in v8,  so if you need fully support you can switch on it by
node --harmony-async-iteration

But it is not related to the current repo,  it is better to close this issue.

pedantic correction :) that feature is shipped in v8 for some time, though Node.js hasn't updated to a version where it is shipped yet (It is staged since Node.js 9 and can be enabled with just --harmony)

@caitp Good to know! I thought I had to wait for node to use 6.3 before I could get at this goodness!

@gskachkov Thanks for your help
I got the answers I needed

Let me remove AsyncGeneratorRewrite, since it is causing confusion. Glad this all worked out though.

@domenic Please wait
AsyncGeneratorRewrite.md is good idea - for me it was more understandable than spec
I'll try to correct it for the actual behavior

Nah, it's OK, I'd rather not maintain two sources of truth in this repository.


How do I use the begin and end paths as done in canvas ?

 var backgroundGridImg = new Image(),
 backgroundGridImg.src = "http://picpaste.com/thumbs/local_background-VVUamyzZ.1455987094.png";
 ctx.drawImage(backgroundGridImg, 0, 0, 600, 600);

 ctx.fillSyle="black";
 ctx.beginPath();
 ctx.arc(300, 300, 300,0, 2*Math.PI);
 ctx.rect(0,0,600,600);
 ctx.closePath();
 ctx.fill();

This is the output of the above code for canvas. How do I attain this using Pixi.js.

If you're more familiar with canvas, you may look at CanvasBuffer and then create a new texture fromCanvas.
var canvas = new PIXI.CanvasBuffer() ;
var ctx = canvas.context ;
/* Do your stuff here */
var sprite = new PIXI.Sprite(new PIXI.Texture.fromCanvas(canvas.canvas)) ;

You can also look at the Graphics library, which look similar to canvas drawing.
var g = new PIXI.Graphics() ;
g.beginFill(0x000000) ;
g.moveTo(x, y) ;
g.arcTo(x1, y1, x2, y2, radius) ;
/* Stuff here... */
g.endFill() ;

Note that Graphics inherits from Sprite class, and that Graphics methods return the graphics object, so you can do chaining instead of splitting like I did in the exemple.

Looks like this has been answered.


Show legend of what each field means

This could be an option, or maybe it should be at the top by default.

Perhaps a --help option for each type.
Note that this tool is a placeholder so may be better to spend time on this type of polishing a little later instead.


Additions to generic editor functionality

These actions are very common in everyday use and they currently take
2 commands to perform.

"(select/clear/copy/cut) this": apply action to word on which the
cursor is on (not in borders).

"(copy/cut) line": apply action to whole line.

I put my cut line and similar into line_commands.talon. Seems like that might be a better place

@dwiel I didn't realize there was a line_commands.talon file, specially because the commands select line and clear line were already in generic_editor.talon.
The copy and cut commands in line_commands.talon seem to require the line number to work. I think it's useful to have a few basic line commands in generic_editor.talon to help people that don't delve too deeply into Talon.
@knausj85 what do you think?

I think "cut/select/etc this" should probably be renamed "cut/select/etc word". We tend to use this or that for commands that operate on the currently selected region.
I also think there might be some built in actions that do, or are supposed to do, some of these things? I think edit.delete_word exists, for example. Take a look through the results of actions.list() in the reply. We should use those in the command implementations where appropriate.

@rntz, I agree that changing the commands from (action) this to (action) word is a good idea so I did so.
Thanks for letting me know that these type of functionality already existed somewhere else, I implemented the existing actions for the commands in generic_editor.talon. There was a minor problem for the edit.delete_word action in both windows and mac so I changed that. Also the command edit.select_word in mac sometimes selected the previous word even when the cursor was located after the first letter of the word. I made it so that it always selects the current word unless the cursor is before the first letter. I don't know how to make that "edge" case work.

The line between line_commands.talon and generic_editor is pretty blurry, but my thought was anything with robust support for number-based line selection should opt-in into line_commands, and anything that doesn't require a line # and works more-or-less globally should be in generic editor.
I think this change is fine as-is.

I know I'm late to the party, but I really think non line number specific line commands should still go in line_commands, this is how I have it in mine. One rationale is that I change my line command names, and now I have to do this same change basically in two places.

Yeah, it's a trade-off for sure. At the time, my primary thought was to avoid having too many commands in the global space that didn't work in most apps.
Maybe open a PR when you can so can better evaluate?

I think it's important that cut/copy/clear line be available globally, and not only in editors that support "jump to line", which seems to be the current condition for line_commands to be enabled. The other alternative would be to enable line_commands globally. I think that might be okay too, worth trying.


Removed Null Reference Errors

Made many parts of the model required, and return "unknown" strings if a DB call got a null reference, instead of returning null. This has eliminated the 80+ errors present before. Also, I made some changes to the API, but this isn't present in any features yet. To test, make a list, add and delete items, and do some searching, and see if you can break the site, or get any null warnings.

OK, this pull also has changes that get a description for many of the trees, you should see such a description if you pull up the details of the tree. It ought to look like this:

Looks good!


The issue turned 7 recently!

Not really a cause for celebration, but, you know, accuracy makes the world go round or something like that.
Cheers

This produced the saddest lol from me ever.  Thank you.


snapshot: Add JSON export & import functionality

This will eventually allow users to move to a new machine by running
old> sudo port snapshot
old> sudo port snapshot --export $ID >snapshot.json
new> sudo port snapshot --import snapshot.json
new> sudo port restore --latest

Switch the progress bars to stderr, so that snapshot --export can use stdout for data while still displaying a progress bar.

One thing I'll note: I often use having to rebuild my ports as an opportunity to clean things up and/or rethink what I have installed. It would be nice to make sure that one can do things like only exporting the requested ports (and then editing them), and saving / restoring the state of the port select stuff.

One thing I'll note: I often use having to rebuild my ports as an opportunity to clean things up and/or rethink what I have installed. It would be nice to make sure that one can do things like only exporting the requested ports (and then editing them), and saving / restoring the state of the port select stuff.

port restore only restores requested ports and their dependencies.
You can of course edit the exported JSON file, although I'm not sure how comfortable this is going to be considering the file will be pretty large (around 25M for my installation of some ~600 ports).
What this will do is provide a way to reinstall things with the default variants, since port restore will only preserve requested variants, too.

Certainly it will be easier to edit the JSON if it is readable, though one can always use jq.


Unable to install proxy server

I keep getting this when installing proxy server, how can I fix it?
Thank you.

Maybe the site was down, it worked fine for me. Are you still having this issue?

I still am..

Nevermind, I found a fix!
Install mitmproxy 7.0.4 zip manually, drag it to ext and temp folder and unzip both make sure you delete the zip afterwards, then go to C:/User/(user)/.mitmproxy and download all the certificates manually!


PDLTools Install Failing GreenPlum 4.13

I have successfully ran the command. gppkg -i /usr/local/pdltools-1.8-gpdb4.3orca-rhel5-x86_64.gppkg -a -v
When I try to install the pdltools in the database I get the following:
[gpadmin@ldpidpgpma01 local]$ /usr/local/greenplum-db/pdltools/bin/pdlpack install -s pdltools -p greenplum -S sugarlib -M madlib -c gpadmin@ldpidpgpma01:5432/idap -v
Password for user gpadmin:
pdlpack.py : INFO : Detected greenplum version 4.3.
pdlpack.py : ERROR : This version is not among the greenplum versions for which PDL Tools support files have been installed (4.3ORCA).
[gpadmin@ldpidpgpma01 local]$
If this is the wrong version of PDL tools then provide me with the correct version of PDL tools.
My GP database version is
[gpadmin@ldpidpgpma01 local]$ /usr/local/greenplum-db/pdltools/bin/pdlpack install -s pdltools -p greenplum -S sugarlib -M madlib -c gpadmin@ldpidpgpma01:5432/idap -v
Password for user gpadmin:
pdlpack.py : INFO : Detected greenplum version 4.3.
pdlpack.py : ERROR : This version is not among the greenplum versions for which PDL Tools support files have been installed (4.3ORCA).
[gpadmin@ldpidpgpma01 local]$

@laurenamber Please try this workaround for now:
The install of gppkg likely creates a folder or path similar to this: /usr/local/greenplum-db/pdltools/Versions/1.8/ports/greenplum/4.3ORCA
Try creating a 4.3 folder e.g: /usr/local/greenplum-db/pdltools/Versions/1.8/ports/greenplum/4.3
and copy the lib subdirectory from 4.3ORCA to the 4.3 folder.
Then re-run the pdlpack install command.
Let us know if this works for you.


Add server creation parameters to Postgres ResourceProvider for SDK

This PR is a request to merge, the change was already reviewed in https://github.com/Azure/azure-rest-api-specs-pr/pull/574/
Latest improvements:
MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[ ] I have reviewed the documentation for the workflow.
[ ] Validation tools were run on swagger spec(s) and have all been fixed in this PR.
[ ] The OpenAPI Hub was used for checking validation status and next steps.

ARM API Review Checklist

[ ] Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.
adding/removing APIs.
adding/removing properties.
adding/removing API-version.
adding a new service in Azure.

Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.

[ ] If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
Please follow the link to find more details on API review process.

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

Automation for azure-sdk-for-ruby

Automation for azure-sdk-for-python

Automation for azure-sdk-for-js

Automation for azure-sdk-for-node

Automation for azure-sdk-for-go

Can one of the admins verify this patch?

Automation for azure-sdk-for-java

Already reviewed, approved and merged in https://github.com/Azure/azure-rest-api-specs-pr/pull/574/files. Approving and merging it now.


There was an error sending this message to your bot: HTTP status code NotFound

Tried provisioning resources following instructions on Bot FrameworkComposer documentation for publish>Hand over to admin.
After provsioning resources, proceeded to Publish>Import Existing Resources on Bot Framework Composer.
After replacing the JSON template with JSON given by Azure CLI, pressed "Import" to publish unto Azure.
Test on webchat yields the error: "There was an error sending this message to your bot: HTTP status code NotFound".

#6570

messaging endpoint is correctly shown in the configurations page of Azure Bot, viewing the messaging endpoint on browser shows error: The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.
App service wasn't deleted or modified so what could be the issue here?

Hi @yangkaiDCM,
After importing the settings to the publishing profile, did you press "Publish" to actually deploy the bot to your Azure resources?

@anishprasad01
I didn't press "Publish" previously and somehow it worked, but now when I try to press "Publish" it gives a login error 2002:

Is Composer able to communicate with the internet? Are there any firewalls blocking it?
Have you tried logging out and signing-in again?
Are you able to sign into other Microsoft apps on the same machine with the same account?

Is Composer able to communicate with the internet? Are there any firewalls blocking it?
Have you tried logging out and signing-in again?
Are you able to sign into other Microsoft apps on the same machine with the same account?

@anishprasad01

Yes it is able to connect to the internet as I have tested the chatbot on the "web chat" function in Composer.
I have attempted to sign in multiple times but they yield the same error 2002.
I am not able to sign in to my onedrive as well(error 2002), but for teams, outlook I am able to sign in.

Hmm...based on those results, the issue is probably in the login credentials.

Does this replicate on another machine (if you have one available to test)?
Is your machine joined to an AAD domain?
Are you on Windows? If so, there is a folder called IdentityCache which you can find at: AppData -> Local -> Microsoft -> IdentityCache. You could try deleting the contents of this folder and then signing-in to Composer or OneDrive again.

@anishprasad01

The same error occurred on another machine
Yes it is joined to my company's AAD domain.
I tried as you have instructed to delete the contents of IdentityCache and but unfortunately still got the error 2002 for both Composer and OneDrive.

You might need to contact your company's IT department for help on this matter. The fact the problem persists across multiple machines and multiple apps suggests a potential problem with your credentials, which is not something I will be able to resolve.
I will leave this issue open for the time being, in the event that the issue persists after you get your account issues resolved and we can localize it to Composer.

Hello @anishprasad01 I see.
Current workaround is to use zip deploy method to publish the bot to Azure which works fine. Thanks for helping out 😀👍

closing with a workaround, thanks


filterBy and rejectBy without value operand

Ember.Enumerable.filterBy and Ember.Enumerable.rejectBy leave the value that is compared against optional. If no value is provided, they check for truthiness.
As far as I can see the filterBy and rejectBy macros differ from that and require a third parameter to be passed.
Can this be made optional as well? I'm up for a PR! :slightly_smiling_face:

Thanks for the issue, and yes a PR would be awesome!

Resolved in #364


Undefined index: primary_key (FIXED)

When your database form contains too many characters a dialog pops up on save saying: Undefined index: primary_key. This is a very confusing Error message. From the php logs it becomes clear this is due to the fact that php variable max_input_vars has been set too low. You should increase the value in php.ini.
It would be convenient if the plugin checks max_input_vars against the number of vars in the form and leaves a useful error message instead, for example: Unable to commit form, increase the value for max_input_vars in your php configuration.

@marcelboere If you feel there is a good way to warn users in the circumstance that the max_input_vars PHP setting is too low, please feel free to submit a PR of your proposed change.

This is a common problem throughout and we've solved it by switching to JSON serialization.
Added this to the internal tracker so it can be addressed in the next design of builder.
Thanks


wifi connection status tests

Most likely to be merged after #471

I think kb-wifi branch needs to be rebased first?

Yeah, I believe the first two commits are already in master.

@rwaldron you're right. I knew I was missing something. Will be done asap.

I think I set this branch up incorrectly. I branched kb-wifi, then rebased #471 into it rather than branching #471 and rebasing kb-wifi into it. Might be why there are conflicts. ¯_(ツ)_/¯

Let me see if I can fix it

I can't figure it out.
 I can probably pick out the changes from this branch to make an update with tests in another PR.

This is done in #471 now.


Update versions after Identity OOB

API change check
APIView has identified API level changes in this PR and created following API reviews.
com.azure:azure-identity


DOM library in not excluded even when lib does not have dom

Bug Report
For a nodejs project, I want to exclude DOM library type definitions. I use the following compiler option
{
  "compilerOptions": {
    "lib": ["es2019", "es2020.promise", "es2020.bigint", "es2020.string"],
    "target": "es2019",
    "module": "commonjs",
    "skipLibCheck": true,
    "moduleResolution": "node",
    "allowSyntheticDefaultImports": true,
    "allowJs": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "inlineSourceMap": true,
    "importHelpers": true,
    "alwaysStrict": true,
    "strict": true,
    "outDir": "build",
    "forceConsistentCasingInFileNames": true,
    "esModuleInterop": true,
    "typeRoots": ["./node_modules/@types", "./typings"],
    "baseUrl": ".",
    "paths": {
      "#root/*": ["./*"]
    }
  },
  "include": [
    "src/**/*",
    "__tests__/**/*",
    "config/**/*",
    "scripts/bundle-test.ts"
  ],
  "exclude": ["node_modules"]
}

I have not included "dom" in the lib options but I am still getting the types from [VS Code installation folder]/code/resources/app/extensions/node_modules/typescript/lib/lib.dom.d.ts] being included in my workspace. This have lead to multiple run time errors. In particular, the parent object from Window is being included (declare var parent: Window;. Is there a way to avoid it?

You can use tsc --explainFiles to see why this file is in your program

Thanks. It turns out there there is a package using lib.dom definition. I ended up using an eslint rule to avoid this issue:
"no-restricted-globals": [
      "error",
      {
        "name": "parent",
        "message": "Do not use window parent"
      },
      {
        "name": "name",
        "message": "Use local parameter instead."
      },
      {
        "name": "event",
        "message": "Use local parameter instead."
      },
      {
        "name": "fdescribe",
        "message": "Do not commit fdescribe. Use describe instead."
      }
    ]

https://github.com/vscode-icons/vscode-icons.wiki.git

We ran into the same issue. I have analyzed the issue and posted a more refined bug report including a reproduction example here: https://github.com/microsoft/TypeScript/issues/43990


Added quote by James clear and some facts

Short description of what this resolves:
Add quote by James Clear
Changes proposed in this pull request:
Updated the quotes.json file
Also added more facts

Fixes: #

Please mark as invalid and spam, this is an obvious attempt to get a free t-shirt by 'contributing'(hacktoberfest)
This will also ban the user for trying to abuse the system by doing marginal effort


Error in sc.metabolism.Seurat

Hello, when i did the first step to input my Seurat to quantify single-cell metabolism,it has problem as follow:
`> countexp.Seurat<-sc.metabolism.Seurat(obj =immune, method = "VISION", imputation = F, ncores = 1, metabolism.type = "KEGG")
Your choice is: KEGG
Start quantify the metabolism activity...
Loading data from C:/Program Files/R/R-4.0.2/library/scMetabolism/data/KEGG_metabolism_nc.gmt ...
Using 20447/30242 genes detected in 0.10% of cells for signature analysis.
See the sig_gene_threshold input to change this behavior.
Beginning Analysis
Computing a latent space for expression data...
Determining projection genes...
Applying Threshold filter...removing genes detected in less than 2364 cells
Genes Retained: 8259
Applying Fano filter...removing genes with Fano < 2.0 MAD in each of 30 bins
Genes Retained: 1781
Clustering cells...
Using latent space to cluster cells...
Error in igraph::cluster_louvain(g) :
REAL() can only be applied to a 'numeric', not a 'builtin'
In addition: Warning message:
In readSignaturesInput(signatures) : NAs introduced by coercion`
Firstly, i doubed that it was something wrong about my Seurat object. However, it had the same problem when i run the example "pbmc_demo.rda", how could i do to fix it? So many thanks!!

Please re install the vision v2.1.0.
<EMAIL_ADDRESS>

Hello, when I did the first step to input my Seurat to quantify single-cell metabolism,it has problem as follow:
`> countexp.Seurat<-sc.metabolism.Seurat(obj =immune, method = "VISION")
Your choice is: KEGG
Start quantify the metabolism activity...
Loading data from /home/data/t100560/R/x86_64-pc-linux-gnu-library/4.3/scMetabolism/data/KEGG_metabolism_nc.gmt ...
Using 13656/13714 genes detected in 0.10% of cells for signature analysis.
See the sig_gene_threshold input to change this behavior.
Beginning Analysis
Computing a latent space for expression data...
Determining projection genes...
Applying Threshold filter...removing genes detected in less than 132 cells
Genes Retained: 3857
Applying Fano filter...removing genes with Fano < 2.0 MAD in each of 30 bins
Genes Retained: 676
Clustering cells...completed
Projecting data into 2 dimensions...
Running method 1/1: tSNE30 ...
Evaluating signature scores on cells...
|====================================================================================================| 100%, Elapsed 00:00
Evaluating signature-gene importance...
|====================================================================================================| 100%, Elapsed 00:00
Creating 5 background signature groups with the following parameters:
sigSize sigBalance
1       7          1
2      11          1
3      15          1
4      25          1
5      56          1
signatures per group: 3000
Computing KNN Cell Graph in the Latent Space...
Evaluating local consistency of signatures in latent space...
|====================================================================================================| 100%, Elapsed 00:00
|====================================================================================================| 100%, Elapsed 00:17
|====================================================================================================| 100%, Elapsed 00:00
Clustering signatures...
Computing differential signature tests...
|====================================================================================================| 100%, Elapsed 00:00
|                                                                                |   0%, ETA NA
Error in [<-.data.frame(*tmp*, , 2, value = 0) :
replacement has 1 row, data has 0
In addition: Warning message:
In readSignaturesInput(signatures) : NAs introduced by coercion
Firstly, i doubed that it was something wrong about my Seurat object. However, it had the same problem when i run the example "pbmc_demo.rda", how could i do to fix it? So many thanks!!
I just tried after<EMAIL_ADDRESS>and got the same error.


opt: 全局的 maxfee 由 0.007FIL 调整为 0.07FIL / set default maxfee 0.07 FIL

关联的Issues (Related Issues)

close https://github.com/filecoin-project/venus/issues/5266
改动 (Proposed Changes)

附注 (Additional Info)

自查清单 (Checklist)
在你认为本 PR 满足被审阅的标准之前，需要确保 / Before you mark the PR ready for review, please make sure that:

[x] 符合Venus项目管理规范中关于PR的相关标准 / The PR follows the PR standards set out in the Venus project management guidelines
[x] 具有清晰明确的commit message / All commits have a clear commit message.
[x] 包含相关的的测试用例或者不需要新增测试用例 / This PR has tests for new functionality or change in behaviour or not need to add new tests.
[x] 包含相关的的指南以及文档或者不需要新增文档 / This PR has updated usage guidelines and documentation or not need
[ ] 通过必要的检查项 / All checks are green

Codecov Report

Merging #251 (4a67eb9) into master (c824fde) will increase coverage by 0.04%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #251      +/-   ##
==========================================
+ Coverage   53.74%   53.78%   +0.04%
==========================================
  Files          63       63
  Lines        6784     6784
==========================================
+ Hits         3646     3649       +3
+ Misses       2839     2837       -2
+ Partials      299      298       -1

Flag
Coverage Δ

unittests
53.78% <ø> (+0.04%)
:arrow_up:

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

Impacted Files
Coverage Δ

service/shared_params_service.go
60.78% <ø> (ø)

service/address_service.go
66.32% <0.00%> (+3.06%)
:arrow_up:


segment() function in pagination library

Pagination library is using $this->uri->segment(); function even if routing is enabled. So, wouldn't it be logically to use $this->uri->segment(); function when there is no routing and $this->uri->rsegment();  function when there is?

I don't think this is an issue, because even if the routing is enabled, you still need to know where the offset/page is located in the URI, so there is no point of using $this->uri->rsegment() method.
Someone close this one!


Save button - return canvas

Crops canvas to content
Generates a new canvas element, cropped to content.
For examples:

if there's only "Hello World" english text, it will be a small rectangle.
if there's both English and Hebrew, it will be the full-width
only in the case of using the entire screen area, will it be the full area

It should then call a callback which was supplied via a top-level prop, with both the original targetCanvas  and this newly created cropped canvas
The return here is in addition to https://github.com/jewish-interactive/draft-canvas/issues/22

Should this canvas element be hidden or visible to the user ?

It should be invisible - purely an in-memory node

This feature is half implemented, save button is added and it sends back the rendered Canvas node, I am still working on the invisible canvas node.

On save it will now return an object with 2 parameters {rawDraftContentState, canvas}.


Fix of an errors in the work python_api

Fix bugs:
An error occurs when using the findUsages are areaLayer function:
Example of use:
for lineString in tqdm (graph.lineStringLayer):
    print (graph.areaLayer.findUsages (lineString))

Error that occurs:

TypeError: No to_python (by-value) converter found for C++ type: std::vector<lanelet::Area, std::allocatorlanelet::Area >

When calling a function getRouteVia(...), the function was called getRoute(...). Invalid function signature.
Example of use:
start = map.laneletLayer[13075]
middle = map.laneletLayer[4304]
finish = map.laneletLayer[4309]
route = graph.getRouteVia(start, [middle], finish)

Error that occurs:

Boost.Python.ArgumentError: Python argument types in
RoutingGraph.getRouteVia(RoutingGraph, Lanelet, list, Lanelet)
did not match C++ signature:
getRouteVia(lanelet::routing::RoutingGraph from, lanelet::ConstLanelet via, lanelet::ConstLanelet to, unsigned short routingCostId=0, bool withLaneChanges=True)

Bug Fix Implementation:
findUsages(...)
added VectorToListConverter<Areas>() to lanelet2_python/python_api/core.cpp
getRouteVia(...)
.def("getRoute", getRouteWrapper, ...) change to .def("getRouteVia", getRouteViaWrapper, ...)

Thanks! We merged that with edd57271c4793718a85d265d3d79d5345a2041e4.


B&S ImpliedVolatilty for a put

Hello,
Is it possible to have implied volatilty for a put ?
AnalyticFormulas.blackScholesOptionImpliedVolatility
Currently it is only available for a call.
Thanks,
Luc

Yes. Until then: You may use put call parity first, then call the function.


SW-1350 Migrate to accession_collectors table 3/4

accessions.primary_collector_name and accession_secondary_collectors are no
longer queried anywhere, so stop writing to them.
The fourth and final step in this migration series will drop them, but this step
needs to be deployed first so that dropping them doesn't cause failures while the
code is being deployed and the cluster is running a mix of old and new releases.

Current dependencies on/for this PR:

main

PR #534

PR #535

PR #536

PR #537

PR #538

PR #539   👈

This comment was auto-generated by Graphite.

Graphite Merge Job
Current status: ⏳ Queued to merge
This pull request is currently queued to be merged as part of a stack.
This comment was auto-generated by Graphite.

Job Reference: XRvz5790CdoSGIEGLvxb


tests in scipy 0.16.1 on top of numpy 1.10.1 yield DeprecationWarning

$ python -c 'import numpy; import scipy; scipy.test(verbose=2)'

exits with exit code 1, and output below (only tail shown).
Python 2.7.10, numpy 1.10.1, and scipy 0.16.1 were built with the Intel compilers (2015.3.187) on top of GCC 4.9.3 and (correctly) linked against Intel MKL version <IP_ADDRESS> (but that's probably irrelevant here).
Seems like the issue is a new deprecation being triggered in numpy?
...
======================================================================
Running unit tests for scipy
NumPy version 1.10.1
NumPy relaxed strides checking option: True
NumPy is installed in /user/scratch/gent/vsc400/vsc40023/easybuild_REGTEST/SL6/sandybridge/software/numpy/1.10.1-intel-2015b-Python-2.7.10/lib/python2.7/site-packages/numpy
SciPy version 0.16.1
SciPy is installed in /tmp/eb-QExiPA/tmp7jPnTC/lib/python2.7/site-packages/scipy
Python version 2.7.10 (default, Nov 11 2015, 20:29:34) [GCC Intel(R) C++ gcc 4.9 mode]
nose version 1.3.6
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/user/scratch/gent/vsc400/vsc40023/easybuild_REGTEST/SL6/sandybridge/software/numpy/1.10.1-intel-2015b-Python-2.7.10/lib/python2.7/site-packages/numpy/testing/nosetester.py", line 438, in test
    t = NumpyTestProgram(argv=argv, exit=False, plugins=plugins)
  File "/user/scratch/gent/vsc400/vsc40023/easybuild_REGTEST/SL6/sandybridge/software/Python/2.7.10-intel-2015b/lib/python2.7/site-packages/nose-1.3.6-py2.7.egg/nose/core.py", line 121, in __init__
    **extra_args)
  File "/user/scratch/gent/vsc400/vsc40023/easybuild_REGTEST/SL6/sandybridge/software/Python/2.7.10-intel-2015b/lib/python2.7/unittest/main.py", line 95, in __init__
    self.runTests()
  File "/user/scratch/gent/vsc400/vsc40023/easybuild_REGTEST/SL6/sandybridge/software/numpy/1.10.1-intel-2015b-Python-2.7.10/lib/python2.7/site-packages/numpy/testing/noseclasses.py", line 351, in runTests
    self.result = self.testRunner.run(self.test)
  File "/user/scratch/gent/vsc400/vsc40023/easybuild_REGTEST/SL6/sandybridge/software/Python/2.7.10-intel-2015b/lib/python2.7/site-packages/nose-1.3.6-py2.7.egg/nose/core.py", line 66, in run
    result.printErrors()
  File "/user/scratch/gent/vsc400/vsc40023/easybuild_REGTEST/SL6/sandybridge/software/Python/2.7.10-intel-2015b/lib/python2.7/site-packages/nose-1.3.6-py2.7.egg/nose/result.py", line 103, in printErrors
    _TextTestResult.printErrors(self)
  File "/user/scratch/gent/vsc400/vsc40023/easybuild_REGTEST/SL6/sandybridge/software/Python/2.7.10-intel-2015b/lib/python2.7/unittest/runner.py", line 108, in printErrors
    self.printErrorList('ERROR', self.errors)
  File "/user/scratch/gent/vsc400/vsc40023/easybuild_REGTEST/SL6/sandybridge/software/Python/2.7.10-intel-2015b/lib/python2.7/unittest/runner.py", line 114, in printErrorList
    self.stream.writeln("%s: %s" % (flavour,self.getDescription(test)))
  File "/user/scratch/gent/vsc400/vsc40023/easybuild_REGTEST/SL6/sandybridge/software/Python/2.7.10-intel-2015b/lib/python2.7/site-packages/nose-1.3.6-py2.7.egg/nose/result.py", line 82, in getDescription
    return test.shortDescription() or str(test)
  File "/user/scratch/gent/vsc400/vsc40023/easybuild_REGTEST/SL6/sandybridge/software/Python/2.7.10-intel-2015b/lib/python2.7/site-packages/nose-1.3.6-py2.7.egg/nose/case.py", line 51, in __str__
    return str(self.test)
  File "/user/scratch/gent/vsc400/vsc40023/easybuild_REGTEST/SL6/sandybridge/software/Python/2.7.10-intel-2015b/lib/python2.7/site-packages/nose-1.3.6-py2.7.egg/nose/case.py", line 286, in __str__
    name = "%s%s" % (name, arg)
  File "/user/scratch/gent/vsc400/vsc40023/easybuild_REGTEST/SL6/sandybridge/software/numpy/1.10.1-intel-2015b-Python-2.7.10/lib/python2.7/site-packages/numpy/core/numeric.py", line 1709, in array_repr
    ', ', "array(")
  File "/user/scratch/gent/vsc400/vsc40023/easybuild_REGTEST/SL6/sandybridge/software/numpy/1.10.1-intel-2015b-Python-2.7.10/lib/python2.7/site-packages/numpy/core/arrayprint.py", line 447, in array2string
    separator, prefix, formatter=formatter)
  File "/user/scratch/gent/vsc400/vsc40023/easybuild_REGTEST/SL6/sandybridge/software/numpy/1.10.1-intel-2015b-Python-2.7.10/lib/python2.7/site-packages/numpy/core/arrayprint.py", line 260, in _array2string
    'int': IntegerFormat(data),
  File "/user/scratch/gent/vsc400/vsc40023/easybuild_REGTEST/SL6/sandybridge/software/numpy/1.10.1-intel-2015b-Python-2.7.10/lib/python2.7/site-packages/numpy/core/arrayprint.py", line 637, in __init__
    max_str_len = max(len(str(maximum.reduce(data))),
DeprecationWarning: unorderable dtypes; returning scalar but in the future this will be an error
 (at easybuild/tools/run.py:397 in parse_cmd_output)

Hmm, not sure what's going on there - that deprecation doesn't look familiar. Needs investigating. Added the 0.18.0 milestone to not forget before the next release.

I'm not seeing this in a slightly different situation, when installing numpy 1.10.1 and scipy 0.16.1 with Python 2.7.11, in the same installation prefix as Python itself.
With the error above, numpy and scipy were being installed in their own installation prefix, and $PYTHONPATH was being updated accordingly.

See also https://mail.scipy.org/pipermail/scipy-dev/2015-November/021062.html, seems like this is a bug in numpy 1.10.1 that is fixe already in 1.10.2rc1?

That bug is that the deprecation warning is converted to a test error. But 1.10.2 doesn't revert the deprecation itself I think. From the above traceback I can't tell where the deprecation is triggered. Do you see a deprecation warning in the test output when run against 1.10.2rc1 with python -Wd -c "import scipy; scipy.test()"?

I'm not seeing this problem anymore when testing scipy 0.16.1 on top of numpy 1.10.4, closing this issue.

great, thanks for following up @boegel


Group.deinit func seems to break tap handlers nondeterministically

My test project app is displaying a graph and relying on a lot of onTap handlers added to groups in the scene. I discovered that taps don't work well with the more recent versions of Macaw from master, and narrowed this down to a single change in the Group class, when a deinit function was added:
https://github.com/exyte/Macaw/commit/9f71e7d1bff64971bbb5209a41cc3796e0d87bde#diff-ea5f122ae7f77fb3c9d5e4aefb7a0c0aR43
When I comment out the deinit() function, my app works fine, but when I leave it in the onTap and onPinch handlers sometimes do not get called. Here is a screen recording showing this:
https://www.youtube.com/watch?v=uCvkC1uKxMY

+@amarunko who authored the commit.

Hello, @DanielMahu, I removed the unneeded manual removing a group from the nodes map. You can find the last changes in master. I hope we will provide release with these changes this week.

Wonderful, thank you! My project works with the version from head.


examples/ble_mesh: Replace printf in button.c with ESP_LOGD (IDFGH-7650)

This seems to have been left in by mistake, and sticks out in logs using this component.

Thanks for your contribution.

Thanks for your contribution. We will merged this PR ASAP.

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

The latest button-related functions have undergone significant updates. We will sync them with the latest code as soon as possible. Therefore, this pull request will not be merged.


Why log a 'warn' when a handler throws an exception?

The readme correctly asserts the logger issues a log of a thrown error with the level warn (also see: https://github.com/pinojs/hapi-pino/blob/master/index.js#L81-L87)
I'm wondering the reason behind this, because I need to discern which logs to transport for proper error processing (i.e. needing to send to a system like Sentry or Raygun, or even simple log filtering for errors by level) - and lowering that threshold to warn doesn't sound correct to me. Curious if I'm misunderstanding something

I don’t remember. There might be a rationale, but it has been lost in the years.
Would you like to send a PR?

@mcollina - I know how that goes :) pr submitted


[refactor]:split core library functions for customers (only the first level of depth)

tracked in #1579
Currently our file structure looks like this
|--crates
|  |--router/src
|  |  |--core
|  |  |  |--customers.rs

we wanna invert it to look like this
|--crates
|  |--router/src
|  |  |--customer
|  |  |  |--core.rs

This can be split into further PR's for migrating one function/API at a time if needed...
However we need unit tests for the individual core functions that are migrated

@lsampras Is this just renaming of core folder and customer.rs file?
In that case, the core folder has multiple files. should all the file be relocated to customer folder?
or
is that we need to create a separate customer folder and relocate just the customer.rs to that folder?

@nishanthanr151998  It's kinda moving around of customer core functionality rather than a strict file based approach... (If you find that customer.rs contains unrelated functions or customer related functionality is present in other files those need to be accounted for as well)
Currently we are only targeting customer related functionality as it is relatively a flat structure & smaller than other functionality


Fix file hierarchy

so things are less ugly, pt 3

Specifically place main.py into piazza-api folder if possible. Also generate csv's outside of repo (prevent student data leaking)

Prevented student data leaking by deleting files prior to committing. Made things less ugly.


Basic JSON Encoding of Term Trees

Closes #31
The current JSON view for a given term includes

all ancestors
existential restrictions using 'has part'

Missing features are

inclusion of children
labels for all the terms
representation of more than one subject

I am not sure how we should handle information about child classes. It's obviously easy to simply add all child classes of a term to its JSON encoding. But OLS seems to add information about child classes on demand, e.g., in response to user input. Navigating down in the tree view often takes a second or two before child classes are displayed. It's quite fast and works well in practice I suppose! All I'm saying is that it's not instant - and in a few cases, it feels like two seconds rather than one.

OLS uses a fair bit of client-side JavaScript, but we want to be able to render static pages for trees. So we need to include children, and we need to know whether each child has any children.

We now have four different data formats for term trees:

Simple JSON (using CURIEs or labels)
Simple Markdown
Rich JSON
Rich HTML (encoded as JSON Hiccup)

These formats are used for different purposes. I will explain these purposes and give examples using gill in OLS.
Simple Format
Formats 1 & 2 follow the same ('simple') abstract structure: a map of entities to their respective subclasses and part-of relations. An entity is encoded as a string. A subclass or part-of relationship is encoded via a nested map, i.e., "zebrafish anatomical entity": { "anatomical structure": {...}  } means that anatomical structure is a subclass of zebrafish anatomical entity. In the case of a part-or relationship, an entity's key includes the prefix partOf, e.g., "whole organism": { "partOf compound organ": {  ... } }. The entire tree for gill in OLS looks like this:

    Simple JSON Example

{
  "zebrafish anatomical entity": {
    "anatomical structure": {
      "whole organism": {
        "partOf compound organ": {
          "gill": "owl:Nothing"
        },
        "partOf anatomical system": {
          "respiratory system": {
            "partOf gill": "owl:Nothing"
          }
        }
      },
      "compound organ": {
        "gill": "owl:Nothing"
      },
      "anatomical group": {
        "anatomical system": {
          "respiratory system": {
            "partOf gill": "owl:Nothing"
          }
        }
      }
    }
  }
}

Writing this, I notice that "owl:Nothing" is used as a string in the place of a value. To keep the format consistent, this should also be a map. In any case, this format is used to validate the subclass and part-of relations extracted from an LDTab database with OLS. The test pipeline looks like follows:

Given a term, e.g., gill,
get term tree information from OLS in JSON
transform information from 2. into the simple format shown above
construct the simple term tree using an LDTab database
compare both term trees (encoded as JSON)

Coming back to the implemented formats, the Markdown encoding looks as follows:

    Markdown Example

zebrafish anatomical entity

anatomical structure

anatomical group

anatomical system

respiratory system

partOf gill

owl:Nothing

compound organ

gill

owl:Nothing

whole organism

partOf compound organ

gill

owl:Nothing

partOf anatomical system

respiratory system

partOf gill

owl:Nothing

Rich Format
The 'rich' format encodes an entity as a JSON object with information about its CURIE, label, and children. Children are entities that are related to an entity via subclass and part-of relationships. Each JSON object also contains information about the relationship to its parent. In addition to information that is encoded in the simple format, the rich format also includes a branch for children and grand children in the first occurrence of an entity (note that the tree representation is lexicographically ordered by labels).

    Rich Structure Example

[
 {
   "curie": "obo:ZFA_0100000",
   "label": "zebrafish anatomical entity",
   "property": "rdfs:subClassOf",
   "children": [
     {
       "curie": "obo:ZFA_0000037",
       "label": "anatomical structure",
       "property": "rdfs:subClassOf",
       "children": [
         {
           "curie": "obo:ZFA_0001512",
           "label": "anatomical group",
           "property": "rdfs:subClassOf",
           "children": [
             {
               "curie": "obo:ZFA_0001439",
               "label": "anatomical system",
               "property": "rdfs:subClassOf",
               "children": [
                 {
                   "curie": "obo:ZFA_0000272",
                   "label": "respiratory system",
                   "property": "rdfs:subClassOf",
                   "children": [
                     {
                       "curie": "obo:ZFA_0000354",
                       "label": "gill",
                       "property": "obo:BFO_0000050",
                       "children": [
                         {
                           "curie": "obo:ZFA_0000716",
                           "label": "afferent branchial artery",
                           "property": "obo:BFO_0000050",
                           "children": [
                             {
                               "curie": "obo:ZFA_0005012",
                               "label": "afferent filamental artery",
                               "property": "obo:BFO_0000050",
                               "children": []
                             },
                             {
                               "curie": "obo:ZFA_0005013",
                               "label": "concurrent branch afferent branchial artery",
                               "property": "obo:BFO_0000050",
                               "children": []
                             },
                             {
                               "curie": "obo:ZFA_0005014",
                               "label": "recurrent branch afferent branchial artery",
                               "property": "obo:BFO_0000050",
                               "children": []
                             }
                           ]
                         },
                         {
                           "curie": "obo:ZFA_0000319",
                           "label": "branchiostegal membrane",
                           "property": "obo:BFO_0000050",
                           "children": []
                         },
                         {
                           "curie": "obo:ZFA_0000202",
                           "label": "efferent branchial artery",
                           "property": "obo:BFO_0000050",
                           "children": [
                             {
                               "curie": "obo:ZFA_0005018",
                               "label": "efferent filamental artery",
                               "property": "obo:BFO_0000050",
                               "children": []
                             }
                           ]
                         },
                         {
                           "curie": "obo:ZFA_0000667",
                           "label": "gill filament",
                           "property": "obo:BFO_0000050",
                           "children": [
                             {
                               "curie": "obo:ZFA_0000666",
                               "label": "filamental artery",
                               "property": "obo:BFO_0000050",
                               "children": []
                             }
                           ]
                         },
                         {
                           "curie": "obo:ZFA_0005324",
                           "label": "gill ionocyte",
                           "property": "obo:BFO_0000050",
                           "children": []
                         },
                         {
                           "curie": "obo:ZFA_0000211",
                           "label": "gill lamella",
                           "property": "obo:BFO_0000050",
                           "children": [
                             {
                               "curie": "obo:ZFA_0005015",
                               "label": "afferent lamellar arteriole",
                               "property": "obo:BFO_0000050",
                               "children": []
                             },
                             {
                               "curie": "obo:ZFA_0005019",
                               "label": "efferent lamellar arteriole",
                               "property": "obo:BFO_0000050",
                               "children": []
                             }
                           ]
                         },
                         {
                           "curie": "obo:ZFA_0001613",
                           "label": "pharyngeal arch 3-7",
                           "property": "obo:BFO_0000050",
                           "children": [
                             {
                               "curie": "obo:ZFA_0000172",
                               "label": "branchial muscle",
                               "property": "obo:BFO_0000050",
                               "children": []
                             },
                             {
                               "curie": "obo:ZFA_0005390",
                               "label": "gill ray",
                               "property": "obo:BFO_0000050",
                               "children": []
                             },
                             {
                               "curie": "obo:ZFA_0001606",
                               "label": "pharyngeal arch 3",
                               "property": "rdfs:subClassOf",
                               "children": []
                             },
                             {
                               "curie": "obo:ZFA_0000095",
                               "label": "pharyngeal arch 3-7 skeleton",
                               "property": "obo:BFO_0000050",
                               "children": []
                             },
                             {
                               "curie": "obo:ZFA_0001607",
                               "label": "pharyngeal arch 4",
                               "property": "rdfs:subClassOf",
                               "children": []
                             },
                             {
                               "curie": "obo:ZFA_0001608",
                               "label": "pharyngeal arch 5",
                               "property": "rdfs:subClassOf",
                               "children": []
                             },
                             {
                               "curie": "obo:ZFA_0001609",
                               "label": "pharyngeal arch 6",
                               "property": "rdfs:subClassOf",
                               "children": []
                             },
                             {
                               "curie": "obo:ZFA_0001610",
                               "label": "pharyngeal arch 7",
                               "property": "rdfs:subClassOf",
                               "children": []
                             }
                           ]
                         }
                       ]
                     }
                   ]
                 }
               ]
             }
           ]
         },
         {
           "curie": "obo:ZFA_0000496",
           "label": "compound organ",
           "property": "rdfs:subClassOf",
           "children": [
             {
               "curie": "obo:ZFA_0000354",
               "label": "gill",
               "property": "rdfs:subClassOf",
               "children": []
             }
           ]
         },
         {
           "curie": "obo:ZFA_0001094",
           "label": "whole organism",
           "property": "rdfs:subClassOf",
           "children": [
             {
               "curie": "obo:ZFA_0001439",
               "label": "anatomical system",
               "property": "obo:BFO_0000050",
               "children": [
                 {
                   "curie": "obo:ZFA_0000272",
                   "label": "respiratory system",
                   "property": "rdfs:subClassOf",
                   "children": [
                     {
                       "curie": "obo:ZFA_0000354",
                       "label": "gill",
                       "property": "obo:BFO_0000050",
                       "children": []
                     }
                   ]
                 }
               ]
             },
             {
               "curie": "obo:ZFA_0000496",
               "label": "compound organ",
               "property": "obo:BFO_0000050",
               "children": [
                 {
                   "curie": "obo:ZFA_0000354",
                   "label": "gill",
                   "property": "rdfs:subClassOf",
                   "children": []
                 }
               ]
             }
           ]
         }
       ]
     }
   ]
 }
]

This JSON structure can be transformed into a JSON hiccup representation:

    Rich JSON Hiccup Example

["ul",["li","Ontology"],["li",["a",{"resource":"owl:Class"},"owl:Class"],["ul",["li",["a",{"resource":"obo:ZFA_0100000"},"zebrafish anatomical entity"],["ul",["li",["a",{"resource":"obo:ZFA_0000037","about":"obo:ZFA_0100000","rev":"rdfs:subClassOf"},"anatomical structure"],["ul",["li",["a",{"resource":"obo:ZFA_0001512","about":"obo:ZFA_0000037","rev":"rdfs:subClassOf"},"anatomical group"],["ul",["li",["a",{"resource":"obo:ZFA_0001439","about":"obo:ZFA_0001512","rev":"rdfs:subClassOf"},"anatomical system"],["ul",["li",["a",{"resource":"obo:ZFA_0000272","about":"obo:ZFA_0001439","rev":"rdfs:subClassOf"},"respiratory system"],["ul",["li",["a",{"resource":"obo:ZFA_0000354","about":"obo:ZFA_0000272","rev":"obo:BFO_0000050"},"gill"],["ul",{"id":"children"},["li",["a",{"resource":"obo:ZFA_0000716","about":"obo:ZFA_0000354","rev":"obo:BFO_0000050"},"afferent branchial artery"],["ul",{"id":"children"},["li",["a",{"resource":"obo:ZFA_0005012","about":"obo:ZFA_0000716","rev":"obo:BFO_0000050"},"afferent filamental artery"],["ul",{"id":"children"}]],["li",["a",{"resource":"obo:ZFA_0005013","about":"obo:ZFA_0000716","rev":"obo:BFO_0000050"},"concurrent branch afferent branchial artery"],["ul",{"id":"children"}]],["li",["a",{"resource":"obo:ZFA_0005014","about":"obo:ZFA_0000716","rev":"obo:BFO_0000050"},"recurrent branch afferent branchial artery"],["ul",{"id":"children"}]]]],["li",["a",{"resource":"obo:ZFA_0000319","about":"obo:ZFA_0000354","rev":"obo:BFO_0000050"},"branchiostegal membrane"],["ul",{"id":"children"}]],["li",["a",{"resource":"obo:ZFA_0000202","about":"obo:ZFA_0000354","rev":"obo:BFO_0000050"},"efferent branchial artery"],["ul",{"id":"children"},["li",["a",{"resource":"obo:ZFA_0005018","about":"obo:ZFA_0000202","rev":"obo:BFO_0000050"},"efferent filamental artery"],["ul",{"id":"children"}]]]],["li",["a",{"resource":"obo:ZFA_0000667","about":"obo:ZFA_0000354","rev":"obo:BFO_0000050"},"gill filament"],["ul",{"id":"children"},["li",["a",{"resource":"obo:ZFA_0000666","about":"obo:ZFA_0000667","rev":"obo:BFO_0000050"},"filamental artery"],["ul",{"id":"children"}]]]],["li",["a",{"resource":"obo:ZFA_0005324","about":"obo:ZFA_0000354","rev":"obo:BFO_0000050"},"gill ionocyte"],["ul",{"id":"children"}]],["li",["a",{"resource":"obo:ZFA_0000211","about":"obo:ZFA_0000354","rev":"obo:BFO_0000050"},"gill lamella"],["ul",{"id":"children"},["li",["a",{"resource":"obo:ZFA_0005015","about":"obo:ZFA_0000211","rev":"obo:BFO_0000050"},"afferent lamellar arteriole"],["ul",{"id":"children"}]],["li",["a",{"resource":"obo:ZFA_0005019","about":"obo:ZFA_0000211","rev":"obo:BFO_0000050"},"efferent lamellar arteriole"],["ul",{"id":"children"}]]]],["li",["a",{"resource":"obo:ZFA_0001613","about":"obo:ZFA_0000354","rev":"obo:BFO_0000050"},"pharyngeal arch 3-7"],["ul",{"id":"children"},["li",["a",{"resource":"obo:ZFA_0000172","about":"obo:ZFA_0001613","rev":"obo:BFO_0000050"},"branchial muscle"],["ul",{"id":"children"}]],["li",["a",{"resource":"obo:ZFA_0005390","about":"obo:ZFA_0001613","rev":"obo:BFO_0000050"},"gill ray"],["ul",{"id":"children"}]],["li",["a",{"resource":"obo:ZFA_0001606","about":"obo:ZFA_0001613","rev":"rdfs:subClassOf"},"pharyngeal arch 3"],["ul",{"id":"children"}]],["li",["a",{"resource":"obo:ZFA_0000095","about":"obo:ZFA_0001613","rev":"obo:BFO_0000050"},"pharyngeal arch 3-7 skeleton"],["ul",{"id":"children"}]],["li",["a",{"resource":"obo:ZFA_0001607","about":"obo:ZFA_0001613","rev":"rdfs:subClassOf"},"pharyngeal arch 4"],["ul",{"id":"children"}]],["li",["a",{"resource":"obo:ZFA_0001608","about":"obo:ZFA_0001613","rev":"rdfs:subClassOf"},"pharyngeal arch 5"],["ul",{"id":"children"}]],["li",["a",{"resource":"obo:ZFA_0001609","about":"obo:ZFA_0001613","rev":"rdfs:subClassOf"},"pharyngeal arch 6"],["ul",{"id":"children"}]],["li",["a",{"resource":"obo:ZFA_0001610","about":"obo:ZFA_0001613","rev":"rdfs:subClassOf"},"pharyngeal arch 7"],["ul",{"id":"children"}]]]]]]]]]]]],["li",["a",{"resource":"obo:ZFA_0000496","about":"obo:ZFA_0000037","rev":"rdfs:subClassOf"},"compound organ"],["ul",["li",["a",{"resource":"obo:ZFA_0000354","about":"obo:ZFA_0000496","rev":"rdfs:subClassOf"},"gill"],["ul",{"id":"children"}]]]],["li",["a",{"resource":"obo:ZFA_0001094","about":"obo:ZFA_0000037","rev":"rdfs:subClassOf"},"whole organism"],["ul",["li",["a",{"resource":"obo:ZFA_0001439","about":"obo:ZFA_0001094","rev":"obo:BFO_0000050"},"anatomical system"],["ul",["li",["a",{"resource":"obo:ZFA_0000272","about":"obo:ZFA_0001439","rev":"rdfs:subClassOf"},"respiratory system"],["ul",["li",["a",{"resource":"obo:ZFA_0000354","about":"obo:ZFA_0000272","rev":"obo:BFO_0000050"},"gill"],["ul",{"id":"children"}]]]]]],["li",["a",{"resource":"obo:ZFA_0000496","about":"obo:ZFA_0001094","rev":"obo:BFO_0000050"},"compound organ"],["ul",["li",["a",{"resource":"obo:ZFA_0000354","about":"obo:ZFA_0000496","rev":"rdfs:subClassOf"},"gill"],["ul",{"id":"children"}]]]]]]]]]]]]]

TODOs

Test harness: we have code to compare term trees built using information from OLS, on the one hand, and information from LDTab databases on the other hand.  I'm not sure this is the best way to go about it (this code is not in this pull request).
Error handling: The code for building the different term tree formats only propagates sqlx::Errors stemming from queries to an LDTab database. So, there are many unwraps on JSON values that depend on correctly formatted LDTab values and term tree values. I'm not sure what the best strategy for error handling in this scenario is but I think it would make sense to have a dedicated validation mechanism for both LDTab and the term trees (we already talked about this some time ago. We put this on hold because of potential changes to either format).
Documentation: top-level functions should include some executable doc string code examples/tests (this should be done as soon as we know that the formats won't change too much).
Refactoring: I am not sure whether we want to maintain the code for both the simple and the rich format in one file. It seems to me that the simple format is only used for testing and validation purposes. I would expect only the rich format to be relevant for practical purposes.

Error handling should be revisited at some point because we are currently only propagating sqlx::Error. For functions that depend on correctly formatted LDTab values or correctly formatted JSON term trees, there is no proper error handling. In the hiccup encoding for example, we are currently returning Values directly and use json!("ERROR") to indicate errrors.

The module src/test currently depends on OLS version 3. The validation tests will need to be updated wrt. OLS version 4 as soon as hierarchical relationships such as 'part-of' are supported again.

The term_tree.rs module is getting somewhat large and implements a bunch of things that should be handled separately. Here is a summary of what I think should be pulled apart:

Construction of term trees (we essentially maintain trees internally via HashMaps from ancestors to children)
Construction of term trees for top-level entities (note that this is different from ancestor term trees)
JSON encoding of term trees
Hiccup encoding of term trees
HTML display of information (here I mean functions such as get_hiccup_term_tree that essentially just arrange different HTML/hiccup elements)

Maintaining these things separately should make some dependencies more obvious. For example, the Hiccup encoding depends on the JSON encoding -- meaning that term trees (maintained internally with HashMaps) first need to be turned into the JSON format, which can then be turned into a Hiccup-style list. (BTW: This dependency is of course not strictly necessary and we could implement a Hiccup encoding based on HashMaps. But that's beside my point.)


Write a Python program to check digit

Description
Write a Python program to check digit
Check wether given character is a digit (0-9).
Input  : 1
Output : Digit

How to contribute

Save the solution in program/check-digit.py file
Add check-digit.py file in check-digit folder

!assign

Already merged by #3140


refactor: use pkg directory for internal libraries

does this mean replacing lib folder with pkg?

I believe so! As far as I know, thats the pattern people use on go. It would be nice to make the code more separated so that we can re-use it in other places like on other projects or whatever else. It also makes the code a bit cleaner since each "file" (more like module?) we have on lib/ would be separated with its own namespace

Would we also merge drv into pkg or?

We could but I think that wouldnt be necessary since those are quite intrinsic to this program's functionality, there wouldn't be too much sense in migrating them to make them work on a separate namespace or something. But ofc we could make it work if we wanted to