Parse error: syntax error, unexpected 'protected' (T_PROTECTED), expecting variable (T_VARIABLE) in   vendor/collab/module-consent-mode/ViewModel/ModeHandler.php on line 20

magento version 2.3.7-p4
php version: 7.4.33

@lzss433 Looks to be a bit of a mess. To fix for you
public function __construct(
       Config $config
    ) {
       $this->config = $config;
    }

magento version 2.3.7-p4
php version: 7.4.33

This module requires php 8.1+ - that's why You are getting this error - You can try if it will work on feature/php7.4-compatibility branch but I don't have any plans of supporting this version so I won't fix anything if it won't work :/
@lzss433 I'm afraid that it won't be only thing which will require fixes in order to make it work under 7.4


Problem during training model?

Thanks for your work and project！
When I was trainning model, there was an error as follows:
python3 -m torch.distributed.launch --nproc_per_node=4 train.py
True
True
True
True
/home/firefly/project/se-ssd/se-ssd_vegeta2020/SE-SSD/examples/second/configs/config.py
/home/firefly/project/se-ssd/se-ssd_vegeta2020/SE-SSD/examples/second/configs/config.py
/home/firefly/project/se-ssd/se-ssd_vegeta2020/SE-SSD/examples/second/configs/config.py
/home/firefly/project/se-ssd/se-ssd_vegeta2020/SE-SSD/examples/second/configs/config.py
2021-07-20 06:57:03,695 - INFO - Distributed training: True
2021-07-20 06:57:03,695 - INFO - torch.backends.cudnn.benchmark: False
2021-07-20 06:57:03,746 - INFO - Finish RPN Initialization
2021-07-20 06:57:03,747 - INFO - num_classes: [1], num_preds: [14], num_dirs: [4]
2021-07-20 06:57:03,748 - INFO - Finish MultiGroupHead Initialization
2021-07-20 06:57:08,602 - INFO - {'Car': 5}
2021-07-20 06:57:08,603 - INFO - [-1]
2021-07-20 06:57:08,675 - INFO - load 2207 Pedestrian database infos
2021-07-20 06:57:08,675 - INFO - load 14357 Car database infos
2021-07-20 06:57:08,675 - INFO - load 734 Cyclist database infos
2021-07-20 06:57:08,676 - INFO - load 1297 Van database infos
2021-07-20 06:57:08,676 - INFO - load 488 Truck database infos
2021-07-20 06:57:08,676 - INFO - load 224 Tram database infos
2021-07-20 06:57:08,676 - INFO - load 337 Misc database infos
2021-07-20 06:57:08,676 - INFO - load 56 Person_sitting database infos
2021-07-20 06:57:08,706 - INFO - After filter database:
2021-07-20 06:57:08,706 - INFO - load 2104 Pedestrian database infos
2021-07-20 06:57:08,706 - INFO - load 10520 Car database infos
2021-07-20 06:57:08,706 - INFO - load 594 Cyclist database infos
2021-07-20 06:57:08,706 - INFO - load 826 Van database infos
2021-07-20 06:57:08,706 - INFO - load 321 Truck database infos
2021-07-20 06:57:08,706 - INFO - load 199 Tram database infos
2021-07-20 06:57:08,706 - INFO - load 259 Misc database infos
2021-07-20 06:57:08,706 - INFO - load 53 Person_sitting database infos
2021-07-20 06:57:08,825 - INFO - {'Car': 5}
......
......
~/se-ssd_vegeta2020/SE-SSD/det3d/torchie/apis/train_sessd.py", line 301, in train_detector
model_ema = copy.deepcopy(model)
File "/usr/lib/python3.6/copy.py", line 180, in deepcopy
y = _reconstruct(x, memo, *rv)
File "/usr/lib/python3.6/copy.py", line 280, in _reconstruct
state = deepcopy(state, memo)
File "/usr/lib/python3.6/copy.py", line 150, in deepcopy
y = copier(x, memo)
File "/usr/lib/python3.6/copy.py", line 240, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/usr/lib/python3.6/copy.py", line 180, in deepcopy
y = _reconstruct(x, memo, *rv)
File "/usr/lib/python3.6/copy.py", line 306, in _reconstruct
value = deepcopy(value, memo)
File "/usr/lib/python3.6/copy.py", line 180, in deepcopy
y = _reconstruct(x, memo, *rv)
File "/usr/lib/python3.6/copy.py", line 280, in _reconstruct
state = deepcopy(state, memo)
File "/usr/lib/python3.6/copy.py", line 150, in deepcopy
y = copier(x, memo)
File "/usr/lib/python3.6/copy.py", line 240, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/usr/lib/python3.6/copy.py", line 180, in deepcopy
y = _reconstruct(x, memo, *rv)
File "/usr/lib/python3.6/copy.py", line 306, in _reconstruct
value = deepcopy(value, memo)
File "/usr/lib/python3.6/copy.py", line 180, in deepcopy
y = _reconstruct(x, memo, *rv)
File "/usr/lib/python3.6/copy.py", line 280, in _reconstruct
state = deepcopy(state, memo)
File "/usr/lib/python3.6/copy.py", line 150, in deepcopy
y = copier(x, memo)
File "/usr/lib/python3.6/copy.py", line 240, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/usr/lib/python3.6/copy.py", line 180, in deepcopy
y = _reconstruct(x, memo, *rv)
File "/usr/lib/python3.6/copy.py", line 280, in _reconstruct
state = deepcopy(state, memo)
File "/usr/lib/python3.6/copy.py", line 150, in deepcopy
y = copier(x, memo)
File "/usr/lib/python3.6/copy.py", line 240, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/usr/lib/python3.6/copy.py", line 180, in deepcopy
y = _reconstruct(x, memo, *rv)
File "/usr/lib/python3.6/copy.py", line 280, in _reconstruct
state = deepcopy(state, memo)
File "/usr/lib/python3.6/copy.py", line 150, in deepcopy
y = copier(x, memo)
File "/usr/lib/python3.6/copy.py", line 240, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/usr/lib/python3.6/copy.py", line 150, in deepcopy
y = copier(x, memo)
File "/usr/lib/python3.6/copy.py", line 215, in _deepcopy_list
append(deepcopy(a, memo))
File "/usr/lib/python3.6/copy.py", line 180, in deepcopy
y = _reconstruct(x, memo, *rv)
File "/usr/lib/python3.6/copy.py", line 280, in _reconstruct
state = deepcopy(state, memo)
File "/usr/lib/python3.6/copy.py", line 150, in deepcopy
y = copier(x, memo)
File "/usr/lib/python3.6/copy.py", line 240, in _deepcopy_dict
y[deepcopy(key, memo)] = deepcopy(value, memo)
File "/usr/lib/python3.6/copy.py", line 169, in deepcopy
rv = reductor(4)
TypeError: can't pickle _thread.RLock objects
Traceback (most recent call last):
File "/usr/lib/python3.6/runpy.py", line 193, in _run_module_as_main
"main", mod_spec)
File "/usr/lib/python3.6/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/usr/local/lib/python3.6/dist-packages/torch/distributed/launch.py", line 235, in
main()
File "/usr/local/lib/python3.6/dist-packages/torch/distributed/launch.py", line 231, in main
cmd=process.args)
subprocess.CalledProcessError: Command '['/usr/bin/python3', '-u', 'train.py', '--local_rank=0']' returned non-zero exit status 1.
How to solve this problem? Could you give me some tips? Thanks!

I have the same problem. Please inform this solution if you catch it.

Same problem, I find this, try to use python 3.7.1, but can't compile spconv.

Same problem @Vegeta2020 ，Could you share your exactly running environment？thx~

@FireflyGao From your traceback, it seems the problem of deepcopy, while I haven't met  such a problem before. @WWW2323 In my environment, both python 3.7 & 3.6 are okay. My codebase are based on Det3D and CIA-SSD, so you may refer to these codebase for more detailed information. For this issue, How about using a different function or your developed function (refer to update paras function in trainer_ssd) to replace the deepcopy?

same error, Who can provide me with a proper solution?

@Kzmc-China  Instead of copying the model, you can try to build a model_ema
model_ema = build_detector(cfg.model, train_cfg=cfg.train_cfg, test_cfg=cfg.test_cfg)
for param in model_ema.parameters():
    param.detach_()

Then doing load weights and parallel distribute the model as usual.
It works for me.

@Kzmc-China Instead of copying the model, you can try to build a model_ema
model_ema = build_detector(cfg.model, train_cfg=cfg.train_cfg, test_cfg=cfg.test_cfg)
for param in model_ema.parameters():
    param.detach_()

Then doing load weights and parallel distribute the model as usual.
It works for me.

Thank you very much. I have finished it.

@Kzmc-China Instead of copying the model, you can try to build a model_ema
model_ema = build_detector(cfg.model, train_cfg=cfg.train_cfg, test_cfg=cfg.test_cfg)
for param in model_ema.parameters():
    param.detach_()

Then doing load weights and parallel distribute the model as usual.
It works for me.

Thank you very much. I have solved it with your method.

@maudzung Thanks for your method, I have solved this problem.

@Kzmc-China Instead of copying the model, you can try to build a model_ema
model_ema = build_detector(cfg.model, train_cfg=cfg.train_cfg, test_cfg=cfg.test_cfg)
for param in model_ema.parameters():
    param.detach_()

Then doing load weights and parallel distribute the model as usual.
It works for me.

It works for me too. Tkx.

@Kzmc-China Instead of copying the model, you can try to build a model_ema
model_ema = build_detector(cfg.model, train_cfg=cfg.train_cfg, test_cfg=cfg.test_cfg)
for param in model_ema.parameters():
    param.detach_()

Then doing load weights and parallel distribute the model as usual.
It works for me.

Hi, @maudzung, did you already reproduced the paper result on val dataset, if yes, can you give me some advise on how to do it, and the pretrained model you use. thanks you very much.

@Kzmc-China Instead of copying the model, you can try to build a model_ema
model_ema = build_detector(cfg.model, train_cfg=cfg.train_cfg, test_cfg=cfg.test_cfg)
for param in model_ema.parameters():
    param.detach_()

Then doing load weights and parallel distribute the model as usual. It works for me.

Hi, @maudzung, after I modified, it came up with "RuntimeError: Expected object of device type cuda but got device type cpu for argument #2 'mat2' in call to _th_mm_out". #63

