not able to run npm install

Hi all,
I am not able to install the sdk from source, I receive the following errors:
kratos@kratos-almaviva:~/Developments/AMA/sdk$ npm install
npm WARN deprecated<EMAIL_ADDRESS>🙌  Thanks for using Babel: we recommend using babel-preset-env now: please read babeljs.io/env to update!
npm WARN deprecated<EMAIL_ADDRESS>CoffeeScript on NPM has moved to "coffeescript" (no hyphen)

<EMAIL_ADDRESS>install /home/kratos/Developments/AMA/sdk/node_modules/canvas
node-gyp rebuild

gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
Package cairo was not found in the pkg-config search path.
Perhaps you should add the directory containing cairo.pc' to the PKG_CONFIG_PATH environment variable No package 'cairo' found gyp: Call to './util/has_lib.sh freetype' returned exit status 0 while in binding.gyp. while trying to load binding.gyp gyp ERR! configure error  gyp ERR! stack Error: gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/home/kratos/.nvm/versions/node/v9.2.1/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:336:16)
gyp ERR! stack     at ChildProcess.emit (events.js:159:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:209:12)
gyp ERR! System Linux 4.8.0-54-generic
gyp ERR! command "/home/kratos/.nvm/versions/node/v9.2.1/bin/node" "/home/kratos/.nvm/versions/node/v9.2.1/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/kratos/Developments/AMA/sdk/node_modules/canvas
gyp ERR! node -v v9.2.1
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok
npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>install 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!     /home/kratos/.npm/_logs/2017-12-09T20_06_01_795Z-debug.log
Could anyone help me?

make sure you have the dependencies for the canvas package installed: https://github.com/boundlessgeo/sdk/blob/master/DEVELOPING.md

Hi,
thanks for the quick answer.
You were right, I didn't have installed node-gyp.
However, after npm install I try npm run build:examples and npm start, but I receive the following errors and I am not able to see the examples.
kratos@kratos-almaviva:~/Developments/AMA/sdk$ npm start

<EMAIL_ADDRESS>start /home/kratos/Developments/AMA/sdk
webpack-dev-server --config webpack-dev-server.config.js --open --open-page 'build/examples'

Project is running at http://localhost:3000/
webpack output is served from /
Content not from webpack is served from ./
Hash: dbd677935bfe59206046
Version: webpack 3.8.1
Time: 12463ms
Asset       Size                                                                Chunks                    Chunk Names
build/examples/wfst/wfst.bundle.js.map    3.85 MB                                                                     0  [emitted]         wfst
build/examples/wfst/wfst.bundle.js    3.54 MB                                                                     0  [emitted]  [big]  wfst
build/examples/mb-bright/mb-bright.bundle.js    3.33 MB                                                                     2  [emitted]  [big]  mb-bright
build/examples/bookmark/bookmark.bundle.js    3.33 MB                                                                     3  [emitted]  [big]  bookmark
build/examples/geolocation/geolocation.bundle.js    3.33 MB                                                                     4  [emitted]  [big]  geolocation
build/examples/realtime/realtime.bundle.js    3.31 MB                                                                     5  [emitted]  [big]  realtime
build/examples/paint-change/paint-change.bundle.js    3.33 MB                                                                     6  [emitted]  [big]  paint-change
build/examples/legends/legends.bundle.js    3.33 MB                                                                     7  [emitted]  [big]  legends
build/examples/filter/filter.bundle.js    3.32 MB                                                                     8  [emitted]  [big]  filter
build/examples/export-image/export-image.bundle.js     3.3 MB                                                                     9  [emitted]  [big]  export-image
build/examples/drawing/drawing.bundle.js    3.32 MB                                                                    10  [emitted]  [big]  drawing
build/examples/basic/basic.bundle.js    3.34 MB                                                                    11  [emitted]  [big]  basic
build/examples/upload-map/upload-map.bundle.js    3.31 MB                                                                    12  [emitted]  [big]  upload-map
build/examples/sprite-animation/sprite-animation.bundle.js    3.31 MB                                                                    13  [emitted]  [big]  sprite-animation
build/examples/popups/popups.bundle.js    3.32 MB                                                                    14  [emitted]  [big]  popups
build/examples/feature-table/feature-table.bundle.js    3.32 MB                                                                    15  [emitted]  [big]  feature-table
build/examples/basic-wgs84/basic-wgs84.bundle.js    3.32 MB                                                                    16  [emitted]  [big]  basic-wgs84
build/examples/sprites/sprites.bundle.js     3.3 MB                                                                    17  [emitted]  [big]  sprites
build/examples/rotating/rotating.bundle.js     3.3 MB                                                                    18  [emitted]  [big]  rotating
build/examples/layer-list/layer-list.bundle.js    3.34 MB                                                                    19  [emitted]  [big]  layer-list
build/examples/clustering/clustering.bundle.js    3.31 MB                                                                    20  [emitted]  [big]  clustering
build/examples/sdk.css    9.21 kB  0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20  [emitted]         wfst, wms, mb-bright, bookmark, geolocation, realtime, paint-change, legends, filter, export-image, drawing, basic, upload-map, sprite-animation, popups, feature-table, basic-wgs84, sprites, rotating, clustering
build/examples/wms/wms.bundle.js    3.39 MB                                                                     1  [emitted]  [big]  wms
build/examples/sdk.css.map  502 bytes  0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20  [emitted]         wfst, wms, mb-bright, bookmark, geolocation, realtime, paint-change, legends, filter, export-image, drawing, basic, upload-map, sprite-animation, popups, feature-table, basic-wgs84, sprites, rotating, clustering
build/examples/wms/wms.bundle.js.map    3.69 MB                                                                     1  [emitted]         wms
build/examples/mb-bright/mb-bright.bundle.js.map    3.65 MB                                                                     2  [emitted]         mb-bright
build/examples/bookmark/bookmark.bundle.js.map    3.65 MB                                                                     3  [emitted]         bookmark
build/examples/geolocation/geolocation.bundle.js.map    3.65 MB                                                                     4  [emitted]         geolocation
build/examples/realtime/realtime.bundle.js.map    3.63 MB                                                                     5  [emitted]         realtime
build/examples/paint-change/paint-change.bundle.js.map    3.65 MB                                                                     6  [emitted]         paint-change
build/examples/legends/legends.bundle.js.map    3.65 MB                                                                     7  [emitted]         legends
build/examples/filter/filter.bundle.js.map    3.64 MB                                                                     8  [emitted]         filter
build/examples/export-image/export-image.bundle.js.map    3.63 MB                                                                     9  [emitted]         export-image
build/examples/drawing/drawing.bundle.js.map    3.64 MB                                                                    10  [emitted]         drawing
build/examples/basic/basic.bundle.js.map    3.64 MB                                                                    11  [emitted]         basic
build/examples/upload-map/upload-map.bundle.js.map    3.63 MB                                                                    12  [emitted]         upload-map
build/examples/sprite-animation/sprite-animation.bundle.js.map    3.63 MB                                                                    13  [emitted]         sprite-animation
build/examples/popups/popups.bundle.js.map    3.64 MB                                                                    14  [emitted]         popups
build/examples/feature-table/feature-table.bundle.js.map    3.64 MB                                                                    15  [emitted]         feature-table
build/examples/basic-wgs84/basic-wgs84.bundle.js.map    3.64 MB                                                                    16  [emitted]         basic-wgs84
build/examples/sprites/sprites.bundle.js.map    3.63 MB                                                                    17  [emitted]         sprites
build/examples/rotating/rotating.bundle.js.map    3.63 MB                                                                    18  [emitted]         rotating
build/examples/layer-list/layer-list.bundle.js.map    3.64 MB                                                                    19  [emitted]         layer-list
build/examples/clustering/clustering.bundle.js.map    3.63 MB                                                                    20  [emitted]         clustering
[434] multi (webpack)-dev-server/client?http://localhost:3000 webpack/hot/dev-server webpack/hot/only-dev-server ./examples/feature-table/app.js 64 bytes {15} [built]
[437] multi (webpack)-dev-server/client?http://localhost:3000 webpack/hot/dev-server webpack/hot/only-dev-server ./examples/filter/app.js 64 bytes {8} [built]
[440] multi (webpack)-dev-server/client?http://localhost:3000 webpack/hot/dev-server webpack/hot/only-dev-server ./examples/geolocation/app.js 64 bytes {4} [built]
[445] multi (webpack)-dev-server/client?http://localhost:3000 webpack/hot/dev-server webpack/hot/only-dev-server ./examples/layer-list/app.js 64 bytes {19} [built]
[447] multi (webpack)-dev-server/client?http://localhost:3000 webpack/hot/dev-server webpack/hot/only-dev-server ./examples/legends/app.js 64 bytes {7} [built]
[449] multi (webpack)-dev-server/client?http://localhost:3000 webpack/hot/dev-server webpack/hot/only-dev-server ./examples/mb-bright/app.js 64 bytes {2} [built]
[451] multi (webpack)-dev-server/client?http://localhost:3000 webpack/hot/dev-server webpack/hot/only-dev-server ./examples/paint-change/app.js 64 bytes {6} [built]
[453] multi (webpack)-dev-server/client?http://localhost:3000 webpack/hot/dev-server webpack/hot/only-dev-server ./examples/popups/app.js 64 bytes {14} [built]
[455] multi (webpack)-dev-server/client?http://localhost:3000 webpack/hot/dev-server webpack/hot/only-dev-server ./examples/realtime/app.js 64 bytes {5} [built]
[457] multi (webpack)-dev-server/client?http://localhost:3000 webpack/hot/dev-server webpack/hot/only-dev-server ./examples/rotating/app.js 64 bytes {18} [built]
[459] multi (webpack)-dev-server/client?http://localhost:3000 webpack/hot/dev-server webpack/hot/only-dev-server ./examples/sprite-animation/app.js 64 bytes {13} [built]
[461] multi (webpack)-dev-server/client?http://localhost:3000 webpack/hot/dev-server webpack/hot/only-dev-server ./examples/sprites/app.js 64 bytes {17} [built]
[463] multi (webpack)-dev-server/client?http://localhost:3000 webpack/hot/dev-server webpack/hot/only-dev-server ./examples/upload-map/app.js 64 bytes {12} [built]
[466] multi (webpack)-dev-server/client?http://localhost:3000 webpack/hot/dev-server webpack/hot/only-dev-server ./examples/wfst/app.js 64 bytes {0} [built]
[493] multi (webpack)-dev-server/client?http://localhost:3000 webpack/hot/dev-server webpack/hot/only-dev-server ./examples/wms/app.js 64 bytes {1} [built]
+ 490 hidden modules
ERROR in ./examples/mb-bright/app.js
Module not found: Error: Can't resolve './conf' in '/home/kratos/Developments/AMA/sdk/examples/mb-bright'
@ ./examples/mb-bright/app.js 55:12-29
@ multi (webpack)-dev-server/client?http://localhost:3000 webpack/hot/dev-server webpack/hot/only-dev-server ./examples/mb-bright/app.js
ERROR in ./examples/realtime/app.js
Module not found: Error: Can't resolve './conf' in '/home/kratos/Developments/AMA/sdk/examples/realtime'
@ ./examples/realtime/app.js 43:12-29
@ multi (webpack)-dev-server/client?http://localhost:3000 webpack/hot/dev-server webpack/hot/only-dev-server ./examples/realtime/app.js
Child extract-text-webpack-plugin node_modules/extract-text-webpack-plugin/dist node_modules/css-loader/index.js!node_modules/sass-loader/lib/loader.js??ref--1-3!examples/wfst/app.css:
[0] ./node_modules/css-loader!./node_modules/sass-loader/lib/loader.js?{"includePaths":["node_modules"]}!./examples/wfst/app.css 748 bytes {0} [built]
[1] ./node_modules/css-loader/lib/css-base.js 2.26 kB {0} [built]
Child extract-text-webpack-plugin node_modules/extract-text-webpack-plugin/dist node_modules/css-loader/index.js!node_modules/sass-loader/lib/loader.js??ref--1-3!src/stylesheet/sdk.scss:
[0] ./node_modules/css-loader!./node_modules/sass-loader/lib/loader.js?{"includePaths":["node_modules"]}!./src/stylesheet/sdk.scss 9.76 kB {0} [built]
[1] ./node_modules/css-loader/lib/css-base.js 2.26 kB {0} [built]
webpack: Failed to compile.

