[TODO] Full python integration

Finish writing full python binding using pybind11(python/binding.cc)

[ ] Implement binding to tinyobj struct/class(e.g. material_t)
[ ] Writer
[ ] .mtl reder/writer

Related to #148

Hi Syoyo! I maintain a Python library called Lace and also use Trimesh. I'm evaluating tinyobjloader as a replacement loader that could work with both projects. (Lace has its own loader using C++/Boost/NumPy, and Trimesh has one in pure Python.) I'm planning to write tinyobjloader integrations for Lace and Trimesh (which I'd then add to / offer to add to the libraries themselves).
I'd also like to help smooth out the Python interop so it's easy for Lace + Trimesh users to consume this library. So far I've run into two issues:

The source distribution doesn't install cleanly (see below) because it needs the pybind11 headers. I can see if I can come up with a solution for that.
The version shipped to PyPI includes a source distribution but not a wheel, at least for my OS (Mac OS). Shipping a wheel makes the library fast and easy to install.

Regarding the wheels, out of curiosity how are you handling releasing to PyPI? Do you release from your dev machine or from CI? I think a wheel needs to be built on the target platform, though I could see what kind of tools are available with the CIs you're already using, and what I might be able to put together using Docker.
Thanks again for your work on this library. I'm excited at the prospect of using it in Lace + Trimesh.

Collecting tinyobjloader
  Using cached https://files.pythonhosted.org/packages/c0/ee/f447ed517ff301034b30a1f28fc76365f20bbb70480ca3b7d773803306b1/tinyobjloader-0.1.tar.gz
Building wheels for collected packages: tinyobjloader
  Building wheel for tinyobjloader (setup.py) ... error
  Complete output from command /usr/local/opt/python/bin/python3.7 -u -c "import setuptools, tokenize;__file__='/private/var/folders/m2/3rwkhb908xnfvd0059_t24yh0000gq/T/pip-install-zcvt76lh/tinyobjloader/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /private/var/folders/m2/3rwkhb908xnfvd0059_t24yh0000gq/T/pip-wheel-7gm6di_t --python-tag cp37:
  running bdist_wheel
  running build
  running build_ext
  building 'tinyobjloader' extension
  creating build
  creating build/temp.macosx-10.14-x86_64-3.7
  clang -Wno-unused-result -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include -I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/Tk.framework/Versions/8.5/Headers -I../ -I../pybind11/include -I/usr/local/include -I/usr/local/opt/openssl/include -I/usr/local/opt/sqlite/include -I/usr/local/Cellar/python/3.7.3/Frameworks/Python.framework/Versions/3.7/include/python3.7m -c bindings.cc -o build/temp.macosx-10.14-x86_64-3.7/bindings.o -std=c++11
  bindings.cc:1:10: fatal error: 'pybind11/pybind11.h' file not found
  #include "pybind11/pybind11.h"
           ^~~~~~~~~~~~~~~~~~~~~
  1 error generated.
  error: command 'clang' failed with exit status 1
</details>

PyPI build follows standard procedure from this: https://packaging.python.org/tutorials/packaging-projects/

The source distribution doesn't install cleanly

You may need to add pybind11 codes to setup.py(but I don't know how to do it). PR is always welcome.

You may need to add pybind11 files to setup.py(but I don't know how to do it). PR is always welcome.

Okay, I will look into that!
Regarding wheels, I understand what's happening now. There is a Linux wheel but not for Mac or Windows:
https://pypi.org/simple/tinyobjloader/
The wheels for other platforms need to be built on the other platforms, which is a challenge. I found this too. which could help:
https://github.com/joerick/cibuildwheel
The tool is new, but it's used by big projects like websockets and Twisted.
Would you be interested in running something like that? I could help set it up.

Regarding the build issue for the source distribution, one issue is that the pybind11 sources are not shipped with the source distribution. This is the full contents:
.
├── tinyobjloader-0.1
│   ├── PKG-INFO
│   ├── README.md
│   ├── bindings.cc
│   ├── setup.cfg
│   ├── setup.py
│   ├── tiny_obj_loader.cc
│   └── tinyobjloader.egg-info
│       ├── PKG-INFO
│       ├── SOURCES.txt
│       ├── dependency_links.txt
│       └── top_level.txt
└── tinyobjloader-0.1.tar.gz

It seems like the more common way to solve this is declaring an install dependency on pybind11 (as in the setup.py for mplcairo).
If you prefer to keep the subtree approach, it's probably possible to vendor in pybind11 with your source distribution. However, it has a different license, so that might be confusing.

I have a version which installs pybind11 at build time. It seems to be working well. https://github.com/syoyo/tinyobjloader/compare/master...metabolize:fix-python-sdist

I have a version which installs pybind11 at build time. It seems to be working well.

Awesome! Could you please send this changes as an PR?

https://github.com/matplotlib/mplcairo/blob/f5bafd038ea6337ee2b9a21f7a2b279598ea9dc5/setup.py#L277

I didn't realized that such a feature in setuptools. Good to know!

I will! I’m just digging in now to one last complication which is making pybind11 available at build time without unnecessarily installing it at runtime.
I also got cibuildwheel running on Azure Pipelines and used it to publish some experimental wheels. Python packaging is complicated and can be opaque, and I’m really impressed with the documentation for that tool, and how easy it makes the process.

Hi @syoyo! Could you tag a new version and release it to PyPI, along with the wheels that get generated?
Also, I'll put an offer out there. I noticed some discussion about releases in #212, and would be happy to maintain the releases for this project, according to Semantic Versioning.  I'm paulmelnikow on PyPI. Let me know if you'd like my help with this!

@paulmelnikow I have added a tag for recent master branch.

would be happy to maintain the releases for this project, according to Semantic Versioning

Awesome! How can I delegate permissions of release versioning, uploading PyPI, etc to you?
I found this on github
https://github.blog/2019-10-03-delegate-responsibilities-with-expanded-repository-permissions/

Cool! You can give me write access to the repo here:
https://github.com/syoyo/tinyobjloader/settings/access
Write access isn't restricted to tagging releases, though if you'd prefer, I can refrain from using the access to do anything else. Probably it will be necessary to push commits to update version numbers and changelogs, as well, though I can definitely run those through pull requests.
You can add me to the PyPI project here:
https://pypi.org/manage/project/tinyobjloader/collaboration/
In the future it might be useful to move the project to a GitHub organization, which would allow delegating more access, such as managing connected apps, though that doesn't seem necessary right now. This is a great first step!

Maybe you should also give me access to publish to Conan? To minimize confusion, ideally all the channels should get a new release with the same version number at the same time.

@paulmelnikow Thanks! I have created an organization: https://github.com/tinyobjloader
Migrating the repo will be soon.

Maybe you should also give me access to publish to Conan?

Github organitzation + proper permission setting will also enable accessing Conan to you?

I’m not sure! I’ve never used Conan and I’m not familiar with how it works.

@paulmelnikow  OK. Now I have moved the repo to tinyobjloader organization added write permission to members, so you'll now have an push/pull/etc access to tinyobjloader repo!

Did you add me to PyPI too? Why don’t I try publishing the release you tagged to PyPI?

@paulmelnikow Added as maintainer! If you need Owner rule, let me know

Since cibuildwheel wasn't working on the 2.0.0rc4 rev, I'll tag rc5 and get this going.

Could you set up Azure Pipelines and Travis on the new repo?

Could you set up Azure Pipelines and Travis on the new repo?

Oh, I see. Will look into that soon(tomorrow or day after tomorrow)


[BUG] Receipe resolve imports Receipe service that doesn't exist

Information

**Version:3.21.3
Mac M1

After running the tsed init with the feature TypeGraphQL, the install works, however there is a missing service:
In the file src/resolvers/recipes/RecipeResolver.ts there is an import of a "../../services/RecipeService that doesn't exist.
import {ResolverService} from "@tsed/typegraphql";
import {Arg, Query} from "type-graphql";
import {RecipeService} from "../../services/RecipeService";
import {Recipe} from "./Recipe";
import {RecipeNotFoundError} from "./RecipeNotFoundError";

@ResolverService(Recipe)
export class RecipeResolver {
  constructor(private recipeService: RecipeService) {}

  @Query((returns) => Recipe)
  async recipe(@Arg("id") id: string) {
    const recipe = await this.recipeService.findById(id);

    if (recipe === undefined) {
      throw new RecipeNotFoundError(id);
    }

    return recipe;
  }

  @Query((returns) => [Recipe], {description: "Get all the recipes from around the world "})
  async recipes(): Promise<Recipe[]> {
    return this.recipeService.findAll({});
  }
}

Example

Acceptance criteria

[ ] No typescript error
[ ] yarn start, results in working app

I'm not able to reproduce. I think, you haven't remove all file before running tsed init ..
For me, the file is correctly generated with the next release :)

Sorry for the delay, been a busy few days.  Okay, so I've tried a fresh install of the tsed/cli on my Linux PC (just in case the issue is platform specific), and the issue is still there.  Here is a screen shot of the files and the error in VSCode:

I've searched the codebase and there is only one reference I can find to Recipe Service

I also tested on mac with the latest version and it’s works. I’m not able to reproduce.

Okay, I've just created a service and model myself and I'm getting the hang of this (I'm new to prisma too!)... I might be able to look into creating a PR to get the cli to do what I'm thinking, but just in case I'm missing something.... Am I supposed to do anything after running tsed init . or should it all work? Do I need to run yarn prisma:generate?
Could you share your folder structure?  Because I definitely have no src/services/RecipeService in my folder directory and that's multiple attempts on two separate PCs and OSs tried.

Got it. Sorry, I totally missed that. I see where the problem about RecipeService now.
Yes you have create a model in the schema and run yarn prisma:generate after the cli installation is done.
Start the tuto at this step: https://tsed.io/tutorials/prisma.html#prisma-client-configuration

import {Injectable} from "@tsed/di";
import {Recipe} from "../resolvers";

@Injectable()
export class RecipeService {
  async findById(id: string) {
    return new Recipe({id})
  }
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
  async findAll(query: any) {
    return []
  }
}

Solved :)
Release is on going ;)

:tada: This issue has been resolved in version 3.22.3 :tada:
The release is available on:

v3.22.3
GitHub release

Your semantic-release bot :package::rocket:


Add English docs

Add English version of  deploy_baremetal.md and bgp_config.md
The configuration of other routers will be written in router_config.md
This doc contains the usage of eip range

Pls review this doc, thanks.

/lgtm

/cc @FeynmanZhou

/lgtm

/approve


WebGPU Support

Here is the work which will happen until the release regarding our the WebGPU support:

[x] Shader Auto Upgrade:

[x] Create Processor
[x] Auto attribs upgrade
[x] Auto varyings upgrade
[x] Auto textures upgrade
[x] Auto uniforms upgrade
[x] Auto UBOs detection
[x] Binding Upgrades
[x] Manage UBO in vertex + fragment
[x] Manage Array in UBOs for bones
[x] Manage Array in UBOs for morph targets

[x] Manage Texture Sampling Modes
[x] Manage Blending
[x] Handle Canvas Resizing
[x] Update WebGPU.d.ts
[x] GLB support
[x] Fix Full Build
[x] Playground support

[x] Merge in Master

[x] Dynamic Materials -> Defines Changes
[x] Texture Support without WebGL back-end
[x] Mapped Buffers
[x] Render target support
[x] Post Process support
[x] First Cleanup and TODO WEBGPU pass
[x] Raw Textures
[x] Dynamic Texture Sampler Setting -> Filtering and Wrapping
[ ] Safari Preview Support (if shader choice has been made #6695)
[x] Compute Shader support
[x] Support all the left over states (clear, stencil, depth, culling...)
[x] Transform feedback and Occlusion Queries
[ ] Optimize uniform buffers and groups (dynamic buffer index)
[ ] Big Cleanup, tests, and docs
[X] Command buffer "Reuse-Like" mechanism
[ ] Spector.js Support
[x] Last Optimization phase
[X] Optimize UBOs (like IBL/Scene and so on)
[ ] ** Release \o/**

If you are interested to contribute one of them, no problem, I am all about sharing ;-)

is it (list) already up to date?

Yep, I am almost ready to post the shader conversion which will enable most of our webgl shaders to be compatible. As soon as it is done I will finally be able to create a playground for WebGPU.

It is definitely getting there despite a still growing list of todos:

Playground for WebGPU (requires Chrome Canary with the flags turned on on MacOS)
https://playground.babylonjs.com/indexWebGPU.html
Lots of features are preventing a lot of PGs to run correctly but if you only use Mesh with materials and simple textures (jpg/png) it should be all good :-)

@sebavan any chance you'd be able to release a NPM version with this? I'd love to try it out in the context of my current project.

No, unfortunately, it is currently too early too release to npm. I plan to do it once I can merge in master after the WebGPU group decides what shader language that want to use :-)
You can nevertheless consume the file from the cdn : https://playground.babylonjs.com/js/babylonWebGpu.max.js

Custom shaders working back : https://www.google.com/url?q=https://www.babylonjs-playground.com/indexWebGPU.html%23XEU8N9%231&sa=D&source=hangouts&ust=1565293505988000&usg=AFQjCNF-IUbDmPdCtWVzQeuVjbdTMx2IcA

With now support for the inspector and the node Material with its awesome editor:
https://playground.babylonjs.com/indexWebGPU.html#TY9I71

Wow

Since the specification of WebGPU has been changed recently, it seems that an error occurs when Playground is run on Canary version of Chrome.
https://github.com/gpuweb/gpuweb/commits/master/spec/index.bs
https://github.com/chromium/chromium/commits/master/third_party/blink/renderer/modules/webgpu

This is weird i fixed it on Thursday to adapt to latest setVertexBuffer. Are you on latest canary ?

I tried the WebGPU sample and Babylon.js Playground with the following browser versions.

browser
version
WebGPU Samples
Babylon.js Playground WebGPU

Chrome Canary
Chrome/80.0.3964.0
:white_check_mark:
:x:

Edge Canary
Chrome/80.0.3956.0
:x:
:white_check_mark:

WebGPU Samples seems to have been updated on 11/9.
https://github.com/austinEng/webgpu-samples/commits/master/src/examples

old name
new name

vertexInput
vertexState

stride
arrayStride

attributeSet
attributes

Ok i ll fix it tomorrow :-) thanks for the report

All fixed on Chrome Canary, we ll have to wait for Edge Canary to reach Chrome latest changes.

Unfortunately, the latest version of Chrome Canary seems to have errors in Babylon.js Playground.

browser
version
WebGPU Samples
Babylon.js Playground WebGPU

Chrome Canary
Chrome/80.0.3967.0
:white_check_mark:
:x:

Chrome Canary
Chrome/80.0.3966.0
:white_check_mark:
:white_check_mark:

BJS - [21:35:31]: Babylon.js v4.1.0-beta.2 - WebGPU engine
D3D12 closing pending command list failed with -2147467259
WebGL: CONTEXT_LOST_WEBGL: loseContext: context lost

cc @sebavan

It works for me

It might be only on your GC and is not (I do not think) related to Babylon directly. You might try to provide your info on a chromium bug report for Windows. Please also disable the skia composition in your chrome flags to run WebGPU on Windows at the moment.

I tried both enable / disable skia composition settings, but the problem was not solved.

I am using ThinkPad X260's built-in GPU (Intel HD Graphics 520). I don't have any other environment to try, so I'll wait for a little more time for the new Chrome Canary.
I also reported the problem in the Chromium bug report.

Heads up as I will update the apis tomorrow due to a rename in the spec so you can expect Chrome canary to be ok tomorrow and it will probably take a bit more time for the new edge to follow.

Chrome Canary 80.0.3975.0 seems to have improved the WebGPU error. Now, Babylon.js WebGPU sample can be displayed with ThinkPad X260 built-in GPU.
With Edge Canary 80.0.3971.0, WebGPU still has an error, so it seems to need to wait a little longer.

Yep it is related to my previous message and would probably need a week or two to go in :-) but good to know it works on more devices.

I recently got a new environment (MacBookAir), so I tried WebGPU with Babylon.js.
However, Babylon.js PlayGround GPU does not seem to work on MacBookAir + BootCamp + Windows 10 + Chrome Canary.

Please let me know if there is a solution.
I wanted to disable "Skia API for OOP-D compositing", but it seems that the flag does not exist in the latest version of Chrome Canary.

No idea as here it is pretty specific :-( might be worth reaching out to the chromium team for those as it might be driver related ?
for us, we are trying to stay as much as we can in sync with the first release being Chrome on Mac. Then we are pretty confident it should work a couple of days later on Chrome Windows and finally on  Edge for windows a bit after that.

@sebavan Thank you for the advice. I would like to report it in a Chrome Canary bug report.

Hey, @sebavan any news on this?

Yup, We are currently for more stabilization of WGSL which sounds to be the chosen language for shaders in WebGPU. As the language is just as its premises so far we prefer to focus on other prios for the time being. I will meet with the Google team soon-ish to see when we are doing the change but I am hoping to start back on it this summer once we ensure it is all good to go.

Currently, Babylon.js Playground WebGPU does not seem to work with the latest version of Chrome Canary.

browser
version
WebGPU Samples
Babylon.js Playground WebGPU

Chrome Canary
Chrome/83.0.4093.0
:x:
:x:

Edge Canary
Chrome/82.0.4083.0
:white_check_mark:
:white_check_mark:

Perhaps it will work by referencing the latest glslang.

As the shader language will change, I won t update glslang for now, but I ll check if it is only a simple change tomorrow.

@cx20 Did you try on Mac or Windows ??? thanks

Actually it looks like it might be an issue with the latest CDN changes. the wasm file looks served with the wrong mime type:

@RaananW could you try from https://playground.babylonjs.com/indexWebGPU.html in chrome Canary with the Webgpu flag turned on ?

Actually, it looks like it does not run on Windows anymore, did you try other demos @cx20 on windows ? I am not getting any of them working atm.

I created the according Chromium ticket to double check: https://bugs.chromium.org/p/chromium/issues/detail?id=1064110

@sebavan I have confirmed that the problem occurs on both Windows and MacOS Chrome Canary.
I had the same problem in the following repository samples, but updating glslang solved the problem.
https://github.com/cx20/webgpu-test
Related: https://github.com/austinEng/webgpu-samples/issues/33

Ok so I ll try to fix it at least for MacOS as on Windows for me, I can not make it run at the moment. (none of your samples.)

Ok so I commited the glslang fix but it is soon to be deployed.
@RaananW , the file https://preview.babylonjs.com/glslang/glslang.js is not the same as https://github.com/BabylonJS/Babylon.js/blob/preview/dist/preview release/glslang/glslang.js
I can not think of any good reason aside of the deploy process ? any idea ? I can not debug as it seems it is not yes from the common subscription... I guess :-) Would really appreciate if you can have a look.

@RaananW I forced a manual purge and all good... no idea, do not ask :-) ... So @cx20 it should be all good. I might nevertheless fail on windows like other webgpu projects related to the previous chromium ticker: https://bugs.chromium.org/p/chromium/issues/detail?id=1064110

@sebavan Thanks. I have confirmed that Babylon.js Playground WebGPU can be displayed again on both Windows and Mac Chrome Canary.

WebGPU has come to work recently with Firefox Nightly.
However, Babylon.js WebGPU Playground does not display with an error.
It seems that setSubData cannot be used with the latest WebGPU API.
Even Chrome Canary has deprecated setSubData, so I hope you can migrate to the latest WebGPU API.

cc @sebavan

I will migrate next week as there is a quite large refactor of the APIs in process. The setSubData has already been fixed but not deployed due to the other required changes.
The main issue is the ecosystem fragmentation and I do not know at what extends testing on all the platforms is fully relevant as they are all evolving separately.
I have great hopes that after the shader language changes, things would be less fragmented.

Just migrated and merge with master, it is uptospec so there might be issues with not uptodate browsers ;-) but at least it has been updated.

@sebavan Thank you for updating. I have confirmed that the warning has been resolved in Chrome Canary.
BTW, when displaying Babylon.js WebGPU Playground in Firefox Nightly, it seems that an error appears in the part that is not related to WebGPU.
babylonWebGpu.max.js:1:1
Uncaught SyntaxError: invalid regexp group

@cx20, so no more issue on this side but firefox now just crashes on Windows, you might ping them as it sounds on their side :-(

@sebavan Thank you for fixing regexp. I have made a separate bug report regarding the crash.
https://bugzilla.mozilla.org/show_bug.cgi?id=1637972

maybe fun fact for anybody who is interested, firefox nightly with webgpu works on linux, although when I try any of the babylon.js links the tab crashes. Sort of trying to figure out if I can get more verbosity out of firefox (running from command line) not really sure how to though.

@0x00002152 looks like it has been ack as a bug on the firefox side: https://bugzilla.mozilla.org/show_bug.cgi?id=1637972

Currently, Playground is experiencing an error due to a change in the WebGPU API specification.
https://playground.babylonjs.com/indexWebGPU.html
mainWebGPU.js:1
TypeError: this._device.createBufferMapped is not a function
    at t._createBuffer (babylonWebGpu.max.js:1)
    at t.createUniformBuffer (babylonWebGpu.max.js:1)

The versions of browsers I have tried are as follows
Browser : Chrome Canary 87.0.4255.1
The recent changes to the WebGPU API may be helpful in the following articles
PSA for Chromium / Dawn WebGPU API updates 2020-07-28
https://hackmd.io/szV68rOVQ56GYzPJMBko8A

It has already been corrected but the code is not deployed yet.

We actually wont be redeploying the WebGPU PG before the merge to master planned to happen right after our 4.2 release and then full steam on WebGPU :-)

@Popov72 @sebavan Thanks for letting me know. I'm looking forward to 4.2 being released.

Hello. I am testing WebGPU using electron 15 and the version of Babylon.js that is served from preview.babylonjs.com, and there's a small problem with the content-type for glslang.wasm. It is printing a warning/error in the console but I am unsure if there's any actual problems.

glslang.js:36 wasm streaming compile failed: TypeError: Failed to execute 'compile' on 'WebAssembly': Incorrect response MIME type. Expected 'application/wasm'.

$ curl -I -s https://cdn.babylonjs.com/glslang/glslang.wasm | grep content-type
content-type: application/wasm
$ curl -I -s https://preview.babylonjs.com/glslang/glslang.wasm | grep content-type
content-type: application/octet-stream

No it's ok even with this warning (I get it also).
I will see if we can change the mime type of the preview CDN.

The mime type was changed to application/wasm

Delivered by @Popov72. Thanks!!!!


Improving Freelancer rates exercise

As discussed in #1049, in this PR I've:

Rearranged and simplified tasks for the ease of learning
Introduced the use of remainder operator

@junedev @SleeplessByte, I've worked sufficiently only on the instructions.md file for now. I'd like you to review it and see if you are okay with the 'story' and recommend changes here, if any, before I proceed further :)

Thank you for reviewing @junedev! I've incorporated all of your suggestions.

@JaPatGitHub Thanks a lot for your ongoing effort to improve this exercise!
The rounding section still had some typos that I fixed and I changed it so the link is on rounding and not on Math. In about.md I moved the content to the "Built-In object" section since Math is already mentioned there. See https://github.com/exercism/javascript/pull/1472/commits/98c7a70f4d7aaff60bc40613cd7e4ae748095d39. Hope thats ok for you.

(love this!!)

My pleasure to work with you guys on this!


Identity validation should check for non-empty demographic and game data

All of the following fields must be non-empty: gender, birth year, birth month
Game data:

Exists? Game.name and Defined? Realm|Region
Mandatory! Lane and Role if Game.name is LOL

Example:
"
The following fields are are required:

Game
Gender
Birth Month
Birth Year
"


feat(docs): Builder.storeMaybeRef, parseStdAddress and parseVarAddress

And documentation comments to stdlib/, plus descriptions of StdAddress and VarAddress

Issue
Closes #900 and towards #573.
Checklist

[x] I have updated CHANGELOG.md
[x] I have run the linter, formatter and spellchecker
[x] I did not do unrelated and/or undiscussed refactorings

@Gusarich please, take a look!


fix(jest-environment-node): make performance writable

Summary
Ref https://github.com/nodejs/node/pull/44626#issuecomment-1282191258

Note that there is a single failing test still: Runtime requireModule › resolves platform extensions based on the default platform

It's some weird haste thing - we should probably throw haste in a bin at some point 😅 There are cleaner ways of achieving custom resolution than polluting config with weird haste options.

Test plan
Running with nightly locally.

https://github.com/facebook/jest/releases/tag/v29.2.1


Capitalization and punctuation of error messages

Libraries seem to be all over the place. Can we standardize on lowercase with no period at the end?

The standard library uses lowercase without trailing punctuation.

"unexpected end of file"

"provided string was not `true` or `false`"

"invalid IP address syntax"

"second time provided was later than self"

"invalid utf-8 sequence of {} bytes from index {}"

"environment variable was not valid unicode: {:?}"

In line with this, capitalization and punctuation of expect should be discussed. I'm in favor of it being treated the same, however, the std library suggests expect messages should be capitalized while at the same time using lowercase anywhere that I looked.

Added in 201d9036dbe8640eef6054d2d9632ea0a0532ab6.


Noctis Azureus Debug console selection color

On the debug console, when a row is highlighted, selected text should get a different background color
Here I have selected Access-Control-Allow-Credentials but when the row is highlighted, can't see which part of the text is selected.

Hey mate, thanks for helping to improve the theme. I really appreciated it.
I fiddle with the colors and it should look OK. Let me know what you think of it.
Cheers!


Fix Android image crop overlay sizing problem

Details

The issue seems to be rooted in the fact that the image size we pass as imageContainerSize is something like<PHONE_NUMBER>042969. All other platforms seem to handle this well outside of Android.
As I noted in the issue, we could have added this Math.floor to https://github.com/Expensify/App/blob/67ab1b4057be5acf6d789b3a9b8ac56e01fa4601/src/styles/StyleUtils.js#L320-L325 but I'm worried that might have greater repercussions/regressions elsewhere so for now I'm just fixing this one case but if we discover more issues we can always fix it elsewhere.
Fixed Issues

$ https://github.com/Expensify/App/issues/13855
Tests

Navigate to settings > profile
Tap on avatar > upload photo
Choose a photo
Ensure the image crop overlay covers the image fully

[X] Verify that no errors appear in the JS console

Offline tests

QA Steps

Navigate to settings > profile
Tap on avatar > upload photo
Choose a photo
Ensure the image crop overlay covers the image fully

[X] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by @cristipaval in version: 1.2.50-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


More example

Issue Type

Feature request

Wanted : examples
molecule init and the doc are a good starter, but still I'm having difficulties understanding how it all works. A couple of full example would really help to get the big picture, one with Goss & one with testinfra for example. Maybe just linking to other repositories using molecule for testing ?
Bonus : travis doc
As a bonus, example or doc for molecule + travis-ci would be a plus. Between my poor understanding of both molecule & travis It took me some times to get it working. For anyone interested, here's my .travis.yml. dist & git depth are optional.
{
  "language": "python",
  "python": "2.7",
  "sudo": true,
  "dist": "trusty",
  "git": {
    "depth": 3
  },
  "service": [
    "docker"
  ],
  "addons": {
    "apt": {
      "packages": [
        "python-pip",
        "docker"
      ]
    }
  },
  "install": [
    "pip install ansible molecule docker"
  ],
  "script": [
    "ansible --version",
    "molecule --version",
    "docker -v",
    "molecule test"
  ],
  "group": "stable",
  "os": "linux"
}

Extra bonus : circle doc
Haven't tried this one but I'm curious to see it working with molecule too, I'ld love to be able to c/c a doc to get it running in 5' !

Wanted : examples
molecule init and the doc are a good starter, but still I'm having difficulties understanding how it all works. A couple of full example would really help to get the big picture, one with Goss & one with testinfra for example. Maybe just linking to other repositories using molecule for testing ?

Docs already have tons of examples.  Look at the example scenarios.

Bonus : travis doc
As a bonus, example or doc for molecule + travis-ci would be a plus. Between my poor understanding of both molecule & travis It took me some times to get it working. For anyone interested, here's my .travis.yml. dist & git depth are optional.

A travis doc already exists.

Extra bonus : circle doc
Haven't tried this one but I'm curious to see it working with molecule too, I'ld love to be able to c/c a doc to get it running in 5' !

Feel free to open a PR providing a circle doc.  I don't use circle so I don't have much incentive to write a doc for circle.  Obviously, I cannot account for every possible use one desires.

Oh... seems I got confused between default (master) doc and my version so I switched to 1.25.0 were all those are absent.
Thanks !


[DOCFIX] Add details to tutorials

Added the following details due to the confusions some new users had:

Not knowing to put the master host name in conf/masters and worker’s host name in conf/workers
Needing further information about Amazon S3 when reading the example of setting S3 bucket as the alluxio.master.mount.table.root.ufs.
Not knowing to set passwordless ssh from the master node to itself
Not knowing to config the inbound rules and ports for the nodes

alluxio-bot, merge this please


Add snapshot variable when building RCA

Signed-off-by: Sruti Parthiban<EMAIL_ADDRESS>Is your feature request related to a problem? Please provide an existing Issue # , or describe.
Fix failing build when snapshot is false.
https://github.com/opensearch-project/opensearch-build/issues/885
Describe the solution you are proposing
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
Check List

[x] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #83 (b05b522) into main (abd9df3) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head b05b522 differs from pull request most recent head 67b9495. Consider uploading reports for the commit 67b9495 to get more accurate results

@@            Coverage Diff            @@
##               main      #83   +/-   ##
=========================================
  Coverage     71.95%   71.95%
  Complexity      354      354
=========================================
  Files            44       44
  Lines          2510     2510
  Branches        160      160
=========================================
  Hits           1806     1806
  Misses          597      597
  Partials        107      107

Continue to review full report at Codecov.

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


Fix email scanner pipeline to handle flattened violations

This is to fix the email scanner summary to handle the flattened violations.

Adding cla: yes label, as the PR author is a googler at the time of this PR was created.


(PUP-10041) Convert puppet module tool to http client

Updates forge related unit tests to use webmock
Adds a forge integration test to verify SSL connections with the system CA store
Changes puppet module tool to use http client instead of Puppet::Util::HttpProxy#get_http_object
Only file metadata and content from http(s) file sources use Puppet::Util::HttpProxy to make Net::HTTP connections.

CLA signed by all contributors.

jenkins please test this

@scotje @jpartlow We're changing how the PMT makes HTTP requests to the forge so that it behaves consistently with all of the puppet settings, etc. This PR preserves the encoding logic that was there before (at least that's the intent). We use Puppet::Util.uri_encode to URL encode the request path. So + and   are always converted to %20. And query parameters are encoded the same way they were before.
I've tested this using module_groups=base+pe as that was an issue we had previously. Are there other combinations I should try? Are there some PE specific things I should try? I believe the behavior of using the forge authentication token and user/password encoded in the URL should still work.

The pe_acceptance_tests use puppet module in a few spots. The ace server tests, some pre and post upgrade tests, and a specific check of module dependencies that uses 'puppet module list'
In PE, it looks like we configure the master's puppet.conf with 'modules_groups = base+pe_only'.
And puppet module is referenced in the PE docs for some workflows that assume a simple code environment where the user can just puppet module a module into place on their master and continue with the workflow.

I installed PE 2019.3.x and the puppet-agent build from this PR, and verified I could install PE only modules and the pagination worked correctly:
$ puppet module search stdlib --http_debug
...
<- "GET /v3/modules?query=stdlib&module_groups=base%20pe_only&limit=20&offset=360 HTTP/1.1\r\nX-Puppet-Version: 6.12.0\r\nUser-Agent: PMT/1.1.1 (v3; Net::HTTP) Puppet/6.12.0 Ruby/2.5.7-p206 (x86_64-linux)\r\nAccept-Encoding: gzip;q=1.0,deflate;q=0.6,identity;q=0.3\r\nAccept: */*\r\nHost: forgeapi.puppet.com\r\n\r\n"
...
NAME                                          DESCRIPTION                                                               AUTHOR              KEYWORDS
puppetlabs-stdlib                             Standard library of resources for Puppet modules.                         @puppetlabs         library stdlib standard stages
geoffwilliams-stdlib DEPRECATED               Standard library of resources for Puppet modules.                         @geoffwilliams
puppetlabs-netdev_stdlib                      Type definitions for Networking Device (NetDev) Standard Library          @puppetlabs         network
hardening-hardening_stdlib                    Shared functions for hardening modules                                    @hardening          hardening stdlib
juniper-netdev_stdlib_junos                   Junos Provider code for Networking Device (netdev stdlib) Library         @juniper            networking juniper netdevops junos
puppetlabs-ciscopuppet                        Cisco Puppet providers and types for NX-OS devices                        @puppetlabs         cisco nxos nx-os network
brocade-netdev_stdlib_nos                     Provider and Type definition (based on netdev_stdlib) for Brocade VDX...  @brocade            network netdev brocade nos
aristanetworks-netdev_stdlib_eos              NetDev Providers for Arista EOS                                           @aristanetworks     eos netdev arista network
womply-stdlib_aws                             AWS management helper functions.                                          @womply
mellanox-netdev_stdlib_mlnxos                 Provider definition for implementing Networking Device (netdev) Libra...  @mellanox           netdev mlnxos l2 l3 vlan lag lacp
helio-fluentbit                               Installs and manages Fluentbit for Debian and Ubuntu                      @helio
mellanox-netdev_ospf_stdlib                   Type definitions for Networking Device (netdev) OSPF Library              @mellanox           netdev ospf l3 area router route
puppetlabs-java                               Installs the correct Java package on various platforms.                   @puppetlabs         java stdlib runtime jdk jre
netdevops-netdev_stdlib                       Type definitions for Networking Device (netdev) Library                   @netdevops          networking netdevops
huawei-netdev_stdlib_ce                       Huawei Puppet types and providers for CE devices                          @huawei
h3c-netdev_stdlib                             H3C Puppet types and providers for devices                                @h3c
puppet-extlib                                 extlib provides functions out of scope puppetlabs/stdlib                  @puppet             voxpupuli extlib stdlib
puppet-autofs                                 Module for installing and managing autofs                                 @puppet             autofs automount mount
simp-aide                                     manages AIDE                                                              @simp               simp aide
trlinkin-validate_multi                       Validate that the first argument given can pass validation of at leas...  @trlinkin           parser dsl validate stdlib
icann-opendnssec                              OpenDNSSEC configuration for GSI infrastructure ICANN                     @icann
puppetlabs-tomcat                             Installs, deploys, and configures Apache Tomcat web services.             @puppetlabs         tomcat
simp-sssd                                     Manages SSSD                                                              @simp               simp sssd
puppetlabs-activemq                           Installs and configures ActiveMQ.                                         @puppetlabs         java activemq amqp stomp stdlib
brainsware-resources_deep_merge               provides a function deep-merges every memeber of one hash1 with hash2     @brainsware         function stdlib deep-merge
viniciusxavier-ssh                            This module manage SSH client and server.                                 @viniciusxavier
rdark-mungelib                                A stdlib of sorts, a collection of functions for munging, mangling an...  @rdark
ptomulik-ptlib                                Utility functions for puppet module developers                            @ptomulik           stdlib custom delete values param
... hundreds more ....

:+1: I don't think the acceptance suite is doing anything more than that.

I talked this over in slack with some folks and got 👍 so I'm going to merge.


feat: SfTransition as a functional component

Related issue

Related #957
Scope of work

[x] add SfTransition as a functional component to use amongst the project
[x] add 'transition' prop to SfBottomModal
[x] transition prop receives also false to turn off the transition
[x] as a default transition name is 'fade' but this can be discussed more

Screenshots of visual changes

Checklist

[ ] No commented blocks of code left
[ ] Run tests and docs
[ ] Self code-reviewed

If applicable:

[ ] I followed composition rules for my component
[ ] I tested the component in most common device sizes (can be tested in Storybook from viewport addon in top menu)
[ ] I accept Individual Contributor License Agreement

@martaradziszewska good job! :) Can we use https://vue-loader.vuejs.org/guide/functional.html this way to defined functional components?

maybe we can add stories for this component, wdyt @martaradziszewska

@pspaczek sure, a story sounds good! I agree :) As in vue next template with functional option will be removed we can go with standard component :)

