quality parameter supported in api.HTMLCanvasElement.toBlob in Safari since version 11

The quality parameter in api.HTMLCanvasElement.toBlob is supported by Safari os and safari iOS as of version 11.
It is updated in MDN from the issue: https://github.com/mdn/browser-compat-data/issues/21770#issuecomment-1875681179
commit: https://github.com/francescorn/browser-compat-data/commit/f88de142160440390fa619319db508dc623dcb0f
Webkit commit (which was committed two months before Safari Version 11's release and when toBlob started being supported in Safari Version 11 https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toBlob):
https://github.com/WebKit/WebKit/commit/d79600d2a2e805ab46022cfa1d550bc90067b01a
@opusonline

Compared to https://github.com/mdn/browser-compat-data/issues/21770#issuecomment-1875146488 the data at https://caniuse.com/mdn-api_htmlcanvaselement_toblob_quality_parameter has been updated (surely by refetching/redeploying the MDN data) by now:

Therefore I believe this issue can be closed :)


Short forms of accounts and content

Account:

Avatar
Name
Reputation
Badge

Content:

Type
Caption
Author (id or full record?)
Payload part (optional)

Short form of account
"avatar"
"name"
"reputation"
"badge"

Short form of transactions (? for optional fields)
"hash" // Hash of tx
"address" // Creator of transaction
"?account": { // Optional because, e.x. incoming money from address not associated with account
    // In format of short account
}
"?intValue" // scores, amount of money, etc
"?shortDescription" // Caption for long reads, piece of text for posts, etc
"?relatedContent": { // For reposts, boosts, etc
    "?shortDescription"
    "hash"
}

Probably also add author for relatedContent?


fixbug:resolve parse errors

Description
When I used eslint9, I wanted to introduce an unplugin auto import eslint that ignored the file and changed the configuration file path to a file ending in. cjs or. mjs. The file was generated successfully, but the project reported an error and could not run. After debugging, it was found that the error was caused by using the JSON. parse method to parse these two formats of files

Linked Issues
Additional context

Same issue for me, hope it can be fixed quickly

Is there anyone who can pay attention to this issue? @antfu @userquin

Close in favor of #510, thanks!


Add alphanumeric keypresses

Added alphanumeric keypresses for things like typing in a search bar

Still learning how to use github correctly, hopefully this is better

Looks good now, thanks!
In the future we'll probably want to refactor the keypresses to cut down on the boilerplate code.


Fail to use LinearTransformationScene by division by zero

Description of bug / unexpected behavior
When I use the (even empty) LinearTransformationScene, division by zero occurs.
Use ManimCommunity today's head. python3.7.5, poetry 1.1.4
The reason is
manum/mobject/coordinate_systems.py:315, the 4th argument,
  self.faded_line_ratio
is 0. Because of the manim/scene/vector_space_scene.py:5498 overwrites with 0 in the CONFIG of LinearTransformationScene.
Fix: set manim/scene/vector_space_scene.py:549 to
 "faded_line_ratio": 1,
instead of
 "faded_line_ratio": 0, # this causes division by zero
generates an expected result. But I am not sure this is the correct way to fix.
Could anyone give me an advice?
Also I am new here and if this is not the right place to ask bugfix, please advise me.
Thanks a lot!
Hitoshi
Expected behavior

Render a LinearTransformationScene (grid).
How to reproduce the issue

Code for reproducing the problem
from manim import *
class TestScene(LinearTransformationScene):
    def construct(self):
        self.wait(5)

Additional media files

No image produced by an error.
Images/GIFs

Logs
Terminal output

(manimce-s9WNd35N-py3.7) hitoshi@kubuntu1604[29]bash % python3 -m manim 00_linear.py  -p  -ql

Traceback (most recent call last):
  File "/home/hitoshi/data/gitdata/manim/community/manim/manim/__main__.py", line 84, in main
    scene.render()
  File "/home/hitoshi/data/gitdata/manim/community/manim/manim/scene/scene.py", line 88, in render
    self.setup()
  File "/home/hitoshi/data/gitdata/manim/community/manim/manim/scene/vector_space_scene.py", line 572, in setup
    self.plane = NumberPlane(**self.foreground_plane_kwargs)
  File "/home/hitoshi/data/gitdata/manim/community/manim/manim/mobject/coordinate_systems.py", line 277, in __init__
    self.init_background_lines()
  File "/home/hitoshi/data/gitdata/manim/community/manim/manim/mobject/coordinate_systems.py", line 290, in init_background_lines
    self.background_lines, self.faded_lines = self.get_lines()
  File "/home/hitoshi/data/gitdata/manim/community/manim/manim/mobject/coordinate_systems.py", line 319, in get_lines
    self.faded_line_ratio,
  File "/home/hitoshi/data/gitdata/manim/community/manim/manim/mobject/coordinate_systems.py", line 357, in get_lines_parallel_to_axis
    step = (1 / dense_freq) * freq
ZeroDivisionError: division by zero

System specifications
System Details