create a conf.js file for those examples with your mapbox api key in it:
something like: ```module.exports = {
'access_token': 'your_key_here’
};

I will make sure we update our docs with this info

HI Bart,
after added the file conf.js as follow:
module.exports = {
"access_token": ""
};
It is working now, thanks a lot, and you are right, could be better if you
add these instructions on the documentation.
I have a last question for you: I have used the version 1 of sdk and there
were a lot of components, examples and complete documentation, why I can't
find the same support for version 2?
Matteo Cusmai
On Sun, Dec 10, 2017 at 11:58 AM, Bart van den Eijnden <
<EMAIL_ADDRESS>wrote:

I will make sure we update our docs with this info
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/boundlessgeo/sdk/issues/760#issuecomment-350540061,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGJLmnFDSX1yhMtz3VNmMKtgI9I4IWizks5s-7k4gaJpZM4Q8Orj
.

the focus of v2 is different, where v1 was a widget library, v2 is trying not to be opinionated on the UI (if we use UI, it's plain HTML elements that can be overridden). So it's more about doing the core right (mapbox style document based mapping). So v1 only has a minimal UI.

As for the docs, this is the stuff we have right now: https://sdk.boundlessgeo.com/docs/
If you have ideas on what is missing, let me know

Hi Bart,
so the version 2 of the SDK isn't a widget library to develop a complete
webgis application?
So, how can I use the SDK to develop a webgis application? Do I have to
develop all widgets such as measurements, select of basemap, drawing
features, feature table, and so on?
Matteo Cusmai
On Mon, Dec 11, 2017 at 8:56 AM, Bart van den Eijnden <
<EMAIL_ADDRESS>wrote:

As for the docs, this is the stuff we have right now:
https://sdk.boundlessgeo.com/docs/
If you have ideas on what is missing, let me know
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/boundlessgeo/sdk/issues/760#issuecomment-350647542,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGJLmq6pW8v50YS2Lx2guyMX9l58YRecks5s_OASgaJpZM4Q8Orj
.

If you look at the examples, a lot of the code for this is already in sdk (just not the UI to operate it), e.g. check the draw example for the measure and draw functionality: https://sdk.boundlessgeo.com/drawing/index.html


Fix links to missing pages and invalid links

Using sourcegraph.com with the query context:global repo:^github\.com/Wyliemaster/gddocs$@master file:\.md \[[^\]]+\]\([^\)]*\) and the following JS trickery
const blob = "/-/blob/";
const docs = "docs/";
const branchPermalink = "https://github.com/Wyliemaster/gddocs/blob/1e9c45e7170ab0af9722278b97dd97bec3631dc5/"; //master

for (let header of document.querySelectorAll('article [data-testid="result-container-header"] > span:first-child')) {
    let href = header.firstElementChild.firstElementChild.children[2].href;
    let repoFilePath = href.substring(href.indexOf(blob) + blob.length);
    let docsLocation = repoFilePath.substring(repoFilePath.indexOf("/") + 1);

    header.innerHTML += `<a href="https://wyliemaster.github.io/gddocs/#/${docsLocation}">Open gd docs</a>`;
    header.innerHTML += `<div style="padding-left: 0.5em; cursor: pointer;" onclick="navigator.clipboard.writeText("${branchPermalink}${repoFilePath}?plain=1")">Copy GH link</div>`;
}

then by checking everything manually, I compiled a list of broken links:

all links to /topics/encryption/gjp.md - it's been moved to /topics/gjp.md
all links to enumerations.md - it's missing 🤔 but probably it's to-be-added
https://github.com/Wyliemaster/gddocs/blob/1e9c45e7170ab0af9722278b97dd97bec3631dc5/docs/endpoints/levels/getGJLevels21.md?plain=1#L16
origin's website is dead https://github.com/Wyliemaster/gddocs/blob/1e9c45e7170ab0af9722278b97dd97bec3631dc5/README.md?plain=1#L13
https://github.com/Wyliemaster/gddocs/blob/1e9c45e7170ab0af9722278b97dd97bec3631dc5/docs/endpoints/comments/deleteGJAccComment20.md?plain=1#L13
https://github.com/Wyliemaster/gddocs/blob/1e9c45e7170ab0af9722278b97dd97bec3631dc5/docs/endpoints/levels/getGJLevels21.md?plain=1#L10-L11
#demonFilter gets lowercased in the compiled version of the website, so this link does not scroll to the dropdown with demonFilter values https://github.com/Wyliemaster/gddocs/blob/1e9c45e7170ab0af9722278b97dd97bec3631dc5/docs/endpoints/levels/getGJLevels21.md?plain=1#L21
https://github.com/Wyliemaster/gddocs/blob/1e9c45e7170ab0af9722278b97dd97bec3631dc5/docs/endpoints/levels/getGJLevels21.md?plain=1#L116-L123
if these should be links at all, they should link to the section below https://github.com/Wyliemaster/gddocs/blob/1e9c45e7170ab0af9722278b97dd97bec3631dc5/docs/resources/client/gamesave/kCEK.md?plain=1#L8-L9
https://github.com/Wyliemaster/gddocs/blob/1e9c45e7170ab0af9722278b97dd97bec3631dc5/docs/resources/client/gamesave/kCEK.md?plain=1#L23
the uppercase C makes this link invalid for some docsify reason https://github.com/Wyliemaster/gddocs/blob/1e9c45e7170ab0af9722278b97dd97bec3631dc5/docs/resources/client/level-components/capacity-string.md?plain=1#L101
https://github.com/Wyliemaster/gddocs/blob/1e9c45e7170ab0af9722278b97dd97bec3631dc5/docs/resources/client/level-components/guideline-string.md?plain=1#L4
all in docs/resources/client/level-components/inner-level-string.md
docs/resources/client/level-components/level-colors.md L42 (HSV) links to resources/client/level-components/level-object.md?id=object-string which links to... nothing.
https://github.com/Wyliemaster/gddocs/blob/1e9c45e7170ab0af9722278b97dd97bec3631dc5/docs/resources/client/level-components/level-object.md?plain=1#L7 https://github.com/Wyliemaster/gddocs/blob/1e9c45e7170ab0af9722278b97dd97bec3631dc5/docs/resources/client/level-components/level-object.md?plain=1#L41 https://github.com/Wyliemaster/gddocs/blob/1e9c45e7170ab0af9722278b97dd97bec3631dc5/docs/resources/client/level-components/level-object.md?plain=1#L76 https://github.com/Wyliemaster/gddocs/blob/1e9c45e7170ab0af9722278b97dd97bec3631dc5/docs/resources/client/level-components/level-object.md?plain=1#L83-L84 https://github.com/Wyliemaster/gddocs/blob/1e9c45e7170ab0af9722278b97dd97bec3631dc5/docs/resources/client/level-components/level-object.md?plain=1#L89
https://github.com/Wyliemaster/gddocs/blob/1e9c45e7170ab0af9722278b97dd97bec3631dc5/docs/resources/client/level-components/color-string.md?plain=1#L24
https://github.com/Wyliemaster/gddocs/blob/1e9c45e7170ab0af9722278b97dd97bec3631dc5/docs/resources/server/song.md?plain=1#L8
https://github.com/Wyliemaster/gddocs/blob/1e9c45e7170ab0af9722278b97dd97bec3631dc5/docs/resources/client/level.md?plain=1#L41 https://github.com/Wyliemaster/gddocs/blob/1e9c45e7170ab0af9722278b97dd97bec3631dc5/docs/resources/client/level.md?plain=1#L48
https://github.com/Wyliemaster/gddocs/blob/1e9c45e7170ab0af9722278b97dd97bec3631dc5/docs/topics/status_codes.md?plain=1#L11 https://github.com/Wyliemaster/gddocs/blob/1e9c45e7170ab0af9722278b97dd97bec3631dc5/docs/topics/status_codes.md?plain=1#L62
https://github.com/Wyliemaster/gddocs/blob/1e9c45e7170ab0af9722278b97dd97bec3631dc5/docs/topics/tags.md?plain=1#L40
"gzip" is a link to zlib.net in all other places, except here https://github.com/Wyliemaster/gddocs/blob/1e9c45e7170ab0af9722278b97dd97bec3631dc5/docs/resources/client/gamesave.md?plain=1#L5
this should not be a link https://github.com/Wyliemaster/gddocs/blob/1e9c45e7170ab0af9722278b97dd97bec3631dc5/docs/_sidebar.md?plain=1#L3
while we're at it, dots are not needed in all the links in /docs/endpoints/levels/uploadGJLevel21.md and in this link https://github.com/Wyliemaster/gddocs/blob/1e9c45e7170ab0af9722278b97dd97bec3631dc5/docs/resources/client/level.md?plain=1#L17

I could've saved so much time if I'd automate this by reading markdown links in files... . . . . . .  .  .   .     .      .

i need the GJP thing, can someone explain ?

i need the GJP thing, can someone explain ?

gjp is encoded account password:
import itertools,base64

def gjp(password:bytes)->bytes:
    return base64.urlsafe_b64encode(bytes(a^b for a,b in zip(itertools.cycle(b"37526"),password)))


Added dark humor detection task

We wish to measure if language models can successfully detect/sense if a particular piece of text is intended to be humorous or not, regardless of their level of humor. Since humor can be rather subjective, we intend to direct the focus of this task to detecting if a piece of text is intended to be funny. Based on the experience in annotating the few-shot dataset, we think this task is challenging but feasible for humans, and thus we expect it to be even more challenging for language models -- such that even memorizing the entire internet would not help tremendously since this requires understanding of context and some thoughtful reasonings.

@googlebot I fixed it.

@googlebot I fixed it.


Oracle - Implementation of Batch Insertion

[x] Commit messages follow this format

Implementation of the batch insert, no test unit was created for this implementation.
At Oracle, we have some limitation when it comes to the return of the ResultSet.
But this implementation is functional and we can improve.
Forgive my English, I'm Brazilian and I do not speak well.
But this is my humble contribution.
With this, we will have something like this:
DECLARE
TYPE efRowProduct IS RECORD
(
    Id NUMBER(10)
);
TYPE efProduct IS TABLE OF efRowProduct;
listProduct efProduct;
BEGIN

INSERT INTO "Person" ("Name", "LastName")
VALUES (:p0, :p1);

listProduct := efProduct();
listProduct.extend(2);

INSERT INTO "Product" ("Description", "Price", "Quanty")
VALUES (:p2, :p3, :p4)
RETURNING "Id" INTO listProduct(1);

INSERT INTO "Product" ("Description", "Price", "Quanty")
VALUES (:p5, :p6, :p7)
RETURNING "Id" INTO listProduct(2);

OPEN :cur1 FOR SELECT listProduct(1).Id FROM DUAL;
OPEN :cur2 FOR SELECT listProduct(2).Id FROM DUAL;
END;

[x] Tests for the changes have been added (for bug fixes / features)
[x] Code meets the expectations our engineering guidelines. https://github.com/aspnet/Home/wiki/Engineering-guidelines.

@ralmsdeveloper,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by .NET Foundation. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot

@ajcvickers  , can you see if it's useful?

Okay, I'll be doing this.

@ralmsdeveloper The tests are still failing for me even with the newest changes. Do all of them pass for you?

Yes everything!
I was careful not to go back!
I'll check again. to release this pr

@AndriySvyryd I made a small adjustment, make sure it's okay!

@ralmsdeveloper For example when I run OracleEndToEndTest.Can_save_changes_in_tracked_entities() I get this exception with your changes:

---- System.ArgumentException : Invalid parameter binding
Parameter name: cur
C:\enlistments\Universe\EntityFramework\src\EFCore.Relational\Update\ReaderModificationCommandBatch.cs(302,0): at Microsoft.EntityFrameworkCore.Update.ReaderModificationCommandBatch.d__32.MoveNext()

We are using Oracle Database 12c Release 2 (<IP_ADDRESS>.0) - Standard Edition 2, see https://github.com/aspnet/EntityFrameworkCore/tree/dev/samples/OracleProvider

Okay @AndriySvyryd , I'm seeing this now, to release this PR!

@ralmsdeveloper,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by .NET Foundation. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot

I'm going to close this PR, because I'm updating my repositories, when I'm finished, I'll send the PR with the fixes!
I already made all the corrections for the implementation!
@AndriySvyryd

Moved to #10071


C++ syntax highlighting falls apart

Type: Bug
Syntax highlighting for this snippet is very incorrect. It appears to get into a confused state and basically everything about it is wrong. Once it occurs in a file everything after that point shows up as a string, which as you can imagine is pretty jarring.
struct foo
{
	void (*bar1)() noexcept;
	void (*bar2)() noexcept;
	void (*bar3)() noexcept;
};

void baz()
{
	static_assert(false, "some string");
	int x = 0;
}

In latest insiders with the default theme

More issues are apparent depending on the theme being used

Here's the snippet again with some of the issues annotated. It appears as though the parser gets confused on the first function pointer and essentially thinks all the things after it are parameters in the function pointer type.
struct foo
{
    void (*bar1)() noexcept;        // noexcept is entity.name.type.parameter, should be storage.modifier.special.functional.post-parameters.noexcept.cpp
    void (*bar2)() noexcept;        // bar2 is variable.parameter.pointer.function, should be variable.other.pointer.function.cpp
    void (*bar3)() noexcept;
};                                  // } is meta.parameter.cpp, should be punctuationsection.block.end.bracket.curly.struct.cpp

void baz()                          // baz is entity.name.type.parameter.cpp, should be entity.name.function.definition.cpp
{
    static_assert(false, "string");
    int x = 0;                      // line is string.quoted.double.cpp
}

VS Code version: Code - Insiders 1.86.0-insider (29bef5673ebb1fc3a59b90c9d8bfd2bc61c3f011, 2024-01-12T05:37:28.770Z)
OS version: Windows_NT x64 10.0.22621
Modes:

System Info

Item
Value

CPUs
AMD Ryzen Threadripper PRO 3945WX 12-Cores      (24 x 3993)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: enabled_ondirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_graphite: disabled_offvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: enabled

Load (avg)
undefined

Memory (System)
63.86GB (36.74GB free)

Process Argv
--crash-reporter-id 2860e056-a3df-4573-a10a-18ca229997c6

Screen Reader
no

VM
0%

Extensions: none
A/B Experiments
vsliv368cf:30146710
vspor879:30202332
vspor708:30202333
vspor363:30204092
vstes627:30244334
vscod805cf:30301675
vsaa593:30376534
py29gd2263:30784851
vscaat:30438846
vsclangdf:30492506
c4g48928:30535728
a9j8j154:30646983
pythongtdpath:30726887
i26e3531:30792625
welcomedialog:30812478
pythonidxpt:30768918
pythonnoceb:30776497
asynctok:30898717
dsvsc013:30777762
dsvsc014:30777825
dsvsc015:30821418
pythontestfixt:30866404
pythonregdiag2:30926734
pyreplss1:30879911
pythonmypyd1:30859725
pythoncet0:30859736
pythontbext0:30879054
accentitlementst:30870582
dsvsc016:30879898
dsvsc017:30880771
dsvsc018:30880772
aa_t_chat:30882232
14951562:30934201

should move to the original repo https://github.com/jeff-hykin/better-cpp-syntax

Moved to the upstream repo: https://github.com/jeff-hykin/better-cpp-syntax/issues/652


Error: 404

{"error":{"code":404,"message":"Requested entity was not found.","status":"NOT_FOUND"}}
The script is bound to the file.
Trying to overwrite the script and get this error.
When selecting "Create as new project", I get "Done".

Thank you so much for your report. I could confirm the error. That was a serious bug. So I modified the add-on. And since I confirmed that the bug was removed, I would like to report it. The version removed this bug is 9. If you can confirm the modified version, I am glad.
By recent Google update, after the icons for files in the project were added, it was found that the order of files in the project was forced to get to be the alphabetical order. But this is the quasi order. The actual order is rearranged by this add-on. So when you rearrange the files in the project, you can confirm that when the script editor is opened, the file which is displayed at first can be changed.
I thought that this might be a bug. So I reported this to the issue tracker. https://issuetracker.google.com/issues/77992284

Kanshi TANAIKE,
thank you very much! I'm a big fan of your work. Cheers!

Max-Makhrov,
Thank you so much. I'm honored for it.


Support HTTP proxy configuration

:mag_right: Scope

If proxy config is supplied (e.g. proxy, http_proxy, https_proxy, and no_proxy) then that should beused in cloud init to:

install packages
write proxy config to file for:

Global OS (e.g. /etc/default on RHEL)
Package manager (e.g. /usr/local/bin/set_yum_proxy.sh for yum)
Kong config (TBC: does Kong require proxy config or will it use system config?)

Variable decriptions updated accordingly
Readme updated to give clear overview

:anchor: Difficulty
Here is our honest estimate on how difficult (on a scale of 1-5) the implementation may be:
:large_blue_circle: :large_blue_circle: :large_blue_circle: :white_circle: :white_circle:
:memo: Relevant Classes or Snippets
Feel free to add any here.
:book: Useful Resources
If you need help on how to get started, maybe try looking into the following resources!

Cloud-Init

Write Files module
apt config
yum config
example

If you want to work on this, simply comment down below and state your interests! Please also comment again if you have changed your mind. Anyone is allowed to discuss in the comments below, feel free to collaborate and work together :heart:
You can always ask for help here if you get stuck.

Still needs proxy settings writing to file for global configuration

The proxy configuration is working, but the example is not. Need to debug, fix, and add to pipeline test


Meet Sonatype publish requirements

The requirements for #21 as per http://central.sonatype.org/pages/requirements.html include:

Package sources and javadocs
Sign artifacts
Metadata in pom
etc. (check)

A clarification: Sonatype requires non-snapshot releases to be signed etc. (see above), whereas snapshot builds don't need to meet these requirements. The plan is to publish unsigned snapshots automatically via Travis on every push (still with full javadocs and sources though), and to only sign final releases.

This has been broken down into smaller issues, see eg. #29, #31


Enable vim-gutentags for specific folders only?

I always put my projects inside ~/Projects , ~/WWW, ~/Personal  .... only. Therefore, I have projects looks like
~/Project/proj1
~/Project/proj2
~/WWW/site1
~/WWW/site2
~/Personal/toy1
~/Personal/toy2

Is that possible to have a new global variable g:gutentags_enabled_dirs to control gutentags only works for those directories? It would be looks like
let g:gutentags_enabled_dirs = ['~/Project/', '~/WWW', '~/Personal']

Then, I don't need to create .notags for other projects outside g:gutentags_enabled_dirs. For example
~/Outside/proj3

It will much easier to avoid gutentags generate tags accidentally like #13 said.
Reference:  #54, #74

Ok, I just try to implement this with g:gutentags_enabled_user_func, it works perfect. Here comes the result.
let g:gutentags_enabled_dirs = ['~/Projects', '~/WWW']
let g:gutentags_enabled_user_func = 'CheckEnabledDirs'

function! CheckEnabledDirs(file)
    let file_path = fnamemodify(a:file, ':p:h')
    for enabled_dir in g:gutentags_enabled_dirs
        let enabled_path = fnamemodify(enabled_dir, ':p:h')
        if match(enabled_path, file_path) == 0
            return 1
        else
            let gutentags_root = gutentags#get_project_root(file_path)
            if filereadable(gutentags_root . '/.withtags')
                return 1
            else
                return 0
            endif
        endif
    endfor
endfunction

Now, gutentags works inside g:gutentags_enabled_dirs only and also works outside those dirs with .withtags file.

I think these are two kinds of different strategies.

Original gutentags works like enabled for everything, but disabled for specific one with .notags and g:gutentags_exclude_project_root (from recent bitbucket repository)

I just want gutentags disabled for everything, but enabled for specific one with .withtags and g:gutentags_enabled_dirs

The later one is  just what I need.
Anyway, thanks for working this great plugin, I like it, it works perfectly in my current working environment with above settings.
Mark

Thanks!
So yes, right Gutentags is "always enabled except for.." (where "except" is defined by a couple of things you mentioned). In https://github.com/ludovicchabant/vim-gutentags/issues/74 we are discussing however adding customizable project root lookups, so you would be able to do it the other way, i.e. specify a function that only returns a valid root path for anything in your home project folders... I think that would fit your needs, so I'll close this one.


Reduce file size checks

Only check max file size on initialization or when a file is opened. See https://github.com/kiteco/KiteSublime/pull/86#discussion_r497853472 for motivation.

@its-dhung
Updated the spec with how things will be. Let me know if you'd like anything changed or have any questions.


fix device override in model.py

Fixed device override when loading Llama models.

@guangyaodou thanks for the PR. Just to make sure- everything works as expected for Llama with this fix, right? Can you try it once

@iamgroot42 Hi. I just tried it and it will only prevent overriding my device for Llama models. With this being said, I think one should also change device_map in this line to device_map (which is not included in this PR).
Also, based on the discussion in this post, Llama3 now uses different tokenizer and should only be initialized with AutoTokenizer. This means that initialization of Llama model should also be changed to Autotokenizer. Please let me know if you want me to include these changes in the PR.


Speed up columns slices

Before submitting (must do checklist)

[x] Did you read the contribution guide?
[x] Did you update the docs? We use Numpy format for all the methods and classes.
[x] Did you write any new necessary tests?
[x] Did you update the CHANGELOG?

Proposed Changes
Look #775.
Closing issues
Closes #775.

Codecov Report

Merging #900 (29fcf46) into master (8a8cefa) will decrease coverage by 0.02%.
The diff coverage is 96.87%.

@@            Coverage Diff             @@
##           master     #900      +/-   ##
==========================================
- Coverage   84.90%   84.88%   -0.03%
==========================================
  Files         133      133
  Lines        7548     7563      +15
==========================================
+ Hits         6409     6420      +11
- Misses       1139     1143       +4

Impacted Files
Coverage Δ

etna/transforms/math/apply_lambda.py
92.00% <71.42%> (ø)

etna/datasets/__init__.py
100.00% <100.00%> (ø)

etna/datasets/tsdataset.py
90.74% <100.00%> (-0.03%)
:arrow_down:

etna/datasets/utils.py
95.91% <100.00%> (+1.47%)
:arrow_up:

etna/transforms/feature_selection/filter.py
100.00% <100.00%> (ø)

etna/transforms/math/add_constant.py
97.95% <100.00%> (ø)

etna/transforms/math/lags.py
100.00% <100.00%> (ø)

etna/transforms/math/log.py
96.15% <100.00%> (ø)

etna/transforms/math/sklearn.py
95.49% <100.00%> (+0.16%)
:arrow_up:

etna/transforms/math/statistics.py
99.28% <100.00%> (+<0.01%)
:arrow_up:

... and 4 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

I added report with benchmark into etna-experiments, PR: ISSUE - 775.


[refactor]: using expect instead of unwrap_or_else

currently the code uses a lot of .unwrap_or_else(|| { unreachable!("...") }); / .unwrap_or_else(|| { panic!("...") });. I think it's better to use exepct because it's more intuitive, and using less code.
Things to do:

allow expect in clippy global rule
replace code

We could also consider replacing
let Some(x) = y else {
    unreachable!("...");
};

with
let x  = y.expect("...");

/assignme


pgcli connection causes pgwire to return an internal error Unknown type: 0

I'm trying to connect to a server running with pgwire using pgcli, unfortunately one of the queries pgcli sends after connection is causing an pgwire to return an error, causing an exception in pgcli.
printing the message in ExtendedQueryHandler::on_parse shows that pgcli is sending the following message:
[src/main.rs:122] &message = Parse {
    name: None,
    query: "\n        SELECT  n.nspname schema_name,\n                c.relname table_name\n        FROM    pg_catalog.pg_class c\n                LEFT JOIN pg_catalog.pg_namespace n\n                    ON n.oid = c.relnamespace\n        WHERE   c.relkind = ANY($1)\n        ORDER BY 1,2;",
    type_oids: [
        0,
    ],
}

Which in turn is causing an error at
https://github.com/sunng87/pgwire/blob/f32563b5df5e68bc8701a071228d2c5d19ce94a2/src/api/stmt.rs#L31
since Type::from_oid return None when the oid is 0.
I don't really understand why pgcli is sending an oid of zero, but (at the risk of being somewhat simplistic about this?), I would guess either:

pgcli is doing something invalid (unlikely since it's widely used and connects to most postgres servers fine), then pgwire should return a "client error"
or, pgcli is doing something reasonable in which case pgwire shouldn't return a PgWireError

Am is missing something?
pgcli output:
> pgcli 'postgresql://me:pencil@<IP_ADDRESS>:54321/foobar'
Server: PostgreSQL 0.19.1
Version: 3.5.0
Home: http://pgcli.com
Exception in thread completion_refresh:
Traceback (most recent call last):
  File "/Users/samuel/.pyenv/versions/3.10.13/lib/python3.10/threading.py", line 1016, in _bootstrap_inner
me@127:foobar>     self.run()
  File "/Users/samuel/.pyenv/versions/3.10.13/lib/python3.10/threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
  File "/Users/samuel/.pyenv/versions/3.10.13/lib/python3.10/site-packages/pgcli/completion_refresher.py", line 68, in _bg_refresh
    refresher(completer, executor)
  File "/Users/samuel/.pyenv/versions/3.10.13/lib/python3.10/site-packages/pgcli/completion_refresher.py", line 115, in refresh_tables
    completer.extend_relations(executor.tables(), kind="tables")
  File "/Users/samuel/.pyenv/versions/3.10.13/lib/python3.10/site-packages/pgcli/pgcompleter.py", line 192, in extend_relations
    data = [self.escaped_names(d) for d in data]
  File "/Users/samuel/.pyenv/versions/3.10.13/lib/python3.10/site-packages/pgcli/pgcompleter.py", line 192, in <listcomp>
    data = [self.escaped_names(d) for d in data]
  File "/Users/samuel/.pyenv/versions/3.10.13/lib/python3.10/site-packages/pgcli/pgexecute.py", line 520, in tables
    yield from self._relations(kinds=["r", "p", "f"])
  File "/Users/samuel/.pyenv/versions/3.10.13/lib/python3.10/site-packages/pgcli/pgexecute.py", line 515, in _relations
    cur.execute(self.tables_query, [kinds])
  File "/Users/samuel/.pyenv/versions/3.10.13/lib/python3.10/site-packages/pgcli/pgexecute.py", line 69, in execute
                   super().execute(*args, **kwargs)
  File "/Users/samuel/.pyenv/versions/3.10.13/lib/python3.10/site-packages/psycopg/cursor.py", line 737, in execute
    raise ex.with_traceback(None)
psycopg.OperationalError: consuming input failed: Unknown type: 0
server closed the connection unexpectedlye: OFF  [F4] Emacs-mode  [F5] Explain: OFF      Refreshing completions...
	This probably means the server terminated abnormally
	before or while processing the request.

MRE code (adapted from the server.rs example, but extend to add ExtendedQueryHandler

See here
use std::fmt::Debug;
use std::sync::Arc;

use async_trait::async_trait;
use futures::{stream, Sink, SinkExt, StreamExt};
use tokio::net::TcpListener;

use pgwire::api::auth::noop::NoopStartupHandler;
use pgwire::api::query::{ExtendedQueryHandler, SimpleQueryHandler, StatementOrPortal};
use pgwire::api::results::{DataRowEncoder, DescribeResponse, QueryResponse, Response, Tag};
use pgwire::api::{ClientInfo, ClientPortalStore, MakeHandler, StatelessMakeHandler};
use pgwire::api::portal::Portal;
use pgwire::api::stmt::NoopQueryParser;
use pgwire::api::store::PortalStore;
use pgwire::error::ErrorInfo;
use pgwire::error::{PgWireError, PgWireResult};
use pgwire::messages::extendedquery::Parse;
use pgwire::messages::response::NoticeResponse;
use pgwire::messages::PgWireBackendMessage;
use pgwire::tokio::process_socket;

pub struct DummyProcessor;

#[async_trait]
impl SimpleQueryHandler for DummyProcessor {
    async fn do_query<'a, C>(
        &self,
        client: &mut C,
        query: &'a str,
    ) -> PgWireResult<Vec<Response<'a>>>
    where
        C: ClientInfo + Sink<PgWireBackendMessage> + Unpin + Send + Sync,
        C::Error: Debug,
        PgWireError: From<<C as Sink<PgWireBackendMessage>>::Error>,
    {
        dbg!(query);
        client
            .send(PgWireBackendMessage::NoticeResponse(NoticeResponse::from(
                ErrorInfo::new(
                    "NOTICE".to_owned(),
                    "01000".to_owned(),
                    format!("Query received {}", query),
                ),
            )))
            .await?;

        if query.trim().starts_with("SELECT") {
            let schema = Arc::new(vec![]);

            let data: Vec<Option<i32>> = vec![];
            let schema_ref = schema.clone();
            let data_row_stream = stream::iter(data.into_iter()).map(move |_| {
                DataRowEncoder::new(schema_ref.clone()).finish()
            });

            Ok(vec![Response::Query(QueryResponse::new(
                schema,
                data_row_stream,
            ))])
        } else {
            Ok(vec![Response::Execution(Tag::new("OK").with_rows(1))])
        }
    }
}

#[async_trait]
impl ExtendedQueryHandler for DummyProcessor {
    type Statement = String;
    type QueryParser = NoopQueryParser;

    fn query_parser(&self) -> Arc<Self::QueryParser> {
        let query_parser = NoopQueryParser::new();
        Arc::new(query_parser)
    }

    async fn do_describe<C>(
        &self,
        _client: &mut C,
        target: StatementOrPortal<'_, Self::Statement>,
    ) -> PgWireResult<DescribeResponse>
    where
        C: ClientInfo + Unpin + Send + Sync,
    {
        dbg!(&target);
        Ok(DescribeResponse::new(None, vec![]))
    }

    async fn do_query<'a, C>(
        &self,
        _client: &mut C,
        portal: &'a Portal<Self::Statement>,
        _max_rows: usize,
    ) -> PgWireResult<Response<'a>>
    where
        C: ClientInfo + Unpin + Send + Sync,
    {
        let query = &portal.statement.statement;
        dbg!(query);

        if query.trim().starts_with("SELECT") {
            let schema = Arc::new(vec![]);

            let data: Vec<Option<i32>> = vec![];
            let schema_ref = schema.clone();
            let data_row_stream = stream::iter(data.into_iter()).map(move |_| {
                DataRowEncoder::new(schema_ref.clone()).finish()
            });

            Ok(Response::Query(QueryResponse::new(schema, data_row_stream)))
        } else {
            Ok(Response::Execution(Tag::new("OK").with_rows(1)))
        }
    }

    /// Use this to see what pgcli sends
    // async fn on_parse<C>(&self, _client: &mut C, message: Parse) -> PgWireResult<()>
    // where
    //     C: ClientInfo + ClientPortalStore + Sink<PgWireBackendMessage> + Unpin + Send + Sync,
    //     C::PortalStore: PortalStore<Statement = Self::Statement>,
    //     C::Error: Debug,
    //     PgWireError: From<<C as Sink<PgWireBackendMessage>>::Error>,
    // {
    //     dbg!(&message);
    //     unimplemented!("on_parse")
    // }
}

#[tokio::main]
pub async fn main() {
    let processor = Arc::new(StatelessMakeHandler::new(Arc::new(DummyProcessor)));

    let authenticator = Arc::new(StatelessMakeHandler::new(Arc::new(NoopStartupHandler)));

    let server_addr = "<IP_ADDRESS>:54320";
    let listener = TcpListener::bind(server_addr).await.unwrap();
    println!("Listening to {}", server_addr);
    loop {
        let incoming_socket = listener.accept().await.unwrap();
        let authenticator_ref = authenticator.make();
        let processor_ref = processor.make();
        tokio::spawn(async move {
            process_socket(
                incoming_socket.0,
                None,
                authenticator_ref,
                processor_ref.clone(),
                processor_ref,
            )
            .await
        });
    }
}

Thank you for reporting. This is the first time I see type oid 0 being sent to server. It seems postgresql will accept type oid as 0 so we don't need to return error here but send the 0 to application.

@samuelcolvin could you please help me to verify if #153 works for your case?

Yup that seems to be working for me.


More specific requirements in configuration

I added more strict requirements for configuration options on the configuration screen.

The “Heart Rate Variation” option for breaths per minute will not show on older platforms

Assumes all new platforms will have heart rate so it is a black list rather than a white list
There is no restriction for heart rate so platform is required here

The “Health” section will not show at all on platforms without health capabilities (identical to restricting aplite)
-Whenever possible, very specific requirements should be made and this is as specific as it can possibly be

Included in this is a .gitignore file that can be dropped if wanted. Seems to be no ignoring of files with either a .gitignore file or in the .git/info/exclude folder, so it may be better to just include a .gitignore so others know what is being excluded.
NOTE: A revert of a commit from another feature branch is included in this request, so no changes will be made on a129a5f as it is reverted in 3ee57f3 immediately.

Feature-branch madness from scripts on my machine...


Define IEquitable on Calendar and Occurence classes

Both Calendar and Occurence classes are already implementing the IEquatable interface. This change simply add the interface at the class definition.

Good idea. I would take it further, though, because I think there's a lot more opportunity/value to be had. Many (perhaps most) calendar components implement GetHashCode and Equals. It's reasonable to implement IEquatable on those objects as well.
Looking quickly:

Event / CalendarEvent (in net-core)
Alarm
Journal
GeographicLocation
Attachment?
Period
StatusCode
Organizer
Attendee
Trigger?
UtcOffset?
VTimeZone / TimeZone (I think it's called TimeZone in net-core, I can't remember)
Todo

And there are two versions of ical. They're mirror images of each other (mostly), so changes need to be made in both places. (When nunit works well with .NET Core, I'll retire the v2 version, and just maintain the version in net-core.)

v2, located in the v2 folder -- this is the main version
net-core, located in the net-core folder -- being published as an alpha nuget package

The publishing steps:

In the nuspec file in both of those directories, increment the minor version number
Add a bullet to readme.md adding a brief note about what the minor version changes achieve. Something like "Implement IEquatable<T> on Calendar, Occurrence, Alarm, Event/CalendarEvent, Journal "

Let me take this work of your hands. I will be happy to do it.
I spotted some of those opportunities as well as I familiarize myself with the codebase but I wanted it see if there was any value of doing so.

I spotted some of those opportunities as well as I familiarize myself with the codebase but I wanted it see if there was any value of doing so.

Yes, I think implementing IEquatable and IComparable where appropriate is definitely worthwhile.


Added support for executables as drop targets

Resolved / Related Issues
Itemize resolved / related issues by this PR.

Closes #3013

Details of Changes
Add details of changes here.

Added an "arguments" arg to OpenPath to pass arguments
Added navigation helper to open paths with items as the arguments
When an item is dropped on an executable, or a shortcut that has an executable as it's target, invoke the executable with the paths as arguments

Validation
How did you test these changes?

[x] Built and ran the app
[ ] Tested the changes for accessibility

Screenshots (optional)
https://user-images.githubusercontent.com/59544401/115973101-7454ca00-a507-11eb-8276-4135119a880e.mp4

@winston-de I can't get this to work, I tried dragging a text file over a shortcut to Notepad, and it doesn't look like anything is happening.

@yaichenbaum I can't get it to work with Notepad either, but I think it's because of another issue. For some reason, the "target path" property is null, so it doesn't think the shortcut leads to a program and disables drop support. Could you try with another one, like VSCode?

@yaichenbaum I can't get it to work with Notepad either, but I think it's because of another issue. For some reason, the "target path" property is null, so it doesn't think the shortcut leads to a program and disables drop support. Does it work with other shortcuts, like VSCode?

That seems to work.


invalid peer certificate: UnknownIssuer

Just installed tea and facing this error while I try to install any package
tea +openssl.org
error: http (spilt-tea-404)
error sending request for url (https://dist.tea.xyz/openssl.org/darwin/aarch64/versions.txt): error trying to connect: invalid peer certificate contents: invalid peer certificate: UnknownIssuer

sh <(curl tea.xyz) +nodejs.org
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  8739  100  8739    0     0  14750      0 --:--:-- --:--:-- --:--:-- 14938
error: http (spilt-tea-404)
error sending request for url (https://dist.tea.xyz/unicode.org/darwin/aarch64/versions.txt): error trying to connect: invalid peer certificate contents: invalid peer certificate: UnknownIssuer

seems like its not able to validate server certificate against a root certificate from the trust store.
How can I disable ssl check?

wow. @jhheider ideas?

so, deno controls this, LMK check their GitHub.

https://github.com/denoland/deno/issues/11482

This is interesting. @drpdishant , what OS/platform/distro are you running this under? Interestingly, if I load debian:buster-slim in Docker, and apt remove ca-certificates, I break curl, but not tea. Which makes me think, somewhere in the Deno guts, it's falling back to some well-known paths looking for ca certs, and possibly finding out of date ones.
That said, it doesn't really explain why you can curl tea.xyz. Can you curl dist.tea.xyz? If I can recreate this, it should be possible to strace the run and see what it's trying to execute.

https://dist.tea.xyz/openssl.org/darwin/aarch64/versions.txt

@jhheider which is mysterious right? How can certs on macOS be broken.

Oh, yeah. Deeply mysterious. Unless it's extremely out of date. I know the CAs do have big changes periodically. I feel like AWS had one in the last 12 months, maybe.

@mxcl @jhheider dist.tea.xyz is accessible in browser but it serves with a different certificate than the actual, probably because all the connection from my machine go through a corporate proxy. I do face this issue when running npm install, and it works after setting env NODE_TLS_REJECT_UNAUTHORIZED to 0.

Definitely it isn't an issue with macOS or ca-certs or even tea cli, skipping the check will work.

Ahhhhh, yes, a proxy performing the SSL check on your behalf and serving using its certificate would definitely cause that. Hm. Will have to see what options Deno offers for accepting insecure connections.

@jhheider If this helps, https://github.com/denoland/deno/pull/11324

@jhheider I am able to figure out a workaround using env DENO_CERTS, downloaded the ca cert and provided in the env value. it works.
DENO_CERT=dist-tea-xyz.pem tea +openssl.org

Certainly one workaround. We'll noodle something more user friendly. You won't be the last one behind a corporate proxy.

We haven't seen this in a long time, closing as assumed deno is responsible and is fixed.


Possible logic error in arrow functions transform

While reviewing #7113, I was confused by the logic in get_arrow_function_scope. Previously this function returned the ScopeId of enclosing arrow function (as the function's name suggests). But now it also returns the ScopeId of a class method or object method:
https://github.com/oxc-project/oxc/blob/b57d5a5277be14c02625fa3e223baeca86b5acb0/crates/oxc_transformer/src/common/arrow_function_converter.rs#L399-L409
Is this correct?
If it is correct, the name of the function should probably be changed to reflect what it's now doing, and a comment added explaining why.

It is correct, If async only, we need to treat the class async method and object async method as the ArrowFunction because the behavior is the same with ArrowFunction. I will change a suitable name to it.


v7 binary so fat compared to v5

measurement by goweight:
v5 = 3.0 MB
goweight . | head -n 5
  3.9 MB net/http
  3.8 MB runtime
  3.0 MB gopkg.in/redis.v5
  2.9 MB github.com/wcharczuk/go-chart
  2.5 MB github.com/valyala/fasthttp

v7 = 8.7 MB
goweight . | head -n 8
  8.7 MB github.com/go-redis/redis/v7
  7.3 MB github.com/aws/aws-sdk-go/service/s3
  3.9 MB net/http
  3.8 MB runtime
  3.3 MB github.com/gocql/gocql
  2.8 MB github.com/aws/aws-sdk-go/aws/endpoints
  2.5 MB github.com/valyala/fasthttp
  1.9 MB go.mongodb.org/mongo-driver/mongo

That is pretty bad and I am not sure I can do much. Even adding something like
type A struct {
	Cmdable // this is just a huge interface without implementation
}

type B struct {
	Cmdable
}

type C struct {
	Cmdable
}

adds another few megabytes. TBH this looks like some deficiency in Go but it is unclear whether compiler can handle it better.
The only thing I can do is to try to move Cluster and Ring implementation into separate packages. That should help if you don't use those clients.

After some experimentation it looks like goweight does not provide accurate information, e.g. compiled binary is 7395300 bytes, but at the time goweight reports
   12 MB github.com/go-redis/redis/v8
  5.8 MB runtime
  2.4 MB net
  2.4 MB crypto/tls
  2.0 MB reflect

which does not seem to be accurate at all.

And there is already issue for that - https://github.com/jondot/goweight/issues/16


Videos on iOS devices are missing important buttons

iPhones are missing the fullscreen and volume buttons (iOS 15.6, tested chrome and safari):

iPads are missing the volume button (iOS 16.0, tested chrome and safari):

Our site requests that the Paella volume button not show up when the player cannot control the device volume, as on some mobile devices.
Our site also requests that if @owi92 gets the wish regarding fullscreen:

that it be configurable because it is problematic for us to allow devices to take the player out of the Paella wrapper context for the reasons mentioned on the last comment of this pull: https://github.com/polimediaupv/paella-core/pull/320
that it be configurable to disable full screen for all iOS devices. We locally added this isEnabled() override to the fullScreenButton plugin to ensure it would not be visible under 3 conditions: browser does not allow, embed does not allow, disabled for all iOS devices.

// #DCE Override https://github.com/polimediaupv/paella-basic-plugins/blob/main/src/plugins/es.upv.paella.fullscreenButton.js
  async isEnabled() {
    const enabled = await super.isEnabled();
    // #DCE OPC-892 related to disabling full screen when not supported,
    // also check if full screen button is enabled when embedded in an iFrame
    // #DCE OPC-910 Also disable fullscreen for all IOS
    const isIOS = DceUtils.testIfIOS();
    const isFullScreenEnabled = (
      window.document.fullscreenEnabled ||
      window.document.webkitFullscreenEnabled
    );
    return (
      enabled
      && isFullScreenEnabled
      && this.player.isFullScreenSupported()
      && !isIOS
    );
  }

volume button not show up when the player cannot control the device volume, as on some mobile devices.

Oh interesting, I never considered that. While I personally dislike this (I wish I could separately control the volume of all my mobile apps), I certainly see the reasoning behind it (to reduce user confusion with two separate volume controls).

browser does not allow, embed does not allow, disabled for all iOS devices.

The first two I fully understand but why the third condition? Why disallow fullscreen on all iOS devices?

No problem with the suppressed audio control. With respect to fullscreen, my understanding is that DCE wants more control over the usage and its context. That's fine as long as it doesn't prevent others from having more viewing area, a. k. a. fullscreen.
@karendolan, can we compromise on customizing this?

@karendolan, can we compromise on customizing this?

@oas777 @LukasKalbertodt Yes, I would love a config option to allow a site like ours to choose to avoid letting the native player take the video out of the Paella context.
        "es.upv.paella.fullscreenButton": {
            "enabled": true,
            "side": "right",
            "order": 104,
            "tabIndex": 11,
            "description": "Fullscreen",
       +     "enabledInIOS": true
        },

As I said, right now in iOS devices, we only allow the Paella player, itself, to go fullscreen by using the fullscreen button on the browser. This ensures the same experience as in other browsers which can use both the Paella player's full screen button, or the browser's fullscreen button, to make the Paella player go fullscreen, in the same way.

I'm not fully sure yet what you mean by "iOS fullscreen takes the video out of the context of the player". But even with the listed disadvantages (which might be solvable in another way?),

In the iPad, going fullscreen means the iPad takes the HLS video HTML element and plays it directly in the native player in full screen mode, with no Paella player wrapper. A big issue is that Closed Captions are no longer accessible (unless they are also included as a reference in the HLS video manifest) because they are usually and attachment that the Player plays along with the video.

Our site has an open ticket to add transcripts to the HLS manifest, to solve the native fullscreen mode. But we are concerned about how to toggle between the native fullscreen HLS transcripts and the Paella player's Caption plugin, or give up the Paella player's native Caption plugin. The native HLS fullscreen mode means we also cannot collect user stats.

@oas777 @LukasKalbertodt sorry for too traffic on this ticket. I wanted you to know that we were not able to duplicate iPad fullscreen issue using stage.opencast or the demos at paellaplayer.upv.es just now. We'll check if it's just an issue for our videos and post an update here later. Meanwhile, it's be great to have the config option.

Sorry, I've been unattended on github issues for a while because I've been quite busy with some major improvements and planning for paella-core v2.
As a summary of the behaviour on Apple devices I have to say that currently (iPad OS 17.2, iOS 17.2) there is nothing that can be done to fix the following issues:

Fullscreen on iOS devices: iOS does not allow fullscreen mode on DOM tree elements, it only allows it on a specific video. I understand that it may be desirable to set fullscreen mode to be enabled on a video when not using two streams, although many player features (subtitles, navigation bar plugins, multi stream, etc) would be lost. However, the fullscreen plugin is not implemented in this repository, so you should report this issue in the corresponding repository, which is https://github.com/polimediaupv/paella-basic-plugins.
The audio JavaScript API in both iOS and iPadOS is read only. In addition to this, the device itself prevents multiple media sources from playing simultaneously. For example, on an iPad, if you play a video in the Netflix app, turn on picture in picture mode and go to youtube to play another video, the first video will stop. So it doesn't make sense for each app to control its volume, at least according to Apple's criteria.

Please try to heed the recommendations for contributions, as indicated in the template for reporting issues. None of the issues discussed here belong to paella-core. I can understand that sometimes it is difficult to identify if an issue is in one repository or another, but in this case all the issues refer to button plugins, and the only button plugin defined in paella-core is the play button.

I finally got around to looking into the fullscreen issue again.
(I'm commenting on this issue again, instead of creating a new one at paella-basic-plugins as suggested above, because the fullscreen button plugin does not seem to contain any of the logic we are talking about here. That seems to live here in paella-core as these three methods).
A few random notes:

On iPadOS, starting with Safari 16.4, the fullscreen API on DOM nodes (that feature allows us to show both videos and Paella's controls in fullscreen) works now without vendor prefixes. So there everything should just work. Link
On iOS, the fullscreen API indeed still only works for individual video elements using a built-in player (i.e. no captions, ...).
On iOS, with Safari 17.2 beta, experimental support for fullscreen API on DOM nodes was apparently added, see here. But yes, that's not usable yet.

I got an idea though and have a suggestion: always show the fullscreen button, but on devices where proper fullscreen is not supported, use "fake fullscreen" instead. By which I just mean, add the following CSS to the player outer div:
position: "fixed",
top: 0,
right: 0,
bottom: 0,
left: 0,
z-index: 123456,

It's obviously not as good as normal fullscreen. But I tested it on my iPhone 13 Mini and it works quite well. It's certainly a big usability improvement for when Paella is embedded into another page, like Tobira or LMS. In Opencast itself, Paella already takes all the viewport, so there it doesn't make any difference obviously. But again, for Tobira and LMSs, it's a big win in my book.
What do you think? If you want I can prepare a PR for that.

Hesitant because of "hack", but always in favour of a "big win" - but how much does it cost in terms of your time or Oles?

Very little time, I suspect. Should be easy to implement, probably.
And I wouldn't really call it "hack". What I suggested simply makes Paella span the whole browser viewport. Unlike a normal fullscreen, it does not hide UI by the browser or the operating system though.
I'm of course also interested in what the Paella devs think about this.

Since this was a small change I just created a pull request and a test deployment so that you all can easily test what I'm talking about.


Python 3.12 ?

Support for Python 3.12 is certainly already planned, isn't it?

Yes. I'll try to work on it during the EuroPython sprints 😄

FYI: This is in the works...

We have Python 3.12 support now and this will go into release 2.6.0.


Psr0Fixer - remove duplicated example

In #2763 I fixed the broken example but it was actually identical to the other one so I should have removed it instead.

Thank you @julienfalque.


[BUG] override:[elementname]:horizontalalign - does not work

Version: <IP_ADDRESS>
I the following override override:[elementname]:horizontalalign. I tried the following values:

Center
CENTER
center
different numbers (1,2,3)

Might it be that I got the attribute name wrong? The only reference for attribute codes I could find was this here:

@nhmkdev
Any way to contact you regarding developing? I just checked out the project. Maybe I can fix some stuff I stumble over and add Pull Requests. Still need to ask questions if in doubt tho

For development just add bugs and if you want to investigate the issue call it out in the bug.
As for your align issue I configured the following column in the sample.csv included in the app zip file:
override:title:horizontalalign and it worked as expected
The Card_Maker.pdf has a section called Element Overrides with a table of all the element attributes you can override and what values to specify:
horizontalalign
(int) Numeric value indicating the horizontal alignment:
0 – Near
1 – Center
2 – Far
You will need to specify the alignment using the int values indicated (at least until I decide that's too annoying). Let me know if the ints don't work for you.

@nhmkdev  works fine with the int!
Thanks a heap!
Btw. is there a way to donate to your effort? I'd love to!

@xetra11
Donations / Gifts -- If you really want to: gift via Paypal to<EMAIL_ADDRESS>


Add parsing for QMK one-shot mods & layers

Add QMK parsing equivalent to ZMK's sticky keys

Thanks! Added one suggestion for improvement.


fix: remove cypress binary postinstallation from package files

Preview environments are getting posted here, as soon as they are ready!

Manually run the postintallation script on the cypress node_module did not work in github workflow.
I inserted an use_cache flag into the pnpm-setup action instead, to disable the cache in the test workflow only.


Test Profiling

Goal:

Identify top 10 maximum run time tests
Identify top 10 memory usage tests
Evaluate the impact of streamlining fake test data into singular test fixtures within conftest
@dsherry what did I miss?

Did some work for point 1 about a week ago:
https://github.com/alteryx/evalml/issues/1815#issuecomment-837379777

Looks good to me!
The primary goal of this spike is to speed up our unit tests. Memory usage is secondary.
The "top 10" is fuzzy, haha.   That already seems to reveal a lot of pain points.  I think ultimately we're going to want to profile the tests themselves and see which function calls are the big hitters as well, so we'll need to drill down into that.  I look forward to it.

@freddyaboulton I believe you've completed this, correct?

Yes! Closing.


Add additional check for radosgw network validation

When user doesn't want to have a radosgw, this check with fail without
this option. We should check if user defined hosts in rgw group.
Signed-off-by: Rafał Wądołowski<EMAIL_ADDRESS>

as @dsavineau said, this is already covered by the condition rgw_group_name in group_names.
I'm closing this issue since this isn't needed. Feel free to re-open with more details if needed.

sure, yesterday I had problem with that, after i deleted group from inventory, I didn't check again... My mistake, sorry guys for bothering you!


Wrong signature calling mongodb update?

I had a completely other problem, however, I encounterned a possible fault in the mongodb store L389:
this.events.update({'_id' : id}, updateCommand, callback);
The corresponding function in the mongodb driver L1084 expects another signature:
Collection.prototype.update = function(selector, document, options, callback) {
No clue, why everything is still working... the function from mongodb does not handle this correctly, but returns a Promise instead of calling the callback.

Meanwhile, I found why everything is working. This is from the mongodb driver:
Collection.prototype.update = function(selector, document, options, callback) {
  var self = this;

// [...]

  // Execute using callback
  if(typeof callback == 'function') return updateDocuments(self, selector, document, options, callback);

  // Return a Promise
  return new this.s.promiseLibrary(function(resolve, reject) {
    updateDocuments(self, selector, document, options, function(err, r) {
      if(err) return reject(err);
      resolve(r);
    });
  });
}

The callback is not called in the first place, because we're calling it incorrectly. So, it proceeds and creates the promise. updateDocuments however, interprets options, which is our callback function, as the callback we'd expect to resolve the promise. updateDocument calls our callback from within the promise, but not the handler that ought to resolve the promise.
Eventually, we end with an unresolved promise...


  Its a pull in the top terminal and then after it completes I pull in the lower terminal and it does everything again.

This is currently expected behavior, the content is being shared on the backend but the namespace must first write data before it can access this. This is the way the registry works and was done to prevent namespaces from accessing data it may not otherwise have access to simply by knowing the hash of the content. I want this to be configurable on the metadata store though. We can discuss what the default should be.

@dmcgowan I am not sure if we want to carry this model over for containerd. While namespaces are interesting for logical separation, I am not sure if they are capable of keeping security contexts separate. The chief benefit here is to prevent downloads of the same content across namespaces, so I don't see a good for not taking this.
To be clear, the change here would be to allow the "expected" value to match against digests in other namespaces and pull it into the target namespace for the ingest.

@stevvooe sgtm, I will create add an option to allow sharing or proof of ownership (possibly add isolated storage in the future), but make sharing the default since it will be what most users wants.


new bug ..

Write a long text that is "HUGE" formatted. Go in the middle of that text, and perform two 'breaks' (press enter). Then type something. If you reload the page, it will be displayed differently.

I can't reproduce the bug...

The problem is because we understood quill wrong:
Assume we have the word quill. Now we insert x between u and i. Then quill will create
delta.insert = "x"
delta.attributes = {bold: true}

But when we insert a new line between u and i. Quill creates
delta.insert = "enter"
delta.attributes = {}

So we are not supposed to make text bold in the new line.
this is not a specific problem of the initial_editor branch.

Ok!


Faulty Core Fix: Clash between PEAR.Functions.FunctionCallSignature.Indent and Generic.WhiteSpace.ScopeIndent.Incorrect

Given the following example:
a( array( 'b' => 'c' ), d( array( 'e' => 'f' ) ) );

phpcbf bounces back and forth between PEAR.Functions.FunctionCallSignature.Indent and Generic.WhiteSpace.ScopeIndent.Incorrect, until it runs out of loops.
Disabling PEAR.Functions.FunctionCallSignature.Indent allows it to complete, but gives incorrect indentation.
The bug can be seen in Core in tests/phpunit/tests/formatting/StripSlashesDeep.php.

@pento Isn't that the same issue as #968 ?

It's possibly related, but slightly different - the files affected by #968 can be made to complete a phpcbf run by excluding the WordPress.Arrays.ArrayIndentation rule. That doesn't help for this case, I also have to exclude PEAR.Functions.FunctionCallSignature.Indent for it to run.
I'm fine with closing this as a dupe if you think they have the same root cause, just with slightly different symptoms.

@pento You actually mentioned the sample you posted here in a comment in that thread a couple of weeks back: https://github.com/WordPress-Coding-Standards/WordPress-Coding-Standards/issues/968#issuecomment-310887107 and I've investigated both the original sample of #968 as well as the second sample.
My investigation showed they have the same pattern causing the issue: associative array arguments as part of a function call and the same root cause: the existing exclusion of the two rules from PEAR.Functions.FunctionCallSignature.
I suggest closing this issue and would appreciate your opinion on the various directions for solving this I've previously outlined in #968.

Hah, good catch on me leaving the same sample on #968. 🙃


[WFLY-14860] sort attributeRemoved in distributed setup

Issue: https://issues.redhat.com/browse/WFLY-14860

@pferraro ^^

Replaced with: https://github.com/wildfly/wildfly/pull/14737


Context menu doesn't position correctly

I attempted to update to the v5.1.0 from v4.1.0
I changed my html to pull in ol-contextmenu.iife.js as it appears ol-contextmenu.js is expecting to be called from a different environment "Cannot use import statement outside a module" when I attempted to use that.
What I see now though is the context menu no longer event attempts to fit into the viewable area and is always appearing high above where I have clicked for it. Emoji is at the point of where the context menu was launched from.

Should I also avoid moving to openLayers 7 for now? In my admittedly brief experiment, it didn't seem compatible.

Hey @Saurbaum
Please, provide a reproduction. Or a fix (haha)?

I'll see if I can put a simple reproduction together. It's very unlikely I'll be able to fix it, my javascript skills go as far as plugging one library into the other.

Solved by #244


Chrome 69 is already stable

Chrome Dev 69.0.3497.100 on Windows 10

for

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36

Looks like bin/update-chrome.php wasn't executed or the new changes wasn't committed.

Should be available as of 2.0.36


cryptic error for non unique check name

Error message should read something along the lines of There already exists a check named "..."

cc @rickspencer3

Another option would be to increment the default name, like "untiled 2" kind of thing


Allow fractional FPS values in Animation Editor

Closes #97548. Care also taken to not reopen issue #92273 by ensuring that the value rounds to the nearest sixteenth. Optionally any factor of 2 should work while ensuring that there isn't error accumulation.
Further testing to ensure issue #91729 isn't reopened, but initial testing suggests that the issue will not reopen with this PR.

// The value stored within tscn cannot restored the original FPS due to lack of precision,
// so the value should be limited to integer.

Was this resolved?

I have the same question with @fire. If it can restore float values with the correct precision after serialization (save -> close -> reopen project), that would be fine, but if not, then there needs to be some limit on the precision or other approach.

Yes, so the issue with serialization does appear resolved because the site at which the rounding is occurring will automatically round the error towards the value it was saved as. So for example a length of 10.667 and a step size of 0.133333 appears to be saving and loading correctly because any error that would exist in loading said value will round to the nearest 16th while the error epsilon is significantly small, allowing the error to round correctly back to the value it was saved as.
That said, further testing has shown that there are other changes that need to be made as swapping between FPS and Seconds is introducing a small error to the total animation length with those values in the magnitude of a few ten thousandths

Currently building a small logic change that will likely need a review

Rebased

Needs another rebase to solve a merge conflict, sorry about it. It seems this code is popular :D

Thanks! And congrats for your first merged Godot contribution :tada:

Heya, I am trying to untangle a local merge conflict around these changes and I'm not sure I understand this change properly. I have some animations in seconds, lets say 1s long, I am no longer allowed to specify a snap value of 0.1s? I have to choose either 0.0625s or 0.125s?
Why seconds being snapped so aggresively? What is the motivation here?

Hey, @Macksaur great question!
So this doesn't apply to the snap value for seconds at all. What this applies to is the minimum step amount for FPS snap mode, so say you wanted an animation snap step to be 12.25 frames per second, this would internally convert that to the proper amount of seconds. The reason for the change was that previous versions of Godot allowed you to have fractional FPS values while a recent PR had changed that behavior, and that PR was specifically to resolve issues that occur when you try to save certain values to a scene file.
Now even something like 60 FPS was having issues due to the fact that 60 has 3 as a factor, and if it is used as a divisor for anything without a power of 3 you get an infinitely repeating amount of decimals. So when loading a scene it would load as 59.blahblah FPS because 60 FPS is the same thing as 16.66666666666... milliseconds. So there had to be some form of clamping so that the value could be saved to disk and then read from disk while retaining correct values. Before this PR it was clamped at integer values; this opens the door to have non-integer snap values for FPS snapping within reason. So something like a 12.5 FPS timed animation (which is 0.08 seconds between frames) can be supported. Now, the reason 0.0625 for this was simply because it is the reciprocal of a power of 2, specifically 1/16. It was chosen due to the way floats work and it guaranteeing that the least amount of error accumulation, although another value could be selected as well, it just would have to be tested to ensure that weird things don't occur like rounding to an incorrect value on loading.

@Macksaur on second thought, lemme double check that this didn't aggressively screw up normal timing of things since a few things got borked when I was rebasing things and an issue could have slipped through causing the behavior you are describing

Thank you for this extra detail! I try to take care not to dirty my VCS with 60 -> 59.999... style changes but rightly I don't understand when it often occurs. This is complex! If this PR smooths that out that's going to be great.
I was sure I tested a clean master branch on 5ccbf6e4c7 and it was behaving strangely.

@Macksaur confirmed mistakes were made with regards to changing the step value. Should probably put a guard in place for the specific cases.


Northstar DSDD MFM Disk

Hi David,
Hope you're doing well. I've been having trouble getting clean recordings of some Northstar hard sectored disks. They're DSDD MFM encoded disks as far as I can tell. I have a few .flux images here:
https://drive.google.com/drive/folders/1HpM2vL5TIh3pgk7pFHuavaec8F7z8J-b?usp=drive_link
When reading the disks I'm having a number of sector errors:
H.SS<PHONE_NUMBER>012345678901234567890123456789
0. 0 ...?.....B.......B.B...B.?.?.?.?.?.?.?.?
0. 1 .?.?...B.?...B.?.B.B.B.B.?.?.?.?.?.?.?.?
0. 2 .?.?.....?.....?.?.?.?.?.?.?.?.?.?.?.?.?
0. 3 ...?.....?.....B.B.?.?.?...?.B.?...B.?.B
0. 4 .........?.....B.B.B.?.?................
0. 5 ...?.....B.......B.....?................
0. 6 .........B..............................
0. 7 ...?.....................B.B.B.B.B.B.B.B
0. 8 .B.?.....C...........?.?.?.?.?.?.?.?.?.?
0. 9 .?.?.....C...........?.?.?.?.?.?.?.?.?.?
1. 0 .....B...?.B.?.B.?.B...?................
1. 1 .B...?.B.?.?.?.?.?.B...?.B.B.B.....B.B.B
1. 2 .?.....C.?.?.?...?.B...B.B.?.B...B.B.B.?
1. 3 .?...?.?.?.?.?.?.?.?...B.?.?.?...B.B.?.B
1. 4 .....?...?.B.B.?.?.?...B...B.......B.B..
1. 5 .....?.B.?.?.?.B.?.?...?................
1. 6 .......B.?.?.?.?.?.?...?................
1. 7 .......B.?.?.?.?.?.B...?................
1. 8 .....?...?.?.?.B.?.?...?................
1. 9 .....?...?.B.B.B.?.B...?.?...?..........
Good sectors: 727/800 (90%)
Missing sectors: 0/800 (0%)
Bad sectors: 73/800 (9%)

The disks seem relatively physically clean. I'm reading them on a HD drive. I've been playing around with the settings and the best read so far as come from:
./fluxengine read northstar --350 40track_drive -s drive:0 -o northstar_kermit.nsi --copy-flux-to=northstar_kermit.flux --decoder.write_csv_to=northstar_kermit.csv --drive.revolutions=4.2 --drive.hard_sector_count=10 --drive.high_density=0 --decoder.retries=3
A few questions for you, would I have better luck reading these on a DD drive? Also, I noticed in your test data the northstar disks are labeled synthetic. Would you appreciate recordings from actual disks? Does anything look amiss with these recordings? I'm trying to get a clean disk so I can validate the emulator I'm using is working well. Any advice would be appreciated.

That looks well weird. Are you sure it's a 40 track drive? This looks exactly what I'd expect to get from a 40 track disk in an 80 track drive and 40track_drive set.
Re disk images: I'm looking for a flux file of a blank disk as formatted on a real NorthStar. (It needs to be blank for ease of analysis and to avoid copyright issues.
Incidentally, do you know anything about the file system used on the NorthStar? It'd be interesting to do a driver.

It is a 40 track disk in an 80 track drive. I wasn't sure if that was an allowable combination or not. I'll see if I can track down a 40 track drive.
I have about 100 Northstar disks, but I'm not sure if any of them are blank. There's a non-zero chance one of them would be.
I'm just learning about Northstar disks. I'm trying to make sure I'm doing a reasonable take at archiving them. This time around I don't have the hardware and I'm seeing it's easier to validate what's going on when you have the legacy machine sitting in front of you.

Right --- try it again without the 40track_drive. You only need that if you actually do have a 40 track drive.


Fix map bug and county charts

fix bug in map component where "no data" color was being included in the range() of colors being passed to d3.scale
also touch up map scale code to be a little more readable
change bar chart component. always sort "no data" entries to bottom of y-axis, fix symbolOffset so it works for any number of series
add "showStateLevel" option for the basic tab on the county page, and hide the "State" series if it's false
add remove NHL, add breast and colon to "cancer incidence trends" chart

Note my previous commits. They just rearrange things such that: 1)props.flipGradient is only checked in one place and is built-in to the gradient func, and 2) the flipping in the "continuous scale" block of code is done the same way as in the "specific values" block and more simply


m_npc and friends (4 non-matching)

func_800A8868_jp https://decomp.me/scratch/4F3c8
func_800AADE8_jp https://decomp.me/scratch/heHhr
func_800ADD20_jp https://decomp.me/scratch/97YLU
func_800AE1B8_jp https://decomp.me/scratch/dmRIt

Btw I feel like this PR could be easily be 3 PRs, each one for each file. It would be easier to work with and review that way

Btw I feel like this PR could be easily be 3 PRs, each one for each file. It would be easier to work with and review that way

They all rely on eachother, for function names and structs, it would be awkward to do separately.

Maide if you aren't sure something is the same between the gcn version and the n64 then don't bring them over to this repo. A lot of stuff changed between versions, for example each are decompiling different languages of the game or the stuff to interact with the GBA doesn't exist in the N64 version.
We also want to properly check members and structs are the same between versions, so don't just name them because other version of the game has it named (either gcn, oot or mm).
Bringing over stuff without checking will just be very confusing in the long run. Please undo the stuff from the headers and files that are not needed and just leave stuff as unk_ for whatever you haven't confirmed

game_play is the original name for the variable and shouldn't be renamed.

Shouldn't matter if the repo has decided camelcase. If you knew the devs used snake case and chose a different style anyway, should stick to it. Why randomly mix them on a whim?

Part of the reasoning of mixing the two styles to make clear as possible what's an original name and what are names we came up with

Did you really decided to rename even unrelated stuff to this PR because they weren't following the naming style? By doing that you are creating even more work to the reviewers, which was something we already complained to you

Besides game_play I don't think so? I didn't have a specific list of what I changed and what I didn't, I went through all the files that I added/modified and changed those, which did include common_data. If the style is going to be a random mishmash, then you either need to make a specific list of what everything needs to be named, or just ignore style and change it later as you want.

pr is being split up into smaller prs


Rename configuration enable.sudo to sudo.enable

Is your feature improvement request related to a problem? Please describe.

The tedge configuration item, enable.sudo is not consistent with out configuration items like http, c8y, where the first part of the configuration item represents a category and not an action.
enable.sudo=true

For example you just need to look at other configuration items with enable in their names:
# tedge config list | grep enable
c8y.enable.log_upload=true
c8y.enable.config_snapshot=true
c8y.enable.config_update=true
c8y.enable.firmware_update=true
agent.enable.config_update=true
agent.enable.config_snapshot=true
agent.enable.log_upload=true
enable.sudo=true

Describe the solution you'd like

Rename enable.sudo to sudo.enable.
Describe alternatives you've considered

Additional context

Merged. The solution was implemented as suggested in the ticket description.

QA has thoroughly checked the feature and here are the results:

[ ] Test for ticket exists in the test suite.
[x] QA has tested the function and it's functioning according description.


[MODEL] Added functionality to provide custom value of total count for pagination

The Problem
When using collapse parameter to collapse search results, the total number of hits in the response indicates the number of matching documents without collapsing. As a result, the total number of pages for pagination is miscalculated.
Assume, for example, the following query on the group_items index returns a total of 100 results without collapsing.
GET group_items/_search
{
  "query": {
    "match_all": {}
  }
}

And when the search results are collapsed based on the group_id field value. The total results returned by the query becomes only 5 instead of 100.
GET group_items/_search
{
  "query": {
    "match_all": {}
  },
  "collapse": {
    "field": "group_id"
  }
}

The problem occurs when we paginate results, after collapsing, the value of the total number of hits is still 100 in response, which results in the miscalculation of the total number of pages, as mentioned in the reference:

The total number of hits in the response indicates the number of matching documents without collapsing. The total number of distinct groups is unknown.

The solution
This problem with pagination can be solved by providing a custom value of total_entries (will_paginate) or total_count (kaminari).  The value of total distinct groups can be calculated by using cardinality aggregation
# Assuming a method `total_collapsed` is defined to get the total count of
# collapsed results, using cardinality aggregation.
total_count = total_collapsed(response.aggregations)

Now to get pagination working correctly, the value of total_count can be specified.
# for will_paginate
response.paginate(page: 1, per_page: 30, total_entries: total_count)

# for kaminari
response.page(1).total(total_count)

@picandocodigo can u please review this PR?


Error in synced tooltips

This is difficult to re-produce in a Codepen but I hope the issue can be clarified a bit here without at first. Otherwise, I will make a Codepen if it's an absolute must.
I have two graphs, but there a supposed to be 7 when I'm done.
Both graphs have 3 datasets.

176 elements
8 elements
14 elements

Set 1 is different for the two graphs but they both have the same X (numeric) values. Set 2 & 3 are the same for both graphs.

I expected this to hover on the same two X values.
Like this: https://apexcharts.com/react-chart-demos/line-charts/syncing-charts/

What is happening instead?
Most of the time it hovers on two different X values, but if I zoom in, a lot, it's possible to get the correct behavior. See the attached image.

What error message are you getting?
None, but I'm getting a different behavior than expected.

Thanks for reporting the issue.
I would appreciate it if you can create a codepen as this seems like an issue with data and it's difficult to reproduce it without the series.

Closing as no response.
Feel free to re-open if you're able to reproduce the issue in a codepen.

I reproduced in this pen: https://codepen.io/ajhansen/pen/rNavZYd
Usually, I have 2 more series on some charts but this illustrates the problem.


Get rid of orphan gauge processes

From @sriv on October 28, 2014 6:42
If Visual Studio is killed or crashes, the child gauge processes are orphaned. These need to be killed.
Copied from original issue: getgauge/gauge-visualstudio#1

There is check to gracefully kill child processes from within the runner. Unfortunately, at least in windows there is no easy way [AFAIK] to register a child process to be killed when parent dies, unless there is an explicit "kill process tree" instead of "kill process".
Suggestions welcome.

From @navaneeth on June 26, 2015 7:12
You do this the other way. When Gauge starts, it gets the parent's pid. And keep looking whether the pid is available. If not, it can exit itself. This can be controlled via a command line flag so that it is applicable only when required.

We should take a look at this article. It could be relevant here.
https://medium.com/@felixge/killing-a-child-process-and-all-of-its-children-in-go-54079af94773

@mahendrakariya That article won't help. The approach said in that article works if you have control to trigger the terminate on child process. In this case, gauge parent process itself died making the child go orphan. AFAIK, there is no better way to fix other than the one that was suggested. Rather than relying on PID, which could be reused in some operating systems, you could make a ping API on the gauge core which the runner can keep pinging and if the ping fails, it can exit.

That's a nice idea @navaneeth. I agree with you. We should do that.

I should point out that this issue also affects installing a new version of Gauge. During the installation, the user is shown an error message involving "gauge.exe":

Opening up task manager and killing each process for gauge.exe, then clicking "Retry", is a workaround, but it should not be necessary to do this.

It was also happening with Intellij on Linux, Mac and Windows.
After @mahendrakariya's commit, it is fixed on Linux and Mac but not for windows.

This is not working because the implementation uses getppid which is not implemented for Windows.

Looks like it's implemented (in syscall_windows.go) in golang 1.5.
We have asked the broader community for some help. Here's the thread. https://groups.google.com/forum/#!topic/golang-nuts/p-H5ODtTXIw

Tested on Windows 8.1 and Windows 7 with both VS and IntelliJ. If the IDE gets killed, gauge daemon is also terminated within 1 second.


rewindability for soft-confirmations

Interface and wrapper for ABCI apps that supports rewinding and storing `lastFinalizedHeight for supporting modular soft-confirmation schemes.