@bingo830422 Please to try to use "model_ema = model_ema.cuda()", which helps to put the model on gpu devices.


Connection retry

Coverage increased (+0.6%) to 98.598% when pulling f32f56ded7a58588f335e91220ec848ce7964cbc on bbedwell:connection-retry into b94a04b44931cd2306740f00fb8f49c5c724a157 on CompassPHS:master.

Coverage increased (+0.6%) to 98.598% when pulling 44512f899bc3940b95902d73d02cd61407e45aa2 on bbedwell:connection-retry into b94a04b44931cd2306740f00fb8f49c5c724a157 on CompassPHS:master.

Coverage increased (+0.6%) to 98.598% when pulling e818a49d40176a6a1b21f2c5cb042cd25d942e6a on bbedwell:connection-retry into b94a04b44931cd2306740f00fb8f49c5c724a157 on CompassPHS:master.


Transactions belonging to other accounts are displayed in newly created wallet account.

I reset my wallet extension and created a new wallet.
I noticed on the wallet dashboard that I have 3 transactions listed although in my newly created account I have none. I think these happen to be transactions I have made between other accounts of mine before resetting the wallet so I assume it might be some cache stored in the browser.
Even stranger behaviour: when I tried to see each transaction details screen the transactions appeared in the Transactions list on the Account details page.
All is shown in the recording below:
https://github.com/superhero-com/superhero-wallet/assets/12225410/55c47ae4-3f1d-4857-afec-4acb6205f7e1
Observed in the wallet extension v.2.1.6,
Browser: Firefox
OS: Windows 10

Reproducible on product.


Remove renderer-specific logic from Gradient.Symb getImage() for thematic images

Gradient.Symb.getImage() for some reason always returns a width of 1 for thematic images.  This is likely a holdover from when the rendering subsystem used that method to get an image to send to the GPU -- which is no longer the case.  This can be fixed.

The reason is that all the pixels in each row will be identical. This doesn't sound like a bug (but has bug label), it sounds like an enhancement intended to enable @eringram's sample to produce a legend with a width > 1. If that is the use case, couldn't the same be achieved by using CSS to stretch the 1-pixel-wide image to the desired width?

@pmconne We use Gradient.Symb.getThematicImageForRenderer() to get a 1px wide image for the GPU, not the public getImage().  The public getImage() does not need a 1px wide enforcement any longer - it was holdover from when the GPU used the public method.  IMO, it makes sense for the public method to return whatever dimensions are requested.

@pmconne And yes, CSS can stretch it, and that was done and works. This is incidental cleanup.

I don't see the point. Will you also provide the option to get a horizontal instead of vertical gradient?

I don't see the point.

@pmconne We don't necessarily have to remove the 1px width limit if you have strong objections.  However, there is other weirdness also held over from when this method returned an image to be utilized by the GPU: marginColor shows up as the very bottom and top pixel of the gradient, which may not exactly be what is expected when calling this function to get an image. Do you think that should be changed or left as-is?

Will you also provide the option to get a horizontal instead of vertical gradient?

Not sure - there is currently no argument specifying that in ThematicGradientSettingsProps - I'm guessing a user could rotate it after getting back an image.
FYI @eringram

I guess I see the complaint: the function accepts a width parameter but ignores it for thematic gradients, which is surprising and undocumented. I suppose it makes sense to remove that restriction. However, I would also document that specifying a width > 1 is hugely wasteful for thematic gradients.

I guess I see the complaint: the function accepts a width parameter but ignores it for thematic gradients, which is surprising and undocumented. I suppose it makes sense to remove that restriction. However, I would also document that specifying a width > 1 is hugely wasteful for thematic gradients.

@pmconne I agree about the problem of the behavior being undocumented. If it behaves this way, it should have been noted originally.
@eringram Mind adding some documentation as part of your PR as Paul suggests above?


flag data type

This is suggestion for minor feature - boolean like data type  with restrictions.

flag can be local variable in a function or member of a struct, or item in array, but not function parameter.

flag has to be initialized by true or false and the value has to be known at compile time.
var x : flag = false;

flag can be assigned only to negation of initial value, also has to be known at compile time.
if (...) x = true;

flag can be compared with bool, converted to bool in assignment or passed to bool function parameter.

address of flag variable cannot be taken. This protects against unchecked change and also allows the compiler to reduce used memory to 1 bit when member of a struct.

What is it good for?

Using flag instead of bool makes intent slightly more explicit.
Forbids misuse of variable intended as flag as free-for-anything.
Low cognitive overhead - no special syntactic forms are used, just one word gets replaced, with no other changes in the code.
Flag arrays can be compressed.

What is it about bool that prevents the 1-bit optimization?   Usually it is implemented as a byte or even a machine word simply for speed.   However, I do not know of any reason that it could not conceptually be of type u1.
About point 3, I am not sure I understand.   Does this mean that a flag is a oneshot (former PLC programmer here)?

In Zig, bool is guaranteed to be 1 bit in a packed struct.
Also, in normal structs, if address of bools are not taken, zig is free to make this optimization.

Interesting.    Thanks for the info.

