java.io.IOException: Bad checksum for location on Journal.recoveryCheck

Hi Sergio,
during our first tests with your amazing Journal.IO we face this exception on journal reopening. After some analysis it seems the problem is not related with compact operation as we thought, but it occurs always at reopening after a previous delete. That's a simple test I did on the 1.1-snapshot

 @Test
    public void test_bad_checksum_issue_after_delete() throws IOException {
        Journal journal = new Journal();
        String basePath = this.getClass().getClassLoader().getResource(".").getFile();
        journal.setDirectory(new File(basePath));
        journal.setFilePrefix(UUID.randomUUID().toString());
        journal.open();
        journal.write(String.valueOf("bad checksum issue").getBytes(Charset.forName("UTF-8")), true);
        Iterator<Location> locationsIterator = journal.redo().iterator();
        while (locationsIterator.hasNext()) {
            Location location = locationsIterator.next();
            journal.delete(location);
        }
        journal.compact();
        journal.close();
        journal.open();

    }

Should be fixed on master now: please give it a try and let me know.

Cool :)


Foreign linking / FFI

This is a tracking issue for adding the ability to Motoko to interoperate with foreign code on an intra-canister level.
Some high-level design considerations:

Cross language interop would naturally be provided at Wasm module boundaries, by supporting cross-language linking.
For that we'll probably need to define some language-agnostic ABI/IDL, similar to Candid but for modules.
We should keep track of the ongoing interface types proposal for Wasm, which is trying to solve the same problem for the Wasm ecosystem at large. However, it's still in early stages, and not entirely clear how well it will suite our needs.

Implementation considerations:

A prerequisite is that Motoko supports separate compilation; currently, the compiler performs whole-program compilation.
The Motoko compiler already has some specialised linking mechanism for the language's runtime system (RTS), which is written in C. However, this is not exposed and probably not general or robust enough in its current form.
As we're adding more features to the Motoko base library, more flexible linking against foreign modules may become relevant for the language impl itself, e.g., to incorporate existing math, unicode, or database libraries.

Related: #147, #452.

Just a random thought, would wasm { ... } blocks fill in any use-case (other than providing an unsafe exit hatch)? If one can extrapolate from ancient C times, such a lowest-level construct gave many game programmers the extra bit of performance they needed to make tight loops feasible. (I am not proposing such a feature, and I can totally see how it would open a huge can of worms.)

We consider using Wasm component model for intra-canister language interop (and sandboxing e.g. multiple unsafe Rust components). Tracking this separately as Wasm component model. This also needs IC extensions.


[ENHANCEMENT] fs - proper error handling

Is your feature request related to a problem? Please describe.
currently I/O errors are caught in a try/catch and simply return true or false depending on whether or not it was successful.

this makes it difficult to debug as the return value false provides no information as to what went wrong
Describe the solution you'd like
these methods in FileSystem should just throw when they fail
Describe alternatives you've considered
perhaps a flag to change the error handling behavior, if you want the user to have the choice
Additional context
this made debugging difficult when implementing #83. i had to change the tryIfExists private method to throw instead when it fails, then changed it back such that it matches the behavior of the other targets.

I agree, this totally makes sense. I vaguely remember why I did it this way in the first place. I think it was a somewhat complicated to create a neat API which throws errors on ios and thats probably why, I chose to suppress the errors and return a flag instead. But it has been an year, so I can't say for sure.


IntoIterator for &TokenStream

I found when using TokenStream I couldn't iterate over a &TokenStream because IntoIterator wasn't implemented for it. Is there a reason this isn't included? If not I can submit a PR for this and any similar things in the same area with the same issue.

I think it's mostly just left out at the moment to be conservative, but given that it's intended to be cheap to clone I think this'd probably be a fine addition to have. This may wish to be added to upstream rust-lang/rust first though and then we can mirror it down here.

Okie dokie, I'll look into implementing it on the compiler first and doing a PR. I'll also run the benchmarks to see if there are any actual gains to be had given it's a cheap clone.

This API isn't in libproc_macro so I don't think we need to keep an issue here about it.


Improve html layout when using fieldsets

I'm adding a fieldset structure like the one used in the inlines to improve readability when having multiple fields inside fieldsets.

LGTM!


Added possibility to close the menu by pressing Escape

Not sure whether or not to use stopPropagation() and preventDefault();
Well, this is a first try at open source. I'll take any advise here!

I signed it!


[Feature] Add aws_node_termination_handler

This is in the upstream project, but not in this examples repos.
https://github.com/aws-ia/terraform-aws-eks-blueprints/tree/main/modules/kubernetes-addons/aws-node-termination-handler

this is now resolved


strings from CEP encoded in macroman

Hello,
I've ran into a bug where every strings from the CEP seems to be encoded in macroman.
You can easily reproduce it by initializing a skeleton project with a single hello world function that print a string with a special character.
Ex :
In src/jsx/ppro/ppro.ts
export const helloWorld = () => {
  alert("Hello from Premiere Pro. Accent : é");
};

In src/js/main/main.tsx
import { evalTS } from "../lib/utils/bolt";

const Main = () => {
  return (

Welcome to Bolt CEP!

      <button
        onClick={() => {
          evalTS("helloWorld");
        }}
      ></button>

  );
};
export default Main;

A call to the function result in

This is not a display bug, as if I retrieve the name of let's say a projectItem that contains a special character and print it, it will be displayed correctly. It really is the content of the string (this is troublesome because I can't match it against other strings from ppro).
This bug was not present in bolt-cep in July 2023
I'm am on MacOs with an M3 chip.
Bug noted on premiere pro 24.6.3
EDIT :
Here what i meant by "matching against other strings from ppro" :

On the first line I'm logging the same string as before, written by me.
On the second line I'm directly logging the name of the projectItem.
EDIT2:
Seems like I can fix the problem by explicitly specifying the unicode that I want, like so :
qe?.outputToConsole(`accent unicode : \u00E9`);

This is related to ExtendScript encoding, not Bolt CEP. To fix, run $.appEncoding = "UTF-8"; before executing scripts with special characters


Update to angular 18?

Is your feature request related to a problem? Please describe.
Can we update this library to angular 18? It has been out for 2 months now, and I would love to start building with this library, but we cannot until it is updated
Describe the solution you'd like
Update to angular 18

I am using it with an angular 18 app, no issues yet.  I switched from angular-auth-oidc-client and custom auth guard to this wrapper with the  built in auth guard.  Works great.

Ah, good to know. Are you using --force or --legacy-peer-deps?
I could not get past a typescript error in the libraries angular dependency, but I will keep trying

Confirming I do have my  .npmrc currently set to
legacy-peer-deps=true
(But I think I did that for a different dependency, not kinde, but I can't remember)

Thanks for creating this issue, if you're able to provide a PR for this it would be great. Currently I'm unable to do so, just bought a house and started rebuilding it. If you're unable to provide PR I can try to work on it in between.

I'm back, I can have a look at it this week±

Hi, sorry for the late response. Still working on my house renovations, found some time to work on this. Hope to have a PR ready by tomorrow.

I have a PR, sorry for the delay.


Tensorflow Lite Custom op have no effect even source code *.cc has modified

System information
== cat /etc/issue ===============================================
Linux master 4.15.0-29-generic #31~16.04.1-Ubuntu SMP Wed Jul 18 08:54:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
VERSION="16.04.5 LTS (Xenial Xerus)"
VERSION_ID="16.04"
VERSION_CODENAME=xenial
== are we in docker =============================================
No
== compiler =====================================================
c++ (Ubuntu 5.5.0-12ubuntu1~16.04) 5.5.0 20171010
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
== uname -a =====================================================
Linux master 4.15.0-29-generic #31~16.04.1-Ubuntu SMP Wed Jul 18 08:54:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
== check pips ===================================================
numpy 1.14.5
protobuf 3.6.0
tensorflow 1.8.0
tensorflow-tensorboard 0.4.0
== check for virtualenv =========================================
False
== tensorflow import ============================================
tf.VERSION = 1.8.0
tf.GIT_VERSION = v1.8.0-0-g93bc2e2072
tf.COMPILER_VERSION = v1.8.0-0-g93bc2e2072
Sanity check: array([1], dtype=int32)
/usr/local/lib/python2.7/dist-packages/h5py/init.py:36: FutureWarning: Conversion of the second argument of issubdtype from float to np.floating is deprecated. In future, it will be treated as np.float64 == np.dtype(float).type.
from ._conv import register_converters as _register_converters
== env ==========================================================
LD_LIBRARY_PATH /usr/local/cuda/lib64/:/usr/local/cuda/lib64/:/usr/local/cuda-9.0/lib64:
DYLD_LIBRARY_PATH is unset
== nvidia-smi ===================================================
Mon Jul 30 11:49:23 2018
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 396.45 Driver Version: 396.45 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 Quadro P600 Off | 00000000:03:00.0 On | N/A |
| 34% 43C P8 N/A / N/A | 574MiB / 1997MiB | 1% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 1152 G /usr/lib/xorg/Xorg 237MiB |
| 0 2213 G compiz 79MiB |
| 0 2589 G ...-token=224D99F526E00AE3A3C0EF4D5E6D103A 113MiB |
| 0 5305 G ...-token=53BA9EE005E85645FEB6537828E37D64 141MiB |
+-----------------------------------------------------------------------------+
== cuda libs ===================================================
/usr/local/cuda-9.2/doc/man/man7/libcudart.7
/usr/local/cuda-9.2/doc/man/man7/libcudart.so.7
/usr/local/cuda-9.2/targets/x86_64-linux/lib/libcudart_static.a
/usr/local/cuda-9.2/targets/x86_64-linux/lib/libcudart.so.9.2.148
Describe the problem
I converted caffe ssd model to tensorflow/tensorfow lite. There are small differences in caffe and tensorflow detection layer (i.e., decode box and coordinates difference).
Tensorflow lite does not support all ops of tensorflow.
Detection layer in tensorflow lite is implemented in detect_postprocess.cc as custom op.
I changed detect_postprocess.cc to apply caffes' decode box and other functions. Then, I compiled tf with "bazel build -c opt --jobs=8 //tensorflow/tools/pip_package:build_pip_package" and also tried with "bazel build -c opt "//tensorflow/contrib/lite/kernels:builtin_ops",
However, problem is when I load detect.tflite on android and/or PC (with tensorfow lite python api <<tf.VERSION = 1.8.0 does not work,tf version:: 1.10.0 workd>>), the detection results return the same result as what detect_postprocess.cc supposed to work even I changed functionality of detect_postprocess.cc.
In other words, tensorflow lite always refers very first version of detect_postprocess.cc
What is the problem?

Thank you for your post. We noticed you have not filled out the following field in the issue template. Could you update them if they are relevant in your case, or leave them as N/A? Thanks.
Have I written custom code
OS Platform and Distribution
TensorFlow installed from
TensorFlow version
Bazel version
CUDA/cuDNN version
GPU model and memory
Exact command to reproduce
Mobile device

Why don't you just remove the registration of the default one. Or call your modified version a different name?

@drpngx Your op resolver is not able to resolve to the new code in the custom op. Can you share the steps that you ran after changing the code in detect_postprocess.cc

thank you, I will test it out.

@aselle the modified version with different names does not make any sense.
tflite c++ api with libtensorflow-lite.a (includes modified TFLite_Detection_PostProcess) works on pc.

You are not being clear on what you are doing.
You modified detect_postprocess.cc and recompiled right? Did you make a copy of it and add it to the build file, or did you modify it in place.
Does your modification work under any circumstance?
Did you compile a new AAR for android? or are you using the stock one? If the stock one then it of course will not work.

You modified detect_postprocess.cc and recompiled right?
yes, I modified and recompiled.
I did not copy the detect_postprocess.cc to any place.
Does your modification work under any circumstance?
Yes it does, I mentioned it "detect.tflite on c++ api with libtensorflow-lite.a (includes modified TFLite_Detection_PostProcess) works on pc"
Did you compile a new AAR for android?
I referred https://firebase.google.com/docs/ml-kit/android/use-custom-tflite and https://github.com/tensorflow/tensorflow/issues/18751.

figured out.

Glad you got it working. Could you post what the solution was so others can benefit from your work? Thanks.


The module "SoundBoard" is using the old flat core compatibility fields in FoundryV10

Foundry V10 issues this warning when loading the soundboard:
The module "SoundBoard" is using the old flat core compatibility fields which are deprecated in favor of the new "compatibility" object

fixed by adding this to the module.json:
"compatibility": { 		"minimum": 10, 		"verified": "10.284" 	},


AttributeError: 'SsdAnchorGenerator' object has no attribute 'height_stride'

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow):
I am using the stock scripts with a custom training dataset
OS Platform and Distribution (e.g., Linux Ubuntu 16.04):
Windows 10
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device:
n/A
TensorFlow installed from (source or binary):
Installed via Anaconda command line
TensorFlow version (use command below):
b'v1.10.0-rc1-19-g656e7a2b34' 1.10.0
Python version:
anaconda                  5.1.0                    py36_2
Bazel version (if compiling from source):
N/A
GCC/Compiler version (if compiling from source):
N/A
CUDA/cuDNN version:
N/A
GPU model and memory:
N/A
Exact command to reproduce:
python train.py --logtostderr --train_dir=training\ --pipeline_config_path=training\test.config

