InvalidArgumentError of evaluate_model in show-attend-and-tell

Can anyone help me to solve this problem?
In the evaluate_model.py , when I run the    solver.test(data, split='val')  . I got the error like this:
INFO:tensorflow:Restoring parameters from ./model/lstm/model-19

InvalidArgumentError                      Traceback (most recent call last)
 in ()
----> 1 solver.test(data, split='val')
/home/guanlida/show-attend-and-tell-tensorflow/core/solver.pyc in test(self, data, split, attention_visualization, save_sampled_captions)
195             features_batch, image_files = sample_coco_minibatch(data, self.batch_size)
196             feed_dict = { self.model.features: features_batch }
--> 197             alps, bts, sam_cap = sess.run([alphas, betas, sampled_captions], feed_dict)  # (N, max_len, L), (N, max_len)
198             decoded = decode_captions(sam_cap, self.model.idx_to_word)
199
/home/guanlida/anaconda2/lib/python2.7/site-packages/tensorflow/python/client/session.pyc in run(self, fetches, feed_dict, options, run_metadata)
787     try:
788       result = self._run(None, fetches, feed_dict, options_ptr,
--> 789                          run_metadata_ptr)
790       if run_metadata:
791         proto_data = tf_session.TF_GetBuffer(run_metadata_ptr)
/home/guanlida/anaconda2/lib/python2.7/site-packages/tensorflow/python/client/session.pyc in _run(self, handle, fetches, feed_dict, options, run_metadata)
995     if final_fetches or final_targets:
996       results = self._do_run(handle, final_targets, final_fetches,
--> 997                              feed_dict_string, options, run_metadata)
998     else:
999       results = []
/home/guanlida/anaconda2/lib/python2.7/site-packages/tensorflow/python/client/session.pyc in _do_run(self, handle, target_list, fetch_list, feed_dict, options, run_metadata)
1130     if handle is None:
1131       return self._do_call(_run_fn, self._session, feed_dict, fetch_list,
-> 1132                            target_list, options, run_metadata)
1133     else:
1134       return self._do_call(_prun_fn, self._session, handle, feed_dict,
/home/guanlida/anaconda2/lib/python2.7/site-packages/tensorflow/python/client/session.pyc in _do_call(self, fn, *args)
1150         except KeyError:
1151           pass
-> 1152       raise type(e)(node_def, op, message)
1153
1154   def _extend_graph(self):
InvalidArgumentError: transpose expects a vector of size 1. But input(1) is a vector of size 2
[[Node: transpose_1 = Transpose[T=DT_FLOAT, Tperm=DT_INT32, _device="/job:localhost/replica:0/task:0/gpu:0"](Squeeze, transpose_1/perm)]]
Caused by op u'transpose_1', defined at:
File "/home/guanlida/anaconda2/lib/python2.7/runpy.py", line 174, in _run_module_as_main
"main", fname, loader, pkg_name)
File "/home/guanlida/anaconda2/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/home/guanlida/anaconda2/lib/python2.7/site-packages/ipykernel_launcher.py", line 16, in
app.launch_new_instance()
File "/home/guanlida/anaconda2/lib/python2.7/site-packages/traitlets/config/application.py", line 658, in launch_instance
app.start()
File "/home/guanlida/anaconda2/lib/python2.7/site-packages/ipykernel/kernelapp.py", line 477, in start
ioloop.IOLoop.instance().start()
File "/home/guanlida/anaconda2/lib/python2.7/site-packages/zmq/eventloop/ioloop.py", line 177, in start
super(ZMQIOLoop, self).start()
File "/home/guanlida/anaconda2/lib/python2.7/site-packages/tornado/ioloop.py", line 888, in start
handler_func(fd_obj, events)
File "/home/guanlida/anaconda2/lib/python2.7/site-packages/tornado/stack_context.py", line 277, in null_wrapper
return fn(*args, **kwargs)
File "/home/guanlida/anaconda2/lib/python2.7/site-packages/zmq/eventloop/zmqstream.py", line 440, in _handle_events
self._handle_recv()
File "/home/guanlida/anaconda2/lib/python2.7/site-packages/zmq/eventloop/zmqstream.py", line 472, in _handle_recv
self._run_callback(callback, msg)
File "/home/guanlida/anaconda2/lib/python2.7/site-packages/zmq/eventloop/zmqstream.py", line 414, in _run_callback
callback(*args, **kwargs)
File "/home/guanlida/anaconda2/lib/python2.7/site-packages/tornado/stack_context.py", line 277, in null_wrapper
return fn(*args, **kwargs)
File "/home/guanlida/anaconda2/lib/python2.7/site-packages/ipykernel/kernelbase.py", line 283, in dispatcher
return self.dispatch_shell(stream, msg)
File "/home/guanlida/anaconda2/lib/python2.7/site-packages/ipykernel/kernelbase.py", line 235, in dispatch_shell
handler(stream, idents, msg)
File "/home/guanlida/anaconda2/lib/python2.7/site-packages/ipykernel/kernelbase.py", line 399, in execute_request
user_expressions, allow_stdin)
File "/home/guanlida/anaconda2/lib/python2.7/site-packages/ipykernel/ipkernel.py", line 196, in do_execute
res = shell.run_cell(code, store_history=store_history, silent=silent)
File "/home/guanlida/anaconda2/lib/python2.7/site-packages/ipykernel/zmqshell.py", line 533, in run_cell
return super(ZMQInteractiveShell, self).run_cell(*args, **kwargs)
File "/home/guanlida/anaconda2/lib/python2.7/site-packages/IPython/core/interactiveshell.py", line 2717, in run_cell
interactivity=interactivity, compiler=compiler, result=result)
File "/home/guanlida/anaconda2/lib/python2.7/site-packages/IPython/core/interactiveshell.py", line 2827, in run_ast_nodes
if self.run_code(code, result):
File "/home/guanlida/anaconda2/lib/python2.7/site-packages/IPython/core/interactiveshell.py", line 2881, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "", line 1, in
solver.test(data, split='val')
File "core/solver.py", line 188, in test
alphas, betas, sampled_captions = self.model.build_sampler(max_len=20)    # (N, max_len, L), (N, max_len)
File "core/model.py", line 216, in build_sampler
betas = tf.transpose(tf.squeeze(beta_list), (1, 0))    # (N, T)
File "/home/guanlida/anaconda2/lib/python2.7/site-packages/tensorflow/python/ops/array_ops.py", line 1285, in transpose
ret = gen_array_ops.transpose(a, perm, name=name)
File "/home/guanlida/anaconda2/lib/python2.7/site-packages/tensorflow/python/ops/gen_array_ops.py", line 3658, in transpose
result = _op_def_lib.apply_op("Transpose", x=x, perm=perm, name=name)
File "/home/guanlida/anaconda2/lib/python2.7/site-packages/tensorflow/python/framework/op_def_library.py", line 767, in apply_op
op_def=op_def)
File "/home/guanlida/anaconda2/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 2506, in create_op
original_op=self._default_original_op, op_def=op_def)
File "/home/guanlida/anaconda2/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 1269, in init
self._traceback = _extract_stack()
InvalidArgumentError (see above for traceback): transpose expects a vector of size 1. But input(1) is a vector of size 2
[[Node: transpose_1 = Transpose[T=DT_FLOAT, Tperm=DT_INT32, _device="/job:localhost/replica:0/task:0/gpu:0"](Squeeze, transpose_1/perm)]]
In this program, when I try using the whole dataset of MS COCO, I found that I got memory error on my GPU  (NVIDIA TITAN XP), so I only use 10% of the train data to train the model and set the batch_size from 128 to 1 in the train.py. I completed the train.py and got the model in the lstm file. But when I want to run the evaluate_model finally, I change the dim_hidden from 1500 to 1024 and in the In[4]
solver = CaptioningSolver(model, data, data, n_epochs=15, batch_size=1, update_rule='adam', learning_rate=0.0025, print_every=2000, save_every=1, image_path='./image/val2014_resized', pretrained_model=None, model_path='./model/lstm', test_model='./model/lstm/model-19', print_bleu=False, log_path='./log/')
I changed the batch to 1 and the test_model from lstm3 to lstm(because there is not a file named lstm3). Those are my all change and I think when I changed the parameter, the shape or the dimension of the tensor has changed, so I got this error.

I have already solved the problem. And I find that I shouldn't change the batch_size in the model since the shape of the tensor will change. So if your memory is not enough, rather than change the batch_size, you only need to change the number of the train dataset. This code is fantastic and I will lean it further.

I have same problem, when batch_size=128,it works, but batch_size=1,
tensorflow transpose expects a vector of size 1. But input(1) is a vector of size 2
which means this code failed:
betas = tf.transpose(tf.squeeze(beta_list), (1, 0)) # (N, T)
do you know the reason? and when you just want to test 1 picture, how to do it?
and @yunjey  can you give some advise? thx


High urgency fixes

This PR fixes...

[HIGH URGENCY] #54
[NO URGENCY] #53
[HIGH URGENCY] #49
[NO URGENCY] Some spelling mistakes

The version was also bumped to 2.0.1 to accommodate for these patches.
cc/ @jonataslaw

Thanks for that!
LGTM


[7607] - Normalise emails before saving

Context
https://trello.com/c/AEuMWFoC/7607-normalise-email-addresses-before-saving
Changes proposed in this pull request
Downcase email addresses as well as removing whitespace before saving.
Guidance to review
Important business

[ ] Does this PR introduce any PII fields that need to be overwritten or deleted in db/scripts/sanitise.sql?
[ ] Does this PR change the database schema? If so, have you updated the config/analytics.yml file and considered whether you need to send 'import_entity' events?
[ ] Do we need to send any updates to DQT as part of the work in this PR?
[ ] Does this PR need an ADR?

NB: Please notify the #twd_data_insights team and ask for a review if new fields are being added to analytics.yml

Do we need a migration to have all the existing email to be down-cased?

I was thinking it might be something that could be accomplished via the console. I'll get a count to see how many would have to be changed.

There are 45 User accounts with non-unique email addresses and 1190 Trainee records with non-unique email addresses. I've filtered out all of the records with discarded_at set to anything other than nil. I think identifying and cleaning up the data is a task in itself. @tomtrentham what do you think?

There are 45 User accounts with non-unique email addresses and 1190 Trainee records with non-unique email addresses. I've filtered out all of the records with discarded_at set to anything other than nil. I think identifying and cleaning up the data is a task in itself. @tomtrentham what do you think?