@Michal-Dziedzinski can you refactor this component to standard component, Vue 3 probably doesn't support functional components

@pspaczek Vue 3 will still support functional components as a simple render function. Option "functional" in template will be removed. But I am still thinking should we consider refactor at all, keeping in this shape will improve performance as this component won't be keep any state etc. WDYT @Michal-Dziedzinski ?

@martaradziszewska  I agree, in Vue 3 functional components must be written as plain functions and in my opinion it is worth to leave it as a functional component if we have no state


Compatibility with Nvim nightly (v0.5) ?

:GlowInstall does absolutely nothing on NVIM v0.5.0-828-g0a95549d6
Maybe i am missing something?

Hey @salkin-mada sorry for the late reply,  i will investigate this issue, but are you able to run the :Glow command already without any errors?

Hey. No stress i am also going a bit slow here as you can see :) haha.
I can NOT run the :Glow cmd - i get zsh:1: command not found: glow [Process exited 127]
because, yes. i don't have glow.  should running the :GlowInstall manually post/message something?
nothing to see in :messages.

hey @salkin-mada yeah i was able to reproduce on my side and i am already working in a fix. Thanks for the report

nice. let me know if i can help testing or something. cant wait to get my glow on and .md native preview/render going in nvim 0.5
:)

@salkin-mada in the meantime you can install manually using go get github.com/charmbracelet/glow and just use the :Glow command