Describe the problem
I'm trying to train various models using a custom dataset.  I am able to train using the Faster RCNN Inception V2 without issue.  However, all of the other models I try to use throw the same error:
AttributeError: 'SsdAnchorGenerator' object has no attribute 'height_stride'
I've tried with ssd_mobilenet_v1_coco,ssd_mobilenet_v2_coco, and ssd_inception_v2_coco.  All three produce the same error.
Source code / logs
C:\ProgramData\Anaconda3\lib\site-packages\h5py_init_.py:36: FutureWarning: Conversion of the second argument of issubdtype from float to np.floating is deprecated. In future, it will be treated as np.float64 == np.dtype(float).type.
from ._conv import register_converters as _register_converters
Traceback (most recent call last):
File "train.py", line 168, in
tf.app.run()
File "C:\ProgramData\Anaconda3\lib\site-packages\tensorflow\python\platform\app.py", line 125, in run
_sys.exit(main(argv))
File "train.py", line 164, in main
worker_job_name, is_chief, FLAGS.train_dir)
File "C:\ProgramData\Anaconda3\lib\site-packages\object_detection-0.1-py3.6.egg\object_detection\trainer.py", line 240, in train
detection_model = create_model_fn()
File "C:\ProgramData\Anaconda3\lib\site-packages\object_detection-0.1-py3.6.egg\object_detection\builders\model_builder.py", line 98, in build
add_background_class)
File "C:\ProgramData\Anaconda3\lib\site-packages\object_detection-0.1-py3.6.egg\object_detection\builders\model_builder.py", line 178, in _build_ssd_model
ssd_config.anchor_generator)
File "C:\ProgramData\Anaconda3\lib\site-packages\object_detection-0.1-py3.6.egg\object_detection\builders\anchor_generator_builder.py", line 59, in build
if ssd_anchor_generator_config.height_stride:
AttributeError: 'SsdAnchorGenerator' object has no attribute 'height_stride'
PS C:\Users\timothy.molner\Desktop\tensorflow\research\object_detection> python train.py --logtostderr --train_dir=training\ --pipeline_config_path=training\test.config

Bumping

Nagging Assignee @jch1: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @jch1: It has been 29 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @jch1: It has been 44 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @jch1: It has been 59 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

Nagging Assignee @jch1: It has been 74 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

This is a stale issue. Also, we are no longer supporting TF1.x version.
In the recent years, There were lot of improvements in the model garden. I think this might have got resolved with the recent TF version. If this is still an issue with recent TF2.x version, please feel free to share a simple standalone code to reproduce the issue.
There is a good resource to install and test recent TF models in model garden by following the tutorials in this resource. Thanks!
I am closing this issue. Please feel free to reopen if I am mistaken. Thanks!


Tests:  Investigate Xfail suspected fsspec windows issue

Related to #1268
We need to investigate why these tests do not pass in windows CI.
https://github.com/starlite-api/starlite/blob/06c50d7a85128e3a59bb13f6edb6da234219b624/tests/test_file_system.py#L52-L73

Why has this been closed?

Why has this been closed?

It's stale. Issues are not meant to accrue, they are either handled or not.


Fix overalignment requirement

Existing code actually uses @alignOf(*Writer) so it's forcing alignment of 8 bytes, even though the underlying struct has native alignment of 4.

Thanks :)


SAML does not add or remove datasources/tools properly.

Description
When updating a SAML the tools and datasources are not updated properly.
Steps to reproduce

Create a workflow
Remove the datasource
Datasource is not removed from agent

Acknowledgements

[X] My issue title is concise, descriptive.
[X] I have searched the existing issues to make sure this bug has not been reported yet.
[X] I am using the latest version of superagent.
[X] I have provided enough information for the maintainers to reproduce and diagnose the issue.

@elisalimli could have a look at this ASAP as we discussed. Currently block users from adding tools/datasources.

Reolved by #782


How to bind browser? like "document", "window"

I try to bind browser to duktape, like "window" and "document", but I have no idea how to do it, could you give some suggestions or examples?

In a browser window just binds to the global object. Here's an example of how to initialize window:
window = this;  // 'this' is global for a program

If it needs to work in any context:
(function () {
    var g = new Function('return this');  // get global object reference in any context
    g.window = g;
}());

If you want to do this from C code, you can just duk_eval_string_noresult() either of the above (wrapping the initialization in e.g. duk_safe_call() to capture errors), or use something like:
duk_push_global_object(ctx);
duk_put_global_string(ctx, "window");