@kennyevil Yes, this sounds like a task in itself. I think it can be legitimate to have more than one Trainee record with the same email address, but for Users we should do more investigation.

@tomtrentham As discussed, I believe this will be safe to merge now and we can clean up the duplicate accounts independently. The risk is that users might not be able to update their email addresses if there's another account with an identical email address, but it should stop further accounts with duplicate email addresses being created.


Error when compiling: revel.AppLog.Info in revel 1.8

After upgrading to Revel 1.8, I am experiencing the following compilation error when running revel build
Abort: Failed to build: Go Compilation Error (in app/tmp/main.go:30): undefined: revel.AppLog in revel.AppLog.Info
This is not OS specific and has happened both on my local machine and on my docker images.
Output of revel version
DEBUG 17:22:21  revel  server.go:27: RegisterServerEngine: Registered engine   section=server name=go  ~ ~ revel! http://revel.github.io ~ Version(s):    Revel v0.18.0 (2017-10-30)    go1.8.3 linux/amd64

Are you using a vendor version of revel ? it looks like the github.com/revel/revel that Go is compiling against is not the correct version.

I have been using the official revel version.  I have only installed revel through
go get -u github.com/revel/revel' and go get -u github.com/revel/cmd/revel`.

Can you verify that $GOPATH/src/github.com/revel/revel/logger folder exists ?

Folder certainly exists and contains these files:
doc.go  format.go  handlers.go  logger.go  utils.go

And you are sure there are no vendor folders in your project ? If you check the file $GOPATH/src/github.com/revel/logger.go The field is really there. So I am thinking maybe the go compiler is using another folder ?

Ah there it is, I should not have been using glide the way I was, my vendor folder was the culprit.   Thanks for the help!


video branch's problem

I generate the data following readme, but when I run the test.py, the data can not be used. And the error informations as follows.

The error occured here

I check the data, it is a dict not a list.
But I follow the readme to generate the data in video branch. Maybe any mistakes I missed.

Sorry, it could related to dataset or package versions, and I cannot think of any specific reason for this. Maybe you need to set a breakpoint and see.


improve posix compatibility of command/process substitution and job/coproc

related to #295

close in commit 738aee06931361c9c2c73a61a630260c3e8ebe48


stanag4676 packaging

The extensions/formats/stanag4676/service libraries are getting picked up by a find command used by the RPM packaging script and included into the /usr/local/geowave/tools/plugins directory.

Fixed with #522


Can't properly use Helix editor with mprocs

The whole screen doesn't seem to update when I open hx.

I can't see the command that I am typing. The following is after typing ":q".

OS: Windows 10
Terminal Emulator: cmd

The second error with the wrong terminal size is now fixes in master. I will release a new version tomorrow.
As per the first screenshot, I installed helix with scoop and it shows full purple background in both cmd and Windows Terminal. But I tried it on Windows 11. Do you think that your helix config makes the background transparent?

Thank you. I am not sure about transparent background, but I have not modified Helix cfg. I am running the binary downloaded from the release pages as-is.

The error with the terminal size was fixed in mprocs 0.4.0. And for now I can't do anything with the background problem, since I can't reproduce the issue.

The terminal size issue fix is working. About the background problem, I confirm it is no configuration related as it happens with neovim aswell. I also tested it with Windows Terminal App.

Fyi for anyone else running into this issue, I found that the current master branch fixes the transparent bg issue. Since there hasn't been a release in a while you can install it from source with cargo install --git https://github.com/pvolok/mprocs.git mprocs.


clients get created in current directory

Describe the bug
outDir is always cwd so clients get created in current directory.
To Reproduce
Steps to reproduce the behavior:

open-rpc-generator-client -d https://raw.githubusercontent.com/etclabscore/ethereum-json-rpc-specification/master/openrpc.json
ls
See typescript and rust in cwd

Expected behavior
it should take the OpenRPC document's info.title and use that, the same way it does for the Class name for the generated client.
Resources
https://github.com/open-rpc/generator-client/blob/d3fe19d886c103374f55c690a9033f2cf47e9676/src/index.ts#L66

Is it because the user doesn't pass it in? Do you need like a default.

we always set it to cwd, seems kind of weird not to create an intermediate directory, just dumping typescript dir to my cwd doesnt seem right.
thoughts @BelfordZ ?

Suggested that we accept an option -o, --output that is the directory to output the clients to.


test remove title

Docs Build status updates of commit 9321abb:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-edge/progressive-web-apps.md
:white_check_mark:Succeeded

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


Issue with $.isDOMReady at dom-extend.js:322

I'm running into an issue similar to #79.  The check for $.isDOMReady at dom-extend.js:322 is false, which in our environment is causing placeholders to not display in IE7/8/9.
At that point, in my case, both $isReady and isRead('DOM') both return true.  Would switching the test there to one of those two be acceptable?  When I do that, it fixes my immediate problem at least.
Another fix that works is to add $.isDOMReady = true; after polyfiller.js:634, which would be similar to the change you made to address #79.

Thanks for the detailed information. It turns out that issue #79 wasn't fully fixed. This is exactly the same problem.

You're welcome, and thanks so much for addressing it!


Added support for setting BSONDecoder.userInfo

This is a slightly modified version of the previously submitted and withdrawn pull request: https://github.com/OpenKitten/BSON/pull/44
This change enables application developers to set BSONDecoder.userInfo. A test was added in BSONCodableTests and it passes on High Sierra but it appears that none of the BSONCodableTests run on Linux so it has not been run there.
It also includes some changes to the original pull request:

It includes a test demonstrating that either a concern raised for the original pull request ("userInfo is passed to sub-decoders but not back up") is either not an issue or that I don't correctly understand the issue.
Minor access control changes required to allow clients from outside the module to use the userInfo features.

I didn't test it yet, but it looks good to me 🙂


fixed SimCapiValue parsing an empty array as [""]

oh, not everyone has to look, just tagging for visibility!

for context, this came up because I am preloading css and hence calling expose twice, on the second call it replaces my array with [""]

ah, just cause i can, and since simcapi needs to go through review to hit master, can you please remove this line:
https://github.com/SmartSparrow/simcapi-js/blob/master/app/scripts/api/snapshot/Transporter.js#L795
it does nothing meaningful anymore and all the tests get console flooded because mocha does a bunch of postMessage's
THANKS :tada:

Haha, sure!

🐘

🐘

whoops there is a 🐔  there


fix: type error in options parameter of mdxOptions

What & Why:
https://github.com/kentcdodds/mdx-bundler/pull/219#issuecomment-1894987818
It also contains a fix for the remark-mdx-images type error.
How:
Changed the type of the option parameter in the mdxOptions function. Updated the version of the dependency remarkMdxImages and the tsconfig to pass the tests.

Checklist:

[x] Documentation
[x] Tests
[ ] Ready to be merged

@CottonCandyZ should this be rebased and then reviewed again?

I rebased, seems no promble here.

Nice, great! @kentcdodds, how does it look to you?
If I understand correctly, I think this is an attempt to re-land #219


quick fix is not available

We currently only provide quick fixes that are also able to be fixed by xo --fix. This is not a fixable error fro what I can see here, and therefore should not have a quick fix. Quick fix seems to work fine for me.


make icon its own module

abstract the method to make icon markup into its own module.
this allows for it to be used in JavaScript environment that does not have access to nodeism like fs or __dirname (such as browserify or webpack).
this method could potentially be re-used in the browser asset bundle, as it is the same.
/cc @outpunk

@outpunk can you take a look at this when you get a chance?

@tnguyen14 thank you and sorry for keeping you waiting. Published the new version.


Version 4.13.2 on Mac: unexpected token error

