Added callback function to be called on every single image load

Hi, I am new to Git, so please bare with me! :-)
I added a function called
imageLoaded( singleImageCallback [ , allImagesCallback ] )
The first callback argument gets executed everytime an image is loaded. The optional latter callback shows default imagesLoaded() behaviour.
I hope this addition is of any use!
Cheers, Laurens

@lmeurs - Welcome to the party! This is a nice idea, but I'm fairly sure that the single image callback is superfluous to using the progress method on the deferred object. @Darsain can you confirm?

@desandro Thanks for the warm welcome! :-)
I agree with you, but strongly think a good image loader like this is a necessity to many people. My guess is that it is important to make this script easy to integrate in any website, a jQuery v1.7 dependency solely for dfd.progess() might be too high.
Also, the function called by dfd.progess() does not know which image was the trigger. An extra argument containing the trigger image or index number could be handy, but I suppose then dfd.progess() should be called from within the timeout as well.
The first callback argument of imageLoaded() is called on the single image HTML element and has $all_images, loaded_count, proper_count and broken_count as arguments. The second optional callback argument shows default imagesLoaded behavior, so is called on the initial jQuery collection.
And I hope I'm not being too bold here :-) , but I think it might be nice for the dfd.progess() and imageLoaded() callbacks to not receive array lengths, but jQuery collections, like all other callbacks do. The callback functions can get the collection's lengths themselves. I understand that a change like this this results in incompatibility when upgrading, but I just wanted to have it said!

Per image callback would be definitely too superfluous, as 99% of the people would never use it. Especially when there is .progress() method that does exactly that.
I'm looking at it like this: callback is for simple usage, while deferred is for advanced usage. So lets not go backwards, and bloat the plugin by porting deferred functionality into callbacks.
Also, introducing another .imageLoaded namespace is definitely not a good idea. We should stick to jQuery standards and keep one namespace per plugin. Especially regarding the feature that is already in plugin's deferred functionality. This would be just unnecessary bloating for the sake of tiny percentage of dinosaurs wanting to use this. jQuery 1.7 has been here for almost 4 months now. By the internet rules it is considered ancient :)
Instead, we should have a discussion on .progress() arguments, as I think you might be right that it doesn't provide enough.
In my first local version using deferred, I had .progress() receive the concerned image in a jQuery object as a function scope (this), and whole objects of proper/broken/loaded images as arguments, along with info whether the right now loaded image is broken or proper, ... basically EVERYTHING ... but it just seemed like too much and redundant. I couldn't think of a single usage case where I'd need that in there, and it wouldn't make more sense doing that in .done or .fail instead, so I decided to keep it simple, and let the progress be what it is supposed to be - a notification about loading progress.
I am for changing progress arguments, but only if there will be a good reason for it.
So the question is: What per image execution usage case can you imagine, that would need objects as arguments, and wouldn't make bigger sense doing in .done, .fail or .always?
For example: Replacing broken images with placeholders in .progress would be stupid, as whatever reason you had to call .imagesLoaded in the first place will be transferred into the placeholder, and you'd have to initiate .imagesLoaded on every single replacement, which would be simply too messy, and bad practice. This makes a lot bigger sense doing with .fail method on all broken images at once.
As far as I could think of, all usage cases made bigger sense with .done, .fail or .always. Well, except one - marking images in plugin demonstration with proper/broken class while they are being loaded :) But that is not worth un-simplifying the progress method, and seems more like a feature for the sake of feature, which I hate in all plugins developed this way.

And, if someone really needs per image loaded execution, they can always do:
$("img").each(function(i,e){
  $(e).imagesLoaded(function(){
    // code
  });
});

Which is even less code than code added in your pull request to introduce this :)

I understand where you are coming from, thank you for the quick replies.
The jQuery v1.7 requirement is a bit high for some users using other scripts that depend on another version of jQuery. Drupal for instance is still sticking at v1.5.2. As I said, in my opinion a good image loader should reach a broad(er) audience.
I stumbled upon this script when looking for an updated version of https://github.com/peol/jquery.imgloaded. imagesLoaded() apparently serves another purpose, but could easily be doing the same as imgloaded(). But better. And more.
Most of the times we don't care when an image is done loading, but sometimes we do. In case of a (pre)loader or when you want to take particular actions as soon as one or all images are loaded. Images could be hidden at first (slideshows, animations, etc.) and shown or re-positioned when they get loaded, instead of having to wait for the whole bunch to be done loading.
I started out with something like:
$("img").each(function(i,e){
  $(e).imagesLoaded(function(){
    // code
  });
});

but to me it seemed more versatile if we also knew the number of loaded images and perhaps could easily add a function when all images are loaded. So I came up with an external extension:
$.fn.imageLoaded = function( single_callback , total_callback ) {
  var $this = this,
    $_images = $this.find('img').add( $this.filter('img') ),
    counter = 0;

  return $this.each(function( i , image ) {
    var $image = $(image);
    $image.imagesLoaded(function($images, $proper, $broken) {// $images only contains this single image
      // execute single_callback on every single image load
      single_callback.call( $image, $_images, ++counter );

      // execute optional total_callback when all images are loaded
      if ($_images.length===counter && $.isFunction(total_callback)) total_callback.call( $this , $_images, $proper, $broken);
    });
  });
};

Not the way to go! And yes, I am aware of my 'ability' to overthink too many scenarios and end up with bloatious code. ;-)
I did not know of namespace polution, but understand what you mean. In that case I propose to rename the project to imageLoaded() with two callbacks, all in favor? :-)

The primary plugin role is expressed properly with its current name. I don't see the reason for renaming it.
However, I've reconsidered progress arguments, and I think it might be beneficial to provide full jQuery objects with image elements. My proposition is to trigger progress with:
deferred.notifyWith( $loaded_image, [
    isBroken,        // boolean status of $loaded_image
    $all_images,     // all images in stack
    $proper_images,  // thus far properly loaded images
    $broken_images   // thus far broken images
] );

With that in mind, the plugin requirements are almost nonexistent. .imagesLoaded works in almost all jQuery versions there are. You are talking only about .progress method, and I don't want to bloat the plugin with support for old jQuery versions  regarding supplementary functionality, i.e. functionality not at all crucial to the plugin primary role, which is to trigger a callback when all images has finished with loading. I already think that this plugin is too big. At least from where it was before I touched it :)
And don't get me wrong, after looking at it more thoroughly I see the benefit of per image callbacks and I'm OK with introducing the necessary arguments into .progress, but I don't want to add more .imagesLoaded() argments and do things in code twice, just to support supplementary features in old versions. jQuery is not IE :)
So that is my opinion: Yes for improving progress arguments; No for extending plugin with more arguments and callbacks for old jQuery support regarding a feature that will be mostly unused.
It's not like that feature is not there, you just need at least 4 months old jQuery to use it :)
And I've never worked with Drupal, but if you can't upgrade jQuery for non-admin areas, than it's really a shame.

I hope you understood that I was far from serious about renaming your project...
Calling deferred.notifyWith() would greatly add to the functionality of the script!
And as a 'final thought', please allow to play the devil's advocate (after this I will rest my case, promise :-): if the per image callback is superfluous, isn't the initial callback a bit redundant as well?
Thanks for your time, I learned a lot!

The initial callback is the point of the plugin, while deferred is the bonus for advanced users wanting more power. And .progress is a bonus of deferred functionality. So what you want is to bloat the plugin with support for old jQuery versions because the bonus of a bonus doesn't work in them :)
Not to mention that it would create this kinda calling:
$("img").imagesLoaded( null, function(){} );

Which is ugly, and it makes more sense doing like:
$("img").imagesLoaded({ allImages: function(){}, singleImage: function(){} });

But than, 99% of the people not using single callback would be inconvenienced with passing callback in options object.
Right now it is nice and dandy, with all functionality included. The only problem is the .progress method and old jQuery versions, which is just not worth the issues mentioned above. And I don't believe that updating jQuery can be mission impossible. Especially when jQuery is rarely backwards incompatible.
I have no problem with extending the plugin with new and useful feature. But extending it with bonus functionality that is already included, just so the little percentage of people wanting to use it & running on an old jQuery version wouldn't have to update ... it just doesn't seem right :)

@lmeurs Thank you for the request and for the discussion. As @Darsain has explained, I don't think this is a good fit for the project. However, you have some good ideas and identified a feature gap.
I've opened #22 to discuss targeting certain images.


Direct and Indirect Proportion Calculater

I would like to add Calculater for direct and indirect proportion

@sairish2001 I would like to add this feature

Go ahead
Deadline 9 May,2021


how to use many-to-one model setting of "Deep Transformers with Latent Depth"?

❓ Questions and Help
Before asking:

search the issues.
search the docs.

What is your question?
how to use many-to-one model setting of "Deep Transformers with Latent Depth"?
The script in example (fairseq/examples/latent_depth/) is only about one-to-many setting.
Code

What have you tried?
I tried following setting for many-to-one (en,ru2zh) model.
lang_pairs_str="ru-zh,en-zh"
databin_dir={databin_dir}

CUDA_VISIBLE_DEVICES=0,1,2,3 fairseq-train ${databin_dir} \
  --user-dir examples/latent_depth/latent_depth_src \
  --lang-pairs "${lang_pairs_str}" \
  --arch latent_multilingual_transformer \
  --task multilingual_translation_latent_depth \
  --criterion label_smoothed_cross_entropy --label-smoothing 0.1 \
  --share-encoders \
  --share-decoders \
  --encoder-langtok "src"\
  --decoder-langtok \
  --share-decoder-input-output-embed \
  --dropout 0.3 --attention-dropout 0.3 \
  --optimizer adam --adam-eps 1e-06 --adam-betas '(0.9, 0.98)' \
  --lr-scheduler inverse_sqrt --stop-min-lr 1e-9 --warmup-init-lr 1e-7 --warmup-updates 8000 \
  --max-tokens 4096 --update-freq 8  \
  --lr 0.0015 \
  --clip-norm 1.0 \
  --seed 42 \
  --ddp-backend=legacy_ddp \
  --encoder-layers 24 \
  --decoder-layers 24 \
  --decoder-latent-layer \
  --encoder-latent-layer \
  --sparsity-weight 0.1 \
  --anneal-updates 5000 \
  --soft-update 500  \
  --target-layers 12 \
  --share-weight 0.1

2021-06-02 13:42:20 | INFO | fairseq_cli.train | Start iterating over samples
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/home1/irteam/.pyenv/versions/3.6.5/lib/python3.6/multiprocessing/spawn.py", line 105, in spawn_main
    exitcode = _main(fd)
  File "/home1/irteam/.pyenv/versions/3.6.5/lib/python3.6/multiprocessing/spawn.py", line 115, in _main
    self = reduction.pickle.load(from_parent)
