BTable Sorting

supported props from vue-bootstrap:

sort-by
sort-desc

new props:
-sort-internal{boolean} = a boolean to determine if you want the table to sort the given rows or not, it can be disabled when using an external API request for sorting your table
working example:
<template>

        Sorting By: {{ sortBy }}, Sort Direction:
        {{ sortDesc ? 'Descending' : 'Ascending' }}

</template>

DRY!
I have also wrapped the table element inside a BTableContainer to handle the div.responsive logic, this will make the component have only one element to modify.

@VividLemon Be aware that i've pushed another commit for BModal component as well.

@VividLemon Be aware that i've pushed another commit for BModal component as well.

I'm aware. Honestly, I'm not exactly sure if we can use suspense 🤔 Not sure though.

@VividLemon Be aware that i've pushed another commit for BModal component as well.

I'm aware. Honestly, I'm not exactly sure if we can use suspense 🤔 Not sure though. Probably can, I don't see why not...

I've tried to replace the suspense component with a template tag and nothing really changed, everything works fine with  or
a working example:
<template>

      Nested Modal
      Lazy-load Modal

        The modal below is nested, click to open it!
        Open Nested Modal
        I am Nested!

        The content below is lazy-loaded, Might not load the content script from server but will not Mount the child
        component before the modal is opened.

        Every time the modal opens the mounted event will be triggered for the child component.
        <test ref="modalContentComponent"></test>

</template>

I will review further tomorrow. But it's looking like some good changes, besides just some minor issues. Thanks for the additions.

You are welcome, i hope the request merge to be done asap so i can use these updates on my company's prod app 😄
No pressure.

BEGIN_COMMIT_OVERRIDE
feat(BTable): add sorting option props
feat(BModal): support lazy loading
END_COMMIT_OVERRIDE


New Nuget Package.

Is it possible to release a new nuget package with netcore and avalonedit 6 support?

Is the update in sight? I would really appreciate it. If you need any kind of help please let us know.

New packages have been published! Using Roslyn 3.6.0.
https://www.nuget.org/packages?q=RoslynPad


Autoincrement Field is Ignored for Inserts

DBFlow Version: 4.0.5
Issue Kind (Bug, Question, Feature): bug
Not using instant run.
Description:
For an empty table mytable with an auto increment field id and a text field v1:
Expected:
    sql:    insert into `mytable` (id,v1) values(50,"foo")
    result: 50 | foo

    sql:    insert into table (v1) values("bar")
    result: 51 | bar

Starting with an empty table, in code:
MyTable myTable = new MyTable();
myTable.setId(50);
myTable.setV1("foo");
myTable.save();

result: myTable.id == 1 (valid id was stomped on)

it was intended. But what I can do for 4.1.0, is provide an AutoIncrementModelSaver which will do what you want. It will apply automatically for any autoincrementing table.

That could work. Thanks!

in develop. if you get time to try it out, I recommend it.

a3f1f776f3

Where do I insert this? My tables extend BaseProviderModel.


ci: update default branch to "main" in workflows

This is just a shot in the dark...does this have anything to do with the strange GNU test comparison results recently? I notice that the default branch name has changed to "main" somewhat recently.

I think the rm issue happened before the renaming


Terser fails on dynamic imports