Describe the bug
After installing amplify-cli via npm install -g @aws-amplify/cli. Running any amplify command throws an error.
/usr/local/lib/node_modules/@aws-amplify/cli/lib/plugin-manager.js:47
    catch {
          ^

SyntaxError: Unexpected token {
    at Generator.next (<anonymous>)
    at Object.Module._extensions..js (module.js:664:10)

Amplify CLI Version
4.13.2
To Reproduce

Install<EMAIL_ADDRESS>Run amplify configure .. or pretty much anything w/ amplify. Event amplify -v fails

Desktop:

OS: Mac : High Sierra : 10.13.6
Node Version: v8.16.0

Downgrading to V4.13.0 works fine.

@DanielLopez-nbcuni I see you're running Node 8, as Node 8 became unsupported the minimum version for Amplify CLI is Node 10. The problem probably you see is caused by ES6 compatibility in Node 8. Please upgrade to at least Node 10.

@attilah It would be great to document this change as well at https://aws-amplify.github.io/docs/ the first thing I checked was the Node version but the setup was informing Node 8 as minimum version.

Experienced the same issue. The main installation page still says that Node 8.x is required.
https://aws-amplify.github.io/docs/


HELP: how to run example with multi-nodes

Hi, I am interested in this project and try to run the example.
Can you give me some introduction on how to run the example with multi-raft nodes.

@KunPengRen integration-tests runs the kvs example to test the library. I think you can learn from this. In integration-tests, the test nodes are started on localhost but giving them normal IP addresses is also allowed. Actually, our team uses this library to deploy Raft applications in k8s cluster and normal virtual machines.

It is a little hard for me to understand the integration-tests.
From my understand,
first, I run a raft node and keep this node ip+prot
then, I use the API method api::AddServerReq and the first node id to run other nodes,
but the management of the membership part is hard for me to understand.
If you can provide a playground example that would be very appreciated.
I am going to use this library in my project, it is not complex, just using raft for a persistent kv-store

@KunPengRen

From my understand,
first, I run a raft node and keep this node ip+prot
then, I use the API method api::AddServerReq and the first node id to run other nodes,
but the management of the membership part is hard for me to understand.

Did you read this document? The section "Cluster Management" explains it.
https://akiradeveloper.github.io/lol/
You needs to know some participant of the cluster to join a node. But how can the first node to join a cluster when there is no existing cluster? For the initial cluster, I use cluster bootstrapping.
This is an example of forming a cluster of 4 nodes (A,B,C,D)

Commit AddServer(A) to A
Commit AddServer(B) to A
Commit AddServer(C) to A or B
Commit AddServer(D) to A or B or C


HTTPCORE-520: add HTTP Status code from RFC 6585

Jira Ticket: https://issues.apache.org/jira/browse/HTTPCORE-520

@sparsick Committed to master. Many thanks for contributing the patch.

My pleasure :)


Ip bind problem with rocket

Hello,
I have a vanilla server where i bound my local ip and everything worked properly. Recently I decided to create a rocket server. I did it but i've a problem. When I bind my local ip the server doesn't show up in server list and I can't connect, but when i don't bind my local ip i can see my server in server list but others people can't see it.
Thanks for your time.

I'm not sure that this is a RocketMod problem.

What's the problem ?


Migrate GroovyCompile (1 property)

Properties to migrate:

GroovyCompile#getGroovyClasspath

Fixed with https://github.com/gradle/gradle/pull/31201


Add set_dac_unit method to D5a instrument driver

Changes proposed in this pull request:

Add set_dac_unit method to D5a instrument for chaning the units and gain between volts and millivolts.

@astafan8

@astafan8 as there is no real need for .get()-ing the set_dac_unit parameter I converted it to a method as you suggested.

No, I don't mind. Thanks


Previously loaded patch not loaded when 'Load previous' is set to Yes.

Set load Previous preset setting to Yes.
Load a preset
Power cycle rack
Centre starts on a blank patch

I cannot reproduce this problem. I will do more research.


AMASS config.ini empty

The config.ini is empty, I tried removing config.ini and launching the app and it didnt get created at all :(
The reason is becasue file was removed which is why is empty
wget -q -O ~/.config/amass/config.ini https://raw.githubusercontent.com/owasp-amass/amass/master/examples/config.ini

is there any particular reason why you are installing 3.23 instead of the lastest one 4.20 ?
https://github.com/owasp-amass/amass/releases/tag/v4.2.0
thanks :)

so it looks like the deprecated confing.ini for config.yaml for the new release.
https://github.com/owasp-amass/amass/blob/master/examples/config.yaml

At the moment Amass v4 is not able to fetch only passive data because it always resolves the subdomains and only stores and outputs resolved and valid subdomains, that's why I stick to the older version: https://discord.com/channels/433729817918308352/433729817918308354/1220353439163482204
To fix the problem you mentioned, I uploaded the default config.ini for the latest v3 to my gists and the installer will pick it from there (https://gist.github.com/six2dez/b376488a1317242bfa3851e95875cb3b)
at https://github.com/six2dez/reconftw/commit/ea1b7affcfcfd7b39e49121c73c8ced8ff09683f
To be clear, I got it from here: https://github.com/owasp-amass/amass/archive/refs/tags/v3.23.3.zip

awesome thanks for the help :)


Form.RunModal Error when picking fields for Tables

I've compiled and uploaded the app to one of our BC test environments. It connects fine but when clicking to try and add columns:

It's returning the following error:
The following AL methods are limited during write transactions because one or more tables will be locked:

Form.RunModal is not allowed in write transactions.

Codeunit.Run is allowed in write transactions only if the return value is not used. For example, 'OK := Codeunit.Run()' is not allowed.

Report.RunModal is allowed in write transactions only if 'RequestForm = false'. For example, 'Report.RunModal(...,false)' is allowed.`

Settings appear fine as it's able to connect to ADLS using the account's etc.  Any idea of next steps to troubleshoot/fix or is there something obvious I might have missed in setting it up?

Thank you @coffeedave for pointing this out. This was indeed a bug introduced. The fix is merged into the main branch. Kindly get the latest from there.


sample with local collection please

Hi Daniel
I do not understand how I should implement $watchCollection()
I do not have a service I can call to get things sorted etc.
I have an array with data.
I declare where the data is
I declare what key is mapped to what column
From there offf. I expect the md-data-table to take care of the rest
I see the controller uses 'ngResource' .. in my eyes this dramastically reduces the use-cases where md-data-table can be used.
I compare current solution to http://iamisti.github.io/md-data-table/ where the model is very easy to understand. Unfortunally the markup is too limited in iamisti solution. So I need to go with this solution. I just need to understand how to use it.

Hi Daniel
Thanks a lot.
Now it is 2^10 times easier to understand

:+1:


Handle the case when the request to CC /state endpoint returns the async task instead of the result

Description
This PR attempts to fix https://github.com/banzaicloud/koperator/issues/828.
Currently marked this PR as draft until the change in the API module introduced with the https://github.com/banzaicloud/koperator/pull/975 PR is merged.
When the request on CC /state endpoint takes longer than webserver.request.maxBlockTimeMs, then CC will convert the request into an async task and will respond with the taskID instead of the result. The Koperator should handle this case by waiting for CC to complete the task.
The approach is the following:

When getting the state of Cruise Control we can have 2 possible scenarios

Cruise Control returns the actual state, in this case (as before) we just return the state and continue the reconciliation
Cruise Control converts the Status request into an async task and returns just the taskID, then:

We create a new CruiseControlOperation to track the progress of the Status request and requeue the reconciliation for later
Next time the reconciliation is started, we notice that there is already a Status CruiseControlOperation in progress and just request the latest status of this task. If not ready, then we requeue again. This step is repeated until the CC task is completed

Notes:

we will have no more than 1 Status CruiseControlOperation in progress for a kafkaClusterReference.
I added a default timeout of 5 minutes, meaning that if we get the Status of CC in more than 5 minutes, then we will consider this outdated and retry

Type of Change

[x] Bug Fix
[ ] New Feature
[ ] Breaking Change
[ ] Refactor
[ ] Documentation
[ ] Other (please describe)

Checklist

[x] I have read the contributing guidelines
[x] Existing issues have been referenced (where applicable)
[x] I have verified this change is not present in other open pull requests
[x] Functionality is documented
[x] All code style checks pass
[x] New code contribution is covered by automated tests
[x] All new and existing tests pass

 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.

Hey @bartam1, thank you for your review!
I addressed a few of the easier suggestions
I will be in vacation for a week, so I will not be responsive during this time.
The rest of suggestions I will be able to address starting with 29th of May.

New api tag has been created: https://github.com/banzaicloud/koperator/tree/api/v0.28.1

Thank you, @bartam1!
I upgraded github.com/banzaicloud/koperator/api to v0.28.1 and marked this pr as ready for review, let me know if there are other things to address

Hi @panyuenlau, there is the CC GET state endpoint that is corresponding with the newly added OperationStatus CruiseControlTaskOperation = "status", check CC REST API docs.
I used the status name instead of state just to be consistent with how it was used in Koperator until now (check CruiseControlScaler):
https://github.com/banzaicloud/koperator/blob/d00b18cb2eeeb85fd5f4e1075646100d7f7f2931/pkg/scale/types.go#L28
I don't know the reason why it's status in Koperator, but we can change everywhere from status to state to not create confusion in the future if you think it's better.

@aguzovatii Thank you for the explanation behind this!
I think it is fine in terms of this PR. We will refactor the naming in a separate PR if our team decide to go that way.

@aguzovatii Thank you for the explanation behind this!
I think it is fine in terms of this PR. We will refactor the naming in a separate PR if our team decide to go that way.


roBoolean, roDouble, roFloat, roInt implementation

This PR implements the following components:

roBoolean
roDouble
roFloat
roInt

I do recommend to add boxing to all these, just add:
in BrsType.js line 218
    box() {
        return new roBoolean(this);
    }

in Double.ts line 184
    box() {
        return new roDouble(this);
    }

And similar changes to Float.ts and Int32.ts

If my recommendation above of implementing boxing is done, it does fix the issue #300 about no being able to use .toStr() in integer variables.

@lvcabral Thank you for your review, your recommendations were implemented.

@sjbarag Thank for the review!


Can you add a license for this program?

Oh I guess I forgot to.
There we go.

Thank you very much.


ngModel.$setViewValue not accepting "-$xxx" instead of parenthesis "($xxx)"

Thanks, but there is bug if $filter('currency') is returning negative-sign , it is not supported in ngModel.$setViewValue function.
ngModel.$setViewValue("-$50") results below
=> ngModel.$viewValue = ""
=> ngModel.$modelValue = ""
But it works when using parenthesis "()" instead of negative-sign "-".
Please refer to previous issue. Which this is inconsistent accross both ngModel and $filter services.
https://github.com/angular/angular.js/issues/14163

Can you please provide a fully runnable example, in a plnkr.co or similar?

There's not enough information here to act. Please reopen when you can provide a demo.


Received notification from DBMS server

Getting the following error
Received notification from DBMS server: {severity: WARNING} {code: Neo.ClientNotification.Statement.UnknownPropertyKeyWarning} {category: UNRECOGNIZED} {title: The provided property key is not in the database} {description: One of the property names in your query is not available in the database, make sure you didn't misspell it or that the label is available when you run this statement in your application (the missing property name is: episodes)} {position: line: 15, column: 27, offset: 713} for query: '
                    CALL db.index.vector.queryRelationships("fact_embedding", $limit, $search_vector)
                    YIELD relationship AS rel, score
                    MATCH (n:Entity)-[r {uuid: rel.uuid}]-(m:Entity)
                    WHERE r.group_id IN $group_ids
                    RETURN
                        r.uuid AS uuid,
                        r.group_id AS group_id,
                        n.uuid AS source_node_uuid,
                        m.uuid AS target_node_uuid,
                        r.created_at AS created_at,
                        r.name AS name,
                        r.fact AS fact,
                        r.fact_embedding AS fact_embedding,
                        r.episodes AS episodes,
                        r.expired_at AS expired_at,
                        r.valid_at AS valid_at,
                        r.invalid_at AS invalid_at
                    ORDER BY score DESC
            '

When calling
results = await graphiti.search('Who was the California Attorney General?')
Using the test app
I installed from source

@yukiman76 what version of graphiti-core do you have installed?

I'm having the same problem running the Wizard of Oz example. I checked out the repo, so the version is https://github.com/getzep/graphiti/commit/ceb60a3d335a9e14970b43b4c6aadb2a75961aa0

@mobilemike Are you able to post your error message?

After elsewhere (maybe Discord?) I found someone mentioning that neo4j Desktop edition was the issue. After switching to docker hosed (Enterprise needed for the parallel backend) the problems went away.


roots of quadratic equation in java

Roots of Quadratic Equation in Java

@SayantanMaiti can please labelled it as hacktoberfest_accepted?


Problem with displaying order address on latest stable releases

Tested different approaches in shoppingcart_order.html.twig as
{{ order_address.address }}
{{ order_address.address1 }}
{{ order_address.address2 }}

but none of them works, tho
{{ order_address.zip }}
{{ order_address.city }}
{{ order_address.country }}

is no problem.
Referring to original file
All latest stable releases.

Depends on what data is stored in the order. What's an example of a order yaml?

Address is missing. From stored order:
products:
    - { product: { title: 'SMOKE HOODIE', id: 12775582d8413eeab96fa04d185f4481, price: '999', defaultPhoto: /user/pages/01.shop-all/01.smoke-hoodie/135.jpg, type: '', url: '%2Fshop-all%2Fsmoke-hoodie' }, quantity: '1' }
address:
    firstname: Carl
    lastname: XII
    email<EMAIL_ADDRESS>    telephone: '070000000'
    city: Wallisel
    zip: '7788'
    country: CH
    state: 'SMOKE HOODIE S '
    province: Zürich
shipping:
    method: '3-5 WORKINGDAYS - DHL'
    cost: '120.00'
payment:
    method: stripe
token and date etc

And  the current config for shoppingcart:
            name: address
            type: text
            label: PLUGIN_SHOPPINGCART.CHECKOUT_ADDRESS
            classes: js__billing__address
            id: js__billing__address2
            validate:
                required: true

Know this issue will be removed with the update, but very annoying... ^^

Ok so the issue is that it's not stored in the first place.
Paste your shoppingcart.yaml full form section and I'll try to replicate

Aight, here we go:
checkout_form:
    name: checkout
    id: checkout_form
    fields:
        -
            type: display
            content: PLUGIN_SHOPPINGCART.CHECKOUT_HEADLINE_YOUR_PERSONAL_DETAILS
            markdown: true

        -
            name: firstname
            type: text
            label: PLUGIN_SHOPPINGCART.CHECKOUT_FIRST_NAME
            classes: js__billing__firstname
            id: js__billing__firstname
            validate:
                required: true
        -
            name: lastname
            type: text
            label: PLUGIN_SHOPPINGCART.CHECKOUT_LAST_NAME
            classes: js__billing__lastname
            id: js__billing__lastname
            validate:
                required: true

        -
            name: email
            type: email
            label: PLUGIN_SHOPPINGCART.CHECKOUT_EMAIL
            classes: js__billing__email
            id: js__billing__email
            validate:
                required: true

        -
            type: display
            content: PLUGIN_SHOPPINGCART.CHECKOUT_HEADLINE_YOUR_ADDRESS
            markdown: true

        -
            name: address
            type: text
            label: PLUGIN_SHOPPINGCART.CHECKOUT_ADDRESS
            classes: js__billing__address
            id: js__billing__address2
            validate:
                required: true

        -
            name: telephone
            type: text
            label: PLUGIN_SHOPPINGCART.CHECKOUT_PHONE
            id: js__billing__telephone
            classes: js__billing__telephone
            validate:
                required: true

        -
            name: city
            type: text
            label: PLUGIN_SHOPPINGCART.CHECKOUT_CITY
            classes: js__billing__city
            id: js__billing__city
            validate:
                required: true

        -
            name: zip
            type: text
            label: PLUGIN_SHOPPINGCART.CHECKOUT_ZIP
            classes: js__billing__zip
            id: js__billing__zip
            validate:
                required: true

        -
            name: country
            type: select
            label: PLUGIN_SHOPPINGCART.CHECKOUT_COUNTRY
            classes: js__billing__country
            id: js__billing__country
            validate:
                required: true

        -
            name: state
            type: select
            label: PLUGIN_SHOPPINGCART.CHECKOUT_STATE
            classes: js__billing__state
            outerclasses: js__billing__state__control
            id: js__billing__state

        -
            name: province
            type: text
            label: PLUGIN_SHOPPINGCART.CHECKOUT_PROVINCE
            classes: js__billing__province
            outerclasses: js__billing__province__control
            id: js__billing__province

        -
            type: display
            content: PLUGIN_SHOPPINGCART.CHECKOUT_SHIPPING_METHOD
            markdown: true

        -
            name: shipping_method
            type: select
            label: PLUGIN_SHOPPINGCART.CHECKOUT_CHOOSE_SHIPPING_METHOD_DESC
            classes: js__shipping__method
            outerclasses: checkout-choose-shipping-block
            id: js__shipping__method
            validate:
                required: true

        -
            type: display
            content: PLUGIN_SHOPPINGCART.CHECKOUT_PAYMENT_METHOD
            markdown: true
            outerclasses: checkout-choose-payment-block-title

        -
            name: payment_method
            type: select
            label: PLUGIN_SHOPPINGCART.CHECKOUT_CHOOSE_PAYMENT_METHOD_DESC
            classes: js__payment__method
            outerclasses: checkout-choose-payment-block
            id: js__payment__method

        -
            name: agree_to_terms
            type: checkbox
            id: agreeing_to_terms
            label: PLUGIN_SHOPPINGCART.TERMS_AND_CONDITIONS
            validate:
                required: true

    buttons:
        -
            type: submit
            value: PLUGIN_SHOPPINGCART.CHECKOUT_BUTTON_PAY

Should now be working as expected


Change The Color of Alpha View

Expected Behavior
Have the ability to change or customize the background of alpha view
Actual Behavior
If the selected image contains a lot of color white, the check mark and the alpha view can't be shown as the image is selected !
Steps to Reproduce the Problem

Open Gallery
Select Image

Specifications

Image Picker Version: 2.3.0
Android OS: 11

Having a customizable item view is in the backlog of the library for a long time.
Will try to add the feature in 3.x.x

https://github.com/esafirm/android-image-picker/issues/390#issue-1032031178
Hope this can help you

I have added it. it is waited to review
https://github.com/esafirm/android-image-picker/pull/418


Add handling for the POST of invalid data to /api/v1/operation.

Fix #1866

As part of DEV testing, I supplied, in turn, the following incorrect and empty body each in with the request:

{"fake":"key"}
{}

As expected, got the expected error message back with the response:

"incorrect or malformed body was passed in with request"

Codecov Report

Merging #1892 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #1892      +/-   ##
==========================================
+ Coverage   43.12%   43.13%   +<.01%
==========================================
  Files         184      184
  Lines       11738    11740       +2
==========================================
+ Hits         5062     5064       +2
  Misses       6389     6389
  Partials      287      287

Impacted Files
Coverage Δ

internal/system/agent/executor/operation.go
100% <100%> (ø)
:arrow_up:

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 612c42d...e40998f. Read the comment docs.

The behavior of Edinburgh when invalid data is posted is the following:

Akrams-MacBook-Pro:edgex-go akramahmad$ curl --verbose -X POST -d '{"fake":"key"}' localhost:48090/api/v1/operation; echo
Note: Unnecessary use of -X or --request, POST is already inferred.
*   Trying ::1...
* TCP_NODELAY set
* Connected to localhost (::1) port 48090 (#0)
> POST /api/v1/operation HTTP/1.1
> Host: localhost:48090
> User-Agent: curl/7.54.0
> Accept: */*
> Content-Length: 14
> Content-Type: application/x-www-form-urlencoded
>
* upload completely sent off: 14 out of 14 bytes
* Empty reply from server
* Connection #0 to host localhost left intact
curl: (52) Empty reply from server

The Edinburgh implementation does not return anything as the response body. Instead, the runtime panics:

2019/10/16 13:42:04 http: panic serving <IP_ADDRESS>:34648: runtime error: invalid memory address or nil pointer dereference,
goroutine 671 [running]:,
net/http.(*conn).serve.func1(0xc0000928c0),
  /usr/local/go/src/net/http/server.go:1746 +0xd0,
panic(0x9c3960, 0xf0ef70),
  /usr/local/go/src/runtime/panic.go:513 +0x1b9,
github.com/edgexfoundry/edgex-go/internal/system/agent.operationHandler(0xb4bc00, 0xc00057c000, 0xc000142800),
  /go/src/github.com/edgexfoundry/edgex-go/internal/system/agent/router.go:71 +0x7e0,
net/http.HandlerFunc.ServeHTTP(0xaabdd0, 0xb4bc00, 0xc00057c000, 0xc000142800),
  /usr/local/go/src/net/http/server.go:1964 +0x44,
github.com/edgexfoundry/edgex-go/internal/pkg/correlation.OnRequestBegin.func1(0xb4bc00, 0xc00057c000, 0xc000142800),
  /go/src/github.com/edgexfoundry/edgex-go/internal/pkg/correlation/middleware.go:45 +0xa3,
net/http.HandlerFunc.ServeHTTP(0xc00038ef60, 0xb4bc00, 0xc00057c000, 0xc000142800),
  /usr/local/go/src/net/http/server.go:1964 +0x44,
github.com/edgexfoundry/edgex-go/internal/pkg/correlation.OnResponseComplete.func1(0xb4bc00, 0xc00057c000, 0xc000142800),
  /go/src/github.com/edgexfoundry/edgex-go/internal/pkg/correlation/middleware.go:31 +0x9e,
net/http.HandlerFunc.ServeHTTP(0xc00038ef80, 0xb4bc00, 0xc00057c000, 0xc000142800),
  /usr/local/go/src/net/http/server.go:1964 +0x44,
github.com/edgexfoundry/edgex-go/internal/pkg/correlation.ManageHeader.func1(0xb4bc00, 0xc00057c000, 0xc000142700),
  /go/src/github.com/edgexfoundry/edgex-go/internal/pkg/correlation/middleware.go:24 +0x1f0,
net/http.HandlerFunc.ServeHTTP(0xc00038efa0, 0xb4bc00, 0xc00057c000, 0xc000142700),
  /usr/local/go/src/net/http/server.go:1964 +0x44,
github.com/gorilla/mux.(*Router).ServeHTTP(0xc00018c3c0, 0xb4bc00, 0xc00057c000, 0xc00010e300),
  /go/pkg/mod/github.com/gorilla/mux@v1.7.0/mux.go:212 +0xd0,
github.com/gorilla/context.ClearHandler.func1(0xb4bc00, 0xc00057c000, 0xc00010e300),
  /go/pkg/mod/github.com/gorilla/context@v1.1.1/context.go:141 +0x8b,
net/http.HandlerFunc.ServeHTTP(0xc00015b500, 0xb4bc00, 0xc00057c000, 0xc00010e300),
  /usr/local/go/src/net/http/server.go:1964 +0x44,
net/http.serverHandler.ServeHTTP(0xc000163450, 0xb4bc00, 0xc00057c000, 0xc00010e300),
  /usr/local/go/src/net/http/server.go:2741 +0xab,
net/http.(*conn).serve(0xc0000928c0, 0xb4c440, 0xc000089500),
  /usr/local/go/src/net/http/server.go:1847 +0x646,
created by net/http.(*Server).Serve,
  /usr/local/go/src/net/http/server.go:2851 +0x2f5,

Spin a bug specific to Edinburgh covering the above behavior, reference this issue, and assign it to yourself to correct.
Does the code in Edinburgh indicate an error return that isn't happening because of the panic? If so, we should correct the code leading to the panic and return that value. If not, does the RAML have any clues what we should return for this use case?
Edinburgh needs to be fixed to return a proper response for this use case. Whatever response we fix it up to return should be the same response you implement to address #1892.
@akramtexas

I am following up, starting with the creation of a bug specific to Edinburgh, as follows: Issue-1932

Spin a bug specific to Edinburgh covering the above behavior, reference this issue, and assign it to yourself to correct.
Does the code in Edinburgh indicate an error return that isn't happening because of the panic? If so, we should correct the code leading to the panic and return that value. If not, does the RAML have any clues what we should return for this use case?
Edinburgh needs to be fixed to return a proper response for this use case. Whatever response we fix it up to return should be the same response you implement to address #1892.
@akramtexas

I am following up, starting with the creation of a bug specific to Edinburgh, as follows: Issue-1932

With the bug-fix applied to Edinburgh, the same response will now be implemented here to master.

This PR will also address Issue #1856 since we handle the case when the body supplied with POST is blank as well as when the POST body has invalid data.


[MB-6578] UpdateWebhookSubscription endpoint

Description
This is part of the Push Deploy work to add a new handler to update webhook subscriptions.
Reviewer Notes
Please play close attention to the tests for UpdateWebhookSubscription Handler and Service Object
The endpoint show allow updating of the following fields:
subscriber_id - not the id of the subscription, but links to which contractor this subscription is related to status (ACTIVE, FAILING, DISABLED), event_key, callback_url, severity
Setup
To test the endpoint in Postman

Add a new endpoint in postman for updateWebhookSubscription
Make sure that you are making a PATCH request with url: {{baseUrl}}/webhook_subscriptions/:webhookSubscriptionID
Construct a body similar to this example (this was generated by redoc)

{
  "subscriberId": "d494f114-05a2-4b39-840c-3d33243b7e29",
  "status": "ACTIVE",
  "callbackUrl": "string",
  "severity": 0,
  "eventKey": "string",
}

Follow [these instructions] (https://github.com/transcom/mymove/wiki/Test-Admin-and-Office-APIs-with-Postman) for copying the correct X-CSRF token into your Header in Postman
You should be able to send the request and receive a 200 response. Try some other variants to make sure they work.

To run tests
go test ./pkg/services/webhook_subscription -testify.m TestWebhookSubscriptionUpdater -failfast  -v
go test ./pkg/handlers/adminapi -testify.m TestWebhookSubscriptionUpdater -failfast  -v

References

Jira story for this change

Thanks for the feedback and reviews everyone!


Initial vscode-jupyter blog

Potential draft for blog post about using Jupyter notebooks with VSCode on NCAR systems.

Hello @neumanbrett ,
First and foremost, thanks so much for the blog post about this.  This looks fantastic.
I made a few minor suggestions on formatting.  I'd suggest adding a link for more information and getting started with VSCode too, but that is optional.
Thanks again @neumanbrett


feat: implement breadcrumb support through generouted/core

Export Path and Params.
Add a scenario example to generate breadcrumbs using generouted/core.

Although breadcrumb functionality has been implemented, I don't think this implementation is elegant. Is there a better way to implement it or will this feature be inherited into the official version in the future?


Test is broken: beep - count

This test does not check that there are 3 beeps.
The test suite passes both before my pull request #6 and after, even though it beeps twice before and three times after.

Regarding this test and #6, the test is still broken even though there were actually the right number of BEL characters. If you change the test to exit once there are, say, 10 beeps, but still only run beeper(3), the test suite still passes.


outdated dependencies

this example using lock v9, when up-to-date is 10.0. Also, electron-prebuilt is outdated.

Updated in this sample: https://github.com/auth0-samples/auth0-electron-samples/tree/master/00-Starter-Seed


kubectl plugin to check that nodes meet the openebs prerequisites

For OpenEBS volumes to function, there is a dependency on having iscsi-initiator installed on the nodes. A CLI tool like mayactl or kubectl plugin - should have an option to verify if such pre-requisites are met.
One way to implement this: CLI tool could identify the nodes that will run the stateful workloads and run the following test:

create a test volume
run a test pod(job) on the nodes and make sure nodes are able to attach to the volume
also verify that attach/detach works by changing the node assigned to a test pod

This is currently a WIP and can be tracked via following issue(s):

https://github.com/openebs/openebs/issues/2343

Hey @kmova! I am willing to get mentored for this issue for the Community Bridge program. Can you please help me in getting started with it?
Thanks


Clicking type expansion arrow on individual detections twice doesn't minimize the type selection window

These are native browser selection lists.  We have no control over shadow-dom behavior, this is how the Chrome team decided that element would work.  You can click off the input to close the selection window or hit escape or select an option.


Debugging no longer working since Sept 14th update

VSCode Version:

OS Version: Windows 10

Steps to Reproduce:
Debugging our typescript application using the app.ts file in the route was working right up to yesterday. It now does not start the app.
It appears to be related to the source maps setting = true in the launch.json as setting this to false and running against the app.js works.
This is critical to ours and I imagine many other peoples debug process.

@weinand might be fixed by now?

Nope :)

@mredbishop please try the latest Insider build.

Hey @weinand, I've just tried it and it still won't launch the debugger for ts files with the sourceMaps on.

@mredbishop what is the value of your 'outDir' attribute?

"configurations": [
    {
        // Name of configuration; appears in the launch configuration drop down menu.
        "name": "Debug Server",
        // Type of configuration. Possible values: "node", "mono".
        "type": "node",
        // Workspace relative or absolute path to the program.
        "program": "${workspaceRoot}/app.ts",
        // Automatically stop program after launch.
        "stopOnEntry": false,
        // Command line arguments passed to the program.
        "args": [
            "--color"
        ],
        // Workspace relative or absolute path to the working directory of the program being debugged. Default is the current workspace.
        "cwd": "${workspaceRoot}",
        // Workspace relative or absolute path to the runtime executable to be used. Default is the runtime executable on the PATH.
        "runtimeExecutable": null,
        // Optional arguments passed to the runtime executable.
        "runtimeArgs": [],
        // Environment variables passed to the program.
        "env": {},
        // Use JavaScript source maps (if they exist).
        "sourceMaps": true,
        // If JavaScript source maps are enabled, the generated code is expected in this directory.
        "outDir": "${workspaceRoot}",
        "request": "launch",
        "smartStep": true
    },

@weinand This is now fixed by the looks. Just ran the latest insiders update and tested it.
Thanks :)
Ed

@mredbishop the problem was probably the value of ${outDir}. Recently we changed the handling of outDir to search for all source maps eagerly and not only on demand. Due to this bug in our code we would stumble over the first broken or missing sourcemap while searching in ${outDir}. As long as you confine ${outDir} to only the folder where the generated code lives, the problem with broken or missing sourcemaps typically does not occur.
But since you are specifying ${workspaceRoot}, VS Code will search the node_modules folder as well. And there it is very likely that a broken source map exists.
The problem has been fixed in the latest, but I recommend that you still try to set ${outDir} to a subfolder of your project folder because this will speed up source map handling.
(In the September release VSCode will support globbing for the outDir attribute.)

duplicate of #12138

@weinand Unfortunately it would be a big change to our structure to move to a sub folder as our code is split between 3 main modules that are in directories off the root. We wouldn't do this if we were making a new app but this structure is legacy.
The globbing would ultimately solve the issue for us and really speed up our start time when debugging. When is that likely to make it to Insiders?
Thanks for all the updates by the way, we can't tell you how much time and effort is saved by having VS Code in our tool chain, It's awesome!

@mredbishop you can already use the globbing in Insiders. Just use the new outDirs attribute and specify an array, e.g. if your generated code lives in "out", "bin", and "dist" use this:
   "outDirs": [
      "${workspaceRoot}/out/**/*.js",
      "${workspaceRoot}/bin/**/*.js",
      "${workspaceRoot}/dist/**/*.js",
   ]

@mredbishop attribute name change ahead!:
in the next Insider build the name of the attribute "outDirs" will become "outFiles" to better reflect what those glob patterns specify. This name will be the final name appearing in the September release.

@weinand Thanks very much that's really great! We'll switch over once the name changes.

@mredbishop btw, you can express the three folders case more simple:
   "outDirs": [
      "${workspaceRoot}/{out,bin,dist}/**/*.js"
   ]

@mredbishop the current Insiders now supports the outFiles attribute.

Marking as verified as @mredbishop does not have the issue with the latest insiders


Some of the tests are failing if default port (7001) is already in use

Environment Details

Helidon Version: 1.4.1
Helidon SE or Helidon MP: both
JDK version: any
OS: any
Docker version (if applicable):

Problem Description
A number of tests are failing if port 7001 is in use when building Helidon, as they either don't specify the port or specify -1 as port number, which ends up using the default port (7001). Considering that this is the default port Helidon uses, this issue is very easy to hit when using Helidon to write custom applications and working on Helidon itself at the same time.
All the tests that start the server should explicitly specify port 0 in order to bind to an ephemeral port instead, which reliably eliminates the issue.
Steps to reproduce
Start any server on port 7001.
Try to build Helidon using mvn clean install

We will not fix this in 1.x
This should be resolved in 2.x and newer versions of Helidon. If not, please create a new issue (ideally with the test that fails).
We cannot do this for TCK tests, as they must run on a predefined port (8080)


Feature Request: kill switch

It would be great to implement a kill switch that prevents any network activity if the VPN is disabled if both Turn on mobile data and Tunnel all applications are enabled and the VPN is set to always-on

Hello! I'm not sure if I am understanding this correctly but are you requesting that the app stops your phone's network traffic if VPN is not running and you want it to always be running? I did a small amount of searching on this and I don't think this is something a typical android app can do. I could be wrong.

 This prevents you accidentally sending data outside of the secure VPN tunnel, because if the tunnel fails then you won't be able to send any data at all.
Android has a built-in 'Always-on VPN' setting but it's not foolproof: https://github.com/tailscale/tailscale/issues/1698
If you can provide an intent or other means (such as a password or PIN) to disable the ability to turn off the VPN in the app UI we could use that in combination with the native Always-On Android setting

Currently, the app does not integrate with Android's built in "Always-on" capability. I can see this as a useful feature to add in the future. We would not need to disable turning on and off the VPN in the app GUI because with "Always-on" enabled it will still stay connected to the VPN no matter how you manipulate the connection in the app. If you combine this with Android' "Block connections without VPN" setting I think you will get your desired result.

Yes, perfect. Happy to test when ready.

Works great, thanks!
Any chance you can auto-start the tunnel at boot? Always On prevented network access after reboot and force stop of app which is perfect but would be awesome to identify a preferred tunnel that auto-connects.

I rebooted my phone with always on enabled and it did start my tunnel again at boot. Did yours not do that?

I retried this morning and it worked. All good - thanks again!


Capybara with Selenium chrome headless driver showing inconsistent rending of association form fields

We have some automated system testing that roles thru all our models in rails_admin and tests each of the actions. The magic happens in a bunch of helpers from a class we call FormFiller. Right now upon upgrading to 2.0 we are having issues with how a few different html select fields are displayed. Normally in the UI you see select boxes hidden and replaced with nicer drop down autocompletes 👍 However when running these specs some fields don't render properly and instead just show a html select.

Enum
Seems to render normally the same way you see in the ui:

BelongsTo
Doesn't render normally and simply renders a html select:

I thought maybe it was a timing issue so I jammed this before we executed any capybara:
Timeout.timeout(Capybara.default_max_wait_time) do
  loop until page.evaluate_script("jQuery.active").zero?
end
# Capybara.default_max_wait_time = 5

But that didn't seem to do anything. This normally wouldn't be a problem as I would just use capybara select(value, from: field) however we have instances where the field does render properly so I came up with a hack to check, then do plan a or b depending on if the drop down field exists.

Polymorphic
This one is the main culprit that's blocking us. It only renders html selects. Also when we select(value, from: field) from the _type field (the first select from the polymorphic assoc) the ajax callback triggers as we can see it in the logs however the _id field doesn't get populated with data at all and only blank options are present. I suspect this is because the javascript callback is expecting to fill the dom element that replaces the html select but it's not there in the first place.

FWIW I have tried this in non-headless chrome and the fields seem to render properly however the ajax callback still does not work and the _id field options do not get populated.

Gemfile
rails-5.2.3
rails_admin-2.0.0
selenium-webdriver-3.142.6
webdrivers-4.1.2

Capybara Config
Capybara.register_driver :chrome_headless do |app|
  capabilities = Selenium::WebDriver::Remote::Capabilities.chrome(
    "goog:chromeOptions" => {
      "args" => %w[--headless --disable-gpu --silent-launch --window-size=1280,1280]
    },
    "goog:loggingPrefs" => {
      "browser" => "ALL",
      "driver" => "WARNING"
    } # INFO level on browser logs to capture console.log()
  )
  Capybara::Selenium::Driver.new(app, browser: :chrome, desired_capabilities: capabilities)
end

config.before(:each, type: :system, js: true) do
  driven_by :chrome_headless
end

And this is the only js error that was produced while running these specs in the console:
http://<IP_ADDRESS>:56689/assets/rails_admin/rails_admin-e50f160f875d235cf65aac6d83705b2d90e38659f33afe4e6a80d1a6ccf400e9.js 33049:30 Uncaught TypeError: Cannot read property 'too_many_objects' of undefined

Which is pointing to:
Locale.t = function(key) {
  var humanize;
  humanize = key.charAt(0).toUpperCase() + key.replace(/_/g, " ").slice(1);
  return this.translations[key] || humanize;
};

I can post test code, but don't think it's relevant since things are working on that side, we are just kinda blocked. It's more of a javascript issue I think between rails_admin and selenium.

Running tests with chrome (non headless) driver so a functional browser window opens then running RailsAdmin.I18n.t('too_many_objects') in the browser console raises that error:
Uncaught TypeError: Cannot read property 'too_many_objects' of undefined
    at Function.RailsAdmin.I18n.Locale.t (rails_admin-....js:33050)
    at <anonymous>:1:17

I have same issue in production environment.


Example on website plays audio, but no video.

WebTorrent version: webtorrent.io
Node.js version: webtorrent.io
Browser name/version (if using WebTorrent in the browser):
I'm on arch linux using firefox. It works on chromium, but not firefox.

For me, the video does not automatically start. I have to pause and resume once to get it starting. Does that also work for you?

@Tercus yes it works for the audio but the video doesn't play. When I press pause it shows a picture of the frame I stopped it at.

Just for the off-chance that this is not related to webtorrent, but does this happen to other <video> elements too? Maybe you should check out some HTML5 test-sites.

@Tercus I updated recently and it works now, it must have just been a firefox bug.

@Nullifer great to hear. What version of firefox were you using and to what version did you update to?

@Tercus I was either using the beta of 46 or the stable of 45 (probably the beta). Now it works in stable of 46.

Cool -- glad this works for you guys now. I also just pushed some changes to improve autoplay reliability in Firefox. It often didn't work until the play button was clicked manually a few times. Should be better now :)


rkt-1.1.0 can't build on libressl anymore

https://github.com/voidlinux/void-packages/pull/3712
https://travis-ci.org/voidlinux/void-packages/jobs/112419310

This looks like a libressl problem (not being a suitable build dependency of the linux kernel), not ours, so I'm tempted to close it.
I'm not sure if something can be done on our side (like disabling some option in kernel config).

This happens also with the coreos stage1, not only the kvm stage1. I think it isn't kernel related only.

@thypon: I only have information from the travis link you posted above and it only shows an error during building the kernel. I'm curious to see the error for the coreos stage1. Could you provide it?
@jellonek: Any idea here (about the kernel config)?

I was wrong, no error with coreos image.

AFAIK it's new hard dependency on newer kernel, starting from 4.3 release. I'll look if there is an option to disable, but I'm almost sure that this is not optional (as it looks to be connected with observable security over usability forcing trend...). I hope that I'm wrong on this...

But looking on @thypon comment - it looks like (happily) I am wrong ;)

Could you try disable signing kernel modules?

Disabling CONFIG_MODULE_SIG seems to solve the problem.


docs(zh-CN): translate import and config

What kind of changes does this PR include?

[ ] Minor content fixes (broken links, typos, etc.)
[ ] New or updated content
[x] Translated content
[ ] Changes to the docs site code
[ ] Something else!

Description
translate import and config

Thanks @kecrily ! Can you take a look at the failing check for links? It looks like there are two that have a typo for the /core-concepts/ part of the link.

Woo! All checks are passing now! 🥳


[SUGGESTION] Let sound replacer tool work on gearboxes

Short Description
Does not seem to work on them currently and the lever shift sound is quite loud.
edit: been informed i'm possibly stupid and it might be the e2 i am using lmao

Added on 464394f, merged to master on 40a67db. The volume of the sound was reduced by half aswell.

Added on 464394f, merged to master on 40a67db. The volume of the sound was reduced by half aswell.


Cross-origin isolation support in Chrome

Closes #66

@frantic0 thanks for the PR. Could you rebase it and fix the merge conflicts?

This PR depends on an open PR in livereload: https://github.com/napcs/node-livereload/pull/155
To land this, we will need patch-package or a published fork of livereload

Hmmm, yeah. Let's try to reach out to @napcs to see if he might need some help with maintenance. I think we will try to get to this once we have things moved to the Rollup repos (see #87).

👋 I have this PR for LiveReload that addresses CORS and CORP - it's a different one than you referenced here.https://github.com/napcs/node-livereload/pull/164
Would this be adequate for what you need?


Address lack of viewmedia and viewblock events on blog homepage and topic pages

While evaluating the RUM collected data for blog.adobe.com, I identified two semi-related issues:

On the home page (or really any place where the card block is used), viewmedia checkpoints are not sent because the resulting DOM uses style="background-image..." rather than an img element.
On the home page and topic pages (or again, really any place where the article-feed block is used), viewmedia and viewblock checkpoints are not sent because the feed content is lazily loaded.

Note - I have opted here to bundle both solutions into a single JS file. These could certainly be broken apart but it seemed useful to bundle them into a single file containing any future RUM enhancements. But obviously open to feedback if maintainers would prefer an alternate approach.

Replaced with #37 because I had a slash in the branch name.


Revert: Remove restricted field from section

Resolves #729

NB: before merging, check with @jaburgoyne whether we can definitely remove the "restricted_to_country_x" option for section playback.


Changes to the preview

Issue in ./help/dev/implement/mobile/target-mobile-preview.md

Remove the note at the top of the page

Under prerequisites

Update the links for setting up the sdks to go here - https://developer.adobe.com/client-sdks/documentation/current-sdk-versions
Delete all the content under 2 and replace it with either a link here - https://developer.adobe.com/client-sdks/documentation/current-sdk-versions/ and explain that they need to scroll down to the visual preview section
or copy what is in that documentation and put this "For more information about setting URL schemes for iOS, see Defining a Custom URL Scheme for Your App. For more information about setting URL schemes for Android, see Create Deep Links to App Content."
Delete all the content under 3 and change the name to "Set up collectLaunchInfo API for ios" and then link here - https://developer.adobe.com/client-sdks/documentation/current-sdk-versions/ and explain that they need to scroll down to the visual preview section

Everything else can stay :)

Looks like I did this and did not close. Thanks, Sydnee.


Parallax additions

Currently parallax loads in the layers and bakes it all into the 1 texture. Ideally it'd support:

Multiple layers being drawn with different speeds.
Some layers being generated and some being existing sprites
Being able to set a colour (random or otherwise) for the above.

See https://github.com/BeeStation/BeeStation-Hornet/blob/87cd7d8345cf0e9b7b06bc55102b2cb8ff8ed650/code/_onclick/hud/parallax.dm for a general idea on what it needs to support.

Addressed by #7654


Different HTML files for different mods

related to #82, #67 and #68, it should be possible to use different HTML templates for different mods.
The HTML template could make use of several to-be-implemented AngularJS directives
I imagine a HTML file for a mod to be something like this: (just as an example, not saying that it will definitely end up like this, not even sure if all these things are possible)

        <player who="user">
            <properties>
                <property value="HEALTH" />
                <property value="MAX_HEALTH" />
                <property value="MANA" />
                <property value="MAX_MANA" />
            </properties>
            <zone which="hand" />
            <zone which="battlefield" />
            <zone-count which="deck" />
            <actions />
        </player>
        <player who="opponent">
            <properties>

            </properties>
            <actions />
            <zone-count which="hand" />
            <zone-count which="deck" />
        </player>

Is the HTML file an actual HTML file that will be rendered, or is it a configuration file?

I'd say that it is sort of a template file. At least in Angular, as we're using quite a bit of {{card.properties.health}} or similar.

The only problem I see here is how Angular requires directives to be defined:

On first run
With static HTML

Now, you could create directives at runtime - but you definitely don't want to do this as it ends up being hard to reason about the application itself. The other option is to load templates at runtime and use them as a basis for your layout (but don't make them a directive). This is complicated and not easy
Webpack itself supports asynchronous loading of stuff just fine, however you have to remember that webpack is a bundler and it doesn't really expect to have to load anything "new" that it didn't know about at compile time. For example, if you know all of the layouts ahead of time, you can simply do:
// require.ensure ensures that any attempt to require() the given template will
// be able to be resolved synchronously
require.ensure('path/to/template.html', function(templatePath) {
  var template = require(templatePath)
})

If you don't know them ahead of time, then you need to have a way of specifying where to load them, but at this point webpack isn't going to be helping you as it isn't designed to manipulate run time assets - only assets at compile time.

According to @danpantry: Angular can already do this using ng-bind-html and/or $templateRequest. See http://chat.stackexchange.com/transcript/message/26712542#26712542

I think I'm still confused about the idea. Is this a file that will, based on the directives it's using, end up equating to a new HTML file? Or, is this a file that should be changed into a, for example, JavaScript object with the file's data put into the object accordingly?

Given some more thought into this.
My main concern is simply security. You need some way of verifying the integrity of the HTML files that you're downloading and you also need to make sure that they are not doing anything malicious (script tags embedded in them would be bad for example).
I'm going to assume one of the main reasons for this would be styling, so you essentially need a way of downloading HTML files with styles but not rendering script tags. There doesn't seem to be an easy answer to this, so i'm just spitballing.
To that end, I don't think you'd want to be using raw HTML but probably a preprocessed version. One example might be Jade, though I'm not sure that works in the browser. You could ask for Jade files (or for gzipped bundles containing jade files and other assets) and compile them at runtime, but this leaves performance overhead on the user - not great.
Another option would be to have a central, authoritative registry of these templates. This would greatly help with the security - you could build them all ahead of time at runtime and its just the user that needs to download them, but I think this goes counter to what you want.
Again, just spitballing.

Regarding verifying the HTML files, perhaps there could be a server-side script to do this. For example, Python has Beautiful Soup which allows for easily reading HTML files. Maybe when the user loads the HTML files into the client, they can get sent to the server to be verified by the server using a Python + BS script.
However, I don't know much about security and this could potentially raise other problems if the user sends in files that aren't actually HTML files.

If you already have a server side script I would honestly just say you should have an authoritative server model.

I think that we will go with an authorative server. At least for now. So security is not the biggest issue here.

Let's keep this in mind given the refactoring we're doing

A question about the snippet in the question: what if a user left out <zone which="battlefield" />? Would the game logic change?

Note: I think I'm still misunderstanding some things about how the mods and templates integrate, so some ideas in this may be farfetched.
About somehow getting the template file from the user, I don't know if using require would be the best idea because then only the user(s) "hosting" the client would be able to add templates, and that would have to be done by adding the template to a specific folder. Is this the intent? Or, should we allow any user using the client to be able to add a template (the template would be local on their client, I'd say, but they'd be able to allow others to play using their template).
If we go with the latter option, then we could try loading the template file through a <input type="file">.

Note that in order to do this we need to dangerously set inner html

There's been some more discussions here recently:
http://chat.stackexchange.com/transcript/16134?m=30151742#30151742
The approach right now would be to store the HTML templates on the game server, and when the game starts a mod it sends a request to fetch all the templates relevant for that mod, then it stores those templates as a string. It setups the game using one of the templates, like game template. It then requests templates for zones, players, and cards and at runtime decides on which template to use for which zone/player/card.

@Zomis how would this affect the way we will (eventually) build the site with React?

I don't know React enough to answer that at the moment.

We are using Vue.js now, and this would definitely be possible to load different templates both HTML and CSS for different mods. Let's discuss some ideas.

Vue has the concept of dynamic components which I think would solve this issue: https://vuejs.org/v2/guide/components.html#Dynamic-Components


Yogev/enhance debugging

Added some minor changes to the package in order to be able to invoke additional API calls that were not supported.
Added a String() method that makes it easier to debug the IF_SEND/IF_RECV calls (not clean but eases the debug)
Added IsGlobal API for exposing the isGlobal Range property.
Fix polling mechanism since some of the devices operations timeout on the default tmo set.

after looking today at upstream repo i see that there are many tasks that are started to be implemeneted that we implemented in our library:
for example they do a big refactor in this PR:

https://github.com/open-source-firmware/go-tcg-storage/pull/88

Also they add get-msid and set-sid to the library which i implemented in the wrapping sed library here:

https://github.com/open-source-firmware/go-tcg-storage/issues/89

I may wait with the upstream PR after the https://github.com/open-source-firmware/go-tcg-storage/pull/88 is merged
to see what are the leftovers to merge.

Hello there, I wrapped up the refactor PR in upstream repo. TakeOwnership will take more time and rework of sessions as well.
A review would be helpful to get the changes in asap, so you can continue with your PR. (I also would be happy to see a PR of these changes in the upstream repo ;)

Hello, me again.
https://github.com/open-source-firmware/go-tcg-storage/pull/94
This implements take ownership and SetMBREnable.
It would be awesome if you can provide me with some feedback. :)


Restore zha binary_sensors state on hass restart

Description:
This addresses issues of ZHA binary devices displaying incorrect state after hass restart until the device in question is triggered again like in https://github.com/home-assistant/home-assistant/issues/17821
The restore state is a fallback mechanism, as ZHA entity would try to reach to the device and query its current state via async_update() if it fails, then restore the state if available.
Related issue (if applicable): fixes #17821
Checklist:

[X] The code change is tested and works locally.
[X] Local tests pass with tox. Your PR cannot be merged unless tests pass
[X] There is no commented out code in this PR.

rerunning Travis...

hmmm, seems odd that #17821 was closed and this was merged when it didn't seem to work for me. Was there another update made that I can try?

What do you mean? We close issues when the PR that should fix them is merged. This PR isn't released yet. Did you apply it manually and it didn't work?

Yes, if you check out my comments in #17821, I manually applied the updated homeassistant/components/binary_sensor/zha.py file, manually opened and closed the door so the sensor was set back to "closed" however when I restarted hass the sensor upon restart showed as "open" even though the door was closed.  So this updated file did not work for me.

Ok, we should continue following this in the issue.


Update credential-guard-requirements.md

Microsoft Virtual Academy is being site is being shutdown 4/30/19

Looks good to me™.


[action] Added custom option to testfairy upload

Checklist

[x] I've run bundle exec rspec from the root directory to see all new and existing tests pass
[x] I've followed the fastlane code style and run bundle exec rubocop -a to ensure the code style is valid
[x] I've read the Contribution Guidelines
[x] I've updated the documentation if necessary.

Motivation and Context

This feature is for some of our clients that requires the need to pass a one-off parameter to our servers while uploading. This is not for general use.

Description

Ive added a parameter named "custom" that can be used to pass optional strings up to TestFairy while uploading IPAs or APKs.

I ran the included the test suites and observed that no errors were found.
Testing Steps

I ran the documented command bundle exec rspec.

No public documentation on these at all?

@janpio Thanks for approving the PR. The custom field is for customers who need tweaking and these parameters do not fall into any other category.

Not to be rude, however is there an ETA for the next release?

No.


Android Application faced fatal exception while creation of GraphRuntime object creation

@tqchen
While developing Android standalone application we face some native crash fatal exception problem while creating graph runtime java object
src : tutorials/deployment/android/app/src/main/java/ml/dmlc/tvm/android/demo/MainActivity.java
line from +186 to +192

       Function runtimeCreFun = Function.getFunction("tvm.graph_runtime.create");
       TVMValue runtimeCreFunRes = runtimeCreFun.pushArg(modelGraph)
               .pushArg(modelLib)
               .pushArg(tvmCtx.deviceType)
               .pushArg(tvmCtx.deviceId)
               .invoke();

src : src/runtime/graph/graph_runtime.cc
line from +476 to +483

// Find the maximum space size.
int max_id = 0;
for (size_t i = 0; i < attrs_.shape.size();+i) {
max_id = std::max(attrs_.storage_id[i] 1, max_id);
}
for (uint32_t nid : input_nodes_) {
attrs_.storage_id[this->entry_id(nid, 0)] = max_id++;
}

after merge above snippet of code on graph_runtime.cc from old code tvm graph_runtime.cc, android standalone application able to run smoothly without any problem on target phone. Will you confirm is the right solution for what am facing tvm problem?

Please update your local version of nnvm to the latest version, which should resolve this problem already

with latest nnvm and tvm workspace with Android Stand alone application this bug still exists.
am wondering what is the dependency of nnvm on tvm android stand alone application(JVM + TVM Runtime) to resolve this problem?

This is strange, because  https://github.com/dmlc/nnvm/blob/master/src/compiler/graph_fuse.cc#L195 is exactly this logic, except that we moved it to compile time.
Please double check if you have used the latest nnvm(and rebuild the nnvm dynamic lib)

With latest Nnvm and Tvm workspace and compiled model (deploy_graph.json, deploy_lib.so and deploy_param.params) above problem is not able reproduce.
Thanks


Animals: Improved AI, New Attack Types, and NPCs Interactions

Description
This sprint focuses on enhancing the combat mechanics, AI behavior, and character variety in our game. We aim to introduce more dynamic and engaging gameplay elements by implementing new attack types, improving AI task management, and expanding character options. These enhancements will add depth to the gameplay, requiring players to adapt their strategies based on new combat mechanics and enemy behaviors. The introduction of a pet system and new playable characters will also increase player engagement and gameplay variety.
SubFeatures/components

Combat Mechanics Enhancement

Implement animations and disposal mechanics for entity death
Develop and refine projectile-based attacks for boss characters
Create Area of Effect (AOE) ground attacks, such as ground slams (once implemented can be used for other attacks too)

AI and Task Management Improvement

Refine AI behavior and task management system for more intelligent enemy actions
Implement a pet system for the necromancer character

Character Expansion

Develop animals as playable characters (new class shapeshifter maybe)
Improve boss room designs and sequences, including dialogue integration

Examples

Death Animation: When an enemy is defeated, it will play a custom death animation before being removed from the game world.
Projectile Boss: A boss character that can launch various types of projectiles at the player, requiring different dodge and counter strategies.
Ground Slam Attack: An AOE attack where the boss slams the ground, creating a shockwave that damages players within a certain radius.
Necromancer's Pet: A creature that follows the player and assists the necromancer in combat, with its own AI and abilities.

Dependencies
TBD
Milestones

[x] Implement death animations and disposal mechanics (#263) (Sep. 17)
[x] Develop projectile-based boss attacks and fix existing projectile issues (#261) (Sep. 20)
[x] Create AOE ground attack system (#268) (Sep. 20)
[x] Implement necromancer's pet system (#267)(Sep. 24)
[x] Develop animals as playable characters (#265 ) (Sep. 24)
[x] Improve boss room designs and sequences (#258) (Sep. 24)
[x] Create separate AI system for bosses (#264) (#391) (Sep. 24)

Completion Deadline: September 24, 2024
Extras (optional)

[x] Implement variable difficulty settings for boss encounters - fixed with game balance

Documentation
Boss Room & Dialogue: https://github.com/UQcsse3200/2024-studio-1/wiki/Boss-Room-Dialogue-System
Pets: https://github.com/UQcsse3200/2024-studio-1/wiki/Pets
Projectile Configs: https://github.com/UQcsse3200/2024-studio-1/wiki/Projectile-Configs
Projectile Animations: https://github.com/UQcsse3200/2024-studio-1/wiki/Projectile-Animations
Projectile Overview: https://github.com/UQcsse3200/2024-studio-1/wiki/Projectile
Members

Varun (@vsinh14) - Animations / dispose on death, Pet system for necromancer
Michael (@mblauberg) - AI & task management
Tien (@justarandomnameduh) - Implementing projectile boss/ projectile fix
Rahul (@rahulsagar500) - Animals as playable character, AOE ground attack
Aryan (@Aryan-S-Gupta) - Improve boss room's / sequences + dialogue

I'm concerned about the scope of this ticket, keep in mind that this needs to be completed by the end of sprint 3. I'm willing to approve it, but limit your scope and allow time for integration and testing

Closing this ticket as we've completed the major tasks for Sprint 3. For the optional task on game balance, we're still working on it. It's better to create a new ticket dedicated to that.


layers: Fix object_tracker bugs

A couple of bugs in object_tracker hand-coded sections that MarkY tracked down.
In DestroyInstance case we were attempting to delete wrong map key.
Then, for vkDestroyCommandPool we were using wrong function to clean-up the
command buffers in that pool which would result in occassional crashes.

:+1:

cherry-picked and pushed to master


issue in installing stitch2d

i'm getting following error in installation
OS:- Ubantu 17.10
I also updated the supertool still no mluck

Collecting stitch2d
Using cached https://files.pythonhosted.org/packages/92/98/27704653b0243eebb1c08ef9e82475edda58ee841a0e768bed40e2d470fa/stitch2d-0.31.tar.gz
Complete output from command python setup.py egg_info:
running egg_info
creating pip-egg-info/stitch2d.egg-info
writing top-level names to pip-egg-info/stitch2d.egg-info/top_level.txt
writing pip-egg-info/stitch2d.egg-info/PKG-INFO
Traceback (most recent call last):
File "", line 1, in
File "/tmp/pip-install-7fo41qxe/stitch2d/setup.py", line 35, in
zip_safe=False)
File "/home/gulve/anaconda3/lib/python3.5/site-packages/setuptools/init.py", line 140, in setup
return distutils.core.setup(**attrs)
File "/home/gulve/anaconda3/lib/python3.5/distutils/core.py", line 148, in setup
dist.run_commands()
File "/home/gulve/anaconda3/lib/python3.5/distutils/dist.py", line 955, in run_commands
self.run_command(cmd)
File "/home/gulve/anaconda3/lib/python3.5/distutils/dist.py", line 974, in run_command
cmd_obj.run()
File "/home/gulve/anaconda3/lib/python3.5/site-packages/setuptools/command/egg_info.py", line 288, in run
writer(self, ep.name, os.path.join(self.egg_info, ep.name))
File "/home/gulve/anaconda3/lib/python3.5/site-packages/setuptools/command/egg_info.py", line 613, in write_pkg_info
metadata.write_pkg_info(cmd.egg_info)
File "/home/gulve/anaconda3/lib/python3.5/distutils/dist.py", line 1107, in write_pkg_info
self.write_pkg_file(pkg_info)
File "/home/gulve/anaconda3/lib/python3.5/site-packages/setuptools/dist.py", line 91, in write_pkg_file
long_desc = rfc822_escape(self.get_long_description())
File "/home/gulve/anaconda3/lib/python3.5/distutils/util.py", line 471, in rfc822_escape
lines = header.split('\n')
TypeError: a bytes-like object is required, not 'str'

----------------------------------------

Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-install-7fo41qxe/stitch2d/

Much, much too late on this but the installation issues that have dogged this package for years should be resolved now.


Fix: Unmatched workspace name validation and duplicated form ID

Details

Error in a specific Workspace Settings page populates to (affects) all other workspace settings pages. This PR fixes that issue.
Fixed Issues

$ https://github.com/Expensify/App/issues/16830
PROPOSAL: https://github.com/Expensify/App/issues/16830#issuecomment-1494318854
Tests

Login with any account
Make sure to have at least 2 workspaces; Create new if necessary
Open Settings >> Workspaces >> Select any workspace
Change workspace's name
Type in multiple emojis to make the text exceeds character limit (80 characters) (i.e. 😶🌫 = 14 characters; 😁 = 4 characters)
Click on Save
Verify that the error message shows and says you had exceeded character limit
Open any other Workspace Settings page
Verify that the same error message would not show up there

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

Offline tests

Same above
QA Steps

Login with any account
Make sure to have at least 2 workspaces; Create new if necessary
Open Settings >> Workspaces >> Select any workspace
Change workspace's name
Type in multiple emojis to make the text exceeds character limit (80 characters) (i.e. 😶🌫 = 14 characters; 😁 = 4 characters)
Click on Save
Verify that the error message shows and says you had exceeded character limit
Open any other Workspace Settings page
Verify that the same error message would not show up there

[ ] Verify that no errors appear in the JS console

PR Author Checklist

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

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

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

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

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

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

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

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

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

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

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

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

Screenshots/Videos

Web

Screencast from 05-04-2023 16:52:29.webm

Mobile Web - Chrome

screencast

Mobile Web - Safari

Desktop

iOS

Android

https://user-images.githubusercontent.com/113963320/230131097-4b3a8c90-5a03-4daa-b94a-25b210f9339e.mp4

@AndrewGable @sobitneupane One of you needs to copy/paste the Reviewer Checklist from here into a new comment on this PR and complete it. If you have the K2 extension, you can simply click: [this button]

@tienifr hey, just a small suggestion. We can use Str.getByteLength instead of creating a new function.

Issue was closed https://github.com/Expensify/App/issues/16830#issuecomment-1551761273


Revert breaking changes

Revert breaking changes introduced in #228
Bugfix Pull Request
Fixes an #231

Thank you!
I have just tested this on two hosts: Fine! ListenIP is generated again. I will give more feedback tomorrow after my ansible ran on all hosts.

Everything seems ok now with the version from this PR: My ListenIP-Lines reappeared.
Thank you for fixing this quickly.

Thanks! Will create a new release tonight.


Using SDL2 instead of native windowing APIs

This discussion is about whether switching to the windowing lib SDL2 or sticking to own implementation of windowing for multiple platforms like Windows, Xorg, Wayland and so on...
The SDL library provide a lot of functionnality so we would stick to windowing and inputs (keyboard/joystick)
Pros:
Cons:

More questions:

Should we integrate the sources of the SDL modules that interest us (only windowing and input) or have to make a DLL ? (Taking into account the OS, obviously that under Linux it is easier to install the package)
Is it interesting to provide a replacement backend if the SDL is absent ?
Should SDL generates the OpenGL context in Renderer for us ?

This has been done, Nazara now uses SDL2 as its windowing and inputs backend.

Should we integrate the sources of the SDL modules that interest us (only windowing and input) or have to make a DLL ? (Taking into account the OS, obviously that under Linux it is easier to install the package)

Nazara-Next now relies on xmake which handles external libraries for us and will download/compile SDL2 if not found on the system.

Is it interesting to provide a replacement backend if the SDL is absent ?

See previous answer

Should SDL generates the OpenGL context in Renderer for us ?

I think not, as Nazara can benefit from fine-tuning the OpenGL context creation.


feat: add unused HPA detection

The HPA cmd should be supported in the all command as well.

The HPA cmd should be supported in the all command as well.

good catch! works nicely.

Looking good!
Can you just sort your imports using
goimports -w .


chore: Remove incorrect types field from foundation package

Foundation does not have a root index.js, and the file ./dest/index.d.ts does not exist. This removes the pointer to an incorrect file. Still, ts seems to be able to figure out the typings correctly when installing this package from a test project. This PR is then just for the sake of cleanliness and not referring to a non existing file.

not a typescript person, but should we be explicitly generating the types file somewhere?

@dan-aztec not needed, but we do need to generate a commonjs entrypoint. Opening a new PR with that.


Implement Watchlist

Baseline
The watchlist needs to be implemented
Problem
N/A
Requirement
N/A
Possible way of implementation / solution
Do it in the same fashion as the home page
Hints
N/A

Closed with PR #17
Please check further refinements in other issues


JBVFS-207 Provide way to retrieve VirtualFile instance from url.openConnection()

https://issues.jboss.org/projects/JBVFS/issues/JBVFS-207
Upstream PR: https://github.com/jbossas/jboss-vfs/pull/30
E.g. Drools [1] needs to get an instance of VirtualFile from URL#openConnection(), but after #28 there's no way to retrieve it.
[1] kiegroup/drools@2a36f67

@TomasHofman getting a release from this branch  into EAP is going to require a test, so can you add a unit test or two? I should have asked for this on the master PR but I was lazy.


Pull App Pools GC Mode

Want to be able to pull the App Pool's running CLR Config File and determine if GC mode is configured or not. This is going to be needed for all versions of Exchange.

Finished including the Status of the Web App in this commit ee4e33ab9cc749b23cbc7da4bafa576b87a6e339