_pickle.UnpicklingError: pickle data was truncated
Traceback (most recent call last):
  File "/home1/irteam/.pyenv/versions/3.6.5/lib/python3.6/multiprocessing/resource_sharer.py", line 142, in _serve
    with self._listener.accept() as conn:
  File "/home1/irteam/.pyenv/versions/3.6.5/lib/python3.6/multiprocessing/connection.py", line 456, in accept
    answer_challenge(c, self._authkey)
  File "/home1/irteam/.pyenv/versions/3.6.5/lib/python3.6/multiprocessing/connection.py", line 737, in answer_challenge
    response = connection.recv_bytes(256)        # reject large message
  File "/home1/irteam/.pyenv/versions/3.6.5/lib/python3.6/multiprocessing/connection.py", line 216, in recv_bytes
    buf = self._recv_bytes(maxlength)
  File "/home1/irteam/.pyenv/versions/3.6.5/lib/python3.6/multiprocessing/connection.py", line 407, in _recv_bytes
    buf = self._recv(4)
  File "/home1/irteam/.pyenv/versions/3.6.5/lib/python3.6/multiprocessing/connection.py", line 379, in _recv
    chunk = read(handle, remaining)
ConnectionResetError: [Errno 104] Connection reset by peer
Traceback (most recent call last):
  File "/home1/irteam/.pyenv/versions/jhpark_3.6.5/bin/fairseq-train", line 33, in <module>
    sys.exit(load_entry_point('fairseq', 'console_scripts', 'fairseq-train')())
  File "/home1/irteam/users/parkjh/fairseq_210427/fairseq_cli/train.py", line 496, in cli_main
    distributed_utils.call_main(cfg, main)
  File "/home1/irteam/users/parkjh/fairseq_210427/fairseq/distributed/utils.py", line 351, in call_main
    join=True,
  File "/home1/irteam/.pyenv/versions/jhpark_3.6.5/lib/python3.6/site-packages/torch/multiprocessing/spawn.py", line 230, in spawn
    return start_processes(fn, args, nprocs, join, daemon, start_method='spawn')
  File "/home1/irteam/.pyenv/versions/jhpark_3.6.5/lib/python3.6/site-packages/torch/multiprocessing/spawn.py", line 188, in start_processes
    while not context.join():
  File "/home1/irteam/.pyenv/versions/jhpark_3.6.5/lib/python3.6/site-packages/torch/multiprocessing/spawn.py", line 150, in join
    raise ProcessRaisedException(msg, error_index, failed_process.pid)
torch.multiprocessing.spawn.ProcessRaisedException:

-- Process 2 terminated with the following error:
Traceback (most recent call last):
  File "/home1/irteam/.pyenv/versions/jhpark_3.6.5/lib/python3.6/site-packages/torch/multiprocessing/spawn.py", line 59, in _wrap
    fn(i, *args)
  File "/home1/irteam/users/parkjh/fairseq_210427/fairseq/distributed/utils.py", line 328, in distributed_main
    main(cfg, **kwargs)
  File "/home1/irteam/users/parkjh/fairseq_210427/fairseq_cli/train.py", line 173, in main
    valid_losses, should_stop = train(cfg, trainer, task, epoch_itr)
  File "/home1/irteam/.pyenv/versions/3.6.5/lib/python3.6/contextlib.py", line 52, in inner
    return func(*args, **kwds)
  File "/home1/irteam/users/parkjh/fairseq_210427/fairseq_cli/train.py", line 284, in train
    log_output = trainer.train_step(samples)
  File "/home1/irteam/.pyenv/versions/3.6.5/lib/python3.6/contextlib.py", line 52, in inner
    return func(*args, **kwds)
  File "/home1/irteam/users/parkjh/fairseq_210427/fairseq/trainer.py", line 674, in train_step
    ignore_grad=is_dummy_batch,
  File "/home1/irteam/users/parkjh/fairseq_210427/examples/latent_depth/latent_depth_src/multilingual_translation_latent_depth.py", line 119, in train_step
    sample, model, criterion, optimizer, update_num, ignore_grad
  File "/home1/irteam/users/parkjh/fairseq_210427/fairseq/tasks/multilingual_translation.py", line 365, in train_step
    ignore_grad,
  File "/home1/irteam/users/parkjh/fairseq_210427/examples/latent_depth/latent_depth_src/multilingual_translation_latent_depth.py", line 102, in _per_lang_pair_train_loss
    sample_size,
  File "/home1/irteam/.pyenv/versions/jhpark_3.6.5/lib/python3.6/site-packages/torch/nn/modules/module.py", line 889, in _call_impl
    result = self.forward(*input, **kwargs)
  File "/home1/irteam/users/parkjh/fairseq_210427/examples/latent_depth/latent_depth_src/loss/latent_depth.py", line 37, in forward
    kl_loss /= layer_samples[0].size()[0]
AttributeError: 'NoneType' object has no attribute 'size'

does anyone know a suitable configuration for many-to-one model?
thanks:)
What's your environment?

fairseq Version (e.g., 1.0 or master): 1
PyTorch Version (e.g., 1.0):1.8.1
OS (e.g., Linux):CentOS
How you installed fairseq (pip, source):pip
Build command you used (if compiling from source):
Python version:3.6.7
CUDA/cuDNN version:10.2
GPU models and configuration:4 P40
Any other relevant information:

How did you solve this issure?


fix handling of comments in config files

Scope & Purpose
Fixed parsing of ArangoDB config files with inlined comments. Previous versions didn't handle line comments properly if they were appended to an otherwise valid option value.
For example, the comment in the line
max-total-wal-size = 1024000 # 1M

was not ignored and made part of the value. In the end, the value was interpreted as if
max-total-wal-size =<PHONE_NUMBER>0000

was specified.
This version fixes the handling of comments in the config files so that they behave as intended.

[x] Bug-Fix for a released version (did you remember to port this to all relevant release branches?)
[x] The behavior in this PR can be (and was) manually tested (support / qa / customers can test it)
[x] The behavior change can be verified via automatic tests

Related Information

[x] There is a GitHub Issue reported by a Community User:

Got aware of this problem while trying to reproduce https://github.com/arangodb/arangodb/issues/5414
Testing & Verification
This PR adds tests that were used to verify all changes:

[x] Added Regression Tests (Only for bug-fixes)
[x] Added new C++ Unit Tests (Either GoogleTest or Catch-Test)

https://jenkins01.arangodb.biz/view/PR/job/arangodb-matrix-pr/4716/

https://jenkins01.arangodb.biz/view/PR/job/arangodb-matrix-pr/4719/

Yes, we decided against issuing warnings, because they will be ignored anyway. And it will scare people away unnecessarily that use the "#" char within string values.

https://jenkins01.arangodb.biz/view/PR/job/arangodb-matrix-pr/4728/


service tests update

r? @vinipsmaker
(maidsafe_highfive has picked a reviewer for you, use r? to override)

r? @dirvine


99th percentile-commit

This is the pull request for 99th percentile tab.

Any updates for this?

I have pushed the changes to branch. Waiting owner's reply of merge.


Issue in the code of algorithms/algorithms/stack/is_sorted.py

Some changes need to be made in the code.
1)The first 2 return statements have to be changed to break statements. This ensures that the code after the first for loop is executed. Previously it would never execute the latter part.
2)The second append statement should add elements to stack and not storage_stack. Try the test case [3,4,7,8,5,6]. The program returns True. It should return False.
def is_sorted(stack):
    storage_stack = []
    for i in range(len(stack)):
        if len(stack) == 0:
            break    # return
        first_val = stack.pop()
        if len(stack) == 0:
            break    # return
        second_val = stack.pop()
        if first_val < second_val:
            return False
        storage_stack.append(first_val)
        stack.append(second_val)    # storage_stack.append(second_val)

    # Backup stack
    for i in range(len(storage_stack)):
        stack.append(storage_stack.pop())

    return True

@anoubhav yeah thank you! Could you create a new PR to fix this error? Thank you


Release code please

Hello, I appreciated your great work and  got very interesed in your work. I can't wait to see what you actually do in this code. I would be very appreciative if you could release the code soon.

Thank you so much for your interest in our work!! Unfortunately I am caught up with my capstone project and exams right now. If you can send me an email, I am happy to send you the less 'tidy-up' code and provide some rough instructions.


Adding GetConversationReplies Command

Our goal is this to tell users to open support tickets if no one has responded to a thread other than the initial poster after a set period of time. PR#17 did not do what was intended as it is only based when the message is sent and not after the set period of time. ReceivedMessage command also does not fit the purpose.
This PR is to add the GetConversationReplies command so that the above condition can be met. This command gets the status of a parent message if channelId and threadTimestamp are provided using the following slack API https://api.slack.com/methods/conversations.replies. Pagination is not included in this PR.
Also, is there a way to test these changes out locally in the Expedia workspace first (without merging this PR first)?
For context (https://jira.expedia.biz/browse/DPLA-1259)

Thanks @mateiidavid. I think I corrected most the comments :)

Actually this might not work since Flyte uses a Classic Bot structure for RTM and according to this https://api.slack.com/rtm conversations.history isn't supported for it. https://api.slack.com/docs/token-types#bot mentions that this scope isn't possible without a migration first.


ACTI-003a

As a user, I can manually add an existing work artifact to the activity, in order to make it visible to others in the project or activity. | 1 Must Have | 3 (existing) + 5 (sharing)
part of:  #1247

Please change the name of the app to Nexus Fusion and remove EPFL Blue Brain Project.
You can have a second frame showing this (as we would allow at one point the administrators to customize the logo of the app for their organization).

In addition, as discussed previously, we should have the list of work artifacts/datasets listed in the activity somewhere, like in a legacy Studio. And not have cards at first (to make it more constrained and straightforward).


Allow displaying an SVG logo using svg source

Problem
in the current version of this library only image assets (like .png etc) can be used as a logo within QR code, svg assets would not work.
What this does
This PR tries to make it possible to use svgs.
I have not found any reasonable way to do this via the single logo prop, as there is no React component that could accept either ImageSourcePropType or an SVG and handle every case correctly. Some conditional logic is required to handle the svg prop, thats why I decided to add it as a new prop, while the old logo prop will work unchanged.

add (optional) logoSVG prop that accepts an svg and will render it
add (optional) logoColor prop to set the fill property of the logo
this solution handles:

a string svg, ex: "<svg ....>"
an URL pointing to an svg image, ex: https://raw.githubusercontent.com/software-mansion/react-native-svg/4b51a41a22432030a3396e847dc7d5aec5a86ae9/TestsExample/assets/ruby.svg
a svg React component (this is something that Expensify project uses via @svgr/webpack - its a very popular lib)

on web we either render the svg logo if its a component OR in case of string we use standard Image from react-native-svg
on native ios/android we use special dedicated components from react-native-svg which handle all the cases

I consider this WIP and api might still change
examples
ios

web

android

This api should be stable enough

Closing for now


[sk] Add Slovak translations of Basics lessons 12 and 13.

:boom:
This is awesome @michalvalasek!

@michalvalasek I don't think we're currently tracking these lessons in a GitHub Issue, would that be helpful to you?  If so I'd be glad to get things setup.

Hey @doomspork! I'm sorry but I don't think I understand the question. Why would we want to create an Issue for those lessons?

Howdy @michalvalasek!
Some of the other translators have found it's help to use an Issue to track the progress.  For example, here is the Russian Translation: https://github.com/doomspork/elixir-school/issues/220
It's up to you.  Thank you for your help 😀

