Lists

Specifically the editable / deletable / sortable functionality.
http://ionicframework.com/docs/nightly/api/directive/ionList/

hey nick. can you describe how you used the ionList and ionItems in your example apps? I´ve read the example app code and tried to do so but its not working for me like in your contacts app.

It should be pretty straightforward unless something is broken. What isn't working for you specifically?

ah ok its working for me now. I was just confused because you iterate for each "contacts" in your template but I could not find any helper with that name. I´m right that you dont used a helper for {{#each contacts}} and contacts is just the name of the collection?

Ah right, contacts comes from the route: https://github.com/meteoric/contacts/blob/master/both/router.js#L10

nice thx. dont have seen this before that this is possible with routes. cool.
ok so list are working with meteoric but not the advanced list stuff right? (like swipe to delete etc)

Correct. The current ionList and ionItem components are just HTML wrappers right now.

ok I keep an eye on it ;) nice work dude

do you have an example for lists with dividers?

I started to build out this functionality, so far I added the left/right editable buttons and reorder capabilities using slip.js(https://github.com/pornel/slip).  You can preview what I have so far on http://meteoric-contacts-list.meteor.com/
Here's my modified repositories:
https://github.com/koolaid1551/meteor-ionic
https://github.com/koolaid1551/contacts

Awesome work @koolaid1551 - really excited to see this get implemented.

using slip.js

Well we're already using snap.js and slick.js, so slip.js seems like a good choice :)

I am currently relying on a few classes to be apart of each list '.list' and list items '.item-content'. I am hoping to find a cleaner way of accomplishing this(potentially create a few more components)

Hmm yeah that does seem less than ideal. Maybe take a look at how Ionic is doing it, I think they are automatically detecting and adding those classes.

To show hidden options I believe I am going to have to modify slip.js to reveal options beneath a list item.

Can you clarify what you mean by "hidden options"?

https://github.com/koolaid1551/contacts
One small bug I noticed here is that when I drop an item after reordering my click registers and navigates to the item's routes.

But yeah, this seems like a great start. Let me know when you think it's ready for a PR and take a closer look at it.

@nickw by hidden options I mean when you swipe left you can reveal additional actions underneath each item.  For example if you check out the ionic lists(http://ionicframework.com/docs/api/directive/ionList/) you can swipe left and Edit and Share buttons appear.

This is awesome! +1

What is missing to make this happen?

+1
How can I help?

@guilhermedecampo @gregheth
I originally built these for a prototype I was building, ultimately we decided to use angular with meteor, solely because there were a few angular libraries that we wanted to use.  This has caused me to use the Ionic framework directly and has caused my work on the list feature stop for the time being.
On the other hand reordering should still be working, as well as the toggling of actions on the left and right side. I was just going to clean up my code and see if there was a better way of implementing lists before submitting a pull request.  Feel free to use my code as a starting point and submit a pull request as I am not sure when I can finish my work.
Please check out my modified repositories, to see how I implemented it:
https://github.com/MacNCheeze/meteor-ionic
https://github.com/MacNCheeze/contacts
Also feel free to check out the working demo http://meteoric-contacts-list.meteor.com/
If you have any specific questions related directly to my code I'd be more than happy to try an answer them :)

Is there any way that we can use edit and delete function without Angular? @MacNCheeze @nickw

+1

So we're just missing the swipe to edit/delete thing now right?

@nickw Hey Nick, I want to try to see if I can get this sortable-deletable functionality into a state where I could submit a PR. My plan is to add an additional template called ionListButton? I was thinking I'd like the syntax to look like:
  {{#ionListButton action="delete" side="left"}}
      {{>ionIcon icon="close-circled"}}
   {{/listButton}}

   {{#ionListButton action="reorder" side="right"}}
      {{>ionIcon icon="drag"}}
    {{/reorderButton}}

This would also allow for a single button to do both actions, e.g.
 {{#ionListButton action="reorder delete" side="left"}} //etc.

the side argument specifies which side you are toggling.
This is pretty well in line with how the ionic framework does it. I'm planning on making this the only change you need to add, everything else should (hopefully) happen behind the scenes. No need for classes on the list item, etc... Do you think that would be a good way to do this?
I've created a fresh fork of meteor-ionic and pulled all @MacNCheeze's code in. I'll even test it before I submit a PR this time... haha

@jorjordandan sounds good - go for it!

I tried to embed changes to my code you have specified in diff MacNCheeze/contacts@02e5d39#diff-70eb3c2b2e74bea5660d5b941ef44fa8, but my delete button on top left does not work. I is not showing minus circles on the list.  Please help me out what can be that I am missing.
I do not need reordering so I just edited contacts.html file. Please help me out.

@richagoel You need to be using a meteor-ionic package that supports deleting first. If you are using the latest version of the package from github, then you can follow the guide here. If you aren't using the latest version, you should clone the latest version into your package folder in your project, and add it from there.

awesome! Thanks for that! @jorjordandan !!

@jorjordandan Thanks for the response. I have already added the latest versions of the packages you have mentioned. And I have changed the code for delete button as you told in guide. But now I am getting the error
[Log] Exception in queued task: http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:2979:24 (meteor.js, line 888, x5)
http://localhost:3000/packages/spacebars.js?7bafbe05ec09b6bbb6a3b276537e4995ab298a2f:72:41
http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:1865:22
_withTemplateInstanceFunc@http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:3476:16
http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:1864:54
_withCurrentView@http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:2197:16
Spacebars.include:anonymous@http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:1863:34
_compute@http://localhost:3000/packages/tracker.js?6d0890939291d9780f7e2607ee3af3e7f98a3d9c:327:36
Computation@http://localhost:3000/packages/tracker.js?6d0890939291d9780f7e2607ee3af3e7f98a3d9c:243:18
autorun@http://localhost:3000/packages/tracker.js?6d0890939291d9780f7e2607ee3af3e7f98a3d9c:566:34
autorun@http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:1875:29
http://localhost:3000/packages/spacebars.js?7bafbe05ec09b6bbb6a3b276537e4995ab298a2f:71:17
fireCallbacks@http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:1941:20
nonreactive@http://localhost:3000/packages/tracker.js?6d0890939291d9780f7e2607ee3af3e7f98a3d9c:593:13
http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:1938:24
_withCurrentView@http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:2197:16
_fireCallbacks@http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:1937:25
_createView@http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:1955:23
_materializeView@http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:1998:20
materializeDOMInner@http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:1476:31
_materializeDOM@http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:1428:26
http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:2040:46
nonreactive@http://localhost:3000/packages/tracker.js?6d0890939291d9780f7e2607ee3af3e7f98a3d9c:593:13
_materializeView@http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:2004:22
http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:2694:47
nonreactive@http://localhost:3000/packages/tracker.js?6d0890939291d9780f7e2607ee3af3e7f98a3d9c:593:13
addedAt@http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:2682:28
addedAt@http://localhost:3000/packages/observe-sequence.js?0532a9dd76dd78f543eb4d79a1e429df186d8bde:368:26
addedBefore@http://localhost:3000/packages/minimongo.js?af9eb9d7447544ca9b839a3dcf7ed2da2209b56c:3862:35
addedBefore@http://localhost:3000/packages/minimongo.js?af9eb9d7447544ca9b839a3dcf7ed2da2209b56c:3799:60
http://localhost:3000/packages/minimongo.js?af9eb9d7447544ca9b839a3dcf7ed2da2209b56c:415:18
runTask@http://localhost:3000/packages/meteor.js?43b7958c1598803e94014f27f5f622b0bddc0aaf:693:12
flush@http://localhost:3000/packages/meteor.js?43b7958c1598803e94014f27f5f622b0bddc0aaf:721:17
drain@http://localhost:3000/packages/meteor.js?43b7958c1598803e94014f27f5f622b0bddc0aaf:729:17
insert@http://localhost:3000/packages/minimongo.js?af9eb9d7447544ca9b839a3dcf7ed2da2209b56c:623:27
update@http://localhost:3000/packages/mongo.js?3cfe0c5981c197df33036a37574850f057e934a6:253:34
http://localhost:3000/packages/ddp.js?d1840d3ba04c65ffade261f362e26699b7509706:3915:53
http://localhost:3000/packages/ddp.js?d1840d3ba04c65ffade261f362e26699b7509706:4688:25
forEach@[native code]
forEach@http://localhost:3000/packages/underscore.js?0a80a8623e1b40b5df5a05582f288ddd586eaa18:156:18
http://localhost:3000/packages/ddp.js?d1840d3ba04c65ffade261f362e26699b7509706:4687:17
forEach@http://localhost:3000/packages/underscore.js?0a80a8623e1b40b5df5a05582f288ddd586eaa18:164:26
_livedata_data@http://localhost:3000/packages/ddp.js?d1840d3ba04c65ffade261f362e26699b7509706:4684:13
onMessage@http://localhost:3000/packages/ddp.js?d1840d3ba04c65ffade261f362e26699b7509706:3721:26
http://localhost:3000/packages/ddp.js?d1840d3ba04c65ffade261f362e26699b7509706:2717:19
forEach@[native code]
forEach@http://localhost:3000/packages/underscore.js?0a80a8623e1b40b5df5a05582f288ddd586eaa18:156:18
onmessage@http://localhost:3000/packages/ddp.js?d1840d3ba04c65ffade261f362e26699b7509706:2716:15
dispatchEvent@http://localhost:3000/packages/ddp.js?d1840d3ba04c65ffade261f362e26699b7509706:156:27
_dispatchMessage@http://localhost:3000/packages/ddp.js?d1840d3ba04c65ffade261f362e26699b7509706:1141:23
_didMessage@http://localhost:3000/packages/ddp.js?d1840d3ba04c65ffade261f362e26699b7509706:1199:34
onmessage@http://localhost:3000/packages/ddp.js?d1840d3ba04c65ffade261f362e26699b7509706:1346:28
[Log] Exception in queued task: http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:2979:24 (meteor.js, line 888, x5)
http://localhost:3000/packages/spacebars.js?7bafbe05ec09b6bbb6a3b276537e4995ab298a2f:72:41
http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:1865:22
_withTemplateInstanceFunc@http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:3476:16
http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:1864:54
_withCurrentView@http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:2197:16
Spacebars.include:anonymous@http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:1863:34
_compute@http://localhost:3000/packages/tracker.js?6d0890939291d9780f7e2607ee3af3e7f98a3d9c:327:36
Computation@http://localhost:3000/packages/tracker.js?6d0890939291d9780f7e2607ee3af3e7f98a3d9c:243:18
autorun@http://localhost:3000/packages/tracker.js?6d0890939291d9780f7e2607ee3af3e7f98a3d9c:566:34
autorun@http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:1875:29
http://localhost:3000/packages/spacebars.js?7bafbe05ec09b6bbb6a3b276537e4995ab298a2f:71:17
fireCallbacks@http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:1941:20
nonreactive@http://localhost:3000/packages/tracker.js?6d0890939291d9780f7e2607ee3af3e7f98a3d9c:593:13
http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:1938:24
_withCurrentView@http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:2197:16
_fireCallbacks@http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:1937:25
_createView@http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:1955:23
_materializeView@http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:1998:20
materializeDOMInner@http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:1476:31
_materializeDOM@http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:1428:26
http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:2040:46
nonreactive@http://localhost:3000/packages/tracker.js?6d0890939291d9780f7e2607ee3af3e7f98a3d9c:593:13
_materializeView@http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:2004:22
http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:2694:47
nonreactive@http://localhost:3000/packages/tracker.js?6d0890939291d9780f7e2607ee3af3e7f98a3d9c:593:13
addedAt@http://localhost:3000/packages/blaze.js?a5c324925e5f6e800a4c618d71caf2848b53bf51:2682:28
addedAt@http://localhost:3000/packages/observe-sequence.js?0532a9dd76dd78f543eb4d79a1e429df186d8bde:368:26
addedBefore@http://localhost:3000/packages/minimongo.js?af9eb9d7447544ca9b839a3dcf7ed2da2209b56c:3862:35
addedBefore@http://localhost:3000/packages/minimongo.js?af9eb9d7447544ca9b839a3dcf7ed2da2209b56c:3799:60
http://localhost:3000/packages/minimongo.js?af9eb9d7447544ca9b839a3dcf7ed2da2209b56c:415:18
runTask@http://localhost:3000/packages/meteor.js?43b7958c1598803e94014f27f5f622b0bddc0aaf:693:12
flush@http://localhost:3000/packages/meteor.js?43b7958c1598803e94014f27f5f622b0bddc0aaf:721:17
drain@http://localhost:3000/packages/meteor.js?43b7958c1598803e94014f27f5f622b0bddc0aaf:729:17
insert@http://localhost:3000/packages/minimongo.js?af9eb9d7447544ca9b839a3dcf7ed2da2209b56c:623:27
update@http://localhost:3000/packages/mongo.js?3cfe0c5981c197df33036a37574850f057e934a6:253:34
http://localhost:3000/packages/ddp.js?d1840d3ba04c65ffade261f362e26699b7509706:3915:53
http://localhost:3000/packages/ddp.js?d1840d3ba04c65ffade261f362e26699b7509706:4688:25
forEach@[native code]
forEach@http://localhost:3000/packages/underscore.js?0a80a8623e1b40b5df5a05582f288ddd586eaa18:156:18
http://localhost:3000/packages/ddp.js?d1840d3ba04c65ffade261f362e26699b7509706:4687:17
forEach@http://localhost:3000/packages/underscore.js?0a80a8623e1b40b5df5a05582f288ddd586eaa18:164:26
_livedata_data@http://localhost:3000/packages/ddp.js?d1840d3ba04c65ffade261f362e26699b7509706:4684:13
onMessage@http://localhost:3000/packages/ddp.js?d1840d3ba04c65ffade261f362e26699b7509706:3721:26
http://localhost:3000/packages/ddp.js?d1840d3ba04c65ffade261f362e26699b7509706:2717:19
forEach@[native code]
forEach@http://localhost:3000/packages/underscore.js?0a80a8623e1b40b5df5a05582f288ddd586eaa18:156:18
onmessage@http://localhost:3000/packages/ddp.js?d1840d3ba04c65ffade261f362e26699b7509706:2716:15
dispatchEvent@http://localhost:3000/packages/ddp.js?d1840d3ba04c65ffade261f362e26699b7509706:156:27
_dispatchMessage@http://localhost:3000/packages/ddp.js?d1840d3ba04c65ffade261f362e26699b7509706:1141:23
_didMessage@http://localhost:3000/packages/ddp.js?d1840d3ba04c65ffade261f362e26699b7509706:1199:34
onmessage@http://localhost:3000/packages/ddp.js?d1840d3ba04c65ffade261f362e26699b7509706:1346:28
And no list is coming on the screen. Only header is coming.
Please help.

You can't just use the latest version of the meteoric package - you have to use the actual package from github. The changes to add sort and delete have been added recently and the changes haven't been published to the meteor package system yet. That's why you need to use the package from git hub, and use it locally in your project.

I am using HammerJS, came across some quick examples and ended up with this - http://imgur.com/me2IPuQ
Not sure if this already exists and I'm wasting my time or would others get some use out of it as well?

@aesmon did you end up finishing that implementation? Would be very useful!


Use Traefik as a proxy

Use Traefik as an external proxy for JupyterHub, running in its own container, using jupyter-traefik-proxy.
This will make configuring HTTPS easier by adding a few lines to traefik.toml, since Traefik has built-in support for Let's Encrypt: https://docs.traefik.io/https/acme/
The Traefik dashboard could also be exposed to get access to the proxy metrics and monitoring.

There seems to be an issue with the routing of named server when using Traefik as a proxy: https://github.com/jupyterhub/jupyterhub/pull/2957
Related fix: https://github.com/jupyterhub/jupyterhub/pull/2957
This would require bumping the version in the Dockerfile when the fix lands: https://github.com/plasmabio/plasmabio/blob/master/hub/Dockerfile

Moved the named server routing issue to https://github.com/plasmabio/plasmabio/issues/8.


fix encoding tests: avoid using node:test

A small regression from #35, nothing major but inconsistent with broader codebase and avoids it working out-of-the-box with bun etc...

Thanks!


rule.exclude not working

Bug report

What is the current behavior?
webpack build does not exclude specified file
> npx webpack --verbose --mode production --config webpack.config.js

ℹ ｢atl｣: Using<EMAIL_ADDRESS>from typescript
ℹ ｢atl｣: Using tsconfig.json from /Users/alma/Development/ts-test/tsconfig.json
ℹ ｢atl｣: Checking started in a separate process...
ℹ ｢atl｣: Time: 15ms
Hash: 4a7e2746873b6251a511
Version: webpack 4.28.4
Time: 1077ms
Built at: 01/15/2019 11:57:49 AM
            Asset      Size  Chunks             Chunk Names
    app.bundle.js  3.13 KiB       0  [emitted]  app
app.bundle.js.map  5.22 KiB       0  [emitted]  app
Entrypoint app = app.bundle.js app.bundle.js.map
chunk    {0} app.bundle.js, app.bundle.js.map (app) 416 bytes [entry] [rendered]
    > ./src/app.ts app
 [0] ./src/app.ts 186 bytes {0} [depth 0] [built]
     ModuleConcatenation bailout: Module is not an ECMAScript module
     single entry ./src/app.ts  app
 [1] ./src/add.ts 119 bytes {0} [depth 1] [built]
     ModuleConcatenation bailout: Module is not an ECMAScript module
     cjs require ./add [0] ./src/app.ts 3:14-30
 [2] ./src/multiply.ts 111 bytes {0} [depth 1] [built]
     [exports: PLACEHOLDER, never]
     ModuleConcatenation bailout: Module is referenced from these modules with unsupported syntax: ./src/app.ts (referenced with cjs require)
     cjs require ./multiply [0] ./src/app.ts 4:19-40

If the current behavior is a bug, please provide the steps to reproduce.
app.ts
import { hello } from './add';
import { world } from './subtract';
import { never } from './multiply';

hello();
never();

webpack.config.js
const path = require('path');
const TerserPlugin = require('terser-webpack-plugin');
const nodeExternals = require('webpack-node-externals');

module.exports = (env, argv) => {
    const config = {
        devtool: 'source-map',
        entry: {
            app: './src/app.ts'
        },
        output: {
            filename: '[name].bundle.js',
            path: path.resolve(__dirname, 'dist'),
            devtoolModuleFilenameTemplate: '/[resource-path]',
        },
        node: {
            __dirname: false
        },
        resolve: {
            extensions: ['.ts', '.js'],
        },
        module: {
            rules: [
                {
                    test: /\.ts$/,
                    loader: 'awesome-typescript-loader',
                    exclude: [
                        path.resolve(__dirname, 'src/multiply.ts'),
                    ],
                }
            ],
        },
        optimization: {
            minimizer: [
                new TerserPlugin({
                    sourceMap: true,
                    terserOptions: {
                        compress: false,
                        mangle: true,
                        output: {
                            comments: true,
                        },
                    },
                }),
            ],
        },
    }

    return config;
};

What is the expected behavior?
excluded src/multiply.ts should not be bundled.

Other relevant information:
webpack version:  v4.28.4
Node.js version:  v10.14.1
Operating System: darwin
Additional tools: awesome-typescript-loader v5.2.1, typescript v3.2.2

Same behaviour happens to me too. Exclude does not get respected. @colus001 Did you get any solution and hence closed the issue?

https://github.com/MatthieuLemoine/unused-webpack-plugin
I used plugin called UnusedWebpackPlugin

I'm on the same boat. I think that using a plugin is not an actual solution

I agree with @danielo515. The support docs lists exclude as a feature. The solution can't be to download a plugin. Has there been any progress on fixing this?

I have the same problem. Why is this closed as complete?


Flutter 3.0 TabbarView can not support swipe to back in Android.

Describe the bug

After upgrading Flutter 3.0, on Android models, pages with TabbarView no longer support right swipe to return。

Environment:

OS version:  Galaxy S20---Android 12
Flutter version:  3.0.4
Package version:  latest version

mine works with tabbar view flutter 3.0+, but not when the tabbar has the focus


Flickering in Ionic app with WKWebView on iOS 10

Hi,
I recently had to update my Ionic app web view to use the WKWebView instead of the UIWebView.
Because of this change, I had to install the Cordova WKWebView engine plugin. Right after this plugin installation, the ion-floating-menu I use in my app started flickering in my iPhone 6 (iOS 10). If I remove the plugin and return to the original UIWebView, the flickering disappears.
Is there any compatibility issue in using the ion-floating-menu with WKWebView in an Ionic app?
Regards.
Carlos.

Hi Carlos,
Thank you for your issue. I'm not aware of any specific issue. Can you try the older version 1.0.1 as well? Maybe it has something to do with the CSS transition.


switch to latest postcard git

We are using heapless 0.8.0 in the project.
Postcard-rpc was pulling heapless 0.7.17 and errors are observed when heapless string is used in a struct with Schema macro.
Patch tested, works.

wouldnt it make sense here than to fix it to current rev?

tested the clean build also with the fixed revision, all good


VSCode Intellisense for CSX not showing doc for types other than CSX references

Create a CSX file in VSCode.
Scenario 1:

Type "System.IO.",
Expected result: intellisense shows the xml doc descriptions for the types and member types.
Actual result: intellisense won't show the xml docs.

Scenario 2:

Create a simple assembly with a type that has xml docs in the classes and members.
Add a #r ".dll"  to the CSX file, (may require restarting omnisharp or even restarting vscode to make  intellisense recognize the new reference)
Expected result: intellisense shows the xml doc descriptions for the types and member types.
Actual result: intellisense won't show the xml docs.

Scenario 3:

Create a CSX file called file1.csx and add a public method with a summary xml doc.
Reference "file1.csx" in another csx file using #load.
Type the name of the method from file1.csx
Expected result: intellisense shows the xml doc description
This one works as expected.

@Zuriel-C thanks, I created https://github.com/OmniSharp/omnisharp-roslyn/pull/686 to (mostly) fix it

Add a #r ".dll" to the CSX file, (may require restarting omnisharp or even restarting vscode to make intellisense recognize the new reference)

Correct, these references are not processed in real time yet. ctrl+shift+p/cmd+shift+p and then restart omnisharp will be enough to get it picked up. The plan is to have it react in real time in the future though.

Scenario 2 has been fixed.
Scenario 1 has been fixed for .NET Core but not for desktop CLR where references to mscorlib and System.Core are implicit.

Correct, these references are not processed in real time yet. ctrl+shift+p/cmd+shift+p and then restart omnisharp will be enough to get it picked up. The plan is to have it react in real time in the future though.

This is now part of OmniSharp.


Trying to view polar chart via cdn

http://jsfiddle.net/2rpsyqp0/
I have the chart showing but I can't get the data to populate. I tried a few things and commented some code in that jsfiddle. Nothing helped. I am new to Vue and ECharts so I must be missing something basic.
Thanks

I don't think it's the right place to ask here. You can first try to configure chart options on ECharts gallery and once it works there but not working for Vue-Echarts, then it may be something wrong here.


LEGO: Pull request from lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20221125170229478 to main

LEGO: Pull request from lego/hb_04604851-bac4-4681-9f74-73de611d6e48_20221125170229478 to main with localized lcls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.008%) to 41.972%

Files with Coverage Reduction
New Missed Lines
%

extensions/machine-learning/src/common/processService.ts
2
81.48%

Totals

Change from base Build<PHONE_NUMBER>:
0.008%

Covered Lines:
28891

Relevant Lines:
63969

💛  - Coveralls


How do I host this on a server? I can't find the index.html after running build.

The build commands don't create a build directory with an index.html. I'm stuck. I was wondering if the static folder was the build folder. It has the bundle.js file, but i don't see any html files? Can anyone shed some light on this?

Hello @davidfufu,
to run this on a server, you will need to have node/npm installed and then run:
npm run start:universal

Let me know if this helps you 😉

So, I took a shot at hosting it on heroku.
I got the log files from the initial install.
-----> Node.js app detected
-----> Creating runtime environment

       NPM_CONFIG_LOGLEVEL=error
       NODE_VERBOSE=false
       NODE_ENV=production
       NODE_MODULES_CACHE=true
-----> Installing binaries
       engines.node (package.json):  unspecified
       engines.npm (package.json):   unspecified (use default)
       engines.yarn (package.json):  unspecified (use default)

       Resolving node version 8.x...
       Downloading and installing node 8.11.2...
       Using default npm version: 5.6.0
       Resolving yarn version 1.x...
       Downloading and installing yarn (1.7.0)...
       Installed yarn 1.7.0
-----> Restoring cache
       Skipping cache restore (not-found)
-----> Building dependencies
       Installing node modules (yarn.lock)
       yarn install v1.7.0
       [1/4] Resolving packages...
       warning snyk > proxy-agent > socks-proxy-agent ><EMAIL_ADDRESS>If using 2.x branch, please upgrade to at least 2.1.6 to avoid a serious bug with socket data flow and an import issue introduced in 2.1.0
       error Your lockfile needs to be updated, but yarn was run with `--frozen-lockfile`.
       info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
-----> Build failed
 !     Outdated Yarn lockfile
       Your application contains a Yarn lockfile (yarn.lock) which does not
       match the dependencies in package.json. This can happen if you use npm
       to install or update a dependency instead of Yarn.
       Please run the following command in your application directory and check
       in the new yarn.lock file:
       $ yarn install
       $ git add yarn.lock
       $ git commit -m "Updated Yarn lockfile"
       $ git push heroku master

       https://kb.heroku.com/why-is-my-node-js-build-failing-because-of-an-outdated-yarn-lockfile
 !     Push rejected, failed to compile Node.js app.
 !     Push failed

So I see it's a problem with the yarn.lock file, and I take the following steps:
1.I fork your repo
2. clone it on my pc and run "yarn install"
3. I commit and push the new yarn.lock changes onto my forked rep
4. i create the heroku app and choose github as the deployment method
5. I link my forked repo and it says the deployment was successful
6. I click view app, and all I get is the error
Application error
An error occurred in the application and your page could not be served. If you are the application owner, check your logs for details.

When I inspect the webpage, the console has one error:
Failed to load resource: the server responded with a status of 503 (Service Unavailable)

Then, I go to the heroku console and type in npm run start:universal and get the following error:

><EMAIL_ADDRESS>start:universal /app
> export UNIVERSAL=true && npm run start

><EMAIL_ADDRESS>start /app
> npm run build && node src/server-es5.js

><EMAIL_ADDRESS>build /app
> NODE_ENV=production webpack -p --profile --display-modules --optimize-minimize

sh: 1: webpack: not found
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR<EMAIL_ADDRESS>build: `NODE_ENV=production webpack -p --profile --display-modules --optimize-minimize`
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR!  Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR!  Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>start:universal script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /app/.npm/_logs/2018-06-06T20_43_09_724Z-debug.log

Help me out bro!!!

Sorry for the late reply.
It seems you have two problems here. an outdated yarn file and missing webpack in your heroku build pack. Not sure how to address both at the moment, but i am sure you can find something online.
Regarding yarn, i am sure if you just delete the yarn lock and re run yarn that should fix the issue. Regarding webpack there must be some webpack enabled build pack for heroku


can't save_to_file and load_from_file from linux when logic analyser is running on windows

Logic analyser running on a windows machine,
From a linux machine:
import saleae
la = saleae.Saleae("hostname")
la.save_to_file('c:/test_file.logicdata')
la.load_from_file('c:/test_file.logicdata')

doesn't work.
The same does work on a windows machine.
I believe this is because in linux,
os.path.abspath('c:/test_file.logicdata')
returns
/current/linux/working/directory/C:/test_file.logicdata
Would using os.path.normpath() work better here?

Not quite like that unfortunately. normpath alone is insufficient, it would need to be basically what's suggested in the python docs of normpath(join(os.getcwd(), path)).
The deeper problem here is that Logic doesn't support relative paths, so we have to convert to an absolute path. The rules for path manipulation will come from the os module where the Python script is running. If Logic is running on a different operating system, this module would have to be told that somehow (I don't believe there is a is an absolute path on any operating system function we can call).


Errors in the example

First problem with this example it that it doesn't compile, since MyFunc is a member of MyClass (btw using class is unnecessary, and clutters the example). Even after moving MyFunc out of class body, the example still doesn't work.
In no case can char c be > numeric_limits<char>::max(), since max() means biggest possible char. In current example, function call converts (implicit int constant) 256 into char, turning it into 0 (due to bit representation, but in general this is an undefined behavior). And since 0 > max() is false, no expection is thrown.
To make this example functional, argument to MyFunc should be of type int.
Here is my corrected version
#include <stdexcept>
#include <limits>
#include <iostream>

using namespace std;
   void MyFunc(int c)
   {
      if(c > numeric_limits<char>::max())
         throw invalid_argument("MyFunc argument too large.");
      //...
   }

int main()
{
   try
   {
      MyFunc(256); //cause an exception to throw
   }

   catch(invalid_argument& e)
   {
      cerr << e.what() << endl;
      return -1;
   }
   //...
   return 0;
}

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

ID: 808812eb-d44a-e405-70ed-4d15ed9be975
Version Independent ID: a3144c13-db26-9dbc-30d8-ae6ca52457af
Content: Errors and Exception Handling (Modern C++)
Content Source: docs/cpp/errors-and-exception-handling-modern-cpp.md
Product: visual-cpp
GitHub Login: @mikeblome
Microsoft Alias: mblome

@kaczorrrro thanks very much. your fix will appear tomorrow.


[BEAM-1983] Splittable DoFn changes for properly supporting side inputs

See https://issues.apache.org/jira/browse/BEAM-1983
The two nontrivial changes here are "Creates ProcessFnRunner" and "Explodes windows".
Overall, the current PR works by:

Exploding windows before GBKIKWI so that every KWI going into ProcessFn contains only 1 element, and that element is in only 1 window. This way, every ProcessElement call happens in a well-defined window which both makes sense for setting the namespace of the timer in case the fn needs to resume, and makes it clear where to get side inputs if the fn has any. This of course comes at the cost of not propagating windows of input to output, but makes the implementation much simpler.
Creating a DoFnRunner that is aware of the fact that, when processing a WindowedValue, the important window for fetching side inputs is not the outer one, but the one inside elementsIterable or inside timersIterable. The runner is actually specialized to run only ProcessFn, so it knows that there's only 1 element or only 1 timer, so it's easier to extract the window. Also, it's not a DoFnRunner per se, but a PushbackSideInputDoFnRunner - so that it's easier to integrate into existing runners, as shown by integrating into direct runner's ParDoEvaluator with little effort.

R: @tgroh

Coverage decreased (-0.08%) to 70.576% when pulling b26c6ac9d7004e1e5e986ffa6326aa1565335662 on jkff:spd-fixes into 4ff244d49c678f658f437600559cbe0a99048f81 on apache:master.

Run Flink ValidatesRunner

Coverage remained the same at 70.576% when pulling e08da1ae6f95562f670eaacb5a9bc1c27b41e6af on jkff:spd-fixes into 36e43558a2849204b4a9d077c542fa25e75c3fcb on apache:master.


Updated taskspec with nodeselector to allow for different nodeselector for each task.

The goal with this PR is to allow for different task in a Pipeline to have different node selectors.
Currently it is only possible(correct my if I am wrong) to set the nodeslector on the podTemplate spec, which will result in that all task have the same node selector. This limites the node selection to one choice and also limits the workflow usage.
My first contribution to Tekton, super happy for feedback and any suggestions.

Changes

Submitter Checklist
These are the criteria that every PR should meet, please check them off as you
review them:

[ ] Includes tests (if functionality changed/added)
[ ] Includes docs (if user facing)
[ ] Commit messages follow commit message best practices

See the contribution guide for more details.
Double check this list of stuff that's easy to miss:

If you are adding a new binary/image to the cmd dir, please update
the release Task to build and release this image.

Reviewer Notes
If API changes are included, additive changes must be approved by at least two OWNERS and backwards incompatible changes must be approved by more than 50% of the OWNERS, and they must first be added in a backwards compatible way.
Release Notes

/assign @afrittoli

/ok-to-test

I think of the ideas with the PodTemplate is that it is part of the Run object types and not the Task/Pipeline. This makes the Task/Pipeline types reusable across clusters. The use case is interesting though so I'll put this on the Working Group agenda to see what others think of this

I think of the ideas with the PodTemplate is that it is part of the Run object types and not the Task/Pipeline. This makes the Task/Pipeline types reusable across clusters. The use case is interesting though so I'll put this on the Working Group agenda to see what others think of this

Would it be better suited to move the functionality to the run objects using the names/tags  to set nodeselectors to specific tasks during run? This PR is related to working on a PR for kubeflow pipelines related to tekton https://github.com/kubeflow/kfp-tekton.

I think of the ideas with the PodTemplate is that it is part of the Run object types and not the Task/Pipeline. This makes the Task/Pipeline types reusable across clusters. The use case is interesting though so I'll put this on the Working Group agenda to see what others think of this

Would it be better suited to move the functionality to the run objects using the names/tags to set nodeselectors to specific tasks during run? This PR is related to working on a PR for kubeflow pipelines related to tekton https://github.com/kubeflow/kfp-tekton.

@NikeNano You can already specficy NodeSelectors on the *Run object using podTemplate : see podTemplate

Ah I see, what you need is a "by pipelinetask" podtemplate, a little bit like what we have for serviceAccount and serviceAccountNames :thinking:

Ah I see, what you need is a "by pipelinetask" podtemplate, a little bit like what we have for serviceAccount and serviceAccountNames 🤔

Yeah, I would guess this is a use case that could be relevant for several uses cases outside the efforts of Kubeflow pipeline + Tekton.

Actually this is a bit trickier than I initially thought. Putting a hold to discuss this more.
The general needs is : being able to override runtime info (serviceAccountName, podTemplate) for a task or a set of task in the Pipeline execution (PipelineRun).
Right now, we do this only for serviceAccountName with a serviceAccounNames field :
spec:
  serviceAccountName: sa-1
  serviceAccountNames:
    - taskName: build-task
      serviceAccountName: sa-for-build

Adding a podTemplates on the PipelineRun spec would make it weird, I feel we may want a better way to do this.

spec:
  serviceAccountName: sa-1
  podTemplate:
    securityContext:
      runAsNonRoot: true
    # […]
  taskOverride: # <- need a better name
  - name: build-task
    serviceAccountName: sa-for-build
    podTemplate:
      securityContext:
        runAsNonRoot: true
      # […]

@bobcatfish @afrittoli @sbwsg @NikeNano wdyt ?
I would really love to keep those k8s specific and runtime field in PipelineRun and in a podTemplate as much as possible — mainly to reduce our implicit dependency to k8s structs.
/hold

I don't follow do you mean that the following:

spec:
  serviceAccountName: sa-1
  podTemplate:
    securityContext:
      runAsNonRoot: true
    # […]
  taskOverride: # <- need a better name
  - name: build-task
    serviceAccountName: sa-for-build
    podTemplate:
      securityContext:
        runAsNonRoot: true
      # […]
```'

is good or bad? I am new to Tekton so don't have that much of an opinion, but the above looks good to me.  Have use argo a little bit and some times get the feeling that Tekton is more verbose and even simpler pipelines becomes quite verbose.
I would be happy to contribute if changes are needed in the controller or similar to handle the changes!

Any progress on this @dibyom ? :)

I would really love to keep those k8s specific and runtime field in PipelineRun and in a podTemplate as much as possible — mainly to reduce our implicit dependency to k8s structs.

I completely agree @vdemeester
Before we go ahead with anything @NikeNano could you describe in a bit more detail the use case where you need this? I think it will help us to figure out the best solution

@bobcatfish I made this initial PR as parts of the efforts for Kubeflow Pipelines to support both argo and Tekton as the underlaying infrastructure for execution. For Kubeflow Pipelines node selectors can have several use cases one of which is to allow for the usage of GPU resources example from the docs. I guess some users also want to have the controller of which node which workload should go to and thus utalize node selector. For the use case with GPU:s not all steps of a pipeline usually have the possibility to utilise GPU resources and thus the current setup where one PodTemplateSpec is used is not sufficient.

Thanks for the explanation @NikeNano !

Sorry... a little late to the party here. We "kustomize" our Tasks and Pipelines to support things like serviceName, namespace, runtimeclass, add bonus annotations etc. to support these kinds of flows. Maybe one option to consider is to somehow provide first-class support for kustomize in our CRDs instead of adding our own override syntax.

Could you point me to where in the code base this is done @skaegi? Would like to take a look to see how it is done :) To me it sounds like this "kustomize" is very similar, how would this be specified?

I'm embarrassed to say our agent is proprietary right now but kustomize is a technology built into kubectl and described here -- https://github.com/kubernetes-sigs/kustomize

I'm embarrassed to say our agent is proprietary right now but kustomize is a technology built into kubectl and described here -- https://github.com/kubernetes-sigs/kustomize

Ahh .... thanks for the link!

I opened #2362 to look specifically at adding per task override that @vdemeester first mentioned as I think it might be the cleanest approach. The kustomization we do in our agent is different in that we are also altering non-runtime definitions. It's interesting but I think more flexible than what is needed.

Based upon your comment @skaegi, should we close this PR? I will start to work on #2362 in the mean time :)

@NikeNano it would make sense yes :wink:
/close


Update KitchenCI tests to work in TravisCI

I opted to use kitchen-vagrant as getting everything to work in Docker was getting really painful. However, I'm going to need work through that and migrate them to either kitchen-dokken or kitchen-docker.
It looks like kitchen-dokken requires Chef reading through it's README here: https://github.com/someara/kitchen-dokken#what-about-kitchen-docker

Switched to molecule for now, using Inspec for integration tests at the end.


Lab 6

@kurt3903 Ready for review

Problem 1.

At the beginning of this problem, you may want to review or make further references to your previous lab. This could include giving a short explanation for what this data represents, or plotting a waterfall plot for all baselines in this time interval, etc. Otherwise, you provided excellent background for your definition of the background and the 5-sigma threshold.
Problem 2.
Good hierarchical order of information. Give a little bit more information on the overall distribution-what happens to the overall probability density of the background "chunk"?
Problem 3.
Good way of showing exactly what we are simulating.
What happens if you increase the injection rate?
Also a good optional plot showing the background data points with a value close to 150. You should explain this more if possible; any trends or implications.
"Let's find the $1\sigma$ uncertainty on the injected signal strength" This section, while correct, could be phrased better and explained more to be easier to read
Problem 4.
This looks good.

@kurt3903 Thanks for the feedback
@sfzhu Ready for review. Total time spent on this lab ~10 hours.


Customize copyToClipboard option

It would be great to expose a way to customize the copyToClipboard function. In our case we'd like to be able to include the column titles as the first row, and potentially add additional columns of data that are visually represented as a single custom cell

This callback is now exported in 6.0.0 using the copy-paste module.


Separate window support — ? — Modal appears behind window

Triggering the modal on a new window -> it appears behind that window.
See the attached screenshot.
I am using the default theme.

Thank you for reporting this. I have to admit, support for new window was not working for many things. So good report and hopefully I caught all issues.

Thanks! Working fine now.


When running a code: "[Client thread/INFO]: [CHAT] Could not start python: […] "

Happily raised this error today when first trying the mod out by typping "/python test"
[Client thread/INFO]: [CHAT] Could not start python: Cannot run program "python" (in directory "[…]\minecraft\mcpimods\python"): CreateProcess error=2, The system cannot find the file specified
I guessed it was because I didn't have Python added to the PATH. So I typed "setx PATH C:\Python34" in a terminal.
I haven't rebooted Minecraft yet but I'll update this issue as soon as I can to tell you if it fixed the issue. Hoping this will fix it but some newbies might not understand the error and know what to do to fix it, so there ya go.

Yes that was it!
Now, but that is another matter, I wonder what python/test.py is supposed to do. I converted it to Py3 (as its code was, with no doubts, for Py2) but still can't get it to work.
It seems that previously it expected something to be in sys.argv[1] (but what?) but this "thing" isn't there anymore, thus raising an IndexError on line 6.
(Also it didn't find cStringIO but as the module isn't used in the code anyway, I just commented it out)

I'm also asking because I'm gonna do a pull request when I finish updating the examples scripts to work both under Python2 and 3.

There is now a binary blob zip file of the scripts for python2 and another for python3 in the repository. While I'm developing with python2, from now my packaging scripts will autogenerate python3 scripts with 2to3. I am not testing the python3 scripts actively, though I did test one or two of them.


DS-2542: Fix bug for day granularity (from zuki's PR#912)

https://jira.duraspace.org/browse/DS-2542
Updated version of @zuki's PR #912 for the 5.x branch.
The fix to DateUtils in #912 was previously included in #948 (which made it into the 5.2 release). So, this PR only includes the fix to the DateUntilFilter.
Needs further testing, verification please.  Also will need cherry-picking over to "master" branch.

Approved in DSpaceDev mtg today. Merging


catkin error while compiling

Hello there!
I'm using Ubuntu 14.04 after successfully compiling convenience-pkgs, urdf-tools-pkg and graspit-pkgs, my ide can't resolve grasp_planning_graspit nor i can compile with catkin. Any idea what is this about?
By the way i erased graspit-simulator which couses bigger issues. So I think even if i could compile this i can't load world files right?

Hi,
can you provide a few more details please? Are you using catkin_make to compile, which ROS distribution are you using, what's the exact compiler warning, which IDE are you using? How did you delete graspit-simulator, and did you have it in a default path like /usr/, how did you delete it?
Sorry I can't help you without a bit more information ;)
Cheers
Jenny

Certainly,
I'm using catkin_make and ros-indigo. As an IDE I use CLion 2016.1.3. And my error is:
/home/semih/catkin_ws/src/graspit_planning_tutorial/src/simple_planning_tutorial.cpp:2:61: fatal error: grasp_planning_graspit/GraspItSceneManagerNoGui.h: No such file or directory  #include <grasp_planning_graspit/GraspItSceneManagerNoGui.h>
And in my IDE it says:

Cannot find 'grasp_planning_graspit'

I used to have graspit simulator on my catkin workspace and later I've also installed via synaptic package manager. I've uninstalled it and deleted the files in my catkin workspace. And I erased the path in my basrc file.
By the way if I before erasing the graspit simulator i was having the same error as our friend over here: https://github.com/JenniferBuehler/graspit-pkgs/issues/14
Semih

The file it doesn't find has been renamed from GraspItSceneManagerNoGui.h to GraspItSceneManagerHeadless.h a while back. That's also been updated in simple_planning_tutorial.cpp. So you must have an old version for some reason? Do a git pull in the repository graspit-pkgs. And to clean up properly it's also always worth a try to remove the devel and build directories in your catkin workspace and build all from scratch.

Hi,
I've updated the tutorial I'm following, which is:
[(https://github.com/JenniferBuehler/graspit-pkgs/wiki/GraspIt-CPP-API-Tutorial )]
I've deleted my devel and build directories. I've done a git pull.
And currently I'm getting this cmake error:
Error:Could not find a package configuration file provided by "grasp_planning_graspit" with any of the following names:   grasp_planning_graspitConfig.cmake   grasp_planning_graspit-config.cmake Add the installation prefix of "grasp_planning_graspit" to CMAKE_PREFIX_PATH or set "grasp_planning_graspit_DIR" to a directory containing one of the above files.  If "grasp_planning_graspit" provides a separate development package or SDK, be sure it has been installed.
By the way the the file in question exists in my devel directory. :(

Are you following the instructions for ROS (not cmake only)?
If it's in your devel directory, maybe your catkin workspace is not set up properly, are you sourcing devel/setup.sh from your .bashrc?

Doing all and some more solved the issue but can't exactly know which one solved it.
Thanks for your help


Clarify English for last three lessons

I don't understand the concepts in the Isomorphic lesson well enough to clean up its language. But this covers all except for that one.
Thanks for all the great work you did with this, @tako-black! If you could get this merged and deployed by end-of-day Japan time, that would be really helpful! I'm teaching a workshop using this at 10am GMT-4 on Saturday. :smile:
Thank you!

Thank you!
I'm not confident to translate Japanese to English,     so I'm very happy that native speaker fix that!
In isomorphic lesson, I want users only to use sever side rendering.
If you could write codes same as written in md file and program works, it's OK.
I'll publish this to npm until 10am GMT-4 on Saturday.
I am going to go to golf today, so I will publish tonight :)
Thank you again for using this program!

I've published!
Please use v0.9.7 when you teach!


About Group

Are there any restrictions on the groups or channels owned by an account? What's his ceiling? @levlam

There is a limit on a number of owned public chats and a limit of 500 on a total number of joined supergroups/channels. Between, you can ask such general Telegram questions not directly related to TDLib through in-app support.


Branch 2.4

What changes were proposed in this pull request?
(Please fill in changes proposed in this fix)
How was this patch tested?
(Please explain how this patch was tested. E.g. unit tests, integration tests, manual tests)
(If this patch involves UI changes, please attach a screenshot; otherwise, remove this)
Please review http://spark.apache.org/contributing.html before opening a pull request.

I don't think SPARK-26038 is related to the precision error we saw earlier with 2.4.4-SNAPSHOT. But maybe we can re-test with this latest merge and see if it is magically fixed.


SES Compartment modules: test StaticModuleRecord for imports named proto

const record = new StaticModuleRecord(`
  import * from '__proto__';
`);
assert.equal(record.imports, ['__proto__']);

const record = new StaticModuleRecord(`
  import * from '__proto__';
`);
assert.equal(record.imports, ['__proto__']);

equal is shallow. The array on the right has a fresh identity and so will be unequal,


Init command to create a konnect.yml config file.

Summary
Init command to create a konnect.yml config file.
Command
konnect init [dest]
Initialize a konnect.yml config file at the specified root destination. If no destination is provided, then  use the current directory.

@sjbitcode Was thinking something like npm init to create a package.json file.

Done https://github.com/exitshell/konnect/pull/14


Cleanup TableMapping, abstract out ActiveInsertCommand, and facilitate TableMapping sharing between connections

Removed everything from TableMapping that makes its specific to SQLiteConnection
Remove all unnecessary dependencies of TableMapping
Create ActiveInsertCommand class that has everything in the Map that's specific to SQLiteConnection
TableMapping is now lighter, reusable, and can now be shared between SQLiteConnections, increasing the performance multifold, if new connections are created often.
This also now facilitates a real ConnectionPool without reflecting all over again on types which similar connections have already mapped out.

PS: I apologize for not propagating the changes to the unit tests, if any. Tests were failing for whatever reason even in the original fork, and since my changes were something that could affect the tests, I didn't bother. But the addition of parameter to the constructor would be something that might have to be propagated.  I'd appreciate if someone else can do it. :)
Cheers.

I think this is a good idea, but I'm a bit worried about the additional ctor argument.
My primary concern is that the ctor's already have a lot of parameters, and I would prefer not to burden users with even more concerns.
Can we preserve the existing ctor's (to preserve compatability)?
What do you think about making the default behavior more "easy to use", by having it use a static mapping manager of some kind?

Static mapping is what I initially thought about. Frankly, its also easier to implement. But the problem is that, TableMapping need not necessarily be the same as the mapping for the type.
For example, one can have a connection where one may want to map differently, and/or tweak mappings extensively. This way, its cleaner, each connection gets it own mapping (which could very well simply be a reference to a static mapping).
But we could workaround it, if compatibility is an absolute must. But making it settable property, with a default static mapping. But just didn't seem clean to me.

Also, regarding the easy to use, personally I think the Connection class shouldn't carry any more responsibility than it already has. I think, if we can implement a pool abstraction which shares the mapping, that would make a lot more sense. And since, ideally a normal use case will be moving away from using the Connection directly, and using the pool, that'll become a lot more simpler. I think an "easy-to-use" abstraction over this would make better sense, than adding more functionality to make this class easier to you.

Also, another viable option is to reduce the number of ctor parameters, and making into a ConfigurationOptions of somekind - So, even a single instance of options could be passed over to multiple connections. Thinking about it, I think that's a finer approach, since there are too many arguments now. But that still slashes down compatibility.
What do you think?

Regarding the struct option; yes, I've had this thought as well.
I've bumped the major version to 3.0 now so we can probably do some breaking changes, but I still prefer to avoid them as much as possible, since I am pretty sure most of the users would prefer that as well.
Regarding the pool abstraction; why is multiple connections desirable in the first place? Due to multiple threads?

I think it should be a class more than struct. Since we'll end up having a couple of fields already, and if we want to add more in the future, it'd become a breaking change if we have to move to struct to a class. Sharing the instance will also not make sense if its a struct.
And multiple connections - Concurrency. Readers don't lock on SQLite.

The version bump is convenient. We can map lookahead and plan this well.
How about,
ConfigOptions {
DateTimeOptions DateTimeOptions [Flags of DateTimeOptions.StoreAsTicks, DateTimeOptions.UseUtcRepresentations],
IBlobSerializer Serializer,
TableMappings,
ExtraMappings,
Resolver,
Platform,
}
And then for platform, make a static SQLitePlatform.Init(), which autoloads the platform, and perhaps accepts a platform loader as an optional argument. So, need to go around passing the platform each time, once the platform is established.
Infact, if the platform is not set, we could already try to determine it automatically without user input.

That looks good, I've also considered adding some types to help build the connection string.
I think most users are not aware of the fact that the connection string can contain many sqlite pragmas that are useful. Adding an API (possibly fluent) for configuring this would fit well with this.

Great. Let me know how you'd like to proceed. If you prefer merging this and then doing the initial bits on the configurations, I'll wait. Or I'll add on another commit with the configuration options to go.

Hmm, this did indeed break one of the NotNullAttribute tests.

Yes, I had glanced across it. It was due to the extensive changes in the data structures however, and not a test failure. But on a quick glance, I wasn't sure how to restructure that specific test though. Since a few members directly weren't accessible as a consequence of the changes.


ODP | ODB: /createUploadSession If-Match should not generate a 412 Precondition Failed when the exact online eTag is being used

Category

[ ] Question
[ ] Documentation issue
[X] Bug

Expected or Desired Behavior
When using a session to upload a modified file, the API should not present a 412 Precondition Failed error when using If-Match and the provided eTag equals the existing online eTag.
https://learn.microsoft.com/en-us/onedrive/developer/rest-api/api/driveitem_createuploadsession
Observed Behavior

Query the exact file item online to get the absolute latest eTag item, compare against current known value
Attempt to create an upload session via /createUploadSession and add the If-Match header with the known eTag value
Get a 412 response from OneDrive API

[DEBUG] Setting file permissions for: /home/alex/.config/onedrive/refresh_token
[DEBUG] Request URL = https://graph.microsoft.com/v1.0/drives/66d53be8a5056eca/root:/4mb_word_doc%2FH2A%20Research%20Equivalence%20v6.docx
*   Trying <IP_ADDRESS>...
* Connected to graph.microsoft.com (<IP_ADDRESS>) port 443 (#1)
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN, server did not agree to a protocol
* Server certificate:
*  subject: C=US; ST=Washington; L=Redmond; O=Microsoft Corporation; CN=graph.microsoft.com
*  start date: Jun 28 00:00:00 2023 GMT
*  expire date: Jun 28 23:59:59 2024 GMT
*  subjectAltName: host "graph.microsoft.com" matched cert's "graph.microsoft.com"
*  issuer: C=US; O=DigiCert Inc; CN=DigiCert SHA2 Secure Server CA
*  SSL certificate verify ok.
> GET /v1.0/drives/66d53be8a5056eca/root:/4mb_word_doc%2FH2A%20Research%20Equivalence%20v6.docx HTTP/1.1
Host: graph.microsoft.com
User-Agent: ISV|abraunegg|OneDrive Client for Linux/v2.5.0-dev
Accept: */*
Authorization: bearer <Redacted>

< HTTP/1.1 200 OK
< Cache-Control: no-store
< Transfer-Encoding: chunked
< Content-Type: application/json;odata.metadata=minimal;odata.streaming=true;IEEE754Compatible=false;charset=utf-8
< Strict-Transport-Security: max-age=31536000
< request-id: a0d14097-1ff0-4889-a028-ba2c5a98e780
< client-request-id: a0d14097-1ff0-4889-a028-ba2c5a98e780
< x-ms-ags-diagnostic: {"ServerInfo":{"DataCenter":"Australia Southeast","Slice":"E","Ring":"4","ScaleUnit":"000","RoleInstance":"ML1PEPF00004F6B"}}
< OData-Version: 4.0
< Date: Mon, 31 Jul 2023 06:26:14 GMT
<
[DEBUG] onedrive.performHTTPOperation() => OneDrive HTTP Server Response: 200
* Connection #1 to host graph.microsoft.com left intact
[DEBUG] curlEngine.http.perform() => HTTP Response Headers: ["strict-transport-security":"max-age=31536000", "x-ms-ags-diagnostic":"{\"ServerInfo\":{\"DataCenter\":\"Australia Southeast\",\"Slice\":\"E\",\"Ring\":\"4\",\"ScaleUnit\":\"000\",\"RoleInstance\":\"ML1PEPF00004F6B\"}}", "transfer-encoding":"chunked", "odata-version":"4.0", "date":"Mon, 31 Jul 2023 06:26:14 GMT", "client-request-id":"a0d14097-1ff0-4889-a028-ba2c5a98e780", "request-id":"a0d14097-1ff0-4889-a028-ba2c5a98e780", "cache-control":"no-store", "content-type":"application/json;odata.metadata=minimal;odata.streaming=true;IEEE754Compatible=false;charset=utf-8"]
[DEBUG] OneDrive API Response: {"@microsoft.graph.downloadUrl":"https:\/\/mwg7ww.ph.files.1drv.com\/y4mo9rtLgLlSUh88_XuyOnu9UVYuvrcfHwi_1e1dviDdiM_NMmWNsSvmjTZ0Hb6wp4tB0bjS18DFsL5naN9IkHcc30D-v9RUiQw6jR1thO8Ry4frPbDm7sDklS8P6oOy7mG7PulwuLMbiOkUfFtUvnQLuHoLI2MChDgk4e71BTVWaQuyusyTdSRsSyH9dHp9NZPfiY0ws9CTnRBDwR56Mm1tnz0Y2z9ytY1PVjOHyjZVIE","@odata.context":"https:\/\/graph.microsoft.com\/v1.0\/$metadata#drives('66d53be8a5056eca')\/root\/$entity","cTag":"aYzo2NkQ1M0JFOEE1MDU2RUNBITI4NTA1Mi4xOTM1","createdBy":{"application":{"displayName":"OneDrive Client for Linux","id":"4035b959"},"user":{"displayName":"SADF ASDF","id":"66d53be8a5056eca"}},"createdDateTime":"2023-07-31T05:40:17.047Z","eTag":"aNjZENTNCRThBNTA1NkVDQSEyODUwNTIuOQ","file":{"hashes":{"quickXorHash":"Ml4zGCvJpAyqzLM5FaZWhpGLqs0=","sha1Hash":"310BE58EFA885921A012FD84D35313FB371F35FF","sha256Hash":"E7D28D034AE2233450267A9DD39AFD9EDD1FB785459575C55D7FEE4E6DE39FE9"},"mimeType":"application\/vnd.openxmlformats-officedocument.wordprocessingml.document"},"fileSystemInfo":{"createdDateTime":"2023-07-31T05:40:17.046Z","lastModifiedDateTime":"2023-07-31T05:41:33.956Z"},"id":"66D53BE8A5056ECA!285052","lastModifiedBy":{"user":{"displayName":"SADF ASDF","id":"66d53be8a5056eca"}},"lastModifiedDateTime":"2023-07-31T05:41:37.05Z","name":"H2A Research Equivalence v6.docx","parentReference":{"driveId":"66d53be8a5056eca","driveType":"personal","id":"66D53BE8A5056ECA!285051","name":"4mb_word_doc","path":"\/drive\/root:\/4mb_word_doc"},"reactions":{"commentCount":0},"size":4316411,"webUrl":"https:\/\/1drv.ms\/w\/s!AMpuBaXoO9VmkbJ8"}
[DEBUG] dbItem.eTag:            aNjZENTNCRThBNTA1NkVDQSEyODUwNTIuOQ
[DEBUG] currentOnlineData eTag: aNjZENTNCRThBNTA1NkVDQSEyODUwNTIuOQ
* Found bundle for host graph.microsoft.com: 0x1c0c270 [can pipeline]
* Re-using existing connection! (#1) with host graph.microsoft.com
* Connected to graph.microsoft.com (<IP_ADDRESS>) port 443 (#1)
> POST /v1.0/drives/66d53be8a5056eca/items/66D53BE8A5056ECA!285052:/H2A%20Research%20Equivalence%20v6.docx:/createUploadSession HTTP/1.1
Host: graph.microsoft.com
User-Agent: ISV|abraunegg|OneDrive Client for Linux/v2.5.0-dev
Accept: */*
If-Match: aNjZENTNCRThBNTA1NkVDQSEyODUwNTIuOQ
Content-Type: application/json
Authorization: bearer <Redacted>
Content-Length: 110

* We are completely uploaded and fine
< HTTP/1.1 412 Precondition Failed
< Cache-Control: no-store
< Transfer-Encoding: chunked
< Content-Type: application/json
< Strict-Transport-Security: max-age=31536000
< request-id: 1db71ddc-ae37-4563-8e1f-a136d065e35c
< client-request-id: 1db71ddc-ae37-4563-8e1f-a136d065e35c
< x-ms-ags-diagnostic: {"ServerInfo":{"DataCenter":"Australia Southeast","Slice":"E","Ring":"4","ScaleUnit":"000","RoleInstance":"ML1PEPF00004F6B"}}
< Date: Mon, 31 Jul 2023 06:26:14 GMT
<
[DEBUG] onedrive.performHTTPOperation() => OneDrive HTTP Server Response: 412
* Connection #1 to host graph.microsoft.com left intact
[DEBUG] curlEngine.http.perform() => HTTP Response Headers: ["strict-transport-security":"max-age=31536000", "x-ms-ags-diagnostic":"{\"ServerInfo\":{\"DataCenter\":\"Australia Southeast\",\"Slice\":\"E\",\"Ring\":\"4\",\"ScaleUnit\":\"000\",\"RoleInstance\":\"ML1PEPF00004F6B\"}}", "transfer-encoding":"chunked", "date":"Mon, 31 Jul 2023 06:26:14 GMT", "client-request-id":"1db71ddc-ae37-4563-8e1f-a136d065e35c", "request-id":"1db71ddc-ae37-4563-8e1f-a136d065e35c", "cache-control":"no-store", "content-type":"application/json"]
[DEBUG] Exit scope called
onedrive.OneDriveException@src/onedrive.d(1154): HTTP request returned status code 412 (Precondition Failed)
{
    "error": {
        "code": "resourceModified",
        "innerError": {
            "client-request-id": "1db71ddc-ae37-4563-8e1f-a136d065e35c",
            "date": "2023-07-31T06:26:15",
            "request-id": "1db71ddc-ae37-4563-8e1f-a136d065e35c"
        },
        "message": "ETag does not match current item's value"
    }
}

Steps to Reproduce
As per above
Thank you.
[ ]: http://aka.ms/onedrive-api-issues
[x]: http://aka.ms/onedrive-api-issues

@ificator
Could you look at this issue with some priority?
This is a long standing API issue, where the only work around is to delete the file online so that the locally modified file can be uploaded to OneDrive.
The problem here is that any versioning is now also lost - because the file online was deleted.

I'll see if I can get a local repro - in the meantime, what are you providing in the body of the createUploadSession request?

@ificator
The request body is conforming with this: https://learn.microsoft.com/en-us/onedrive/developer/rest-api/api/driveitem_createuploadsession?view=odsp-graph-online#request-body

Example:
{
	"item": {
<EMAIL_ADDRESS>"replace",
		"fileSystemInfo": {
			"lastModifiedDateTime": "2023-07-31T19:49:08Z"
		}
	}
}

Thanks - and just to tick the obvious boxes, if you make another get call after the failed POST to createUploadSession is the etag still the one you provided?

@ificator

Thanks - and just to tick the obvious boxes, if you make another get call after the failed POST to createUploadSession is the etag still the one you provided?

I have double checked - the eTag is the same online post the session create failure.
[DEBUG] Request URL = https://graph.microsoft.com/v1.0/drives/66d53be8a5056eca/root:/4mb_word_doc%2FH2A%20Research%20Equivalence%20v6-onedrive-client-dev.docx
[DEBUG] dbItem.eTag:            aNjZENTNCRThBNTA1NkVDQSEyODUwNTQuNg
[DEBUG] currentOnlineData eTag: aNjZENTNCRThBNTA1NkVDQSEyODUwNTQuNg
POST BODY: {"item":{"@microsoft.graph.conflictBehavior":"replace","fileSystemInfo":{"lastModifiedDateTime":"2023-07-31T20:51:47Z"}}}
OneDrive returned a 'HTTP 412 - Precondition Failed' - gracefully handling error
uploadSessionData: {"error":{"code":"resourceModified","innerError":{"client-request-id":"bb9e17a2-1eee-4da1-979e-f8d582b3bafe","date":"2023-07-31T20:54:05","request-id":"bb9e17a2-1eee-4da1-979e-f8d582b3bafe"},"message":"ETag does not match current item's value"}}
[DEBUG] Request URL = https://graph.microsoft.com/v1.0/drives/66d53be8a5056eca/root:/4mb_word_doc%2FH2A%20Research%20Equivalence%20v6-onedrive-client-dev.docx
[DEBUG] dbItem.eTag:            aNjZENTNCRThBNTA1NkVDQSEyODUwNTQuNg
[DEBUG] currentOnlineData post sessionCreate attempt eTag: aNjZENTNCRThBNTA1NkVDQSEyODUwNTQuNg

Actually I see something that's a little odd in your request and I can repro when I mimic it:
POST /v1.0/drives/66d53be8a5056eca/items/66D53BE8A5056ECA!285052:/H2A%20Research%20Equivalence%20v6.docx:/createUploadSession HTTP/1.1

In your request (above for easy reference) the item wiht id 285052 is the one you want to update, but then the path is also provided. It looks like the store returns a 412 when the target item is not found but a precondition was specified, which is why you're getting a 412 instead of a 404. Without the precondition I'm guessing you'd get some kind of "you cannot create a file under the provided parent".
TLDR: remove the file name from your update request.

@ificator
The /createUploadSession request however is conforming to the docs:

The data that is being used is as follows:
string url = driveByIdUrl ~ parentDriveId ~ "/items/" ~ parentId ~ ":/" ~ encodeComponent(filename) ~ ":/createUploadSession";

so with this:
/v1.0/drives/66d53be8a5056eca/items/66D53BE8A5056ECA!285052:/H2A%20Research%20Equivalence%20v6.docx:/createUploadSession

parentDriveId = 66d53be8a5056eca
parentId = 66D53BE8A5056ECA!285052 (which is a directory called '4mb_word_doc')
filename = encoded filename
If I remove the 'If-Match' from creating the session to upload a locally modified file, the /createUploadSession request generates a 403:
[DEBUG] Using Curl defaults for HTTP operational protocol version (potentially HTTP/2)
[DEBUG] Setting file permissions for: /home/alex/.config/onedrive/refresh_token
[DEBUG] Request URL = https://graph.microsoft.com/v1.0/drives/66d53be8a5056eca/root:/4mb_word_doc%2FH2A%20Research%20Equivalence%20v6-onedrive-client-dev.docx
[DEBUG] dbItem.eTag:            aNjZENTNCRThBNTA1NkVDQSEyODUwNTQuNg
[DEBUG] currentOnlineData eTag: aNjZENTNCRThBNTA1NkVDQSEyODUwNTQuNg
POST BODY: {"item":{"@microsoft.graph.conflictBehavior":"replace","fileSystemInfo":{"lastModifiedDateTime":"2023-07-31T20:51:47Z"}}}
OneDrive returned a 'HTTP 403 - Forbidden' - gracefully handling error
[DEBUG] Exit scope called
onedrive.OneDriveException@src/onedrive.d(1153): HTTP request returned status code 403 (Forbidden)
{
    "error": {
        "code": "accessDenied",
        "innerError": {
            "client-request-id": "9e2477ab-dee0-47f3-a17b-27ca39e6fe17",
            "date": "2023-07-31T21:15:48",
            "request-id": "9e2477ab-dee0-47f3-a17b-27ca39e6fe17"
        },
        "message": "Access Denied"
    }
}

@ificator
And, stripping the filename from the createSession request actually fails to then upload a new or modified file:
createUploadSession URL: https://graph.microsoft.com/v1.0/drives/66d53be8a5056eca/items/66D53BE8A5056ECA!285055/createUploadSession
POST BODY: {"item":{"@microsoft.graph.conflictBehavior":"replace","fileSystemInfo":{"lastModifiedDateTime":"2011-01-19T09:56:00Z"}}}
Uploading new file ./4mb_word_doc/H2A Research Equivalence v6.docx ... failed.

ERROR: Microsoft OneDrive API returned an error with the following message:
  Error Message:    HTTP request returned status code 400 (Bad Request)
  Error Reason:     File name not provided in url.
  Error Timestamp:  2023-07-31T21:25:22
  API Request ID:   2db299d2-ef7e-4dfa-a1af-29bcf4833fec
  Calling Function: performNewFileUpload()

Uploading new file ./4mb_word_doc/H2A Research Equivalence v6.docx ... failed.

@ificator
New File Upload via session:
createUploadSession URL: https://graph.microsoft.com/v1.0/drives/66d53be8a5056eca/items/66D53BE8A5056ECA!285055:/H2A%20Research%20Equivalence%20v6.docx:/createUploadSession
POST BODY: {"item":{"@microsoft.graph.conflictBehavior":"replace","fileSystemInfo":{"lastModifiedDateTime":"2011-01-19T09:56:00Z"}}}
Uploading 100% |oooooooooooooooooooooooooooooooooooooooo| DONE IN 00:00:04
Uploading new file ./4mb_word_doc/H2A Research Equivalence v6.docx ... done.

**Modified file (post successful upload): **
The file content has changed locally and has a newer timestamp, thus needs to be uploaded to OneDrive
Changed local items to upload to OneDrive: 1

createUploadSession URL: https://graph.microsoft.com/v1.0/drives/66d53be8a5056eca/items/66D53BE8A5056ECA!285056:/H2A%20Research%20Equivalence%20v6.docx:/createUploadSession
POST BODY: {"item":{"@microsoft.graph.conflictBehavior":"replace","fileSystemInfo":{"lastModifiedDateTime":"2023-07-31T21:29:57Z"}}}
onedrive.OneDriveException@src/onedrive.d(1163): HTTP request returned status code 412 (Precondition Failed)
{
    "error": {
        "code": "resourceModified",
        "innerError": {
            "client-request-id": "6b0a2651-0618-4987-8988-bcefcbf48995",
            "date": "2023-07-31T21:30:18",
            "request-id": "6b0a2651-0618-4987-8988-bcefcbf48995"
        },
        "message": "ETag does not match current item's value"
    }
}

@ificator
I think this is potentially coming down to a documentation interpretation bug:

What is occurring - is that when a file is modified, the session attempting to be created uses that items id - as per the document extract above
This creates a request URL of the following, that generates the 412 error:
https://graph.microsoft.com/v1.0/drives/66d53be8a5056eca/items/66D53BE8A5056ECA!285056:/H2A%20Research%20Equivalence%20v6.docx:/createUploadSession

66D53BE8A5056ECA!285056 is the ID of the file to update.
Now - when I change this to use the parent ID, the request URL is:
https://graph.microsoft.com/v1.0/drives/66d53be8a5056eca/items/66D53BE8A5056ECA!285055:/H2A%20Research%20Equivalence%20v6.docx:/createUploadSession

And this generates the required JSON for session upload ...... and no 412 Precondition Failed error ....

@ificator
Re-Flagging this as a documentation issue

Here's the PR - please take a look and let me know if you thing there's still improvements that could be made:
https://github.com/microsoftgraph/microsoft-graph-docs/pull/22299

@ificator

Here's the PR - please take a look and let me know if you thing there's still improvements that could be made: microsoftgraph/microsoft-graph-docs#22299

That certainly reads much better and the examples are much clearer as well

Closing this as done


[ContextMenu] Menu not focusable when using a pen

Bug report
Current Behavior
With<EMAIL_ADDRESS>and later, context menus aren't focusable when using a pen (they focus correctly with mouse and trackpad). By "not focusable", I mean I can still click to activate a menu item, but hovering the pen doesn't highlight the item (no :focus state) and I can't use arrow keys to navigate. This issue affects Chrome/FF/Edge, but not Safari 🤔. Edit: Occasionally, it does focus correctly... but I haven't figured out why.

Expected behavior (0.0.19)
Current behavior (0.0.20+)

Reproducible example
https://codesandbox.io/s/radix-context-menu-focus-snpem?file=/src/ContextMenu.tsx
This problem is also visible on the radix primitives docs: https://www.radix-ui.com/primitives/docs/components/context-menu
Suggested solution
I didn't dig into this, but if I had to guess, maybe there's some code targeting iOS or Safari specifically that should also trigger for pointers more generally.
Your environment

Software
Name(s)
Version

Radix Package(s)
@radix/react-context-menu
0.0.23

React
n/a
17.0.2

Browser
Chrome
91.0.4472.114

Assistive tech
Wacom Tablet
Intuos Pro M

Node
n/a

npm/yarn
n/a

Operating System
macOS
11.1

We have some improvements coming regarding touch/pen support, specifically around this.

Awesome! Looking forward to it.

Closing this as, tracked in #657


Doesn't work when file is in directory with more than one word

I had a python program in a directory called "Competitive  Programming". The plugin failed as I didn't have a directory called Competitive.

You could show your setup please

I've just made a PR that should fix this

@Sam-Hobson Thanks for your PR, but for the next PR please you have reference to the ISSUE, you can do it with an commitment that takes the ISSUE number.


To resolve Conflicts, updated my README.md

since the vulnerabilities list is going to be deleted, I left it unchanged.


Make test check against /health instead of /

@lwander @jtk54 PTAL
@ewiseblatt FYI - A recent change to Gate put a redirect on / to Deck, which citest does not bring up.

LGTM
the rational is that /health is a more sane endpoint for checking application status that /.


Add buffer append method for {,u}intptr_t

Otherwise, on platforms for which {,u}intptr_t aren't just typedef-s of
other scalar types, it's ambiguous which way an implicit cast should go.

With this and the SNMALLOC_LINK_ICF=OFF hack, all four of {debug, release} x {hybrid, purecap} build in Morello CI.


There has been one crash occurrence currently, with no clear reproducible method identified. The node has consistently been running daily business workloads, with no other changes in operations.
What did you see happen?
In our customer's production environment cluster, a database node crash occurred, and the error stack is as follows:
runtime: traceback stuck. pc=0x3973c50 sp=0x40024d7fb0
stack: frame={sp:0x40024d7fb0, fp:0x40024d7fb0} stack=[0x40024d4000,0x40024d8000)
0x00000040024d7eb0:  0x0001000000010000  0x000000410220f500
0x00000040024d7ec0:  0x000000417b54c000  0x0000000004c76ee0
0x00000040024d7ed0:  0x000000410220f500  0x000000417b4e5f08
0x00000040024d7ee0:  0x0000000001d1d0f0 <google.golang.org/grpc/internal/transport.(*loopyWriter).run+0x0000000000000060>  0x000000417b338360
0x00000040024d7ef0:  0x0000000000000000  0x000000417b338480
0x00000040024d7f00:  0x0000000000000000  0x0000000000000000
0x00000040024d7f10:  0x0000000001d321a8 <google.golang.org/grpc/internal/transport.NewServerTransport.func2+0x00000000000000d8>  0x000000410220f4f0
0x00000040024d7f20:  0x0000000003f7cd01  0x00000040cfcf3c90
0x00000040024d7f30:  0x0000000003973c1c <github.com/pingcap/tidb/executor.(*IndexLookUpExecutor).startTableWorker.func1+0x00000000000000bc>  0x01000040024ecf68
0x00000040024d7f40:  0x0000000000000000  0x0000000000000000
0x00000040024d7f50:  0x0000000001d1d330 <google.golang.org/grpc/internal/transport.(*loopyWriter).run.func1+0x0000000000000000>  0x00000040024d7f40
0x00000040024d7f60:  0x00000040024d7f50  0x0000000000000000
0x00000040024d7f70:  0x000000000187de34 <runtime.goexit+0x0000000000000004>  0x000000417b391b60
0x00000040024d7f80:  0x000000417b319850  0x000000410220f4f0
0x00000040024d7f90:  0x0000000000000000  0x0000004173a86500
0x00000040024d7fa0:  0x000000417ac4d000  0x000000417a51d040
0x00000040024d7fb0: >0x0000000003973c50 <github.com/pingcap/tidb/executor.(*IndexLookUpExecutor).startTableWorker.func1.1+0x0000000000000000>  0x000000417b348000
0x00000040024d7fc0:  0x00000040024ecfb0  0x0000000000000000
0x00000040024d7fd0:  0x0000000000000000  0x0000000000000000
0x00000040024d7fe0:  0x0000000000000000  0x0000000000000000
0x00000040024d7ff0:  0x0000000000000000  0x0000000000000000
fatal error: traceback stuck

What did you expect to see?
No crash

Is this a one-time failure, or does it happen more often?
Upgrading to the current version of Go (1.22) might help, and also has a better chance of a fix because we are no longer fixing bugs in 1.19.

@dr2chase
Thank you for your reply. This is a one-time bug. However, we are unable to recompile and upgrade the services in the user's environment. Are there any known bugs in the version we are using that could potentially cause this issue? I tried searching for the error message keyword but couldn't find any relevant issues.


No usable Physical IO channel (again)

Here's the query, along with the error message:
http://vega.cs.washington.edu:1776/query/query-20155
Workers 27 and 55 failed.
May or may not be the same issue as #530 given the discussion on that thread, though the identical error message is suspicious.
In case its relevant: Just prior to this query, another query failed due to heap issues.

Saw this again:
https://rest.myria.cs.washington.edu:1776/query/query-77553


Improve the engineering document front matter

Closes #158
See example at https://github.com/SMPTE/html-pub-template/pull/14

How about a "pubPublic" boolean flag that will only be available (presently) with a CD, that would trigger rendering "Public" in the header?

How about a "pubPublic" boolean flag that will only be available (presently) with a CD, that would trigger rendering "Public" in the header?

See flag rendered at https://github.com/SMPTE/html-pub-template/pull/14

The link SMPTE/html-pub-template#14 only shows Committee Draft without "public". Is that the expected behaviour?

Yes. "Public CD" is not a formal stage, but merely short-hand to mean a Committee Draft that has been approved for public distribution by the SVP.

That is contrary to what was previously decided in ST to clearly mark a document as public CD see (see PCD coversheet). We can discuss on Friday. I my view this needs a ST decision to reverse.

That is contrary to what was previously decided in ST to clearly mark a document as public CD

I do not recall such a decision, and do not see such a requirement in AG 22.
In fact AG 22 gives the Director of Standards the responsibility of coming up with the presentation of Public CDs:
https://doc.smpte-doc.org/ag-22/main/#sec-availability

With all due respect, I do remember and hence I did the work to add the cover page to all past PCDs. In fact, I was opposed to do the additional work it takes but ST/SVP insisted. It did not matter at the time that the form of publication was my decision, as you point out. In my recollection the cover page was reviewed by ST as well. Exactly for that reason I want ST to approve any new form of publication of PCDs. I do think that the PCD document should be clearly marked as public CD to differentiate them from CDs which are not public. It should also clearly state the patent and licensing provisions as shown in AG-22 in case the document is viewed outside of the context of repository (e.g. downloaded PDF or printed HTML page).

I do think that the PCD document should be clearly marked as public CD to differentiate them from CDs which are not public.

Yes, the CONFIDENTIAL statement in the front matter makes that obvious.

It should also clearly state the patent and licensing provisions as shown in AG-22 in case the
document is viewed outside of the context of repository (e.g. downloaded PDF or printed HTML page).

Can you specify what is missing from the front matter?

BTW, the ST meeting minutes from May/June 2020 do mention the "Discussion on look & process of Public CD document" and "A public CD should pass through publishing SMPTE QC. The resulting document should become the new master - Action: SVP & DoS to update AG-22 with a mechanism". The "... Action: SVP & DoS to update AG-22 ..." never happened. The referenced review documents are not accessible because the resided on now defunct OLC.

"Can you specify what is missing from the front matter?"
Basically, what's on the PCD coversheet which is mainly the text mandated by AG-22 in Annex C.

Basically, what's on the PCD coversheet which is mainly the text mandated by AG-22 in Annex C.

C.1 Contributor License Agreement (CLA) notice is only relevant to the GitHub repo, where the public can contribute, and not relevant to the document itself, since the public cannot contribute to the document.
C.2 Copyright notice is reflected in the document as follows:

C.3 Patent notice is reflected in the document using the usual SMPTE disclaimer:

Basically, what's on the PCD coversheet

The notice about the draft nature of the work is reflected in the document as follows:

Some cover pages have a link to all of the SMPTE public CDs, but:

this is not required by AG-22
what is the purpose of that link? shouldn't there be a link to all SMPTE documents?
a link where to file issues would be more useful

@tbause can this be resolved so that we may continue on with the PCDs we have incoming as planned?


fix: add runfiles _repo_mapping to tar archive

Hello and thank you for this great library!
This PR adds _repo_mapping to runfiles directory to enable proper runfiles lookup when bzlmod is enabled. Without it, lookup will fail.

I tried to keep this as compact as possible

@steeve could you rebase?

Closing in favor of https://github.com/bazel-contrib/bazel-lib/pull/953


⚠ api.piste.gouv.fr healthcheck has degraded performance

In 7ee9c04, api.piste.gouv.fr healthcheck (https://api.piste.gouv.fr/cassation/judilibre/v1.0/healthcheck) experienced degraded performance:

HTTP code: 200
Response time: 3185 ms

Resolved: api.piste.gouv.fr healthcheck performance has improved in d8f9dd8.


Moving component from overview utils to components folder

Signed-off-by: Matan Schatzman<EMAIL_ADDRESS>
📝 Description
Some components that only clusteroverview page was using were in utils files, now they will be in a component folder
🎥 Demo
After:

Before:

/lgtm


Configuration address-setting type not working

Describe the bug
The configuration specified in broker.xml for address-settings is not being applied to the queues matched. However, the same configuration applied directly to the queue does work.
To Reproduce
Steps to reproduce the behavior:
in broker.xml, set the following settings:
</address-settings>
   <address-setting match="TestAddress">
      <default-ring-size>10</default-ring-size>
   </address-setting>
</address-settings>

</addresses>
   <address name="TestAddress">
      <anycast>
         <queue name="TestQueue" />
      </anycast>
   </address>
</addresses>

Run the following command to get the ring-size value of TestQueue:
curl http://localhost:8161/console/jolokia/read/org.apache.activemq.artemis:broker=!%22broker!%22,component=addresses,address=!%22TestAddress!%22,subcomponent=queues,routing-type=!%22anycast!%22,queue=!%22TestQueue!%22/RingSize
The value retrieved is:
{
    "request": {
        "mbean": "org.apache.activemq.artemis:address=\"TestAddress\",broker=\"broker\",component=addresses,queue=\"TestQueue\",routing-type=\"anycast\",subcomponent=queues",
        "attribute": "RingSize",
        "type": "read"
    },
    "value": -1,
    "timestamp":<PHONE_NUMBER>,
    "status": 200
}

However, if we set the following config in broker.xml:
</addresses>
   <address name="TestAddress">
      <anycast>
         <queue name="TestQueue" ring-size="10" />
      </anycast>
   </address>
</addresses>

The value retrieved with curl command is:
{
    "request": {
        "mbean": "org.apache.activemq.artemis:address=\"TestAddress\",broker=\"broker\",component=addresses,queue=\"TestQueue\",routing-type=\"anycast\",subcomponent=queues",
        "attribute": "RingSize",
        "type": "read"
    },
    "value": 10,
    "timestamp":<PHONE_NUMBER>,
    "status": 200
}

Platform (please complete the following information):

OS: Ubuntu
Version  20.04.6 LTS
Docker version 27.3.1, build ce12230
Artemis v2.38.0

Expected behavior
Setting the value default-ring-size in address-setting should make TestQueue to have these value.
Additional context
This behavior has been tested as well in a Kubernetes Environment making use of the parameters through brokerProperties as show here:
- addressSettings.TestAddress.defaultRingSize=10

@braveadmin this issue is related to the Apache ActiveMQ Artemis project. You should subscribe to the activemq users mailing list end send an email to<EMAIL_ADDRESS>for further details see https://activemq.apache.org/contact


Missing .hooks folder for mods

When using the console version on a dedicated server for installing mods, the "node_modules/.hooks" folder doesn't existed.
I've looked in the repo and it doesn't exist.

Right, they were gitignored by an accident. Fixed, thanks.


Havoc-ing a FloatingPoint value does not assume NaN values

The following simple (C) program can violate the assertion, because NaN!=NaN:
int main()
{
  double x = __VERIFIER_nondet_double();
  assert(x==x);
}

Yet the (correctly translated) CFA is assumed to be safe.

I think the problem might lie here in the simplifier. If both the LHS and the RHS are the same reference then we assume the expression to be true, which makes sense for most of the types. If it's an exception for floats, because NaN does not equal NaN, then it should be fixed here I think.
Also, what does the solver think about this? Is it C specific or should it also be unsafe according to SMT theory of floats?

As both C and Z3 assume IEEE-754 fp arithmetic, and that standard is fortunately well-defined, there should not be any inconsistencies among them.
I think you are right about the simplification being wrong, I'll test this in a bit and report back.

Yeah. I'd first try removing that branch of the simplification completely, that should leave the expression as is and pass it to the solver. If that works, you can try actually implementing the proper simplification rule if possible.

Unfortunately this did not solve the problem, it is still reported as safe.

Interesting, then it needs some more debugging to see where the expression gets interpreted as true.

I think (but this is only an (un)educated guess) that the refinement strategy does not take it into account that two bit-perfect values might be unequal. I think this because while the algorithm is running, there are some unsafe nodes in the ARGs that disappear after a while (4-5th iteration, depending on the domain and refinement strategy). Is this a possible reason, or am I mistaken?

What refinement strategy are you using? The ones based on Z3 will use Z3 (but I assume you don't use those as those cannot interpolate over floats). If you are using Newton method then @as3810t might give you some hints on what operators it is using. Maybe some pre/post operators cannot handle this special case.

I am using the NWT_SP and NWT_IT_SP strategies, the former is producing the erroneous output and the latter is seemingly stuck in a loop where every ARG is only 1 incomplete node, without being able to progress.


Is pip upgrade needed?

I'm just comparing our repo to other samples, and notice this last line in Dockerfile_dev:
RUN python -m pip install --upgrade pip
Is that necessary? Is it because the python images have outdated pip versions? I'm trying to make sure I understand the reasoning - it's very possible it's necessary.

As Prady mentions in https://stackoverflow.com/a/56504368, I've always considered it best practice. This is definitely an "IDK I've always done it moment" but I think it's a common thing.

Okay, sounds good!


Orders not placed when receiving webhook notification

The intention of this code seems to be that an order that is not yet placed will be placed when a webhook notification of a successful payment authorization is received:
https://github.com/Adyen/adyen-salesforce-commerce-cloud/blob/5eeb50ced9107300018dad06c3e9596f776227aa/cartridges/int_adyen_SFRA/cartridge/scripts/adyenService.js#L34-L39
But this does not work, since order.status === Order.ORDER_STATUS_CREATED will always be false, also for orders with status 'Created'. Since order.status is of type dw.value.EnumValue and Order.ORDER_STATUS_CREATED is numeric using === will always be false. Please change this to either using == or to order.status.value === Order.ORDER_STATUS_CREATED.
Similar issues are present at:
https://github.com/Adyen/adyen-salesforce-commerce-cloud/blob/5eeb50ced9107300018dad06c3e9596f776227aa/cartridges/int_adyen_overlay/cartridge/scripts/handleCustomObject.js#L123
https://github.com/Adyen/adyen-salesforce-commerce-cloud/blob/5eeb50ced9107300018dad06c3e9596f776227aa/cartridges/int_adyen_overlay/cartridge/scripts/handleCustomObject.js#L105
https://github.com/Adyen/adyen-salesforce-commerce-cloud/blob/5eeb50ced9107300018dad06c3e9596f776227aa/cartridges/int_adyen_overlay/cartridge/scripts/job/notifications.js#L61

hello , I had this issue also when i place order with 3DS
ERROR PipelineCallServlet|1706873868|Sites-celio-Site|Adyen-ShowConfirmation|PipelineCall|zKqDPsYdQL custom.Adyen []  Could not verify /payment/details: SystemError: com.demandware.beehive.orm.capi.common.ORMOptimisticLockingException: Optimistic locking failure. Object couldn't be updated. [com.demandware.beehive.bts.internal.orderprocess.fulfillment.OrderPO, com.demandware.beehive.orm.internal.state2.RelationalObjectInstanceState@f2399d1[com.demandware.beehive.core.capi.domain.PersistentObjectPOKey(com.demandware.beehive.bts.internal.orderprocess.fulfillment.OrderPO) [2ae33b4e8c95d0d11ba3461318]], com.demandware.beehive.core.capi.domain.PersistentObjectPOKey(com.demandware.beehive.bts.internal.orderprocess.fulfillment.OrderPO) [2ae33b4e8c95d0d11ba3461318], OCA=523194088] in int_adyen_SFRA/cartridge/controllers/middlewares/adyen/showConfirmation/order.js:12

@olga-adyen I can confirm the issue described by Wouter in the original comment. The issue is still present in the last version (v23.2.1).
We had to add a customization to resolve it. Without the fix, we were encountering paid orders that weren't properly placed / exported, because the logic inside cartridges/int_adyen_SFRA/cartridge/scripts/adyenService.js fails to execute. The condition order.status === Order.ORDER_STATUS_CREATED can never be true, so the logic to place the order is never executed.

Adding another comment to this because my company ran into this issue as well. We will be implementing a customization for this in our cartridge. There are scenarios (such as iDeal payments in NL) where, if a redirect back to the website doesn't execute properly, then the bank account is debited but the order is never updated via webhook, and thus the order stays in "Created" status until it ultimately fails after X amount of time.
Not a great user experience for our customers if there are issues with redirect.

Hello
This is already fixed on develop https://github.com/Adyen/adyen-salesforce-commerce-cloud/pull/966/files
and will be included in the next release
Kind Regards
Aleksandar
Adyen

Hello @olga-adyen, Any idea on this issue? Is this resolved in any latest versions?
I am getting the same issue mentioned here. https://github.com/Adyen/adyen-salesforce-commerce-cloud/issues/733#issuecomment-1658704806
Currently we are using https://github.com/Adyen/adyen-salesforce-commerce-cloud/tree/c3737fcafe1898e74cf2639f477cf09848a75e11
Error:
SystemError: com.demandware.beehive.orm.capi.common.ORMOptimisticLockingException: Optimistic locking failure. Object couldn't be updated. [com.demandware.beehive.bts.internal.orderprocess.fulfillment.OrderPO, com.demandware.beehive.orm.internal.state2.RelationalObjectInstanceState@455f995[com.demandware.beehive.core.capi.domain.PersistentObjectPOKey(com.demandware.beehive.bts.internal.orderprocess.fulfillment.OrderPO) [50fa75e142588324f534e48ea6]], com.demandware.beehive.core.capi.domain.PersistentObjectPOKey(com.demandware.beehive.bts.internal.orderprocess.fulfillment.OrderPO) [50fa75e142588324f534e48ea6], OCA=528290224]
Thanks,
Sunil

@sunil-veerapura
Pls see the comment of Aleksandar above:
This is already fixed on develop https://github.com/Adyen/adyen-salesforce-commerce-cloud/pull/966
and will be included in the next release
Thank you,
Olga
Adyen

@olga-adyen - I don't understand how this fix will resolve the optimistic locking issue which we are getting while placing order through 3DS. We don't get this for everything order. 1 order in 10 is having such issue but not every order.
If you can give me bit more explaination about how this fix will resolve the issue, it would help us communicate to our client.

@sunil-veerapura It seems to me that the issue that you describe is a different one then reported here.
It could be that the custom objects containing the notifications are processed at the same time as that the customer returns from the 3DS verification, so two processed are trying to modify the same order. Our solution was to add a 1 minute delay in the processing of the notification custom objects by comparing the order creation time to the current time.

Hello @wouterwp
This issue is now fixed in latest release
Kind Regards
Aleksandar
Adyen


Incomplete block pixel iterator

This bit be in #556 and probably before: it you read a block at the right or bottom edges of a band, it might be incomplete. In #556 I assumed we'd get a block of smaller dimensions, but GDAL does something different: you get a full block, but only the top-left data is valid (and the extra borders are ignored when writing).
This is hinted at in the GDAL docs:

Note that the final block may be partial ... data beyond the edge of the underlying raster band in these edge blocks is of an undetermined value.

We could offer a pixels (cells. etc.) iterator that only returns the in-bounds values, or we could go full-in on ndarray (see also #569).

I think we should avoid implementing our own Grid type with iterators and so on. It is to complex and beyond the scope of the crate (my opinion).
The Buffer struct was intended to be a return type for reading where the data (Vec) and some metadata is stored. After reading, the user should convert it to ndarray or use a custom struct (as we do in Geo Engine).
I know that writing is more complex. If the data is not in C order it needs to be transformed because GDAL uses C order and i think there is no way around it. We could think of a trait for writing that has a &[T] and provides x and y size instead of using the Buffer struct to avoid a copy if you have data already in the perfect shape.
I never used GDALRasterIOEx with spacing so there may be more options if the data does not have the correct shape.

It is to complex and beyond the scope of the crate (my opinion).

Just this API, I swear, just this API and we're done. :laughing:.

I never used GDALRasterIOEx with spacing so there may be more options if the data does not have the correct shape.

I think it supports setting cell (e.g. for pixels with padding) and line strides, plus an initial offset by pointing it to the middle of the buffer.