hey @salkin-mada just pushed a fix here, can you update and check if its working for you please? (note that GlowInstall can take some time to finish because go get -u for the glow project its taking some time to finish - at least on my side!)

tested here after update. and now I actually get some output when running :GlowInstall
but this is the result here.

@salkin-mada what is your go version?

go version go1.15.6 linux/amd64

weird, can you go get -u github.com/charmbracelet/glow  without errors?

i get
# github.com/charmbracelet/glamour/ansi
go/src/github.com/charmbracelet/glamour/ansi/renderer.go:76:15: undefined: "github.com/yuin/goldmark/extension/ast".KindFootnoteBackLink

same checking with vet
~
❯ go vet github.com/charmbracelet/glow
# github.com/charmbracelet/glamour/ansi
go/src/github.com/charmbracelet/glamour/ansi/renderer.go:76:15: undefined: "github.com/yuin/goldmark/extension/ast".KindFootnoteBackLink

weird, i have the same go version and i am not getting this. Seems like getting the compiled binary should be easiest path to solve that issue. Will think about something

+1 @ahmed-alahmadi @ellisonleao Same error on MacOS Catalina

:Glow -> glow is not installed. Call :GlowInstall to install it
:GlowInstall -> failed to install
$ go get -u github.com/charmbracelet/glow  -> cannot find package "github.com/hashicorp/hcl/hcl/printer" in any of:
/usr/local/Cellar/go/1.15.8/libexec/src/github.com/hashicorp/hcl/hcl/printer (from $GOROOT)
/Users/pritesh/go/src/github.com/hashicorp/hcl/hcl/printer (from $GOPATH)