OS (Linux Kubuntu 18.04):
RAM: 8G
Python version (`Python 3.7.5):
Installed modules (provide output from pip list):

Package                       Version
----------------------------- ----------
alabaster                     0.7.12
appdirs                       1.4.4
astroid                       2.4.2
attrs                         20.3.0
Babel                         2.9.0
black                         20.8b1
cairocffi                     1.2.0
certifi                       2020.11.8
cffi                          1.14.4
chardet                       3.0.4
click                         7.1.2
colorama                      0.4.4
colour                        0.1.5
commonmark                    0.9.1
cycler                        0.10.0
docutils                      0.16
guzzle-sphinx-theme           0.7.11
idna                          2.10
imagesize                     1.2.0
importlib-metadata            3.1.0
iniconfig                     1.1.1
isort                         5.6.4
Jinja2                        2.11.2
kiwisolver                    1.3.1
lazy-object-proxy             1.4.3
manimce                       0.1.0
MarkupSafe                    1.1.1
matplotlib                    3.3.3
mccabe                        0.6.1
mypy-extensions               0.4.3
numpy                         1.19.4
packaging                     20.4
pangocairocffi                0.4.0
pangocffi                     0.8.0
pathspec                      0.8.1
Pillow                        8.0.1
pip                           20.2.2
pluggy                        0.13.1
progressbar                   2.5
py                            1.9.0
pycairo                       1.20.0
pycparser                     2.20
pydub                         0.24.1
Pygments                      2.7.2
pylint                        2.6.0
pyparsing                     2.4.7
pytest                        6.1.2
python-dateutil               2.8.1
pytz                          2020.4
recommonmark                  0.6.0
regex                         2020.11.13
requests                      2.25.0
rich                          6.2.0
scipy                         1.5.4
setuptools                    49.6.0
six                           1.15.0
snowballstemmer               2.0.0
Sphinx                        3.3.1
sphinxcontrib-applehelp       1.0.2
sphinxcontrib-devhelp         1.0.2
sphinxcontrib-htmlhelp        1.0.3
sphinxcontrib-jsmath          1.0.1
sphinxcontrib-qthelp          1.0.3
sphinxcontrib-serializinghtml 1.1.4
toml                          0.10.2
tqdm                          4.54.0
typed-ast                     1.4.1
typing-extensions             <IP_ADDRESS>
urllib3                       1.26.2
wheel                         0.35.1
wrapt                         1.12.1
zipp                          3.4.0

LaTeX details

LaTeX distribution (e.g. TeX Live 2020):
Installed LaTeX packages:

No output

FFMPEG
Output of ffmpeg -version:
No output

Additional comments

Hi @yamauchih and thanks for reporting this!
Can you please post the output of your script (the one containing just the call to self.wait(5)) when you make the proposed change from 0 to 1?
Also, @cobordism, since we are getting rid of CONFIG and the problem here seems to be a faulty CONFIG key, could you please check whether we have the same problem on the remove-CONFIG branch?

Thanks for taking care of this. Here is the output.

When the CONFIG in class LinearTransformationScene,
"faded_line_ratio": 0,

(manimce-s9WNd35N-py3.7) hitoshi@[13]bash % python3 -m manim 00_linear.py -p -ql

Traceback (most recent call last):
  File "/home/hitoshi/data/gitdata/manim/community/manim/manim/__main__.py", line 84, in main
    scene.render()
  File "/home/hitoshi/data/gitdata/manim/community/manim/manim/scene/scene.py", line 88, in render
    self.setup()
  File "/home/hitoshi/data/gitdata/manim/community/manim/manim/scene/vector_space_scene.py", line 572, in setup
    self.plane = NumberPlane(**self.foreground_plane_kwargs)
  File "/home/hitoshi/data/gitdata/manim/community/manim/manim/mobject/coordinate_systems.py", line 277, in __init__
    self.init_background_lines()
  File "/home/hitoshi/data/gitdata/manim/community/manim/manim/mobject/coordinate_systems.py", line 290, in init_background_lines
    self.background_lines, self.faded_lines = self.get_lines()
  File "/home/hitoshi/data/gitdata/manim/community/manim/manim/mobject/coordinate_systems.py", line 319, in get_lines
    self.faded_line_ratio,
  File "/home/hitoshi/data/gitdata/manim/community/manim/manim/mobject/coordinate_systems.py", line 357, in get_lines_parallel_to_axis
    step = (1 / dense_freq) * freq
ZeroDivisionError: division by zero

When the CONFIG in class LinearTransformationScene,
"faded_line_ratio": 1,

(manimce-s9WNd35N-py3.7) hitoshi@[14]bash % python3 -m manim 00_linear.py -p -ql
[11/29/20 23:19:51] INFO     Animation 0 : Using cached data (hash :                                  caching.py:41
<PHONE_NUMBER>_2874490763_2253047108)
[11/29/20 23:19:53] INFO                                                                   scene_file_writer.py:562
                             File ready at /home/hitoshi/data/gitdata/ka_video/math/202011
                             18_bayes_manim/media/videos/00_linear/480p15/TestScene.mp4

                    INFO     Rendered TestScene                                                         scene.py:96
                             Played 1 animations

Thanks! I meant if you could please show us the video or image that you get in the second instance (with faded_line_ratio=1) :slightly_smiling_face: Does it show what you expect it to show? Have you been able to otherwise use LinearTransformationScene with no changes other than setting faded_line_ratio to 1?

Yes, when faded_line_ratio=1, the result is expected (when faded_line_ratio=0, no result due to the error.) Here is the output image (this time: python3 -m manim 00_linear.py  -pi -ql, use -i option to get a gif image.)

Thank you! In that case, I think the best way to fix this is to add this modification to the ongoing PR that removes CONFIG. @cobordism

I will add faded_line_ratio=1 to the other PR

Hi @leotrs ,
Shall I need to do any action? I am not familiar with the process.
Thanks!

@yamauchih
You do not need to do anything.
Leotrs and I were in the middle of removing every single CONFIG dictionary from manim... and since the error you found was in a CONFIG dictionary, we decided to incorporate your fix into our work.
I have just added your fix here:
https://github.com/ManimCommunity/manim/pull/783/commits/90dae2afa83ab392f01fade924cf6ec1f7a8b714
As soon as PR 783 has been merged into manim master, the problem should be solved.

Hi @cobordism
I see. Thanks a lot!


Update node version to latest LTS

Updated netlify.toml, Node 2.11.0 -> Node 2.17.0 - latest as of 21/08/2024.
See the official Nodejs blog to know more about the new features included in this release.

/area web-development

/approve
Thanks for bumping this Node version.


[C++] how to stream position information from UAV?

Hey,
I want to make a stream of Position to use for eg. turning it into TargetLocation, so one drone will go after other. How to do that?

Have you considered just using the existing FollowMe mode? https://mavsdk.mavlink.io/develop/en/examples/follow_me.html
That only works for multicopters, but almost certainly does what you want if the multicopter is your desired vehicle.

PS The area is primarily for bugs/enhancement requests. For "help" see https://mavsdk.mavlink.io/develop/en/#getting-help

You can use offboard control to command a drone to a place:
https://mavsdk.mavlink.io/develop/en/api_reference/classmavsdk_1_1_offboard.html
or goto:
https://mavsdk.mavlink.io/develop/en/api_reference/classmavsdk_1_1_action.html#classmavsdk_1_1_action_1afb3546fa994357e491816f2032716818


resolve MembersToExpand projection issue with latest AutoMapper

Summary of the changes (Less than 80 chars)
In latest versions of AutoMapper (11+) there are changes on how MembersToExpand works which makes it incompatible with how rest of HotChocolate.Data builds Expression Trees, this PR should address this issue by constructing the Expressions separately.
Closes #bugnumber (in this specific format)

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Mike Mao seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


bug:  LinkError: WebAssembly.instantiate(): Import #4 module="runtime" function="printDebug" error: function import requires a callable

See fail here: https://github.com/semaphore-protocol/semaphore/actions/runs/11344147674/job/31548268406

This is actually what I see as a snarkjs bug that occurs with the new Circom 2.2.0
In that build, the "setup Circom" step uses the latest Circom version binary available.
I fixed this last night on circuitscan by copying (and changing commonjs to module export syntax) the witness_calculator.js from a circom 2.2.0 build output. It works for circom 2.2.0 as well as earlier versions
https://github.com/circuitscan/circuitscan/commit/1e554e3b5ce8904f7e34a4d62b80ae29eb5765f3

Regarding circom 2.2.0 and their decision to change the default optimization to 1... :rofl: so much for my recent PR...
I'm considering making another PR that just omits optimization argument if it's not specified in the circomkit.json so it goes with whatever is default on the compiler.

This is actually what I see as a snarkjs bug that occurs with the new Circom 2.2.0

ohhh, thank you for this info! had no idea what was the bug so far... People using snarkjs should have failures all around on this then, right?

Regarding circom 2.2.0 and their decision to change the default optimization to 1... 🤣 so much for my recent PR...
I'm considering making another PR that just omits optimization argument if it's not specified in the circomkit.json so it goes with whatever is default on the compiler.

I think this is the correct approach for this as well.

ohhh, thank you for this info! had no idea what was the bug so far... People using snarkjs should have failures all around on this then, right?

I believe so, I'll check through it later and submit an issue/PR on snarkjs.

Here is a related issue: https://github.com/iden3/circom/issues/308
kudos to @cedoor

Here is a related issue: iden3/circom#308
kudos to @cedoor

Ah ok, replied there. It looks like the fix is already waiting to be merged: https://github.com/iden3/circom_runtime/pull/117
Snarkjs was also already awaiting a PR for bumping that dependency to the latest version, it will have to be bumped further. https://github.com/iden3/snarkjs/pull/526

Hi @erhant @numtel ! We've just released snarkjs v0.7.5 with the fix.

Thank you for the notice!


 The partial output of resolvectl status shows:
...
Link 2 (enp0s3)
      Current Scopes: DNS
DefaultRoute setting: yes
       LLMNR setting: yes
MulticastDNS setting: no
  DNSOverTLS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
  Current DNS Server: <IP_ADDRESS>
         DNS Servers: <IP_ADDRESS>
                      <IP_ADDRESS>
          DNS Domain: yaocm.id.au
...

This is temporarily resolved through:
sudo resolvectl dns enp0s3 <IP_ADDRESS>

Solution is confirmed:
root@auburn:~# resolvectl query goldengate1.yaocm.id.au
goldengate1.yaocm.id.au: <IP_ADDRESS>         -- link: enp0s3

-- Information acquired via protocol DNS in 29.6ms.
-- Data is authenticated: no

This issue was erroneously raised as issue #20 in a different repository.


Make update_execution() atomic

Making update_execution() atomic to avoid concurrent updates causing inconsistency.
In the below screenshot two concurrent updates to the execution object resulted in inconsistent data where overall execution is set to running, but the log field depicts the execution had succeeded.

How did this happen?
Two interleaved update_execution() can cause this.

P1
P2

liveaction.status = running
liveaction.status = succeeded

execution.status = running
execution.status = running

if condition is not valid. Move forward.
if condition is not valid. Move forward.

if condition is not valid. No log is pushed
if condition is valid. succeeded log is pushed

Action update happens

Action update happens

After the above interleaved execution, P1 will overwrite overall execution status (succeeded set by P2) to running.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: khushboobhatia01:x: armabYou have signed the CLA already but the status is still pending? Let us recheck it.

@cognifloyd All the tests are passing now. Could you please review and merge the request? Thanks

I remember there is another PR that is more involved related to changing the behavior about st2workflowengine in https://github.com/StackStorm/st2/pull/5367.
This one looks like an easy hotfix, tests are good and no blockers here. It would be really nice if we could include it for the v3.6.0.
@khushboobhatia01 Could you please include the Changelog record as well for this PR to make it complete?


Add step to update CHANGELOG in publishing.md

ah, woops, sorry i missed that check box! thanks for fixing/merging!


Source for ShareReplay accidentally re-introduced?

I just noticed that the source for shareReplay still exists in src/operators/shareReplay.ts. This was supposed to be removed in d0adf57fe2ac18736ee1b6e63e98d87108f70b8c, wasn't it? e1966574715bc526c4c0da9262699187d1a7fbcb seems to re-introduce it. Maybe a merge gone wrong there?

Good catch. I'll remove it.

I think this can be closed now. Please freely reopen if there's necessary task remains.

Why were this members removed.  How to i get the same behaviour with auto connect.  I don't have to have to call connect every time I make a subscription because I don't know my callers

@sbabeal you can achieve the same behavior by calling source.publishReplay().refCount(). The share operators were removed to highlight the fact that the old share operator behaviors don't support retrying or repeating.

Let me give it a try.  When I moved over to publishReplay(), the code running under the subscription never gets called.
const connectionObservable = rx.Observable.create((observer: rx.Observer) => {
writeToLog("creating new connection for " + url);
const conn = new SignalRConnection(url);
observer.next(conn);
// need to add disconnection logic here.
}).publishReplay(1);
So when I call connectionObservable.subscribe( x => ….) the code in yellow never gets run.
If I remove publishReplay(1).  Then it works as expected.  My issue is that the next subscriber doesn’t get the SignalRConnection since its was already published.
I’ll write back in a second to let you know if it worked.
-Brandt
From: Paul Taylor<EMAIL_ADDRESS>Sent: Wednesday, February 17, 2016 8:16 PM
To: ReactiveX/RxJS<EMAIL_ADDRESS>Cc: Brandt Beal<EMAIL_ADDRESS>Subject: Re: [RxJS] Source for ShareReplay accidentally re-introduced? (#710)
@sbabealhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_sbabeal&d=CwMCaQ&c=uGuXJ43KPkPWEl2imVFDmZQlhQUET7pVRA2PDIOxgqw&r=Mo1qRXShQ_F6v4wFHj1oKQ&m=2dZayngCjjejIGVa2ePfrPr4GtyHbBxx-YPnq9RmsCM&s=DiqmwkTZljba3kMLC5xFRoMswAwuveXdwXPkuM2p-eY&e= you can achieve the same behavior by calling source.publishReplay().refCount(). The share operators were removed to highlight the fact that the old share operator behaviors don't support retrying or repeating.
—
Reply to this email directly or view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_ReactiveX_RxJS_issues_710-23issuecomment-2D185510666&d=CwMCaQ&c=uGuXJ43KPkPWEl2imVFDmZQlhQUET7pVRA2PDIOxgqw&r=Mo1qRXShQ_F6v4wFHj1oKQ&m=2dZayngCjjejIGVa2ePfrPr4GtyHbBxx-YPnq9RmsCM&s=xaZsdrev_yL4BXa1XzahuvthRKbi10JRjeO3mkQ78NA&e=.

Dude you’re awesome!!! Works perfectly.  Thanks
-Brandt
From: Paul Taylor<EMAIL_ADDRESS>Sent: Wednesday, February 17, 2016 8:16 PM
To: ReactiveX/RxJS<EMAIL_ADDRESS>Cc: Brandt Beal<EMAIL_ADDRESS>Subject: Re: [RxJS] Source for ShareReplay accidentally re-introduced? (#710)
@sbabealhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_sbabeal&d=CwMCaQ&c=uGuXJ43KPkPWEl2imVFDmZQlhQUET7pVRA2PDIOxgqw&r=Mo1qRXShQ_F6v4wFHj1oKQ&m=2dZayngCjjejIGVa2ePfrPr4GtyHbBxx-YPnq9RmsCM&s=DiqmwkTZljba3kMLC5xFRoMswAwuveXdwXPkuM2p-eY&e= you can achieve the same behavior by calling source.publishReplay().refCount(). The share operators were removed to highlight the fact that the old share operator behaviors don't support retrying or repeating.
—
Reply to this email directly or view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_ReactiveX_RxJS_issues_710-23issuecomment-2D185510666&d=CwMCaQ&c=uGuXJ43KPkPWEl2imVFDmZQlhQUET7pVRA2PDIOxgqw&r=Mo1qRXShQ_F6v4wFHj1oKQ&m=2dZayngCjjejIGVa2ePfrPr4GtyHbBxx-YPnq9RmsCM&s=xaZsdrev_yL4BXa1XzahuvthRKbi10JRjeO3mkQ78NA&e=.


Navbar custom

Fix navbar issues with Safari/Iphone

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


更新layout模板

更新layout模板，以支持在打包后在github的page中使用

支持通过base_url来修改css的路径
支持通过base_url来修改js的路径
支持通过base_url来修改navbar和sidebar中的路径

Hey, thanks a lot for submitting this PR, there is a lot of good stuff in here but i can't merge it to the main branch as it contains some thing that are not suited for the main branch like pnpm.lock file and removed some english words to replace with chinese (i hope i'm not mistaking on this one if it's the case, I apologize...) which can't be understood by most people.
Still thanks for your work on improving the blow theme !!


assignPublicIp to be false

https://github.com/basti-app/basti/blob/fcc1dd09ed54489303bcb7caf1bb3552914f61f7/packages/basti/src/bastion/create-bastion.ts#L204
assignPublicIp: true
I think this is wrong by design and should at least be configurable. A public ip is really not required with ssm. The only thing the instance needs to do is to connect to the amazonaws.com domains via VPC Endpoints, or a through a connection with the internet and this can also work well via a NAT GW or a Transit GW.

Hi @maartenvanderhoef and thank you for pointing this out! The reason I enabled public IPs by default is that setting up Basti instance in a public subnet is expected to be the most common use case for the tool. The public IP is indeed not needed in the situations you described. The easiest solution would be to make it configurable (and enabled by default) but I'd also try to come up with a more automated solution that would determine if the option needs to be enabled 🤔
I'm currently having a long summer vacation, so I will only be able to focus on the problem in a couple of weeks. Meanwhile, any ideas are very much appreciated!

Hi @maartenvanderhoef, @m-keil, @jrobbins-LiveData, @georg-ikegps, @davidski (all who reacted to this issue) 👋
With<EMAIL_ADDRESS>(and basti-cdk@1.1.0), you can now disable the automatic public IP assignment with the --bastion-assign-public-ip false CLI option 🚀


Pushing to remote failed

[I'm supposed to describe steps to replicate my issue here and if I don't do that, I understand that my issue will be probably ignored.]

Brackets 1.3.0-16022 (win), Git 1.9.5.msysgit.1 & Brackets-Git 0.14.27
Pushing to remote failed
Error: cmd-spawn-timeout: C:\Program Files (x86)\Git\cmd\git.exe push --porcelain --progress --set-upstream origin micro_site

call: git push --porcelain --progress --set-upstream origin micro_site
Error: cmd-spawn-timeout: C:\Program Files (x86)\Git\cmd\git.exe push --porcelain --progress --set-upstream origin micro_site
    at timeoutPromise (file:///C:/Users/pankaj%20agrawal/AppData/Roaming/Brackets/extensions/user/zaggino.brackets-git/src/Cli.js:219:27)
    at file:///C:/Users/pankaj%20agrawal/AppData/Roaming/Brackets/extensions/user/zaggino.brackets-git/src/Cli.js:262:33

#1031


screenshots should be readable size.

Course Details
IBM Learning Platform
Description
i'm taking the course in pdf format.
while the text is always readable,
the screenshots are getting (probably automatically)
zoomed at a hard to read font size.
while i think text should be accessible (copiable)
on a text document, it could be settled to be readable at least.
for portrait sized screenshots ,
the pages layout may probably be modified,
so that the image would render
aside the subsequent  text paragraph.
Reproduction Steps
browse the pdf on a computer, not a TV
Additional Context
No response

This might help you
https://bit.ly/3yXXzbX
Passcode: d5kp14h
You must have gcc compiler installed


Using a Kubernetes service account token to authenticate to the Kubernetes cluster running an action

I figured I would run the self hosted runner using a service account and give that service account the required RBAC to be able to deploy into the same cluster running the self hosted runner:
apiVersion: actions.summerwind.dev/v1alpha1
kind: RunnerDeployment
metadata:
  name: con2
spec:
  replicas: 2
  template:
    spec:
      organization: con2
      image: summerwind/actions-runner-dind
      dockerdWithinRunnerContainer: true
      serviceAccountName: actions-runner
      automountServiceAccountToken: true
      volumeMounts:
       - mountPath: /runner
         name: runner
      volumes:
       - emptyDir: {}
         name: runner

---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: actions-runner

---
# NOTE: this policy is still WIP, we're not even there yet
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: actions-runner
rules:
- apiGroups: [""] # "" indicates the core API group
  resources: ["deployments", "services"]
  verbs: ["get", "watch", "list", "update", "delete"]
- apiGroups: ["networking.k8s.io/v1", "extensions/v1"]
  resources: ["ingresses"]
  verbs: ["get", "watch", "list", "update", "delete"]

---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: actions-runner
subjects:
- kind: ServiceAccount
  name: default
  namespace: kube-system
roleRef:
  kind: ClusterRole
  name: actions-runner
  apiGroup: rbac.authorization.k8s.io

However, this is not yet enough to convey Kubernetes authentication to the actions. There's so many layers of containers here at play it's a sandockerwich!
The action runners have a /var/run/secrets/kubernetes.io/serviceaccount from actions-runner-token-s9s8w (ro) volume mount. How would I go about pushing this down to actions running on the self hosted runner?
Example workflow https://github.com/con2/redirects/blob/main/.github/workflows/deploy.yaml
Using this action https://github.com/con2/emskaffolden-action
Helm chart version actions-runner-controller-0.6.1.

Hi @japsu ! Out of curiosity, what is it exactly you are trying to achieve? This sounds interesting :)

I have a Kubernetes cluster running behind a firewall. I'm trying to deploy to it using Github Actions.
One obvious way to go about this would be to open the k8s API to GitHub and put a kubeconfig in a secret, but that feels insecure.
Instead, I figured I could run a self hosted runner in the cluster, authenticate it to the cluster using a service account token and authorize it using RBAC.
But it seems it's not enough to authenticate the runner pods, because they run actions in separate containers (DinD?). I would need to get KUBERNETES_SERVICE_HOST and KUBERNETES_SERVICE_PORT env vars and /var/run/secrets/kubernetes.io/serviceaccount directory mounted inside the action.

Also this isn't particular to con2/emskaffolden or GoogleContainerTools/skaffold, emskaffolden runs skaffold which runs kubectl in the end.

@japsu Hey!

they run actions in separate containers (DinD?)

In the default setup(=dockerWithinRunnerContainer: false), yes.
I believe emskaffolden-action needs to execute docker-run with -v /var/run/secrets/kubernetes.io/serviceaccount:/var/run/secrets/kubernetes.io/serviceaccount, which isn't possible with the docker-based action you're using. Probably you need to rewrite your action in js/typescript.
Another way would be to write a setup-emskaffolden action to install emskaffolden binary onto the runner container and run it via a run step. This results in the workflow executing the command without docker, so that the command is able to access /var/run/secrets/kubernetes.io/serviceaccoun without any gotcha.

Actually I prefer the latter. Here's one of my setup actions for your reference and one from Azure for kubectl.

Didn't think of that approach! I'll try it out. It's a bit involved because emskaffolden is written in Python so it doesn't come as a single file, but I think I can manage it with a virtualenv.

Or I could split it into running emrichen templating a separate action and then just plain kubectl, but then I'd lose skaffold's excellent support for waiting for the deployment to stabilize before reporting success. Then again, I could use https://github.com/marketplace/actions/deploy-to-kubernetes-cluster instead of plain kubectl to do the deplayment and waiting for it to complete. 🤔

@japsu Perhaps you don't even need to struggle with virutalenv? I thought our runner image contains python3 and the runner pod is recreated on each workflow run. You don't need to worry about installing python or some action in a workflow run affecting another workflow run's python environment, if that's your concern.

Yeah, could probably just
- run: pip3 install emskaffolden

though that would get executed on every run. Was thinking if I had a prepackaged virtualenv somewhere, I could copy it over without doing the dependency resolution etc. every time.

Thanks for the pointers! Got the first PoC working:
apiVersion: actions.summerwind.dev/v1alpha1
kind: RunnerDeployment
metadata:
  name: con2
spec:
  replicas: 2
  template:
    spec:
      organization: con2
      image: summerwind/actions-runner-dind
      dockerdWithinRunnerContainer: true
      serviceAccountName: actions-runner
      automountServiceAccountToken: true
      volumeMounts:
       - mountPath: /runner
         name: runner
      volumes:
       - emptyDir: {}
         name: runner

---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: actions-runner

---
# NOTE: this policy is still WIP, we're not even there yet
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: actions-runner
rules:
- apiGroups: ["", "apps", "networking.k8s.io", "extensions"] # "" indicates the core API group
  resources: ["deployments", "services", "configmaps", "secrets", "ingresses"]
  verbs: ["get", "watch", "list", "patch", "update", "delete"]

---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: actions-runner
subjects:
- kind: ServiceAccount
  name: actions-runner
  namespace: actions-runner-system
roleRef:
  kind: ClusterRole
  name: actions-runner
  apiGroup: rbac.authorization.k8s.io

on:
  push:
    branches:
      - main
jobs:
  deploy:
    runs-on: self-hosted
    steps:
      - uses: actions/checkout@v1
      - uses: azure/setup-kubectl@v1
      - uses: con2/emskaffolden-action@main
        with:
          args: -E production
      - run: kubectl apply -f kubernetes/template.compiled.yaml -n redirects

@japsu Awesome! Thanks for sharing ☺

@AndrewFarley Hey! Maybe some additional documentation in README about this would be helpful. I'm not sure if that's a complete solution, given that some people don't read README, some people don't search for relevant issues. But I guess additional doc would be better than nothing.
I'm not sure how this can be integrated into the helm chart. In the end, this is all about creating another ClusterRole and ClusteRoleBinding, ServiceAccount resources of your preference, and referencing it from your RunnerDeployment.
RunnerDeployment is usually managed outside of the actions-runner-controller chart. So you should already have another mechanism to manage anything other than actions-runner-controller. You might be using another custom chart for that, or ArgoCD, or customization. Probably you can just add necessary ClustetRole, ClusterRoleBinding, ServiceAccount definitions there.

Based on your comment and thinking critically on this topic @mumoshu I believe you make an excellent point, I believe you're spot on in that this controller doesn't manage runners, only the controller for runners.
Given that, I would recommend we author a new helm chart, called "actions-runner" or perhaps "actions-runner-deployment" that would be fairly simple and provide an analog for the PoC above and allow further configuration therein.  This, when completed, could be added into this codebase and have various tutorials/examples updated to include usage of this.
If anyone wants to get the ball rolling on this, please do, but if no one gets around to making such a helm chart, I would probably dive into it during some future free / open source time of mine.

@japsu I've added #943 to track possible documentation enhancement for the original issue.
@AndrewFarley I've added #942 for possibility to add chart for managing runners (but controller)
Thanks for your support and feedbacks!


Enh/usability

Codecov Report

Merging #22 into master will decrease coverage by 2.33%.
The diff coverage is 74.54%.

@@            Coverage Diff             @@
##           master      #22      +/-   ##
==========================================
- Coverage   90.72%   88.38%   -2.34%
==========================================
  Files           7        7
  Lines         248      267      +19
==========================================
+ Hits          225      236      +11
- Misses         23       31       +8

Flag
Coverage Δ

#unittests
88.38% <74.54%> (-2.34%)
:arrow_down:

Impacted Files
Coverage Δ

src/KnuthBendix.jl
100.00% <ø> (ø)

src/alphabets.jl
73.21% <0.00%> (-2.72%)
:arrow_down:

src/rewriting.jl
82.92% <0.00%> (ø)

src/words.jl
87.93% <77.41%> (-9.99%)
:arrow_down:

src/kbs1.jl
100.00% <100.00%> (ø)

src/kbs2.jl
100.00% <100.00%> (ø)

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 1d35a0b...885a965. Read the comment docs.


String behavior in (spool) extra fields

Hi,
Firstly thx again for the great work on this project it really helps out a lot for me !
I wanted to make sure that the way strings are treated when used in extra fields is correct.
I found out i had to escape them in order for the api to acept them :
async def add_extra_field(self, entity_type, field_name):
        '''
        Adds a new field to the extra field of the spoolman db
        '''
        response = await self.http_client.post(
            url=f'{self.spoolman_url}/v1/field/{entity_type}/{field_name}',
            body={"name" : field_name, "field_type" : "text", "default_value" : "\"N.A.\""}
        )

When added this way i see it like this in the broswer:

and it does not appear in the spoolman webbrowser interface which hints me to think it might be a desired behavior.

This is not a real problem since i can run with it but it might not be intended.
Thank you in advance for you answer

Yes the value there needs to be json encoded, so in a python environment you would do something like:
body={"name" : field_name, "field_type" : "text", "default_value" : json.dumps("N.A.")}

Thank you very much, I thought so indeed.

@Donkie thanks very much for the response. I'm working with @CooperGerman on this.  Is there a difference between:
data = { .... dict ...}
body=json.dumps(data)

vs.
jason.dumps on each separate dictionary value?


Error in post_gen_project script

I get this error while trying to execute cookiecutter.
Traceback (most recent call last):
  File "C:\Users\aaa\AppData\Local\Temp\tmpg8lvl1vc.py", line 28, in <module>
    delete_license_dir()
  File "C:\Users\aaa\AppData\Local\Temp\tmpg8lvl1vc.py", line 24, in delete_license_dir
    subprocess.run(["rm", "-r", "licenses/"])
  File "C:\Users\aaa\AppData\Local\mambaforge\envs\venv_cookie\lib\subprocess.py", line 505, in run
    with Popen(*popenargs, **kwargs) as process:
  File "C:\Users\aaa\AppData\Local\mambaforge\envs\venv_cookie\lib\subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "C:\Users\aaa\AppData\Local\mambaforge\envs\venv_cookie\lib\subprocess.py", line 1420, in _execute_child
    hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 2] Le fichier spécifié est introuvable
ERROR: Stopping generation because post_gen_project hook script didn't exit successfully
Hook script failed (exit status: 1)

Hello!
Looks like you're trying to run on Windows. And we haven't thoroughly tested the pipeline there..
This error should be fixed now.
Please let us know if you run into some other problems!


model.modelMatrix dosen't appear in model variables in cesium.js

model.modelMarix is not a valid variable on my vscode , if i click on the type modelmatrix isn't in the groups of variables cesiumjs v:1,11
Operating System: windows 10

@luca-moscatelli Are you sure model is an instance of Model? Can you provide a short code sample?

CesiumJS is a big project, so we use GitHub for feature requests and bug tracking exclusively. In the future, please take any questions to the Cesium Forum where there are members of the community and developers from the team who can help. Thanks!


Added Hebrew stop words for language support

Hebrew support :)

@alon7 I think that print_available_languages() in utils.py also needs to be updated: https://github.com/codelucas/newspaper/blob/master/newspaper/utils.py#L328
Other than that looks great to me.

@yprez  Yeah, forgot to commit that file
Fixed it

Amazing!!


Check for undefined and unused Markdown references

I agree that this is a great thing to check, but I don't think it belongs in a link checker. Instead, it belongs in a linter. In fact, DavidAnson/markdownlint checks that any many other things.

I agree that this is a great thing to check, but I don't think it belongs in a link checker. Instead, it belongs in a linter. In fact, DavidAnson/markdownlint checks that any many other things.

I agree too that it may be the role for a linter. Link checker, IMO should only check already syntactically valid links.
However, I tested your test cases on DavidAnson/markdownlint with https://dlaa.me/markdownlint/ and it doesn't seem to be handled. Would be worth making PR on this project if you still need this.
@nex3 would you be ok for us to close this PR?

Sure, go ahead.


Add option: Middle mouse click on taskbar app should close the app

Is your feature request related to a problem? Please describe.
No
Describe the solution you'd like
Add the option to allow middle mouse click on taskbar app icon to shut down the application like how tabs work in the browser.
This would make cut the number of clicks to close an app from the taskbar in half.
Describe alternatives you've considered
There could also be an option to press down CTRL + middle mouse click to close app but keep the original windows middle mouse click for a new app instance, maybe two options?
Additional context
After a long workday with multiple applications running in the taskbar it's quite painful to go through every app, right click and select close. A single tap on the middle mouse button should be enough. In my mind this is a killer feature that should exist in Windows itself already.

To be able to focus on major/current bugs I had to close all issues. The issues section has gotten very messy to a point that I couldn't follow it anymore. Most issues are duplicates, very old or are already fixed/solved. Feel free to reopen this issue if you still have this issue on the latest version of TaskbarX to get my attention. All feature requests have been put in a list here: 💡| Feature requests #870
I hope you understand ❤


Playback #39

Assignee Tasks

[ ] added unit tests (or none needed)
[ ] written relevant docs (or none needed)
[ ] referenced any relevant issues (or none exist)

Guidelines
Please add a description of this Pull Request's motivation, scope, outstanding issues or potential alternatives, reasoning behind the current solution, and any other relevant information for posterity.

Your PR Notes Here

closes #39


Increase interoperability?

Dear @jaspershen , you put up an impressive amount of R packages, congratulations!
I was wondering if you would be maybe interested to increase the interoperability with some of our packages for MS/metabolomics data analysis from RforMassSpectrometry? We are open for contributions and improvements, especially for core functionality. Alternatively, you could also re-use some of the functions we have in [MsCoreUtils] or [MetaboCoreUtils] in your packages, avoiding thus to re-invent the wheel. Also, if you're interested, I would be OK helping you to maybe re-use some of our classes, data representations and concepts in your packages.
Also, some of the data concepts you are providing seem redundant with already existing ones. The mass_dataset seems for example to be very similar to Bioconductor's SummarizedExperiment. Extending that class instead of writing your own class would allow you to focus on functionality specifically for your type of data while you would inherit all already existing functionality with.
Ultimately, all that would increase the interoperability of both package sets, which would then be advantagous/beneficial for the user.

Hi Johannes,
Thank you! Sure, I am very interested in increasing interoperability with your amazing tools (RforMassSpectrometry) with tidymass. I know the SummarizedExperiment class. However, when I developed tidymass, I found this class is not specifically designed for metabolomics data, so some functions may be not OK to use this class. But I also will provide functions to converted my mass_dataset class between SummarizedExperiment and phylosep class (for microbiome data in phylosep package) in the development version of tidymass, so users can also take advantage of the powerful tools which are designed for them.
Anyway, I will replace some function which has been well developed in the amazing RforMassSpectrometry ecosystem, which I don't know before. And I am happy to contribute to and improve the RforMassSpectrometry ecosystem if it is possible! Thank you!

Thanks for your quick reply!
Regarding your mass_dataset - even if SummarizedExperiment does not fully work in your case, maybe extending that object might help? The great advantage is that you would not need to re-implement e.g. subsetting operations and could for example re-use directly functionality that was developed for this type of class. @lgatto has for example developed a QFeatures object that extends Bioconductor's MultiAssayExperiment to fit proteomics data. Maybe something along those lines might also work for your data?
Let me know if you have any questions regarding functionality from our packages or if you have functionality in your packages you think might be good to transfer to our core packages. I'd be more than happy to give you a hand if needed.


Volume Accessory as something other than Light Bulb

Hello - got this working, and it's great. I have one switch (designated as a TV switch) for the Amp power and Input and I have a second switch to control the volume.
I ran into an issue last night where I asked Siri to "set all lights in living room to 80%" - and it turned the volume of the amp up to 80% also!! Is there any way to change that switch to be something else so doesn't set the volume at the same rate as the lights?
Cheers.
-bill

I did see your comment :
"controlType" can be used to change the volume control from a bulb to a fan or a speaker. This can be handy if you don't want to mute your receiver when you say to Siri "Turn on all lights". The speaker type is not yet supported in the Home app, but it is supported in 3rd party home applications like Home+.
I have switched to using the Fan "controlType", so that helps - thanks for that. Any ideas if / when a speaker control type would be available?


Creating b3dm results in loss of original attributes

Hello developer, I would like to convert a GLB model with attribute information to b3DM format, but after the conversion is completed, I found that the b3DM model is missing attribute information. I would like to know how to remedy this. Here is my input command:
npx 3d-tiles-tools glbToB3dm -i ./test.glb -o ./test.b3dm
I also used to convert glb to obj before doing this, but the result still did not contain any attribute information，I have reviewed relevant materials and found that two additional tables are needed to store attribute information and quantity information：batchtable and featuretable.And the batch_ID attribute needs to be added to the model to be converted,I don't quite understand how to operate it. If you could answer, I would greatly appreciate it. Thank you
This is the converted attribute information, and it can be seen that the data has been lost：

I might need a few more details about the goal that you are trying to accomplish.
But first, a few general remarks:
The B3DM format is considered to be a "legacy" format. There should hardly be a reason to convert a GLB file into B3DM. Nearly everything that can be done with B3DM can also be done with GLB (in doubt, using some of the glTF Metadata extensions).
The glbToB3dm command does not involve a lot of functionality in that regard. It is not really a "conversion" in the most narrow sense. It only creates a B3DM with an empty batch- and feature table, and the GLB (Binary glTF) appended as the actual payload, as shown in the diagram of the specification.

Regarding your specific question: I'm wondering what 'attribute information' you are referring to. (That's hard to guess from the screenshot). If the glTF/GLB contains additional data in vertex attributes, then this data should be transported to CesiumJS as it is - but CesiumJS will not necessarily know what to do with this data. If the glTF/GLB contains additional data in form of the glTF Metadata Extensions (like EXT_structural_metadata, then it might be that CesiumJS will not process this data any more when the GLB is wrapped into a B3DM. In any case, the glbToB3dm will not convert this data into a batch table or so.
If you could provide an example GLB file and/or more detailed information about your goal, then we can investigate how this goal could be accomplished.

我可能需要更多关于你试图实现的目标的细节。
但首先，我们要说几句一般性的话：
B3DM 格式被认为是“传统”格式。几乎没有理由将 GLB 文件转换为 B3DM。几乎所有可以用 B3DM 完成的事情也可以用 GLB 完成（毫无疑问，使用一些 glTF 元数据扩展）。
该命令在这方面不涉及很多功能。这并不是最狭义的“转变”。它仅创建一个具有空批处理和特征表的 B3DM，并将 GLB（二进制 glTF）附加为实际有效负载，如规范图所示。glbToB3dm
关于您的具体问题：我想知道您指的是什么“属性信息”。（从截图中很难猜到）。如果 glTF/GLB 在_顶点属性_中包含其他数据，则这些数据应按原样传输到 CesiumJS - 但 CesiumJS 不一定知道如何处理这些数据。如果 glTF/GLB 包含 glTF 元数据扩展形式的其他数据（如 ，那么当 GLB 包装到 B3DM 中时，CesiumJS 可能不会再处理这些数据。在任何情况下，都不会将此数据转换为批处理表左右。glbToB3dm
如果您能提供一个示例 GLB 文件和/或有关您的目标的更多详细信息，那么我们可以研究如何实现此目标。

I might need a few more details about the goal that you are trying to accomplish.
But first, a few general remarks:
The B3DM format is considered to be a "legacy" format. There should hardly be a reason to convert a GLB file into B3DM. Nearly everything that can be done with B3DM can also be done with GLB (in doubt, using some of the glTF Metadata extensions).
The glbToB3dm command does not involve a lot of functionality in that regard. It is not really a "conversion" in the most narrow sense. It only creates a B3DM with an empty batch- and feature table, and the GLB (Binary glTF) appended as the actual payload, as shown in the diagram of the specification.
Regarding your specific question: I'm wondering what 'attribute information' you are referring to. (That's hard to guess from the screenshot). If the glTF/GLB contains additional data in vertex attributes, then this data should be transported to CesiumJS as it is - but CesiumJS will not necessarily know what to do with this data. If the glTF/GLB contains additional data in form of the glTF Metadata Extensions (like EXT_structural_metadata, then it might be that CesiumJS will not process this data any more when the GLB is wrapped into a B3DM. In any case, the glbToB3dm will not convert this data into a batch table or so.
If you could provide an example GLB file and/or more detailed information about your goal, then we can investigate how this goal could be accomplished.

Thank you for your reply. As you said, a complete b3dm requires a combination of featuretable, batchtable, and glb. The commands I execute also lack featuretable and batchtable, so the program uses the default blank table. Therefore, the attribute information I save in batchtable cannot correspond to glb. What should I do next to bind the attributes in the batchtable to GLB, thus forming a complete b3DM? Thank you. Here are my GLB model and the batchtable and featuretable tables (the data in the tables was written by myself, I think it should be correct)
Uploading barrel.b3dm.batchTable.zip…

Excuse me, I used Threejs for model presentation and did not use Cesiumjs

I looks like the Upload did not work.
When you already have a batch table and a feature table (as JSON), and want to combine this with the GLB, then this might be possible with a small, custom script that uses the 3D Tiles Tools as a library. (But note that the GLB will likely have to contain a Batch ID attribute, so it's hard to say whether the result is what you'd expect).

I'm sorry, there is no corresponding id attribute in the glb I contain. If I need to add it one by one, I think it will be very time-consuming. If I convert the glb file to obj format, do I still need to add the id attribute. Here are the files that I failed to upload before.
barrel.b3dm.batchTable.zip

Fortunately, the GLB already does contain the batch ID data - here is one of the meshes of the GLB file:
      "name" : "Barrel.013_Cylinder.021",
      "primitives" : [
        {
          "attributes" : {
            "POSITION" : 0,
            "NORMAL" : 1,
            "TEXCOORD_0" : 2,
            "_BATCHID" : 3
          },
          "indices" : 4,
          "material" : 0,
          "mode" : 4
        }
      ]

(It looks like this GLB was actually extracted from an existing B3DM file. If your goal is to modify the data that is contained in the Batch- or Feature Table of an existing B3DM file, then this should be possible, relatively easily, with the 3D Tiles Tools as well...)

Note: The GLB file is actually invalid. When you drag-and-drop this file into the glTF Validator at https://github.khronos.org/glTF-Validator/ , then it will report several errors.
For now, it looks like it could still work, but ... there are no guarantees that this will work in all cases. There might be rendering errors when you try to load invalid data.

However, you can create a new B3DM file from this. And for that, you can use the 3D Tiles Tools as a library. Technically, it would be possible to do this with the NPM package - but this is not officially released as a library, so I'll summarize the process here, based on the Developer Setup:

Clone this repository and run npm install, as described in the Developer Setup

Add the following file as CreateB3dm.ts in the root directory:

import fs from "fs";
import { TileFormats } from "./src";

async function run() {
  const glbFileName = "./data/issue115/barrel.b3dm.glb";
  const featureTableFileName = "./data/issue115/barrel.b3dm.featureTable.json";
  const batchTableFileName = "./data/issue115/barrel.b3dm.batchTable.json";
  const b3dmFileName = "./data/issue115/barrel-RESULT.b3dm";

  const glbData = fs.readFileSync(glbFileName);
  const featureTableJson = JSON.parse(
    fs.readFileSync(featureTableFileName).toString()
  );
  const featureTableBinary = undefined;
  const batchTableJson = JSON.parse(
    fs.readFileSync(batchTableFileName).toString()
  );
  const batchTableBinary = undefined;
  const b3dmTileData = TileFormats.createB3dmTileDataFromGlb(
    glbData,
    featureTableJson,
    featureTableBinary,
    batchTableJson,
    batchTableBinary
  );
  const b3dmData = TileFormats.createTileDataBuffer(b3dmTileData);
  fs.writeFileSync(b3dmFileName, b3dmData);
}
run();

(Adjust the directories as needed)

Run npx ts-node .\CreateB3dm.ts

This will read the files that you have provided in the ZIP file, and create new B3DM data from these files, and write it out as barrel-RESULT.b3dm.

You can then, for example, use the createTilesetJson command of the 3D Tiles Tools to create a small tileset JSON from this, and load it into a simple sandcastle. The result will be the following:

Showing that it does load the data, and it shows the batch table data for each clicked barrel.
Here is the result (including the tileset JSON and the sandcastle) just for convenience:
issue115_result.zip

Fortunately, the GLB already does contain the batch ID data - here is one of the meshes of the GLB file:
      "name" : "Barrel.013_Cylinder.021",
      "primitives" : [
        {
          "attributes" : {
            "POSITION" : 0,
            "NORMAL" : 1,
            "TEXCOORD_0" : 2,
            "_BATCHID" : 3
          },
          "indices" : 4,
          "material" : 0,
          "mode" : 4
        }
      ]

(It looks like this GLB was actually extracted from an existing B3DM file. If your goal is to modify the data that is contained in the Batch- or Feature Table of an existing B3DM file, then this should be possible, relatively easily, with the 3D Tiles Tools as well...)

Note: The GLB file is actually invalid. When you drag-and-drop this file into the glTF Validator at https://github.khronos.org/glTF-Validator/ , then it will report several errors.
For now, it looks like it could still work, but ... there are no guarantees that this will work in all cases. There might be rendering errors when you try to load invalid data.

However, you can create a new B3DM file from this. And for that, you can use the 3D Tiles Tools as a library. Technically, it would be possible to do this with the NPM package - but this is not officially released as a library, so I'll summarize the process here, based on the Developer Setup:

Clone this repository and run npm install, as described in the Developer Setup

Add the following file as CreateB3dm.ts in the root directory:

import fs from "fs";
import { TileFormats } from "./src";

async function run() {
  const glbFileName = "./data/issue115/barrel.b3dm.glb";
  const featureTableFileName = "./data/issue115/barrel.b3dm.featureTable.json";
  const batchTableFileName = "./data/issue115/barrel.b3dm.batchTable.json";
  const b3dmFileName = "./data/issue115/barrel-RESULT.b3dm";

  const glbData = fs.readFileSync(glbFileName);
  const featureTableJson = JSON.parse(
    fs.readFileSync(featureTableFileName).toString()
  );
  const featureTableBinary = undefined;
  const batchTableJson = JSON.parse(
    fs.readFileSync(batchTableFileName).toString()
  );
  const batchTableBinary = undefined;
  const b3dmTileData = TileFormats.createB3dmTileDataFromGlb(
    glbData,
    featureTableJson,
    featureTableBinary,
    batchTableJson,
    batchTableBinary
  );
  const b3dmData = TileFormats.createTileDataBuffer(b3dmTileData);
  fs.writeFileSync(b3dmFileName, b3dmData);
}
run();

(Adjust the directories as needed)

Run npx ts-node .\CreateB3dm.ts

This will read the files that you have provided in the ZIP file, and create new B3DM data from these files, and write it out as barrel-RESULT.b3dm.

You can then, for example, use the createTilesetJson command of the 3D Tiles Tools to create a small tileset JSON from this, and load it into a simple sandcastle. The result will be the following:

Showing that it does load the data, and it shows the batch table data for each clicked barrel.
Here is the result (including the tileset JSON and the sandcastle) just for convenience:
issue115_result.zip

Yes, you guessed it right. This is indeed what I extracted from a b3DM file. Thank you for sending the file. I am planning to use Threejs to implement this process. Do you have any better insights on how to add the corresponding batchid in the glb file? Of course, I am still very grateful for your help!

The Batch ID already is contained in the GLB file (because it was apparently just extracted from a B3DM)
If such a GLB file does not contain a Batch ID, then you'd have to add this manually, and that could be pretty difficult, depending on the model. You could try to do this with glTF-Transform or with the 3D Tiles Tools or with Blender, but it would involve some coding and manual work in all cases...
The reason for my question (whether you extracted the GLB from an existing B3DM file) mainly was that you could also do this completely programmatically: The code that I showed you uses the createB3dmTileDataFromGlb to create the B3DM data from the given GLB and the batch- and feature table. But when you already have a B3DM file, then you could use TileFormats.readTileData(b3dmDataBuffer) to read the tile data, then directly modify the batch- and feature table, and write out the modified B3DM data, without having to write the GLB- and JSON files. It could basically happen "in one step". But the details here will probably depend on your intended workflow.

I assume that there are no more actionable items here right now. If there are further questions, re-open this (or open a new) issue.


Hacky support for fn-like proc macros

It turns out that this is all that's needed to get something like this working:
#[proc_macro]
pub fn function_like_macro(_args: TokenStream) -> TokenStream {
    TokenStream::from_str("fn fn_success() {}").unwrap()
}

function_like_macro!();

fn f() {
    fn_success();
}

The drawback is that it also makes this work, because there is no distinction between different proc macro kinds in the rest of r-a:
#[derive(function_like_macro)]
struct S {}

fn f() {
    fn_success();
}

Another issue is that it seems to panic, and then panic, when using this on the rustc code base, due to some issue in the inscrutable proc macro bridge code.

bors r+


The top10% comparator is not getting selected by the esteemer

The top 10% social better template is not getting selected by the esteemer even when the data clearly points to top 10%.
Performance data to test:
[5,"GLU01","2023-01-01",80,20,100,85,88,96,90],
[5,"GLU01","2023-02-01",80,20,100,85,88,96,90],
[5,"GLU01","2023-03-01",80,20,100,85,88,96,90],
[5,"GLU01","2023-04-01",80,20,100,85,88,96,90],
[5,"GLU01","2023-05-01",80,20,100,85,88,96,90],
[5,"GLU01","2023-06-01",80,20,100,85,88,96,90],
[5,"GLU01","2023-07-01",80,20,100,85,88,96,90],
[5,"GLU01","2023-08-01",80,20,100,85,88,96,90],
[5,"GLU01","2023-09-01",80,20,100,85,88,96,90],
[5,"GLU01","2023-10-01",80,20,100,85,88,96,90],
[5,"GLU01","2023-11-01",80,20,100,85,88,96,90],
[5,"GLU01","2023-12-01",96,16,100,85,88,96,90],
  [5,"TOC01","2023-01-01",85,15,100,85,88,96,90],
  [5,"TOC01","2023-02-01",85,15,100,85,88,96,90],
  [5,"TOC01","2023-03-01",85,15,100,85,88,96,90],
  [5,"TOC01","2023-04-01",85,15,100,85,88,96,90],
  [5,"TOC01","2023-05-01",85,15,100,85,88,96,90],
  [5,"TOC01","2023-06-01",85,15,100,85,88,96,90],
  [5,"TOC01","2023-07-01",85,15,100,85,88,96,90],
  [5,"TOC01","2023-08-01",85,15,100,85,88,96,90],
  [5,"TOC01","2023-09-01",85,15,100,85,88,96,90],
  [5,"TOC01","2023-10-01",85,15,100,85,88,96,90],
  [5,"TOC01","2023-11-01",85,15,100,85,88,96,90],
  [5,"TOC01","2023-12-01",96,9,100,85,88,96,90]

Reformatted
      [5,"GLU01","2023-01-01",80,20,100,85,88,96,90],
      [5,"GLU01","2023-02-01",80,20,100,85,88,96,90],
      [5,"GLU01","2023-03-01",80,20,100,85,88,96,90],
      [5,"GLU01","2023-04-01",80,20,100,85,88,96,90],
      [5,"GLU01","2023-05-01",80,20,100,85,88,96,90],
      [5,"GLU01","2023-06-01",80,20,100,85,88,96,90],
      [5,"GLU01","2023-07-01",80,20,100,85,88,96,90],
      [5,"GLU01","2023-08-01",80,20,100,85,88,96,90],
      [5,"GLU01","2023-09-01",80,20,100,85,88,96,90],
      [5,"GLU01","2023-10-01",80,20,100,85,88,96,90],
      [5,"GLU01","2023-11-01",80,20,100,85,88,96,90],
      [5,"GLU01","2023-12-01",96,16,100,85,88,96,90],

      [5,"TOC01","2023-01-01",85,15,100,85,88,96,90],
      [5,"TOC01","2023-02-01",85,15,100,85,88,96,90],
      [5,"TOC01","2023-03-01",85,15,100,85,88,96,90],
      [5,"TOC01","2023-04-01",85,15,100,85,88,96,90],
      [5,"TOC01","2023-05-01",85,15,100,85,88,96,90],
      [5,"TOC01","2023-06-01",85,15,100,85,88,96,90],
      [5,"TOC01","2023-07-01",85,15,100,85,88,96,90],
      [5,"TOC01","2023-08-01",85,15,100,85,88,96,90],
      [5,"TOC01","2023-09-01",85,15,100,85,88,96,90],
      [5,"TOC01","2023-10-01",85,15,100,85,88,96,90],
      [5,"TOC01","2023-11-01",85,15,100,85,88,96,90],
      [5,"TOC01","2023-12-01",96,9,100,85,88,96,90]

After some testing, was able to both reproduce the test having affinity for in_top_25%, but was also able to get top_performer message template to be selected consistently.
Using the older style of input message setup for preferences and history I get the desired behavior:

    "History":{
    },
    "Preferences":{
      "Utilities": {
      "Message_Format":
        {
          "1": "0.0",
          "2": "0.1",
          "16": "7.5",
          "24": "9.4",
          "18": "11.3",
          "11": "13.2",
          "22": "15.1" ,
          "14": "22.6" ,
          "21": "62.3" ,
          "5":"0.2",
          "15":"4.0",
          "4":"0.9"
        },
      "Display_Format":
        {
          "short_sentence_with_no_chart": "0.0",
          "bar": "37.0",
          "line": "0.0"
        }
    }
  }
  }

Result is:
RESPONSE 		Response Summary Report
RESPONSE 	Message Templates were:
RESPONSE 	Top Performer:	6/6
RESPONSE 	Causal Pathways were:
RESPONSE 	['Social better']:	6/6
RESPONSE 	Measures were:
RESPONSE 	TOC01:	3/6
RESPONSE 	GLU01:	3/6

Using empty preferences and history, I consistently get a different result (in top 25%)
RESPONSE 		Response Summary Report
RESPONSE 	Message Templates were:
RESPONSE 	In Top 25%:	6/6
RESPONSE 	Causal Pathways were:
RESPONSE 	['Social better']:	6/6
RESPONSE 	Measures were:
RESPONSE 	GLU01:	2/6
RESPONSE 	TOC01:	4/6

Problem doesn't seem to relate to the performance level being a tie with the benchmark, elevating to 97 on both measures results in 'In_Top_25' being selected as well when no preferences/history are specified.

],
"History": {},
"Preferences": {},
"debug": "no"
}


watcher is slow

I'm running watcher on a folder in my home directory (ie python -m inkscape_figure_manager watch /home/silas/dujmth). Then, I create a figure with Inkscape and save it. I'm looking at the directory's contents with a file manager, and I can see that it takes like 10 seconds for the figure to be exported. This is wayyyy too slow. It should be like 1 second maximum.
Look into speeding up the underlying python watch utility, watchdog package.

See this reddit solution.

The solution posted above does not fix "watch" (auto-exporting) speed. It fixes Inkscape GUI application startup time.


[accessibility] Fullscreen control should have role="button"

For consistency with the other controls:
https://github.com/Leaflet/Leaflet/blob/bdd7ebf836201550f6d173943b728098b83f40d5/src/control/Control.Zoom.js#L89-L91

Other potentially helpful resources:

Leaflet Guideline: Test your maps
Leaflet Plugin Authoring Guide: Content Accessibility


Running Web API fail for Image classification.

System Information (please complete the following information):

Model Builder Version (available in Manage Extensions dialog): <IP_ADDRESS>2802
Microsoft Visual Studio Enterprise 2019: 16.11.5

Describe the bug

On which step of the process did you run into an issue: Image classification (Local CPU)>PowerShell run the generated Web API project

To Reproduce
Steps to reproduce the behavior:

Select Create a new project from the Visual Studio 2019 start window;
Choose the C# Console App (.NET Core) project template with .Net 5.0;
Add model builder by right click on the project;
Select Image classification> Local (CPU) to complete the training;
Click Add to solution to add the project to your current solution.
Run the application.
Open PowerShell and enter the following code where PORT is the port your application is listening on.

$body = @{
ImageSource = Image location on your local machine
}
Invoke-RestMethod "https://localhost:PORT/predict" -Method Post -Body ($body | ConvertTo-Json) -ContentType "application/json"

Run fail as below message.

Expected behavior
Run successful, and display the expected output.
Screenshots

@vzhuqin   is this issue only happens for local training ? or for both local and Azure?

@zewditu  I tried on latest main: <IP_ADDRESS>5801 just now, it happens on Image classification ( local and Azure) and Object detection scenarios.
Image classification:

Object detection:

Have you tried ImageSource= (Bitmap)Image.FromFile(...)?

I don't know why remove the character @ , then can run successfully? get the result as below, could you help to see if this is expected?

And if this is expect, do i need to open a new issue to update the related doc: https://docs.microsoft.com/en-us/dotnet/machine-learning/tutorials/image-classification-model-builder#web-api
https://docs.microsoft.com/en-us/dotnet/machine-learning/tutorials/object-detection-model-builder#web-api

The post delegate in web api dev17 needs to be updated to

when scenario is azure image &&  object detection.
And when scenario is local image classification, using File.LoadAllBytes to load image

The same change needs to be applied to dev16 as well

@luisquintanilla  @briacht
It's really wield to me that web api using image path as input. It means that such prediciton will only applied on images with valid path in host machine. Should we allow user to upload image instead (maybe through media type)

@vzhuqin
To verify web api project when it's image scenaio, please use
Invoke-RestMethod "https://localhost:44351/predict?imagePath=\path\to\your\image" -Method Post

instead
The output should looks like

@LittleLittleCloud good question. Uploading files might make more sense. The only concern I'd have is testing. Once you have the code generated, PowerShell makes it easy to test. I assume you should be able to upload files with PowerShell, but it's something to look into.

@LittleLittleCloud ,it met error with your provided method. But now can get below output with docs' method.

ML.Net Model Builder: <IP_ADDRESS>6701 (Main)

@vzhuqin  the fix is not merged in yet...

The fix should merge in

@LittleLittleCloud , the new method still not work on latest build: <IP_ADDRESS>5302 (main branch) and <IP_ADDRESS>2702 (xiaoyun branch), could you take a look?
One example: Image classification>Azure environment

@vzhuqin
Try using \\ to replace \ for image path as \ is escape character

@LittleLittleCloud could you help to take a look where is wrong?

ML.Net Model Builder: <IP_ADDRESS>6201
Microsoft Visual Studio Enterprise 2022 (64-bit) Version 17.0.4
command: Invoke-RestMethod "https://localhost:44307/predict?imagePath=C:\Users\vzhuqin\Downloads\weather\weather\Cloudy\cloudy1.jpg" -Method Post

can repro on latest main: <IP_ADDRESS>6901
using \ to replace \ for image path.

It works well on my PC...

@vzhuqin
can you confirm that your image url is valid, and is that azure training or local training

@LittleLittleCloud Yes, I can confirm the image url is valid , and fail on Azure and local training.

@vzhuqin I just merged another fix, can you try again

@LittleLittleCloud  I tried on Image classification (Azure & Local CPU) and Object detection scenarios with latest main: <IP_ADDRESS>2301, this issue not occurs on VS2022, but can still be reproduced on VS2019, please take a look?

Microsoft Visual Studio Enterprise 2022 (64-bit) Version 17.1.0

Microsoft Visual Studio Enterprise 2019: 16.11.10

@LittleLittleCloud
I tried on Image classification (Azure & Local CPU) and Object detection scenarios with latest main: <IP_ADDRESS>6501, this issue is not repro on VS2022, but still repro on VS2019.

Closing issue since it's been fixed.


Mat-Select issue with bootstrap 4.1.3 & jquery 3.3.1

Bug, feature request, or proposal:
When using bootstrap 4.1.3 and jquery 3.3.1 the  can not gain focus or use any of the keyboard selection options like up or down arrows to move the selection within the dropdown.
What is the expected behavior?
The expected behavior is that the  should be able to gain focus and use the keyboard shortcuts to make a selection within the dropdown.
What is the current behavior?
The current behavior is that the  can not gain focus by tabbing to it or when the list is dropped down can anyone use the keyboard shortcuts to move to the desired item in the dropdown.
What are the steps to reproduce?
Providing a StackBlitz reproduction is the best way to share your issue.
StackBlitz starter: https://goo.gl/wwnhMV
What is the use-case or motivation for changing an existing behavior?
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Browser:  Chrome Version 68.0.3440.106 (Official Build) (64-bit)
{
"name": "",
"version": "1.0.0",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
"private": true,
"dependencies": {
"@angular/animations": "^6.1.2",
"@angular/cdk": "^6.4.3",
"@angular/common": "^6.0.3",
"@angular/compiler": "^6.0.3",
"@angular/core": "^6.0.3",
"@angular/forms": "^6.0.3",
"@angular/http": "^6.0.3",
"@angular/material": "^6.4.3",
"@angular/platform-browser": "^6.0.3",
"@angular/platform-browser-dynamic": "^6.0.3",
"@angular/router": "^6.0.3",
"@auth0/angular-jwt": "^2.0.0",
"ajv": "^6.5.2",
"bootstrap": "^4.1.3",
"core-js": "^2.5.4",
"hammerjs": "^2.0.8",
"jquery": "^3.3.1",
"minipass": "^2.2.4",
"mkdirp": "^0.5.1",
"ngx-mask": "^6.0.0",
"popper.js": "^1.14.4",
"rxjs": "^6.0.0",
"tslib": "^1.9.3",
"zone.js": "^0.8.26"
},
"devDependencies": {
"@angular-devkit/build-angular": "~0.6.8",
"@angular/cli": "~6.0.8",
"@angular/compiler-cli": "^6.0.3",
"@angular/language-service": "^6.0.3",
"@types/jasmine": "~2.8.6",
"@types/jasminewd2": "~2.0.3",
"@types/jquery": "^3.3.4",
"@types/node": "^10.5.2",
"codelyzer": "^4.4.2",
"jasmine-core": "^3.1.0",
"jasmine-spec-reporter": "~4.2.1",
"karma": "^2.0.4",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "~2.0.0",
"karma-jasmine": "~1.1.1",
"karma-jasmine-html-reporter": "^1.2.0",
"protractor": "~5.3.0",
"ts-node": "^7.0.0",
"tslint": "^5.11.0",
"typescript": "~2.7.2"
}
}
Is there anything else we should know?
Here is another reference to the same problem:  https://stackoverflow.com/questions/47673377/angular-material-mat-select-keyboard-up-down-not-working
If you remove these lines from the angular.json file it works:
"scripts": [
"node_modules/jquery/dist/jquery.min.js",       -- Remove
"node_modules/popper.js/dist/umd/popper.min.js",
"node_modules/bootstrap/dist/js/bootstrap.min.js"    -- Remove
]

This seems to be the style that is causing the issue:
.mat-select {
display: contents !important;
}

@ssonnenwald, I'm not supposed to answer on behalf of Material team, but I suspect it's not a requirement that material  do not interfere with other css libraries (I use bootstrap myself, but just some of the css part because of the out-of-the-box table styling). Isn't it possible to get rid of the bootstrap javascript out of your project?

True, and I don't know if this issue needs addressed or not, but I just removed the styling I have above and it all worked.  Taking bootstrap out of the equation isn't an option here.

display: contents definitely isn't something that Material has added (there are zero occurrences of it in the codebase) and in general we don't do fixes for issues with other libraries that are used together with Material, because it would be impractical.


test: automate netregex tests

More work on #125 .
~1fa2945 includes all of the changes made in #137 , so can be ignored here. (I will rebase it out once 137 is merged).~ (Edit: done)  I've tried to separate the changes here into a handful of commits to make the review easier, but there wasn't a clean way to do that given all of the structural changes.
This also fixes a few missing/incorrect fields in netlog_defs, and replaces a handful of LogGuide.md examples that were out of data and would no longer be parsed correctly due to missing/misordered fields.  [NB. One incidental benefit of this change is that the LogGuide examples will now (need to) be kept up to date if there are changes in field defs or regex, since the examples will always be parsed using current regex structure).
I'm going to handle the changes to regex_test (ACT line format) last, but it should be fairly small and mostly deletions, since this PR has most of the groundwork.  I just didn't think it made sense to pile anything else into this PR.

Pending moving example lines to util as mentioned in https://github.com/OverlayPlugin/cactbot/pull/138/files#r1582534407 as well as the potential unintended change mentioned below, this looks good to merge.

Might've gotten lost in my comment above, but:

I'm also going to separate out the test data and make the necessary changes in https://github.com/OverlayPlugin/cactbot/pull/139 rather than here, because there were additional structure changes there that make rebasing/resolving merge conflicts needlessly bloody. (Yes, I could've avoided that by waiting to PR https://github.com/OverlayPlugin/cactbot/pull/139 until this was merged, but oh well.)

Admittedly a self-inflicted wound, but I'd prefer not to do the file move & separate out the test data in this PR, only to then have to resolve a bunch of conflicts in #139; the last commit in #139 already handles the file move & data separation.  If you think that's a problem, the maybe-cleaner other option is just to close this PR and handle everything in #139, since it already includes all the changes in this PR.  They were originally separated for reviewability, but since you've already looked at both, JLMK what you prefer.

Changes addressed in #139 - closing/superseded.


Stop storing one DAOManager per thread?

In GitLab by @fbastian on Oct 7, 2015, 24:07
Currently, calling DAOManager.getDAOManager() in a given thread always returns the same DAOManager instance (~ "per-thread singleton"). This was useful when we weren't using dependency injection everywhere, we could just call getDAOManager() from anywhere and be happy.
Now that we use dependency injection, DAOManager.getDAOManager() could always return a new instance; we would acquire it at the beginning of an operation (e.g., when calling FrontController.doRequest), and we would inject it everywhere, so that there shouldn't be more than one DAOManager used in a given thread (and so, no more than one connection to the database), if it is what we want.
Issue #58 describes a similar problem with BgeeProperties.
Also, should we keep storing DAOManagers associated to a given thread in a synchronized Map?  But this feature of storing DAOManagers to be potentially interrupted could be implemented by another class, e.g., TaskManager.
But, it also allows to close all DAOManagers when calling DAOManager.closeAll() (useful, e.g, for a servlet shutdown listener). So, maybe we should keep storing all opened DAOManagers.

In GitLab by @fbastian on Oct 7, 2015, 24:07
Title changed from Stop storing a DAOManager per thread? to Stop storing one DAOManager per thread?


Add a button to Copy API endpoints.

What is this issue related to?
Feature
Description
Right now, There is no button to copy API endpoints. Adding a button to copy endpoint will be useful for users, and it'll significantly improve the user experience.
Expected Behavior
There should be a button to copy the endpoint and once copied, it should show the message i.e. endpoint copied to clipboard.

Current Behavior
There is no button to copy endpoint.

Additional Information (optional)
Consider adding a button to copy endpoint.
Confirmation Checklist

[X] I have searched for similar issues before creating this one.
[X] I have provided all the necessary information to understand and reproduce the issue.

Invalid issue. The documentation you see here is coming from a .md file. So adding html content won't be possible here.


Needs CLA signed: Code style fixes cross-site-scripting

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: remcoeissing sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

Hello @remcoeissing ... Please sign the CLA if you agree with its terms. We can't accept a PR without it.

@guardrex  I emailed @remcoeissing , he's not registered with MSFT-GitHub yet.

@Rick-Anderson ... btw ... just curious ... what is a "Customer Engineer with @microsoft"? ... is that an official capacity?

@Rick-Anderson ... btw ... just curious ... what is a "Customer Engineer with @microsoft"? ... is that an official capacity?

ask @remcoeissing  - yes, it's official
He's correctly registered with MSFT - GitHub so I guess we'll ignore the CLA warning.

Thanks the the PR @remcoeissing , keep them coming.


Update content

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

api/overview/azure/cosmosdb.md
:white_check_mark:Succeeded
View

xml/_filter.xml
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


.NET data directory RVA is 0

Hello,
When I try to protect the application, here is the error:
Form1.cs:line 91
Md = ModuleDefMD.Load(textBox1.Text);
System.BadImageFormatException
HResult=0x8007000B
Message=.NET data directory RVA is 0
Source=dnlib
StackTrace:
at dnlib.DotNet.MD.MetadataFactory.Create(IPEImage peImage, CLRRuntimeReaderKind runtime, Boolean verify)
at dnlib.DotNet.MD.MetadataFactory.Load(IPEImage peImage, CLRRuntimeReaderKind runtime)
at dnlib.DotNet.MD.MetadataFactory.Load(String fileName, CLRRuntimeReaderKind runtime)
at dnlib.DotNet.ModuleDefMD.Load(String fileName, ModuleCreationOptions options)
at MindLated.Form1.Button1_Click(Object sender, EventArgs e) in D:\Workspace2023\Project2023\20230518\MindLated-master\Form1.cs:line 91
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, WM msg, IntPtr wparam, IntPtr lparam)
Thanks!
-Scott

Hi, is your application in .NET or native, because if it's native that why u can't load.

Right, a dll works but not the exe file in.Net7Thanks       Best Regards,- ScottOn May 22, 2023, at 6:43 PM, MindLated @.***> wrote:
Hi, is your application in .NET or native, because if it's native that why u can't load.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>

yeah in .NET Core u can't obfuscate the "winformapp1".exe file u need to obfuscate the "winformapp1".dll


default kubeContext cannot be overridden from command line

The specific use case here is some demo helmfile configurations that I wouldn't want to accidentally deploy to an arbitrary context, so I have docker-desktop hardcoded.  However, I would like to give users the ability to specify a different context at run time without having to open an editor.  It looks like this should be supported from the main README, and I'd generally expect to be able to override something like this with a flag.
  kubeContext: kube-context          #dedicated default key for kube-context (--kube-context)

config:
helmDefaults:
  createNamespace: true
  kubeContext: docker-desktop

output:
% helmfile --kube-context minikube apply
in ./helmfile.yaml: err: Cannot use option --kube-context and set attribute helmDefaults.kubeContext.

If there's a better way to safely specify an install context at runtime, I'm open to ideas.

@travisgroth Thanks for writing up a detailed issue. I'd definitely make this better.
This behavior was introduced to make it less surprising in an edge-case- that helmfile --kube-context minikube doesn't result in using the minikube context when releases[].kubeContext are set. That's because --kube-context is for overriding the default kubecontext only. But I thought some people would expect the flag to override even []releases.kubeContext.
WDYT?

Hey @mumoshu.  Thanks for the quick response.
Yes that all makes sense.  Personally I wouldn't expect it to do anything but override the config file default, so I think altering the behavior that way is okay.  If one thinks about it, the absolute default is your current context, then you can override the default a release uses if it does not specify a context in two places - config or flag.  Finally, the release can override the default.
It should be easy to make it clear in the documentation that the flag only sets helmDefaults.kubeContext.
FWIW, I always think of and structure my helmfiles so that a single helmfile.yaml is run in a single context.

@travisgroth Thanks for your confirmation! Got it, I'll try altering it that way. Also, I'd like to explore a way to add validation to make --kube-context fail when any of releases defined kubeContext, so that it is clear to the user that they can't use releases[].kubeContext with --kube-context anyway.


meson: fix set10 deprecation warning

set10() needs to be called with a boolean, rather than an integer. Looks like
the integer argument was deprecated.
Signed-off-by: Joe Konno<EMAIL_ADDRESS>

Upstream meson deprecated this as of the 0.62 release. Still works, but officially deprecated.
9c7ddf59f ("interpreterobjects: deprecated passing a number to configuration_data.set10")


This should not trigger the second job

What would you like to be added:
Why is this needed:

/snackport

/snackport

/backport


Add support for setting K8S log level in controller manager

What this PR does / why we need it:
Add support for setting K8S log level in controller manager
Release note:

Add support for setting K8S log level in controller manager

Please squash the commits.

Squashed :+1:


IsXInputDevice function return false  when i use a xbox series x controller

I use the function described in the msdn document to detect whether my controller is an xinput device, but i get a false return when i use a xbox series x controller.
DWORD dwVidPid = MAKELONG(dwVid, dwPid);
if (dwVidPid == pGuidProductFromDirectInput->Data1)
{
    bIsXinputDevice = true;
    goto LCleanup;
}

the dwVidPid value is 185794654 and the pGuidProductFromDirectInput->Data1 is 185795678

The assumption in that code is that the pGuidProductFromDirectInput->Data1 will have the Vendor ID for Microsoft which is "0x045E" in the lower DWORD. It appears that you are getting "0x005E" somehow.
On the system that is having this problem, what version of Windows are you using?
Please look in the Device Manager -> Xbox category for the device. Use Properties and look on the Details tab. Set the combo box to "Hardware Ids". What "VID_" is it reporting?

I'm sorry for describing the problem wrong.
When I use wired connection, the device is detect as a XInput device, the hardware ids is USB\VID_045E&PID_0B12&REV_0501 and USB\VID_045E&PID_0B12
But when I use bluetooth connnection, the device is dectect as a DInput device and there's no Xbox category in Device Manager. But there is an Xbox Wireless Controller in the Bluetooth category, and the hardware ids is BTHLE\Dev_f46ad7685a8e.
The windows version i’m using is Windows10 20H2

Does it work as an XINPUT device when attached via Bluetooth?

Yes, it work as an XINPUT device when attached via Bluetooth except Settings->System->Sound->Output->Choose your output device doesn't contain the headset connected to the controller.
So my question probably should be how to judge whether a controller is an XINPUT device when attached via Bluetooth?

By the way, I also test the Xbox One S controller, IsXInputDevice return true when it is attached via Bluetooth.

Thanks for the additional details. I've reproduced this bug on Windows 11. I'm trying to track down the owner of the driver...

For the "Xbox One S" controller, what is the full bstrVal reported from the device on Bluetooth?

The "Xbox One S" controller when going through Bluetooth for me is returning: HID\\{00001124-0000-1000-8000-00805F9B34FB}&VID_045E&PID_02E0&IG_00\\8&213213F&4&0000
The "Xbox Series X" controller when going through Bluetooth for me is returning: HID\\{00001812-0000-1000-8000-00805F9B34FB}&DEV&VID_5E&PID_0B13&REV_0501&F46AD7685A8E&IG_00\\9&1E660EBC&0&0000

There is a fix for this driver in the works.

The updated XBOXGIP.SYS driver is in Windows 11, Version 22H2.
Updates for Windows 10 (1904x) and Windows 11 should be rolling out on Windows Update soon.


Injecting information about port mapping (docker) to CLI

What problem does this feature solve?
Inside docker container, CLI generates a message like:
It seems you are running Vue CLI inside a container.
Access the dev server via http://localhost:<your container's external mapped port>/
I propose to add configuration settings for this <your container's external mapped port> to force CLI to generate a correct external link instead of the message above.
https://stackoverflow.com/questions/57752780/how-to-change-vue-cli-message-after-successfull-compile-app-running-at
What does the proposed API look like?
Something like
module.exports = {
// ...
externalPort: 1234,
// ...
}

Or maybe it is possible to use some CLI hooks, to affect the final message, currently not able to find an appropriate option.

The external port is set in your docker config / command, so vue cli can't influence that.

***  it's also impossible from within a docker container to get info about which internal ports are mapped to which external ports.
Not correct information, actually. You could set up your container's environment variables, for example, via docker-compose: https://docs.docker.com/compose/environment-variables/, and you could set up any value you want.
I do not need to affect my docker config/command. The thing I only wanted to change - is only CLI message after successful compile. My team members use the links this message shows to access SPA in a browser directly from the IDE terminal. This a convenience feature, which we wanna use further, and trying to setup CLI to show the correct link, using data injected via environment variables defined via docker-compose.
Fragment from my docker-compose.yml:

    environment:
      UID: ${uid}
      GID: ${gid}
      PORT_WEBPACK: ${port_webpack}
      PORT_SANDBOX: ${port_sandbox}
      PORT_KARMA: ${port_karma}

I openes my container, then echo $PORT_WEBPACK, for example, gets 4180 if this port was specified for 8080 in up command.
My team already uses information about mapping for KarmaJS, it generates links, used for testing in browser capture mode. For example, we use that feature for testing our app under IE from VirtualBox on Ubuntu.

I wanted something like
module.exports = {
// ...
externalPort: process.env.PORT_WEBPACK
// ...
}

or some CLI hook, where I could be able to determine the whole message te

Thanks for the additional information, now I understand what you actually want.


feat(placeholder): add global placeholder options

Implement global placeholder options so the
default float option can be set to something
other than 'auto'

Fixes #4311

I signed it!

@mmalerba Thanks, the idea was inspired by the global ripple options.  Revisions made based on your suggestions.

@mmalerba Revisions made, thanks.

Needs rebase

@andrewseguin Rebased, thanks...