Er, so this leaves me with the question of what this enhancement is for?   The bool type is restricted to "true" and "false" only according to the documentation.   I can see that naming the type "flag" makes a more clear indication of the use...   It is point 3 in the original proposal that I do not understand.
It seems like you get most of the points automatically if you have type name aliasing.   I.e. alias bool to flag and you get most of the rest???
I think I am not understanding something about the proposal :-(

I think this feature proposal has the following problems:

violates "one obvious way to do things"
makes the language bigger and more complicated
offers very little ability for programmer to have more explicit intent
dubious optimization potential beyond a bool

It's likely to be rejected as the discussion stands. Milestones mean that a given issue will be accepted and implemented, rejected, or postponed before the release that the milestone is named after.

@kyle-github:

What is it about bool that prevents the 1-bit optimization?

Taking address of the bool.

Does this mean that a flag is a oneshot?

I do not know this term, but probably yet. Its use case is when you only need to reset the bool value. Perhaps  toggle or something would better name.

what this enhancement is for?

It is to restrict possibility of mistaken use. This is value that can be only reset, nothing else.  It can be viewed as "almost const bool".
Similar things: integer ranges in Pascal, distinct types in Nim, or even disabling certain functions (like copy constructor) for classes in C++.

I'm pretty confident about rejecting this proposal.

Thinking about it: could such feature be implemented via custom compile time mechanism? Compiler meets unknown word "flag", invokes something, this something replaces it with "bool" and will check how it is used. If it is used incorrectly it will generate compile error.

When the compiler meets an unknown word, it gives this error:
test.zig:3:12: error: use of undeclared identifier 'flag'
    var a: flag = true;
           ^

you are proposing to change this?

@andrewrk: yes, the compiler could invoke some user supplied "fixing" routine before giving up. Possibly similar to what J. Blow plans to have for Jai (he supports metaprogramming extensively on several levels, and I think he could do this.)

That sounds like another proposal in a separate issue than a flag data type.


Fedora install guide zstd version

First of all, thanks so much for your install guide, it's really useful! One question though: In your guide you write
compress=zstd: allows to specify the compression algorithm which we want to use. btrfs provides lzo, zstd and zlib  compression algorithms. Based on some Phoronix test cases, zstd seems to be the better performing candidate. Fedora has started to use v1, I will use v3.

Later then you edit /etc/fstab
sed -i 's/compress=zstd:1/ssd,compress=zstd,discard=async/' /etc/fstab

There, you don't specify a zstd version. Shouldn't it be
sed -i 's/compress=zstd:1/ssd,compress=zstd:3,discard=async/' /etc/fstab

If not, could you please explain why you don't need to specify it but it is still later showing zstd version 3 when you run mount -v | grep /dev/mapper

The default btrfs option is zstd:3, so if you don't specify anything it will use version 3. However, Fedora by default uses zstd:1 so I will advise in my future guides to follow Fedora here.


Any plans to update to upstream 3.4

Question:
I thought about giving it a try, but if you have it in your near term plans, I don't need to duplicate that work.

@gihrig That would be excellent. I have a few other things on my plate right now, so I would appreciate whatever help you can provide.

@jeffbski The 3.4 conversion is mostly done 🎉
I'm not sure how to get it to your repo, since it's not based on a fork of react-boilerplate-logic. You can find it in the dev branch.
Current status:

Mostly copy/pasted from your 3.3.3 version
Example app works and all tests pass (on OS X w/ Chrome - not tested on Windows)
I struggled with app/utils/test/asyncInjectors.test.js and app/containers/HomePage/tests/logic.test.js, I got them working, but you should take a look and make corrections as you see fit.
I converted the docs, with the exception of the 'sagas' section of docs/general/introduction.md. Please have a look at this, just search for "saga" and edit as appropriate.

@gihrig That is fantastic news!
I'll get it copied over into a branch and take a look at what you have suggested.
Thanks for all your hard work on this!

I see you have opened a 3.4 branch
I just pushed some changes I missed earlier, please refresh
Oops! I was mistaken. That's the upstream 3.4 branch. Too bad it's not possible to fork a fork due to name conflicts.
In any case I'm expecting to keep my rbp-340-logic project up to date with the upstream dev branch changes, and possibly some others. Is that of interest to you here?

@gihrig yeah, that 3.4 branch was just there from the original fork. That's great that you are planning to keep those branches up to date, it really help to have someone familiar with everything to do that.
I'm certainly open to your ideas on what will be the best way to maintain going forward.
I think at some point we will need to detach react-boilerplate-logic from react-boilerplate in github since forks aren't searchable unless they have more stars than the original. So as it is now I don't believe we are being search indexed either.
I don't think that prevents continuing to pull changes from other repos with git (since they were based on the same thing). Once one sets up the remotes in git it can be fetched just like any other repo.
I'd also welcome having you or any others as contributors to help us keep this moving forward. I'm still new to RBP so it makes sense to involve those with more experience with RBP as well.
If you have any ideas or thoughts on this, I'd love to hear them.

forks aren't searchable unless they have more stars than the original.

Good point, didn't know that.

Once one sets up the remotes in git it can be fetched just like any other repo.

Fetched yes, but mering is another story. I have a work project based on react-boilerplate and I have been reasonably successful keeping it up to date with the source project.
This is done through separate git remotes, origin for my GH repo, which is not a fork, and upstream which is the source react-boilerplate.
My work project exists in branches based on the upstream branches. I've had pretty much mixed results being able to merge upstream branches into my main branch. Sometimes that works, sometimes it results in so many conflicts that I just open both projects in Beyond Compare and manually merge changes.
In the end it's a lot of work, but possible.

Yeah, I don't know what is the best strategy either.

It works best if done frequently. The hard part comes when I get busy and neglect it for a few weeks, then the changes become overwhelming.

I've merged in your dev branch here, reviewed the files you mentioned and updated the intro doc. I think it is looking pretty good.

I also just added you as a collaborator.

Thank you Jeff! 😄

You are welcome. Many thanks to you @gihrig for doing so much of the 3.4 conversion, it would have taken me so much longer since I'm new to the project. I just had to merge and resolve a few things. I guess that's why teamwork is so great.


Create Blog “2023-06-15-hello-world”

Automatically generated by Netlify CMS

👷 Deploy Preview for frolicking-cocada-6174a7 processing.

Name
Link

🔨 Latest commit
3bb620a10dbd51515ea25e7dbc00a41565248085

🔍 Latest deploy log
https://app.netlify.com/sites/frolicking-cocada-6174a7/deploys/648aac2a675610000813ed87


doc(CLI-INSTALLATION): Make headings h3

Due to display on the website, the headings need to be level 3, rather than level 2.

This is an independent file, so it should have top level titles. If the website needs a different thing, then the website itself should do the transformation. @craig-mulligan ?

@jviotti yea we can of course do that, but I didn't have time because I was given the doc on short notice. I've created an issue - https://github.com/resin-io/etcher-homepage/issues/47.
I'll ping you when it's implemented so you can update here.

I guess this also means that CLI-INSTALLATION.md should have its own "proper" H1 title too, which the website should then strip?
Hmmm, or perhaps CLI.md could be reverted back to how it was, and then the website-building-code could pull out only the "Installation" and "Running" sections from the markdown?

@lurch, We can do that too, but it does make things slightly less robust. We'd have to ensure that the document isn't edited without taking into account it's affect on the website. For instance if we split the page by regex matching a heading then we couldn't change that heading, without checking that it still matches.
What about laying it like this?
docs/
  cli/
     intro.md
     installation.md
  anotherDocsPage.md
  ...

I suppose this is another case to include the website in the main repo.

I'd be :-1: on getting rid of the existing docs/CLI.md in the Etcher repo, for fear of breaking any existing links to it.
I'll create a PR this afternoon to make CLI-INSTALLATION.md "fit better" with the existing Etcher docs, and ping you on it @craig-mulligan before merging so that you can tweak your website-build-script to suit :-)

Remember that there are various modules out there to parse Markdown, so parsing the document, changing the title levels, and regenerate it should be an easy task.


AKV is not mandatory.

[Enter feedback here]
This page says the following:
If you enable Private Link in Azure Data Factory and block public access at the same time, make sure when you create a linked service, your credentials are stored in an Azure key vault. Otherwise, the credentials won't work.
But it seem to work well without AKV under this situation. I think AKV is not mandatory, only recommendation for security.
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 04cca896-a855-6c8a-44fa-0ba83b5f058a
Version Independent ID: 3d841099-2213-9384-a0b9-568c04663630
Content: Azure Private Link for Azure Data Factory - Azure Data Factory
Content Source: articles/data-factory/data-factory-private-link.md
Service: data-factory
GitHub Login: @lrtoyou1223
Microsoft Alias: lle

@lrtoyou1223  Couple you please validate feedback and update details as appropriate?


Login/Signup form

I want to contribute a login form  using html.

Sure Go ahead @Dev-kabir-ai 🙌

any update @Dev-kabir-ai ?

Please review and merge.


Update karax.nim

use tests for mathML and SVG nodes to make these elements write to the DOM correctly by default

Hi @scattergory thanks for the PR. There have been a few attempts previously at adding SVG/namespace support, so I would like to check back on those to understand the changes they were looking to add.
It would also be good to add tests to ensure that it works correctly.
Please ping me when it is ready to check (if you can unify #255 in as well please) and I will look over this as soon as possible

Hey, I'd like to push this PR over the finish line, how can I do that ?
I see there is 1 check failing. unfortunately I dont know how to see what failed

Error: execution of an external program failed: '/__w/karax/karax/tests/tester '
.......................................
/__w/karax/karax/karax/kdom.nim(9, 10) Hint: duplicate import of 'dom'; previous import here: /__w/karax/karax/karax/kdom.nim(3, 6) [DuplicateModuleImport]
/__w/karax/karax/karax/kdom.nim(3, 6) Warning: imported and not used: 'dom' [UnusedImport]
.......................
/__w/karax/karax/karax/vstyles.nim(329, 22) Warning: implicit conversion to 'cstring' from a non-const location: aj[0]; this will become a compile time error in the future [CStringConv]
/__w/karax/karax/karax/vstyles.nim(329, 29) Warning: implicit conversion to 'cstring' from a non-const location: aj[1]; this will become a compile time error in the future [CStringConv]
.
/__w/karax/karax/karax/vdom.nim(72, 3) Hint: 'svgElements' is declared but not used [XDeclaredButNotUsed]
/__w/karax/karax/karax/vdom.nim(74, 3) Hint: 'mathElements' is declared but not used [XDeclaredButNotUsed]
.....
/__w/karax/karax/karax/karax.nim(199, 8) Error: undeclared identifier: 'svgElements'

Remember that parts of the Karax DOM also work with the native backends.

I think we can close this PR as it has been superseded by #261


Fix logging behaviour

Various changes to improve alignment of logging output, particularly DEBUG logs.
MultiLineFormatter improves appearance of multi-line messages in any logging mode. Adds leading indent to all lines below first, to align with the first line which is indented by %levelname%.
Only add stream handler if no root logger, this fixes message being double-printed.
Then specifically for DEBUG logs:
1 - Whitespace padding is added to end of %levelname% string up to 8 characters. This resolves different level strings e.g. INFO & DEBUG creating different indents. But this only automatically applies to first line of message - for multi-line messages, MultiLineFormatter extracts amount of padding and applies to all other lines.
2 - Add leading indent proportional to function depth, because DEBUG generates a lot of messages particularly when repairing price data - same function can be called recursively. Implemented in IndentLoggerAdapter, a simple wrapper around the logger object.
3 - log_indent_decorator inserts 'Entering/Exiting %function%' messages, helps organise.

@flaviovs Curious to hear any opinions you have. GPT helped me a lot, but I'm still a noob with logging.

Hi @ValueRaider - sorry for taking too long to give feedback. Been incredibly busy here...
I'm now using the newest version with logging enabled, and it is certainly working as expected. The only thing to think about is: my app started to issue double logging messages to stderr from yfinance, and I tracked the issue down to utils.get_yf_logger(), which adds a handler and formatter to the logging system. This is called on base.py, indirectly added imported by __init__.py, so effectively that function is always called when yfinance is imported. This explains the double logging, but it is usually not a good thing because now applications need to add heuristics to prevent that specifically logger for interfering with their logging configuration.
Also, while browsing the code I saw some logger.setLevel() calls which would break the logging config done by any application anyway.
Usually logging setup calls (i.e. those that add handler, formatter, filters, set levels, etc.) should be done in application-space only, and not by library code. The reason is because libraries don't know how the app want's to do logging. I understand that when we want to debug yfinance we need a way to enable debug for (and just for) yfinance, but in this case the setup for that should be done in application-space (perhaps in tests/__init__.py or similar).
I also struggled with logging at the beginning (no ChatGTP back them :wink:), but at some point I realized that if I just wanted to use logging in my apps, or make my packages logging-compatible, there's just a handful of things I need to make:
In my apps:
import logging

# Here I configure logging for the entire app, plus ALL modules it imports, including
# modules imported by other modules I don't know about. I can just simply call
# basicConfig() here to setup a basic logging configuration, but note that this can be as
# complicated as reading the entire logging configuration from a .ini file
# (see https://docs.python.org/3/library/logging.config.html), and/or configure the
# framework to log to a SQL database, direct some modules to a file, suppress
# uninteresting messages, reformat messages from specific packages, etc.
logging.basicConfig()

In my packages, just do the below on every module. That's it.
import logging

logger = logging.getLogger(__name__)

# And then use logger.info(), logger.error(), etc., everywhere.

It works like a charm.

Thanks for the details, and I hear you! I'm just thinking of the users that haven't used logging, and our request that they review/provide debug logs with Issues. So I've moved this logic in function yf.enable_debug_mode().
This latest branch should work for you now.

Amazing, thanks @ValueRaider


opengrok: 1.13.9 -> 1.13.19

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/oracle/opengrok/releases.
meta.description for opengrok is: Source code search and cross reference engine
meta.homepage for opengrok is: https://opengrok.github.io/OpenGrok/
meta.changelog for opengrok is: https://github.com/oracle/opengrok/releases/tag/1.13.17
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.13.17 with grep in /nix/store/wk71hdblp77n7g5ns504fpshf3chmry1-opengrok-1.13.17
found 1.13.17 in filename of file in /nix/store/wk71hdblp77n7g5ns504fpshf3chmry1-opengrok-1.13.17

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

opengrok

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/wk71hdblp77n7g5ns504fpshf3chmry1-opengrok-1.13.17 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A opengrok https://github.com/r-ryantm/nixpkgs/archive/18d6da24310cf2c3311c8c177dcb29e5fcafe2a4.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/18d6da24310cf2c3311c8c177dcb29e5fcafe2a4#opengrok

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/wk71hdblp77n7g5ns504fpshf3chmry1-opengrok-1.13.17
ls -la /nix/store/wk71hdblp77n7g5ns504fpshf3chmry1-opengrok-1.13.17/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

opengrok

Maintainer pings

Add a :+1: reaction to pull requests you find important.

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/oracle/opengrok/releases.
meta.description for opengrok is: Source code search and cross reference engine
meta.homepage for opengrok is: https://opengrok.github.io/OpenGrok/
meta.changelog for opengrok is: https://github.com/oracle/opengrok/releases/tag/1.13.19
Updates performed

Version update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.13.19 with grep in /nix/store/v0zlhs03vzj7aycrb2jz6clsjzy4yj06-opengrok-1.13.19
found 1.13.19 in filename of file in /nix/store/v0zlhs03vzj7aycrb2jz6clsjzy4yj06-opengrok-1.13.19

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

opengrok

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/v0zlhs03vzj7aycrb2jz6clsjzy4yj06-opengrok-1.13.19 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A opengrok https://github.com/r-ryantm/nixpkgs/archive/7c5f71bad4416c3d4bd5721b5ef180f6ad0bdce2.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/7c5f71bad4416c3d4bd5721b5ef180f6ad0bdce2#opengrok

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/v0zlhs03vzj7aycrb2jz6clsjzy4yj06-opengrok-1.13.19
ls -la /nix/store/v0zlhs03vzj7aycrb2jz6clsjzy4yj06-opengrok-1.13.19/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

opengrok

Maintainer pings

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 333216 run on x86_64-darwin 1

1 package built:

opengrok


TS 3.6 will come with api support for --build and --incremental

I'm still on vacation so I won't get to play around with this too early, but I just wanted to copy-paste this over here:
https://devblogs.microsoft.com/typescript/announcing-typescript-3-6-rc/
Might also be interesting for ts-loader.

APIs to Support --build and --incremental
TypeScript 3.0 introduced support for referencing other and building them incrementally using the --build flag. Additionally, TypeScript 3.4 introduced the --incremental flag for saving information about previous compilations to only rebuild certain files. These flags were incredibly useful for structuring projects more flexibly and speeding builds up. Unfortunately, using these flags didn’t work with 3rd party build tools like Gulp and Webpack. TypeScript 3.6 now exposes two sets of APIs to operate on project references and incremental program building.
For creating --incremental builds, users can leverage the createIncrementalProgram and createIncrementalCompilerHost APIs. Users can also re-hydrate old program instances from .tsbuildinfo files generated by this API using the newly exposed readBuilderProgram function, which is only meant to be used as for creating new programs (i.e. you can’t modify the returned instance – it’s only meant to be used for the oldProgram parameter in other create*Program functions).
For leveraging project references, a new createSolutionBuilder function has been exposed, which returns an instance of the new type SolutionBuilder.
For more details on these APIs, you can see the original pull request.

https://github.com/microsoft/TypeScript/pull/31432

Agreed - could be interesting! I am also on holiday right now. 🚢🏕😄
There's a WIP PR for ts-loader related to these APIs by @sheetalkamat and @andrewbranch of the TypeScript team. Exciting times ahead!
https://github.com/TypeStrong/ts-loader/pull/935

Typescript 3.6 has been released with API support for --incremental: https://github.com/microsoft/TypeScript/issues/29978

See sample example by @sheetalkamat here: https://github.com/microsoft/TypeScript-wiki/pull/225

@phryneas , @fabb
Please try fork-ts-checker-webpack-plugin@alpha - I've published a new version which supports build mode 🚀
I will close this issue to clean-up the backlog :)


DELIA-53637: Check if interface and gateway IP are in the same network

Reason for change: added changes for For local testing
Test Procedure: Verifty TCH device
Risks: None
Signed-off-by: Arun Vijay<EMAIL_ADDRESS>

Blackduck scan failure details
Summary: 0 violations, 0 files pending approval, 1 file pending identification.

Protex Server Path: /home/blackduck/github/rdkservices/2056/rdkcentral/rdkservices

Commit: 905389ca80d18ef625d45d4a6e7b14f85c635f3f

Report detail: gist

WARNING: A Blackduck scan failure has been waived
A prior failure has been upvoted

Upvote reason: CIDR array matches widely but is just codifying a notation from CIDR spec - treat as boilerplate

Commit: 905389ca80d18ef625d45d4a6e7b14f85c635f3f


Add new options for lazyCompilation: imports and test

What kind of change does this PR introduce?
New configuration options for lazy compilation.
Did you add tests for your changes?
Yes
Does this PR introduce a breaking change?
No
What needs to be documented once your changes are merged?
two new options:

experiments.lazyCompilation.imports
experiments.lazyCompilation.skipModule

Thanks


Fix docs reference to EnvConfigFileKind

The docs should refer EnvConfigFileKind instead of SharedConfigFileKind.

make sure to bump the version


Docker fixes

Hi @mikeowens,
Your recent changes b0rked a bunch of stuff in the Docker build system.  A quick summary of what I did here:

Upgrade to CMake 3.17.5 using CentOS EPEL repo
gnupg.net site is no longer a thing
Set CMake to use C++11 flags

So sorry. Thank you for the fixes.

No worries, and thanks!


Radio Empfang

---------------------------------------------------------DE----------------------------------------------------------------
Ich habe 3 Geräte im Test

uv-k5 mit Si4732-A10 v1 FW 2.7
uv-k5 mit Si4732-A10 v2 FW 2.7
uv-k5 Original FW2.6

Bei keinem der Geräte habe ich Radio Empfang.
Wenn ich bei

uv-k5 mit Si4732-A10 v1
uv-k5 mit Si4732-A10 v2
die FW auf cec_0.51 Fullband installiere, funktioniert der Radi Empfang

Wenn ich alle 3 Geräte mit der Originalen Quansheng FW laufen lasse, habe ich auch kein Radio Empfang.

---------------------------------------------------------EN----------------------------------------------------------------
I have 3 devices in the test

uv-k5 with Si4732-A10 v1 FW 2.7
uv-k5 with Si4732-A10 v2 FW 2.7
uv-k5 original FW2.6

I don't have radio reception on any of the devices. If I install the FW on cec_0.51 full band on the
1st uv-k5 with Si4732-A10 v1
2nd uv-k5 with Si4732-A10 v2,
the radio reception works.
If I run all 3 devices with the original Quansheng FW, I have I also have no radio reception.   Antenna is always the same.

You asked a question yesterday  and I answered it. My firmware does not support the SI4732-A10 mod. So, please, don't try to use it with my firmware. It doesn't not work :)