$  nvim --version
NVIM v0.5.0-dev+dc3ca16a9
Build type: Release
LuaJIT 2.1.0-beta3
Compilation: /usr/bin/clang -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -DNDEBUG -Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict-prototypes -std=gnu99 -Wshadow -Wconversion -Wmissing-prototypes -Wimplicit-fallthrough -Wvla -fstack-protector-strong -fno-common -fdiagnostics-color=auto -DINCLUDE_GENERATED_DECLARATIONS -D_GNU_SOURCE -DNVIM_MSGPACK_HAS_FLOAT32 -DNVIM_UNIBI_HAS_VAR_FROM -DMIN_LOG_LEVEL=3 -I/tmp/neovim-20210216-17238-tw1nma/build/config -I/tmp/neovim-20210216-17238-tw1nma/src -I/usr/local/include -I/usr/local/opt/luv/include -I/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/usr/include -I/usr/local/opt/gettext/include -I/tmp/neovim-20210216-17238-tw1nma/build/src/nvim/auto -I/tmp/neovim-20210216-17238-tw1nma/build/include
Compiled by<EMAIL_ADDRESS>Features: +acl +iconv +tui
See ":help feature-compile"
system vimrc file: "$VIM/sysinit.vim"
fall-back for $VIM: "/usr/local/Cellar/neovim/HEAD-dc3ca16_1/share/nvim"
$  go version
go version go1.15.8 darwin/amd64