@doomspork Oh, thanks for explanation! It looks very cool but it probably wouldn't be that useful while I'm the only one working on SK translation. As soon as someone joins me I'll create such tracking issue. I really like it.

Sounds good to me @michalvalasek, thanks again!


Eos run in docker

Easy to compile and run with docker-compose.

@peterwillcn ... thanks for building the docker image but why not use a dockerfile to build the base image.   No one knows what is in the base image.   This is dangerous from a security perspective.

@educatedwarrior Base image is only a compile environment in clang that reduces the build time.


git gc should be excuted by metagpt owner

metagpt 's .git directory is too large .
its better to excute git gc , to reduce .git directory data

The .git directory is very large, mainly caused by two historical files:

docs/resources/tasks.mp4
examples/ags/benchmark/data/hotpot.json

git gc does not work because the command is only applicable to local project cleanup and cannot be pushed to remote projects, so it has no effect on remote projects.
Moreover, git gc has limited effects. It mainly compresses objects and deletes unreachable objects, and is powerless for large historical files.

Using git-filter-repo can achieve project slimming, and the .git directory can be reduced by about 100M after slimming.
However, there are risks here: after executing the slimming-related commands, the hash values of all commit records will be rewritten (inevitable because the historical files have changed), and the hash rewriting has two main effects:

All forks need to be re-synced
All cloned projects can no longer be pulled directly, but need to be forced to overwrite the pull

To reduce 100M, it may cause problems for tens of thousands of users, which I don't think is worth it.


VMware ESXi - Guest Info - Cloud-Configuration URL / Inline not working

RancherOS Version: (ros os version)
Latest 1.5.4 (iso/vmdk)
Where are you running RancherOS? (docker-machine, AWS, GCE, baremetal, etc.)
VMware ESX(i)
Depending Documentation: https://rancher.com/docs/os/v1.x/en/installation/running-rancheros/cloud/vmware-esxi/#vmware-guest-info

Can anyone give me an example how "cloud-init.config.data" the correct way?

I try to insert raw yaml file => not working
I try to insert base64 encoded yaml and set "cloud-init.data.encoding" to "base64" => not working

Is the option "cloud-init.data.encoding" always required or only if i use "cloud-init.config.url" ?

If i want to use "cloud-init.config.url" with in internal dns name, it's not possbile, because the dns servers from "Guest Info" defintion "dns.server." are not assigned to the network interface (at this point)

Thansk for any answers or tips

Very late but it should be: guestinfo.cloud-init.config.data and guestinfo.cloud-init.data.encoding


I added a new link for #4 that might help on how to configure a Skype…

… chat and call because the current link is broken.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

README.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.


Added Example

I hope this will help someone.

Thank you for the PR but it will be more practical for me in the future to maintain the short example in the README rather than a full app.


Allow definition of settings file

I would need this feature since I need to provide a settings file to the user.
Does not change default behavior.

Thanks for the improvement.

Cherry-picked to the crystal-devel branch: 408c9beccd987360547076451bbd63622c32f13a.


feat(l1): Implement l1<>l2 messaging

Is there an existing issue?

[X] I have searched the existing issues

Motivation
We need to implement the reading of messages from L1 in Madara. For more context about L1-L2 messaging, I recommend visiting this link. This implementation is relatively straightforward and does not require significant changes, as it complements the L2 state verification mechanism via L1 already implemented in Deoxys. The principle is simple: for L1 verification, we continuously subscribe to the logStateUpdate event from the core contract to receive the latest verified block number, block hash, and state root. The L1 messaging works similarly by subscribing to the logMessageToL2 event and aggregating the received data into an L1 handler transaction format to the transaction pool.
Request
This implementation involves a slight refactor of how we initialize an Ethereum client in Deoxys. Currently, it is a simple module l1.rs in client/sync link. We would like to have a dedicated l1 crate in client/ link to facilitate its multiple uses across the codebase. This crate will also be used to retrieve the L1 gas price. The L1<>L2 messaging implementation is already in Madara. The initial objective is to set up a proper L1 client on the client side and then implement the necessary modules (L1<>L2 messaging, gas price, logStateUpdate).
Solution

Set Up a Proper L1 Client:

Create a dedicated l1 crate in the client/ directory.
Ensure this crate can be easily dispatched for multiple uses across the codebase.

Implement Necessary Modules:

L1<>L2 messaging module: Subscribe to the logMessageToL2 event and aggregate data into the L1 handler transaction format.
Gas price module: Retrieve the L1 gas price (dedicated pr will be linked here).
logStateUpdate module: Subscribe to the logStateUpdate event to continuously receive the latest verified block number, block hash, and state root.

Are you willing to help with this request?
Yes!

I would like to talk about the possibility of refactoring this using alloy.rs instead of ether.rs to ensure an up to date library usage and avoid upcoming refactos.

Also dont forget to work only with finalized l1 blocks to avoid to handle l1 reorgs.

Please also implement this support for Cancelated Messages: https://github.com/keep-starknet-strange/madara/issues/1638


Default layout of jsonform in Django Admin

Thank you for the great library. One question, when I've set up django-jsonform I am gettting a pretty narrow form with also narrow containers for field labels. I was wondering if this is how it is supposed ot be rendered or if I made a mistake in the setup.
This is how the admin form looks for me:

Could you tell me which Django version are you using so I can try to reproduce this?

This is on Django 4.2.9, a blank sample project I created.

I'm able to reproduce it.
The form is wider in Django v3.x but it appears they have made some changes in admin's CSS in v4.x which is making the form narrow.
I'll try to release a fix soon.
Thank you for reporting this issue.

This has been fixed in v2.21.3. Please update and test it out.
Thank you.


NullPointerException when showing address

Hi, on a fresh 4.0 install (no configuration changes):
Device status window shows "Address" with a link "Show address".
When following this link a pop-up appears telling "Invalid parameters or constraints violation", followed by "NullPointerException (ServerResource:56 < ...)"
This can be explained because geocoding is disabled by default, but for first-time users this is no great experience...
Would it be possible to:

not show the "address" field (or a crashing link) if geocoding is disabled ?
if not, then server-side, add a 'dummy' geocoder that just returns "No address available" ?