It also doesn't work on a device that is original and has the 2.7 FW installed 😉

Sorry, I don't really understand the problem.
My firmware is used all over the world, probably by thousands of people.  :)

I don't think so, I just wrote what I found out 😉
If an SDR and other devices have reception on the same antenna, but the device with the 2.7FW doesn't 🤷
Devices with a different FW have reception on this antenna.
Your FW is absolutely first class, and I can live quite well without a radio, I didn't want to criticize you or your FW, I just wanted to point out something that I found out 😉
73

If I understand correctly, none of your radios work with original Quansheng software.
I would suggest that your radios may have lost their calibration settings during reflashing.


Added my name to guestbook

Hi,
I just set up my account on digital ocean but haven't got the credit of
$10. Kindly help.
Cheers!
On Fri, May 25, 2018 at 10:54 PM, Sean Kross<EMAIL_ADDRESS>wrote:

Thank you!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/seankross/the-unix-workbench/pull/294#issuecomment-392125957,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Aj50R_8A00igm5mnNLo6A1PZ4TT_1xdwks5t2D46gaJpZM4UNyXy
.


how to make an authenticate button?

I'm trying to build a simple auth button, similar to this
https://github.com/hirosystems/nft-nyc-exclusive-app/blob/master/components/auth.js
however getting this error below.
I log the values passed to the hook before calling it and they are there...

on further details it seems I can't pass params into the function, I have to stash them in a jotai atom.
I couldn't quite figure out how to do this, is there an example?
Or is there another component I can use to just pass the params directly?
I saw other docs to wrap everything in MicroStacksProvider, but that doesn't exist now?
// import  { MicroStacksProvider } from '@micro-stacks/react';  // does not exist

import { Text, Center, VStack, Button, Link } from '@chakra-ui/react';
import { useAuth } from '@micro-stacks/react';

// import  { MicroStacksProvider } from '@micro-stacks/react';  // does not exist
interface AuthOptions {
  // onFinish?: (payload: StacksSessionState) => void;
  onFinish?: any
  onCancel?: (error?: Error) => void;
  onSignOut?: () => void;
  // scopes?: AuthScope[];
  appDetails: AppDetails;
}

interface AppDetails {
  name: string;
  icon: string;
}

export const AuthenticateButton = () => {
  const { handleSignIn, isLoading } = useAuth();

  const appDetails: AppDetails = {
    name: 'Minter',
    icon: '/assets/astro/zodiac-200.png',
  }

  const authOptions: AuthOptions = {
    appDetails,
    onFinish: (payload: any) => {
      console.log('onFinish', payload);
    }
  }

  const doSignIn = () => {
    console.log('doSignIn.authOptions', authOptions);
    // @ts-ignore
    handleSignIn(authOptions)
  }

  return (
    <Center>
      <VStack>

        <Button
          size='lg'
          p={10}
          onClick={doSignIn}
        >
          <Text>Sign in</Text>
        </Button>
      </VStack>
    </Center>
  )
}

export default AuthenticateButton;

Check this example: https://github.com/fungible-systems/micro-stacks-examples/blob/main/nextjs/components/wallet-connect-button.tsx

https://docs.micro-stacks.dev/modules/integrations/react/authentication has been updated! going to close this for now, but feel free to reopen if there are issues still

https://docs.micro-stacks.dev/modules/integrations/react/authentication has been updated! going to close this for now, but feel free to reopen if there are issues still

Page now is not available*
404 error


Old Ubuntu 20.04 AMIs are used by default when provisioning downstream clusters in AWS

Rancher Server Setup

Rancher version: v2.9-head / v2.8-head (a27b103859a84fe743e05d84c054659945b54e72)
Installation option (Docker install/Helm Chart): Any

If Helm Chart, Kubernetes Cluster and version (RKE1, RKE2, k3s, EKS, etc):

Proxy/Cert Details:

Information about the Cluster

Kubernetes version: Any
Cluster Type (Local/Downstream): Downstream, Amazon EC2 node driver provisioned

If downstream, what type of cluster? (Custom/Imported or specify provider for Hosted/Infrastructure Provider):

User Information

What is the role of the user logged in? (Admin/Cluster Owner/Cluster Member/Project Owner/Project Member/Custom) Any

If custom, define the set of permissions:

Describe the bug
Old Ubuntu 20.04 AMIs are used by default when provisioning downstream clusters in AWS
To Reproduce

Setup AWS cloud credentials (if not setup)
Provision RKE1 or RKE2 cluster leaving all options by default (most importantly, leave "AMI ID" field blank)