Hope it helps in debugging the issue. Let me know if you need a hand in testing. Cheers!

Closing this in favor of #8


fix link

update readme
fix link of Building A Single Page Todo App with MEAN--Including Angular.

Heh thanks for that!
+1

you're welcome.


First cut of initialization benchmarks

Also adding AdventureWorks model. Currently the tests that require the database are skipped if you don't have AdventureWorks installed because the artifacts to create it are large (backup is 45mb, SQL script to create schema and insert data is >500mb). We could look at dynamically downloading artifacts and creating it in the future if we think it adds significant value.

Perhaps add a script that downloads and installs?

Yeah, I'll play around with it a little more in the future, but for the moment I just want to get on to adding more coverage. The skip message gives you the URL to go download the backup from, so it's super easy to get the database.

:shipit:


LDAP_BASE_DN needs to be defined

This morning my containers wouldn't start after an update and reboot. It took me quite a while to find out that the problem was a missing LDAP_BASE_DN definition. Before it worked without an explicit definition in docker-compose.yml.

https://github.com/osixia/docker-openldap/issues/283 was fixed today and code merged into 1.2.4-dev

@tobikris may be this issue can now be closed ?


Additional params

Add ability to add extra query string parameters such as Environment parameters

This has been pending for over a year now. Has the author abandoned the project entirely?

Looks like this is not being supervised, I suggest we work with the forks

@AcidRaZor

This has been pending for over a year now. Has the author abandoned the project entirely?

Just don't get why implement it once we already have gtm_auth and gtm_preview implemented. Can you give me a reason to add additional params?


Change input source (frontcamera, backcamera)

Hi, is it possible to select the source for the scanner ? I want to use the backcamera to scan a qr code.

I have the same issue

I am also having the same issue.  I looked thru the source code and see that w69b.qrcode.js is generating on the fly "localvideocapturer.js"  in which the section "Start capturing video" is called this.getUserMedia without any constraint.  I tried changing that code in w69b.qrcode.js, but the changed code does not seem to make it to the localvideocapturer.js.  Is there a way to get the constraint added to navigator.mediaDevices.getUserMedia so that the camera facing environment?  This would solve the issue I think, but need more information on how the code generates the /source/ folder with the other .js files.  I hope you can help as this is a project(which relies heavily on barcode.js) I have to get working to pass my college class.

Hi,
I have the same issue.
Is there a way to change the camera source?
Thanks


Support for encrypted PDF

PDF.js supports handling password protected PDF's

I just received a password protected contract and found out that the viewer does not support that, yet.
Pull requests #17 & #20 were closed previously, without any merging. Is there a plan to implement this feature?

The feature is planned, otherwise there wouldn't be an issue open. Those pull requests were not ready and didn't make it to the point that they could be merged.

@thestinger
I got my hands on a Pixel 3a, and the patches for encryption backed up.
I'd like to get back to this, but in kotlin as opposed to java (the app still relies on deprecated loaders, coroutines f.e. would be a much better fit).
What is your take on this?

@Tommy-Geenexus Porting the app to Kotlin would make sense.

This has been implemented. UX needs work though.


Update package.json to v2 of styled-components

This change stops npm from nagging about styled-components version if using v2.

Any chance you can push a version with this change?


Push annotation and attribute info into attributes.md

Right now, we've got two related problems:

The IA implies that /docs/attributes is the most detailed source on attributes — but some attribute info is only in /docs/syntax, making the whole story hard to find
The structure of /docs/syntax implies that annotations are a separate feature — but there's no /docs/annotations, making the whole story hard to find

This PR addresses those by pushing most attribute and annotation info into /docs/attributes, and by adding language that clarifies that annotations are just an alternate syntax for passing attributes.

Closing in favor of #99


made to work with rails 3.2.0

fixes issue - https://github.com/vidibus/vidibus-routing_error/issues/8

This works only when consier_all_request_local is set to true, when its false, rails renders default 404 pages.


Pod trunk still at 0.1.1

Would like to have the pod trunk updated to have the 0.2.1 tag
Quick reference: https://guides.cocoapods.org/terminal/commands.html#pod_trunk_push
Cheers!

@MaximusMcCann I tagged a release/tag as 0.2.1, it should be available. Let me know if not!

@simonlevy5 hmmm, cocoapods site is still showing 0.1.1: https://cocoapods.org/?q=plaid
I do see the tag in this github repo though, cheers!

 I can't do this immediately, but will make sure I get it done within the day. Sorry for the delay!

@simonlevy5 All bueno, no sweat.  Appreciate the prompt responses!!

@simonlevy5 pod install is giving me an error when I try to pod install 0.2.1.
 Any help would be greatly appreciated as I am new to cocoapods and iOS development!

@simonlevy5 try running pod repo update first and then try pod install again

@MaximusMcCann Sorry. I hope to have this done today. I'm waiting on the Cocoapods dev team to re-assign the repository to my personal e-mail address as<EMAIL_ADDRESS>no longer exists, sadly.

All good cheers!


update github-action steps

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 100.00%.  Consider uploading reports for the commit 6ba0f44 to get more accurate results

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff            @@
##              main       #48   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            5         5
  Lines          293       293
  Branches        61        60    -1
=========================================
  Hits           293       293

Flag
Coverage Δ

unittests
100.00% <ø> (ø)

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

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


ARROW-17318: [C++][Dataset] Support async streaming interface for getting fragments in Dataset

Add GetFragmentsAsync() and GetFragmentsAsyncImpl()
functions to the generic Dataset interface, which
allows to produce fragments in a streamed fashion.
This is one of the prerequisites for making
FileSystemDataset to support lazy fragment
processing, which, in turn, can be used to start
scan operations without waiting for the entire
dataset to be discovered.
To aid the transition process of moving to async
implementation in Dataset/AsyncScanner code,
a default implementation for GetFragmentsAsyncImpl()
is provided (yielding a VectorGenerator over
the fragments vector, which is stored by every
implementation of Dataset interface at the moment).
Tests: unit(release)
Signed-off-by: Pavel Solodovnikov<EMAIL_ADDRESS>

Force-pushed the branch, addressed style comments from @westonpace. Diff can be found here: https://github.com/apache/arrow/compare/fae325e7c553cc857ae9d05c757d5ff90e646260..da4235e3c08b46a8ff7a5207a93c03db75ce5515

Rebased and force-pushed the branch. Unfortunately, I cannot attach a link to the diff because rebasing broke it.
Changes summary:

Added utils/async_generator_fwd.h
GetFragmentsAsyncImpl() forwards GetFragmentsImpl() to MakeBackgroundGenerator() + MakeTransferredGenerator() instead of .ToVector():ing it.

@westonpace @pitrou Polite review ping.

Force-pushed the branch to address review comments from @westonpace. The diff can be found here: https://github.com/apache/arrow/compare/e91396ccf22eec394f23369255a9fd65be60b274..a6c5d5075b8150cf4ecf6874ad59a0e8497af93c
Changelog:

Added a non-virtual GetFragmentsAsyncImplBase, which accepts a arrow::internal::Executor* which is used as a destination executor for the background generator.
Default implementation of virtual GetFragmentsAsyncImpl now calls GetFragmentsAsyncImplBase with the default executor internal::GetCPUThreadPool().
Expanded the comments section for the default impl method.