Bug report
Hello there, it seems like webpack 5 / terser has an issue with dynamic imports().
What is the current behavior?
Every time I try to let webpack create a production build, it fails with an error like:
ERROR in 581.bundle.js from Terser
Unexpected token: punc (:) [581.bundle.js:3,9]
    at js_error (W:\dev\labor-digital\bits\demo\node_modules\terser\dist\bundle.min.js:548:11)
    at croak (W:\dev\labor-digital\bits\demo\node_modules\terser\dist\bundle.min.js:1272:9)
    at token_error (W:\dev\labor-digital\bits\demo\node_modules\terser\dist\bundle.min.js:1280:9)
    at unexpected (W:\dev\labor-digital\bits\demo\node_modules\terser\dist\bundle.min.js:1286:9)
    at semicolon (W:\dev\labor-digital\bits\demo\node_modules\terser\dist\bundle.min.js:1324:56)
    at simple_statement (W:\dev\labor-digital\bits\demo\node_modules\terser\dist\bundle.min.js:1581:73)
    at statement (W:\dev\labor-digital\bits\demo\node_modules\terser\dist\bundle.min.js:1375:20)
    at _embed_tokens_wrapper (W:\dev\labor-digital\bits\demo\node_modules\terser\dist\bundle.min.js:1337:26)
    at block_ (W:\dev\labor-digital\bits\demo\node_modules\terser\dist\bundle.min.js:2170:20)
    at statement (W:\dev\labor-digital\bits\demo\node_modules\terser\dist\bundle.min.js:1401:29

If the current behavior is a bug, please provide the steps to reproduce.
package.json
{
	"name": "@labor-digital/broken",
	"version": "1.0.0",
	"scripts": {
		"build": "npx webpack",
		"watch": "npx webpack --config ./webpack.watch.js"
	},
	"license": "Apache-2.0",
	"devDependencies": {
		"webpack-merge": "^5.7.3",
		"webpack-cli": "4.5.0",
		"webpack": "5.24.2"
	}
}

webpack.config.json
module.exports = {
    mode: 'production',
    entry: './src/main.js',
    target: 'es5',
    output: {
        filename: 'bundle.js',
        path: path.resolve(__dirname, 'dist')
    },
};

webpack.watch.js
const {merge} = require('webpack-merge');
const common = require('./webpack.common.js');

module.exports = merge(common, {
    mode: 'development',
    watch: true
});

main.js
import('./Test/A');
Test/A.js
export class A{}

If I run "npm run watch" everything works as expected. The dynamic import works, too. If I run "npm run build" the build fails and I get the error mentioned above. I tried to narrow it down and removed all loaders and project code until I got this, minimal setup.
I think the issue is somewhere in the generated code of the import chunk:
{

/***/ "./src/Test/A.js": // <<<---  terser seems to not expect this colon here.
/*!***********************!*\
  !*** ./src/Test/A.js ***!
  \***********************/
/***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {

"use strict";
__webpack_require__.r(__webpack_exports__);

What is the expected behavior?
It should work as it did with webpack 4 🙈
Other relevant information:
webpack version: 5.24.2
Node.js version: 14.5.0
Operating System: Windows 10pro 1909
Additional tools: npm 6.14.6

Try target: ['web', 'es5']

Answer above, we should set web target by default when platform target doesn't exists, i.e. web/browser/webworker/node/elector/nwjs

Oh, not we can't , because es5 not provide platform, please use target: ['web', 'es5']


Instructions and correct error message for localhost

Looks like there's no test suite on this one?

Haha good spot!!

Should have test coverage.  Will need to add some at some point.  Not sure how we would fake other rtc streams tho...


Support sq auto tune for ort

Type of Change
feature
Description
Support sq auto tune for ort
Expected Behavior & Potential Risk
ORT adaptor can do sq auto tune for onnx models
How has this PR been tested?
pre-ci, extension test
Dependency Change?
no

/Azurepipeline run

/Azurepipeline run

https://inteltf-jenk.sh.intel.com/job/intel-lpot-validation-top-mr-extension/5020/

https://inteltf-jenk.sh.intel.com/job/intel-lpot-validation-top-mr-extension/5020/

https://inteltf-jenk.sh.intel.com/job/intel-lpot-validation-top-mr-extension/5028/

https://inteltf-jenk.sh.intel.com/job/intel-lpot-validation-top-mr-extension/5020/

https://inteltf-jenk.sh.intel.com/job/intel-lpot-validation-top-mr-extension/5028/

https://inteltf-jenk.sh.intel.com/job/intel-lpot-validation-top-mr-extension/5029/

https://inteltf-jenk.sh.intel.com/job/intel-lpot-validation-top-mr-extension/5020/

https://inteltf-jenk.sh.intel.com/job/intel-lpot-validation-top-mr-extension/5028/

https://inteltf-jenk.sh.intel.com/job/intel-lpot-validation-top-mr-extension/5029/

https://inteltf-jenk.sh.intel.com/job/intel-lpot-validation-top-mr-extension/5031/

auto: https://inteltf-jenk.sh.intel.com/job/inc-validation-smooth_quant-top-weekly/9/

auto:https://inteltf-jenk.sh.intel.com/job/intel-lpot-validation-top-mr-extension/5032/
alpha0.5:https://inteltf-jenk.sh.intel.com/job/intel-lpot-validation-top-mr-extension/5033/

auto:https://inteltf-jenk.sh.intel.com/job/intel-lpot-validation-top-mr-extension/5035/
alpha0.5:https://inteltf-jenk.sh.intel.com/job/intel-lpot-validation-top-mr-extension/5033/


allow for readable display of address value when it is a response to …

…a view/pure function call
The FunctionForm displays its result with tryToDisplay().
In case of pure/view functions where the response is an address, tryToDisplay() creates an  component.
Since that is not readable in the FunctionForm, a special handling to display this address value as text can improve the UX.

ISSUE:
![Screenshot 2021-12-03 at 22 00 31](https://user-images.githubusercontent.com/32189942/144665637-4e13c293-e9e7-4727-88c6-08bbc9635f1d.png
FIX:

)


Small UI tweaks from Twitch Stream Visitor

Added flex to tiles
Touched up a bit of light and dark mode colors in the themes without straying away from your original look and feel
Touched up spacing in few places
The code might have prettier formatting added too but feel free to ignore those

Thank you for the proposal. Unfortunately, since it adjusts too many things unrelated to styles and conflicts with the current state of the project, I'm closing this pull request.


SNI support for Hotrod server

https://issues.jboss.org/browse/ISPN-5721
Tasks:

https://issues.jboss.org/browse/ISPN-6517
https://issues.jboss.org/browse/ISPN-6520
https://issues.jboss.org/browse/ISPN-6523

Highlights

Netty upgrade to 4.1.0.CR7
Added SniHandler to Hotrod server with proper configuration bits:

builder.ssl.enable()
   .sniHostName("www.example.com")
      .keyStoreFileName("some_file")
      .keyStorePassword("password")
   .sniHostName("www.example2.com")
      ...

Added Hotrod server XML configuration:

<hotrod-connector name="hotrod5" socket-binding="hotrod" cache-container="default">
    <encryption security-realm="other">
         <sni host-name="example.com" security-realm="other" />
         <sni host-name="example2.com" security-realm="other2" />
     </encryption>
</hotrod-connector>

The client decides to which SNI domain it wants to connect using [SSLParameters#setServerNames] (https://docs.oracle.com/javase/8/docs/api/javax/net/ssl/SSLParameters.html#setServerNames-java.util.List-) method.

Since this Pull Request is very large, additional tasks will be implemented separately:

Hotrod client support for SNI: https://issues.jboss.org/browse/ISPN-6524
Documentation update: https://issues.jboss.org/browse/ISPN-6525

I highly recommend reviewing it commit by commit and starting with the tests.

Fixed test failures

Rerunning CI, I'm 100% sure I fixed those failures... maybe I didn't commit something...

Clarified - The SNI configuration must be placed under encryption because we enable SSL there. I will open another PR with previous version (and close this one for historical reasons).
//cc @tristantarrant


Class 'lyquidity\xmldsig\xml\SignatureProductionPlaceV2' not found

Helllo!
After install the package with composer, I tried to sign an xml with the example provided in the user guide.
I obtain this error:
Class 'lyquidity\xmldsig\xml\SignatureProductionPlaceV2' not found
Perhaps something wrong with the namespace or something similar to #1 ? . I can't know what is happening. The namespace and the filename seem ok.
There are severals classes with the same problem (SignerRoleV2 too) but InputResourceInfo is loading well.
I'm using the code with the last commit on main branch.
Thanks!

Same for example for the class AttributeNames

I've just downloaded the latest version and setup a test script which includes the example from the readme and it works OK for me.   Because so many classes are failing maybe the issue is something else.  For example, did you add 'use' statements for the classes referenced by the example?  Without these PHP will not be able to locate the class.  This is an omission by me so I have updated the example to show the necessary use statements which are:
use lyquidity\xmldsig\CertificateResourceInfo;
use lyquidity\xmldsig\InputResourceInfo;
use lyquidity\xmldsig\KeyResourceInfo;
use lyquidity\xmldsig\ResourceInfo;
use lyquidity\xmldsig\XAdES;
use lyquidity\xmldsig\xml\SignatureProductionPlaceV2;
use lyquidity\xmldsig\xml\SignerRoleV2;
use lyquidity\xmldsig\XMLSecurityDSig;

If you have downloaded the source from GitHub (rather than installing using composer) then you will also need to add a reference to the xml-signer autoloader.php or PHP will be unable to find the classes even if the 'use' statements exist.  When xml-signer is installed using composer this step is not needed as its autoload.php is called when the composer autoload.php is referenced.
If you have downloaded the source from GitHub you will also need to separately download the dependent requester project.  You will then need to reference the autoload.php from this project.  Without these steps, PHP will be unable to find the certificate handling code.
download and the

thanks for your reply @bseddon !
and sorry for the omited information:

I'm using composer with the main branch
I'm using ubuntu as SO (in a Virtual Machine launched with vagrant and virtualbox)
When I copied the code, I added the use statements correctly (PhpStorm links the classes properly by the namespaces)

I think is something about your autoload functions, something about differences Windows-linux system, as a route, a path, or something else. The file name and namespace seems to be correct for psr-4.

Wow, you're right.  It seems I did not push the change to the autoloader.  The change suggested in #1 has been pushed and a new new release is available for composer.  Thanks for letting me know.

It works! Thank you!


Sequence or flow diagram

Hi,
Please add a sequence diagram or a flow diagram with intent names and responses which can easily depict how the communication is happening between hardware, Google assistant, webhook and third-party server (for payment and reservation). This way it will be clearly understandable for anyone to see how to implement it in their flow.

This is useful:
https://www.eisbahn.jp/yoichiro/2018/04/explanation_of_transactions_api.html

The blog provided above by one of our GDEs has a very nice diagram explaining the flow.
If you find the code hard to follow, I recommend first reading our Transactions Documentation to get a better idea on how to implement transactions for your action.


Feat(adapter): Add Harbor v2 API Adapter for Ground Control to Manage Robot Accounts

Overview:

Implemented CRUD operations using the Harbor v2 API to manage robot accounts in the registry.
Part of the Zero Touch Registration (ZTR) feature for Ground Control.

Part of #41

Summary by CodeRabbit

New Features

Introduced a new environment variable HARBOR_URL for enhanced configuration.
Added comprehensive functionalities for managing robot accounts within the Harbor registry, including creation, listing, updating, and deletion.

Dependency Updates

Updated module dependencies, replacing older libraries with new ones for better performance and compatibility.

Bug Fixes

Improved error handling in the Harbor client initialization process.

Chores

Minor formatting and comment adjustments for improved code readability.

Summary

We use above handlers to create, list, update & delete robot accounts for satellites.
Every robot accounts will only have the below permissions.

{
  {"Action": "read", "Resource": "artifact" },
  {"Action": "read", "Resource": "repository"},
  {"Action": "pull", "Resource": "repository"}
}

We use harbor system robot accounts to assign robots to multiple projects.

To check all permissions of the robot accounts you can check here


Not sure if "bug" or "feature" really, but need the ability to load llm models in an air gapped environment

Is your feature request related to a problem? Please describe.
In an isolated network that has no internet access. There needs to be some ability or documented way to get llm data loaded without having to get at data on the public internet.
This would also help for reduction in bandwidth needed for new installs by enabling offloading/caching of data.
Another help would be for supply chain security in ensuring that the models are always obtained from a trusted source or location through some vetting process.
Describe the solution you'd like
Ideally a way to via an api call "freeze/tar/zip" any number of models/versions installed and setup in open-webui then to load that data.
Describe alternatives you've considered
I've been digging through the ollama and open-webui code to get a better idea of how I might accomplish this. My only  possible thoughts are to tar the models after installation on a system with access and then to somehow restore that after installing it elsewhere. But better options would be appreciated or advice on maybe other ways to accomplish the goal.
Advice on how I might approach this appreciated.
Additional context
Add any other context or screenshots about the feature request here.

We also have a need for a truly air-gaped environment, and will be following this
Our current process is:

Spin up Ollama on Docker with /root/.ollama dir mapped to local directory
Download model on Docker Ollama
tar models directory
Transfer to air-gap network
Extract tar and kubectl cp the blobs and manifest directory to the Ollama pod /root/.ollama/models/ in Kubernetes

This is not ideal, but has worked 100% for us
We tried the GGUF upload in Open-webui with mixed results


Uploading an expired public certificate to a IDP does not give any error

Describe the issue:
When creating an IDP from the management console it allows to upload the public certificate of a federated IDP. Uploading an expired certificate does not show any errors.
How to reproduce:

Create an IDP from the management console
Choose the Upload IDP certificate option for Choose IDP certificate type and upload an expired public certificate into the Identity Provider Public Certificate section
Register/update the IDP

Certificate will be successfully uploaded and when viewing the IDP, provided certificate is displayed as follows without any issues

Expected behavior:
Should give an error about the certificate being expired and not allow to upload the expired certificate
Environment information (Please complete the following information; remove  any unnecessary fields) :

Product Version: IS 6.0.0-m4
OS: Linux

Federated authentication flow also succeeds without giving any errors with the expired public certificate of the Federated IDP

Related to https://github.com/wso2/product-is/issues/13778


Stylesheet updates and API key global vars

Overview
Upgrades all bundled house stylesheets in the SDK to the latest release version. Upgrades Tangram to version 0.4.9-SNAPSHOT to support new scene update at map load time. Sets API key at map load time using stylesheet global variable syntax.
Proposed Changes

Upgrades stylesheet submodules to latest version using global vars and no default API key.
Upgrades Tangram to version 0.4.9-SNAPSHOT to support new SceneUpdate syntax.
Removes dynamic API key setting in TileHttpHandler.
Sets Mapzen API key inside getMapAsync(...) using Tangram SceneUpdate.
Sets MapInitializer dependencies using constructor injection rather than field injection.
Updates calls to mapController.queueSceneUpdate(...) to use SceneUpdate param.
Replaces OkHttp2 classes with OkHttp3 classes in TileHttpHandler.
Adds SSL mocking utils for tests that depend on HttpHandler and OkHttp3.

It turns out there is a much cleaner way to solve the testing issue. PowerMock is known to interact poorly with the javax.net.ssl.* package and so added an explicit ignore and removed the custom mocks even though they were so much fun to write 😜
http://stackoverflow.com/questions/14654639/when-a-trustmanagerfactory-is-not-a-trustmanagerfactory-java

@tallytalwar I purposely chose the one release before the latest for each stylesheet since this is the version with no API key in the scene file. The latest x.x.1 releases added back temporary API keys for 1 month (which we don't need on mobile).


[ADAM-1381] Fix Variant end position.

Resolves #1381. Sets variant end position to the proper site for symbolic alleles.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/ADAM-prb/1785/
Test PASSed.

Hi @heuermh! If this looks good to you as-is, we can close https://github.com/bigdatagenomics/bdg-formats/pull/125 unmerged.

Thank you, @fnothaft!


feature: handle users registration

Codecov Report
Attention: Patch coverage is 45.76271% with 32 lines in your changes missing coverage. Please review.

Project coverage is 75.53%. Comparing base (b4c4544) to head (5d76330).
Report is 2 commits behind head on main.

Files with missing lines
Patch %
Lines

gischat/app.py
41.81%
30 Missing and 2 partials :warning:

Additional details and impacted files
@@             Coverage Diff             @@
##             main      #30       +/-   ##
===========================================
- Coverage   88.96%   75.53%   -13.44%
===========================================
  Files           4        4
  Lines         145      188       +43
  Branches       16       24        +8
===========================================
+ Hits          129      142       +13
- Misses         11       39       +28
- Partials        5        7        +2

Flag
Coverage Δ

unittests
75.53% <45.76%> (-13.44%)
:arrow_down:

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

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


Add additional optional fields to GoogleAuthorizationCodeRequestUrl

External references, such as a standards document, or specification?
https://developers.google.com/accounts/docs/OpenIDConnect#authenticationuriparam
eters

Target platform (e.g. Windows, Mono, Silverlight, WP7, All)?
All

Please describe the feature requested.

Some of the optional parameters listed in
https://developers.google.com/accounts/docs/OpenIDConnect#authenticationuriparam
eters are not included in the GoogleAuthorizationCodeRequestUrl class or base
classes. Either they should be added or there should be a new class to help
with the OpenID Connect authentication flow.

The missing parameters are:
- prompt (there is a approval_prompt parameter which has different name and
list of options)
- display
- include_granted_parameters
- openid.realm
- hd

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 7 Jan 2015 at 4:12

Closing as stale. Please re-open if this is still causing problems.


CFP: Optimization of identity allocation with CRD as a backend

Cilium Feature Proposal
Is your feature request related to a problem?
Identity Allocation on GCP e2-medium (2 vcpus) machine and a lot of identities in the system takes up to 0.5s.
Describe the feature you'd like
Optimize Identity Allocation so it takes significantly smaller amount of time.
(Optional) Describe your proposed solution
Inside lockedAllocate:
https://github.com/cilium/cilium/blob/master/pkg/allocator/allocator.go#L469
first it tries to find id for a key (which is very natural thing to do):
https://github.com/cilium/cilium/blob/master/pkg/allocator/allocator.go#L484
value, err := a.GetIfLocked(ctx, key, lock)
then it validates that no other agent prepared the id for the given labels values maps:
https://github.com/cilium/cilium/blob/master/pkg/allocator/allocator.go#L#L560-L562
value, err = a.GetNoCache(ctx, key)
and check that the value is 0, returning error otherwise:
https://github.com/cilium/cilium/blob/master/pkg/allocator/allocator.go#L567-L570
Both of the gets iterates through all the identities list and compare the labels-values using reflector.DeepEqual. This may take significant amount of time.
My golang tests of similar code on GCP e2-medium machine showed that running reflector.DeepEqual 60k times against the map with two key-values: "group": "load", "service", "service-"+strconv.Itoa(i) takes ~90ms when there is nothing else going on in the machine.
The proposed solution is to add a map from CanonicalAllocatorKey to slices of identities:
map[string][]*v2.CiliumIdentity
CanonicalAllocatorKey is a string representation of the key in canonical form, e.g. with all the labels sorted. This is needed to make sure that there is one possible key for the given labels values map.
The value of the map is a slice of identities in case two different identities are represented with the same key (e.g., if it's even possible: one has label "label" with value "foo:val" and the other has label "label:foo" with the value "val".
The new code would first get the slice of identities for the given canonical key and if such slice exists it would run reflector.DeepEqual against the maps from identities from the slice.
The same test on the same machine showed that in this case it would take less than 1ms to retrieve result from the map.

I plan to work on fixing it


Add fatal check to deploy script for binary dependencies being installed

What this PR does / why we need it:
This PR ensures that the necessary binaries used by the script are installed before proceeding to perform any deployment actions.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Special notes for your reviewer:
Release note:

Only one minor suggestion: move new checking logic above shift. Checking is better to be above of any operation logic.

@xunpan I've actually opted to move it below the shift because it's part of parsing the arguments to the script. PTAL.

Thank you!
/lgtm


Following fine_tuning.livemd results in OOM on decent hardware

This was originally posted on the NX forum where it was suggested I open an issue.
I’m following the Bumblebee fine tuning example notebook and the process consistently fails with memory issues in the second training epoch.
My setup:

Google Cloud Platform n1-standard-16 box with 60GB RAM
Nvidia Tesla T4 GPU with 16GB of RAM
NVIDIA-SMI 520.61.05 Driver Version: 520.61.05  CUDA Version: 11.8
full setup steps here

Full iex session here:  http://ix.io/4tRd
Partial output snippet:

14:58:53.921 [info] Sum Total of in-use chunks: 13.06GiB

14:58:53.921 [info] total_region_allocated_bytes_:<PHONE_NUMBER>0 memory_limit_:<PHONE_NUMBER>3 available bytes: 153 curr_region_allocation_bytes_:<PHONE_NUMBER>2

14:58:53.921 [info] Stats:
Limit:<PHONE_NUMBER>3
InUse:<PHONE_NUMBER>4
MaxInUse:<PHONE_NUMBER>4
NumAllocs:                      304098
MaxAllocSize:                945403392
Reserved:                            0
PeakReserved:                        0
LargestFreeBlock:                    0

14:58:53.921 [warning] ****************************************************************************************************

14:58:53.921 [error] Execution of replica 0 failed: RESOURCE_EXHAUSTED: Out of memory while trying to allocate 2359296 bytes.
BufferAssignment OOM Debugging.
BufferAssignment stats:
             parameter allocation:    1.61GiB
              constant allocation:     2.1KiB
        maybe_live_out allocation:    1.61GiB
     preallocated temp allocation:  901.61MiB
  preallocated temp fragmentation:   11.25MiB (1.25%)
                 total allocation:    4.11GiB
Peak buffers:
        Buffer 1:
                Size: 84.95MiB
                Entry Parameter Subshape: f32[28996,768]

Further update: Running it with a CPU backend and watching the memory, it stays at around 6GB in the first epoch, then then seems to fluctuate quite a bit in the second epoch-- the highest value I saw was 32GB used, which explains the OOMs I saw on 16 and 24GB GPUs.

Just saw https://github.com/elixir-nx/nx/issues/1093, which seems like it's being addressed and indicates that this issue is probably just due to not having enough resources to run the example.


mac: wrong directory

Precondition

macOS Sierra
dart v2.1.0 installed via brew, flutter SDK not installed
prebuild binary v0.3.0-alpha from github

Does the prebuilt and portable version works ?
No
Download Link

[x] Yes
[ ] No

Steps to Reproduce

Unzip downloaded binary
Run stocks
Console shows error:
2018/12/24 08:40:03 stat /Users/tbrocherieux/Downloads/stocks-example-GoFlutter_OSX/flutter_project/stocks/build/flutter_assets: no such file or directory

Luckly the main.go used to compile the stocks binary is still in the zip file.
The main.go file wasn't compile with the correct go file.
@zephylac can you rebuild the stocks example using the simpler stocks/main.go
Thanks :+1:

ASAP 👍

I've updated the release, it should work now. If you can check it on your side @mikowiec, it would be great.

not fixed
Last login: Mon Dec 24 09:01:22 on ttys000
/Users/xxx/Downloads/stocks-example-GoFlutter_OSX/stocks ; exit;
➜  ~ /Users/xxx/Downloads/stocks-example-GoFlutter_OSX/stocks ; exit;
2018/12/27 09:46:50 stat flutter_project/stocks/build/flutter_assets: no such file or directory

[Process completed]

It's working but for this release you need to execute it from the directory. When it was compiled, it was with
 gutter.ProjectAssetPath("flutter_project/stocks/build/flutter_assets"),
As this is not an absolute path (we would fall in the other case where absolute path is written in the executable), you need to execute it from it's directory otherwise he won't find flutter_assets directory
cd /Users/xxx/Downloads/stocks-example-GoFlutter_OSX
./stocks

I just ran into the following issue:
2018/12/27 09:33:48 stat /opt/flutter/bin/cache/artifacts/engine/darwin-x64/icudtl.dat: no such file or directory

@zephylac can you build the stocks example while making sure the path to the gutter.ApplicationICUDataPath is local to the zip
Thanks :+1:


Taking long time for processing reports

Hi @ludeknovy  , i have followed this tutorial generate-intuitive-locust-io-reports-with-jtl-reporter and in the end the csv file was created under logs folder and i have uploaded the same in jtl reporter instance. It is a very light weight file but it kept processing. The response as follows:

{
  "failed": [],
  "inprogress": [
    {
      "id": "4674e493-be7e-43d8-9bdd-d75c5a93a5aa",
      "reportStatus": "in_progress",
      "uploadTime": "2020-11-17T08:33:42.883Z"
    }
  ]
}

Can you please check i'm using locust version 1.3.1, python version 3.6.8

Found this error in jtlreporter_be_1
{"message":"Starting new item processing for scenario: tests","level":"info"} {"level":"info","message":"POST /api/projects/test_load/scenarios/tests/items 200 82ms","meta":{}} {"message":"Starting KPI file streaming and saving to Mongo with dataId: e825a683-bce0-420b-84e6-be3cea054ca7","level":"info"} (node:17) UnhandledPromiseRejectionWarning: MongoError: Topology is closed, please connect     at processWaitQueue (/src/be/node_modules/mongodb/lib/core/sdam/topology.js:998:42)     at NativeTopology.selectServer (/src/be/node_modules/mongodb/lib/core/sdam/topology.js:440:5)     at selectServerForSessionSupport (/src/be/node_modules/mongodb/lib/operations/execute_operation.js:174:12)     at executeOperation (/src/be/node_modules/mongodb/lib/operations/execute_operation.js:34:12)     at Collection.insertOne (/src/be/node_modules/mongodb/lib/collection.js:516:10)     at /src/be/dist/server/controllers/item/create-item-controller.js:74:38     at Generator.next (<anonymous>)     at /src/be/dist/server/controllers/item/create-item-controller.js:8:71     at new Promise (<anonymous>)     at __awaiter (/src/be/dist/server/controllers/item/create-item-controller.js:4:12)     at CsvParserStream.<anonymous> (/src/be/dist/server/controllers/item/create-item-controller.js:71:38)     at CsvParserStream.emit (events.js:210:5)     at CsvParserStream.emit (/src/be/node_modules/@fast-csv/parse/build/src/CsvParserStream.js:48:22)     at addChunk (_stream_readable.js:309:12)     at readableAddChunk (_stream_readable.js:290:11)     at CsvParserStream.Readable.push (_stream_readable.js:224:10) (node:17) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 26)

Hi @SonaliSihra, thanks for rising this up and for all the included infos.
From the logs I can see there is an issue with a connection to the mongo db.
Could you check if the mongo db is running?
The item should be marked as "failed" instead of "in progress" in this case. I will look at it and fix it.

Ok, I was able to reproduce the mongo connection issue. Will try to fix it soon.

@SonaliSihra please try it again with updated docker-compose file. It should be fixed.

Ok, I was able to reproduce the mongo connection issue. Will try to fix it soon.

Thanks for the confirmation @ludeknovy , please share a timeline for the fixes if possible because right now I'm relying on it. Also, it is a must required tool that i needed for a very long time. Appreciate your hard work!!!

@SonaliSihra as stated in my previous comment, the connection issue should be solved

@SonaliSihra as stated in my previous comment, the connection issue should be solved

@ludeknovy i tried and it is working fine now. Thank you so much for fixing it up. Also, can you please confirm if it is possible to show total RPS in the dashboard ?

@SonaliSihra thanks for confirmation!
Total RPS you can get in report detail, it's named as "Throughput".


[New Port Request] libbacktrace

Library name: libbacktrace
Library description: "Sample uses would be to print a detailed backtrace when an error occurs or to gather detailed profiling information."
Source repository URL: https://github.com/ianlancetaylor/libbacktrace
Anything else that is useful to know when adding (such as optional features the library may have that should be included):
No. But the lib can be used for boost stacktrace to get meaningful stacktraces on any compiler on POSIX, or MinGW, or MinGW-w64

If you wish to add this port in the future, you can reopen this issue, but we're closing it for now.

Only you can reopen it, I can't

@autoantwort, thanks for the PR! I have reopened this issue.


Bump to 0.65.0, update changelog

@ehuss: no appropriate reviewer found, use r? to override

@bors r+

:pushpin: Commit 77aebb50246811b7f54c71906e8aeaafc225bbd5 has been approved by Eh2406

:hourglass: Testing commit 77aebb50246811b7f54c71906e8aeaafc225bbd5 with merge 2aa12cbb92f130aa9a1dd12b08b67a5f8051c7b3...

:sunny: Test successful - checks-actions
Approved by: Eh2406
Pushing 2aa12cbb92f130aa9a1dd12b08b67a5f8051c7b3 to master...


Fix duplicate microbits

I've honestly never seen that, here the problem is that CMSIS-DAP is iterated through two different ways (nusb and hidapi). I don't think any of the other probes do something similar.


Not use -msse2 on power or arm arch. close #2446

This follows the Makefile from MXNet:  https://github.com/dmlc/mxnet/blob/master/make/config.mk#L119-L124

This PR only defines a USE_SSE variable, but it's never further used.
Even in mxnet Makefile, the only place USE_SSE is used is to build dmlc-core.

Sorry for my mistake.
I will try to find an arm or powerpc machine for testing.
On Sat, Jul 8, 2017 at 1:02 PM, Vadim Khotilovich<EMAIL_ADDRESS>wrote:

This PR only defines a USE_SSE variable, but it's never further used.
Even in mxnet Makefile, the only place USE_SSE is used
https://github.com/dmlc/mxnet/blob/e906f883642423479600abd9cc1c101af91ca908/Makefile#L317
is to build dmlc-core.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/dmlc/xgboost/pull/2475#issuecomment-313878011, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABebVbSDJQA552PWN26rRTh8YiOOmL82ks5sL-BvgaJpZM4OK8zO
.


E117: Unknown function: compe#confirm

Not sure where the problem lives, but trying to press CR in insert mode gives that error
Trying PackerLoad nvim-cmp doesn't make it any better, unsure what could be missing from this
I replaced some of your local vim-dev repos with github versions, still trying to understand how this all relates

Figured it out, I think you need to get rid of lua/joel/completions.lua as it is overriding the completions directory


MCS deprecation in constrained_conf_gen.py

src/python/pipelines/rdkit/constrained_conf_gen.py:21: DeprecationWarning: The rdkit.Chem.MCS module is deprecated; please use rdkit.Chem.rdFMCS instead.

Thanks Tim - will look into this!


About ViT-B pre-trained model for COD task

Hello, we recently want to compare our work with your excellent work.
Could you please give me a ViT-B pretrained model for COD task? Thank you very much

same question


Ctrl+Enter keyboard shortcut doesn't let you move to next challenge

About 3 weeks ago, the UI for Free Code Camp Waypoints allowed the user to press Ctrl+Enter to check the current waypoint, and move on to the next waypoint. Now, Ctrl+Enter only executes and checks code, you still have to use your mouse to move onto the next challenge. Allowing Ctrl+Enter to move to the next challenge greatly improves efficiency for the user.

*EDIT: using Chrome 45.0.2454.85

@stx146 thanks for posting this issue!
I'm closing this issue as a duplicate:
https://github.com/FreeCodeCamp/FreeCodeCamp/issues/2772
For more info see here.

Please review the Guidelines for Contributing, thank you!.


Stage ratings and .env.example

Ratings added:

Further changes:

label marker set to trip location
added .env.example in client/ and server/

you will also need to change usersSlice.js and API_URL.js since they are using the old env variables

@Graywing13 mentioned she is working on partial fill for teacups
Need to remove denominator information, think that having just 4.6 3.2 etc should be enough but let me know if others feel otherwise

@Graywing13 mentioned she is working on partial fill for teacups
Need to remove denominator information, think that having just 4.6 3.2 etc should be enough but let me know if others feel otherwise

removed dominator


CHIP iOS Framework should cache all attributes for reads/writes

Problem
Reads won't be able to hit a sleep device, because of this all reads should have to be cached.
Proposed Solution
• Create a cache that should be used for all reads
• Store this in a plist
• Update the cache based on reports

@woody-apple @jtung-apple What remains to be done here, now that we have MTRDevice?  I guess the "store in a plist" thing?

Yup, @jtung-apple can you break out the remaining work


Lesson 4 Issue: Transaction must not include unrecognized fields: {'chainID'}

I am stuck at lesson 4 with an error when trying to print signed_txn
I am getting the following error:
Traceback (most recent call last):
  File "/Users/vickydevika/demos/web3_py_simple_storage/deploy.py", line 55, in <module>
    signed_txn = w3.eth.account.sign_transaction(transaction, private_key=private_key)
  File "/Users/vickydevika/demos/web3_py_simple_storage/venv/lib/python3.10/site-packages/eth_utils/decorators.py", line 18, in _wrapper
    return self.method(obj, *args, **kwargs)
  File "/Users/vickydevika/demos/web3_py_simple_storage/venv/lib/python3.10/site-packages/eth_account/account.py", line 747, in sign_transaction
    ) = sign_transaction_dict(account._key_obj, sanitized_transaction)
  File "/Users/vickydevika/demos/web3_py_simple_storage/venv/lib/python3.10/site-packages/eth_account/_utils/signing.py", line 32, in sign_transaction_dict
    unsigned_transaction = serializable_unsigned_transaction_from_dict(transaction_dict)
  File "/Users/vickydevika/demos/web3_py_simple_storage/venv/lib/python3.10/site-packages/eth_account/_utils/legacy_transactions.py", line 44, in serializable_unsigned_transaction_from_dict
    assert_valid_fields(transaction_dict)
  File "/Users/vickydevika/demos/web3_py_simple_storage/venv/lib/python3.10/site-packages/eth_account/_utils/legacy_transactions.py", line 102, in assert_valid_fields
    raise TypeError("Transaction must not include unrecognized fields: %r" % superfluous_keys)
TypeError: Transaction must not include unrecognized fields: {'chainID'}

No problem whatsoever while printing transaction just before that.
Here's the full code from my deploy.py
from solcx import compile_standard, install_solc
import json
from web3 import Web3
import os
from dotenv import load_dotenv

load_dotenv()

install_solc("0.6.6")

with open("./SimpleStorage.sol", "r") as file:
    simple_storage_file = file.read()

compiled_sol = compile_standard(
    {
        "language": "Solidity",
        "sources": {"SimpleStorage.sol": {"content": simple_storage_file}},
        "settings": {
            "outputSelection": {
                "*": {"*": ["abi", "metadata", "evm.bytecode", "evm.sourceMap"]}
            }
        },
    },
    solc_version="0.6.6",
)
with open("compiled_code.json", "w") as file:
    json.dump(compiled_sol, file)

# get byte-code
bytecode = compiled_sol["contracts"]["SimpleStorage.sol"]["SimpleStorage"]["evm"][
    "bytecode"
]["object"]

# get abi
abi = compiled_sol["contracts"]["SimpleStorage.sol"]["SimpleStorage"]["abi"]

# for connecting
w3 = Web3(Web3.HTTPProvider("http://<IP_ADDRESS>:7545"))
chain_id = 5777
my_address = "0xfAf934067643BD0714bC329f95fa55482ff4b605"
private_key = os.getenv("PRIVATE_KEY")
SimpleStorage = w3.eth.contract(abi=abi, bytecode=bytecode)

# Get the latest transaction

nonce = w3.eth.getTransactionCount(my_address)

transaction = SimpleStorage.constructor().buildTransaction(
    {"chainID": chain_id, "from": my_address, "nonce": nonce}
)

signed_txn = w3.eth.account.sign_transaction(transaction, private_key=private_key)
print(signed_txn)
```
Any help greatly appreciated, I'm really stuck.

Also if I remove "chainID": chain_id from transaction, signed_txn prints properly. I'm a bit confused.

found the solution, I typed chainID instead of chainId.
Silly me

Also make sure to add gas price parameter like this:
transaction = SimpleStorage.constructor().buildTransaction(     {         "chainId": chain_id,         "gasPrice": w3.eth.gas_price,         "from": my_address,         "nonce": nonce,     }, )


[Quest/eCHIS] Remove animation effect on fab action

IMPORTANT: Where possible all PRs must be linked to a Github issue
Fixes #[issue number] or Closes #[issue number]
Engineer Checklist

[x] I have written Unit tests for any new feature(s) and edge cases for bug fixes
[ ] I have added any strings visible on UI components to the strings.xml file
[ ] I have updated the  CHANGELOG.md file for any notable changes to the codebase
[x] I have run ./gradlew spotlessApply and ./gradlew spotlessCheck to check my code follows the project's style guide
[x] I have built and run the FHIRCore app to verify my change fixes the issue and/or does not break the app
[x] I have checked that this PR does NOT introduce breaking changes that require an update to Content and/or Configs? If it does add a sample here or a link to exactly what changes need to be made to the content.

Code Reviewer Checklist

[ ] I have verified Unit tests have been written for any new feature(s) and edge cases
[ ] I have verified any strings visible on UI components are in the strings.xml file
[ ] I have verifed the CHANGELOG.md file has any notable changes to the codebase
[ ] I have verified the solution has been implemented in a configurable and generic way for reuseable components
[ ] I have built and run the FHIRCore app to verify the change fixes the issue and/or does not break the app

is there an issue this is related to?

Yes, issue 1418
On Fri, 30 Jun 2023, 17:32 Peter Lubell-Doughtie, @.***>
wrote:

is there an issue this is related to?
—
Reply to this email directly, view it on GitHub
https://github.com/opensrp/fhircore/pull/2513#issuecomment-1614742530,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A2M6LEYJUMCW4WQPAONTP6DXN3PQFANCNFSM6AAAAAAZZZG5HQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

Yes, issue 1418
…
On Fri, 30 Jun 2023, 17:32 Peter Lubell-Doughtie, @.> wrote: is there an issue this is related to? — Reply to this email directly, view it on GitHub <#2513 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/A2M6LEYJUMCW4WQPAONTP6DXN3PQFANCNFSM6AAAAAAZZZG5HQ . You are receiving this because you authored the thread.Message ID: @.>

ok great, thank you, in the future please remember to add the issue number to the description of the PR

Sure thanks will do so.
On Sat, 1 Jul 2023, 00:44 Peter Lubell-Doughtie, @.***>
wrote:

Yes, issue 1418
… <#m_-6881494415482068782_>
On Fri, 30 Jun 2023, 17:32 Peter Lubell-Doughtie, @.> wrote: is there
an issue this is related to? — Reply to this email directly, view it on
GitHub <#2513 (comment)
https://github.com/opensrp/fhircore/pull/2513#issuecomment-1614742530>,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A2M6LEYJUMCW4WQPAONTP6DXN3PQFANCNFSM6AAAAAAZZZG5HQ
https://github.com/notifications/unsubscribe-auth/A2M6LEYJUMCW4WQPAONTP6DXN3PQFANCNFSM6AAAAAAZZZG5HQ
. You are receiving this because you authored the thread.Message ID: @.>
ok great, thank you, in the future please remember to add the issue number
to the description of the PR
—
Reply to this email directly, view it on GitHub
https://github.com/opensrp/fhircore/pull/2513#issuecomment-1615221721,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A2M6LE3O3GNLOABFCAPHSY3XN5CE3ANCNFSM6AAAAAAZZZG5HQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

@Maryann-Mweru-Wambui-Programmer please fix the build by fixing the failing tests on Quest


[test][stdlib] Define stdio stubs for OpenBSD.

These are macros on OpenBSD, which don't get imported to an equivalent
symbol in Swift.

@swift-ci smoke test

⛵


[RFC][GOLANG] TVM runtime for golang v0.1

Here briefing the golang interface design aspects.
Few golang concepts

Usage of packages C and unsafe golang packages to go across golang boundary while accessing functions, types and pointer ..etc.
Slices: Usage if golang slice where ever is possible to simplify application programming. Example being use slice of string instead of argument pair containing argc, argv

Please refer to golang tutorials for details of cgo, unsafe, slices ..etc.
Objective

Initial version is expected to cover basic inference API listed below.
Similar to many programming languages a package which can be imported and used is the best option here too.
Hence the objective of this effort is a golang package gotvm which is wrapped over TVM c_runtime_api.

API
This initial version expected to cover the below API
Colons can be used to align columns.

API
TVM Args
Golang Args
Remarks

TVMFuncListGlobalNames
(int* out_size, const char*** out_array)
(names *[]string)
Use slice instead of (array, count) pair

TVMFuncGetGlobal

No changes

TVMModLoadFromFile

No Changes

TVMArrayAlloc
(const tvm_index_t* shape, int ndim, int dtype_code, int dtype_bits, int dtype_lanes, int device_type, int device_id, TVMArrayHandle* out)
(shape []int64, dtype string, ctx TVMContext, pTvmArray *TVMArray)
TODO: ndim: can be ignored as shape is a slice. dtype_xxx: To be simplified as dtype - similar to python device_xxx: To be simplified as ctx

TVMArrayFree

No changes

TVMFuncCall
(TVMFunctionHandle func, TVMValue* arg_values, int* type_codes, int num_args, TVMValue* ret_val, int* ret_type_code)
(funp TVMFunction, argValues []TVMValue, typeCodes []int32,                 retValues []TVMValue, retTypeCode *int32)
num_args ignored as arg_values is a slice.

TVMFuncFree

No changes

TVMGetLastError

No changes

TVMModFree

No Changes

TVMModGetFunction

No Changes

Additionally I have added below function to simplify group of API.

API
Arguments
Remarks

TVMFunctionExec
(module TVMModule, funcname string, args .....) (TVMValue, tvm_type, error)
This is a variadic API to call any function on given module with args. args here are of any type which can be embed into TVMValue. Returns a tuple with ret_value, ret_type and error

Sample Code

/*!
 *  Copyright (c) 2018 by Contributors
 * \brief Sample golang application deployment over tvm.
 * \file simple.go
 */
package main

import (
    "fmt"
    "unsafe"
    "gotvm"
)

// NNVM compiled model paths.
const (
    modLib    = "./deploy.so"
)

func main() {

    // Import tvm module (dso)
    var modp gotvm.TVMModule

    if gotvm.TVMModLoadFromFile(modLib, "so", &modp) != 0 {
        fmt.Printf("%v", gotvm.TVMGetLastError())
        return
    }
    defer gotvm.TVMModFree(modp)

    // TVMArray allocation attributes
    tshape  := []int64{4}
    ctx := TVMContext{1, 0}

    // Allocate input TVMArray : inX
    var inX gotvm.TVMArray

    if gotvm.TVMArrayAlloc(tshape, "float32", ctx, &inX) != 0 {
        fmt.Printf("%v", gotvm.TVMGetLastError())
        return
    }
    defer gotvm.TVMArrayFree(inX)

    // Allocate input TVMArray : inY
    var inY gotvm.TVMArray

    if gotvm.TVMArrayAlloc(tshape, 'float32', ctx, &inY) != 0 {
        fmt.Printf("%v", gotvm.TVMGetLastError())
        return
    }
    defer gotvm.TVMArrayFree(inY)

    // Allocate output TVMArray : out
    var out gotvm.TVMArray

    if gotvm.TVMArrayAlloc(tshape, 'float32', ctx, &out) != 0 {
        fmt.Printf("%v", gotvm.TVMGetLastError())
        return
    }
    defer gotvm.TVMArrayFree(out)

    // Fill Input Data : inX , inY
    // We use unsafe package to access underlying array to any type.
    inXSlice := (*[1<<15] float32)(unsafe.Pointer(inX.GetData()))[:4:4]
    inYSlice := (*[1<<15] float32)(unsafe.Pointer(inY.GetData()))[:4:4]

    for ii := 0; ii < 4 ; ii++ {
        inXSlice[ii] = float32(ii)
        inYSlice[ii] = float32(ii+5)
    }

    // Call module function myadd
    _, _, tvmerr := gotvm.TVMFunctionExec(modp, "myadd", inX, inY, out)
    if tvmerr != nil {
        fmt.Print(tvmerr)
        return
    }

    fmt.Printf("Module function myadd executed\n")

    // We use unsafe package to access underlying array to any type.
    outSlice := (*[1<<15] float32)(unsafe.Pointer(out.GetData()))[:4:4]
    fmt.Printf("Result:%v\n", outSlice)
}

@dmlc/tvm-team welcome to comment on this info.
Please refer to #1470 to have a look at initial effort.

I hope we can have a healthy discussion on what high-level API that goes beyond C FFI style API can be provided. Specifically, if we look at tvm runtime API of java, js, python, we have specific object class for Module, Array, and Function which automatically manages their lifecycle and when necessary overloads the ops. I know little about go but from what I learnt, this should be possible

Some things I think that are related,

Use variadic interface to implement function invocation, it seems to be possible to implement a dynamically dispatched variadic function via ``` func function_name(a ...interface{})

  - see https://blog.learngoprogramming.com/golang-variadic-funcs-how-to-patterns

Point2: ideally we want to remove Free functions, and always use Finalizer to trigger the free of the objects https://golang.org/pkg/runtime/#SetFinalizer

Point3: from user's point of view, we may not need to have a TVMFunction object at all, the handle can be captured, but module.GetFunction can directly return a closure with signature:
func function_name(a ...interface{})

This way the function returned by module.GetFunction can be directly invoked as a function

Please update the examples accordingly, once we have a clear interface proposal, we can proceed on implementation again

Updated the interface and example code above.
This version is based on

variadic args for variable parameters
Finalizers for automatic garbage collection
Interfaces to send and receive arbitrary datatypes

The PR #1470 also updated accordingly for review.

Three things:

Try to (hide) the C APIs and remove them from API list
Use return value style

mod = gotvm.LoadModuleFromFile("xx.dso");

Please check if there is a common convention of code style guide and have a consistent code style for function naming etc.

@tqchen  Sorry, I forgot to submit the edited sample code and final API interface above :)
Have a look now.

Only above listed API and Types are exposed on golang side.
Yes, used return value style as ret, err. Optional second return value is golang style of reporting error. Here I am returning TVMGetLastErr as golang error object.
Golang goes with CamelCase and PascalCase based on exported and un exported types.

TVMType might not be necessary, most cases people are good with strings e.g. "float32"
Need to pass in TVMContext in array creation instead of flag
GetData is dangerous as it only works on CPU, instead, do copy API(backed by copy(from/to)bytes

Checkout js api and java api https://docs.tvm.ai/jsdoc/tvm.NDArray.html
AsArray
CopyFrom

maybe @yzhliu can also chime in to comment on api design

Addressed above changes.

Strings instead of TVMType
TVMContext exposed to user
Copy API's used instead of direct access to TVMArray data.

@srkreddy1238 can you please also update the sample code on the first post?

Updated the sample code.

Some of the suggestions to make it more consistent with existing APIs in other languages(js, java)

If there is concept of namespace(gotvm), we can consider remove TVM prefix, i.e. TVMContext -> Context
ModLoadFromFile -> LoadModuleFromFile
EmptyArray -> Empty
SetData-> CopyFrom(slice)
GetData -> AsSlice

Let us add gotvm.CPU(0) and gotvm.GPU(0) as helper constructors.  The example now looks good to me.

We still need to flesh out the details of the PackedFunc system, specifically

Please also add simple packed function example that handles return values(so we can see the usage of TVMValue)
We need to handle passing go callbacks as PackedFuncs(see other language APIs)

Please create a simple example to demonstrate cases in https://github.com/dmlc/tvm/blob/master/tests/web/test_packed_func.js

Ref below from complex.go example
    // Call function
    graphrt, err := funp(jsonStr, modp, (int64)(gotvm.KDLCPU), (int64)(0))
    if err != nil {
        fmt.Print(err)
        return
    }

    graphmod := graphrt.(*gotvm.TVMModule)

    fmt.Printf("Graph runtime Created\n")

Packed Function return is handled and it return an interface holding the value based on the ret_type_code from TVM runtime.

I will work on amending the target helpers and go callbacks.

according to java's wrapping, we can introduce TVMValue object as an intermediate variant type, and the call will look like
graphrt, err:= ..
graphmod = graphrt.AsModule()

Sure, I will refer java wrappers and add them in golang too.

Please update the examples once you have an updated API and I will check again

Updated API interface above with wrappers on TVMValue and TVMContext wrappers API.
Please find below complex example which use these wrappers.
/*!
 *  Copyright (c) 2018 by Contributors
 * \brief Sample golang application deployment over tvm.
 * \file complex.go
 */

package main

import (
    "fmt"
    "io/ioutil"
    "math/rand"
    "./gotvm"
    "runtime"
)

// NNVM compiled model paths.
const (
    modLib    = "./mobilenet.so"
    modJSON   = "./mobilenet.json"
    modParams = "./mobilenet.params"
)

// main
func main() {
    defer runtime.GC()
    // Welcome
    fmt.Printf("TVM Go Interface : v%v\n", gotvm.GoTVMVersion)
    fmt.Printf("TVM Version   : v%v\n", gotvm.TVMVersion)
    fmt.Printf("DLPACK Version: v%v\n\n", gotvm.DLPackVersion)

    // Query global functions available
    funcNames, err := gotvm.FuncListGlobalNames()
    if err != nil {
        fmt.Print(err)
        return
    }

    fmt.Printf("Global Functions:%v\n", funcNames)

    // Import tvm module (so)
    modp, err := gotvm.LoadModuleFromFile(modLib)
    if err != nil {
        fmt.Print(err)
        fmt.Printf("Please copy tvm compiled modules here and update the sample.go accordingly.\n")
        fmt.Printf("You may need to update modLib, modJSON, modParams, tshapeIn, tshapeOut\n")
        return
    }
    fmt.Printf("Module Imported:%p\n", modp)

    bytes, err := ioutil.ReadFile(modJSON)
    if err != nil {
        fmt.Print(err)
        return
    }
    jsonStr := string(bytes)

    // Load module on tvm runtime - call tvm.graph_runtime.create
    funp, err := gotvm.GetGlobalFunction("tvm.graph_runtime.create")
    if err != nil {
        fmt.Print(err)
        return
    }

    // Call function
    graphrt, err := funp(jsonStr, modp, (int64)(gotvm.KDLCPU), (int64)(0))
    if err != nil {
        fmt.Print(err)
        return
    }

    graphmod := graphrt.AsModule()

    fmt.Printf("Graph runtime Created\n")

    // TVMArray allocation attributes
    tshapeIn  := []int64{1, 224, 224, 3}
    tshapeOut := []int64{1, 1001}

    // Allocate input TVMArray
    inX, err := gotvm.Empty(tshapeIn, "float32", gotvm.CPU(0))
    if err != nil {
        fmt.Print(err)
        return
    }

    // Allocate output TVMArray
    out, err := gotvm.Empty(tshapeOut)
    if err != nil {
        fmt.Print(err)
        return
    }
    fmt.Printf("Input and Output TVMArrays allocated\n")

    // Get module function from graph runtime : load_params
    // Read params
    bytes, err = ioutil.ReadFile(modParams)
    if err != nil {
        fmt.Print(err)
    }
    paramsByteArray := gotvm.NewTVMByteArray(bytes)

    // Load Params
    funp, err = graphmod.GetFunction("load_params")
    if err != nil {
        fmt.Print(err)
        return
    }

    fmt.Printf("Func load_params:%p\n", funp)

    // Call function
    _, err = funp(paramsByteArray)
    if err != nil {
        fmt.Print(err)
        return
    }

    fmt.Printf("Module params loaded\n")

    // Set some data in input TVMArray
    inSlice := make([]float32, (244 * 244 * 3))

    rand.Seed(10)
    rand.Shuffle(len(inSlice), func(i, j int) {inSlice[i],
                                               inSlice[j] = rand.Float32(),
                                               rand.Float32() })

    inX.CopyFrom(inSlice)

    // Set Input
    funp, err = graphmod.GetFunction("set_input")
    if err != nil {
        fmt.Print(err)
        return
    }

    // Call function
    _, err = funp("input", inX)
    if err != nil {
        fmt.Print(err)
        return
    }

    fmt.Printf("Module input is set\n")

    // Run
    funp, err = graphmod.GetFunction("run")
    if err != nil {
        fmt.Print(err)
        return
    }

    // Call function
    _, err = funp()
    if err != nil {
        fmt.Print(err)
        return
    }

    fmt.Printf("Module Executed \n")

    // Call runtime function get_output
    funp, err = graphmod.GetFunction("get_output")
    if err != nil {
        fmt.Print(err)
        return
    }

    // Call function
    _, err = funp(int64(0), out)
    if err != nil {
        fmt.Print(err)
        return
    }
    fmt.Printf("Got Module Output \n")

    // Print results
    outIntf, _ := out.AsSlice()
    outSlice := outIntf.([]float32)
    fmt.Printf("Result:%v\n", outSlice[:10])
}

The API looks good, please also include examples for how can we use callbacks

@tqchen
One situation while designing function callbacks for discussion.
The function closure is defined as func (args ...interface{}) (*Value, error) which takes golang types as variadic args and packs them as TVMValue array internally. The return value is TVMValue and AsXXX wrappers are provided to access the underlying values.
I am looking at function callbacks definition as func (args ...interface{}) (interface{}) which takes variadic args and returns an interface.
The signature should be same for both cases.
Reason behind proposing interface{} instead of TVMValue is user don't' need to explicitly embed  golang types into TVMValue with wrappers.
Samples:
    // Call function
    graphrt, err := funp(jsonStr, modp, (int64)(gotvm.KDLCPU), (int64)(0))
    if err != nil {
        fmt.Print(err)
        return
    }

    graphmod := graphrt.(*gotvm.TVMModule)

else user need to handle embedding jsonStr, modp ..etc. into TVMValue with functions.
Please advice.

OK, I think it is fine to use the interface if go users are familiar with that.
One second thought on the callbacks, we do need a way to convert functions into handles and pass PackedFunc handle back when there is a function argument. We can do it either by attaching a field to the closure(if go permit that, as in https://github.com/dmlc/tvm/blob/master/web/tvm_runtime.js#L466), or we do need a customized Function struct, and use a special method Call to call the function

@tqchen
Here is the final sample with packed function system support for golang.
Please comment on the //TODO below to finalize.
/*!
 *  Copyright (c) 2018 by Contributors
 * \brief Sample golang application to demonstrate function callbacks in go
 * \file funccb.go
 */

package main

import (
    "fmt"
    "runtime"
    "./gotvm"
    "strings"
)

// sampleCb is a simple golang callback function like C = A + B.
func sampleCb(args ...interface{}) (retVal interface{}, err error) {
    for i, v := range args {
        fmt.Printf("ARGS:%T: %v --- %T : %v\n",i, i, v, v)
    }

    val1 := args[0].(int64)
    val2 := args[1].(int64)

    retVal = int64(val1+val2)

    return
}

// sampleErrorCb is a callback function which returns a golang error.
func sampleErrorCb(args ...interface{}) (retVal interface{}, err error) {

    err = fmt.Errorf("Callback function returns an error\n")

    return
}

// sampleFunctionCb returns a function closure which is embed as packed function in TVMValue.
func sampleFunctionCb(args ...interface{}) (retVal interface{}, err error) {
    funccall := func (cargs ...interface{}) (interface{}, error) {
        return sampleCb(cargs...)
    }

    retVal = funccall

    return
}

// main
func main() {
    // Welcome
    defer runtime.GC()
    fmt.Printf("TVM Go Interface : v%v\n", gotvm.GoTVMVersion)
    fmt.Printf("TVM Version   : v%v\n", gotvm.TVMVersion)
    fmt.Printf("DLPACK Version: v%v\n\n", gotvm.DLPackVersion)

    // Verify callback function by direct call.
    fmt.Printf("\n\n ------ Direct call Test ------ \n")
    retVal, err := sampleCb(int64(10), int64(20))
    fmt.Printf("simpleCb: %v\n", retVal)

    _, err = sampleErrorCb()
    if err == nil {
        fmt.Printf("Expected err but not received\n")
        return
    }

    retVal, err = sampleFunctionCb(int64(15), int64(25))
    fmt.Printf("sampleFunctionCb:%v", retVal)

    fmt.Printf("\n\n ------ Register Function With TVM ------ \n")
    // Register sampleCb with TVM packed function system and call and check Global Function List.
    gotvm.RegisterFunction(sampleCb, "sampleCb");

    // Query global functions available
    funcNames, err := gotvm.FuncListGlobalNames()
    if err != nil {
        fmt.Print(err)
        return
    }

    found := 0
    for ii := range (funcNames) {
        if strings.Compare(funcNames[ii], "sampleCb") == 0 {
            found = 1
        }
    }

    if found == 0 {
        fmt.Printf("Function registerd but, not listed\n")
        return
    }

    // Get "sampleCb" and verify the call.
    funp, err := gotvm.GetGlobalFunction("sampleCb")
    if err != nil {
        fmt.Print(err)
        return
    }

    //TODO: funp here is a function closure.
    //      Do we convert this to Function handle to keep it common across.
    //      New method Invoke can be used to call.

    // Call function
    result, err := funp((int64)(10), (int64)(20))
    if err != nil {
        fmt.Print(err)
        return
    }

    fmt.Printf("sampleCb result: %v\n", result.AsInt64())
    //TODO: Do we still need AsXXX wrappers?
    //      As packed function is defined to return interface{} instead.

    fmt.Printf("\n\n ------ Convert Function With TVM ------ \n")
    // Simple convert to a packed function
    fhandle, err := gotvm.ConvertFunction(sampleErrorCb)
    retVal, err = fhandle.Invoke()

    if err == nil {
        fmt.Printf("Expected err but not received via packed function\n")
    }

    fmt.Printf("Error received as expected as :###%v###\n ", err.Error())

    fmt.Printf("\n\n ------ Function Closure Return Type With TVM ------ \n")
    // Check function closure through packed function system.

    // Not passing a function name implicitely
    // picks the name from reflection as "main.sampleDunctionCb"
    gotvm.RegisterFunction(sampleFunctionCb);

    funp, err = gotvm.GetGlobalFunction("main.sampleFunctionCb")
    if err != nil {
        fmt.Print(err)
        return
    }

    // Call function
    result, err = funp()
    if err != nil {
        fmt.Print(err)
        return
    }

    pfunc := result.AsFunction()
    pfuncRet, err := pfunc.Invoke((int64)(30), (int64)(40))
    fmt.Printf("sampleFunctionCb result:%v\n", pfuncRet.AsInt64())
}

Let us keeps the PackedFunc(Function) interface consistent, i.e. GetGlobalFunction should also return PackedFunc, as they can be passed as arguments
For the same reason, let us either always enforce PackedFunc to return Value or always return the interface, both are fine, but we need to be consistent.
Please provide examples that involve closure when Function

PackedFunc(Function) is passed as argument of a function
go-closure is passed as argument of a function(get automatically converted to PackedFunc)
go-closure is returned by a PackedFunc callback

One possible problem of the current callback interface is that the value types seem to be pretty strict, for example, we do pfunc.Invoke((int64)(0)), but ideally, we want to support  pfunc.Invoke(0).
One option is to Value as a signature for the implementation of callback could be helpful. So callback's signature takes in Value and call AsXXX during to get the argument and construct Value during return.
The invoke expose the signature (args ...interface{}) Value,  and we allow user to directly pass in int/closure/Value/float/Array etc and do the automated conversion to Value under the hood

To summarize the TODO

GetGlobalFunction should return TVMFunction (Packed Function) which will be called via Invoke method to be consistent across.

Packed function signature would be (args ...interface{}) (interface{}) which can take or return native golang types (like int/float/ ..etc) as well as TVM Types (TVMValue/TVMArray ...etc) which will be converted to TVMValue under the hood before giving it to TVM runtime packed function system.

sampleFunctionCb in above example demonstrate go-closure turning into PackedFunc under the hood automatically. I will add more samples for the same.

pfunc.Invoke((int64)(0)) strict tying may not be necessary as we can handle this while wrapping them into TVMValue.

One thing to keep in mind is that in the cases where interface{} is used, we also need to support Value as a argument/return

Yes, Value is handled.
Also covering []Value which is possible when a callback function calling another callback function with  slice of it's own arguments.


Question about adding a feature (from a python dev)

Hello there, I'm a beginner developer with interest in permaculture and open source movements and I have thought about adding a few features to the web-app:

when picking the next plant, drop-down list sorts all shown plants by how allopathic(symbiotic/friendly) they are to the ones already selected (from best companion plants to outright enemies that would struggle to share the same soil together).
the algorithm that automatically finds spots for selected seeds utilizing the most space while putting good companion plants close together.
a function that combines the previous two - automatic configuration finder for "making the most money out of the land" (potentially based on location - would plant kale everywhere if you're in a big city where it's profitable), "getting the most variety", "variety of spicy veggies", "variety of most nutritionally dense heirlooms", etc.
a finder for the cheapest/most local/best quality organic seeds that could order the ones from your garden configuration?

I thought of all these both because they seem to be useful and because they seem to be perfect intermediate programmer exercises. It seems like the web app is developed with ruby and typescript (am I right?), but I'm currently studying python as my first and only language for now. And so I'm wondering about the best resolution:

Should I just lay this off until I'm good with ruby and typescript or are you aware of any simple way for a python program to interact with existing web-app?
Even if I have all the API I need, are you even considering adding pieces of python?
I heard wrappers could be a good solution, is there anyone with experience?
Please point me in the right direction so I can make this a reality.
Sorry if the answer seems obvious, I'm not very experienced.

Also, I've read that farmbot software operates under MIT license, but it's not clear to me whether that means one can operate the same business setting farmbots up like founders do in California headquarters. If yes, is there a paper/post on how you did your research regarding where to manufacture all the parts? I live in Ukraine and I'm guessing it can be in the Chinese price-range.
Again, sorry if I missed the obvious answers.
Feel free to reply here or at<EMAIL_ADDRESS>Have a fabulous sweet day!

adding a few features to the web-app

These are all great feature ideas, and some of them are planned for future releases. You may want to take a look at OpenFarm (Github) if you have not done so already- it is a related project that shares many of these ambitions. The project is currently without a lead maintainer so things are moving a bit slower than they have in the past. Many of the ideas you suggest are already on the road map. If you have ever used FarmBot's farm designer tool you have already used OpenFarm- OpenFarm powers the plant search API of our web app.

are you aware of any simple way for a python program to interact with existing web-app?

Yes, you can write a wrapper library in Python. This is a great way to create features outside of the FarmBot codebase. You can add almost any feature you want this way, since your library would live outside of the FarmBot repository.
Here's the course of action I would recommend:

Read the FarmBot Developer Documentation. The document was intended to be read from start-to-finish (rather than as a reference guide). As the author of the documentation, I would be happy to answer any questions you have. The forum is a good place for general discussion and I check messages there almost every day.
Once you have an understanding of FarmBot's architecture, you can interact with the application (and device) via the REST API and message broker.

We've made some examples of this in the past:

Controlling FarmBot remotely via Javascript
Controlling FarmBot remotely via Python

are you even considering adding pieces of python?

Python would add new dependencies to the project and reduce consistency. I cannot accept pull requests written in Python. I would instead encourage you to learn Ruby and Typescript. They are both excellent programming languages.

I've read that farmbot software operates under MIT license, but it's not clear to me whether that means one can operate the same business setting farmbots up like founders do in California headquarters.

The MIT license is a "permissive license", so it puts very few restrictions on what you can do with the software. Many people use FarmBot for commercial purposes. You can read more about software freedom here.
Please note that our marketing material (logos, photos, blog posts, etc..) are not open source and although they can be shared and used by individuals, they cannot be used for commercial use. This is covered in our meta documentation under the "Maintaining Integrity" section.

If yes, is there a paper/post on how you did your research regarding where to manufacture all the parts?

Not at this time.


Idle Animation Component

Activates after a minimum period of Character inactivity (No Input or Movement). Idle animations are cancelled immediately if any other animation begins, Movement or Input is received.

v1 Implemented


Generate ids for Registry tables

Closes: https://github.com/metarhia/metasql/issues/169

[x] tests and linter show no problems (npm t)
[x] tests are added/updated for bug fixes and new features
[x] code is properly formatted (npm run fmt)
[x] description of changes is added in CHANGELOG.md
[x] update .d.ts typings

Landed in https://github.com/metarhia/metasql/commit/9c94f2b6cd46866d3ea3dc775c379bb8535dc762, https://github.com/metarhia/metasql/commit/494b1132029dc0d181184dc77cc6b7fe442973aa, and https://github.com/metarhia/metasql/commit/0aae8c1ae54d659b33945511e0616968bd126548


Can I please join the organization

I want to help make win93 apps and stuff

@MrPigeontheCoder let me know if you want to join @win93-community

I do want to join. I have quite a bit of knowledge about win93 and the syntax and some javascript.

@MrPigeontheCoder awesome! I'll send you an invitation

@MrPigeontheCoder awesome! I'll send you an invitation

That's odd. You sent me an invite to a different organisation... BUT! I'll accept it because it's somewhat more active

@MrPigeontheCoder awesome! I'll send you an invitation

That's odd. You sent me an invite to a different organisation... BUT! I'll accept it because it's somewhat more active

Yes! That is what i meant. The new org is more active than this one

@MrPigeontheCoder awesome! I'll send you an invitation

That's odd. You sent me an invite to a different organisation... BUT! I'll accept it because it's somewhat more active

Yes! That is what i meant. The new org is more active than this one

Ok, thanks! It's currently night-time for me, so I'll get working on win93 stuff tomorrow in the afternoon...

Ah ok, no worries!

stale

stale


Rename and merge the blueprint-sortinghat command

A blueprint is currently a pretty monolithic thing, only really controllable via the blueprintignore file.  This new tool provides a user-directed method of splitting one blueprint into two, perhaps a base and a customization.

It may go without saying, but this command has to be renamed before it actually gets merged.

Don't forget, this needs a manual page.

Matt and I discussed adding a blueprint-prune command that's the same as blueprint-split in every way except for the choice given to the user:
In blueprint-split the choice is between one blueprint and another.
In blueprint-prune the choice is between keeping a resource or not.

A practical note in favor of blueprint-prune over a two-argument form of blueprint-split: Python's optparse module makes it difficult to use any sort of placeholder for either dest-a or dest-b.


ghost text isn't filtered out by getTextContent()

Some PDFs have ghost (transparent, or white on white ?) text that needs to be filtered out, for example on page 5 of the following:
http://www.sta.be.ch/sta/fr/index/staatskanzlei/staatskanzlei/downloads_publikationen/amtsblatt.assetref/dam/documents/STA/Amtsblatt/fr/2018/FOJB_15-2018.pdf
If you search in this PDF for saf@hep- you will find this invisible text located behind other (normal) text.
Hence the result of getTextContent() has become unreliable with visible and invisible texts mangled together.
There is currently no parameter for getTextContent() that would let it filter out this invisible text.
But I would be happy to contribute if I can understand what in the text's state makes it invisible ?
I have already hacked pdf.worker.js to track fillColor changes, but even this invisible text exhibits a black color ([0, 0, 0]) so this ain't the reason.

This is a bug in the PDF file itself, rather than in the PDF.js library and as such it cannot be fixed.[1] Please note that the same behaviour can be observed in other PDF viewers as well, see e.g. Adobe Reader and PDFium (in Google Chrome).

[1] Furthermore, even attempting to fix this could very easily risk breaking text-selection/searching in PDF files that contain images and purposely "invisible" OCR text.


(T4) Shielded transfers with Concordium Client over a longer period

confirmed:T4
address:4RURkcg5tWhHMi4BDa8L7HV28KYxMZD6ysTRTntjNnjNMeFwWg

confirmed:T4
address:4RURkcg5tWhHMi4BDa8L7HV28KYxMZD6ysTRTntjNnjNMeFwWg


consistent README.md naming

In home README.md, links to child projects were failing for inconsistent README.md

Thanks!  Fixed.


Don't show author of project owner

Is your feature request related to a problem? Please describe.
The author should/could only be shown if the author is not the owner of the repo
Describe the solution you'd like
Remove attribution for project / repo owners.
Describe alternatives you've considered
An extra parameter perhaps?
Additional context
See below for example of @ludeeus thanking @ludeeus :smile:

:(

https://github.com/ludeeus/reporeleaser/commit/ca5befe9517f4e4ca260d0ad158e55a9e7787562
I worked, I just forgot to run the updated code when testing :P


Config flow not available

Fresh install of the HACS integration and I am getting the following error when trying to add the integration:

I am currently running:
Home Assistant 2022.8.7
This does not seem to be generating any log errors around this problem.

Did you try restarting Home Assistant before adding the Mila integration?

It looks like removing and re-adding the integration fixed it. Not sure what was up with it.