Codecov Report
Patch coverage: 66.66% and project coverage change: +0.15 :tada:

Comparison is base (7a06608) 55.09% compared to head (b3e15b3) 55.24%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #763      +/-   ##
==========================================
+ Coverage   55.09%   55.24%   +0.15%
==========================================
  Files          53       54       +1
  Lines       10000    10010      +10
==========================================
+ Hits         5509     5530      +21
+ Misses       3664     3658       -6
+ Partials      827      822       -5

Impacted Files
Coverage Δ

state/rewindable_app_conn.go
60.00% <60.00%> (ø)

block/manager.go
63.71% <100.00%> (+1.36%)
:arrow_up:

state/executor.go
65.45% <100.00%> (+0.72%)
:arrow_up:

types/validation.go
51.16% <0.00%> (+13.95%)
:arrow_up:

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

closing the PR, we will re-visit this as part of the P2P Blocksync project https://github.com/rollkit/rollkit/issues/983


Error 0, what does exactly mean?

Greetings
At first I thought error 0 was no internet connection cause I had it when I test my app in offline mode.
But now Im getting while connected to internet.
What does error 0 actually means?

Greetings
After a lot of debugging we figure it out what erro 0 ment in our case, it means:
java.net.SocketTimeoutException
We found out about it using AppDynamics. I dont recommend app dynamics at all, my compile time when from 7 seconds to 1 min and a half when added, but at least, we now know what it is.
There is another part on this problem, some times error 0 can be a time out but it wasnt a time out for the server. The request was processed in the server but it took to long so before the success form the server came back the time out happened.
We are trying yo fix this by doing some tweaks, still using the same good WASP. For posting, we are increase timeout but no retrys, that way if the post fail after a long time out, it did actually failed, or if it was timeout but the request was ok in the server, then in the next GET you should have the correct object (or at least dont post it twice in the server). For GETs we are increasing the timeout and using a retry policy of 3, and a multiplier by 2. This way if the response is too long for getting it the first time the second time will wait double and the third time even more, if the server didnt response on the third retry then there is a problem and something else must be improved.
Wasp is a great library, I just hope to help by sharing what we are going through now.