Implemented better error message on the server side (https://github.com/traccar/traccar/commit/16c52142c0a28fbec61125cdad302ae11163096d). Thanks for suggestion.

You're welcome


Tab swiping: Integration of the new tab management

Task/Issue URL: https://app.asana.com/0/72649045549333/1208648123066962/f
Description
This PR includes the complete implementation of the tab-swiping functionality.
Steps to test this PR
Make sure you’ve completed the onboarding!
New tab from long press

[x] Long press on a tabs button
[x] Verify a new tab is opened

New tab from the menu

[x] Tap on the New tab menu item
[x] Verify a new tab is opened

New tab from tab switcher

[x] Go to tab switcher
[x] Tap on the New tab button
[x] Verify a new tab is opened

New tab recreation

[x] Open a few tabs
[x] Go to the tab switcher
[x] Add a new tab
[x] Verify a new tab is correctly displayed
[x] Go back to the tab switcher
[x] Close the NTP
[x] Tap on the new tab button
[x] Verify the new tab is correctly opened

Swiping position

[x] Open at least 3 tabs
[x] Select the 1st one in the tab switcher
[x] Swipe to the last one
[x] Go to tab switcher and verify the correct tab is selected
[x] Tap on the 2nd tab
[x] Verify the correct tab is opened

New link

[x] Open any website
[x] Long press on a link to open in new tab
[x] Verify the link is opened in a new tab

New link in the background

[x] Open any website
[x] Long press on a link to open in background tab
[x] Verify the link is opened in a new tab in the background

New link in the background

[x] Make sure the DDG app is the default browser app
[x] Open an app that can open links in custom tabs (i.e. Twitter, Facebook)
[x] Open a link in a custom tab
[x] Verify the link opens correctly
[x] Move the tab to the app
[x] Verify the tab is correctly displayed within the app

Switch to tab

[x] Start typing a site address that’s already opened in another tab
[x] Tap on the “Switch to tab” item
[x] Verify the existing tab with the link is shown instead of opening a new tab

Changing the omnibar position

[x] Open a few tabs
[x] Go to settings and change the omnibar position
[x] The app will reload (the cached sites are cleared)
[x] Swipe through the tabs and verify the load correctly

Bookmarks

[x] Load a site
[x] Add it to the boorkmarks
[x] Open a different tab
[x] Go to Bookmarks and select the saved boormark
[x] Verify the bookmark loads correctly

Default site

[x] Set some default URL in Settings -> General -> Show on App Launch
[x] Kill the app and relaunch it
[x] Verify the default site is correctly loaded in a new tab
[x] Kill the app and relaunch it
[x] Verify the default site is loaded in the same tab as before (no new tab is added)

Thanks for the review, @malmstein!

There are lots of changes in this PR that affect the code beyond the feature flag. Everything should be self-contained. The app should behave exactly as now if the feature flag is disabled. In its current state, this is not the case.

I’ll double check this.

There is not a single test for the TabManager. If you had some, you’d see that the way you’ve built it is not testable. A class injected into an Activity should not be calling the Activity’s ViewModel per direct reference.

I planned to add tests in a separate PR.
Just for some background, the philosophy of the TabManager here is not to act as a BL model, but rather as a UI-layer container for the tab-related functionality. I kept the calls to the ViewModel from TabManager to limit the changes in other parts of the app that might use these methods. But after a closer look, it seems they are called only from the TabManager. I moved them and now the ViewModel is not referenced anymore.

I’m not sure about how you check if Onboarding is complete. Please ask @nalcalag to check it. Also, please add some tests for that.

This was actually suggested by @nalcalag here.
I’ve addressed your comments and I will address the broken/missing tests next. In the meantime, the PR's ready for another round.

@malmstein I checked the code and added the missing feature flag checks in all the places. You were right, it was difficult to keep track of what’s new and what’s old with all the changes so I added the old code back and wrapped it in a FF.


Upgrade webcomponents-react to 0.22.0

How to test after the upgrade of webcomponents-react?

Hi @sandhiyamadhu,
I'm really not sure if I get the question.
If you upgraded webcomponents-react and want to test this library against this version, then you would need to fork this repo, upgrade the devDependency and then start storybook (in package/form) ...
Is this what you're asking?

@texttechne
Yes exactly. After the upgrade of webcomponents-react to 0.22.0 the storybook starts. But some stories DatePicker, DateTimePicker, DatePickerField, DateTimePickerField, FormFilterBar has issues.
And to test against the forked branch in our app, is it enough to point to the root or is it required to point to package/form folder?

@sandhiyamadhu You would point to package/form (always depends on the package.json you want to target).

@sandhiyamadhu have you seen the release notes for 0.22.0?
    useI18nBundle: The useI18nBundle hook must now be used in the context of the ThemeProvider.
    Please make sure that you have wrapped your App in the ThemeProvider component.

I haven't investigated yet, but sounds like this could be the culprit, since you're listing components which rely on this I18n stuff...

@texttechne Yes I also suspected the same and am still looking for a way to fix this issue.


proverDeleteCredentials is breaking the App

This commit
#26
is breaking the App,
the function proverDeleteCredentials is not available in Indy.framework, at least the version that is being used on Bifold
So either update the framework or remove that function

Issue caused by outdated Indy.Framework build, so closing this issue

If anyone else encounters this issue, please replace the Indy.Framework in your ios/Pods/Frameworks with the one from this PR: https://github.com/hyperledger/aries-mobile-agent-react-native/pull/170


test: repo_branch_test.go is flaky

Description
Every time I run this test, it seems to fail locally but succeed remotely.
2023/12/01 13:55:50 ...dules/git/command.go:275:Run() [E] git command is broken: /usr/bin/git -c protocol.version=2 -c credential.helper=, broken args: -test
2023/12/01 13:55:50 ...dules/git/command.go:275:Run() [E] git command is broken: /usr/bin/git -c protocol.version=2 -c credential.helper=, broken args: --test
61ab7345a1a3bbc590068ccae37b8515cfc5843c
61ab7345a1a3bbc590068ccae37b8515cfc5843c
--- FAIL: TestRepository_GetBranches (0.00s)
    repo_branch_test.go:24:
                Error Trace:    /home/adamm/work/alp/gitea/gitea/modules/git/repo_branch_test.go:24
                Error:          elements differ

                                extra elements in list A:
                                ([]interface {}) (len=1) {
                                 (string) (len=6) "master"
                                }

                                extra elements in list B:
                                ([]interface {}) (len=1) {
                                 (string) (len=7) "branch1"
                                }

                                listA:
                                ([]string) (len=2) {
                                 (string) (len=6) "master",
                                 (string) (len=7) "branch2"
                                }

                                listB:
                                ([]string) (len=2) {
                                 (string) (len=7) "branch1",
                                 (string) (len=7) "branch2"
                                }
                Test:           TestRepository_GetBranches
FAIL
Test failed: run test failed, ExitCode=1
FAIL    code.gitea.io/gitea/modules/git 0.464s

Gitea Version
main
Can you reproduce the bug on the Gitea demo site?
Yes
Log Gist
No response
Screenshots
No response
Git Version
git version 2.43.0
Operating System
openSUSE Tumbleweed
How are you running Gitea?
N/A
Database
None

Maybe you can check your git config under gitea's home directory.

Yes. It's about the sequence in gogit. PR is welcome.

Looking at the nogogit implementation,
// GetBranchNames returns branches from the repository, skipping "skip" initial branches and
// returning at most "limit" branches, or all branches if "limit" is 0.
func (repo *Repository) GetBranchNames(skip, limit int) ([]string, int, error) {
	return callShowRef(repo.Ctx, repo.Path, BranchPrefix, TrustedCmdArgs{BranchPrefix, "--sort=-committerdate"}, skip, limit)
}

which means the problem is not gogit itself, it's more the expectation of sort order. This also hints at the solution.


Update CODE_OF_CONDUCT.md

Fixes Issue
Closes #issue_number

Changes proposed

Screenshots

Checklist

[ ] You've linked this PR to the correct issue.
[ ] You have checked that the code is working correctly.
[ ] You ⭐ the repository!

Note to reviewers

🎉 The GSSOC'23 program has reached its conclusion, prompting us to officially close all pull requests (PRs) and issues. We extend a heartfelt thank you for your amazing contributions! 🙌 Keep the coding spirit alive with the same enthusiasm, and may luck 🍀 favor you in all your future coding adventures!


PronounDB breaks Twitch Chat when 7TV is enabled.

Title says it all, I don't know what to put here other than the error I was getting:

If you have further questions, just ask and I'll try to help.

Oh yeah, if it's more convenient, I also joined the discord server linked in the Github Readme so you can message me there!!
smooshie#4915

How severe is the issue? Does it happen consistently all the time, or is it triggered by something specific (e.g. subscribers notifications, channel rewards, ...)
7tv have an overly aggressive way to inject into Twitch which tends to cause a lot of issues with other tools. I'll try to make my 7tv-specific injection more fault tolerant, so next time it doesn't break as badly...

It's pretty consistent. The time it takes to crash can vary from instantly to 30 minutes. My leading theory is that when someone who has their pronouns set sends a message, that is when it breaks. And yeah, 7TV got an update like, very recently so that very well could be the cause of the issue.

The other twitch chat pronoun extension (Alejo's) just simply doesn't work w/ 7TV installed.

It's unlikely to be the cause; the part of code that seems to fail is ran for every message and is used to extract the user who sent a given message (since 7tv holds all of the data in private stores, the message received event is my only chance at mapping message ids to a user id)
I'm p sure it's failing on a very specific type of message who doesn't have a user id attached to it, or is formatted differently. Anonymous sub gifts? Raids?
Either way, a naive fix is easy and could be done in 3 minutes, but I'm in my bed right now and can't publish an extension update from here 😅
It should be fixed by tomorrow (and by next week for Edge because Microsoft extension reviews are looooooooong)

Awesome!! ty :DDDD

For the reference, this method is where the problem resides according to the stack trace you've shown.
https://github.com/cyyynthia/pronoundb.org/blob/e9a03c56f282a2b0f175575e9556661fd5017ea5/packages/extension/src/inject/twitch.ts#L48

alright, might forward this to the 7TV devs if they ask for it so ty for that :3
(i have no idea what it means, i just came here to report a bug)

7tv devs are unlikely to care and will probably answer with a hostile "dont run multiple extensions at the same time" :)
7tv devs don't really have a good track of being friendly and caring about others. I'll just fix it in my extension and it'll no longer cause crashes.

7tv have an overly aggressive way to inject into Twitch which tends to cause a lot of issues with other tools

To be clear, it's not more aggressive than any of the other major general twitch extensions, however what you're looking at is a chatbox written in a different framework. Whereas React (at least older versions of it) expose relevant component information, Vue 3 holds everything in closures, which are impossible to access reliably with external code.
Regardless, there is a plugins API being designed, which will expose many methods to interact with the chat reliably. Cross-compatibility with FrankerFaceZ addons will also be considered.
In the meantime feel free to make a pull request via SevenTV/Extension, you might able to expose what you need until the plugins API is ready.


Adds support to isign in finufft, cufinufft,gpunufft?

Hi,dear authors.elegant implementation of your codes, I'm trying to replace my ugly code with yours.But when I'm reading the code, I notice that there is a change of isign in finufft and cufinutt for autodiff in adjnufft? Why?I didn't see similar thing as in this link(https://github.com/guanhuaw/Bjork). It seems that I miss some basic knowledge.  you are trying to use same code to calculate the  gradient of traj for all backend? But I also notice that your other backend didn't have funtions like toggle_grad_traj( if I didn't understand it rightly). It would be grad that you give me some tips about it.
Thanks in advances

Hello @mmlyj , thank you for your interest in our work. Indeed, you are right, we use a different way to compute our gradients by using the isign in finufft, cufinufft and gpuNUFFT, as compared to what was done by original authors. Sorry that I didnt update this in docs. I think thats the best way to explain rather than in issue here, so I shall use this issue to update the docs accordingly.

But I also notice that your other backend didn't have funtions like toggle_grad_traj( if I didn't understand it rightly).

Can you point to the codes? If I remember correctly we currently only support finufft for CPU and cufinufft and gpuNUFFT for GPU for autodiff capabilities. TorchkbNUFFT and tensorflow-nufft support it internally and as they are usually slower, we didnt add support for it

It's so nice of your quick replys.It makes sense for me now that "the current vsersion only support finufft for CPU and cufinufft gpuNUFFT for GPU for autodiff capabilities". As other backend don't support autodiff, there is no need to  inplement the toggle_grad_traj in other backend(/operators/autodiff.py line 81,101,).Glad to see the doc about the isign.Thanks again.


Cross compatibility?

I'm glad I found this server, especially since the LoE_PrivateServer project is dead and there's not a way to get player position syncing to work with the PrivateServer in the 08/2014 release.
But I have one request that'll further expand the compatibility of the ghost server gameplay. Cross compatibility with Windows, Linux, and OS X (macOS). It'd definitely help me out with my private server. :)

Hmm, maybe running it with Mono would work? I don't have the right database and all setup here to get it to get it running proper, but running mono Server.exe on my OSX box with the latest published release build seems to get it to the point of connecting to the database server at least.

Ooh, thanks for the tip. I've got it connected to my server's MySQL db now. Just trying to figure out which ports to forward now!

I plan switching to .net core 2.0 when it's released. So it's should eliminate any of cross compatibility issues.


How to write a DSL including python expressions

Hi,
I am investigating the use of TextX to create a parser for a small DSL whose aim is to describe services provided by autonomous robot systems.
In this DSL, I would like to be able to describe some attributes of an element as a python expression, something like in this simple model:
my_element my_element_name {
  parameter p type Position
  guard p.x > 0
}

or
guard p.isValid()
Is there is simple way to integrate the parsing of these 'guard' attributes? The objective would be to evaluate these guards in the interpretation of my model.
Thanks for your help.

Hi.
You will probably need to specify the format of your formulas. Alternatively, you can read them as string, but this is maybe not what you want.
The examples contain a sample for expressions:
https://github.com/textX/textX/tree/master/examples/expression
You could probably adapt it for your guard expressions.
Maybe the following unittest may help, if your data structures you refer to (e. g., 'p.x' in your example) can contain each other:
https://github.com/textX/textX/blob/master/tests/functional/examples/test_hierarchical_data_structures_referencing_attributes.py
We would be happy to see your progress...

Thanks for your quick response.
I'll look at the expression parser link you mentioned.
It would solve part of the kind of expression I need to parse, but I still need some way to use Python methods or functions... like

"p.isValid()", where p would be an object of class Point, whose attributes may be defined from my language, but the method a built-in method from the Point class
"is_valid(p)", where is_valid would be a function defined in a python module; I just wonder how to link with this module.function when parsing my expression

Thanks again

You could create a custom scope provider to include functions and attributes from outside textX (=from the python runtime).
In the following unittest we create a custom scope provider to lookup data from outside textX, from a json file:
https://github.com/textX/textX/blob/master/tests/functional/test_scoping/test_reference_to_nontextx_attribute.py

The difficulty (or challenge) is to differentiate between atributes/variables and method/functions. Once we are there, we have to fine tune the grammar to introduce the correct base classes and adjust the order of referenced parser rules.

Please have a look at #230 to see how you could reference a python attribute.
Here we add python objects via a custom scope provider.

@lesire If you need a full Python expression support than maybe, as @goto40 initially suggested, is better to collect the whole expression as a string and use eval where you would set globals/locals based on the rest of the model.
For example:
In [1]: from textx import metamodel_from_str

In [2]: mm = metamodel_from_str('''
   ...: Element: 'my_element' name=ID '{'
   ...:   parameters+=Parameter
   ...:   ('guard' guard_exp=/[^\n]+/)?
   ...: '}';
   ...: Parameter: 'parameter' name=ID 'type' type=ID;
   ...: ''')

In [3]: model = mm.model_from_str('''
   ...: my_element my_element_name {
   ...:   parameter p type Position
   ...:   guard p.x > 0
   ...: }
   ...: ''')

In [4]: model
Out[4]: <Element:my_element_name>