Thank you very much!
But I still have some trouble. I am using your dukweb demo. In dukweb.html, I want to execute
Duktape.eval('document.write("
This is a title
")');
What should i do next?
Then I find
Duktape.eval('Dukweb.eval(\'document.write("
This is a title
")\')');
is ok, but Dukweb.eval('Dukweb.eval(code)') could not push the code to global, for example:
(I have exported some c api by emcc)
Duktape.eval('Dukweb.eval("function fa(){return 5 + 6}")');
duk_get_prop_string(ctx, -1, "fa");
Duktape.eval("fa()");

But I encounter error message, "Uncaught ReferenceError: fa is not defined".
Because duktape has not "document", I try to use Dukweb.eval.
But once a statement is executed in dukweb, it can no longer call a method in the statement, as in the example above.
Is there any other way I can use document in duktape? Or can you call methods in statements that dukweb has executed?

Could you describe a bit about what you're trying to accomplish?
As some background, Dukweb is a proof-of-concept of embedding Duktape in the browser environment. There's a simple "bridge" which allows:

Browser code to eval() stuff in the Duktape side (Duktape.eval()).
Duktape side code to eval() stuff in the browser side (Dukweb.eval()).

The bridge is not great in that it doesn't e.g. handle errors cleanly.
Other than this bridge mechanism, both Javascript environments are independent. For example:

They have separate global variables.
Duktape side does not have a DOM or any browser-specific APIs at all.
Defining a function in Duktape side doesn't make it visible in the browser side, and vice versa.

Regarding your questions:

Is there any other way I can use document in duktape?

There's nothing in Dukweb which provides that directly. You could implement a document Proxy object in the Duktape environment, and have that proxy use Dukweb.eval() to read/write properties in the browser environment.

Or can you call methods in statements that dukweb has executed?

I'm not sure what you mean by this -- but in general, Duktape environment code can only execute functions defined in that environment, and same goes for the browser environment. Anything else has to go through the bridge functions (Dukweb.eval and Duktape.eval, respectively).

Regarding some of the specific questions, executing this in the browser side:
Duktape.eval('Dukweb.eval(\'document.write("
This is a title
")\')');

would be equivalent to just doing this in the browser side:
document.write("
This is a title
")

as the bridge calls "cancel off".
The following:
Dukweb.eval('Dukweb.eval(code)')

would presumably be executed in the Duktape side, and would eval Dukweb.eval(code) in the browser side. However, the browser side does not have a Dukweb object, as it is the "bridge" in the Duktape side, so this would fail due to missing Dukweb binding.
This one:
Duktape.eval('Dukweb.eval("function fa(){return 5 + 6;}")');

is probably evaluated in the browser side. It would try to eval Dukweb.eval("..."); in the Duktape side. Dukweb.eval() would then try to eval the argument in the browser side again. It would thus be equivalent to defining fa() directly in the browser side. Is this what you want?

I am sorry that I did not elaborate clearly.
In fact, my purpose is to use duktape in the browser web, such as the following example:
test.js:
var test_a = 10;
function my_test(x){
	return x + test_a;
}

test.html:
duk_push_string(ctx, "var teat_a = 10;\nfunction my_test(x){return teat_a + x;}\n");
duk_peval(ctx);
duk_pop(ctx);
duk_get_prop_string(ctx, -1, "my_test");
duk_push_int(ctx, 5);
duk_call(ctx, 1);
console.log(duk_get_int(ctx, -1));

If there is no DOM and BOM in the original js file, it works well, but the DOM and BOM will be used frequently in the web.
The following:
duk_push_string(ctx, "var teat_a = 10;\n"
					 "function my_test(x){return teat_a + x;}\n"
					 "document.write(\"
This is a title
\")");
duk_peval(ctx);

would not work.
So I want to bind DOM and BOM in duktape, but I don't know how to bind.
You mentioned above setting up a document Proxy object, how to set it up?
NetSurf implements DOM and BOM in C code. Can this be used as a reference example?

Hmm, so are you trying to implement a browser which uses Duktape for its DOM and Javascript environment?
If so, Dukweb is not useful for that purpose, as it runs on an existing browser Javascript environment.

It seems that this is the case. I have searched for a long time and have not found Duktape binding DOM. Maybe this is not a good idea.
Thank you so much for your detailed info and support.Regards

Note that there cannot really be a generic DOM binding -- ultimately you have some native code that implements rendering and some sort of rendering model. A DOM binding then connects the scripting environment to that, in a way that is specific to the rendering/DOM implementation.

Reading this thread with great interest as I am attempting to do a similar thing for a honeyclient I maintain [1] which implements the DOM by itself (in Python) and currently makes use of V8 through PyV8. I have attempted to use Duktape through the available Python bindings and what is really stopping me is that I did not find an effective way to bind the global object through such bindings (window object is implemented in Python)
[1] https://github.com/buffer/thug

What is the main issue you're facing?
I guess the two main approaches would be:

Registering getter properties on the existing global object (which is the same as window) and those getters being implemented in Python.
Replacing the global object with a full Proxy object so that all property accesses go through the Proxy. Proxy traps implemented in Python.

In both cases one would set, in effect, global.window = global.

Thanks for the tip! Tried this code while initalizing Duktape
self._context.set_globals(window = window)
self._context.eval("this.window = this")

It works partially as I got this error
E   JSError: ReferenceError: identifier 'document' undefined
E       at [anon] (duk_js_var.c:1199) internal
E       at eval (eval:1) preventsyield

Adding
self._context.set_globals(document = window.document)

solves it but it keeps on happening for every window object attribute/method.

Forgot mentioning the global symbol was undefined. That's why I reverted to this. But don't know if that's the right thing to do.

In my opinion, if you want to use DOM in duktape, you may have to do something like NetSurf.
Of course, I don't know if my opinion is right.

@buffer There is no "global" symbol. Sometimes this is bound to the global object, sometimes not. So the most reliable thing is to say something like:
var global = new Function('return this')();
global.window = global;

This works in any context, including strict mode.

@liufengwenyu Yes, NetSurf is an example how a specific DOM implementation can be implemented on top of Duktape. But the implementation is of course different depending on what kind of rendering engine / DOM representation there exists in the native environment.

@svaarala the code you pointed out works but not in all cases. For instance if I try referring to document as window.document it works as window is bound to global.But if I try referring to it as just document the symbol is undefined of course. Just wondering if there is a straightforward way to expose the window attributes (all I need in V8 is executing this = window) or if I need to expose each of them through some Python code. Thanks!

Ok, I see what you mean. For that I think there are a few options:

Treat the global object as the window object. So just set global.window = global. Then set window.document, and it becomes available as global.document too.
Or, create a window object (including self reference window.window. Then use duk_set_global_object() to switch the window object to become the global object.

@svaarala Hi, svaarala, sorry to bother you again.
I encountered a problem, the following is my demo:
test.js:
var global = new Function('return this')();
global.window = global;
(function(window){
    var obj = {
        add : function(x, y){
            return x + y;
        },
        my : 5
    }
    window.test1 = obj;
})(window);
print(test1.add(3, 4));
print(test1.my);

test.c:
duk_push_global_object(ctx);
duk_push_c_function(ctx, native_print, DUK_VARARGS);
duk_put_prop_string(ctx, -2, "print");

push_file_as_string(ctx, "test.js");
if (duk_peval(ctx) != 0) {
	printf("Error running: %s\n", duk_safe_to_string(ctx, -1));
	goto finished;
}
duk_pop(ctx);

It works well, but I don't know how to call function "test1.add" again in duktape.
duk_get_prop_string(ctx, -1, "test1.add");
duk_push_int(ctx, 5);
duk_push_int(ctx, 5);
if (duk_pcall(ctx, 2) != 0) {
	printf("Error: %s\n", duk_safe_to_string(ctx, -1));
}

It does not work.

You're trying to read a property named "test1.add" which would have the ECMAScript equivalent of:
obj["test1.add"]

The correct sequence would be:
duk_get_prop_string(ctx, -1, "test1");
/* Check for missing property, if that matters */
duk_get_prop_string(ctx, -1, "add");

After duk_pcall() remember to pop off the extra value (the first property get value).

This one:
Duktape.eval('Dukweb.eval("function fa(){return 5 + 6;}")');

is probably evaluated in the browser side. It would try to eval Dukweb.eval("..."); in the Duktape side. Dukweb.eval() would then try to eval the argument in the browser side again. It would thus be equivalent to defining fa() directly in the browser side. Is this what you want?
@svaarala
I am very interested in this issue.
If the following:
Duktape.eval('Dukweb.eval("function fa(){return 5 + 6;}")');
is equivalent to defining fa() directly in the browser side, so how can I call fa() again in the browser side?

[...] is equivalent to defining fa() directly in the browser side, so how can I call fa() again in the browser side?

From browser side, you'd just call fa().
From Duktape side, you'd call Dukweb.eval('fa()').


[video_player] How to keep audio playing in background?

[video_player] How to keep audio playing in background?

Hi @zxl777,
This issue doesn't seem to describe a bug or a feature request. Please see https://flutter.dev/community for resources and asking questions like this.
You may also get some help if you post it on Stack Overflow and if you need help with your code, please see https://www.reddit.com/r/flutterhelp/
Closing, as this isn't an issue with Flutter itself. If you disagree, please write in the comments and I will reopen it.
Thank you


Article page

The following  changes have been implemented:

Configure mdx (getAllPost, getPostBySlug, getSlug )
Single Post
CustomLink
highlight code in mdx with  rehypePrettyCode
Table content (not responsive)

#32

@didierganthier There were some conflicts in the packages.json and yarn.lock. I resolved them.

Okaay @pierrelstan taking a look 👀

Great job so far @pierrelstan! Here's the only thing left to do here:

Merge in the latest changes from PR #41  and make sure the menu and the footer match


Multiple shell configurations

[x] I am on the latest Hyper.app version
[x] I have searched the issues of this repo and believe that this is not a duplicate

OS version and name: Windows 10 x64
Hyper.app version: 1.3.1
Link of a Gist with the contents of your .hyper.js: https://gist.github.com/ach3/bb33b2a2874ad0fc845711e08bb25b25
Relevant information from devtools: N/A
The issue is reproducible in vanilla Hyper.app: Is Vanilla

Issue
I'd like to run both bash.exe and cmd.exe through hyper. For this, I would like support for a cli like --config=<path/to/.hyper.js>. I couldn't find an existing way to do this.

https://github.com/zeit/hyper/pull/1347

This is a duplicate of https://github.com/zeit/hyper/issues/1147

Closing in favor of #1147


mail gif no longer works after enabling Nabu Casa

Looks like Ive got an issue with the mail_today.gif, no longer working.  It looks like after enabling Nabu Casa, the Mail and Packages integration automatically uses the external url, instead of my internal url.  That breaks the mail gif as its no longer created locally.  The docs say there should be an external/internal url option I can change, but that doesnt seem to exist anymore.
How can I fix this?

`2021-03-23 11:04:12 DEBUG (SyncWorker_13) [custom_components.mail_and_packages.helpers] Attempting to find mail from<EMAIL_ADDRESS>with subject (Item Delivered)
2021-03-23 11:04:12 DEBUG (SyncWorker_13) [custom_components.mail_and_packages.helpers] DEBUG imap_search: (FROM<EMAIL_ADDRESS>SUBJECT "Item Delivered" SINCE "23-Mar-2021")
2021-03-23 11:04:12 DEBUG (SyncWorker_13) [custom_components.mail_and_packages.helpers] Search for<EMAIL_ADDRESS>with subject (Item Delivered) results: b'' count: 0
2021-03-23 11:04:12 DEBUG (SyncWorker_13) [custom_components.mail_and_packages.helpers] Sensor: usps_delivered Count: 0
2021-03-23 11:04:12 DEBUG (SyncWorker_13) [custom_components.mail_and_packages.helpers] Attempting to find mail from<EMAIL_ADDRESS>with subject (Expected Delivery on)
2021-03-23 11:04:12 DEBUG (SyncWorker_13) [custom_components.mail_and_packages.helpers] DEBUG imap_search: (FROM<EMAIL_ADDRESS>SUBJECT "Expected Delivery on" SINCE "23-Mar-2021")
2021-03-23 11:04:12 DEBUG (SyncWorker_13) [custom_components.mail_and_packages.helpers] Searching for (Your item is out for delivery) in (0) emails
2021-03-23 11:04:12 DEBUG (SyncWorker_13) [custom_components.mail_and_packages.helpers] Search for (Your item is out for delivery) count results: 0
2021-03-23 11:04:12 DEBUG (SyncWorker_13) [custom_components.mail_and_packages.helpers] Search for<EMAIL_ADDRESS>with subject (Expected Delivery on) results: b'' count: 0
2021-03-23 11:04:12 DEBUG (SyncWorker_13) [custom_components.mail_and_packages.helpers] Sensor: usps_delivering Count: 0
2021-03-23 11:04:12 DEBUG (SyncWorker_13) [custom_components.mail_and_packages.helpers] Attempting to find mail from<EMAIL_ADDRESS>with subject (Delivery Exception)
2021-03-23 11:04:12 DEBUG (SyncWorker_13) [custom_components.mail_and_packages.helpers] DEBUG imap_search: (FROM<EMAIL_ADDRESS>SUBJECT "Delivery Exception" SINCE "23-Mar-2021")
2021-03-23 11:04:12 DEBUG (SyncWorker_13) [custom_components.mail_and_packages.helpers] Search for<EMAIL_ADDRESS>with subject (Delivery Exception) results: b'' count: 0
2021-03-23 11:04:12 DEBUG (SyncWorker_13) [custom_components.mail_and_packages.helpers] Sensor: usps_exception Count: 0
2021-03-23 11:04:12 DEBUG (SyncWorker_13) [custom_components.mail_and_packages.helpers] Attempting to find Informed Delivery mail
2021-03-23 11:04:12 DEBUG (SyncWorker_13) [custom_components.mail_and_packages.helpers] Informed delivery search date: 23-Mar-2021
2021-03-23 11:04:12 DEBUG (SyncWorker_13) [custom_components.mail_and_packages.helpers] DEBUG imap_search: (OR FROM<EMAIL_ADDRESS>FROM<EMAIL_ADDRESS>SUBJECT "Your Daily Digest" SINCE "23-Mar-2021")
2021-03-23 11:04:12 DEBUG (SyncWorker_13) [custom_components.mail_and_packages.helpers] Cleaning up image directory: /config/custom_components/mail_and_packages/images/
2021-03-23 11:04:12 DEBUG (SyncWorker_13) [custom_components.mail_and_packages.helpers] Checking for overlay files in: /config/custom_components/mail_and_packages/images/
2021-03-23 11:04:12 DEBUG (SyncWorker_13) [custom_components.mail_and_packages.helpers] Copying file to: /config/custom_components/mail_and_packages/images/overlay.png
2021-03-23 11:04:12 DEBUG (SyncWorker_13) [custom_components.mail_and_packages.helpers] Copying file to: /config/custom_components/mail_and_packages/images/vignette.png
2021-03-23 11:04:12 DEBUG (SyncWorker_13) [custom_components.mail_and_packages.helpers] Copying file to: /config/custom_components/mail_and_packages/images/white.png
2021-03-23 11:04:12 DEBUG (SyncWorker_13) [custom_components.mail_and_packages.helpers] Informed Delivery email found processing...
2021-03-23 11:04:12 DEBUG (SyncWorker_13) [custom_components.mail_and_packages.helpers] Extracting image from email
2021-03-23 11:04:12 DEBUG (SyncWorker_13) [custom_components.mail_and_packages.helpers] Removing duplicate images.
2021-03-23 11:04:12 DEBUG (SyncWorker_13) [custom_components.mail_and_packages.helpers] Placeholder image found using: image-no-mailpieces700.jpg.
2021-03-23 11:04:12 DEBUG (SyncWorker_13) [custom_components.mail_and_packages.helpers] Removing USPS announcement images.
2021-03-23 11:04:12 DEBUG (SyncWorker_13) [custom_components.mail_and_packages.helpers] Image Count: 2
2021-03-23 11:04:12 DEBUG (SyncWorker_13) [custom_components.mail_and_packages.helpers] Resizing images to 724x320...
2021-03-23 11:04:12 DEBUG (SyncWorker_13) [custom_components.mail_and_packages.helpers] Creating array of image files...
2021-03-23 11:04:12 DEBUG (SyncWorker_13) [custom_components.mail_and_packages.helpers] Generating animated GIF
2021-03-23 11:04:12 INFO (SyncWorker_13) [custom_components.mail_and_packages.helpers] Mail image generated.
2021-03-23 11:04:12 DEBUG (SyncWorker_13) [custom_components.mail_and_packages.helpers] Sensor: usps_mail Count: 2
2021-03-23 11:04:12 DEBUG (SyncWorker_13) [custom_components.mail_and_packages.helpers] Sensor: usps_packages Count: 0
2021-03-23 11:04:12 DEBUG (MainThread) [custom_components.mail_and_packages] Finished fetching Mail and Packages (imap.gmail.com) data in 1.873 seconds
2021-03-23 11:04:12 DEBUG (MainThread) [custom_components.mail_and_packages.sensor] Updating system image path to: custom_components/mail_and_packages/images/
2021-03-23 11:04:38 DEBUG (MainThread) [custom_components.mail_and_packages.camera] Camera Update: usps_camera
2021-03-23 11:04:38 DEBUG (MainThread) [custom_components.mail_and_packages.camera] Camera Update: amazon_camera
2021-03-23 11:05:08 DEBUG (MainThread) [custom_components.mail_and_packages.camera] Camera Update: usps_camera
2021-03-23 11:05:08 DEBUG (MainThread) [custom_components.mail_and_packages.camera] Camera Update: amazon_camera
2021-03-23 11:05:38 DEBUG (MainThread) [custom_components.mail_and_packages.camera] Camera Update: usps_camera
2021-03-23 11:05:38 DEBUG (MainThread) [custom_components.mail_and_packages.camera] Camera Update: amazon_camera
2021-03-23 11:06:08 DEBUG (MainThread) [custom_components.mail_and_packages.camera] Camera Update: usps_camera
2021-03-23 11:06:08 DEBUG (MainThread) [custom_components.mail_and_packages.camera] Camera Update: amazon_camera
2021-03-23 11:06:38 DEBUG (MainThread) [custom_components.mail_and_packages.camera] Camera Update: usps_camera
2021-03-23 11:06:38 DEBUG (MainThread) [custom_components.mail_and_packages.camera] Camera Update: amazon_camera
2021-03-23 11:07:08 DEBUG (MainThread) [custom_components.mail_and_packages.camera] Camera Update: usps_camera
2021-03-23 11:07:08 DEBUG (MainThread) [custom_components.mail_and_packages.camera] Camera Update: amazon_camera
2021-03-23 11:07:38 DEBUG (MainThread) [custom_components.mail_and_packages.camera] Camera Update: usps_camera
2021-03-23 11:07:38 DEBUG (MainThread) [custom_components.mail_and_packages.camera] Camera Update: amazon_camera
2021-03-23 11:07:52 ERROR (MainThread) [frontend.js.latest.202103026] http://<IP_ADDRESS>:8123/local/lib/tingle.min.js:1:116 Uncaught TypeError: Cannot set property 'tingle' of undefined
2021-03-23 11:08:08 DEBUG (MainThread) [custom_components.mail_and_packages.camera] Camera Update: usps_camera
2021-03-23 11:08:08 DEBUG (MainThread) [custom_components.mail_and_packages.camera] Camera Update: amazon_camera
2021-03-23 11:08:38 DEBUG (MainThread) [custom_components.mail_and_packages.camera] Camera Update: usps_camera
2021-03-23 11:08:38 DEBUG (MainThread) [custom_components.mail_and_packages.camera] Camera Update: amazon_camera
2021-03-23 11:09:08 DEBUG (MainThread) [custom_components.mail_and_packages.camera] Camera Update: usps_camera
2021-03-23 11:09:08 DEBUG (MainThread) [custom_components.mail_and_packages.camera] Camera Update: amazon_camera
2021-03-23 11:09:10 WARNING (SyncWorker_6) [homeassistant.components.local_file.camera] Could not read camera mail_usps image from file: /config/www/usps/mail_today.gif
2021-03-23 11:09:12 DEBUG (SyncWorker_4) [custom_components.mail_and_packages.helpers] Created: 23-Mar-2021, Today: 23-Mar-2021
2021-03-23 11:09:12 DEBUG (SyncWorker_4) [custom_components.mail_and_packages.helpers] Image name: mail_none.gif
2021-03-23 11:09:12 DEBUG (SyncWorker_4) [custom_components.mail_and_packages.helpers] Created: 23-Mar-2021, Today: 23-Mar-2021
2021-03-23 11:09:12 DEBUG (SyncWorker_4) [custom_components.mail_and_packages.helpers] Amazon Image Name: no_deliveries.jpg
2021-03-23 11:09:12 DEBUG (SyncWorker_4) [custom_components.mail_and_packages.helpers] Image path: custom_components/mail_and_packages/images/
2021-03-23 11:09:12 DEBUG (SyncWorker_4) [custom_components.mail_and_packages.helpers] Sensor: mail_updated Count: Mar-23-2021 11:09 AM
2021-03-23 11:09:12 DEBUG (SyncWorker_4) [custom_components.mail_and_packages.helpers] Attempting to find mail from<EMAIL_ADDRESS>with subject (Item Delivered)
2021-03-23 11:09:12 DEBUG (SyncWorker_4) [custom_components.mail_and_packages.helpers] DEBUG imap_search: (FROM<EMAIL_ADDRESS>SUBJECT "Item Delivered" SINCE "23-Mar-2021")
2021-03-23 11:09:13 DEBUG (SyncWorker_4) [custom_components.mail_and_packages.helpers] Search for<EMAIL_ADDRESS>with subject (Item Delivered) results: b'' count: 0
2021-03-23 11:09:13 DEBUG (SyncWorker_4) [custom_components.mail_and_packages.helpers] Sensor: usps_delivered Count: 0
2021-03-23 11:09:13 DEBUG (SyncWorker_4) [custom_components.mail_and_packages.helpers] Attempting to find mail from<EMAIL_ADDRESS>with subject (Expected Delivery on)
2021-03-23 11:09:13 DEBUG (SyncWorker_4) [custom_components.mail_and_packages.helpers] DEBUG imap_search: (FROM<EMAIL_ADDRESS>SUBJECT "Expected Delivery on" SINCE "23-Mar-2021")
2021-03-23 11:09:13 DEBUG (SyncWorker_4) [custom_components.mail_and_packages.helpers] Searching for (Your item is out for delivery) in (0) emails
2021-03-23 11:09:13 DEBUG (SyncWorker_4) [custom_components.mail_and_packages.helpers] Search for (Your item is out for delivery) count results: 0
2021-03-23 11:09:13 DEBUG (SyncWorker_4) [custom_components.mail_and_packages.helpers] Search for<EMAIL_ADDRESS>with subject (Expected Delivery on) results: b'' count: 0
2021-03-23 11:09:13 DEBUG (SyncWorker_4) [custom_components.mail_and_packages.helpers] Sensor: usps_delivering Count: 0
2021-03-23 11:09:13 DEBUG (SyncWorker_4) [custom_components.mail_and_packages.helpers] Attempting to find mail from<EMAIL_ADDRESS>with subject (Delivery Exception)
2021-03-23 11:09:13 DEBUG (SyncWorker_4) [custom_components.mail_and_packages.helpers] DEBUG imap_search: (FROM<EMAIL_ADDRESS>SUBJECT "Delivery Exception" SINCE "23-Mar-2021")
2021-03-23 11:09:13 DEBUG (SyncWorker_4) [custom_components.mail_and_packages.helpers] Search for<EMAIL_ADDRESS>with subject (Delivery Exception) results: b'' count: 0
2021-03-23 11:09:13 DEBUG (SyncWorker_4) [custom_components.mail_and_packages.helpers] Sensor: usps_exception Count: 0
2021-03-23 11:09:13 DEBUG (SyncWorker_4) [custom_components.mail_and_packages.helpers] Attempting to find Informed Delivery mail
2021-03-23 11:09:13 DEBUG (SyncWorker_4) [custom_components.mail_and_packages.helpers] Informed delivery search date: 23-Mar-2021
2021-03-23 11:09:13 DEBUG (SyncWorker_4) [custom_components.mail_and_packages.helpers] DEBUG imap_search: (OR FROM<EMAIL_ADDRESS>FROM<EMAIL_ADDRESS>SUBJECT "Your Daily Digest" SINCE "23-Mar-2021")
2021-03-23 11:09:13 DEBUG (SyncWorker_4) [custom_components.mail_and_packages.helpers] Cleaning up image directory: /config/custom_components/mail_and_packages/images/
2021-03-23 11:09:13 DEBUG (SyncWorker_4) [custom_components.mail_and_packages.helpers] Checking for overlay files in: /config/custom_components/mail_and_packages/images/
2021-03-23 11:09:13 DEBUG (SyncWorker_4) [custom_components.mail_and_packages.helpers] Copying file to: /config/custom_components/mail_and_packages/images/overlay.png
2021-03-23 11:09:13 DEBUG (SyncWorker_4) [custom_components.mail_and_packages.helpers] Copying file to: /config/custom_components/mail_and_packages/images/vignette.png
2021-03-23 11:09:13 DEBUG (SyncWorker_4) [custom_components.mail_and_packages.helpers] Copying file to: /config/custom_components/mail_and_packages/images/white.png
2021-03-23 11:09:13 DEBUG (SyncWorker_4) [custom_components.mail_and_packages.helpers] Informed Delivery email found processing...
2021-03-23 11:09:13 DEBUG (SyncWorker_4) [custom_components.mail_and_packages.helpers] Extracting image from email
2021-03-23 11:09:13 DEBUG (SyncWorker_4) [custom_components.mail_and_packages.helpers] Removing duplicate images.
2021-03-23 11:09:13 DEBUG (SyncWorker_4) [custom_components.mail_and_packages.helpers] Placeholder image found using: image-no-mailpieces700.jpg.
2021-03-23 11:09:13 DEBUG (SyncWorker_4) [custom_components.mail_and_packages.helpers] Removing USPS announcement images.
2021-03-23 11:09:13 DEBUG (SyncWorker_4) [custom_components.mail_and_packages.helpers] Image Count: 2
2021-03-23 11:09:13 DEBUG (SyncWorker_4) [custom_components.mail_and_packages.helpers] Resizing images to 724x320...
2021-03-23 11:09:13 DEBUG (SyncWorker_4) [custom_components.mail_and_packages.helpers] Creating array of image files...
2021-03-23 11:09:13 DEBUG (SyncWorker_4) [custom_components.mail_and_packages.helpers] Generating animated GIF
2021-03-23 11:09:13 INFO (SyncWorker_4) [custom_components.mail_and_packages.helpers] Mail image generated.
2021-03-23 11:09:13 DEBUG (SyncWorker_4) [custom_components.mail_and_packages.helpers] Sensor: usps_mail Count: 2
2021-03-23 11:09:13 DEBUG (SyncWorker_4) [custom_components.mail_and_packages.helpers] Sensor: usps_packages Count: 0
2021-03-23 11:09:13 DEBUG (MainThread) [custom_components.mail_and_packages] Finished fetching Mail and Packages (imap.gmail.com) data in 1.830 seconds
2021-03-23 11:09:13 DEBUG (MainThread) [custom_components.mail_and_packages.sensor] Updating system image path to: custom_components/mail_and_packages/images/`

Based on the log output here, you're using the beta version.
So you'll need to check the "Create image for notification apps" by clicking "Options" on the Mail and Packages from the Integrations menu in Home Assistant.

Your image will then be placed in /config/www/mail_and_packages/ with a random filename ending in .gif
AND/OR
You could use the new cameras that have been created which already show you the images.

Thank you.  I just came back here to say I found the fix, and that was to use the new cameras that were created.  Much appreciated.


(BKR-1029) Updated the gen_hosts quickstart task to accept a prefix

Execution looks like:
$> bundle exec beaker init --hypervisor=vmpooler About to run - beaker-hostgenerator redhat7-64default.mdcal-redhat7-64af Writing default host config to file - ./.beaker/acceptance/config/default_vmpooler_hosts.yaml WARNING: Starting with beaker-hostgenerator 1.x platform strings for "el" hosts will correspond to the actual linux distribution name. ie, the platform string corresponding to a host specified as "centos4_64a" will be "centos-4-x86_64" rather than "el-4-x86_64". It is recommended that you update your project's test suites ASAP or be forced to do so when beaker-hostgenerator development moves on to the 1.x series. We don't intend to backport features or platforms to 0.x.
and:
$> bundle exec beaker init --hypervisor=vagrant About to run - beaker-hostgenerator ubuntu1404-64default.mdcal-ubuntu1404-64af, --hypervisor=vagrant, --global-config={box_url=https://vagrantcloud.com/puppetlabs/boxes/ubuntu-14.04-64-nocm,box=puppetlabs/ubuntu-14.04-64-nocm} Writing default host config to file - ./.beaker/acceptance/config/default_vagrant_hosts.yaml WARNING: Starting with beaker-hostgenerator 1.x platform strings for "el" hosts will correspond to the actual linux distribution name. ie, the platform string corresponding to a host specified as "centos4_64a" will be "centos-4-x86_64" rather than "el-4-x86_64". It is recommended that you update your project's test suites ASAP or be forced to do so when beaker-hostgenerator development moves on to the 1.x series. We don't intend to backport features or platforms to 0.x.

Refer to this link for build results (access rights to CI server needed):
http://jenkins-beaker.delivery.puppetlabs.net//job/qe_beaker_btc-intn/3387/

@ferglor I'd prefer not to add parameters to rake tasks & keep them as simple as possible. Is there a particular reason to add this?
Also, I'm a little confused as to the output above. Would you put line breaks in it so that it presents as it would on the CLI? Or does it actually present like that?

@kevpl sorry man, the code block I had was only wrapped in single back ticks
How should we go about storing the init artifacts in a .beaker/ folder? Are we eventually going to move away from using the quick start tasks, and implement the init functionality from the ground up as part of the subcommand work? If so, should we hold off on the .beaker/ folder stuff until then?

@ferglor I'm fine with storing the artifacts as you are in that folder, but the problem is that adding parameters to rake tasks just gives us another input layer.
The rake tasks are there for convenience only, they're not another way to configure beaker. We should only allow the minimum amount of things to be configurable through them, and if people want better handles into configuring beaker itself, then they should use beaker itself, starting by tweaking the commands that are run from the rake tasks themselves if they'd like.
In conclusion, I think that you have the right location, but that we shouldn't have this parameterized. This is us being opinionated about where this stuff goes, & if people want to be more customized, they should really use beaker, not use these rake tasks.

@kevpl oh, so just update the rake tasks to always write artifacts to .config?

.config? I thought you were using .beaker?
but yes, just make them always use the value, rather than taking a parameter to determine it.

@kevpl yes! sorry, watching the pdw training in the background

lol, me too

Refer to this link for build results (access rights to CI server needed):
http://jenkins-beaker.delivery.puppetlabs.net//job/qe_beaker_btc-intn/3481/

Refer to this link for build results (access rights to CI server needed):
http://jenkins-beaker.delivery.puppetlabs.net//job/qe_beaker_btc-intn/3485/

Refer to this link for build results (access rights to CI server needed):
http://jenkins-beaker.delivery.puppetlabs.net//job/qe_beaker_btc-intn/3486/

@puppetlabs-jenkins retest this please

Refer to this link for build results (access rights to CI server needed):
http://jenkins-beaker.delivery.puppetlabs.net//job/qe_beaker_btc-intn/3487/

@puppetlabs-jenkins retest this please

Refer to this link for build results (access rights to CI server needed):
http://jenkins-beaker.delivery.puppetlabs.net//job/qe_beaker_btc-intn/3488/


UI Upgrade for Schedule Page

Proposed UI

Would you like to work on the issue?
@the-dagger @mananwason Does the above proposed UI upgrade look good?

@shreyasnbhat
actually i made this mistake earlier.
According to the design guidelines items with two lines shouldnt be preferred for catdView.

@arp95  Alright I'll try to do better. :)

@shreyasnbhat Also according to Material design guidelines, we shouldn't use cards for similar content types, RV's should be preferred.


Add run on repl.it badge to README

This pull request adds a  badge to the . This will allow users to easily run this repository in their browser, without having to set up an environment. You can learn more about Repl.it here.

您好，您的邮件我已经收到，我会尽快回复！  谢谢！


⚠ Fortnite has degraded performance

In 13f7ac3, Fortnite (https://fortnite.com) experienced degraded performance:

HTTP code: 200
Response time: 1655 ms

Resolved: Fortnite performance has improved in 8c8a538.


Provide separate REST API schemas for CRUD and by context

The REST API schemas provided currently are only valid for reads (GET) and for the view and edit contexts. This has some problems:

The schemas aren't valid if you're trying to construct a create, update, or delete request
The schemas have fewer constraints than they should have for both the view and edit contexts as they currently cover both
The schemas are not valid for the embed context

Ideally separate schemas would be provided for each of the four request types (CRUD) and each of the three contexts (view, edit, and embed).
What I don't want to do though is maintain a bunch of schemas for each endpoint that are all similar. This needs to either use partials or be automated somehow.

Perhaps the entire set of REST API schema files need to be generated from OPTIONS requests to the actual endpoints, and this library provides transformation rules on a per-endpoint basis for adjustments.

For naming conventions, the HTTP verbs can't be used because POST can be used for both creating and updating.

Create: POST
Read: GET
Update: POST, PUT, PATCH
Delete: DELETE

Actually that might not be true, because to create an entity you POST to the collection endpoint and to update an entity you POST to the single item endpoint, and these have different schemas (although currently the collection schema is just an array of the single schemas).


vpp/dumper: add packet-generator interfaces

also output vpp sw_if_index to description field
of interfaces when dumping vpp config.

Signed-off-by: Dave Wallace<EMAIL_ADDRESS>

PTAL, small refactor suggested and a cast issue.

a cast issue

Duh, this is why I like f-strings --> no need to police type casting, just let the object figure out how to convert itself to a string. ;)
I'll back out the description update for now, push a PR to convert all variable to string conversions to use f-strings, then push a separate PR after that to add the sw_if_index to the description field in dumper.
The last bit should have been a separate PR anyways, but I was being a bit lazy.


Change integrationtest behaviour so per default integration tests are started

Currently you have to define -Dsechub.integrationtest.running=true on each integration test launch configuration inside your IDE. This is very cumbersome if you start many tests.
The property and (also -Dsechub.integrationtest.longrunning=true` are only to avoid integration tests running at normal java server builds!
With this issue, the JUnit rule IntegrationTestSetup could be changed, so
-Dsechub.integrationtest.avoid.running=true
-Dsechub.integrationtest.avoid.longrunning=true
can be set for gradle builds for github actions + jenkins pipeline files
We could also provide a new gradle task  buildSechubServer which does a bootJar without calling integration tests etc.

Albert Tregnaghi<EMAIL_ADDRESS>Daimler TSS GmbH, imprint

But what about all other normal gradle tasks which are having a test task dependency? They would be always executed as well!
Maybe this idea is not so good as initially thought.


feat(delete): add pagination for older expenses

New feature added in commit 40ee721e397a907e242bd7c1568728841a7df679. Implements #10.


Form elements: how to trigger an event

How could an event get triggered on form elements like e.g. DbCheckbox or DbSelect ?

https://netbasal.com/simulating-events-in-angular-unit-tests-5482618cd6c6


Make unit tests fail with a descriptive error message if local ipfs daemon node is not running

Fixes #53

I may not understand how it works, but it does work. I've tested it out on my machine. Thanks for putting this together!

Thanks for your feedback!

@alexander255 Out of curiosity, is the def is_available exposed as a part of the client api set.  If not, any thoughts on value in doing so?  I stumbled across an issue in another consuming project oduwsdl/ipwb that showed interest in leveraging a daemon check api if it existed in py-ipfs-api .

@joshisa Thanks for pointing this out, I didn't think about the the broader issue at hand to be honest. The currently implementation is just a quick fix for the unit tests through, that just checks whether there is something running on the default IPFS host and port.
To formalize this we probably should add a new function (maybe ipfsapi.connect()?) that creates a new client instance and tries to call some API call (such as version()). On success you'd get the ipfsapi.Client-instance, on failure you'd get an exception. Do you think that'd be a proper solution?

That'd be alright I think. We could even check the version given against what we support and throw an error if it's unsupported.

On Aug 25, 2016, at 10:59 AM, Alexander Schlarb<EMAIL_ADDRESS>wrote:
@joshisa Thanks for pointing this out, I didn't think about the the broader issue at hand to be honest. The currently implementation is just a quick fix for the unit tests through, that just checks whether there is something running on the default IPFS host and port.
To formalize this we probably should add a new function (maybe ipfsapi.connect()?) that creates a new client instance and tries to call some API call (such as version()). On success you'd get the ipfsapi.Client-instance, on failure you'd get an exception. Do you think that'd be a proper solution?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.


Causes for "invalid jwt string" ?

Thanks to all.
I am new to both nginx and lua, so this is probably not an issue.
Just not sure where to turn now.
I am trying to extend the example by adding a user id.
Am I attempting something impossible, or do I need more help with syntax (nginx or lua??)
Many variations tried. The following seems closest...
I get a result for the gentoken location:
curl  http://<IP_ADDRESS>/gentoken/123
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOiIkdXNlciJ9.1fb3i8IsaAXL-syRWQzhiGruOUruCMzUxBxHtig3e8c

But I'm running out of ideas on the "invalid jwt string" response:
curl  http://<IP_ADDRESS>/verifytoken/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOiIkdXNlciJ9.1fb3i8IsaAXL-syRWQzhiGruOUruCMzUxBxHtig3e8c
{"verified":false,"reason":"invalid jwt string"}

        location  ~ ^/gentoken/(?<user>.+)$ {
		    add_header X-USER "$user";

            content_by_lua '
                local cjson = require "cjson"
                local jwt = require "resty.jwt"

                local jwt_token = jwt:sign(
                    "lua-resty-jwt",
                    {
                        header={typ="JWT", alg="HS256"},
                        payload={uid="$user"}
                    }
                )
                ngx.say(jwt_token)
            ';
        }
	location ~ ^/verifytoken/(?<tok>.+)$ {
            content_by_lua '
                local cjson = require "cjson"
                local jwt = require "resty.jwt"
                local jwt_obj = jwt:verify("lua-resty-jwt", "$tok")

                ngx.say(cjson.encode(jwt_obj))
            ';
        }

With apologies for polluting the issues here, my answer came from discovering ngx.var
payload={uid=ngx.var.user}
local jwt_obj = jwt:verify("lua-resty-jwt", ngx.var.tok)

With those changes, code works as expected.


deepEqual throws for 0 === -0

I believe that this behavior is not intended, if it is, please mark this as resolved.
When using should to compare 0 and -0 it throws an error when using eql or equal:
require(should)
(0).should.be.exactly(-0) // works
(0 === -0).should.be.true() // works
(0).should.eql(-0) // throws AssertionError: expected 0 to equal -0
(0).should.equal(0) // also throws

It also throws with deep comparisons:
({ 'a' : [ [ [ 0 ] ] ] }).should.eql({ 'a' : [ [ [ -0 ] ] ] })

Tested on 81e052a

Hi. That is really intended for .eql implementation. And all methods using
it.
That maybe very confusing, but if js have -0  and 0 should be way to
compare them.
23 Янв 2016 г. 18:27 пользователь "Vinícius Garcia" <
<EMAIL_ADDRESS>написал:

I believe that this behavior is not intended, if it is, please mark this
as resolved.
When using should to compare 0 and -0 it throws an error when using eql
or equal:
require(should)
(0).should.be.exactly(-0) // works
(0 === -0).should.be.true() // works
(0).should.eql(-0) // throws AssertionError: expected 0 to equal -0
(0).should.equal(0) // also throws
It also throws with deep comparisons:
({ 'a' : [ [ [ 0 ] ] ] }).should.eql({ 'a' : [ [ [ -0 ] ] ] })
—
Reply to this email directly or view it on GitHub.

Is there a work around, if I want 0 to eql(0)?
Because I am working with vectors (with sylvester.js), and sometimes they return -0 instead of 0.
I already found a way around but it's not very clean.

Sorry. There is no easy way. Only if your override .eql yourself.
You can copy Assertion.prototype.eql and use Assertion.add to check first
for zeros and call old .eql. probably right idea to add setting to
should.config like with prototypes equality. I am going to add it tomorrow.
So you can wait for tomorrow.
WDYT?
23 Янв 2016 г. 18:53 пользователь "Vinícius Garcia" <
<EMAIL_ADDRESS>написал:

Is there a work around, if I want 0 to eql(0)?
Because I am working with vectors (with sylvester.js), and sometimes they
return -0 instead of 0.
I already found a way around but it's not very clean.
—
Reply to this email directly or view it on GitHub
https://github.com/shouldjs/should.js/issues/99#issuecomment-174195743.

I think it's good. I can wait, thank you!

Hi, there added should.config.plusZeroAndMinusZeroEqual, like:
$ node
> var should = require('.')
undefined
> (-0).should.eql(0)
AssertionError: expected -0 to equal 0
    ...
> should.config.plusZeroAndMinusZeroEqual = true
true
> (-0).should.eql(0)
Assertion { ... }
>

It seems perfect for me.
If I use it as should = require('should/as-function')
Can I still access should.config?

But I found some problems accessing it
> // using nodejs interpreter
> should = require('.')
> should.config
undefined
> var should = require('.')
{ checkProtoEql: false, getFormatter: [Function] }

I noticed that if i use var should = require('.') it works, but I wasn't expecting it.
also:
> should.config.plusZeroAndMinusZeroEqual = true
> (-0).should.eql(0)
AssertionError: expected -0 to equal 0

Results for require('should') and require('should/as-function') the same - literally they return the same function.
This option not shown in should.config because by default it is assumed false so i did not added it manually.
Make sure you did npm i because all changes were done in should-equal.

Oh yeah it is working fine now, I needed to update should-equal.
Thank you btd, I'll close this issue as solved!

:+1:

Hi @btd, thank you for this, it helped me in about 1/3 of my total tests, and I hope I'm not taking too much of your time.
But I detected a bug when using this new configuration:
> var should = require('should')

>should([2,2,0]).eql( [2,2,1] )
AssertionError: expected Array ...

> should.config.plusZeroAndMinusZeroEqual = true
> should([2,2,0]).eql( [2,2,1] )
Assertion {
  obj: [ 2, 2, 0 ],
  anyOne: false,
  negate: false,
  params:
   { operator: 'to equal',
     expected: [ 2, 2, 1 ],
     message: undefined,
     details: '',
     showDiff: true } }

Note: Can I suggest a shorter name for this configuration? maybe this one:
should.config.discriminateMinusZero (default true)

Hi again @btd, I submitted a pull request to shouldjs/equal that should fix this bug. I hope it helps.

@VinGarcia thanks. Merged and published.

@VinGarcia good now?

Yep, it's good! Closing this issue, thank you!


Possible to have a detail page for apps?

If I'm looking to link someone to the app, it'd be helpful to have a route that takes in the app id.
For example, if I search 7zip like this:
https://scoop.sh/#/apps?s=0&d=1&o=true&q=7zip
I get several results:

But if I want to share the url with someone, they have to decipher which version I meant.
Is it possible to direct link to a specific app?  There are several links in each card to the main website, the licence, the commit, and the release version, but they all take me off the scoop website.  But I couldn't find a way to click to load a single app, similar to how npm handles this:
Search: https://www.npmjs.com/search?q=7zip
Detail: https://www.npmjs.com/package/7zip

A details page doesn't make much sense here, what information will it hold? Especially when the version link will take you to the manifest which contains all information about the package there is.

As @rashil2000 said, we are displaying already as much as we can in the search results. In the NPM example, they have much more info to display like the number of download/issues/dependencies...
But being able to share a link for a specific application could makes sense. I will try to draft something and make a proposal

That UI looks great, and I really like the deeplink ability. Does the id being used in the URL persist over time?

Yes the id is supposed to be stable. It's a hash of the manifest location in the form : repository + branch + manifest path.

@gpailler - that looks terrific.  Very intutitive.  Looks great on mobile too

Thanks for the (positive 😊) feedback. It's deployed to https://scoop.sh/


Traffic reporting is still not working. No bandwidth for any interface. No IPSEC interface selection

Describe the bug
Still not seeing any throughput data on traffic graph.
Also unable to select IPSEC interface.
To Reproduce
Open dashboard. look at Traffic graph.
Open Reporting -> Traffic, look at graph.
Expected behavior

To see bandwidth data. Interestingly something is sort of working, as you can see in the screenshot below of the Reporting->Traffic page, "Top Hosts" is displaying data, but bandwidth is not available for the interfaces that are selectable.

To be able to select IPSEC as an interface.

Screenshots

Environment
ESXi Virtual machine (ESXi/vCenter 6.7)
Network: VMXNET3
OPNsense 20.7.6 (amd64, OpenSSL).
Dual Intel(R) Xeon(R) CPU E5-2620<EMAIL_ADDRESS>(physical)
VM = 4x vCPU.

Still no help on this problem?
I don't think support tag is appropriate, since clearly this is a bug. The fact that I cannot select and see IPSEC traffic makes me think that it was not implemented properly. The previous iteration could do this.
Secondly, I did a fresh build and added my backup config. It still does not work.

Still no help on this problem?
I don't think support tag is appropriate, since clearly this is a bug. The fact that I cannot select and see IPSEC traffic makes me think that it was not implemented properly. The previous iteration could do this.
Secondly, I did a fresh build and added my backup config. It still does not work.

@Stifler6996
Hi
Just curious - which network driver are you using for this OPNsense guest? ... and since this is virtualized, have you installed the VMware tools from System > Firmware > Plugin? I do not know if this will help though :)

@Stifler6996
Hi
Just curious - which network driver are you using for this OPNsense guest? ... and since this is virtualized, have you installed the VMware tools from System > Firmware > Plugin? I do not know if this will help though :)

@psychogun
Hi,
For all my vNIC's I am using VMXNET3. Yes, I do have the os-vmware plugin installed.
The things that I can confirm are:

If I disable IDS - the monitoring will start working. The problem still exists in the IDS package(s).
Using IDS, I have IPS enabled (offloading disabled) and Promiscuous Mode enabled.
I have tried adding "net.bpf.zerocopy_enable" in tunables (and a reboot), with no success.

I'm not too fond of familiar with bsd, I was hoping to see if I could confirm a vmxnet module was loaded but apparently modprobe type commands don't exist. and klist/lkdload didn't appear to be particularly helpful.

@psychogun
Hi,
For all my vNIC's I am using VMXNET3. Yes, I do have the os-vmware plugin installed.
The things that I can confirm are:

If I disable IDS - the monitoring will start working. The problem still exists in the IDS package(s).
Using IDS, I have IPS enabled (offloading disabled) and Promiscuous Mode enabled.
I have tried adding "net.bpf.zerocopy_enable" in tunables (and a reboot), with no success.

I'm not too fond of familiar with bsd, I was hoping to see if I could confirm a vmxnet module was loaded but apparently modprobe type commands don't exist. and klist/lkdload didn't appear to be particularly helpful.


Support for plt.text

Attempting to use mplleaflet.show() on a matplotlib plot with text() objects added, causes a NotImplemented exception.

Is there any plan on implementing this feature?

Hi @josephhardinee. Would be great if u can add the functionality add text to maps.


Multi-monitor: Animations appear on adjacent monitor

Issue
When triggering a window animation, the window will appear on the adjacent monitor for the duration of the animation. This occurs whether the window is being brought into focus or is going 'off screen'. Once the animation is completed, the window on the adjacent monitor is no longer visible.
Relevant Setup Info
hyprctl monitors:
Monitor DP-1 (ID 0):
<EMAIL_ADDRESS>at 0x0
	active workspace: 1 (1)
	special workspace: -95 (special:Quake)
	reserved: 0 24 0 23
	scale: 1.50
	transform: 0
	focused: yes
	dpmsStatus: 1
	vrr: false
	solitary: 0
	activelyTearing: false
	disabled: false
	currentFormat: XRGB8888
Monitor DP-3 (ID 1):
<EMAIL_ADDRESS>at 2560x0
	active workspace: 10 (10)
	special workspace: 0 ()
	reserved: 0 24 0 23
	scale: 1.00
	transform: 0
	focused: no
	dpmsStatus: 1
	vrr: false
	solitary: 0
	activelyTearing: false
	disabled: false
	currentFormat: XRGB8888

Misc
The only thing I haven't tested is whether scale affects this or not since my setup involves two different scales. I'm not presently at my desktop; I can test later if needed, though I suspect the issue will persist even if both are at 1.0 scale.

If I get the chance, I can look into the issue further and attempt to offer a fix. C++ is not my forte, however.

Seems a duplicate of #58

...yep, it is. Closing.
I failed to do my due diligence here; just woke up this morning and wanted to get the things I noticed over the past two days posted and admittedly tunnel-visioned on doing just that.
I'll double-check my other issues I opened up a bit ago.

For reference https://github.com/hyprwm/Hyprland/issues/8349


Azure B2C - Update register app steps

The registration of an application only shows the implicit grant and hybrid flows options once you complete the registration. As such, the changes in this commit guide users to the correct location.
Also, it is required to have Access tokens (used for implicit flows) checked or errors are displayed due to permissions.

@kengaderdus

Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

@kengaderdus - Can you review this old PR?

@Official-James
Thank you for your contribution. Quick question though, are errors displayed when you test the app and user flow in portal or when you do it by running the sample .NET app app?

@Official-James
Thank you for your contribution. Quick question though, are errors displayed when you test the app and user flow in portal or when you do it by running the sample .NET app app?

Hey, @kengaderdus, I didn't get any errors after adding the changes I listed as part of this PR. As the options were no longer available on setup, it caused errors until going back into the config and checking the boxes that were required.

@kengaderdus - Do you have a reply for the contributor?
@MicrosoftDocs/public-repo-pr-review-team

@Official-James Thanks for your contribution!
Just realized these changes got its way to the docs, so I will close this one. #please-close


#2484: Added check for bad ID on getProvisionWatcherById

Signed-off-by: Brandon Forster<EMAIL_ADDRESS>PR Checklist
Please check if your PR fulfills the following requirements:

[X] The commit message follows our guidelines: https://wiki.edgexfoundry.org/display/FA/Contributor's+Guide
[X] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[X] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Other... Please describe:

What is the current behavior?
Fails newly added blackbox test when run in Mongo mode
Issue Number: Fixes #2484
What is the new behavior?
Passes blackbox test when run in Mongo mode
Does this PR introduce a breaking change?

[ ] Yes
[X] No

Are there any specific instructions or things that should be known prior to reviewing?
Other information

LGTM. I was able to reproduce the incorrect 500 Internal Server Error response on the master branch and verified the fix for Mongo now properly responds with a 404 Not Found and a response body of Invalid Obect ID
@cloudxxx8 or @jinlinGuan can you confirm these changes have fixed the underlying issue and matches the expectations of the Blackbox tests?

Codecov Report

Merging #2512 into master will increase coverage by 0.28%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master    #2512      +/-   ##
==========================================
+ Coverage   38.61%   38.89%   +0.28%
==========================================
  Files         145      145
  Lines       12823    12728      -95
==========================================
  Hits         4951     4951
+ Misses       7599     7504      -95
  Partials      273      273

Impacted Files
Coverage Δ

internal/core/metadata/rest_provisionwatcher.go
0.00% <0.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 d6a7479...49471d3. Read the comment docs.


Fetch all paginated AWS resources

Description
This starts fetching all AWS resources by using pagination. This was already achieved for the Cloudformation stacks with #1030. This PR also introduces it for the Queues, EC2 Instances, and Codepipelines.

Hi @vimtor 👋
Did you thumb up because you tested it out working? I don't have AWS so would like some help if possible 😄

Hi @vimtor 👋
Did you thumb up because you tested it out working? I don't have AWS so would like some help if possible 😄

Hi @pernielsentikaer I did not thumbs up the comment. I think you confused me with @victor-falcon
Any way I have an AWS account I could help you if you want ❤

@pernielsentikaer - Just tested out this PR with my AWS credentials and it looks good! 👍

Ah @vimtor, sorry 😄 You're always on my mind 🎹

Hi, @pernielsentikaer
Sure, I added a changelog and categories, screenshots were already added with #1259.


Unclear how to sign out of GH Android app

If you want this to be implemented, you should report it to the original app https://github.com/jonan/ForkHub. This app is just a copy.
This issue is probably the same as https://github.com/jonan/ForkHub/issues/119

Thanks @jonan


Can't remove Watchpoints item

I've added $dst variable, but I can't remove it. Clicking on the X button which is on top of the text, but still doesn't work. The debugger is not activate at that time.

Although the item disappears on the next run.

Should be fixed in v0.3.0


[FLINK-32031] Flink GCP Connector having issues with Conscrypt library

Upgraded the gcp bom library and added the relevant libraries to the project which have been removed from the underlying bom library
Updated one of the API's of pubsub as the original one is no longer used

@MartijnVisser - can you please take a look at this change?

@jayadeep-jayaraman Thanks for the PR! Just for my understanding, is Conscrypt a requirement when using newer Dataproc clusters?

Hi @MartijnVisser - I have added back the vcs.xml file and yes the conscrypt issue is happening with newer versions of Dataproc where the dataproc image provides the latest conscrypt jar whereas the connector via the google-cloud-libraries-bom was packing an older version of conscrypt library.
Regarding the dependency convergence issue I checked and found that these are happening because the google-cloud-libraries-bom version was upgraded. Can you suggest how to resolve these issues ?

Regarding the dependency convergence issue I checked and found that these are happening because the google-cloud-libraries-bom version was upgraded. Can you suggest how to resolve these issues ?

We usually pin the version of the dependency that has converged. See https://github.com/apache/flink-connector-elasticsearch/blob/main/pom.xml#L312-L317 for an example

@jayadeep-jayaraman I actually can't merge this PR, because it contains a merge commit. Normally I would rebase myself and push the changes, but since you've built this on top of main in your fork, I can't push to that branch. So you'll need to rebase yourself and force push these changes

are you referring to pushing the changing to 3.0 branch? Will the changes be merged to both the main and 3.0 branch? If yes then can this change be merged with main and I will create a separate PR for 3.0 branch with my changes, will that work?

are you referring to pushing the changing to 3.0 branch?

No, also in order to merge this to main, all commits in this PR need to be rebased and preferably also squashed. I can normally do that as a committer, but since your forked main branch is also protected, I can't force push to that branch.

Will the changes be merged to both the main and 3.0 branch?

Yes, because v3.0 is the currently actively released version and there hasn't been a reason yet for another new, minor version of this connector. So we can backport it for the next patch release of v3.0, but we need to make sure that this is also included for the next time a new minor/major version needs to be created.

Made the changes, pls check

@jayadeep-jayaraman I'm a bit surprised that d7ed02b76be15afdff0f9c8fc0805bc30ce6c559 is now appearing in this PR as a commit, that shouldn't have been the case when you rebased 😅


⚠ Bofrost.lu has degraded performance

In 008d64b, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1191 ms

Resolved: Bofrost.lu performance has improved in fa6c296 after 17 minutes.


The key abstraction of pipeline framework and component interface design

A Hello World Example

class Inc(Operator):
    @create_op_in_pipeline
    def __call__(self, x:int) -> int:
        return x+1

class Add(Operator):
    @create_op_in_pipeline
    def __call__(self, x1:int, x2:int) -> int:
        return x1+x2

@create_pipeline
def my_pipeline(x1:int, x2:int):
    inc1 = Inc()
    inc2 = Inc()
    add = Add()
    return add(inc1(x1), inc2(x2))

In this example, we have three operators in a pipeline, where add depends on the results of inc1 and inc2. Behind the scene, Towhee's compiler will create a DAG during the execution of my_pipeline. The DAG construction is driven by the operator decorator and pipeline decorator. When the program executes the line add(inc1(x1), inc2(x2)),  the decorator @create_op_in_pipeline will be called before the Operators' call method. It will put inc1, inc2, add into the pipeline's context, link the pipeline's input x1, x2 to inc1, inc2 respectively, and set inc1, inc2's output as add's input. The operators' dependencies are also settled during the DAG construction.
Main Components

To support the example mentioned above, Towhee needs five major components.

Operator An operator is a set of code that performs one step in the pipeline, such as preprocessing, model inference, postprocessing, etc. An operator is analogous to a function, in that it has a name, parameters, return values, and a body. Once involved in a pipeline, an operator will be construct as a node in the DAG.

Compiler There are two phase compilation. The first step is to convert a pipeline description (eg. my_pipeline) and operators (eg. Inc, Add) into a intermediate graph, where the variables, operators, dependencies are precisely described. The second step is to convert the intermediate graph to a backend executable, such as a local python-driven DAG, or a kubeflow pipeline.

Variable The data abstraction of pipeline, operator's inputs and outputs. It is partitionable and iterable. The difference of device memory, the cross-device memory copy, data transfer is also handled by Variable.

Pipeline The runtime scheduling context of a pipeline, including variables, tasks, and execution flow. All the statefull part during taks execution is maintained in Pipeline.

Engine The engine driving the task execution on a pipeline. It takes a Pipeline as its scheduling context, and performs all the necessary data paritition, operator parallelization, resource management, etc.

Works Remaining

Operator

[x] interface design
[x] internal key classes design
[x] docstrings
[ ] design proposal: operator abstraction

Pipeline

[x] interface design
[x] internal key classes design
[x] docstrings
[ ] design proposals

Engine

[x] interface design
[x] internal key classes design
[x] docstrings
[ ] design proposals

Variable

[x] interface design
[x] internal key classes design
[x] docstrings
[ ] design proposal: variable abstraction

Compiler

[x] interface design
[x] internal key classes design
[x] docstrings
[ ] design proposal: intermediate graph representation
[ ] design proposal: graph construction driven mechanism
[ ] design proposal: convert intermediate graph to initial pipeline context

@junjiejiangjjj

@junjiejiangjjj  I have made some preliminary works on pipeline framework design #5 . I think the IntermediateGraph and the PipelineContext is the key to bridge Compiler and Engine. We'd better settle this part before the rest of the design works.

The high-level DAG construction interface mentioned above (in 'A Hello World Example') will not be considered in Towhee v0.1. A low-level interface will be provided instead.

/reopen


error.c can't use calloc and OCI_FREE

The memory allocated
OCI_Error *err = (OCI_Error *) calloc(1, sizeof(*err));

but deleted with
OCI_FREE(err)

Either the allocation must be changed or the free function must be called instead of OCI_FREE since OCI_FREE tries to free the memory pointer -  sizeof(*mem_block) instead of the allocated memory using calloc

You're right indeed. Good catch :)
Fix committed !
Thanks for reporting :)
Regards,
Vincent


[PE-D][Tester C] able to mark attendance twice for the same person for the same date

This is related to the previous bug where you could delete the tutorial and the attendance of the person for that tutorial still persists. This allows the attendance of an infinite number of tutorials to be taken

Labels: severity.Medium type.FeatureFlaw
original: apollo-tan/ped#16

This is another evidence that issue #363 is a functionality bug rather than a feature flaw.
Will be solved in v1.6


Use of jsxImportSource breaks deno bundle

Per this convo, given the following deno.json:
{
  "compilerOptions": {
    "jsx": "react-jsx",
    "jsxImportSource": "https://esm.sh/preact"
  },
  "tasks": {
    "test": "deno run test.jsx",
    "bundle": "deno bundle test.jsx test.js"
  }
}

and the following test.jsx:
console.log(

)

export {}

running deno task test returns as expected:
Task test deno run test.jsx
{
  type: "div",
  props: {},
  key: undefined,
  ref: undefined,
  __k: null,
  __: null,
  __b: 0,
  __e: null,
  __d: undefined,
  __c: null,
  __h: null,
  constructor: undefined,
  __v: -1,
  __source: undefined,
  __self: undefined
}

but running deno task bundle throws an error:
Task bundle deno bundle test.jsx test.js
Check file:///........................../test.jsx
Bundle file:///........................./test.jsx
error: Unable to output during bundling.

Caused by:
    0: load_transformed failed
    1: failed to analyze module
    2: failed to resolve https://esm.sh/preact/jsx-runtime from file:///........................./test.jsx
    3: Cannot resolve "https://esm.sh/preact/jsx-runtime" from "file:///........................./test.jsx".

Moved to https://github.com/denoland/deno/issues/14233


Configurable compressRunOnSerialization for Roaring bitmaps.

To get the benefit of the changes in https://github.com/metamx/bytebuffer-collections/pull/15 we need to pass compressRunOnSerialization = true.

This is important.

Daniel Lemire, Gregory Ssi-Yan-Kai, Owen Kaser, Consistently faster and smaller compressed bitmaps with Roaring, Software: Practice and Experience, 2016.
http://arxiv.org/abs/1603.06549

👍

LGTM, 👍 , would be nice to make RLE enable by default in case it does not have any significant overheads.

@nishantmonu51 The main reason I didn't make it default was that the discussion in https://github.com/metamx/bytebuffer-collections/pull/15 indicated that the RLE containers are not readable by pre 0.5 versions of roaring. Druid updated to 0.5 in 0.8.2 (#1759), so that means bitmaps written with this option won't be readable by Druid 0.8.1 or earlier.
Maybe that's fine?
@lemire is the above correct?

@gianm
No, there should be no significant downside to activating run compression. In theory, there is a tiny overhead during serialization, but it is small, and often more than compensated by storage savings so that the end result is faster overall serialization. In the worst case, run compression brings little storage benefit and slightly lower performance, but there should be many cases where you have a large net win. We recommend it as the default.
As for compatibility problems...   I think that what you are saying is correct...

RLE containers are not readable by pre 0.5 versions of roaring.

... but I am not sure there is a problem.
Roaring is backward compatible. So the library will happily load bitmaps without run compression. The older versions of the library will balk at bitmaps with run compression, but then why would it ever have to read them? It would only be a problem if someone upgraded Druid, rewrote the indexes, and then downgraded Druid... then you'd get (clean) exceptions (something about an unrecognized cookie).
If this ever happened and you wanted to make you index "go back in time", that is, undo the added compression, the Roaring API got you covered if you ever want to support this... https://github.com/RoaringBitmap/RoaringBitmap/blob/master/src/main/java/org/roaringbitmap/buffer/MutableRoaringBitmap.java#L1194
Please note that Roaring uses header cookies. This comes at a tiny cost storage-wise, but it has the benefit that the Roaring bitmaps are "self described". It limits the risk regarding data corruption. That is, you don't get Roaring trying to load and interpret garbage... instead, it balks after reading one word and throws up an exception which you can quickly interpret.

It would only be a problem if someone upgraded Druid, rewrote the indexes, and then downgraded Druid...

Yeah, that's the case I was thinking of. It can happen when someone updates a cluster, decides something about it isn't working for them after a few days, and rolls it back. Maybe that's fine though, we could point this out in the release notes and anyone concerned about that could set the property to false until they're confident they won't need to roll back.
I'm OK with setting the default to "true" and including something in the release notes. Anyone care to chime in on that plan?

@gianm 👍  We only officially support version-to-version upgrades, not jumping around. So as long as a rollback can occur between, say, 0.9.2 and 0.9.1, I think its OK. Anyone expecting to roll back to 0.8.1 from 0.9.2 has other problems.

@fjy @nishantmonu51 @drcrallen @lemire I changed the default to true and updated the docs

thanks @gianm