Hi @cutiko
I'll try to spend some more time on wasp, on the other hand I would be more happy with pull requests as well. That would make the things faster.

Hello @orhanobut
Thanks, we really like this library.
I have to shamefully admit Im noob, sorry Im not good enough for fixing something as complex as this :(  But Im trying to contribute as much as I can with what have come out in our process.

Hi @cutiko ,
I love wasp too ;) How did you implement separate timeouts for posts and gets?
Regards

Hello @ergunkocak
Create 2 different interceptors would be the straight forward path
https://github.com/orhanobut/wasp/wiki/Request-interceptor
If you create a method that return an Interceptor then you can just call it. Maybe using a singleton if the app post/get in a lot of places.
By example if you define your interface as "WaspInterface"
Then the method should be:
public WaspInterface () {
//create the interceptor
return myWaspInterface }


No module named 'kernelconv2d_cuda'

Hello, when I tried to run the code, I got an error saying No module named 'kernelconv2d_cuda'.
I guess that the FAC codes provided here has not been built and installed, so I tried to solve this by calling 'python setup.py install' under the FAC folder. However, another error appeared saying 'cudaSteam_t' has not been declared.
Any solutions for these problems? Thanks!

Hello, thank you for providing the code of the paper. when I tried to run this code. I run  the install.sh to install the module named 'kernelconv2d_cuda'. However, I got the following error:  Can you give me some help? Thanks!
luded from KernelConv2D_cuda.cpp:4:0:
KernelConv2D_kernel.h:10:2: error: 'cudaStream_t' has not been declared
cudaStream_t stream
^
KernelConv2D_kernel.h:20:5: error: 'cudaStream_t' has not been declared
cudaStream_t stream
^
KernelConv2D_cuda.cpp: In function 'int KernelConv2D_forward_cuda(at::Tensor&, at::Tensor&, int, at::Tensor&)':
KernelConv2D_cuda.cpp:18:29: error: 'class at::Context' has no member named 'getCurrentCUDAStream'
at::globalContext().getCurrentCUDAStream()
^
KernelConv2D_cuda.cpp: In function 'int KernelConv2D_backward_cuda(at::Tensor&, at::Tensor&, int, at::Tensor&, at::Tensor&, at::Tensor&)':
KernelConv2D_cuda.cpp:42:29: error: 'class at::Context' has no member named 'getCurrentCUDAStream'
at::globalContext().getCurrentCUDAStream()
^
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

I solved this problem by removing my previous virtual enviroment completely and creating a new one. I reinstalled all packages required via 'pip' instead of 'conda' as suggested by the author. Hope that this will work for others as well. Note that torchvision==0.2.1 should be used for torch==0.4.1.
Thanks!

Thanks!

将setup.py中的 c++11改成c++14，就可以啦~


Add iPad support

I think it will be very easy to make Swish iPad compatible. Depending on how the screens look, some layouts may have to be adjusted.

Some screenshots. As stated earlier, perfect for the boxscore