In [5]: model.name
Out[5]: 'my_element_name'

In [6]: model.parameters
Out[6]: [<Parameter:p>]

In [7]: model.guard_exp
Out[7]: 'p.x > 0'

Now, you would need to replace Parameter dynamically generated class with your. See custom classes on how do do that. Put model.parameters elements (which will be instances of your Parameter class) into globals/locals of eval call and evaluate model.guard_exp. This is just a small example but should get you started.


Maybe you shouldn't be including dependencies like Timber, Picasso and Scalpel with the library, I rely on you to update them that way.

Just tell me to add that one line of code into my build.gradle, its not gonna hurt the experience much.

+1 just use provided instead of compile

Not sure if this article will be useful: http://johnpetitto.com/android-lib-dependency-management/

Released DebugDrawer 0.6.2
Closing.


Improve placement of word breaks in API reference tables

Is your feature request related to a problem? Please describe.
Currently, in member listing tables in API reference pages, a line break can happen when there is whitespace (as usual), but also within CamelCase names, thanks to insertion of <wbr> tags.
E.g. in the page for Task, the signature ContinueWith(Action<Task,Object>, Object, CancellationToken) is rendered as (notice the two <wbr> tags):
Continue<wbr>With(Action<Task,Object>, Object, Cancellation<wbr>Token)

And shows as:

Notice how the first line break is within the name ContinueWith, even though a much more natural line break would be between names, after the opening parenthesis:

And even though the current approach can lead to somewhat unnatural breaks, it still can't  break some signatures well, e.g. in Enumerable:

Describe the solution you'd like
I think a better approach would be to recognize that line breaks between names are better than within names and so <wbr> tags would be inserted primarily there. For very long names, word breaks within names are probably still necessary, so word break opportunities should be used based on which one is considered "best".
The algorithm could look something like this:

Figure out a desired number of characters to break to.
Due to intricacies of font rendering, there isn't a single number that would describe how many characters fit into a line. But I think it would be possible to find a reasonable number and let the browser figure out how to best arrange the resulting chunks.

Split the signature based on whitespace into chunks.

For a chunk that is longer than the desired number of characters, find the best word break opportunity.

Split the chunk there and remember to put <wbr> in that location.

Go to 2.