Result
Nodes are provisioned with Ubuntu 20.04 while 22.04 is the only officially supported version per support matrix for recent releases (e.g. https://www.suse.com/suse-rancher/support-matrix/all-supported-versions/rancher-v2-8-5/).
Output from node:
ubuntu@(name):~$ cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.2 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.2 LTS"
VERSION_ID="20.04"

Expected Result
Ubuntu 22.04 is used as OS by default (unless specific AMI is specified by the user in "AMI ID" field)
Screenshots
N/A
Additional context
Default AMIs seems to be coming from https://github.com/rancher/machine/blob/6108a82e67bceaf7df9e0ff6dd541258369fba6a/drivers/amazonec2/region.go#L13
Updating it with 22.04 AMIs from https://cloud-images.ubuntu.com/locator/ec2/ should likely address this issue.

waiting for cutting a new rancher-machine RC and bringing it into rancher/rancher

QA TEST PLAN

#
Scenario

1
Provision RKE1 downstream node driver w/AWS defaults

2
Provision RKE2 downstream node driver w/AWS defaults

3
Provision K3S downstream node driver w/AWS defaults

PR is merged, now waiting for new r/r image

the fix can be validated on the latest v2.9-head

Validated that this issue, see details below:
ENVIRONMENT DETAILS
- Rancher install: Docker
- Rancher version: v2.9-head https://github.com/rancher/rancher/commit/97418c803ac1e5b7f28088559a20a97136f61021
TEST RESULT

#
Scenario
Result

1
Provision RKE1 downstream node driver w/AWS defaults
:white_check_mark:

2
Provision RKE2 downstream node driver w/AWS defaults
:white_check_mark:

3
Provision K3S downstream node driver w/AWS defaults
:white_check_mark:

VALIDATION STEPS
Scenario 1

Provisioned downstream RKE1 v1.30.3-rancher1-1 AWS node driver cluster.

Ensured that I used the default AMI.

Validated that cluster and nodes came up as Active.
Validated that the OS used is Ubuntu 22.04 for each node in the cluster.

Scenario 2

Repeated scenario, but provisioned RKE2 v1.30.2+rke2r1 AWS node driver cluster instead.

Scenario 3
Repeated scenario, but provisioned K3S v1.30.2+k3s2 AWS node driver cluster instead.


fix: brain tests for eirini

Description

disable tcp routing tests, not supported
bring in fix for metron test (brain test release 0.0.15)

Motivation and Context
See #1371
How Has This Been Tested?
Local minikube deployment with eirini and diego. Latest master head, operator 6.1.10+0.g7b1a5f2f.
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] My code has security implications.
[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

I wonder why we don't disable routing-api under Eirini instead? If it doesn't work, why let the user enable it?
@f0rmiga says:

If the gorouter misses an update from nats, it can sync with the routing-api to keep the correct state.

But I don't understand how that would work if Eirini never emits any routes to routing-api in the first place.

It does emit routes. It just doesn't emit the TCP ones.

@f0rmiga says

If the gorouter misses an update from nats, it can sync with the routing-api to keep the correct state.

But I don't understand how that would work if Eirini never emits any routes to routing-api in the first place.

It does emit routes. It just doesn't emit the TCP ones.

Still confused: Eirini emits routes to gorouter. Does it also emit routes to the routing-api? Or how does it learn about the routes? Is there some document that explains how this works?

@jandubois Hmmm indeed it doesn't publish to the routing-api, only to nats (which is what the gorouter uses). You can check what I'm saying here:
https://github.com/cloudfoundry-incubator/eirini/blob/3bc2929aa05d437520da7df2e214edd1af0c941a/route/emitter.go#L106
https://github.com/cloudfoundry-incubator/eirini/blob/3bc2929aa05d437520da7df2e214edd1af0c941a/route/emitter.go#L28
https://github.com/cloudfoundry-incubator/eirini/blob/3bc2929aa05d437520da7df2e214edd1af0c941a/route/emitter.go#L51
I reviewed https://docs.cloudfoundry.org/concepts/cf-routing-architecture.html and if the gorouter misses a message from nats, it will need to wait for another emit event from the route emitter.

indeed it doesn't publish to the routing-api, only to nats

So doesn't it make more sense to disable routing-api until Eirini supports it?
In which case this PR should be replaced with an entry in chart/config/unsupported.yaml that displays an error when the user wants to enable routing-api with Eirini.
Next question: why do we even make routing-api configurable? why would someone want to disable it when running with Diego?

@jandubois Yes, it does make sense to disable routing-api - I agree with that. Having the option to disable it was a request from IBM (I think the PR to being able to disable it came from @qu1queee a while ago).

@andreas-kupries I'll reject this PR in favour of disabling routing-api when Eirini is enabled.

Having the option to disable it was a request from IBM (I think the PR to being able to disable it came from @qu1queee a while ago).

Indeed, it was #544
The problem I'm struggling with is that I would like the default to be enabled under Diego, but disabled under Eirini, but we have no good mechanism to do that (that isn't confusing to the user).
Otherwise you have to specify a lot of additional settings to enable Eirini:
helm install ... --set install_stacks={sle15} --set features.eirini.enabled=true --set features.routing_api.enabled=false

The best I can currently think of is leaving the flag as nil and adding a comment:
features:
  routing_api:
    # default is true for Diego, but false for Eirini
    enabled: ~

and then set the appropriate default in chart/templates/_features.yaml:
{{- if kindIs "invalid" $.Values.features.routing_api.enabled }}
  {{- $_ := set $.Values.features.routing_api "enabled" (not $.Values.features.eirini.enabled) }}
{{- end }}

Of course needs a corresponding change in the schema to allow the null value too.
Not really fond of it either, but nothing else comes to mind right now (well, except forcing the user to disable it under Eirini).

default is true for Diego, but false for Eirini

Actually, the comment should explain that there is no point in enabling it under Eirini, so something like
# enabled by default, except under Eirini, where the routing-api is not (yet) supported

I believe I understand the discussion now. Will make a new PR based on @jandubois idea. As hackish as it looks it may be the only way of doing it.


How built-in security policies being collected and evaluated?

Build in security polices seems to be relying on Resource Provider Microsoft.Security and  checking various values under /complianceResults/resourceStatus. Where those can be seen without waiting for Azure Security Center to be updated?  I do not see those neither under Resources in portal or under Resource Graph Explorer

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 9c78cb0a-edfb-a403-1096-1aeaaa5344fc
Version Independent ID: 77d5f52a-08ad-edc0-14e5-f8f9fb05c739
Content: Azure Policy definitions monitored in Azure Security Center
Content Source: articles/security-center/security-center-policy-definitions.md
Service: security-center
GitHub Login: @memildin
Microsoft Alias: memildin

@artisticcheese Thanks for the question! We're investigating this and will get back to you shortly.

@memildin Could you please review this issue and provide your inputs on this one ?

Hi @artisticcheese,
Microsoft.Security represents legacy recommendations that aren't supported directly by Azure policy.
These include Identity recommendations and the agent-based policies which are collected and evaluated by the MMA and the Security or SecurityCenterFree LA (Log Analytics) solutions. The data is stored first in LA workspace, and later picked up by Azure Security Center (Microsoft.Security) and finally, stored in Azure Resource Graph.
Today, Azure Resource Graph contains only the summarized data, but there are plans to add the detailed data (findings) too.
I hope this answers your question. Please feel free to come back with any follow-up questions.
#please-close