Force-pushed the branch to address review comments. The diff can be found there: https://github.com/apache/arrow/compare/a6c5d5075b8150cf4ecf6874ad59a0e8497af93c..b47679f0708ed736e75c0254f5654cae9d9abbe4
Changelog:

Fixed include style, reordered includes
GetFragmentsAsyncImpl() accepts a executor argument, defaulting to GetCPUThreadPool() in the default implementation of Dataset class
Fixed a bug in DatasetFixtureMixin::AssertFragmentEquals() which incorrectly assumed that the fragment scanner would always drain the batch generator
Added a test for Dataset::GetFragments by utilizing the AssertDatasetFragmentsEqual() helper, which was unused until now
Added a similar test for Dataset::GetFragmentsAsync along with a similar helper DatasetFixtureMixin::AssertDatasetAsyncFragmentsEqual()

@westonpace @pitrou Polite review ping.


When dragging items to another list the dragged item reappears

Hello, I am trying to implement  the sortable library via the angular-legacy wrapper and I'm experiencing the same issue as this SO post (http://stackoverflow.com/questions/39536502/cant-get-rubaxa-angular-legacy-sortablejs-to-move-items-between-lists) which doesn't have an answer and was wondering if anyone could help?
I have created a jsbin bellow which demonstrates my issue: each time I drag an item out of a list it reappears.
http://jsbin.com/yuvucim/edit?html,js,output
Any help/pointers would be greatly appreciated! 💯
(I would've created an SO post but no doubt I'll get shouted at for duping an answer and I don't have high enough reputation to comment on that post and I know this probably isn't the correct place either!)

let me preface this with I have never really used angular.
it looks like, for some reason, the "onAdd" event had "clone" set to true, even though it shouldn't have been.
while this feels hacky and isn't solving the underlying problem ( whey is clone set to true when it SHOULD be false), you can correct the issue by altering the event data:
onAdd: function ( /**Event*/ evt) {                 evt.clone = false;                 _sync(evt);                 _emitEvent(evt, removed);                 scope.$apply();               },
I cloned your code and added the modification shown above so you can see the results.
http://jsbin.com/janunidepi/1/edit?html,js,output

@aintJoshinya thanks for taking a look. I'm not sure what you mean though, clone isn't being set to true in the onAdd function...
  onAdd: function ( /**Event*/ evt) {                 _sync(evt);                 _emitEvent(evt, removed);                 scope.$apply();               },
Have I missed something?

is it not showing up for you in the jsbin link I left? hmmm, maybe I cloned it incorrectly.
here's a screenshot of what I'm talking about. hopefully this helps. in the html section of the jsbin, there's some javascript. it looks like it's the angular 1.x module code. In that code, towards the bottom, on line 222, there is the onAdd event handler. on line 223, I hard coded evt.clone to be false, as it was coming in as true.