Word break opportunities could be ranked roughly like this (I'm probably missing some, especially considering languages other than C#):

After (.
After ,.
After <.
Within CamelCase name.

Describe alternatives you've considered
The algorithm could understand the level of nesting of brackets and preferably place word breaks after outermost brackets or their corresponding commas. Though this is probably more complicated than necessary.
Additional context
Originally reported at https://github.com/dotnet/docs/issues/1904.

Thanks @svick. @adkinn @TianqiZhang can you take a look at this feedback? where in the pipeline is the wbr generated?

@mairaw

where in the pipeline is the wbr generated?

As far as I can tell, it's in _themes/docs.theme/master/en-us/_themes/src/text-formatting.ts.

@mairaw @svick this is good feedback and should be added to our DevOps as a Customer Suggestion. We are about to start planning a large revamp to Reference page styling and this feedback could be incorporated.
/cc @TianqiZhang @rloutlaw @dend

Something to consider about the use of <wbr> tags in general is that highlighting in Firefox treats them differently to other browsers. If you open FF's latest version and double click a class name you'll only highlight the part between <wbr></wbr>s. For example in the page, DefaultEventProcessorFactory Class, hovering over "Default" and double clicking in Firefox will highlight only the Default and not the full DefaultEventProcessorFactory.
Not sure if I should make this a separate issue report, of if this is the best place for this comment. I definitely don't think the titles are behaving as intended in Firefox though due to these wbrs.

#log-suggestion @mimisasouvanh

#log-suggestion


Drop py 2 support

Fixes https://github.com/loicgasser/quantized-mesh-tile/issues/40

Coverage decreased (-91.8%) to 0.0% when pulling b143ef50c7da8311541aeaea341cee57bdd9da42 on py2_legacy into 750125d3885fd89e3e12dce8fe075fbdc0adc323 on master.

Coverage decreased (-91.8%) to 0.0% when pulling b143ef50c7da8311541aeaea341cee57bdd9da42 on py2_legacy into 750125d3885fd89e3e12dce8fe075fbdc0adc323 on master.


#277 Add configuration parameter to publish changes via "Update" and …

…not "Update & Notify"

AsciidocConfluencePublisherCommandLineClient.java - new optional argument added
HttpRequestFactory.java, ConfluenceRestClient.java, Version.java -- "minorEdit" argument added
ConfluencePublisherIntegrationTest.java - fix
ConfluenceRestClientTest.java -- new test cases added
00-index.adoc -- new argument got documented
Dockerfile, publish.sh -- new argument added
AsciidocConfluencePublisherMojo.java -- new argument added

Thanks for the submission! This is going to unblock me in my work. Would be great if someone could merge it and update the docker container. @cstettler can you help with that?

Thank you @sergey-ushakov for the contribution. I am taking care for integrating the change into master via pr/sergey-ushakov/minor-edit-support and the close the issue.


bump Go 1.18

Signed-off-by: yxxhero<EMAIL_ADDRESS>
What this PR does / why we need it:
bump Go 1.18 https://github.com/helm/helm/issues/11106
Special notes for your reviewer:
bump Go 1.18
If applicable:

[ ] this PR contains documentation
[ ] this PR contains unit tests
[x] this PR has been tested for backwards compatibility

@yxxhero Can you sync with @abursavich as he already started PR #10806 in March for Go 1.18?

@hickeyma ok

LGTM


Avoid running queries on blur

What happened:
When writing a query, it can be undesirable for the query to be executed every time the focus is moved from the editor (since it may take a long time for the query to be executed and costs may be incurred).
We are also triggering the function when the table, column or other elements of the editor are changed. This is not necessary either.
What you expected to happen:
To have a button to explicitly call the function once the user is done doing modifications.
How to reproduce it (as minimally and precisely as possible):

Screenshots

Anything else we need to know?:
Environment:

Grafana version:
Plugin version: 1.0.1
OS Grafana is installed on:
User OS & Browser:
Others:

Stumbled upon this while enabling queries to run onBlur in Cloudwatch. Probably need to add an option to disable the onBlur behavior in https://github.com/grafana/grafana-aws-sdk-react/blob/main/src/sql/QueryEditor/QueryCodeEditor.tsx.

I'm not sure if this is supposed to be in waiting? I'm going to put it into the backlog if that sounds ok to folks?

FTR, I believe the reason why this was in pending was because it is meant to be done as part of the long-running queries effort

Going to put this in backlog then and remove the mob label and let @iwysiu and @kevinwcyu decide how they want to handle it :)


Copying the address from the address bar with Ctrl+C makes the app crash

If you copy the address from the address bar with the Ctrl+C combination, the app will crash. Doesn't happen if you right click the address and select "Copy"

If you copy the address from the address bar with the Ctrl+C combination, the app will crash. Doesn't happen if you right click the address and select "Copy"

at System.Runtime.InteropServices.McgMarshal.ThrowOnExternalCallFailed(Int32, RuntimeTypeHandle) + 0x21
at __Interop.ComCallHelpers.Call(__ComObject, RuntimeTypeHandle, Int32, Void*) + 0xbe
at __Interop.ForwardComStubs.Stub_7[TThis, TArg0](__ComObject, TArg0, Int32) + 0x5a
at Files.Interacts.Interaction1.<CopyItem_ClickAsync>d__21.MoveNext() + 0x460 --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() + 0x21    at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<>c.<ThrowAsync>b__7_0(Object) + 0x1e    at System.Action1.Invoke(T) + 0x28
at System.Threading.WinRTSynchronizationContext.Invoker.InvokeCore() + 0x33

Yes, having the same issue. Like jpparametrics, it crashes if you use Ctrl+C but doesn't when you right click the address and click 'Copy'.

Fixed the issue in Commit https://github.com/duke7553/files-uwp/pull/153/commits/e92c606096b468d59cad9d76efba2be2fd2abcfe


[irods/irods#6020] Test hook improvements (4-2-stable)

Container friendly and adds options for the testing environment.

cherry-picked from work for #83
Need to confirm that this runs in testing environment, but opening the PR for eyeballs

Confirmed that these changes run and pass in testing environment for 4-2-stable against 4.2.11 server.


Joss paper 2024

deployed here: https://github.com/LasNikas/paper-2024-joss-pdf

deployed here: https://github.com/LasNikas/paper-2024-joss-pdf

I get a 404 - is this private and if yes, can you please make it public and, optimally, include links for viewing and downloading the produced PDF?

Good point, thanks!
https://github.com/LasNikas/paper-2024-joss-pdf/blob/build/paper.pdf

@sloede I think you can review the Paper now.


Enable flushing blockchain to db

I'm submitting a ...  (check one with "x")

[ ] bug report
[x] feature request
[ ] support request

Current behavior:
Today blockchain is stored in memory as singleton service. When node is down, the whole blockchain is also lost.
Expected behavior:
There would be IBlockRepository and ITransactionRepository  interfaces, which can be used to saving blocks or transactions into the database or files and restoring them on demand.

Closed in  #10


Support sending f13-f24

Description of the new feature/enhancement
Some programs use extra function keys, f13, f14, f15, etc. I haven't found a way to enter these into windows terminal. In puTTY it's shift+f5 to get f15, etc.
Proposed technical implementation details (optional)
Allow mapping keys in settings.json
{ "command": { "action": "mapKey", "key": "f15"}, keys: "shift+f5" }

I want to be able to send function keys that are not on a standard keyboard (f13-f24) to a terminal application.

Thanks for the request! I'm going to track this one with /dup #3799, which will allow you to bind any keyboard shortcut to any string. This will let you send the encoded forms of F13-F24.

I tried to use AutoHotkey as a workaround but it doesn't seem to work. I've also tried in cmd and PowerShell. Those don't work either so I think the problem lies a bit deeper.
It does work in puTTY and git bash (but not bash.exe launched from a tab profile).
Windows Terminal
Version: 1.0.1401.0


Active tab is not an AWS console Error

Current Behavior:
On any page in AWS except the main console screen, I open the role switch to switch to another role, and then I receive a toast notification saying, "Active tab is not an AWS console" and my role was not switched.
Expected Behavior:
On any page in AWS, I open the role switch to switch to another role, and the page refreshes as the role I clicked on.
When I return to the main homepage of AWS I am able to switch accounts however that is not practical.
I am currently using AWS Extend Roles Switch and this feature works as I expect it to: the current page refreshing with using my newly clicked role. However I really like the grouping aspect of this extension so I gave it a try and love the UI however without this feature I will be switching back to AWS Extend Roles Switch as it works a lot smoother.

Sorry for the delay.
I can't reproduce your issue. Switching on non-main console pages works fine for me. I tried it with two different aws orgs with different configurations.

Seems like it doesn't with the firefox containers extension, which is a shame. I ran into this same error when invoking the extension from a container tab with the aws console. Using it without a container tab (a normal tab) seems to work.


Update the documentation to include information on when an update or delete is allowed

Self Check:
Strike through any lines that are not applicable (~~line~~) then check the box

[ ] Attached issue to pull request
[x] Changelog entry
[ ] Type annotations are present
[ ] Code is clear and sufficiently documented
[ ] No (preventable) type errors (check using make mypy or make mypy-diff)
[ ] Sufficient test cases (reproduces the bug/tests the requested feature)
[ ] Correct, in line with design
[ ] End user documentation is included or an issue is created for end-user documentation (add ref to issue here: )
[ ] If this PR fixes a race condition in the test suite, also push the fix to the relevant stable branche(s) (see test-fixes for more info)

Processing this pull request

Pull request rejected by merge tool. Multiple change entry files found:

Show entries
- changelogs/unreleased/1484-in_line_compile_listener.yml
- changelogs/unreleased/1603-document_batched_partial_compile.yml
- changelogs/unreleased/1639-doc-embedded-entity-arity.yml
- changelogs/unreleased/1667-dont-run-background-tasks-during-migration-tests.yml
- changelogs/unreleased/1921-extend-version-overview-with-more-versions.yml
- changelogs/unreleased/1921-master-stage-2.yml
- changelogs/unreleased/478-update-index-rst.yml
- changelogs/unreleased/6779-discovery-resources-allow-matching-by-id.yml
- changelogs/unreleased/7043-remove-venv-autostarted-agents.yml
- changelogs/unreleased/7247-raise-warning-jit.yml
- changelogs/unreleased/7253-remove-use-generic.yml
- changelogs/unreleased/7265-add-dict-based-logging-framework.yml
- changelogs/unreleased/7271-add-support-loggging-config-option.yml
- changelogs/unreleased/7325-release-tool-version-tag.yml
- changelogs/unreleased/7356-remove-deprecated-std.yml
- changelogs/unreleased/7428-improvements-on-compatibility-page.yml
- changelogs/unreleased/7443-resource-view-query-further-improvements.yml
- changelogs/unreleased/7481-dependabot.yml
- changelogs/unreleased/7498-documentation-menu-collapses.yml
- changelogs/unreleased/7500-dependabot.yml
- changelogs/unreleased/7514-dependabot.yml
- changelogs/unreleased/7517-dependabot.yml
- changelogs/unreleased/7518-dependabot.yml
- changelogs/unreleased/7521-4-digits-module-release.yml
- changelogs/unreleased/7524_agent_integrate.yml
- changelogs/unreleased/7535-dependabot.yml
- changelogs/unreleased/7536-compiler-service-race-condition-fix.yml
- changelogs/unreleased/7540-dependabot.yml
- changelogs/unreleased/7546-dependabot.yml
- changelogs/unreleased/7553-dependabot.yml
- changelogs/unreleased/7554-dependabot.yml
- changelogs/unreleased/7555-dependabot.yml
- changelogs/unreleased/7557-document-the-format-used-to-reference-the-api-itself.yml
- changelogs/unreleased/7572-dependabot.yml
- changelogs/unreleased/7573-dependabot.yml
- changelogs/unreleased/7578-dependabot.yml
- changelogs/unreleased/7601-dependabot.yml
- changelogs/unreleased/7602-dependabot.yml
- changelogs/unreleased/7605-dependabot.yml
- changelogs/unreleased/7606-dependabot.yml
- changelogs/unreleased/7617-dependabot.yml
- changelogs/unreleased/7618-dependabot.yml
- changelogs/unreleased/7622-cleaner-influxdb-exception.yml
- changelogs/unreleased/7632-dependabot.yml
- changelogs/unreleased/7641-executor-reload.yml
- changelogs/unreleased/7643-dependabot.yml
- changelogs/unreleased/7644-dependabot.yml
- changelogs/unreleased/7651-dependabot.yml
- changelogs/unreleased/7655-dependabot.yml
- changelogs/unreleased/7662-dependabot.yml
- changelogs/unreleased/7663-dependabot.yml
- changelogs/unreleased/7671-dependabot.yml
- changelogs/unreleased/7679-dependabot.yml
- changelogs/unreleased/7685-dependabot.yml
- changelogs/unreleased/7705-dependabot.yml
- changelogs/unreleased/add-local-client.yml
- changelogs/unreleased/add-support-for-old-iso-version-banner.yml
- changelogs/unreleased/agent_executor_5.yml
- changelogs/unreleased/agent_import_cleanup.yml
- changelogs/unreleased/auth-doc.yml
- changelogs/unreleased/auth-improvements-2.yml
- changelogs/unreleased/auth-improvements.yml
- changelogs/unreleased/compilerservice-refinements.yml
- changelogs/unreleased/fix-handling-used-environment-variables.yml
- changelogs/unreleased/fix-module-compatibility-range-display-for-not-pinned-case.yml
- changelogs/unreleased/fix-race-on-environment-clear.yml
- changelogs/unreleased/fix-removal-caplog-handlers.yml
- changelogs/unreleased/ip_log_shipper.yml
- changelogs/unreleased/issue-fix-core-build-failure.yml
- changelogs/unreleased/issue-fix-test-export.yml
- changelogs/unreleased/issue7557-fix-broken-link-in-docs.yml
- changelogs/unreleased/kill-executors-that-fail-to-stop.yml
- changelogs/unreleased/remove-std-ConfigFile-usages.yml
- changelogs/unreleased/test_fixes.yml
- changelogs/unreleased/update-config-documentation.yml
- changelogs/unreleased/update-documentation-regarding-update-and-delete.yml

This may happen when a change entry was removed from the remote repository due to a reverted change. In that case, make sure the latest changes from origin/master are merged into update_documentation_to_clarify_updates before triggering merge bot.

Processing this pull request

Merged into branches master in 2ad9b500457d77aaeac5dcc9fa05fa4f4de019f1

Processing #8026.

Processing #8026.


Issues with "Api::createRemotelink" method

The Api::createRemotelink method (added in 2.0.0) have following problems:

[ ] it's name violates camelCase naming rules, where each word (except 1st one) in method name must be capitalized (should be Api::createRemoteLink)
[x] the globalid parameter in API call should be named globalId instead (see https://docs.atlassian.com/jira/REST/latest/#api/2/issue-createOrUpdateRemoteIssueLink)
[ ] the globalid and relationship parameters shouldn't be passed to API call when they values are empty

Related to #43

the second point was fixed in https://github.com/chobie/jira-api-restclient/pull/178
cross it out or add link ;)

the second point was fixed in #178
cross it out or add link ;)

Done.

it's name violates camelCase naming rules, where each word (except 1st one) in method name must be capitalized (should be Api::createRemoteLink)

Done in #183.


No arm linux/arm64 docker image

Kindly requesting to publish arm docker images on docker hub, to avoid local build or republish.

Thanks for reporting this! I'm sending this message to acknowledge the bug, but as I'm currently occupied with work I'm not able to work on the tool. I expect to have more time in about 2 weeks time and will look into it then!

Yes, thx a lot! I will give it a try tomorrow.

Works as expected, thx! No need to build it anymore myself.

Thanks for confirming! I have merged the changes and am closing this issue.


How to train in own dataset by pytorch-deeplab-xception

I want to ask a question,
I want to train in own dataset throught this model, but I have no idea to solve it.
Thanks!

Hi,
I am using your code to do something similar in a plant dataset where I have three classes only ['background', 'plant', 'weed']. Here I don't want to consider the background so I set it to be something like this (correct me if am wrong):
In dataloaders/datasets/cropweed.py
NUM_CLASSES = 3
self.void_classes = [0]
self.valid_classes = [1, 2]
self.class_names = ['background', 'plants', 'weeds']
and for  dataloaders/utils.py:
def get_plant_labels():     return np.array([         [0, 0, 0],         [128, 128, 128],         [255, 255, 255]])
I also did the rest of the changes that you mentioned. The dataloader is working fine but I think there is a problem with how my classes are organized.
Starting Epoch: 0
Total Epoches: 10
  0%|          | 0/1955 [00:00<?, ?it/s]
=>Epoches 0, learning rate = 0.0100,                 previous best = 0.0000
/home/robot/anaconda3/envs/pytorch-deeplab/lib/python3.6/site-packages/torch/nn/_reduction.py:43: UserWarning: size_average and reduce args will be deprecated, please use reduction='mean' instead.
  warnings.warn(warning.format(ret))
  0%|          | 0/1955 [00:05<?, ?it/s]
Traceback (most recent call last):
  File "/home/robot/PycharmProjects/pytorch-deeplab-xception/train.py", line 305, in <module>
    main()
  File "/home/robot/PycharmProjects/pytorch-deeplab-xception/train.py", line 298, in main
    trainer.training(epoch)
  File "/home/robot/PycharmProjects/pytorch-deeplab-xception/train.py", line 105, in training
    loss = self.criterion(output, target)
  File "/home/robot/PycharmProjects/pytorch-deeplab-xception/utils/loss.py", line 28, in CrossEntropyLoss
    loss = criterion(logit, target.long())
  File "/home/robot/anaconda3/envs/pytorch-deeplab/lib/python3.6/site-packages/torch/nn/modules/module.py", line 541, in __call__
    result = self.forward(*input, **kwargs)
  File "/home/robot/anaconda3/envs/pytorch-deeplab/lib/python3.6/site-packages/torch/nn/modules/loss.py", line 916, in forward
    ignore_index=self.ignore_index, reduction=self.reduction)
  File "/home/robot/anaconda3/envs/pytorch-deeplab/lib/python3.6/site-packages/torch/nn/functional.py", line 2009, in cross_entropy
    return nll_loss(log_softmax(input, 1), target, weight, None, ignore_index, None, reduction)
  File "/home/robot/anaconda3/envs/pytorch-deeplab/lib/python3.6/site-packages/torch/nn/functional.py", line 1840, in nll_loss
    ret = torch._C._nn.nll_loss2d(input, target, weight, _Reduction.get_enum(reduction), ignore_index)