@memildin So if for example policy called "Management ports should be closed on your virtual machines" have policy rule defined as below. That means to verify that policy some instrument at Microsoft periodically makes KQL query then based on that query updates Azure Resource Graph  for each machine and then policy on separate cycle verifies compiancy? Can we get actual KQL so we can verify if whatever changes we made actually had a desired effect. For majority of policies (like ensure Hybrid Benefit for example) we can actually make Resource graph query to verify results but for rules like below we are effectively blind since this is not really understood where results are coming from.
 "policyRule": {
      "if": {
        "field": "type",
        "in": [
          "Microsoft.Compute/virtualMachines",
          "Microsoft.ClassicCompute/virtualMachines"
        ]
      },
      "then": {
        "effect": "[parameters('effect')]",
        "details": {
          "type": "Microsoft.Security/complianceResults",
          "name": "restrictAccessToManagementPorts",
          "existenceCondition": {
            "field": "Microsoft.Security/complianceResults/resourceStatus",
            "in": [
              "OffByPolicy",
              "Healthy"
            ]
          }
        }
      }


Amend the ocr-api application to include terraform

Jira Ticket
Resolves: BI-13716
Short Description: Amend the ocr-api application to ecs-image-build and terraform folders

@Elliseggs11 @nawazish587 minor comments if you two can work together on this


PF-1499 Site Visit Limit Exceed (Default 100).  Make bigger!

@BillChen-AI Can you please review and merge.

@RobertoFrancesconi-AI , did a bit of searching and it looks fine with me if the limit is removed.
I've just merged this PR.


Text selection fails under bare ttys (tty1, tty2...)

Description of the problem or steps to reproduce
Under terminal emulators such as Terminator, micro lets me select text by holding shift and pressing arrowdown, arrowup, arrowright, arrowleft. This works as expected.
Under bare ttys, however, such as tty1, tty2, etc, shift key is completely ignored and shiftarrowup only moves cursor up (no text selection happens). Same for shiftarrowdown, shiftarroweft, shiftarrowright (they all move cursor but don't select text).
Specifications
Commit hash:<PHONE_NUMBER>af0e4616288df6207451553622d465
OS: Void Linux
Terminal: TTY / Terminator

This is simply an issue with bare ttys. In those conditions, micro is not sent any complex events, including arrow keys with modifiers. You can run the > raw command to see exactly what escape sequences micro is receiving from the terminal and what events they are parsed as. Notice that the same escape sequence is sent when you press the arrow keys and when you press the arrow keys while holding shift/control.

Thank you for the info, @zyedidia. I wonder whether micro could act as this simple editor that somehow manages to detect all keys under bare ttys: http://www.jbox.dk/sanos/source/utils/edit/edit.c.html

So how other editors manage to work just fine, for example 'nano' ?

It's possible that nano doesn't enable the mouse at all, so windowing system or the terminal application handles it. You could try disabling mouse support in micro to get this behavior with set mouse off.

Thank you for a quick reply. I don't have a mouse on that machine and "set mouse off" does not fix the behaviour.

Sorry, I think I misread the question earlier and thought this was about mouse selection in particular. When using raw does your terminal appear to report keypresses for shift+arrows? Also what is your TERM environment variable? I would expect that under bare ttys your terminal would report minimal functionality (maybe TERM=xterm). You can try enabling the xterm option to force micro to ignore the TERM variable and the capabilities reported by that environment variable.

No worries. So, you're saying that you wasn't able to reproduce the problem on your local machine?
You can try switching to one of the ttys by pressing ctrl+alt+f1 or similar and run micro. Selection using shift + arrow keys won't work.
'echo $TERM' command gives me 'linux'
Do you really think that it is a good idea to change the default linux TERM value to something else?

Ok thank you. I don't think it's a good idea to change TERM in this case, and I tried it out and it doesn't work anyway. I'm not exactly sure how nano is able to capture those key events... Maybe it has to do with how nano initializes the terminal. I'll have to look into for more details.

I looked into it a bit more and I'm still not sure what nano is doing to get this to work. I was under the impression that the linux console does not support modifiers for arrow keys, and they also don't seem to work in Vim. I think it's unlikely I'm going to discover what nano is doing special, so I think your best bet is to rebind the actions for selection that you want to other keys.

@zyedidia oh well, but thanks for looking into this!

The following is not directly related to micro:
To achieve selection shortcuts on a tty, you can configure your kbd mapping accordingly. Here's what I needed to do on Arch Linux to get fully functioning ctrl/shift  arrow keys/home/end/tab functionality in micro in ttys:
custom_mappging.map
# ctrl left
control keycode 105 = F200
string F200 = "\033[1;5D"

# ctrl right
control keycode 106 = F201
string F201 = "\033[1;5C"

# shift left
shift keycode 105 = F202
string F202 = "\033[1;2D"

# shift right
shift keycode 106 = F203
string F203 = "\033[1;2C"

# ctrl shift left
control shift keycode 105 = F204
string F204 = "\033[1;6D"

# ctrl shift right
control shift keycode 106 = F205
string F205 = "\033[1;6C"

# ctrl up
control keycode 103 = F206
string F206 = "\033[1;5A"

# ctrl down
control keycode 108 = F207
string F207 = "\033[1;5B"

# shift up
shift keycode 103 = F208
string F208 = "\033[1;2A"

# shift down
shift keycode 108 = F209
string F209 = "\033[1;2B"

# ctrl shift up
control shift keycode 103 = F210
string F210 = "\033[1;6A"

# ctrl shift down
control shift keycode 108 = F211
string F211 = "\033[1;6B"

# shift pgup
shift keycode 104 = F212
string F212 = "\033[5;2~"

# shift pgdown
shift keycode 109 = F213
string F213 = "\033[6;2~"

# ctrl home
control keycode 102 = F214
string F214 = "\033[1;5H"

# ctrl end
control keycode 107 = F215
string F215 = "\033[1;5F"

# shift home
shift keycode 102 = F216
string F216 = "\033[1;2H"

# shift end
shift keycode 107 = F217
string F217 = "\033[1;2F"

# ctrl shift home
control shift keycode 102 = F218
string F218 = "\033[1;6H"

# ctrl shift end
control shift keycode 107 = F219
string F219 = "\033[1;6F"

# shift tab
shift keycode 15 = F220
string F220 = "\033[Z"

# newline at end

and then
sudo loadkeys custom_mapping.map
reference: 1, 2

@phil294 Thank you for sharing this solution!
I'm on pinebook pro running manjaro and it didn't help.
For example, pressing shift + right arrow key results in [1;2C] being printed as a text.

@Kayli Did you run loadkeys with the file?
I just yesterday found that this remapping is actually also documented in micro's wiki: https://github.com/zyedidia/micro/wiki/Linux-Console-Keybindings But it should be pretty much the same as I posted above.
If this still all doesn't work, then maybe you have installed a custom tty terminal like kmscon? Or the key codes on your system are different, which I didn't think was possible.
Other than that, I can only encourage you to dig into the keyboard remapping workflow documentation of your distribution yourself, or take a look into the two links I posted at the very end of my previous comment.

I'm experiencing the same issue. There is sister thread: #802
Keymap solution does does work not for me properly on bare arch tty with micro 2.0.10, I did loadkeys with provided supplementary keymap and it just inserts raw key value as ascii.
export TERM=xterm does the trick, but it kills the rest of console apps and its functionality (mc no longer can use F3/F4 for view/edit and I wanted to replace mcedit with micro, and so on)
How did you make it work without changing the TERM?

@zyedidia

This is simply an issue with bare ttys.

So how come tilde has 0 issues? It works perfectly fine both in tty and under GUI wrapper/proxy

export TERM=xterm does the trick, but it kills the rest of console apps

Can't you then only set this variable for micro and not the rest of your apps? E.g. start. micro as TERM=xterm micro
Besides, micro also has an option called xterm (on/off), have you tried toggling that?
These are just wild guesses, I have no idea why it wouldn't work on your system otherwise.

Can't you then only set this variable for micro and not the rest of your apps? E.g. start. micro as TERM=xterm micro

No easy and handy way t od it under tty. I also cant run external editor in place of MCedit in MC with per-app env var defined. EDITOR= in .bashrc also cannot definition contain references to other env vars, it wont process it.

I realize this is over 1 year old but I thought I'd add my 2 cents. Looking at the code for both nano and the sanos editor, they are both written in C and both of them explicitly check if $TERM is set to linux -- i.e. a bare linux tty. If this is the case then they issue an ioctl call on the terminal with a TIOCLINUX request which returns the state of the Shift and Ctrl keys. Since micro is written in go and uses tcell to get keystrokes, it looks like something similar would need to be added to tcell.


Custom GlobalFilter will have undeterministic hehavior when the Order is the same value.

Phenomenon
Let me give an example: I have two GlobalFilters: AFilter and BFilter and they all have the same order: HIGHEST_PRECEDENCE.
In the AFilter, I set some customted sign in the requests, then I obtain that sign in the BFilter for auth check. The excepted hehaviours is: AFilter ---> BFilter, but sometimes in different environment, we find the execution order can also be BFilter ---> AFilter.
public class AFilter implements GlobalFilter, Ordered {

    @Override
    public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
    }

    @Override
    public int getOrder() {
        return Ordered.HIGHEST_PRECEDENCE;
    }
}
public class BFilter implements GlobalFilter, Ordered {

    @Override
    public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
    }

    @Override
    public int getOrder() {
        return Ordered.HIGHEST_PRECEDENCE;
    }
}

Root cause
After debugging, I find the root cause is in the following source codes:
org.springframework.cloud.gateway.handler.FilteringWebHandler#handle
@Override
public Mono<Void> handle(ServerWebExchange exchange) {
	Route route = exchange.getRequiredAttribute(GATEWAY_ROUTE_ATTR);
	List<GatewayFilter> gatewayFilters = route.getFilters();

	List<GatewayFilter> combined = new ArrayList<>(this.globalFilters);
	combined.addAll(gatewayFilters);
	// TODO: needed or cached?
	AnnotationAwareOrderComparator.sort(combined);

	if (logger.isDebugEnabled()) {
		logger.debug("Sorted gatewayFilterFactories: " + combined);
	}

	return new DefaultGatewayFilterChain(combined).filter(exchange);
}

The order of Filters execution is indeed uncertain even if the Orders are the same. The fundamental reason for this lies in the fact that this.globalFilters is a collection obtained by scanning packages, whose order is undetermined. During the package scanning process, classes implementing the GlobalFilter interface are not the only ones to be loaded; other classes may also be loaded, such as auto-configuration classes, configuration classes, and special annotation classes. The loading order of these classes is controlled by the ClassLoader, and the implementation of ClassLoader varies depending on the specific JVM vendor. Different JVM vendors may implement ClassLoader differently, resulting in an uncertain order of class loading during package scanning. I tested three JDK versions: Amazon-Corretto 1.8.0_342, Oracle 1.8.0_271, and Oracle 1.8.0_201, the loading order are different
Workaround
The workaround is: make your customed GlobalFilter with different order number to make the hehavior deterministic
Alternatives
The alternative improvements are:

update the docs to notice users about this hehavior. (https://docs.spring.io/spring-cloud-gateway/reference/spring-cloud-gateway/global-filters.html)
change the codes(rewrite the sort implmentation) to make the hehavior deterministic
If maintainers agree with these, I can create a PR against it

The only option is documentation. There's no way to make it deterministic if they have the same order

If you would like us to look at this issue, please provide the requested information. If the information is not provided within the next 7 days this issue will be closed.

Closing due to lack of requested feedback. If you would like us to look at this issue, please provide the requested information and we will re-open the issue.


new to node.js and node-ffi, and cant get it working

Hi all
just for testing purposes I created a small DLL ın delphi.It's code being:
library MyDll;
uses
SysUtils,
Classes,
Vcl.Dialogs;
function DllMessage(const echo: string): string;  export;
begin
//ShowMessage('Hello world from a Delphi DLL') ;
Result := 'Echo:  ' + echo;
end;
exports DllMessage;
begin
end.
I just want to run something as simple this with this even more simpler nodejs code:
var ffi = require('ffi');
console.log("1");
var mylib = ffi.Library('MyDll', {'DllMessage': [ 'string', [ 'string' ] ] });
console.log(2");
var outstring = mylib.DllMessage('abc');
console.log("3" + outstring);
problem is that i see "1" and "2" on the console and nothing else.
please help, any idea?
Thanks in advance

AFAIK delphi string is unicode and your NodeJS definition is "string" (string is not unicode). I think you need to use AnsiString or some array to do that properly.


How frames and msg are synchronized ?

I have extracted frames and tracks information from a recorded ROS bag. I thought that the seq number was used to linked tracks msg and frames, but it does not seem to match. Even timestamps do not matched.

Hi @enrabre
The answer to your question is that you cannot have a perfect synchronization within tracks and frames. The tracks are computed from the detections, which are generated by each couple sensor/computer. The timing information (header.stamp) you can find inside the detection messages is the same as the one of the point cloud used as the input.
On the other hand, the tracks use as timing information the current time when they are created.
If you want, you can approximately synchronize detections (-> point cloud -> frames) and tracks by using the ROS approximate time synchronizer. Another way, is to make the tracks have the same timing information as the detections from which they are created (i.e. change this line) and then compile and record again the data.


Add a pagination built-in to Kino.Layout

There are situations where basic pagination would be really useful, e.g. to "scrub through" the steps of a transformation of some kind. Kino.Layout.tabs/1 almost fits the bill, but it comes a bit unwieldly when you have a lot of tabs:

I'd love a Kino.Layout.pagination (or pages, not sure which is better) that is very similar to tabs, but takes a list of items to render and displays standard pagination controls.
Options that could be implemented:

:position - :top | :bottom (defaults to :top)
:keyboard_controls - boolean (defaults to false probably), allows using left/right arrow keys to scrub through pages when the cell is focused in normal mode

Hi @zachallaun! I am wondering if it would be possible to implement those using the existing functionality? something like:
Kino.Layout.grid([
  controls,
  frame
])

where controls is Kino.JS.Live with state and event handling, and frame is used to render stuff? Then perhaps it could be its own kino_paginate lib?

You're right, and digging into the code further, it looks like :tabs and :grid are "Livebook-native" outputs that Kino is just wrapping. My primary reason for wanting to implement pagination directly in Kino was for code-sharing, but to do that, it would actually have to be mostly implemented in Livebook.
Given that, it probably makes the most sense to implement it on top of grid for now!

@zachallaun yeah, and the difference is that :tabs and :grid are stateless, all the contents are sent to Livebook and these are just way of laying out the contents. For pagination it would make more sense if the user passed get_page function and it would be called as needed. This way we don't need to send 100 renderings to Livebook at once.


1 VPS & Multiple Panels

Hello Again,
I hope you're doing great!
How can I run this script for multiple panels on 1 VPS?
Is it doable? Please guide me through it if you can.
I appreciate your time bro!
Thanks a lot

I explained this before in here: #12
Put each script in a separate folder and enter the information then run it in a separate screen.


Anyone else having trouble getting the TickByTick example working?

Research

[X] I've already searched and I could not find an existing issue or discussion about this issue.

Description
Running it with the 14005.dem file, and just getting empty.
I've been able to somewhat parse it with the Basic example, but not the tick example
Code to reproduce
private async void ReadCSFile(string path = "C:\\Users\\taylo\\CSDeadlockDemofileReader\\CSDeadlockParser\\CSDeadlockParser\\DemoFiles\\14005.dem")
    {
        Console.WriteLine("Reading file...");
        var demo = new CsDemoParser();

        // Define the output file path
        string outputPath = "C:\\Users\\taylo\\CSDeadlockDemofileReader\\CSDeadlockParser\\CSDeadlockParser\\Output\\output.txt";

        // Create a StreamWriter to write to the output file
        using StreamWriter writer = new StreamWriter(outputPath);

        demo.Source1GameEvents.BulletImpact += e =>
        {
            Console.WriteLine($"{e.Player?.PlayerName} {e.PlayerPawn.Weapons}");
        };

        demo.Source1GameEvents.PlayerDeath += e =>
        {
            Console.WriteLine($"{e.Attacker?.PlayerName} [{e.Weapon}] {e.Player?.PlayerName}");
        };

        demo.Source1GameEvents.GameStart += e =>
        {
            if (e != null)
            {
                Console.WriteLine($"{e}");
            }
        };

        // Read 20 minutes of gameplay before stopping
        var readUntilTicks = DemoTick.Zero + TimeSpan.FromMinutes(20);

        var reader = DemoFileReader.Create(demo, File.OpenRead(path));
        await reader.StartReadingAsync(default(CancellationToken));
        while (demo.CurrentDemoTick < readUntilTicks)
        {
            if (!await reader.MoveNextAsync(default(CancellationToken)))
            {
                // We've reached the end of the demo file
                break;
            }
        }

        Console.WriteLine("File written...");
    }

Affected demos
14005.dem

The demo is 453 KB, it's just used by the integration tests to ensure that backwards compatibility with older demos is not broken.
Instead can I suggest downloading a proper match demo from hltv.org and testing your code with that? You should see more output.

Awesome, thanks for that man I appreciate it. Ill get on it


Managing content for the the Open Source page

The page at https://shopify.github.io/shopify_api/ is a public 'landing' page for the shopify_api gem.
It's based on the content from the gem's README but hadn't been updated for some time and so became stale.
In #739 we're updating it, but we still need a better long term solution, or it will become stale again.
Some options to consider:

Have a fully automated way of updating the docs, e.g. a GitHub action
Have a schedule reminder for the team to update the docs, e.g. quarterly
Create an alternate landing page which gives less detailed, higher-level overview of the library which would be less likely to become stale.

cc @attaboy

I would vote for #3 personally: use the README as a high-level overview and launch point for the docs. I don't think detailed docs belong in a README, and having one long doc both makes it harder to read and harder to maintain IMO.


Nitin's Introduction

@nitin-pandita - thanks for adding your introduction. Make sure to join our community, by making an issue here: https://github.com/The-Lively-Developers-Community/become-a-member


["HostConfig"]["Binds"] of container includes rancher-cni:/.r:ro which needs to be supressed.

Rancher server - Build from master
Steps to reproduce the problem:
Create a service with managed network.
["HostConfig"]["Binds"] of container includes rancher-cni:/.r:ro which needs to be supressed.
Automation tests that fail:
cattlevalidationtest.core.test_container_run_option.test_container_run_with_options_1
cattlevalidationtest.core.test_rancher_compose.test_rancher_compose_service
cattlevalidationtest.core.test_services.test_services_docker_options
 Error Details
assert ['/test/conta...r-cni:/.r:ro'] == ['/test/contai...test/vol1:ro']   Left contains more items, first extra item: 'rancher-cni:/.r:ro'   Use -v to get the full diff
 Stack Trace
client = <cattle.Client object at 0x7fe9b2cddad0>, test_name = 'test-879813'
socat_containers = None

    def test_container_run_with_options_1(client, test_name,
                                          socat_containers):

        hosts = client.list_host(kind='docker', removed_null=True, state="active")
        assert len(hosts) > 0
        host = hosts[0]

        volume_in_host = "/test/container"
        volume_in_container = "/test/vol1"
        docker_vol_value = volume_in_host + ":" + volume_in_container + ":ro"

        env_var = {"name1": "value1"}
        host_name = "host1"
        domain_name = "abc.com"
        dns_name = ["test.com"]
        dns_search = ["<IP_ADDRESS>"]
        cap_add = ["CHOWN"]
        cap_drop = ["KILL"]
        user = "root"
        restart_policy = {"maximumRetryCount": 5, "name": u"on-failure"}
        memory = 16000000
        memory_swap = 16000000
        cpu_set = "0"
        cpu_shares = 400
        command = ["sleep", "450"]

        # Create a container to link the data volume of the container for
        # validate dataVolumesFrom

        con_vol = client.create_container(name=test_name + "-forvolume",
                                          networkMode=MANAGED_NETWORK,
                                          imageUuid=TEST_IMAGE_UUID,
                                          requestedHostId=host.id
                                          )
        con_vol = client.wait_success(con_vol, 120)
        assert con_vol.state == "running"

        docker_vol_from_value = con_vol.externalId

        # Create container with different docker options and validate the option
        # testing with docker inspect command

        c = client.create_container(name=test_name,
                                    networkMode=MANAGED_NETWORK,
                                    imageUuid=TEST_IMAGE_UUID,
                                    requestedHostId=host.id,
                                    dataVolumes=docker_vol_value,
                                    dataVolumesFrom=con_vol.id,
                                    publishAllPorts=False,
                                    privileged=False,
                                    environment=env_var,
                                    hostname=host_name,
                                    domainName=domain_name,
                                    stdinOpen=False,
                                    tty=False,
                                    dns=dns_name,
                                    dnsSearch=dns_search,
                                    capAdd=cap_add,
                                    capDrop=cap_drop,
                                    user=user,
                                    memory=memory,
                                    memorySwap=memory_swap,
                                    cpuSet=cpu_set,
                                    cpuShares=cpu_shares,
                                    restartPolicy=restart_policy,
                                    command=command
                                    )

        c = client.wait_success(c, 120)
        assert c.state == "running"

        docker_client = get_docker_client(host)
        inspect = docker_client.inspect_container(c.externalId)
        print inspect

        dns_name.append(RANCHER_DNS_SERVER)
        dns_search.append(RANCHER_DNS_SEARCH)

>       assert inspect["HostConfig"]["Binds"] == [docker_vol_value]
E       assert ['/test/conta...r-cni:/.r:ro'] == ['/test/contai...test/vol1:ro']
E         Left contains more items, first extra item: 'rancher-cni:/.r:ro'
E         Use -v to get the full diff

tests/v2_validation/cattlevalidationtest/core/test_container_run_option.py:86: AssertionError

Tested with master build with commit 0c9c663a6e67c8c14be0bf067807db8ebb621169
rancher/dns:v0.10.2
rancher/healthcheck:v0.1.0
rancher/net:v0.6.2
rancher/metadata:v0.6.3
rancher/plugin-manager:v0.1.4
rancher/scheduler:v0.1.2
This issue is still reproducible.

We are not going to remove the rancher-cni volume from the Docker inspect.  It should only be ignored such that rancher does not create a volume for it in the database.


addint trilio to adopters list

What this PR does / why we need it: Adding Trilio to Adopters List
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Release note:

/ok-to-test
/lgtm

/approve

/lgtm


FUSETOOLS2-2368 - provide different run and debug camel actions

add possibility to run or debug for all Camel applications from root folder or from the containing folder
All Camel run and debug actions are grouped in the "classic" run quick action editor button as submenu given that VS Code APi doesn't allow to have submenu for custom quick actions.

I only updated existing tests.
@pospisilf Can I let you write UI tests for the new use cases please? (in another PR)


Create new-style shoots for corporate shoots in Miro

From my chat with @jtweed this afternoon: for starters, we want CSV files in S3, one for each shoot, with the following headings:
Title, Reference, Location, Staff Photog, Freelance Photog, Intended Usage, People

First draft of that script is here: https://github.com/wellcometrust/platform-private/pull/3
(Private for now because (1) it has a lot of MIRO-specific code in it, unlikely to be useful and (2) there are hard-coded references to individual shoots.)

I looked at parsing the People field based on the MIRO data, but it’s pretty messy, so we’re going to ignore that for now.

We now have a pile of per-shoot CSVs in S3, along with a single CSV with all of them for easy reference/review.

I think this is done, subject to @jtweed reviewing the CSVs that have been created. Next step is using all of these to embed image-level metadata (#505).

Closing as we have all the CSVs now.


Ramishtaha patch 2

Delete Coffee machine and both GetBerthFromSeatNumber-Train.py files.

I don't have permission to delete those files,...


aptly repo include skips *.buildinfo

Today I tried to import self built debian packages to a local aptly repo.
aptly version: 1.1.1+49+g10e0966
Normally, all files should be removed after import. But *.buildinfo were kept on disk.
$ ll
total 92
drwxrwxrwx 2 ftp ftp 4096 Nov 24 09:08 ./
drwxrwxr-x 3 ftp ftp 4096 Nov 23 07:56 ../
-rw-r--r-- 1 ftp ftp 7689 Nov 24 09:08 besi-meta_18.04-1.0_amd64.buildinfo
-rw-r--r-- 1 ftp ftp 4917 Nov 24 09:08 besi-meta_18.04-1.0_amd64.changes
-rw-r--r-- 1 ftp ftp 1290 Nov 24 09:08 besi-meta_18.04-1.0.dsc
-rw-r--r-- 1 ftp ftp 5185 Nov 24 09:08 besi-meta_18.04-1.0_i386.buildinfo
-rw-r--r-- 1 ftp ftp 2047 Nov 24 09:08 besi-meta_18.04-1.0_i386.changes
-rw-r--r-- 1 ftp ftp 3480 Nov 24 09:08 besi-meta_18.04-1.0.tar.xz
-rw-r--r-- 1 ftp ftp 1168 Nov 24 09:08 besi-meta-base_18.04-1.0_all.deb
-rw-r--r-- 1 ftp ftp 1540 Nov 24 09:08 besi-meta-base-x_18.04-1.0_all.deb
-rw-r--r-- 1 ftp ftp 1644 Nov 24 09:08 besi-meta-build-essentials_18.04-1.0_amd64.deb
-rw-r--r-- 1 ftp ftp 1644 Nov 24 09:08 besi-meta-build-essentials_18.04-1.0_i386.deb
-rw-r--r-- 1 ftp ftp 1224 Nov 24 09:08 besi-meta-compilehost_18.04-1.0_all.deb
-rw-r--r-- 1 ftp ftp 1304 Nov 24 09:08 besi-meta-desktop_18.04-1.0_all.deb
-rw-r--r-- 1 ftp ftp 1240 Nov 24 09:08 besi-meta-devel_18.04-1.0_amd64.deb
-rw-r--r-- 1 ftp ftp 1240 Nov 24 09:08 besi-meta-devel_18.04-1.0_i386.deb
-rw-r--r-- 1 ftp ftp 1128 Nov 24 09:08 besi-meta-indel_18.04-1.0_all.deb
-rw-r--r-- 1 ftp ftp 1376 Nov 24 09:08 besi-meta-workstation-base_18.04-1.0_all.deb
-rw-r--r-- 1 ftp ftp 1168 Nov 24 09:08 besi-meta-workstation-extra_18.04-1.0_all.deb
-rw-r--r-- 1 ftp ftp 1812 Nov 24 09:08 besi-meta-workstation-sw_18.04-1.0_all.deb

I checked whether the buildinfo files are within the changes files:
$ grep buildinfo *.changes
besi-meta_18.04-1.0_amd64.changes: 1ab9313308582c4d83695ea1bf926e59e259f965 7689 besi-meta_18.04-1.0_amd64.buildinfo
besi-meta_18.04-1.0_amd64.changes: 48503a73b1cb1dca80955f36b95373ba1ed0842d816adaed24c373368aefd6a6 7689 besi-meta_18.04-1.0_amd64.buildinfo
besi-meta_18.04-1.0_amd64.changes: 7ca8be7b14148c4b8ce9ac80acec2757 7689 metapackages extra besi-meta_18.04-1.0_amd64.buildinfo
besi-meta_18.04-1.0_i386.changes: 1ff375bdb38ddb75f7978ca918800435c638c631 5185 besi-meta_18.04-1.0_i386.buildinfo
besi-meta_18.04-1.0_i386.changes: 05375acb4c20c12bbf004da9f936109ff627fddbe03da17de0aabec144f24013 5185 besi-meta_18.04-1.0_i386.buildinfo
besi-meta_18.04-1.0_i386.changes: 6974f1b61fc0dfa9424965f7d7d12724 5185 metapackages extra besi-meta_18.04-1.0_i386.buildinfo

After include, it looks like this:
$ aptly repo include -no-remove-files=false -accept-unsigned=true -ignore-signatures=true -repo=elektra-incoming /home/distro/aptly/incoming/elektra
Loading repository elektra-incoming for changes file besi-meta_18.04-1.0_amd64.changes...
[+] besi-meta-base-x_18.04-1.0_all added
[+] besi-meta-base_18.04-1.0_all added
[+] besi-meta-build-essentials_18.04-1.0_amd64 added
[+] besi-meta-compilehost_18.04-1.0_all added
[+] besi-meta-desktop_18.04-1.0_all added
[+] besi-meta-devel_18.04-1.0_amd64 added
[+] besi-meta-indel_18.04-1.0_all added
[+] besi-meta-workstation-base_18.04-1.0_all added
[+] besi-meta-workstation-extra_18.04-1.0_all added
[+] besi-meta-workstation-sw_18.04-1.0_all added
[+] besi-meta_18.04-1.0_source added
Loading repository elektra-incoming for changes file besi-meta_18.04-1.0_i386.changes...
[+] besi-meta-build-essentials_18.04-1.0_i386 added
[+] besi-meta-devel_18.04-1.0_i386 added

$ ll
total 24
drwxrwxrwx 2 ftp ftp 4096 Nov 24 09:10 ./
drwxrwxr-x 3 ftp ftp 4096 Nov 23 07:56 ../
-rw-r--r-- 1 ftp ftp 7689 Nov 24 09:08 besi-meta_18.04-1.0_amd64.buildinfo
-rw-r--r-- 1 ftp ftp 5185 Nov 24 09:08 besi-meta_18.04-1.0_i386.buildinfo

Would it be possible to delete those files, too?

@smira ... if you have time, please take a look at commit 8a4d866, this could be a solution. I didn't find a test file for importing, so I didn't add any tests - sorry for that.
I tested above commit with "aptly repo include..." and "aptly repo add -remove-files...", buildinfo files were removed. Of course, I could add any files to "otherFiles" list, but I thought it's better to be specific, here.

Thanks for the fix, I will add thag!


Allow count motion movement

Added basic capability to enumerate movement operations to allow faster jumping across textobjects. This allows the user to do something like 3]m or 3[m to move forward/backward by a multiple/count of the motion.
https://github.com/nvim-treesitter/nvim-treesitter-textobjects/issues/217

Thank you a lot for the contribution. I just found a tiny nitpick


Warning C4355: 'this' used in base member initializer list

Version of Beast
144
All relevant compiler information
MSVC 15.5.6
I am getting the warning C4355: 'this' used in base member initializer list in file https://github.com/boostorg/beast/blob/d52e8290453fe445c8700b4819fe8e4f45633a02/include/boost/beast/core/detail/static_ostream.hpp#L125
It seems like a legit use to me and msvc being overly cautious. I am curious what is the official policy in these cases, Ignoring / muting in boost / muting outside boost?

Weird because I don't see that warning, and it would bug me if I did since I use MSVC day to day. I prefer to fix them, and to do so without resorting to compiler switches. Sometimes that requires a creative solution.

The issue popped up for me since updating to 14.12.25810 toolchain afaik

There's nothing I can do about this, since it doesn't happen in the latest toolchain (15.5.5) and there's really no workaround that I can think of, unless you can come up with one? I prefer not to squelch the warning in the library. It is difficult to do anyway without affecting the user's translation units.

Okay, many thanks for your feedback.


Calling db_exists after calling db_open closes the database

After i open a database using db_open, i can create classes and do other operations and things are fine. But if i call db_exists on an already opened database and then try to some operation it results in the error pyorient.exceptions.PyOrientDatabaseException: com.orientechnologies.orient.core.exception.ODatabaseException - Database 'memory:<db name>' is closed
Here is the code to reproduce it
# Creating the database
import pyorient
client = pyorient.OrientDB("localhost", 2424)
dbName = "test"
user = "root"
password = "password"
session_id = client.connect(user, password)
client.db_create(dbName, pyorient.DB_TYPE_GRAPH, pyorient.STORAGE_TYPE_MEMORY)
client.db_open(dbName, user, password)
client.command("create class Car")   # this works
client.db_exists(dbName, pyorient.STORAGE_TYPE_MEMORY)
client.command("create class Bike")   # this fails

I get this exception
>>> client.command("create class Animal")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/lovesh/.virtualenvs/penv/lib/python3.5/site-packages/pyorient/orient.py", line 411, in command
    .prepare(( QUERY_CMD, ) + args).send().fetch_response()
  File "/home/lovesh/.virtualenvs/penv/lib/python3.5/site-packages/pyorient/messages/commands.py", line 145, in fetch_response
    super( CommandMessage, self ).fetch_response()
  File "/home/lovesh/.virtualenvs/penv/lib/python3.5/site-packages/pyorient/messages/base.py", line 256, in fetch_response
    self._decode_all()
  File "/home/lovesh/.virtualenvs/penv/lib/python3.5/site-packages/pyorient/messages/base.py", line 240, in _decode_all
    self._decode_header()
  File "/home/lovesh/.virtualenvs/penv/lib/python3.5/site-packages/pyorient/messages/base.py", line 192, in _decode_header
    [ exception_message.decode( 'utf8' ) ]
pyorient.exceptions.PyOrientDatabaseException: com.orientechnologies.orient.core.exception.ODatabaseException - Database 'memory:test' is closed

But if i call db_open again it works so
client.db_exists(dbName, pyorient.STORAGE_TYPE_MEMORY)
client.db_open(dbName, user, password)
client.command("create class Bike")   # Now this works

Hi @lovesh,
This is not an issue it's how orientdb works.
You should not mix server commands with database, beside the fact that I do not understand why you need it, and that by chance your server and databse share the same user passwords, which should not be the case, here's what happens

you connect as root with connect
then create a db
next you open the db with db_open that it's a way to connect to the server as user
now you have a database opened
you issue a db_exists a server command and that command closes the opened database

in my opinion it's strange that even the db_exists works, anyway you're using it wrong :D