this is likely a bug with the angular 1.x module code, but I have not thoroughly examined all of it. you could submit a bug on that project and hopefully someone more familiar with the code could help resolve it.
in general, with sortable.js and multiple lists, you use the "put" and "pull" settings to determine which lists can have data used/added/removed/etc (see the group options. Pull can also be set to "clone", which clones items instead of moving them from one list to another. I'm assuming that clone is being set incorrectly for some reason, as it looks like in your code, you only set pull to true.
as a side note, based on this example  from the documentation, it looks like group settings should be declared like below. I left your original in there, just commented out. This, unfortunately, still did not solve the issue, though...

@aintJoshinya ok, thanks for those points. I don't know where that evt.clone property has come from, I've just run it in my project and can see a cloned property but not a clone: true one.
I have updated my group objects to that structure (I had them like that initially and then saw the other variation somewhere) and still no joy.
I've re-read the issues on the legacy module and looks like this thread is a very similar issue https://github.com/SortableJS/angular-legacy-sortablejs/issues/29
Thanks again for taking the time to look, much appreciated 👍

Hello. I am working on a library for Angular 1.x that uses Sortable.js, and was having issues with Angular ng-repeat comments and the DOM manipulation of Sortable.js. So I am trying to use the wrapper instead (angular-legacy-sortablejs-maintained).
After migrating, I came across this same issue of dragging and always having a clone "left behind", no matter what I had set in group. From what I was able to gather, evt.clone is being set by Sortable.js in _onDragStart(), but actually because of group.checkFull(), which in the newer version of Sortable.js (1.5.1) is checking only against true or false, not the "clone" string anymore. But group.checkFull() is used both in _onDragStart(), which I need to be false so it doesn't clone the element, as well as in _onDragOver(), which is when the element is being dragged and I need it to be true to be able to drag the element.
I saw that checkFull() has 4 parameters: from, to, dragEl and event. So this is what I did when defining the pull in the group object:
group: {
  pull: function(to, from, dragEl, evt) {
    if(evt.type === 'dragstart') {
      return false;
    }
    return true;
  }
}

So basically I was able to solve my use case by checking which type of event is under way.
I hope this might help.

Having the same problem as well on version 1.5.1.


:recycle: Generalize pipeline ingestion

IngestBfxRun is now IngestPipelineRun, which provides compatibility with any kind of pipeline (bfx, ml, etc.).

I also think this can be further simplified by making IngestObject and IngestPipelineRun inherit from a IngestEntity class, but decided to leave this for a further iteration so @falexwolf can come in quickly and implement non-atomic erroring.

Thanks, Bernardo!
If you have clarity on inhering from IngestObject, then you could also do that. It sounds a lot like it would help me do the erroring thing. 😅 I got a bit out of the loop with the whole code around ingest, so any simplification is very much welcome on my side!
And if that happens tomorrow, that's also OK! I'm trying to ship a pilot result today, but I guess they'll likely not play with it until tomorrow or early next week.

@sunnyosun PR is ready for your review! I’ll kindly ask you to pay close attention to the logic in IngestPipelineRun._ingest_samples() (permalink here) and IngestPipelineRun._ingest() (permalink here) to make sure that I understood the sample ingestion logic correctly and that I’m handling force insertion adequately.

@falexwolf I prefer not to implement inheritance for IngestPipelineRun and IngestObject here (I think it would be too much for a single PR). This PR already has a lot of complexity (new ingestion logic for samples + full refactoring). So let’s get this one through the door and I’ll make another PR right after? We can also leave the inheritance PR for later if you prefer to start working on non-atomic erroring right away.

Makes sense, Bernardo! It’d be great if you could continue with the inheritance one right after! I have an in-person meeting for the next couple of hours with a last potential angel (or potential advisor/mentor).

Perfect! Should I go ahead with the merge or wait for Sunny’s review as well?

I think it’s perfectly OK to go ahead if you’d continue with the next PR immediately! Should there be anything from her side, one can still work it in!

In case of doubt, let’s always keep moving forward at pace and correct errors afterward rather than trying to get everything perfectly right the first time and losing time because of waiting for reviews. :sweat_smile:
[Of course, this doesn’t hold for production releases. But the main lamindb repo branch isn’t production-ready anyway right now.]


Refine documentation with generic metrics

Refine documentation with generic metrics beyond minio specific metrics.
Addresses https://github.com/minio/minio/issues/6140

Thanks a lot for the PR @gberche-orange

@kannappanr @nitisht sorry for the typo, I have updated this along with mention of the demo server


Uncaught TypeError: Cannot set property 'someVar' of undefined

I convert a ts to js, and run it in Chrome,but it dosen't work.
error message:
Uncaught TypeError: Cannot set property 'trackName' of undefined
class.ts
export interface Point {
    lat: number;
    lng: number;
}
export enum Action {
    newTrack,
    addPoint,
    none
}
export class Message {
    trackName: string;
    trackPoints: Array<Point>;
    action: Action;
    timestamp: number;
    width: number;
    constructor(msg: {
        trackName: string,
        trackPoints: Array<Point>,
        action: Action,
        timestamp: number,
        width: number
    } = {
            trackName: '',
            trackPoints: [],
            action: Action.none,
            timestamp: 0,
            width: 0
        }) {
        this.trackName = msg.trackName;
        this.trackPoints = [];
        msg.trackPoints.forEach(element => {
            this.trackPoints.push(element);
        });
        this.action = msg.action;
        this.timestamp = msg.timestamp;
        this.width = msg.width;
    }
}
export class BrMessage extends Message {
    constructor(msg: Message) {
        super(msg);
        this.trackName = msg.trackName;
        this.trackPoints = [];
        msg.trackPoints.forEach(element => {
            this.trackPoints.push(element);
        });
        this.action = msg.action;
        this.timestamp = msg.timestamp;
        this.width = msg.width;
    }
    copyfrom(other: Message): void {
        this.trackName = other.trackName;
        this.trackPoints = [];
        other.trackPoints.forEach(element => {
            this.trackPoints.push(element);
        });
        this.action = other.action;
        this.timestamp = other.timestamp;
        this.width = other.width;
    }
    copyto(other: Message): void {
        other.trackName = this.trackName;
        other.trackPoints = [];
        this.trackPoints.forEach(element => {
            other.trackPoints.push(element);
        });
        other.action = this.action;
        other.timestamp = this.timestamp;
        other.width = this.width;
    }
}

class.js:
var __extends = (this && this.__extends) || function (d, b) {
    for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
    function __() { this.constructor = d; }
    d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
define(["require", "exports"], function (require, exports) {
    (function (Action) {
        Action[Action["newTrack"] = 0] = "newTrack";
        Action[Action["addPoint"] = 1] = "addPoint";
        Action[Action["none"] = 2] = "none";
    })(exports.Action || (exports.Action = {}));
    var Action = exports.Action;
    var Message = (function () {
        function Message(msg) {
            var _this = this;
            if (msg === void 0) { msg = {
                trackName: '',
                trackPoints: [],
                action: Action.none,
                timestamp: 0,
                width: 0
            }; }
            this.trackName = msg.trackName;
            this.trackPoints = [];
            msg.trackPoints.forEach(function (element) {
                _this.trackPoints.push(element);
            });
            this.action = msg.action;
            this.timestamp = msg.timestamp;
            this.width = msg.width;
        }
        return Message;
    })();
    exports.Message = Message;
    var BrMessage = (function (_super) {
        __extends(BrMessage, _super);
        function BrMessage(msg) {
            var _this = this;
            _super.call(this, msg);
            this.trackName = msg.trackName;
            this.trackPoints = [];
            msg.trackPoints.forEach(function (element) {
                _this.trackPoints.push(element);
            });
            this.action = msg.action;
            this.timestamp = msg.timestamp;
            this.width = msg.width;
        }
        BrMessage.prototype.copyfrom = function (other) {
            var _this = this;
            this.trackName = other.trackName;
            this.trackPoints = [];
            other.trackPoints.forEach(function (element) {
                _this.trackPoints.push(element);
            });
            this.action = other.action;
            this.timestamp = other.timestamp;
            this.width = other.width;
        };
        BrMessage.prototype.copyto = function (other) {
            other.trackName = this.trackName;    //error shown here
            other.trackPoints = [];
            this.trackPoints.forEach(function (element) {
                other.trackPoints.push(element);
            });
            other.action = this.action;
            other.timestamp = this.timestamp;
            other.width = this.width;
        };
        return BrMessage;
    })(Message);
    exports.BrMessage = BrMessage;
});

this works fine for me. can you provide more details? what loader are you using? where is the error generated.. etc..

thanks for help.
i have fixed this issue.
the problem is as following:
main.ts
var browserMsg: BrMessage = new BrMessage({
    trackName: '',
    trackPoints: [],
    action: Action.newTrack,
    timestamp: 0,
    width: 0
});
var bsMsgSend: Message = undefined;  //the bug source, i will generate the bug
browserMsg.copyto(bsMsgSend);

the bug soure is shown above, the right defined statement is:
var bsMsgSend: Message = {};


Replace resize.js with resize method of imagejs for additional interpolation modes

With the replacement there are now multiple interpolation modes supported.
Default mode is Jimp.RESIZE_BICUBIC.
Modes currently supported by imagejs:
Jimp.RESIZE_NEAREST_NEIGHBOR
Jimp.RESIZE_BILINEAR
Jimp.RESIZE_BICUBIC
Jimp.RESIZE_HERMITE
Jimp.RESIZE_BEZIER

Adds dependency to imagejs

I've done this - but done it a bit differently.
You can now pass an optional resize mode to the resize method, like this:
this.resize(256, Jimp.AUTO, Jimp.RESIZE_BICUBIC)

This is available now from the main branch and I'll release it over the next week or so.


Nested lists items should be indented using 4 spaces instead of 2

Python-Markdown only parses that indentation and other implementations allow it, so go with this for consistency.

Added in v0.3.25.


Write null for current-snapshot-id

Based on the checks in https://github.com/apache/iceberg-rust/pull/742#issuecomment-2515564242, it looks like we write -1 when there is no snapshot, which is not correct.

@Fokko for this field but also others (properties, snapshots themselves, snapshot_log) should we skip serializing them if they are none or add null?

The writer-requirements sections of the spec clarifies this:

The current-snapshot-id may be missing too since it is optional in V1. I think it is also fine for properties, snapshots, and snapshot-log to be missing if they are empty, this should all be handled fine by the reader.


Slider

it wont quite work because the probabailities in predict.json are messed up, ill work on making it look good just wanted to get this up here

this is basically all the changes i made @laurajjiang this might help easier with the react and website stuff to see exactly what i changed

this is basically all the changes i made @laurajjiang this might help easier with the react and website stuff to see exactly what i changed

looks good!

looks good!


Issue #21 Add back AMQ_ENABLE_METRICS_PLUGIN env var support to conta…

…iner image
ENTMQBR-5209
Thanks for submitting your Pull Request!
Please make sure your PR meets the following requirements:

[ ] Pull Request title is properly formatted: [CLOUD-XYA] Subject
[ ] Pull Request contains link to the JIRA issue
[ ] Pull Request contains description of the issue
[ ] Pull Request does not include fixes for issues other than the main ticket
[ ] Attached commits represent units of work and are properly formatted
[ ] You have read and agreed to the Developer Certificate of Origin (DCO) (see CONTRIBUTING.md)
[ ] Every commit contains Signed-off-by: Your Name<EMAIL_ADDRESS>- use git commit -s

close this test pr


[VRM - Bug]: day ahead prices are flat

Contact Details
<EMAIL_ADDRESS>VRM portal ID
c0619ab1ea67
Country / region
Czech Republic (cz)
B max
12
TB max
12
FB max
12
TG max
17.25
FG max
17.25
Battery costs
0.04
Buy price
(p+0.012+0.032)*1.21
Sell price
(p-0.02+0.032)*1.21
feed-in possible
yes
feed-in control
yes
What happened?
I am back testing the Dynamic ESS. This time the VRM implementation. This morning I wanted to check the graphs and it is strange but the prices are not loaded correctly. The graph is flat, totally different than the real one. The flat price was visible yesterday at evening too.  I am attaching a screen taken on my phone.

Screenshots
![DESCRIPTION](LINK.png)

You have set the Dynamic ESS to be off right now.

So set that to auto and it should become functional again.

Yeah, I switched it off because I saw the graph with flat price, obviously broken. So I tought the plan based on broken price wont be good too. And it was showing just „Loading“.
Now I switched back to „auto“. But the price is still flat.

I see the current plan as „send all to grid and keep the battery flat“.

That does not make sense in context the prices are currently almost zero.

That confirms the loading of prices is broken and the derived plan too.

Indeed. Can now confirm that there is a problem with the day ahead prices being fetched by the API. We are working on it.

Perfect. Thanks. I believe it started already at yesterday evening.

Same here. Good to read that it's a known issue. The Node Red version works well.

It should be back online now. We will be adding more monitoring to this part of the system. But as we are partly depending on third-party services (e.g. entsoe for the pricing), there is no guarantee that it won't happen ever again.

Perfect. Thank you. I will try later today to switch to auto again. I understand it is problematic to rely on entsoe API. Any small change at their side and you are without data. If they are doing so it's inconsiderate of them.
Anyway thanks for your work. I am looking forward to later versions. I already switched to spot prices recently and I consider this kind of system like a must have. My first idea was to implement some light logic in Loxone myself. But it would take ages to test the ideas in real life and why to invent another wheel. So I am very happy that this is going to be a native feature of Victron system.


Any potential issues running this with asdf?

👋 @RobertCraigie – we're using Typescript and Python in our company and managing all the language runtimes with asdf.
Are you aware of asdf? If yes, can you foresee any potential issues if we were to start using pyright-python alongside asdf-managed Node.js? I'm just being extra cautious now because I desperately want to avoid messing our developers' Node environment.
PS: Our .tool-versions file looks like this right now:
# Node.js
nodejs 16.17.1
pnpm 7.17.1

# Python
poetry 1.3.2
python 3.11.1

Hey @kkom! No I haven't heard of asdf before but I can fairly confidently say that it shouldn't cause any issues. This library doesn't mess with existing installations of Node or the user's environment at all.
For example, even if we need to download a node binary for you, it is not made available on your machine, we just download the binary and use npx to run pyright (I am just about to change this to instead use npm install and a separate node run fwiw) so unless npx does weird things under the hood then it should be completely fine.
In the case where Node is already installed on the user's machine then this library is essentially just a very thin wrapper over npx pyright@version and doesn't really do anything else that would cause foreseeable issues.

Thank you! We will give it a try then. :) I assume that the change you mention should be transparent to us, or is there any reason to wait for it (eg the old method may have some leftover assets, etc)?

Yeah the goal with changing the internal method is to support offline usage as npx doesn't seem to cache packages and will always reinstall the package. It should be a completely transparent change and I can't see any benefits in waiting.
The current method stores assets in a temporary directory so any leftover assets should be removed when you restart your machine. For what it's worth, the new method will respect $XDG_CACHE_HOME and otherwise default to ~/.cache.


adjust the layout so that the chatbot button and the scroll-to-top button are placed

What would you like to share or ask?
adjust the layout so that the chatbot button and the scroll-to-top button are placed side by side, rather than overlapping
Checklist

[X] I have checked the existing issues.
[X] I have read the Code Of Conduct
[X] The changes don't break the code
[X] Please attach the screenshots and video of the development work once it is done

@swaraj-das  please assign me this under GSsoc-ext, hacktoberfest & level-1,2,3


Mp/mover policy cleanup 2

A couple of corrections here:

force 'superuser' for authz deletion - because we never properly set up 'pivotal' with access due to the earlier issue that this cleans up, using pivotal fails to delete the resource.
add logic to reprocess records from the previous demigration to ensure authz data is cleaned up.
don't delete DB records if authz delete fails
also log 500s from mv_oc_chef_authz_http
add failure logging in the cleanup migration itself

ping @chef/lob @danielsdeleo

Heh, so obvious in hindsight. :+1:

I'd also like to understand why bifrost is returning a very slow (5s) 500 instead of a 400, when internally it does log that permission fails and that it should be a 400. But that's for a different day.


Would you be willing to switch to TypeScript?

I noticed an issue for moving to modules.  Why not make a bigger leap that includes modules?
I'd be willing to help, if not just make the conversion for you. :)
I'm asking first because it would be a waste to convert if it's not wanted.

I don't really have an opinion about TS. While I enjoy the order it brings to code, I also think it adds a layer of understanding not everyone (mainly new coders) is willing to face.
Maybe create a TS branch and we can pull it to master if it proves popular?

Sure, but as you can imagine, as soon as you move to TS, then you really can't intermix after that.
But I will look into it.

I will do a quick run through today to see how much effort it will be to migrate.

Well the good news is, you can easily switch to modules and you'll get typings for both box2d and seedrandom.  Which is nice.  Bad news is, there is a lot of work that needs to be done within the code itself to follow a modular standard.  I really like that your project runs out of the box.  You can download it and simply execute the html with no environment or compile step.  I would want to stay as close to that as possible.
I think phase 1 is to provide a UMD module export for box2d and seedrandom so you can import them without browserify or some other packager.


feat: useDebounce add cancel

In some scenarios，linke Select search，we want to cancel debounce when onBlur，because it's useless。
so i think cancel is necessary.
our code: https://github.com/umijs/hooks/blob/master/src/useSearch/index.ts#L56

Removed the fn.bind(null, args) because it is basically useless (all theese variables available from the context function been created)

Tomorrow will write some tests

@streamich done tests, now it's ready to merge, all good now.
but first have to merge #568

:tada: This PR is included in version 13.3.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


update node to <=21 instead of <=20

Gave it a try instead of downgrading my node version - seems to work fine with v21.4.0.

Thanks for your contribution. Unfortunately, we only support the latest LTS. For a possible workaround see https://github.com/thegeeklab/hugo-geekdoc/issues/641#issuecomment-1598230979


Fix bug - forbid deletion of ocm-role in case user cannot unlink role

In case a role is linked, and the user doesn't have permission to unlink the role,
print an error message and exit the program.
At the moment, if there is an error when unlinking the role, the role will be
deleted anyway.
Related: SDA-5482

@zgalor @pvasant @vkareh @leshemnoa @zvikorn PTAL
For some reason, when this line is called:
			err = unlinkocmrole.Cmd.RunE(unlinkocmrole.Cmd, []string{roleARN})
If an error is returned from unlinkocmrole, the returned value is nil, and the error is ignored.
I'm trying to figure out what is causing this behavior.
Anyhow, this solution of exiting in case of an error should fix the bug in the meantime.

/lgtm


file could not be opened error

I built from source, and tried running from both a remote asciinema url as well as a downloaded json file. The script fully completes with no errors, but when the gif is generated, I can't open it.
[09:12AM] asciicast2gif (master)$ asciicast2gif ~/Desktop/147415.json ~/Desktop/demo.gif
==> Loading /Users/jeremywoertink/Desktop/147415.json...
==> Spawning PhantomJS renderer...
==> Generating frame screenshots...
==> Combining screenshots into GIF file...
==> Done.

npm 4.6.1
lein Leiningen 2.8.1 on Java 1.8.0_144 Java HotSpot(TM) 64-Bit Server VM
macOS 10.13.1

Did you try to open the gif in another program, for example a browser? I could generate and open the file in both chrome and firefox

You can also use ffmpeg to recreate/fix the gif
ffmpeg -ss 30 -t 3 -y -i demo.gif -vf fps=10,scale=1920:-1:flags=lanczos,palettegen palette.png
ffmpeg -i demo.gif -i palette.png -filter_complex "fps=10,scale=1920:-1:flags=lanczos[x];[x][1:v]paletteuse" output.gif

However the output will be a bit larger in file size. You can use gifsicle or ImageOptim to  compress it.

I ran that command, and it generated the file on my desktop, then I double clicked the file, and got that error.

@jwoertink can you post such broken gif file somewhere so someone can look closer?

hmm... That's interesting. Here's a link. Looks like it works in the browser, just not on the desktop.

@jwoertink the commands above should work, the gif after I ran the commands:
 The preview app is able to open it fine, but I don't think that the Preview app is really designed to open gifs anyway.

The preview app works fine with gif

The ones generated with this also won't work if sent to someone via text. I guess if it's only going to support web, then maybe a note could just be added to the README?

Sorry I should have been clearer, the preview app works on (apparently only some) gifs but is not 'designed' for gifs it just displays singe frames. It looks like an after-thought on Apples part IMHO.
I have two asciinema json files that once is converted via asciicast2gif open fine in the Preview app.

ok


Rename Range Labels

I'm starting to think maybe we should replace the range Price: 100-1000 USD with Price: 100+ USD or if we want to be consistent with our other notation Price: >100 USD

https://github.com/ubiquity/bounty-bot/pull/102/files


ITN internal log GraphQL

For the incentivized testnet GraphQL server, add query internalLogs and mutation flushInternalLogs.
The ITN logger maintains a bounded queue of log items, consisting of a sequence number, the log message, and the log metadata. By default, the queue bound is 500; the flag --itn-max-logs can be used to change that.
The query takes an argument startLogId, the starting sequence number for the logs to be returned.
The mutation takes an argument endLogId, the ending sequence number for the logs to be removed from the queue. It returns a string Deleted NN logs.
Closes #13064.
Sample output from the query:
{
  "data": {
    "internalLogs": [
      {
        "id": 50,
        "message": "Update_frontier_extension",
        "timestamp": "2023-04-25 16:41:09.242914Z",
        "metadata": [
          {
            "item": "extension_name",
            "value": "ledger_table"
          }
        ]
      },
      {
        "id": 51,
        "message": "Update_frontier_extension",
        "timestamp": "2023-04-25 16:41:09.242914Z",
        "metadata": [
          {
            "item": "extension_name",
            "value": "transition_registry"
          }
        ]
      },
      {
        "id": 52,
        "message": "Update_frontier_extension",
        "timestamp": "2023-04-25 16:41:09.242914Z",
        "metadata": [
          {
            "item": "extension_name",
            "value": "best_tip_diff"
          }
        ]
      },
      {
        "id": 53,
        "message": "Update_frontier_extension",
        "timestamp": "2023-04-25 16:41:09.242914Z",
        "metadata": [
          {
            "item": "extension_name",
            "value": "snark_pool_refcount"
          }
        ]
      }
    ]
  }
}

!ci-build-me

!ci-build-me

!ci-build-me

!ci-build-me

!ci-build-me

!ci-build-me

!ci-build-me

!ci-build-me

!approved-for-mainnet

!ci-build-me

!approved-for-mainnet


Could not find or use auto-linked framework 'CoreAudioTypes': framework 'CoreAudioTypes' not found

ld: warning: mixed ObjC ABI, /Users/evan/.pub-cache/hosted/pub.flutter-io.cn/alipay_kit_ios-6.0.1/ios/Libraries/noutdid/AlipaySDK.framework/AlipaySDK compiled without category class properties
ld: warning: Could not find or use auto-linked framework 'CoreAudioTypes': framework 'CoreAudioTypes' not found
ld: Undefined symbols:
OBJC_CLASS$_UTDevice, referenced from:
in AlipaySDK
clang: error: linker command failed with exit code 1 (use -v to see invocation)

@droplet-js  可以看下这个问题么？我也遇到了，谢谢

it‘s xcode15 bug, when i use xcode14 no error.


ThroughputProperties APIs / docs

Add more docs to throughput properties
Hide setId() API
Add docs for getId() - only relevant on response from the server

This is done.


Geo column returns empty

Hi!
First, thanks a lot for this great project!
I did use the script several times to collect tweets from a query search.
Each time, the ‘geo’ column returns empty, do you have any idea of the problem?
Thanks a lot!

Very few tweets have geo information. So it's very usual to see that field empty even if you collect a few thousand tweets.

The location feature is used by API only, which means you won't see much change on the Twitter home page right now. Therefore, you can't crawl the location on the home page, you need to get it through the API.

So isn't there no way possible to get location(location that is present in profile will also work) from this script ?


How to catch the call event

Hi, I have to create an app that can catch the call event and get the callerID. I saw in the documentation, that the agentCalledEvent allows to get the callerID, but I didn't find any tutorials that explains how to catch an event. The only thing i succeed is to login with the ManagerConnection.
Does anyone know how to catch an event with AsterNet ?

You can check the code I posted in #132.

Thank you, I will check it now


Documentation: API Chai Examples Incorrect

Version
1.0.0-beta.12
Reproduction link
https://vue-test-utils.vuejs.org/en/api/mount.html
Steps to reproduce
Example shows
import { shallow } from '@vue/test-utils'
import { expect } from 'chai'
import Foo from './Foo.vue'

describe('Foo', () => {
  it('renders a div', () => {
    const wrapper = shallow(Foo)
    expect(wrapper.contains('div')).toBe(true)
  })
})

What is expected?
Based upon Chai API, example would have:
expect(wrapper.contains('div')).to.be.true
What is actually happening?
Example shows
expect(wrapper.contains('div')).toBe(true)
This style seems consistent with Jest.

This is in a few areas of the API.  Should the documentation show the Chai syntax for expect or the Jest syntax?

The docs should use Jest as an example.
Would anyone like to make a PR replacing chai examples with Jest?

I can do it.


Support object-like key names

I have a key name for a resource that looks like the following:
module.ec2_webserver["www.660.mba"].aws_route53_record.the_dns_record

That's because I'm using for_each over an object in my terraform configuration. I'd like to fix the nameParser regexp to handle this case. I can add some tests too.  But, I don't have many examples of valid key names "in the wild". I'm hoping people see this issue and can tell me some valid key names and I'll fix the nameParser to recognize them all.

Here's a playground example https://play.golang.org/p/iibQ2jLfr3k