RuntimeError: Assertion `cur_target >= 0 && cur_target < n_classes' failed.  at /tmp/pip-req-build-ocx5vxk7/aten/src/THNN/generic/SpatialClassNLLCriterion.c:111

Process finished with exit code 1

My annotations are 3 channel rgb images with [0, 0, 0] as background, [128, 128, 128] as weeds, [255, 255, 255] as plants. How should I organize my classes here? I understand the problem is because of wrong class structure making the assertion fail.

hi, i also face the same problem. did you fix it?

Hi, I am using your code to do something similar in a plant dataset where I have three classes only ['background', 'plant', 'weed']. Here I don't want to consider the background so I set it to be something like this (correct me if am wrong): In dataloaders/datasets/cropweed.py NUM_CLASSES = 3 self.void_classes = [0] self.valid_classes = [1, 2] self.class_names = ['background', 'plants', 'weeds'] and for dataloaders/utils.py: def get_plant_labels(): return np.array([ [0, 0, 0], [128, 128, 128], [255, 255, 255]])
I also did the rest of the changes that you mentioned. The dataloader is working fine but I think there is a problem with how my classes are organized.
Starting Epoch: 0
Total Epoches: 10
  0%|          | 0/1955 [00:00<?, ?it/s]
=>Epoches 0, learning rate = 0.0100,                 previous best = 0.0000
/home/robot/anaconda3/envs/pytorch-deeplab/lib/python3.6/site-packages/torch/nn/_reduction.py:43: UserWarning: size_average and reduce args will be deprecated, please use reduction='mean' instead.
  warnings.warn(warning.format(ret))
  0%|          | 0/1955 [00:05<?, ?it/s]
Traceback (most recent call last):
  File "/home/robot/PycharmProjects/pytorch-deeplab-xception/train.py", line 305, in <module>
    main()
  File "/home/robot/PycharmProjects/pytorch-deeplab-xception/train.py", line 298, in main
    trainer.training(epoch)
  File "/home/robot/PycharmProjects/pytorch-deeplab-xception/train.py", line 105, in training
    loss = self.criterion(output, target)
  File "/home/robot/PycharmProjects/pytorch-deeplab-xception/utils/loss.py", line 28, in CrossEntropyLoss
    loss = criterion(logit, target.long())
  File "/home/robot/anaconda3/envs/pytorch-deeplab/lib/python3.6/site-packages/torch/nn/modules/module.py", line 541, in __call__
    result = self.forward(*input, **kwargs)
  File "/home/robot/anaconda3/envs/pytorch-deeplab/lib/python3.6/site-packages/torch/nn/modules/loss.py", line 916, in forward
    ignore_index=self.ignore_index, reduction=self.reduction)
  File "/home/robot/anaconda3/envs/pytorch-deeplab/lib/python3.6/site-packages/torch/nn/functional.py", line 2009, in cross_entropy
    return nll_loss(log_softmax(input, 1), target, weight, None, ignore_index, None, reduction)
  File "/home/robot/anaconda3/envs/pytorch-deeplab/lib/python3.6/site-packages/torch/nn/functional.py", line 1840, in nll_loss
    ret = torch._C._nn.nll_loss2d(input, target, weight, _Reduction.get_enum(reduction), ignore_index)
RuntimeError: Assertion `cur_target >= 0 && cur_target < n_classes' failed.  at /tmp/pip-req-build-ocx5vxk7/aten/src/THNN/generic/SpatialClassNLLCriterion.c:111

Process finished with exit code 1

My annotations are 3 channel rgb images with [0, 0, 0] as background, [128, 128, 128] as weeds, [255, 255, 255] as plants. How should I organize my classes here? I understand the problem is because of wrong class structure making the assertion fail.

Hey, I have the same problem. Did you fix it?

make one-hot can solve this problem,
def mask_to_onehot(mask, palette):
"""
Converts a segmentation mask (H, W, C) to (H, W, K) where the last dim is a one
hot encoding vector, C is usually 1 or 3, and K is the number of class.
"""
semantic_map = []
for colour in palette:
equality = np.equal(mask, colour)
class_map = np.all(equality, axis=-1)
semantic_map.append(class_map)
semantic_map = np.stack(semantic_map, axis=-1).astype(np.float32)
return semantic_map
def onehot_to_mask(mask, palette):
"""
Converts a mask (H, W, K) to (H, W, C)
"""
x = np.argmax(mask, axis=-1)
colour_codes = np.array(palette)
x = np.uint8(colour_codes[x.astype(np.uint8)])
return x
palette = [[0], [128], [255]]
gt_onehot = mask_to_onehot(gt, palette)
gt->shape  [H, W, x]，  make sure x is your classes number


relative_import.add_rel_imp doesn't work with Exec/Debug of vscode

Filepath : scripts/build_dataset.py
Output :
[ritl] - Current file : /home/guitheg/miniconda3/envs/cgrbi/lib/python3.9/runpy.py
[ritl] - Current directory : /home/guitheg/miniconda3/envs/cgrbi/lib/python3.9
[ritl] - Added directory : /home/guitheg/miniconda3/envs/cgrbi/lib

The current file must be : scripts/build_dataset.py
The current directory must be : scripts/
The added directory must be : scripts/..

Waiting for a fix of the 'relative_import.add_rel_imp' it's better to use 'relative_import.add'


Rename of the variables does not works

press Ctrl+R, R in the Blazor component view (Client-side)
start typing to rename variable
Variable name does not changed in the editor, but some indication in the refactoring view helper

I'd guess that's another case of https://github.com/dotnet/roslyn/issues/18277 😞

Very likely. Never know about that issue, but possible. Since I never rename in Razor, I may miss that in regular MVC/Core applications


[release-4.10] OCPBUGS-1848: CGU Finalizer should not re-select clusters

/jira refresh

/jira refresh

/jira refresh


Bug: Change repository insight edit button text

Currently the repository insight edit button has the text "Edit Page". This is naming from an old feature and as well, to keep thing's uniform, it should just be "Edit".

This is the file to change.
https://github.com/open-sauced/app/blob/d0f6e2a1dbe879d6d95a84e1951142425604fb54/components/molecules/InsightHeader/insight-header.tsx#L101-L103
            <Button className="text-xs w-max" variant="primary">
-              <FaEdit className="mr-2" /> Edit Page
+              <FaEdit className="mr-2" /> Edit
            </Button>

Closed by https://github.com/open-sauced/app/pull/3054


Added "join" feature with test cases

This solves #23

@mcvladthegoat Hej Vlad, thank you for the PR! Looks good, merged!

@marcuspoehls, I was happy to help :)


Separate configs for support and feedback emails

Currently, the email address configured for support is used for feedback notification emails. Applications may want to add additional recipients to receive application feedback emails, but not support requests.

Thinking about this -- should we have a fallback to the support email?


Passing parameter as part of a link

We used to have an a tag like fusrcreate.html?id=0, how would we pass the id as part of a link?
Thanks!

Just construct the url dynamically when you render the component.


k3os supported?

