Can not consume UMD file bundled by rollup

I'v got a UMD file bundled by rollup:
(function (global, factory) {
	typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
	typeof define === 'function' && define.amd ? define('leancloud-realtime', ['exports'], factory) :
	(factory((global.AV = global.AV || {})));
}(this, (function (exports) {
        var Realtime = 1;
	exports.Realtime = Realtime;
	Object.defineProperty(exports, '__esModule', { value: true });
})));

when trying to consume it with rollup-plugin-commonjs, an Error was thrown: 'Realtime' is not exported by umd.js.
To reproduce, clone https://github.com/leeyeh/rollup-plugin-commonjs-issue-umd and run npm run build.

You'll need to use the namedExports option. Recent versions of Rollup will print the following message:

'Realtime' is not exported by umd.js (imported by index.js). For help fixing this error see https://github.com/rollup/rollup/wiki/Troubleshooting#name-is-not-exported-by-module

import commonjs from 'rollup-plugin-commonjs';

export default {
    entry: 'index.js',
    plugins: [commonjs({
        include: ['umd.js'],
+        namedExports: {
+            'umd.js': [ 'Realtime' ]
+        }
    })],
    dest: 'bundle.js',
    format: 'cjs',
};

namedExports works of course, but it's not what I'm looking for.
I have a SDK to be consumed by other developers. It uses rollup with target format in umd. Recently it has been reported that it can not be imported in Ionic2, which uses rollup as the bundler as well.
So my question is, as a SDK provider, how to bundle a file so it can be consumed by rollup-plugin-commonjs?

Also named exports doesn't always work either.

Hi! I'm facing the exact same problem @leeyeh described.
I'm developing an Angular 2 library which is provided via UMD files that are built with Rollup itself.
But for a reason I don't know it is not possible to bundle these UMD files with Rollup for production.
Error: 'DynamicFormsCoreModule' is not exported by<EMAIL_ADDRESS>https://github.com/rollup/rollup/wiki/Troubleshooting#name-is-not-exported-by-module
example/app/app.module.js (12:9)
10: import { ReactiveFormsModule, NG_VALIDATORS } from "@angular/forms";
11: import { MaterialModule } from "@angular/material";
12: import { DynamicFormsCoreModule } from "@ng2-dynamic-forms/core";
             ^
13: import { DynamicFormsBasicUIModule } from "@ng2-dynamic-forms/ui-basic";
14: import { DynamicFormsBootstrapUIModule } from "@ng2-dynamic-forms/ui-bootstrap";

I've now spend two days on this and I cannot get my head around it because whenever I check my UMD files they actually do export everything:
exports.DynamicFormsCoreModule = DynamicFormsCoreModule_1 = (function () {
    function DynamicFormsCoreModule() {
    }
    DynamicFormsCoreModule.forRoot = function () {
        return {
            ngModule: DynamicFormsCoreModule_1,
            providers: [
                exports.DynamicFormService,
                DynamicFormAutoFillService,
                exports.DynamicFormRelationService
            ]
        };
    };
    return DynamicFormsCoreModule;
}());
exports.DynamicFormsCoreModule = DynamicFormsCoreModule_1 = __decorate$20([
    _angular_core.NgModule({
        imports: [_angular_common.CommonModule, _angular_forms.ReactiveFormsModule],
        declarations: [exports.DynamicIdDirective, exports.DynamicTemplateDirective],
        exports: [exports.DynamicIdDirective, exports.DynamicTemplateDirective]
    })
], exports.DynamicFormsCoreModule);

What's even more weird is that I'm using the identical gulp task that Angular 2 Material does for building my UMD files. However for the @angular/material UMD bundle no exception is ever thrown.
I really like Rollup. It's a great tool!
But for the moment I have to advise all users of my library to switch to Webpack 2 instead because it bundles the UMD files like a charm.
@Rich-Harris Could you please help? Thanks very much!

namedExports does not seem to work for me. I am using monorepo and packages with scopes. I get errors like this:
'DemoProvider' is not exported by ../demo-package/umd/demo-package.min.js

and my commonjs plugin has the following:
commonjs({
      include: /node_modules/,
      namedExports: {
        '../demo-package/umd/demo-package.min.js': ['DemoProvider']
      }
    })

and I tried this on a number of packages that I have, non of them work.
When I switch to use regular commonjs (so not umd), I am getting:
'DemoProvider' is not exported by ../demo-package/lib/index.js

Maybe the problem is hoisting and yarn workspaces? Or using scoped packages is a problem?
We do not depend heavily on that feature and we discovered it only when testing our umd bundles. All our packages have pkg.module and it works well with rollup, but it feels a bit wrong that we also produce umd bundles (with rollup) and rollup will not be able to consume them...

Duplicate of #159.

@marcinczenko Thank you for your detailed analysis. I'm still running into this a year and a half later (unbelievable!) and was able to get around the issue of "Error: default is not exported by..." thanks to your findings. 😄This should be way more intuitive than it is.


Use  for table captions instead of

Bug/issue #, if applicable: 30234820
Summary
Use
 for tables instead of
.
Tables with captions will no longer be embedded in a
 with a
. Instead, the
 will simply have a
 as its first element when needed.
For table captions, the position of the caption must be done in CSS since the
 is always required to be the first element of the
 and cannot be moved to the end like they can with figure captions.
Testing
Steps:

Find a page with a captioned table
Verify that the DOM structure now looks like

 instead of

Verify that there are no visual regressions with figures, captions, or tables

Checklist
Make sure you check off the following items. If they cannot be completed, provide a reason.

[X] Added tests
[X] Ran npm test, and it succeeded
[X] Updated documentation if necessary

@swift-ci test


Refresh: dependencies, Poetry, workflows, and cleanup

[x] Switch to Poetry
[x] Add new GH actions for linting and tests
[x] Replace downloader with kghub-downloader
[x] Repair tests
[ ] Update anything broken due to new dependencies
[x] Linting
[x] Update Jenkinsfile
[x] Mypy fixes

Replacing sources with compressed versions where possible.


As a dev, I'd like to turn FollowingId and FollowerId into ForeignKeys to ensure database integrity.

Made a foreign relation between follows and user. But still not sure if it's done. People are welcome to look at it, in branch: foreignkeyOnthefollowtable
Will finish tomorrow

This is not need for the work it requires, so changing it back to table that only have ids


pouch should support seccomp by default

As docker has already use seccomp as default configuration. pouch should support that, it
can enhance security significantly

@KnoooW , sorry but pouch won't make it default (more reasons cause ourself's usecase), followed by https://github.com/alibaba/pouch/blob/master/INSTALLATION.md#build-tags if you want this.
make BUILDTAGS='seccomp'

Thanks for your feedback.
oh, let us wait a minute. I think we could make it support seccomp in the released package. Then end users could experience this feature in the next release. @KnoooW @Ace-Tang
So, please support this in when we make the next release. @fuweid

This make sense for me.

the attack difficulty:
(1) without seccomp: 50
(2) with seccomp: 98

@KnoooW I have released new version 1.1.0 with seccomp. Please check it by deb or rpm package. Thanks
vagrant@ubuntu-xenial:~$ sudo pouch info | grep Security
Security Options:  [seccomp]
vagrant@ubuntu-xenial:~$ sudo pouch version
Os:              linux
Version:         1.1.0
APIVersion:      1.24
Arch:            amd64
BuildTime:       2018-12-24T08:22:16+00:00
GitCommit:       1.1.0
GoVersion:       go1.10.4
KernelVersion:   4.4.0-141-generic

[vagrant@localhost ~]$ sudo /usr/local/bin/pouch info | grep Secur
Security Options:  [seccomp selinux]
[vagrant@localhost ~]$ sudo /usr/local/bin/pouch version
Os:              linux
Version:         1.1.0
APIVersion:      1.24
Arch:            amd64
BuildTime:       2018-12-24T10:07:01+00:00
GitCommit:       1.1.0
GoVersion:       go1.10.4
KernelVersion:   3.10.0-862.2.3.el7.x86_64

@KnoooW any update here?

@KnoooW any update here?

Great! update and test, seccomp take effects by default.

Thanks for your experiement. @KnoooW Could we close this issue?


It has a duplicate scheme ”CircleProgressView 2“

As it said in title.

If I'm not mistaken that scheme is for carthage


bug: CDK examples (metrics & tracer) have outdated references

Bug description

In example-function.MyFunction and example-function.MyFunctionWithDecorator
line 9: const metrics = new Metrics({ namespace: namespace, service: serviceName });
service should be serviceName
In example-function.MyFunctionWithDecorator
typo in line 14 @tracer.captureLambdaHanlder() should be @tracer.captureLambdaHandler()

Expected Behavior
Try out the examples

Current Behavior
problems in IDE

Possible Solution
correct the lines; see summary

Steps to Reproduce
See summary

Environment

Powertools version used: 0.02
Packaging format (Layers, npm):
AWS Lambda function runtime: N/A
Debugging logs:

Related issues, RFCs

Thanks for opening the issue, well spotted.

@mhboon thanks a lot, we are planning on running tests on our CI for these examples to try to avoid this type of errors in the future, see also #425.


[4.0] JSONEncoder data encoding strategy tweaks

What's new in this pull request?
Cherry-picks #10680 to swift-4.0-branch.
Explanation:
As laid out in a proposed update to SE-0166 and SE-0167, there are JSON data encoding strategies that we wanted to update:

Add deferredToData strategy on encode and decode
Rename base64{Encode,Decode} to base64 (missed this in previous fixes)
Add unit test to confirm behavior

Scope: Affects those who want to customize the default behavior of encoding and decoding Data using JSONEncoder/JSONDecoder.
Radar: rdar://problem/32469875
Risk: Low
Testing: Adds new unit tests to confirm expected behavior.

@swift-ci Please test


debezium configuration improvements

[ ] datetimes should come in UTC ISO format, currently they come in microseconds, forcing a division in many places of the code (search for 1_000_000).