Make a quick shot and try to deploy on k3os with following the instructions, it failed
kubectl describe pod/volume-test
Name:               volume-test
Namespace:          default
Priority:           0
PriorityClassName:  <none>
Node:               k3os2/<IP_ADDRESS>
Start Time:         Sat, 11 May 2019 23:01:56 +0200
Labels:             <none>
Annotations:        kubectl.kubernetes.io/last-applied-configuration:
                      {"apiVersion":"v1","kind":"Pod","metadata":{"annotations":{},"name":"volume-test","namespace":"default"},"spec":{"containers":[{"image":"n...
Status:             Pending
IP:
Containers:
  volume-test:
    Container ID:
    Image:          nginx:stable-alpine
    Image ID:
    Port:           80/TCP
    Host Port:      0/TCP
    State:          Waiting
      Reason:       ContainerCreating
    Ready:          False
    Restart Count:  0
    Environment:    <none>
    Mounts:
      /data from volv (rw)
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-bsn2t (ro)
Conditions:
  Type              Status
  Initialized       True
  Ready             False
  ContainersReady   False
  PodScheduled      True
Volumes:
  volv:
    Type:       PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
    ClaimName:  longhorn-volv-pvc
    ReadOnly:   false
  default-token-bsn2t:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-bsn2t
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type     Reason              Age                 From                     Message
  ----     ------              ----                ----                     -------
  Warning  FailedScheduling    45m (x2 over 45m)   default-scheduler        pod has unbound immediate PersistentVolumeClaims (repeated 2 times)
  Normal   Scheduled           44m                 default-scheduler        Successfully assigned default/volume-test to k3os2
  Warning  FailedMount         31m (x6 over 42m)   kubelet, k3os2           Unable to mount volumes for pod "volume-test_default(f8058d23-742f-11e9-8db4-525400111281)": timeout expired waiting for volumes to attach or mount for pod "default"/"volume-test". list of unmounted volumes=[volv]. list of unattached volumes=[volv default-token-bsn2t]
  Warning  FailedAttachVolume  30m (x15 over 44m)  attachdetach-controller  AttachVolume.Attach failed for volume "pvc-f801f101-742f-11e9-8db4-525400111281" : rpc error: code = Internal desc = Action [attach] not available on [&{pvc-f801f101-742f-11e9-8db4-525400111281 volume map[self:http://longhorn-backend:9500/v1/volumes/pvc-f801f101-742f-11e9-8db4-525400111281] map[]}]

@liyimeng
Hi, we haven't supported K3OS yet. We will add it soon.

Thanks so lot @yasker ! Looking forward to seeing that! Providing longhorn is already support RancherOS + k3s, it should not be a big work, right?
More importantly, k3os + longhorn will be a fantastic combination, Thank you for all the great work again!

Keep this one open.

I think k3os is supported now. Just tested on k3os 0.9.0 and I'm getting
$ kubectl describe pod volume-test
.
.
.
Events:
  Type     Reason                  Age        From                     Message
  ----     ------                  ----       ----                     -------
  Warning  FailedScheduling        <unknown>  default-scheduler        error while running "VolumeBinding" filter plugin for pod "volume-test": pod has unbound immediate PersistentVolumeClaims
  Warning  FailedScheduling        <unknown>  default-scheduler        error while running "VolumeBinding" filter plugin for pod "volume-test": pod has unbound immediate PersistentVolumeClaims
  Normal   Scheduled               <unknown>  default-scheduler        Successfully assigned default/volume-test to k3os-5073
  Normal   SuccessfulAttachVolume  25d        attachdetach-controller  AttachVolume.Attach succeeded for volume "pvc-537ba7b1-9b43-4251-b4b8-454d41380c85"
  Normal   Pulling                 25d        kubelet, k3os-5073       Pulling image "nginx:stable-alpine"
  Normal   Pulled                  25d        kubelet, k3os-5073       Successfully pulled image "nginx:stable-alpine"
  Normal   Created                 25d        kubelet, k3os-5073       Created container volume-test
  Normal   Started                 25d        kubelet, k3os-5073       Started container volume-test

I was pleasantly suprised. This article tipped me off to try it because I believe cStor is using longhorn and this example runs on k3os!

Can someone else confirm that longhorn works on a fresh k3OS install?

I quickly tried after installing k3os, but can't seem to get the volume attached

Tried by another another disk, assuming possible kubelet datadir issue, but same issue:

Huh, I've got this working pretty well now. I'm on k3os 0.10.2 now with 3 nodes, 2 cpu each and 6 GiB ram each. Perhaps your cluster is a little resource starved?

@krishofmans can you look at the actual events the scheduler pumps out as to why it's not being scheduled? Also, what version of longhorn are you using?

@ShadowJonathan ok, sorry for the scarce information.
Rancher 2.4.4, imported K3os Kubernetes Version: v1.17.5+k3s1, fresh baremetal install.
Longhorn is 1.0.0
I deleted the test volume and recreated it. Picking either iscsi or block storage doesn't make a difference:

I went through all the logs of all the components, only these pop out as issues.
Csi attacher:
I0607 16:48:18.272741       1 connection.go:184] GRPC error: rpc error: code = Internal desc = Bad response statusCode [500]. Status [500 Internal Server Error]. Body: [message=unable to attach volume pvc-1d2482b8-7987-4628-85f2-4842c9a47196 to k3os-10207: volume pvc-1d2482b8-7987-4628-85f2-4842c9a47196 not scheduled, code=Server Error, detail=] from [http://longhorn-backend:9500/v1/volumes/pvc-1d2482b8-7987-4628-85f2-4842c9a47196?action=attach]
I0607 16:48:18.272758       1 csi_handler.go:412] Saving attach error to "csi-666ba74ceac05d28fc5ec6c2d8d662a10f6a7680d9ea43e1c995fcff96e6b94a"

Longhorn manager:
time="2020-06-07T16:54:13Z" level=error msg="There's no available disk for replica pvc-1d2482b8-7987-4628-85f2-4842c9a47196-r-5df6917d, size<PHONE_NUMBER>0"

Perhaps it's related to the fact that I added another disk on that node (a raid 1 array) but longhorn did create some files inside:
k3os-10207 [~]$ ls /mnt/storage
longhorn-disk.cfg  replicas
k3os-10207 [~]$ cat /mnt/storage/longhorn-disk.cfg
{"diskUUID":"71b16348-8dbe-4371-9917-ecc5e60b86c1"}k3os-10207 [~]$

If I switch back to the original disk, and create a new volume, same story:

Hmmm, I don't particularly know what im looking at myself (because i havent used longhorn yet, or have a rancher server), but this should be enough info to help.
Pinging @yasker

Thanks, I've given @yasker cluster owner on the imported k3os: https://rancher.rotate-it.be/c/c-gbhpx since it's not a production setup anyway, and this cluster was merely for testing both k3os and longhorn. This will likely cut back on the back&forth.

@krishofmans is looks like you are running with a single node. By default, Longhorn requires a minimum of three. Please see https://longhorn.io/docs/1.0.0/best-practices/#minimum-recommended-hardware /cc @yasker

Hi @krishofmans , we've enabled hard anti-affinity by default in v1.0.0. So you will need to have 3 nodes minimal to run Longhorn. I've taken a look at your setup and there is only one node, so the replica scheduling will fail for the new volumes.

@yasker question just out of curiousity, will longhorn also schedule on master nodes? Or only if that tolerance is applied?

@ShadowJonathan Longhorn pod will only be scheduled to the worker node, so in the case of a master node are tagged as a worker as well, Longhorn will schedule pods there. It's not by design scheduled to the master nodes. Just curious, what's your use case?

Ok great, now we know why it doesn't work :)
I was hoping that, k3(o)s being an edge usecase, with hardware resources being (more) limited, that longhorn would serve the case where we've traditionally used vmware esxi/vsphere for snapshotting/backups before software deployments.
We ship hardware appliances to customers, but it's usually just one physical server (up to 56 cores/384gb ram), so splitting it up in different nodes is unnecessary overhead. We're trying to get a bit closer to the hardware and get the k8s api/scheduler on the appliances. We've already tested with k3d/k3sup but are also looking for a storage solution.
In my ideal case the distributed part of longhorn would not be applicable in that case, but for example the NFS backup target would still be possible.
I'Il set this server up with esxi and continu my testing to see if the overhead might still be worth it, thanks for having a look @yasker
It was mostly this on the website that convinced me this would be supported, mentioning bare metal, but I assume that mentioned that only 1 bare metal server would be enough.

@krishofmans One of the highlighted features of Longhorn is HA, which means if you have multiple nodes and one is down, then your workload will be still running. HA doesn't make much sense in a single node environment though. You can definitely create a new StorageClass with replica=1 and use it with a single node cluster, you will still enjoy snapshot/backup. For a single node, https://github.com/rancher/local-path-provisioner might suit your use case better (and it's built-in with k3s as well).

Great, snapshot/backup is already a great added value over the local path provisioner, everything is working fine with the new storage class.

Thanks!

@ShadowJonathan Longhorn pod will only be scheduled to the worker node, so in the case of a master node are tagged as a worker as well, Longhorn will schedule pods there. It's not by design scheduled to the master nodes. Just curious, what's your use case?

I was simply being curious as I have a fairly limited and constrained environment with only 3 worker nodes (physical ones), that's why I wanted to know if the master node can be used as a failover in case any node goes offline

@ShadowJonathan In fact three nodes are fine since Longhorn only requires one of them to be online to serve the volume correctly. So you can afford two nodes down in the default setup, though it's better if they come back soon to restore the robustness of the volume.

@yasker understood, thanks for explaining that, I was mainly afraid if longhorn wouldn't function correctly if:

A node goes suddenly offline and k8s schedules the pods somewhere else after 5 mins, and requires the volume. (With all the attach stuff involved, I know longhorn has some issues if the pod actually never went "offline", only "missing", but was that fixed in v1?)
I manually drain the node and then shut it off for maintainance, and suddenly only 2 nodes exist in the pool that can serve longhorn it's volumes.

@ShadowJonathan We've addressed the first scenario in v1.0.0. See https://longhorn.io/docs/1.0.0/high-availability/node-failure/#volume-attachment-recovery-policy
The second case wouldn't prevent the normal workload from working, but when the node is down, new volumes won't be allowed to be created in Longhorn since it will cause scheduling failure when 1. replica count is set to 3; 2. node level soft anti-affinity is set to false. Both are the default setting. If you are concerned about creating new volumes when a node is down, you can either set the replica count to e.g. 2, or enable node level soft anti-affinity. But if you're not likely to create new volumes when a node is down, then you're fine.

@yasker thanks for the explaination, sorry for the off-topic diversion, it's not likely I'll create new volumes when a node is down, unless I have a horizontal pod scaler on a statefulset or something.

I'm currently running 4 physical nodes with k3os, after deploying longhorn, I could start provisioning volumes right off the bat, I see that as "supported out of the box" for me, I didn't have to install any additional tooling.
👍

For people coming here through Google: I just installed a 3 node K3S cluster using K3os v0.11.0 (1 master, 2 agents) and imported that cluster into Rancher 2.5.1. From there I used the Rancher App Catalog to install Longhorn 1.0.2 without any issues. K3os comes out of the box with all the required packages.

To clarify, k3os is supported by Longhorn.


Added solution of Unclucky Ticket in codeforces

Description
Added the solution of codeforces question "Unlucky Ticket"
It is level B question
The question code is 160 - B.
Fixes #1250
Type of change
Please delete options that are not relevant.

[ ] 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 not work as expected)
[ ] This change requires a documentation update
[ ] Documentation Update

Checklist:

[x] My code follows the style guidelines(Clean Code) of this project
[ ] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have created a helpful and easy to understand README.md
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[x] I have added tests/screenshots(if any) that prove my fix is effective or that my feature works

Below is the screenshot of the output for a given input,

Created a pr for adding solution of "Unlucky Ticket" question in codeforces, please check it.

Can you please also check my previous issue, #847 and #1149, are not assigned to me, so if possible please assign then to me.

@akash435 add test case

means i need to add more test cases and its solution, is this?

you haven't added any test case. Refer other merged pr


Bookmarks Clear All enabled after manually deleting entries

Bug Report Dump (Auto-generated)

Version 1.12.0 (1079)
Device: iPhone 7 Plus (iOS 11.0.3)
TestFlight: true

Fixed with #720


E57Simple: Simplify & clarify node types when setting up Data3D

Instead of using one field to indicate the node type & set the scale if the type is ScaledInteger, split it into two fields. This makes the node type selection explicit and easier to understand.
Note that this is an API-breaking change.
As discussed in #126, the current setup is very confusing. Right now these fields mean several different things depending on which one we are using.
If not using ScaledInteger, it also has the advantage of automatically choosing float or double point types based on whether we are using e57::Data3DPointsData or e57::Data3DPointsData_d (if we use the new constructor).
To see how it changes things, please see the updated tests.
@ptc-jhoerner @nigels-com @MCVin Once we've settled on an implementation, I will change the other fields in e57::PointStandardizedFieldsAvailable to use the same method so everything is consistent.
Once all fields are converted, E57_NOT_SCALED_USE_FLOAT and E57_NOT_SCALED_USE_INTEGER will go away.

Looks good on a first look through.  I have to admit that I've found the part of the API less than clear.
I would like to properly support all three modes, but not sure we're doing so currently.

Makes sense to me to split the responsibilities. Thanks, looks good.

I would like to properly support all three modes, but not sure we're doing so currently.

@nigels-com By that do you mean support IntegerNode, ScaledIntegerNode, and FloatNode (float/double) for points?
Right now we don't handle IntegerNode (#157 - see issues listed at the bottom of the original post).
I suppose it might be possible by allowing Data3DPointsData_i (though I think I'd changed the names to be Data3DPointsDataFloat, Data3DPointsDataDouble, and Data3DPointsDataInteger). Not sure what would have to change, but I'm willing to take a look.

ScaledInteger, float and double.

These should all be supported for read & write for cartesianX, cartesianY, cartesianZ, & sphericalRange. Integer is not supported for either read or write (though allowed by the standard).
Now that I have the enum, I changed the code to use switches so it's clearer what is supported where.

I've updated the table in #157 to show what the current support looks like (before this PR).
This PR fills in one of the missing ones - intensity as a Float (double).


NPM Support

npm package support updated!
use optional babel for browser compatibility
use optional compress
Work with ES6 or later
Updated documentation
Include developer documentation with npm and node
Include instalation and example with npm

This needs to be rebased.

I'm closing this pull request, since it still hasn't been rebased, 6.5 weeks later.


Consider using schema value types to generate broad query constraints

Take, for example:
[:find ?age :where [
  [?person :foo/age ?age]]

where :foo/age is declared in its schema as being numeric.
A naïve query for this might be:
SELECT datoms123.v AS age FROM datoms datoms123 WHERE datoms123.a = ?
bindings: [(intern :foo/age)]

In some more complicated queries, particularly if ?age contributes its type constraint to another variable, it might be valuable to produce additional constraints derived from the schema:
WHERE typeof(?age) IS 'int'

or
WHERE 0 <= ?age AND ?age < 9999

We now have type tags, and do #14 and #30, so that squeezes this from both ends.


Question about the training process of VisA Dataset

I would like to know whether the background of the images was removed during the training and validation process using the VisA dataset., and do you think whether the background is removed or not during the anomaly detection process (training, validation, testing) has a significant impact on the model's performance? Looking forward to your reply.

Hi, I did not incorporate background removal during training or inference, but I can see how it could be useful. I’ve noticed that sometimes background noise, such as dust or similar artifacts, is mistakenly detected as anomalies (spurious anomalies). I believe that implementing background removal could help reduce such false positives and improve the reliability of anomaly detection. It can be done by using SAM.


Non-Sortable Table Header Labels vertical misalignment

The table header labels which do NOT have arrows for sorting are placed slightly lower than those with arrows.

Hi @kwwii, I was browsing issues labeled with "good-first-issue" and I've tried to reproduce this issue but it seems it has been fixed. In 2.7-head with Chrome (Ubuntu) can't see vertical misalignment:

Maybe can be closed?


Added known limitations for CDC on Free Tier

Enterprise changefeeds are currently disabled for CockroachCloud Free Tier - added a known limitation

This change is

LGTM!


"default" mode needs a better name

The "default" mode should have a descriptive name (even if it's just simple), and then it should be marked as the default.

I am currently making a PR on this. In future the name for the default mode will be simple
As well the default for a single file will be the analyze mode.
For multiple files the script should start in the analysed-summary mode.