Not possible since the TimestampConverter doesn't work "globally", requires each field to be specified and doesn't support nested fields (i.e. after.created wouldn't work).

[ ] jsonb columns should be actual dictionaries, no escaped strings.

Not possible, unfortunately, unless we write some custom transform Java class...

[x] Ignore transactions, record_metadata_revision and sipstrore related tables (maybe more)

[x] In sandbox ignore files_files for file integrity check

Closing, since we managed some of the fixes, but not everything unfortunately...


refactor softcut_lower aka softmax

see #101 and https://github.com/ibpsa/modelica-ibpsa/issues/169

This gives identical results, it is just rewritten in a way that Dymola can inline it, and I added smoothOrder=1 annotation.

Thank you @thorade for this improvement


[Need help] var dataSource = DataSource.network("", headers:<String,String>{}); not working

Describe your needs
If possible, add prototypes / designs and other supporting documents to help others understand your needs.
"The headers attribute is not working, I am adding a referrer, but it is not functional."

他里面提供了方法
controller.setNetworkDataSource(url, autoPlay: true, headers: {'host': ' <IP_ADDRESS>'})

但是注意的是，header的value值前面必须添加一个空格才可以
在ijkplayer里面也是相同的解决方案
https://github.com/bilibili/ijkplayer/pull/4946
https://github.com/bilibili/ijkplayer/issues/3693
https://github.com/bilibili/ijkplayer/issues/2648


Update RPM depends for historical modules

See KSP-CKAN/NetKAN#7610; these modules use RasterPropMonitorBasicMFD, which is provided by RasterPropMonitor, but they only depend on RasterPropMonitor-Core. Now they depend on RasterPropMonitor.

Given the addition of the BasicMFD to RasterPropMonitor-core, these should probably get reverted, right?

On versions of KSP earlier than 1.8 (which I think all of the modules in this PR require), we would install older versions of RPM where the metadata still installs the MFD prop in RasterPropMonitor rather than -Core. The change in KSP-CKAN/NetKAN#7608 will only affect versions indexed after it is merged.
We could consider retroactively changing the installation procedure for old modules, but I think that would get very hairy for situations where a user already has it installed.


WIP: math completion trigger improvements

This includes 3 things:

Small fix extending image regex to not match links
Allow manually triggering math completions (ctrl+space) after a partial command (closes #331)
A WIP to allow ctrl+space even without \. I have not solved all edge cases (see comment on commit 781c305) and I generally would like a review on the refactoring in case you would keep this change.

I also have some ideas to improve the math completions by

providing documentation (some explanation and preview for symbols) for CompletionItems.
improving (?) the usability of delimiterSizings by turning them into environments (also add \right when adding \left) and add (, [, ... as commitCharacters.

But if you want to merge sooner than I can delay and make a new PR later.

Thanks! I will have a look tomorrow.

And a bug I don't know why...

I also have some ideas to improve the math completions by

providing documentation (some explanation and preview for symbols) for CompletionItems.
improving (?) the usability of delimiterSizings by turning them into environments (also add \right when adding \left) and add (, [, ... as commitCharacters.

Sounds good. And a separate PR would be better.


Expose correct helpers under app/helpers/ directory

Any update on this?
A much simpler update would be to state:

Ember 2.0+ only

in the documentation :smile:

I agree for Ember 1.13+ :)


feat: add Factories::define() to explicitly override a class

Description
Fixes #7694

add Factories::define() to explicitly override a class
[BC] preferApp is used only for no namespaced classname
[BC] rename Factories::$basenames to $aliases

I would like to deprecate preferApp option.
Changes
Property structure:
$basenames = [component => [basename => FQCN]];
↓
$aliases = [component => [alias => FQCN]];

basename is a short classname, or short classname with sub-directories.
alias is a FQCN, short classname, or short classname with sub-directories.
Factories::define() sets $aliases.
Behavior:

model(\Myth\Auth\Models\UserModel::class) or model('Myth\Auth\Models\UserModel')

before:

returns App\Models\UserModel if exists and preferApp is true
returns Myth\Auth\Models\UserModel if exists and preferApp is false

after:

returns Myth\Auth\Models\UserModel even if preferApp is true
returns App\Models\UserModel if you define Factories::define('models', 'Myth\Auth\Models\UserModel', 'App\Models\UserModel'); before calling the model()

Checklist:

[x] Securely signed commits
[x] Component(s) with PHPDoc blocks, only if necessary or adds value
[x] Unit testing, with >80% coverage
[x] User guide updated
[x] Conforms to style guide

Rebased and add commits from a3c768a


[AutoPR automation/resource-manager] New path for automation

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/5934

(message created by the CI based on PR content)


Find out status of Ethereum connection and chequebook deployment

User story

Story

As a user who is setting up his/her bee node, I want to view in a browser application whether I am connected to Ethereum; whether my chequebook is deployed; whether my node has sufficient eth/BZZ, such that I don't need to look in the logs on clues how to setup my bee node and I can get instructions on this browser page when something is not yet working
Acceptance criteria

There exists an API endpoint for:

connection with Ethereum
gETH on overlay
gBZZ on overlay
And these endpoints are exposed before the chequebook is deployed

Background

We want to put less emphasis on our logs and enable bee dashboards to give rich experience on the status of the Bee node. Above-mentioned statuses are important to help the user in starting the Bee node.
Related project: https://hackmd.io/SZ-YbMRDSUytRjhcxg6Xtg?both
Currently, it is not possible to know all this, because the API router is only instantiated after the chequebook is deployed. That order should be the other way around in order to support his
Tasks

Task
Assignee
Done (1), or 0

Created repo where the development will take place https://github.com/ethersphere/bee-status

To which Ethereum network am I connected?

I'm not sure whether this is needed and what is the purpose here. It would be difficult to assert whether the node has a living eth backend and display the progress of the chequebook deployment. Some information is already being displayed in the terminal.

@agazso @vojtechsimetka

I think this has been fixed and the debug API is initialized before the node is connected to the blockchain endpoint or other nodes. This may be problematic again in the future when the Bebug and Bee APIs are going to be merged.
This is going to be more important in Milestone 2 but I think we can close it for now.

Thanks @agazso


Update Contribution Guidelines and Define Paths to Contributor and Committer Status

To foster a welcoming and productive community, it is important to have clear and comprehensive contribution guidelines. These guidelines should not only outline how to contribute to the project but also provide a clear path for contributors to achieve the status of a contributor and a committer.
Proposed Solution

Review Existing Contribution Guidelines: Examine the current contribution guidelines to identify any gaps or areas for improvement.
Define Paths to Contributor and Committer Status: Establish clear criteria and processes for contributors to achieve the status of a recognized contributor and a committer. This should include:

Contributor Status: Guidelines on how to become a recognized contributor, including the types of contributions that are valued (e.g., code, documentation, issue triage), expected conduct, and the review process.
Committer Status: Criteria for becoming a committer, such as demonstrated expertise in the project, a history of quality contributions, and community involvement. Also, outline the responsibilities and privileges that come with committer status.

Update Contribution Guidelines: Revise the contribution guidelines to include the new paths to contributor and committer status. Ensure the guidelines are clear, detailed, and accessible to all potential contributors.
Document the Process: Create a clear, step-by-step process for contributors to follow, including:

How to submit contributions (e.g., pull requests, issues)
How contributions are reviewed and accepted
How to apply for or be nominated for contributor or committer status
Expectations and responsibilities for contributors and committers

Communicate the Changes: Update the README and other relevant documentation to reference the new contribution guidelines. Announce the changes to the community through appropriate channels (e.g., mailing list, GitHub Discussions).

Action Items

[ ] Review and revise the current contribution guidelines.
[ ] Define clear criteria and processes for achieving contributor and committer status.
[ ] Update the contribution guidelines with the new information.
[ ] Document the step-by-step process for contributing and achieving new statuses.
[ ] Communicate the updated guidelines to the community.

Some guidelines provided by the EDC project:

committer retirement
onboarding contributors
EF's project roles

I will come up with an example CONTRIBUTING.md


ASP.NET Core quick start

This branch is a fork of the asp-net-quick-start branch for ASP.NET 4. I'll wait to merge this one to master until the ASP.NET 4 one is in.

@sayedihashimi and @danroth27, can you give this sample a quick review?

@DanielRosenwasser asp-net-5-quick-start branches off of asp-net-quick-start. It's not meant to merge from master until asp-net-quick-start is merged.

I'm confused about this branch. Is this ASP.NET 4? Is it ASP.NET 5? Why is it out exactly?

It's 5 branched from 4. I was going to put 4 and 5 in the same file and later decided not to.

:+1:

:+1:


Autocomplete cancel

This feature attempts to resolve issues with autocomplete where a search request triggered while an autocomplete request is in-flight will cause autocomplete results to display after the search results are loaded. The results list doesn't close unless the search input is focussed and the esc key is pressed.
To resolve the issue:

Any in-flight autocomplete requests are cancelled if a search request is triggered in the meantime
A plain close button has been added to the results list allowing a user to more explicitly hide autocomplete results from display

Looks good to me. I tried it a bunch of times and had one instance where the dropdown stayed in place, so the extra close button is useful. All the rest of the times, the dropdown closed on its own.  Nice work, @amanji !
Please deploy up the line (@WadeBarnes ).  I think this means we are a go.  @amanji -- the missing translations is still an issue (#69), perhaps we should address that as well?  Depend if it is easy :-)


[PE-D][Tester E] Bolts given can be way above specified limit

On the UG, bolts given is specified to be ... a positive integer between 1 and 10 (e.g. 1, 2, …, 10).
However, you are able to give bolts from 0 to 1000000 (and more).
Also, bolt limit is specified to be 50,000, but a student can be given an unlimited number of bolts.

Labels: severity.Medium type.FunctionalityBug
original: darkvoid32/ped#3

#146 Fixes this


Alias git cherry-pick to cp

@amilkh - we talked about this earlier today.
Authored-by: Ben Christel<EMAIL_ADDRESS>

LGTM! I couldn't find any other commonly used aliases for git cherry-pick online.

@professor any ideas?

I like this one. I'm going to make an executive decision to merge. Feel free to comment here if you disagree with this choice.


Tearing updates with atomic modesetting causes fullscreen games to freeze

Hyprland Version
 System/Version info
Hyprland, built from branch  at commit cba1ade848feac44b2eda677503900639581c3f4  (props: bump version to 0.40.0).
Date: Sat May 4 15:42:32 2024
Tag: v0.40.0, commits: 4606

flags: (if any)

System Information:
System name: Linux
Node name: roni-desktop
Release: 6.9.1-4-cachyos
Version: #1 SMP PREEMPT_DYNAMIC Wed, 22 May 2024 21:00:38 +0000

GPU information:
0d:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21 [Radeon RX 6950 XT] [1002:73a5] (rev c0) (prog-if 00 [VGA controller])

os-release: NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues"
PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
LOGO=archlinux-logo

plugins:

Bug or Regression?
Bug
Description
I know this issue has already been reported and closed as not being Hyprland's fault. But it seems that tearing is working on Sway for at least one AMD gpu user in this bug report. So maybe there is something that could be done in Hyprland or Hyprland's Wlroots fork to fix this. I will update this issue if it works for me on Sway.
How to reproduce
Run Hyprland on an AMD gpu without WLR_DRM_NO_ATOMIC=1 and set general:allow_tearing = true. Starting a fullscreen game causes it to freeze as soon as tearing updates turns on.
Crash reports, logs, images, videos
No response

for me worked last time

I think some of the amd stuff is busted/doesn't support it in the kernel for some hardware.

It does not do this on my laptop with integrated "phoenix" AMD graphics. There it tears like you'd expect.
One thing to note is that kwin seems to recover from this on the 6900XT. When I fullscreen a tearing application there, it doesn't freeze. It doesn't tear either, but it still renders.
For now if you want tearing on that card it seems you need to use WLR_DRM_NO_ATOMIC

Yeah its looking like there are still problems with AMD kernel drivers. On Kwin, tearing has worked for me since the very first betas where it was added. Before that existed I was using X11 without compositing, because competitive games were almost unplayable and felt very sluggish on Wayland. But I just checked Kwin's gitlab and they are still not using atomic modesetting when tearing.
Its still good to have a bug report on Hyprland until its clear where the bug is. I was already using WLR_DRM_NO_ATOMIC and gaming feels pretty smooth on Hyprland so far.

I have the exact same issue on my RX 6700 XT im hoping it gets fixed somewhere.

I tried the Kwin merge request for tearing with AMS. Tearing works with it, but it has pretty bad stuttering that doesn't happen with AMS off. So its probably not a good idea to work on tearing with AMS until the kernel driver implementations get fixed.
Unfortunately tearing is kinda broken on Hyprland with WLR_DRM_NO_ATOMIC=1 so I'm using Kde just for gaming currently. The problem on Hyprland is that sometimes frames get displayed out of order. It happens maybe once a minute and is clearly visible. I should probably make another bug report out of this. There are also similar problems with enabling direct scanout (no_direct_scanout = 0).

Tearing with AMS is now working on Hyprland, when using this kernel patch. But its not really usable right now, because frames present out of order frequently enough to be very distracting. This should be fixable in Hyprland or Aquamarine, because it doesn't happen on KDE.

we'll see what aq does when #6608 is merged.

tearing appears to be working for me now after updating to a version built on aq! I'm on a RX 7800 XT and tearing would freeze before but now works without freezing.
There are a couple of flickering effects but they seem to go away after a couple minutes. They also might be related to mangohud, so I'm going to need to do some more testing.

flicker is #6964

Just tested and I can confirm its now fully working. When I tried atomic tearing with Aquamarine versions of Hyprland before merge, there was some stuttering that was not caused by the game. Now there is no random frame presenting stutter. Idk if it got fixed by kernel 6.10 or Hyprland though (I'm using linux-cachyos which might have extra tearing related patches).
Trying to run games at framerate higher than refresh rate is still quite stuttery, but I don't think I have ever seen that working with tearing on with any compositor on Linux. Idk whats up with that, because it works great on Windows.


feat: AfterCosmWasmPoolCreated hook to create an internal gauge

Background
Currently, we do not have such hook. As a result, cosmwasm pools cannot be internally incentivized. We would have to create a gauge manually for every such pool
Suggested Design
Implement AfterCosmWasmPoolCreated hook that creates one gauge (similar to Classic pool logic)
Acceptance Criteria

hook created
creates gauge
tested

Floating this up as an important feature to implement for volume-splitting incentives to work with CW pools. We should also not forget to create these internal gauges for existing CW pools (e.g. transmuter) in upgrade handler

Let's track this here: https://github.com/osmosis-labs/osmosis/issues/5864

I created a bug report here => https://github.com/osmosis-labs/osmosis/issues/6230
:arrow_up:  maybe the bug can be closed

I'm thinking of simply sending the distributions to the pool address.
Considering to also have a fire and forget execute message something like "distribute_incentives".
Since some pools may not implement it, the chain code will not do error handling of executing that message. It will still perform a bank send to the pool address regardless of success/failure.
The execute message is more so to provide an ability for cw pools to perform custom handling of the distributed incentives.

Tentatively from discussions:
Moving this feature out of upcoming scope until the goals of cw pool incentives are more product-defined
Ref: https://osmosis-network.slack.com/archives/C04LZFBHGQ5/p1695299430819449
Currently, the only cw pool - transmuter does not need incentives.

Adding suggestions and context from Boss:

+1 for implementing once there is a need. I reckon 2nd choice is better for customization but I would rather retain from fire and forget and have something similar to dead-letter queue that could manual retry since distributed incentive might become staled assets on the contract.


Scream forces to send audio data to Radmin VPN

Is there any way to set Scream which network device to send to? I need to use Radmin VPN to connect with other users on the internet but Scream defaults to it instead of the RedHat VirtIO Ethernet and I don't have any idea how to set it. I tried doing the unicast method but the Scream listener on my Linux host doesn't seem to detect it.

Radmin VPN enabled

Radmin VPN disabled

Update: I have figured it out how to use unicast which fixed Scream from using Radmin VPN. One problem from the readme documentation is that it didn't stated what IPv4 address should be used.
I don't know if this will work with others but I just used my virtual network's IP address and it worked.

For example, if you use virbr0 (marked in red rectangle) you will add the IP address (marked in blue rectangle) into the registry and it's up to you what port number you are using.


Unable to mint

Hello, tried to initiate a mint on Gnosis @ Snowflakeshash dweb.link site - I'm able to connect Metamask and try to mint and get "project id required" message below and then the application stalls out - is anyone else having trouble minting to your knowledge? Anyway, would love to mint a snowflake if I can, I looked at the smart contract blockscout, but I don't know how to handle the fee field? Thanks in advance! Fun project : )

Hi broooooo thanks for leaving a issue here!
It has began since infura nodes stopped being public.
I need to change to use nft.storage.
The fee field is royalty, in the dapp it is filled with the minter address and 0.5% (500) - You can check here https://github.com/henrique1837/snowflakeshash-dapp/blob/aragon-ui_version/packages/react-app/src/screens/Mint.js#L86
I will post here when I change to nft.storage. Dont need to do it from blockexplorer.
Thanks for contact broooooo!!!

It is already changed to use nft.storage, you should be able to see a ipfs hash before metamask pops up asking for transaction confirmation. If you click it it will show the metadata of the nft to be minted.
Let me know if I can close the issue.
Thank you

Hey - sorry for late reply! Inbox SO spammed lately...
So when I try to mint I get this:

Storing image and metadata at IPFS ...
Link flashes quickly
Internal JSON-RPC error.

The link it gave me was this:
https://bafkreiarwboif4yuywyrav6wbrxbkaszpo6jflaaet3abzuiofqzrtmggy.ipfs.nftstorage.link
It's contents are:
{"name":"radmadical","description":"radical snowflake","image":"ipfs://bafkreidelaaioxu74gz7wiudbioizxmscefjg3ql224moojga7ratj5qtu","external_url":"https://dweb.link/ipns/snowflakeshash.crypto"}
No NFT looks to be minted that I can see : (
Sorry if this is bad news - but I hope the info helps! Thanks : )

Hi thank you very much for reporting it. It looks to be error with the wallet's rpc.
Are you using https://rpc.gnosischain.com  as rpc?
I had that problem when xdai rebranded to gnosis. I had to reimport xdai again using https://chainlist.org/
Let me know if that is the problem, thank you !


Split *Dense into *Dense and *MaskedDense

From @chewxy on June 27, 2017 2:0
@kabaka0 thoughts?  The idea is to as per #128 - the tensor package holds the data structures, and the essential methods (basically implementing Tensor), while things like Add will get moved to tensor/ops
Tasks

[ ] Write tests to ensure that all the new methods and functions in internal/stdeng can be accomplished using FlatMaskedIterator
[ ] If yes, then split into *Dense and *MaskedDense

Copied from original issue: chewxy/gorgonia#131

From @kabaka0 on June 28, 2017 21:8
I can see the logic behind the split of tensor - the package is currently quite large, which made it harder to locate methods. As for the split of *Dense, The one problem I can see with having *MaskedDense is that a quite a bit of code would be duplicated. I suppose that we could embed *Dense in *MaskedDense to minimize this. It would not have worked with my initial attempt at Masked (in which the mask was allowed to have an iterator with different stride from the data), but given the decision to drop that, it can be done.
Modifying genlib to support such a change would not need much code editing though, given that there already are checks for whether the object is masked or not.
Can you see any other downside to the embedding?

(I'll do the heavy lifting.. given I'm working on the sparse and colmajor Tensors) you just provide the struct you have in mind @kabaka0

I was thinking precisely embedding
type MA struct {
    *Dense
    mask []bool
...
}

From @kabaka0 on June 28, 2017 21:15
That works.
type MA struct {
    *Dense
    mask []bool
    fillValue interface{}

...
}

From @kabaka0 on June 28, 2017 21:16
I am happy to help with it, but if you are actively editing the package then I can leave it to you for now, but feel free to ask me to do stuff whenever needed.


feat: First setup of example-content

A first setup of example content.
To view the new content pages locally, you can go to the examples overview page (http://localhost:1313/examples/)
This includes:

Basic markdown examples
Block markdown examples
Custom front-matter explanation
Shortcode examples

During the writing of the examples, some elements where edited/fixed:

Fixes in base styling
Renamed config/element sticky_note > notification
Renamed shortcode - alert > info / warning / caution
Fixed/added session-based hiding of notifications

Signed-off-by: Joost Passon<EMAIL_ADDRESS>

@Lyoness - please can you review this change too?

@usm-joost looking more closely, this PR also appears to contain changes unrelated to the adding of example pages. Is this correct?

Looking at the changes / files - this looks as expected for me.
The reason more then just 'content/en/examples/...' was changed, is because I also needed to update/fix things that I saw while writing the content.

@usm-joost

The reason more then just 'content/en/examples/...' was changed, is because I also needed to update/fix things that I saw while writing the content.

Understood.
We tend to either split out such changes into a separate PR/CL, or say as much in the commit message. Happy either way for this change.
Indeed on the subject of the commit message, please can you ensure the commit message reflects the description in the PR above?
That way, our git history can be read entirely from git log, rather than having to click through to a PR.
Thanks

Thanks - importing via GerritHub now.

Closed via https://github.com/cue-lang/cuelang.org/commit/0125235acc729cfdb9a234e31878a3f4212d5575.
(It didn't close automatically because of https://github.com/cue-lang/cue/issues/2238)


Introduced new chunked transfer encoding parser to remove chunk markers

I introduced a new client option called remove_chunk_markers. With this option selected, a new chunked transfer encoding parser is enabled which is able to parse a stream of small chunks and incrementally remove the chunk markers. The parser requires to keep internal state, so I had to parser function with a function object.
I selected the new option in some of the tests to cover the new code. Proper unit tests are missing yet.
Compiled with gcc 5.4 only.
Some issues might be worth to discuss a bit further:

How to handle parse errors (see BOOST_ASSERTs in the parser code)?
Performance??

Is there any chance to merge this PR in the near future? Is there still something missing?

Hi @umennel -- I'm so sorry about the delay, this just slipped through the cracks. :(
Let me have a quick look and merge.

LGTM


Content not relevant to the article

The section about "Viewing function output" shows how to see the function invocations of a given function on Azure. I don't find how this is related with the execution of Functions locally using Visual Studio. This confuses the reader too much. So I eliminated that paragraph.

Hi @warnov, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla.azure.com.

TTYL, AZPRBOT;

@warnov, Thanks for signing the contribution license agreement so quickly! Actual humans will now validate the agreement and then evaluate the PR.
Thanks, AZPRBOT;

@warnov : Thanks for your contribution to the Azure documentation! The author, @tdykstra, has been notified to review your proposed change.

@warnov, thank you for your suggestion. I've reviewed the article content, and while there may be some readers for whom this section is unnecessary, for many of them it provides helpful information that is relevant to learning how to run functions locally.

I do totally agree with you. Actually I learnt to execute functions locally, thanks to the article. It is a great content. But the paragraph I talk about, it seems like it is out of context. And it confused me for a couple of minutes trying to figure it out why it was there.
Just my humble opinion.
T
Get Outlook for iOS
On Mon, Oct 10, 2016 at 2:52 PM -0500, "Tom Dykstra"<EMAIL_ADDRESS>wrote:
@warnov, thank you for your suggestion. I've reviewed the article content, and while there may be some readers for whom this section is unnecessary, for many of them it provides helpful information that is relevant to learning how to run functions locally.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@warnov - The "viewing" section might make more sense located at the end just before "troubleshooting" -- If you want to change your PR to move instead of delete the section, we can merge it, otherwise I'm inclined to close the PR unless you have other suggestions.

#please-close


[release-v1.7]Cherry pick 6570 1.7

cherry pick of #6570 and make RELEASE... target

/cherry-pick release-v1.8

/lgtm

/test 411-test-e2e-aws-ocp-411


Annotation as a Service

Currently, we only parallelize VEP as far as bringing up a VM per VCF file, running VEP on each file, and storing newly annotated files back on disk. An attractive option for parallelizing VEP is to host instances of a server listening for annotation requests. Several of these components are flexible, but the stack might look something like:
App Engine → Docker → Flask server → VEP
There are several attractive aspects of this parallelization option:

It's relatively straightforward; not much code needs to be written.
Since it processes each variant individually, it can be integrated into the Dataflow pipeline of VT.
In the long term, the docker container could contain multiple annotation programs, and users could dictate which of them to select as part of their request to the flask server.

A prototype of this idea is implemented in PR #7.


Confirm valid values for DMR Calling Workflow URL

It looks like DMR Calling Workflow URL currently has valid values Github, Synapse which don't seem to make sense. The description Generic name for the workflow used to analyze a data set also does not seem logical.
These are used by the Bulk Methylation-seq Level 3 component

Yes, I think that should probably read: "URL address for the workflow ..."

And the values could be:  "http" and "synapse_id"  .. if maybe you can specify a workflow as a synapse ID??

If I understand the intention the valid values should be removed and the url validation rule added (possibly with a warning condition rather than error)

Bring for discussion on an Ops call with Dave

Discussed on 2024.01.30 - Dave agrees this can be a URL. For reference, Adam will check what links have been included previously.

It looks like we have no Bulk Methylation Seq level 3 data submitted to date. We can therefore specify the URL validation rule without concern.


[Docs]: Update documentation for MySQL SSH tunnel

Draft documentation with attached video available here: https://www.notion.so/appsmith/Documentation-for-MySQL-SSH-tunnel-dbc646ed7fbb4d6cb284bd31939181b7

@sumitsum For reference documentation, you can directly raise a PR and the doc team will review and make any necessary changes before publishing it. cc: @rohan-arthur


Add unit tests for AdaptiveDialogBot parameters

Fixes #5402
Tests added to Microsoft.Bot.Builder.Dialogs.Adaptive.Tests\AdaptiveDialogBotTests.cs.
3 asserts added to AdaptiveDialogBotTurnState() for optional args.
4 tests added covering optional args:
AdaptiveDialogBot_ShouldNotThrowOnNullMemoryScope()
AdaptiveDialogBot_ShouldNotThrowOnNullPathResolver()
AdaptiveDialogBot_ShouldNotThrowOnNullDialog()
AdaptiveDialogBot_ShouldNotThrowOnNullLogger()
"ShouldThrow" tests added for the other args.

Seems fine, though I wonder if some Theory tests could be made to work so we didn't have so much duplication across tests.

An interesting idea. However, most of the parameters are not native data types, so it seems the code would turn out to be just as complex.
Your comment spurred me to try putting all the Assert.Throws() into a single test instead of separate tests. That simplified the code.  However, in a test failure, it obscured which argument was the cause, only giving you a line number to go look up.


Tile addition and appalling performance in the worlds maps

Although designed with performance very much in mind. Area selection and reduced object generation at small scales, has not been implemented.
Part of this is implementing adjacent tile addition. I think I want to implement #26 before dealing with this.

I commit to implementing this by the end of 2019.

So this is waiting on the completion of #127.

Closing this into #155.


[CircleGraph] Apply condition for selector view mode

This will apply condition for codes that should work for selector view mode.
ONE-vscode-DCO-1.0-Signed-off-by: SaeHie Park<EMAIL_ADDRESS>

for #790, from draft #814


[Bug]: trailing comma gets added to field value when it's the last field

Version of the library
0.29.8
Describe the bug
{

key: {
   "a": b,
   "c": d e,
   "f": g h k,
     },
}

produces:
{
    "key": {
        "a": "b",
        "c": "d e",
        "f": "g h k,"
    }
}

Notice the last field "f" gets value "g h k," (with comma included), but I expected "g h k".
This was fine in 0.29.4
Playground link
How to reproduce
see above
Expected behavior
see above

Thanks for reporting, I fixed the regression and added it to the tests. I will release now.


refactor(api): set amt features uses new CIRA connection

closes AB#4554
PR Checklist

[x] Unit Tests have been added for new changes
[x] API tests have been updated if applicable
[x] All commented code has been removed
[x] If you've added a dependency, you've ensured license is compatible with Apache 2.0 and clearly outlined the added dependency.

What are you changing?

Anything the reviewer should know when reviewing this PR?
If the there are associated PRs in other repositories, please link them here (i.e. open-amt-cloud-toolkit/repo#365 )

Codecov Report

Merging #484 (6fdd7d2) into main (1354029) will decrease coverage by 0.20%.
The diff coverage is 68.59%.

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

@@            Coverage Diff             @@
##             main     #484      +/-   ##
==========================================
- Coverage   72.52%   72.32%   -0.21%
==========================================
  Files          49       50       +1
  Lines        2235     2356     +121
  Branches      351      371      +20
==========================================
+ Hits         1621     1704      +83
- Misses        614      652      +38

Impacted Files
Coverage Δ

src/amt/CIRAHandler.ts
18.18% <0.00%> (-0.17%)
:arrow_down:

src/amt/ConnectedDevice.ts
91.87% <0.00%> (-8.13%)
:arrow_down:

src/utils/constants.ts
100.00% <ø> (ø)

src/amt/ips/IPS.ts
86.95% <25.00%> (-13.05%)
:arrow_down:

src/amt/cim/CIM.ts
93.33% <33.33%> (-6.67%)
:arrow_down:

src/amt/amt/AMT.ts
93.78% <46.15%> (-4.26%)
:arrow_down:

src/routes/amt/setAMTFeatures.ts
96.61% <95.34%> (ø)

src/amt/WSMan.ts
100.00% <100.00%> (ø)

src/amt/amt/actions.ts
100.00% <100.00%> (ø)

src/amt/cim/actions.ts
100.00% <100.00%> (ø)

... and 2 more

Continue to review full report at Codecov.

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


Treat HTTP/1 header keys as case-insentive when adding defaults

RFC 2616 and 7230 state that header keys should be treated as case-insensitive. This change lowers headers keys before the defaults are added, so parsed in headers in a different case are not duplicated.
This change only applies to HTTP/1, but I believe something similar should be done for HTTP/2 (even though HTTP/2 headers should only be lower case). The code uses the Mint.HTTP1.Parser.lower/1 function though. Maybe that should be moved to Mint.Core.Util?

This change lowers all request headers, I wonder if we should always do that or keep the users choice of casing.

That's a good point (maybe we should talk about the HTTP/1 response headers being lowercased too?). What if we change put_new_header to perform a case insensitive lookup here:
https://github.com/ericmj/mint/blob/518b5f251bf739278af28b75d1933def66562902/lib/mint/core/util.ex#L30

Hi @lucaspiller. I have discussed this with the rest of the team and we have decided to downcase all request and response headers for both HTTP/1 and HTTP/2. Let us know if you want to work on that.

Thanks @ericmj! The response headers are already always downcased (at least in my experience from using Mint), so its just downcasing the request headers. Is there anything else needed other than the changes you request above?

No, that should be it I think. 👍

Thanks a lot @lucaspiller! 💟


Static build is incorrectly putting both family name & style name in nameID 1, then putting "Regular" in nameID 2

I'm using FontMake 1.8.0.
When I build static instances of Encode Sans from a GlyphsApp source with the following command:
fontmake -g sources/Encode-Sans-fixed_designspace.glyphs --output ttf --interpolate "Encode Sans SemiCondensed ExtraLight"

... and then TTX the output with the following command:
ttx instance_ttf/EncodeSansSemiCondensed-ExtraLight.ttf

...I see that nameID 1 becomes Encode Sans SemiCondensed ExtraLight, when I expect to be just Encode Sans SemiCondensed.
Additionally, nameID 3 becomes just Regular when I would expect ExtraLight.
As the MS TrueType spec for NAME table IDs says, nameID 1 is the "Font Family name," while nameID 2 is the "Font Subfamily Name."
More Context
In the GlyphsApp source, instances have the custom parameter familyName, listing this instance as Encode Sans Condensed. Each instance is named after its weight.
The problem also exists if I --interpolate all instances, not just SemiCondensed-ExtraLight specifically – I just used the example above to save a bit of time if someone wants to reproduce this.

Ohhhhh I see. It's working how it should.
SemiCondensed Regular gets the nameID 2 styleMapFamilyName, in designspace or Custom Parameter lingo of Encode Sans SemiCondensed, so that it can link properly with Bold (& Italic & Bold Italic, in families that have them).
SemiCondensed ExtraLight gets a styleMapFamilyName of Encode Sans SemiCondensed ExtraLight, so it doesn't get in the way of the reg-bold-italic-bolditalic style-linking.


dart test --coverage=coverage hangs

When I run dart test --coverage=coverage on fluttercommunity/get_it, it hangs and will not complete.
However, flutter test --coverage works as expected
Dart SDK version: 2.18.5 (stable) (Tue Nov 22 15:47:29 2022 +0000) on "macos_arm64"

Duplicate of https://github.com/dart-lang/sdk/issues/50389


seed the default label in the DB and make them editable

We require different label classes than supplied. This PR

Adds labels to the DB
seeds the DB with the current default ones
Exposes them in /admin so you can edit/remove/add

seems good to me. What's the sqlparse for btw?

sqlparse is required to run the migrations.RunSQL() commands


stage1: bind-mount cgroup controller files RW

Instead of bind-mounting the whole controller subcgroup directory RW we
only bind-mount the files we need to set isolators. This reduces the
cgroup attack surface.
Addresses #983

lgtm


Add MPRIS seek

From Launchpad bug #1064245 by Jonas Frei:
When using gnome-shell and the media player extension, there is the possibility to have a progress-bar and to jump to a desired position in the song. This works for numerous players, but not Nuvola.

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

Closed in favour of #155 - see that ticket for details.


the test set and dev set have same results .

Description

Other Comments
when the type is large, the test set and dev set have same results . why ?

Hi @Ishowway,  Can you share more about your questions? Whatever I have understand that type is dataset, where you are spliting into test set and dev set. I want to know the splitting of dataset. how are you splitting of data set?  I am assuming that, If you are getting same results i.e distributions of test set and dev set are same. Please check it once.  further I will help you out.


Fix #676 Add an easier way to access Events API retry info

This pull request enables Events API listeners to access x-slack-retry-num / x-slack-retry-reason header values (retry_attempt / retry_reason in Socket Mode) in the following way.
app.event(AppMentionEvent.class, (req, ctx) -> {
  Integer num = ctx.getRetryNum(); // 0-3
  String reason = ctx.getRetryReason(); // timeout, http_error etc
  return ctx.ack();
});

Fixes #676
Category (place an x in each of the [ ])

[x] bolt (Bolt for Java)
[x] bolt-socket-mode (Bolt for Java - optional modules)
[ ] slack-api-client (Slack API Clients)
[ ] slack-api-model (Slack API Data Models)
[ ] slack-api-*-kotlin-extension (Kotlin Extensions for Slack API Clients)
[ ] slack-app-backend (The primitive layer of Bolt for Java)

Requirements
Please read the Contributing guidelines and Code of Conduct before creating this issue or pull request. By submitting, you are agreeing to the those rules.

Any plans on adding this for boltjs?


No module named "nostr_dvm" when translation dvm tries to respond

Ran the current master branch via python main.py on a small digital ocean instance, then posted a translation request through vendata.io. This is the error I kept getting:
Getting profile metadata for npub1mgvwnpsqgrem7jfcwm7pdvdfz2h95mm04r23t8pau2uzxwsdnpgs0gpdjc... Adding User: da18e9860040f3bf493876fc16b1a912ae5a6f6fa8d5159c3de2b8233a0d9851 (da18e9860040f3bf493876fc16b1a912ae5a6f6fa8d5159c3de2b8233a0d9851) [Google Translator] Received new Request: translation from Dustin Dannenhauer [Google Translator] Free task or Whitelisted for task translation. Starting processing.. {"id":"f26ba824a7ce3dae071997cb3f7d34aa2157f629ac862545f94596ee5123000d","pubkey":"24851ba52d1d7c090fd92184d9f11caddb760a733b2e9180408c367da7454242","created_at":1704873572,"kind":7000,"tags":[["e","2b9909d6d6628ba84476fe1800c2da81fe98f1fb60b9d747eae4fb8f448612fa"],["alt","NIP90 DVM AI task translation started processing. "],["status","processing"],["p","da18e9860040f3bf493876fc16b1a912ae5a6f6fa8d5159c3de2b8233a0d9851"]],"content":"NIP90 DVM AI task translation started processing. 👍","sig":"f68f8d6c5defa20892b2f9b13a49e79d6fc3f67a3865c91b5235bfec734f10cc8759a77c5c992be92a3b8d7a73f5aafed1f000669c2986490dbeaf7a8a071e1b"} {"id":"accf2713a5c818e3dfa8aaae385064b97be3ccd3f2336819efb9dc119e2a553b","pubkey":"ee5595ded47f1c376576cb7d31e786eaf454df24c91ca2d2967062ccf7d28e53","created_at":1704873572,"kind":7000,"tags":[["e","2b9909d6d6628ba84476fe1800c2da81fe98f1fb60b9d747eae4fb8f448612fa"],["alt","NIP90 DVM AI task translation started processing. "],["status","processing"],["p","da18e9860040f3bf493876fc16b1a912ae5a6f6fa8d5159c3de2b8233a0d9851"]],"content":"NIP90 DVM AI task translation started processing. 👍","sig":"6ba73f38071204bb311562c61f680b2e73c54a19881ffecb78f34ecb2877a03dc6b3b521d04128420057d5adb3412d6ecf1b9c14e4788ccea7439aa05c6eb159"} [Google Translator]: Sent Kind 7000 Reaction: processing {"id":"accf2713a5c818e3dfa8aaae385064b97be3ccd3f2336819efb9dc119e2a553b","pubkey":"ee5595ded47f1c376576cb7d31e786eaf454df24c91ca2d2967062ccf7d28e53","created_at":1704873572,"kind":7000,"tags":[["e","2b9909d6d6628ba84476fe1800c2da81fe98f1fb60b9d747eae4fb8f448612fa"],["alt","NIP90 DVM AI task translation started processing. "],["status","processing"],["p","da18e9860040f3bf493876fc16b1a912ae5a6f6fa8d5159c3de2b8233a0d9851"]],"content":"NIP90 DVM AI task translation started processing. 👍","sig":"6ba73f38071204bb311562c61f680b2e73c54a19881ffecb78f34ecb2877a03dc6b3b521d04128420057d5adb3412d6ecf1b9c14e4788ccea7439aa05c6eb159"} Traceback (most recent call last):   File "/home/dustin/nostrdvm/nostr_dvm/tasks/translation_google.py", line 3, in <module>     from nostr_dvm.interfaces.dvmtaskinterface import DVMTaskInterface, process_venv ModuleNotFoundError: No module named 'nostr_dvm' Finished processing, loading data.. {"id":"a6faae81e085b72fc56ca9c7206daf0ab6671ced67154fa017a72939c8b49b91","pubkey":"ee5595ded47f1c376576cb7d31e786eaf454df24c91ca2d2967062ccf7d28e53","created_at":1704873572,"kind":7000,"tags":[["e","2b9909d6d6628ba84476fe1800c2da81fe98f1fb60b9d747eae4fb8f448612fa"],["alt","NIP90 DVM AI task translation had an error. "],["status","error"],["p","da18e9860040f3bf493876fc16b1a912ae5a6f6fa8d5159c3de2b8233a0d9851"]],"content":"NIP90 DVM AI task translation had an error. 👎 ","sig":"98bd539113bcac8eded2de7502a96236163440b79b8ff1fea95bb87aa48eb4947f0e4078c9744fa078eb933f07b5407170ec746871b86a6ccce3e42557ebadeb"} [Google Translator]: Sent Kind 7000 Reaction: error {"id":"a6faae81e085b72fc56ca9c7206daf0ab6671ced67154fa017a72939c8b49b91","pubkey":"ee5595ded47f1c376576cb7d31e786eaf454df24c91ca2d2967062ccf7d28e53","created_at":1704873572,"kind":7000,"tags":[["e","2b9909d6d6628ba84476fe1800c2da81fe98f1fb60b9d747eae4fb8f448612fa"],["alt","NIP90 DVM AI task translation had an error. "],["status","error"],["p","da18e9860040f3bf493876fc16b1a912ae5a6f6fa8d5159c3de2b8233a0d9851"]],"content":"NIP90 DVM AI task translation had an error. 👎 ","sig":"98bd539113bcac8eded2de7502a96236163440b79b8ff1fea95bb87aa48eb4947f0e4078c9744fa078eb933f07b5407170ec746871b86a6ccce3e42557ebadeb"}
nostr_dvm is clearly being imported properly in the beginning when it gets set up. I'm still getting up to speed on the code base. It looks like each dvm may run it's own virtualenv and perhaps the translation virtual_env didn't get nostr_dvm installed?

Hi, by default each dvm is installing it's own venv to avoid dependency conflicts. When the process function runs it uses this venv.
Did it finish to install dependencies on first run?
A few things you can try for troubleshooting:
In cache/venvs, delete the venv that causes trouble. it will be reinstalled on next start.
If that doesn't fix the problem you can try to go to tasks/translation_google.py and in build_example you can add dvm_config.USE_OWN_VENV = False after line 113. (or copy the code to your main.py and do it there, and call this function instead of the example) You may need to install missing packages in your main venv afterwards.
If you still run into trouble, please let me know.


Very first build with README.md fails locally and in Azure devops

Issue / Steps to reproduce the problem
Just run as instructed in README.md
I run locally using  dotnet core 3.1.301 and   then tried also in Azure Devops with 3.1.200 as in your original global.json
Relevant parts of the log file
See https://dev.azure.com/bittium/IdentityServeer/_build/results?buildId=137&view=logs&j=0da5d1d9-276d-5173-c4c4-9d4d4ed14fdb&t=8ef82b3b-1feb-5bbd-06f6-b1f7b5467f03&l=281
Restore completed in 897.39 ms for /home/vsts/work/1/s/src/EntityFramework/host/Host.csproj.
  Restore completed in 894.01 ms for /home/vsts/work/1/s/src/EntityFramework/migrations/SqlServer/SqlServer.csproj.
  Restore completed in 37.47 ms for /home/vsts/work/1/s/src/EntityFramework/src/IdentityServer4.EntityFramework.csproj.
  Restore completed in 215.85 ms for /home/vsts/work/1/s/src/EntityFramework/test/IdentityServer4.EntityFramework.Tests/IdentityServer4.EntityFramework.Tests.csproj.
  IdentityServer4.EntityFramework -> /home/vsts/work/1/s/src/EntityFramework/src/bin/Release/netcoreapp3.1/IdentityServer4.EntityFramework.dll
  SqlServer -> /home/vsts/work/1/s/src/EntityFramework/migrations/SqlServer/bin/Release/netcoreapp3.1/SqlServer.dll
  IdentityServer4.EntityFramework.Tests -> /home/vsts/work/1/s/src/EntityFramework/test/IdentityServer4.EntityFramework.Tests/bin/Release/netcoreapp3.1/IdentityServer4.EntityFramework.Tests.dll
Quickstart/Consent/ConsentController.cs(112,138): error CS1061: 'ResourceValidationResult' does not contain a definition for 'ScopeValues' and no accessible extension method 'ScopeValues' accepting a first argument of type 'ResourceValidationResult' could be found (are you missing a using directive or an assembly reference?) [/home/vsts/work/1/s/src/EntityFramework/host/Host.csproj]
Quickstart/Consent/ConsentController.cs(134,143): error CS1061: 'ResourceValidationResult' does not contain a definition for 'ScopeValues' and no accessible extension method 'ScopeValues' accepting a first argument of type 'ResourceValidationResult' could be found (are you missing a using directive or an assembly reference?) [/home/vsts/work/1/s/src/EntityFramework/host/Host.csproj]
Quickstart/Consent/ConsentController.cs(202,94): error CS1061: 'ParsedScopeValue' does not contain a definition for 'Name' and no accessible extension method 'Name' accepting a first argument of type 'ParsedScopeValue' could be found (are you missing a using directive or an assembly reference?) [/home/vsts/work/1/s/src/EntityFramework/host/Host.csproj]
Quickstart/Consent/ConsentController.cs(205,119): error CS1061: 'ParsedScopeValue' does not contain a definition for 'Value' and no accessible extension method 'Value' accepting a first argument of type 'ParsedScopeValue' could be found (are you missing a using directive or an assembly reference?) [/home/vsts/work/1/s/src/EntityFramework/host/Host.csproj]
Quickstart/Consent/ConsentController.cs(234,61): error CS1061: 'ParsedScopeValue' does not contain a definition for 'ParameterValue' and no accessible extension method 'ParameterValue' accepting a first argument of type 'ParsedScopeValue' could be found (are you missing a using directive or an assembly reference?) [/home/vsts/work/1/s/src/EntityFramework/host/Host.csproj]
Quickstart/Consent/ConsentController.cs(236,55): error CS1061: 'ParsedScopeValue' does not contain a definition for 'ParameterValue' and no accessible extension method 'ParameterValue' accepting a first argument of type 'ParsedScopeValue' could be found (are you missing a using directive or an assembly reference?) [/home/vsts/work/1/s/src/EntityFramework/host/Host.csproj]
Quickstart/Consent/ConsentController.cs(241,42): error CS1061: 'ParsedScopeValue' does not contain a definition for 'Value' and no accessible extension method 'Value' accepting a first argument of type 'ParsedScopeValue' could be found (are you missing a using directive or an assembly reference?) [/home/vsts/work/1/s/src/EntityFramework/host/Host.csproj]
Quickstart/Device/DeviceController.cs(94,138): error CS1061: 'ResourceValidationResult' does not contain a definition for 'ScopeValues' and no accessible extension method 'ScopeValues' accepting a first argument of type 'ResourceValidationResult' could be found (are you missing a using directive or an assembly reference?) [/home/vsts/work/1/s/src/EntityFramework/host/Host.csproj]
Quickstart/Device/DeviceController.cs(116,143): error CS1061: 'ResourceValidationResult' does not contain a definition for 'ScopeValues' and no accessible extension method 'ScopeValues' accepting a first argument of type 'ResourceValidationResult' could be found (are you missing a using directive or an assembly reference?) [/home/vsts/work/1/s/src/EntityFramework/host/Host.csproj]
Quickstart/Device/DeviceController.cs(178,94): error CS1061: 'ParsedScopeValue' does not contain a definition for 'Name' and no accessible extension method 'Name' accepting a first argument of type 'ParsedScopeValue' could be found (are you missing a using directive or an assembly reference?) [/home/vsts/work/1/s/src/EntityFramework/host/Host.csproj]
Quickstart/Device/DeviceController.cs(181,119): error CS1061: 'ParsedScopeValue' does not contain a definition for 'Value' and no accessible extension method 'Value' accepting a first argument of type 'ParsedScopeValue' could be found (are you missing a using directive or an assembly reference?) [/home/vsts/work/1/s/src/EntityFramework/host/Host.csproj]
Quickstart/Device/DeviceController.cs(211,42): error CS1061: 'ParsedScopeValue' does not contain a definition for 'Value' and no accessible extension method 'Value' accepting a first argument of type 'ParsedScopeValue' could be found (are you missing a using directive or an assembly reference?) [/home/vsts/work/1/s/src/EntityFramework/host/Host.csproj]

Build FAILED.

Not sure - feel free to compare to our build
https://dev.azure.com/netidentity/IdentityServer/_build/results?buildId=2522&view=results
and pipeline definition.


[NETBEANS-946] PHP 7.3 support (Flexible Heredoc and Nowdoc Syntaxes)

Implement Flexible Heredoc and Nowdoc Syntaxes.

Fix ASTPHPScanner and PHP5ColoringLexer to provide support for new syntaxes
Remove some existing unit tests because we won't provide support for the old syntax any longer
Show errors in PHP73UnhandleError when PHP version less than 7.3 is chosen
Add unit tests for the lexers, the parser, and the formatter

NOTE: Allow mixing spaces and tabs as indentation because the lexer would be complex if we handle it as errors there.
Move unit test data for "Function Call Trailing Commas" and "List Reference Assignment" to the php73 directory.

Extremely cool.


Updated dependency versions

Updated to the corresponding 2.0.2 dependency versions.

@svenhaag thanks for this catch. However, you need to sign the commit with ECA https://www.eclipse.org/legal/ECA.php

@xstefank thanks. done.

New pull request with necessary signed-of, see: https://github.com/eclipse/microprofile-health/pull/189

This can be closed then.


h2o_wave.core.ServiceError: Request failed (code=500): Internal Server Error

I have pinpointed this occurrence. I get this error when I render a table. I have a large dataset so I am rendering the table with 10,000 maximum records. When I do, I get this error.

render_table(q, q.app.anomaly[0].head(10000)) causes this error. While render_table(q, q.app.anomaly[0].head(6000)) does not. I have no issue limiting data shown to 6k records.  render_table() is simply creating a ui.table component and passing a dataframe into it.

I can work around this with no issue, I just wanted to bring this to attention. Thanks!

Requests to the Wave server are limited to 5MB. See -max-request-size.
In general, attempting to display 10K records in a single table in the UI results in poor UX, and may not work at all. It's better to limit the number of records displayed and implement pagination.

Agreed, pagination is a great solution. Does something like that currently exist for the table rending in Wave?

We should probably make it easy to add pagination to a table. You already filed an issue for that: #730 :)

Completely forgot, thanks!


PYTHON-4506: Use main/autogen.git now that PR is merged

Other evergreen test errors are unrelated. autogen-rhel test passes.


OpenSSH examples

Yes, it is fine with examples using the domain. But I have a server in a DMZ with no access to the domain. And I'm trying to figure out how to do the configuration with local users and groups.
It does not work as expected. MachineName\UserName appears to not work. And that is annoying.
When I deny all users with "DenyUsers MachineName*", it appears that the OpenSSH server treats that as a general welcome for everybody.
Setting "ChrootDirectory E:\Files" means that the login goes to the user's home directory. This is rather disconcerting as far as documentation goes.

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: c8ad5c9a-efb1-d994-0e3c-53c90096a245
Version Independent ID: 5cb0ea97-4c3d-ffdf-b69c-8a717f9f9f3f
Content: OpenSSH Server configuration for Windows
Content Source: WindowsServerDocs/administration/OpenSSH/OpenSSH_Server_Configuration.md
Service: windows-server
Sub-service: administration
GitHub Login: @maertendMSFT
Microsoft Alias: damaerte

We hugely appreciate your contribution, feedback, and support to our technical documentation.
We’ve phased out GitHub Issues on this repository as the feedback mechanism for content and have replaced it with a new feedback system. For more information see, Content User Feedback. As part of this rollout, we are migrating your issue where our team will use your comments to improve the documentation experience. Unfortunately, this does mean you won't be able to access this issue after the migration is complete.
All issues will be migrated by Thursday 29th August 2024.
Once again, thank you for your valuable feedback, we hope you’ll continue to contribute using our new feedback system.


Are nested parameters possible?

The API endpoint I use daily via Python has the following format (de-identified):
https://apiserver.superdupersystem.com/sds/servlet/sdssws?xmldata=<sdssws><operation+report="somereport">export</operation><parameters><customercode>mycustomercode</customercode><accesscode>theaccesscode</accesscode><username>myusername</username><location>AnyTown</location><startdate>10+Sep+2023</startdate><stopdate>10+Sep+2023</stopdate><dateselector>1</dateselector><includeexempt>no</includeexempt></parameters></sdssws>

To put it another way:
The GET URL is: https://apiserver.superdupersystem.com/sds/servlet/sdssws
sdssws is the parent parameter with all of the true parameters nested inside a sub-parameter called parameter:
<sdssws>
    <operation+report="somereport">export</operation>
    <parameters>
        <customercode>mycustomercode</customercode>
        <accesscode>theaccesscode</accesscode>
        <username>myusername</username>
        <location>AnyTown</location>
        <startdate>10+Sep+2023</startdate>
        <stopdate>11+Sep+2023</stopdate>
        <dateselector>1</dateselector>
        <includeexempt>no</includeexempt>
    </parameters>
</sdssws>

How can I do this in Bruno? I'd love to use Bruno to verify that a change to the API is working as expected and to have a proof of concept to show my superiors that the requested feature was added and I'm ready to implement it in my program.

@DesertDwarf Have you taken a look at setting request variables: https://docs.usebruno.com/scripting/vars.html
The request vars that can be used in url/headers/body via the {{varName}} syntax

Thanks!


CTRL-^ goes back to log buffer instead of previous open buffer

CTRL-^ (or CTRL-6) is used to go back to the previous opened buffer. There's an annoying edge case where if you have two buffers you're currently working on (two clojure files), then open Conjure log buffer using <localleader>ls, close it using lq, and finall press CTRL-^ - it goes back to the log buffer instead of the previous clojure buffer.

Since Conjure's log was the previous opened buffer, I'm not sure how I can get around this? Is there any way to alter the buffer history in nvim? :thinking: I'll have to investigate if this is even possible, if you know of a way to do that, I'll have a read up on it.
I feel like this'd actually be detrimental for a few use cases since I use <prefix>gd to jump to the definition of some things from the log then CTRL-O to jump back, I wonder if it would break that case.

Since Conjure's log was the previous opened buffer, I'm not sure how I can get around this? Is there any way to alter the buffer history in nvim? :thinking: I'll have to investigate if this is even possible, if you know of a way to do that, I'll have a read up on it.
I feel like this'd actually be detrimental for a few use cases since I use <prefix>gd to jump to the definition of some things from the log then CTRL-O to jump back, I wonder if it would break that case.

Thing is, current behavior contradicts similar behavior from other plugins - for example if you open a buffer explorer or an fzf buffer and then CTRL-^: it doesn't throw you to that temporary buffer. perhaps Conjure's log buffer could beahve the same.

Thing is, current behavior contradicts similar behavior from other plugins - for example if you open a buffer explorer or an fzf buffer and then CTRL-^: it doesn't throw you to that temporary buffer. perhaps Conjure's log buffer could beahve the same.

I had to go read up on keepalt and :h alternate-file, really interesting! I haven't really used it before, but I hooked keepalt into the log split / tab creation so it should behave as expected on the develop branch now. Let me know if that does the trick for you!
I misunderstood you at first, I was thinking about CTRL-I and CTRL-O to jump back and forth in the jumplist, which I think is something I can't modify? And I like having the log in there anyway, alternate files are a different thing and I agree with you now :smile:
Thanks for prompting the improvement!

I had to go read up on keepalt and :h alternate-file, really interesting! I haven't really used it before, but I hooked keepalt into the log split / tab creation so it should behave as expected on the develop branch now. Let me know if that does the trick for you!
I misunderstood you at first, I was thinking about CTRL-I and CTRL-O to jump back and forth in the jumplist, which I think is something I can't modify? And I like having the log in there anyway, alternate files are a different thing and I agree with you now :smile:
Thanks for prompting the improvement!

It works! Thank you.

It works! Thank you.


Adding lr_mult directly to Tensor class, making it available in Optimizer

Adding a learning-rate multiplier for Tensors/Optim. This isn't necessarily 1:1 with pytorch as you need to set it during the parameter collection process - but it is 1:1 with mxnet - and having used mxnet internally at AWS, this was a nice thing about the library.
examples:
pytorch method
import timm
import torch.optim as optim
model = timm.create_model('resnet18', num_classes = 100)
lr = 0.001
lr_mult = 0.01

parameters = []
for param in model.named_parameters:

  if param.requires_grad:
    param_dict = dict()
    param_dict['params'] = param
    param_dict['lr'] = lr * lr_mult
    parameters.append(param_dict)

optimizer = optim.Adam(parameters)

mxnet method
from mxnet import gluon
from gluoncv.model_zoo import get_model
net = get_model('resnet18, pretrained=True)
for v in net.collect_params().values():
  if 'conv' in v.name:
    setattr(v, 'lr_mult', 0.01)
optimizer = gluon.Trainer(net.collect_params(), 'sgd', {
        'learning_rate': lr, 'momentum': momentum, 'wd': wd})

thus, my proposal is this:
add lr_mult to Tensor
class Tensor:
  __slots__ = "lazydata", "requires_grad", "grad", "_ctx", "lr_mult"
  __deletable__ = ('_ctx',)
  training: ClassVar[bool] = False
  no_grad: ClassVar[bool] = False
  default_type: ClassVar[DType] = dtypes.float32

  def __init__(self, data:Union[int, float, list, tuple, LazyBuffer, np.ndarray], device:Optional[str]=None, dtype:Optional[DType]=None, requires_grad:Optional[bool]=None):
    assert dtype is None or isinstance(dtype, DType), f"invalid dtype {dtype}"
    device = Device.canonicalize(device)
    # tensors have gradients, buffers do not
    self.lr_mult = float(1.0)
   ...

use lr_mult in the optimizer
class LAMB(Optimizer):
  def __init__(self, params: List[Tensor], lr=0.001, b1=0.9, b2=0.999, eps=1e-6, wd=0.0, adam=False):
    super().__init__(params)
    self.lr, self.b1, self.b2, self.eps, self.wd, self.adam, self.t = lr, b1, b2, eps, wd, adam, Tensor([0], requires_grad=False).realize()
    self.m = [Tensor.zeros(*t.shape, device=t.device, requires_grad=False) for t in self.params]
    self.v = [Tensor.zeros(*t.shape, device=t.device, requires_grad=False) for t in self.params]

  def step(self) -> None:
    self.t.assign(self.t + 1).realize()
    for i, t in enumerate(self.params):
      assert t.grad is not None
      g = t.grad.realize()
      self.m[i].assign(self.b1 * self.m[i] + (1.0 - self.b1) * g).realize()
      self.v[i].assign(self.b2 * self.v[i] + (1.0 - self.b2) * (g * g)).realize()
      m_hat = self.m[i] / (1.0 - self.b1**self.t)
      v_hat = self.v[i] / (1.0 - self.b2**self.t)
      up = (m_hat / (v_hat.sqrt() + self.eps)) + self.wd * t.detach()
      if not self.adam:
        r1 = t.detach().square().sum().sqrt()
        r2 = up.square().sum().sqrt()
        r = Tensor.where(r1 > 0, Tensor.where(r2 > 0, r1 / r2, 1.0), 1.0)
      else:
        r = 1.0
      t.assign(t.detach() - (self.lr * t.lr_mult) * r * up)
    self.realize([self.t] + self.m + self.v)

use lr_mult to dampen effects on pretrained layers
# Use a smaller learning rate for pre-trained convolutional layers.

from tinygrad.state import get_parameters
from models.resnet import ResNet50
from custom_model import EmbeddingNet

feature_net = ResNet50()
feature_net.load_from_pretrained()

feature_params = get_parameters(feature_net)
for param in feature_params:
    setattr(param, 'lr_mult', 0.01)

embedding_net = EmbeddingNet(feature_net)

My knee-jerk reaction to this is that most Tensors will not need that parameter and you will have a lot of tensors created in any semi-serious application.
How does it impact performance in the general case to have to carry that float around everywhere? We have a LLaMA benchmark in test/external/external_test_speed_llama.py that you can use to get a feel

@rayanht fair point
will run tests to see what the overhead ends up being and report back - perhaps something like this instead where an addition to __slots__ is made, but it isn't assigned a value unless it's explicitly used; where the Optimizer would look something like this. Thoughts?
class Tensor:
  __slots__ = "lazydata", "requires_grad", "grad", "_ctx", "lr_mult"
  __deletable__ = ('_ctx',)
  training: ClassVar[bool] = False
  no_grad: ClassVar[bool] = False
  default_type: ClassVar[DType] = dtypes.float32

  def __init__(self, data:Union[int, float, list, tuple, LazyBuffer, np.ndarray], device:Optional[str]=None, dtype:Optional[DType]=None, requires_grad:Optional[bool]=None):
    assert dtype is None or isinstance(dtype, DType), f"invalid dtype {dtype}"
    device = Device.canonicalize(device)
    # tensors have gradients, buffers do not
    self.grad: Optional[Tensor] = None

    # NOTE: this can be in three states. False and None: no gradient, True: gradient
    # None (the default) will be updated to True if it's put in an optimizer
    self.requires_grad: Optional[bool] = requires_grad

class LAMB(Optimizer):
  def __init__(self, params: List[Tensor], lr=0.001, b1=0.9, b2=0.999, eps=1e-6, wd=0.0, adam=False):
    super().__init__(params)
    self.lr, self.b1, self.b2, self.eps, self.wd, self.adam, self.t = lr, b1, b2, eps, wd, adam, Tensor([0], requires_grad=False).realize()
    self.m = [Tensor.zeros(*t.shape, device=t.device, requires_grad=False) for t in self.params]
    self.v = [Tensor.zeros(*t.shape, device=t.device, requires_grad=False) for t in self.params]

  def step(self) -> None:
    self.t.assign(self.t + 1).realize()
    for i, t in enumerate(self.params):
      assert t.grad is not None
      g = t.grad.realize()
      self.m[i].assign(self.b1 * self.m[i] + (1.0 - self.b1) * g).realize()
      self.v[i].assign(self.b2 * self.v[i] + (1.0 - self.b2) * (g * g)).realize()
      m_hat = self.m[i] / (1.0 - self.b1**self.t)
      v_hat = self.v[i] / (1.0 - self.b2**self.t)
      up = (m_hat / (v_hat.sqrt() + self.eps)) + self.wd * t.detach()
      if not self.adam:
        r1 = t.detach().square().sum().sqrt()
        r2 = up.square().sum().sqrt()
        r = Tensor.where(r1 > 0, Tensor.where(r2 > 0, r1 / r2, 1.0), 1.0)
      else:
        r = 1.0
      t.assign(t.detach() - ((self.lr * t.lr_mult) if hasattr(t, 'lr_mult') else self.lr) * r * up)
    self.realize([self.t] + self.m + self.v)

I don't like this, why not use two Optimizers?

@geohot ultimately your call; I had been using this specifically so I didn't need to use multiple optimizers for all the random tests I was doing - example being each block of a given network getting it's own optimizer (say like 20 separate optimizers) vs just changing the attribute).

I'm fine with some syntactic sugar for this on the optimizer, but not a new property on the tensor. The Optimizer exists at a higher level than Tensor.

@geohot fair enough. torch's syntax is something like this:
class Net(nn.Module):
    def __init__(self):
        super(Net, self).__init__()
        self.layer1 = nn.Linear(1, 1)
        self.layer1.weight.data.fill_(1)
        self.layer1.bias.data.fill_(1)
        self.layer2 = nn.Linear(1, 1)
        self.layer2.weight.data.fill_(1)
        self.layer2.bias.data.fill_(1)

    def forward(self, x):
        x = self.layer1(x)
        return self.layer2(x)

net = Net()
optimizer = optim.Adam([
            {'params': net.layer1.weight},
            {'params': net.layer1.bias, 'lr': 0.01},
            {'params': net.layer2.weight, 'lr': 0.001}
        ], lr=0.1, weight_decay=0.0001)

I'll attempt to get this into the Optimizer alone w/o any other line changes/adds


generate action interfaces

was this left out intentionally?

@ipa-hsd: FYI

Very good catch, thanks!


Notebook example missing Lux module setup for non-Kaggle environments

Getting Started sends you to the notebook here to set up:
https://www.kaggle.com/stonet2000/lux-ai-season-1-jupyter-notebook-tutorial
Running through this notebook locally (instead of on kaggle) runs into a snag when it comes to:
from lux.game import Game
This is because the lux library needs to be copied to the local directory. I'd suggest maybe adding a comment to the cell ahead of it on what to do if you aren't using kaggle notebooks instead of that copy command. (Clone github repo, and copy the folder "/kits/python/simple/lux" into the same folder as the notebook).

This is fixed soon, thanks for bringing this up! I've added the usual fix thats in the starter kits.


Plane detection/tracking similar to ARCore

Is your feature request related to a problem? Please describe.
Markerless AR is very important for user. Detecting and tracking plane such as floor, wall,... is very usefull to develop markless AR application.
Please refer to ARCore as reference
Describe the solution you'd like
https://iopscience.iop.org/article/10.1088/1742-6596/1566/1/012018/pdf
Describe alternatives you've considered
NA
Additional context
Mobile device

Repo has been moved. Please open issue here: https://github.com/AR-js-org/AR.js/issues


search node restart failed

I removed hnsw indexing from a  tensor field, and met an exception when restarting the searchnode.

origin field definition

delete hnsw indexing

And I found the update latency is pretty high when there is a hnsw field in document.
The write qps is only 1000- on a vespa cluster with 36 nodes.

write latency

write qps without hnsw

Thank you for your report,
What Vespa version are you using? The innerproduct distance metric was added recently so I'm wondering if you have a miss-match in the Vespa version of the configuration servers and the Vespa content nodes (e.g configuration server is with a recent Vespa version which accepts the innerproduct distance metric and your content nodes have a Vespa version which does not know about the innerproduct metric. Adding or removing HNSW index is a deployment operation which requires a restart of the content nodes. Could you verify this? If you have the same version could you provide the sequence of operations and output when you deploy the changed schema.
On performance with HNSW

Your reported throughput is much much less than expected if your setup is 16 nodes in a flat distribution, if you have a single partition in a grouped distribution it's more inline with expectation for vanilla HW (1600 puts). Multi-threaded indexing for HNSW was also added around the same time as the innerproduct distance metric was added.
128 dimensional SIFT gives about 6200 puts/s per node with default concurrency.

7.286.18

Thanks for reporting this. I have reproduced it locally. We have a bug where we don't recognise innerproduct as a valid distance metric when reading header information for an attribute tensor during loading from disk. This issue can also be triggered by just restarting a content node where an attribute tensor uses:
attribute {
    distance-metric: innerproduct
}

This issue is fixed in https://github.com/vespa-engine/vespa/pull/14537.

Great！The searchnode restart successfully with your configuration. Thanks.
Is there any process on low writing qps to hnsw index?

The fix is available in version >= 7.292.39.

Hello @dsisds,
It's easier to comment on write performance if you share more on your setup and configuration overrides/tunings.

Type of HW - and resource usage observations? With default concurrency setting you should get close to 50% cpu usage.
How many fields with HNSW and settings? We expect > 6000 puts/s per node with 128 dimensions and the hnsw graph settings you have there (for a single fields). More fields with hnsw gives less throughput and more work. I assume you don't compute the embeddings as part of the feeding?
Grouped of flat distribution ?
What's the observed cpu usage (document processing, content nodes) - have you done any profiling (https://docs.vespa.ai/documentation/performance/profiling.html)?
Any specific configuration overrides in services.xml? Multi-threaded HNSW indexing is controlled by the concurrency setting in services.xml as mentioned here https://docs.vespa.ai/documentation/approximate-nn-hnsw.html. If you have some custom configuration overrides might cancel this high level configuration knob.

Hello @jobergum

I set feeding.concurrency to 0.8. The cpu usage is between 100% ~ 200% when add one hnsw field to a content cluster with data. The cpu usage is about 50% when feeding data to a cluster with one hnsw field. There are 35 nodes in the vespa cluster and each node has 48 cpu cores.

There is Only one HNSW field. All embeddings are pre-computed.

No groups. Check my content setttings.

CPU profiling.

field settings

If the above top screenshot is taken during feeding there is something that is seriously off as proton is using only a single cpu core (100%). The expected if there there are not bottlenecks outside of the content node would be 2400% and 50% overall cpu utilization on the host. You have enough document processing (container) instances to get enough data through?

I deployed container services on all the nodes.
My cluster contains 35 container nodes, and 700M documents.

@dsisds
So to help my understanding as I'm a little confused but thanks for confirming that the container processing capability is sufficient.

You loaded the tensor field with summary |attribute for all 700M documents
Then you changed the configuration to include summary|attribute|index plus the index.hnsw setting and deploy this change
Then you observe vespa-proton-bin occupy only 1 cpu core as in the screenshot in the comment above

Is this an accurate summary?

yes

Thanks for clarifying @dsisds,
In this case, the HNSW index is built when loading the bert_embedding tensor attribute for the first time after the schema changes and this process will be single threaded. If the schema specified hnsw index before loading it would be much faster as then the index building would be multi-threaded (controlled by mentioned concurrency parameter).

Understood.
Thanks for your patience.
Is there any progress on the low performance of feeding index with an HNSW field?

As I wrote earlier our performance testing with HNSW index  with similar dimensionality using SIFT 128 we achieve just north of 6000 puts/s per node.  Your reported performance with a larger cluster is pretty far from what I would have expected.
So what I suggest is that you setup a single node cluster and feed 20M documents (bootstrap) with the embedding and hnsw index to it and measure the feed performance and provide us with information on hw spec of this node and resource utilization during feed, e.g using top like above and preferably also perf profiling.

@dsisds any updates on this?


Google Maps: Show the specific address when only a destination is provided

It's possible to get Google Maps to show the address of the destination. This is really useful for showing users directions from their current location to a destination address. Without this change they only see the coordinates, which isn't very useful for delivery services.

Thanks for the change! 😊

Sorry for totally forgetting to tag a new release with this change. I've just pushed the tag 4.1.1 that includes this change.


Include operation_name in options passed to step adapters

The operation name (which for a transaction working with a container, is the operations container identifier) is important for certain 3rd party step adapters, like those that use the operation name to enqueue an operation to run in a background job.
@flash-gordon do you see any issues with this being added back in?

@timriley I don't see any reason why this would cause an issue. 😄

I might push out a point release with this in place today. Still happy to discuss, if need be :)

@timriley I've no idea why it was done like that :) should be fine