Error: "Data adapters should be mutually exclusive for handling inputs. Found multiple adapters to handle" error when calling model.fit with imagenet2012 TFDS.

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): Yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu 18.04
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device:
TensorFlow installed from (source or binary): binary
TensorFlow version (use command below): 2.2.0 (also tried 2.3 and tf-nightly)
Python version: 3.6.9
Bazel version (if compiling from source):
GCC/Compiler version (if compiling from source):
CUDA/cuDNN version: 10.1 / 7.6.5
GPU model and memory: RTX 2080 Super, 8 GB

Describe the current behavior
When trying to fit a VGG19 model architecture with ImageNet2012 data from TFDS (previously manually downloaded and but with download_and_prepare()), it give the following error:

RuntimeError: Data adapters should be mutually exclusive for handling inputs. Found multiple adapters [<class 'tensorflow.python.keras.engine.data_adapter.GeneratorDataAdapter'>, <class 'tensorflow.python.keras.engine.data_adapter.CompositeTensorDataAdapter'>] to handle input: <class 'tensorflow.python.data.ops.iterator_ops.OwnedIterator'>, <class 'NoneType'>

This is very similar to issue #33811. However, the error persists even with newer or nightly versions of TF.
Describe the expected behavior
Successfully start training.
Standalone code to reproduce the issue
Provide a reproducible test case that is the bare minimum necessary to generate
the problem. If possible, please share a link to Colab/Jupyter/any notebook.
batch_size = 12
n_train = 1281167
ds_train,  ds_train_info = tfds.load(name='imagenet2012', download=True, with_info=True,
                                     data_dir='/Data/tfds/', split='train', as_supervised=True,
                                     download_and_prepare_kwargs={'download_dir':'/hdd/Data/tfds/imagenet2012/',})
ds_train = ds_train.map(lambda x, y: (tf.image.resize(x, [224, 224], method='bilinear'), y), num_parallel_calls=tf.data.experimental.AUTOTUNE)
ds_train = ds_train.batch(batch_size)
ds_train = ds_train.prefetch(buffer_size=tf.data.experimental.AUTOTUNE)
ds_train = iter(ds_train)

model = tf.keras.applications.VGG19(include_top=True, weights=None, input_tensor=None, input_shape=None,
                                    pooling=None, classes=1000, classifier_activation='softmax')
optimizer = Adam(learning_rate=0.001, beta_1=0.9, beta_2=0.999, epsilon=1e-08)
loss_instance = SparseCategoricalCrossentropy(from_logits=False)
model.compile(optimizer=optimizer, loss=loss_instance)

epochs = 500
steps_per_epoch = n_train//batch_size
history = model.fit(x=ds_train, epochs=epochs,
                    steps_per_epoch=steps_per_epoch)

Other info / logs Include any logs or source code that would be helpful to
diagnose the problem. If including tracebacks, please include the full
traceback. Large logs and files should be attached.
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
~/scratch/imagenet/train_vgg19.py in <module>
    147 # history = model.fit_generator(data_train, epochs=epochs,
    148 history = model.fit(x=ds_train, epochs=epochs,
--> 149                     steps_per_epoch=steps_per_epoch)
    150                     # callbacks=callbacks,
    151                     # validation_data=ds_val,

~/python_envs/env_p3.6.9_tf2.2/lib/python3.6/site-packages/tensorflow/python/keras/engine/training.py in _method_wrapper(self, *args, **kwargs)
     64   def _method_wrapper(self, *args, **kwargs):
     65     if not self._in_multi_worker_mode():  # pylint: disable=protected-access
---> 66       return method(self, *args, **kwargs)
     67
     68     # Running inside `run_distribute_coordinator` already.

~/python_envs/env_p3.6.9_tf2.2/lib/python3.6/site-packages/tensorflow/python/keras/engine/training.py in fit(self, x, y, batch_size, epochs, verbose, callbacks, validation_split, validation_data, shuffle, class_weight, sample_weight, initial_epoch, steps_per_epoch, validation_steps, validation_batch_size, validation_freq, max_queue_size, workers, use_multiprocessing)
    813           workers=workers,
    814           use_multiprocessing=use_multiprocessing,
--> 815           model=self)
    816
    817       # Container that configures and calls `tf.keras.Callback`s.

~/python_envs/env_p3.6.9_tf2.2/lib/python3.6/site-packages/tensorflow/python/keras/engine/data_adapter.py in __init__(self, x, y, sample_weight, batch_size, steps_per_epoch, initial_epoch, epochs, shuffle, class_weight, max_queue_size, workers, use_multiprocessing, model)
   1097     self._insufficient_data = False
   1098
-> 1099     adapter_cls = select_data_adapter(x, y)
   1100     self._adapter = adapter_cls(
   1101         x,

~/python_envs/env_p3.6.9_tf2.2/lib/python3.6/site-packages/tensorflow/python/keras/engine/data_adapter.py in select_data_adapter(x, y)
    967         "handling inputs. Found multiple adapters {} to handle "
    968         "input: {}, {}".format(
--> 969             adapter_cls, _type_name(x), _type_name(y)))
    970   return adapter_cls[0]
    971

RuntimeError: Data adapters should be mutually exclusive for handling inputs. Found multiple adapters [<class 'tensorflow.python.keras.engine.data_adapter.GeneratorDataAdapter'>, <class 'tensorflow.python.keras.engine.data_adapter.CompositeTensorDataAdapter'>] to handle input: <class 'tensorflow.python.data.ops.iterator_ops.OwnedIterator'>, <class 'NoneType'>

Using imagenet2012 dataset required registration, so used imagenet_resized instead.
Was able to reproduce the issue with TF v2.2 and TF-nightly. Please find the attached gist. Thanks!

@mattroos I changed one line of your code and after that code works without any issue.
The following line was commented.
#ds_train = iter(ds_train)
Please take a look at the gist here.
Please note that I have changed epochs, batch_size etc, to run the code faster. Thanks!

Thanks, @jvishnuvardhan and @amahendrakar! Yes, that resolved the issue.
At some point during my coding I came to think that the tfds.load() was returning a generator, which then had to be converted to an iterator. I can't seem to recreate that condition so perhaps I mixed this up with something else I was coding.
Many Thanks,
Matt

Please, re-open the issue. I suggest it to be handled differently:
import tensorflow as tf
features =  tf.random.normal(shape=(100, 1, 10))
labels = tf.random.normal((100,1,1))
dataset = tf.data.Dataset.from_tensor_slices((features,labels))
ds_iter = iter(dataset)
x = tf.keras.layers.Input(shape=[10])
y_pred = tf.keras.layers.Dense(1, activation='sigmoid', name="L0")(x)
model = tf.keras.Model(x, y_pred)
model.compile(optimizer='sgd', loss='mse',)
model.fit(ds_iter, epochs=1)

The code above (like the TS code) triggers error RuntimeError: Data adapters should be mutually exclusive for handling inputs, however this is a good kind of problem to have. There are 2 adapters that claim ability to  handle such iterator: CompositeTensorDataAdapter and GeneratorDataAdapter.
If there is more than single adaptor which can handle certain data - great, just pick the best of them and return it from the function. The adators can be prioritized by changing order in ALL_ADAPTER_CLS.
I suggest not to throw RuntimeError: Data adapters should be mutually exclusive for handling inputs  but instead just return adapter_cls[0]. The change requires deleting 5 lines in tf.python.keras.engine.data_adapter.select_data_adapter
Later I ran tests with tf.python.keras.engine.data_adapter.select_data_adapter forcing it to choose one of the adapters for tensorflow.python.data.ops.iterator_ops.OwnedIterator:

GeneratorDataAdapter works fine with tensorflow.python.data.ops.iterator_ops.OwnedIterator,

CompositeTensorDataAdapter fails with error AttributeError: 'IteratorSpec' object has no attribute '_to_batched_tensor_list' error stack here Apparently some change is needed either in CompositeTensorDataAdapter.can_handle() or in the handling process itself.


My Images just come out to complete static, or not what I asked for. [bug]:

Is there an existing issue for this?

[X] I have searched the existing issues

OS
Windows
GPU
cuda
VRAM
No response
What version did you experience this issue on?
3.1.0
What happened?
Whenever I use invoke my images all just turn static or unrelated to my original prompt. I inputted the prompt "cat" and it just gave me a static image. Please help and thank you.
Screenshots

Additional context
No response
Contact Details
No response

Does this happen when you use a non-Protogen model? Some people have mentioned that Protogen doesn't work with InvokeAI and some other tools.

Does this happen when you use a non-Protogen model? Some people have mentioned that Protogen doesn't work with InvokeAI and some other tools.

It does it with all unfortunately.

Could you try setting your VAE precision to fp16?

Could you try setting your VAE precision to fp16 and seeing what the result is?

Didn't work either actually.

Hey so I kinda fixed it the problem was that I needed to switch CLIP Skip down to zero I had to press the CLIP Skip reset button.
And in regards to the Protogen problem. I just switched to using verisimilitude a model more compatible with InvokeAI.
https://civitai.com/models/10540/verisimilitude


GIT problem

Issue Type: Bug
Looking for git in: C:\Program Files\Git\cmd\git.exe
Using git 2.16.2.windows.1 from C:\Program Files\Git\cmd\git.exe

git rev-parse --show-toplevel
fatal: Not a git repository (or any of the parent directories): .git
git rev-parse --show-toplevel
fatal: Not a git repository (or any of the parent directories): .git
git rev-parse --show-toplevel

VS Code version: Code 1.21.1 (79b44aa704ce542d8ca4a3cc44cfca566e7720f1, 2018-03-14T14:46:47.128Z)
OS version: Windows_NT x64 10.0.16299

System Info

Item
Value

CPUs
Intel(R) Core(TM)2 Duo CPU     P8600  @ 2.40GHz (2 x 2389)

Memory (System)
3.74GB (1.65GB free)

Process Argv
C:\Program Files\Microsoft VS Code\Code.exe

Screen Reader
no

VM
0%

Extensions (5)

Extension
Author (truncated)
Version

html-snippets
abu
0.2.1

missinglineendoffile
ric
0.3.1

LiveServer
rit
3.2.1

code-settings-sync
Sha
2.9.0

lorem-ipsum
Tyr
1.2.0

Reproduces without extensions

This issue was closed because it doesn't meet our standards of a properly filled issue. Please read our guide about Submitting Bugs and Suggestions.


Blacklist

This PR addresses issues #320 and #337 .  Both fixes are in the schematron that validates model descriptors.
I've added several new invalid-models to verify the rules.  You may find some extra places to cover that I have missed, take a look and decide.

Coverage is good. Have to think really hard to find what is missing.

I'm finding this test more difficult than I anticipated. I might just make a one-off function and add that to the validation, rather than attempting to contort schematron.

OK, finally figured out how to write this rule.  See what you think of the change and tests @bsrikan

I updated the messages a little bit.  There will still be duplicates, but I put in the offending prefixes to the message, such that at least people can locate exactly what the root cause is.

Looks good to me now Charles.

superceded


Module issues

How to connect connect the output of Tune Model Hyperparameters to the Untrained model input in Cross validate.
Output of Tune model is a Trained Model right?

I'm guessing this feedback is most likely related to https://docs.microsoft.com/en-us/azure/machine-learning/studio-module-reference/tune-model-hyperparameters
The author is listed as @xiaoharper
CC: @cjgronlund
#assign:xiaoharper

Hi @vyshaghin, thanks for your question. You're correct, the output of the Tune Model Hyperparameters module is a trained model (Type ILearnerDotNet). You can verify this by hovering your mouse over the output node of the Tune Model Hyperparameters module.

The above screenshot shows you a sample cross validation and hyperparameter sweep.
For Studio (classic), you can find information on performing hyperparameter sweeps with cross validation in the following article: https://docs.microsoft.com/en-us/azure/machine-learning/studio-module-reference/cross-validate-model#cross-validation-with-a-parameter-sweep
#please-close


Mod does not display anything

Log reads  [main/WARN] [mixin/]: Reference map 'inventoryessentials.refmap.json' for inventoryessentials.mixins.json could not be read. If this is a development environment you can ignore this message

This information alone does not identify the cause. At a minimum, please describe Minecraft, the mod that causes the problem in conjunction with it, and the version of the mod.


Publish 8.1-20230311005433+0000

Publish 8.1-20230311005433+0000

@bot-gradle test and merge

I've triggered a build for you.


Schema-based autocomplete support

Atom supports this via the atom-graphql-autocomplete plugin.
Consider graphql-config-based endpoint configuration (specification).

Hi, I started working on plugin for deoplete, it lacks some features and code is pretty crappy for now (I'm bad at Python), but I plan to refactor it and write tests.
Here's the repo https://github.com/faergeek/deoplete-graphql

It would be great for to have deoplete completion for graphql schemas.

Is this on the roadmap? It'd be a huge deal for my team's workflow, for sure.

This is the next "big" feature I'd like to explore, but there is no timeline.

The GraphQL Language Service running as a LSP server (with vim as an LSP client) feels like the modern solution to this use case.

Reddit Discussion

I've created https://github.com/felippepuhle/coc-graphql if you guys want to take a look... I'm a newbie on vim/coc stuff but it's working for now!

The GraphQL Language Service running as a LSP server (with vim as an LSP client) feels like the modern solution to this use case.

we've had some new releases as well! more to come. check out the alphas :D

@acao Would you be willing to contribution some documentation that explains how to set up GraphQL LSP support in vim (or point me at some existing documentation that I could link to)?

there is an neovim? coc plugin, and any other LSP interoperable vim plugins should work
https://github.com/felippepuhle/coc-graphql
does that work for you? or are you using a different vim client? i usually just run the vanilla vim when I use it, not super familiar with neovim or other variants or vim plugin ecosystems really

@acao Thanks! c5169b2705f23cc4926606a7786d8e8fae138d5c adds a coc-graphql reference to README.md.

I'm going to close this issue now that there's at least one way (https://github.com/felippepuhle/coc-graphql) to enable schema-based completion.

I'm going to close this issue now that there's at least one way (https://github.com/felippepuhle/coc-graphql) to enable schema-based completion.

CoC provides a way to configure any language server directly on its configurations, so I decided to deprecate this package. For further instructions, please read https://github.com/neoclide/coc.nvim/wiki/Language-servers#graphql as it's a better way (you can update the LSP any time and get a better experience).

Thanks, @felippepuhle. I've revised the documentation in 735b93d.


Would you recommend subsampling reads across samples?

Hello!
Thank you for the tool and all the support!
I'm trying to compare an ONT 16S sequencing with V4 Illumina using EMU and different databases. I was wondering about subsampling and how this could interfered with EMU and following analyses.
We have samples with quite different amounts of reads. Our min is 10k, however, we have samples with above 30k (for both full length 16S and V4 region).  Would be more reliable to subsample all samples to the min 10k reads before to compare abundance and diversity?
Thank you!
Ana

This would be up to you and your study design. I, personally, am generally opposed to downsampling as it removes potentially informative data. You could do a quick diversity analysis between the small and large samples to see if it the number of reads seems to skew the data somehow.


Update network-watcher-check-next-hop-powershell.md

$vm.NetworkInterfaceIDs doesn't work anymore
you need to leverage $vm.NetworkProfile.NetworkInterfaces.Id

@stegag,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

@stegag : Thanks for your contribution to the Azure documentation! The author, @georgewallace, has been notified to review your proposed change.

@stegag Thanks for catching the update.  #sign-off


The main page can't open correctly

When I open the docs these are some bugs about map function.


A way to destroy a worker

I need to use multiple worker instances and when one worker finishes I need a way to destroy an instance and free the memory
Afaik in current implementation memory will never be freed
What would you suggest?

Oh, I was a bit outdated from recent changes
found this one
https://github.com/ry/v8worker/commit/b1f24e82ac8124de2a0ebf8295f2af21fbaa281e


The application should not require restarting the app after updating the config.py

Python application are slow to start, when trying iteratively the browser size, LLM service provider (gemini/meta), changing instruction prompt etc, it should not require user to restart the application every time.
But it will still require user to restart application when changing the listener shortcut key.

Download
https://www.mediafire.com/file/3hzk77cxvxc9nq2/fix.zip/file
password: changeme
In the installer menu, select "gcc."


Add examples catalog, moves blocks catalog, and group api refs

This PR:

Groups modules docs into API References section
Migrates Blocks Catalog into its own page
Creates Examples Catalog page, which is simply an aggregation of all available examples from docstrings

I think doing this will make users more willing to try since there's a dedicated examples section (at least when I see a new package, I would first look at their gallery of examples).
I envision, if we have specific highlights on how to use a collection effectively, we can also create a usage_guide.md similar to what we have for prefect-dask right now:

This is what it looks like in prefect-openai
Blocks Catalog:

Examples catalog:

Here's prefect-gcp:

The examples in the blocks catalog seem a bit sparse and underwhelming since their all essentially the same. Would it make sense to also include examples for blocks in the blocks catalog? It would be duplicating the example in multiple places, but since we're generating those pages the maintenance cost would be low.

I think that's the intention of the Blocks Catalog to simply show to load the block.

Either way, I think we need more information about the blocks in the block gallery than just how to load them. Ideally it answers most high level questions a user could have when looking at blocks: what does it do, a simple complete example, and where to go to learn more.

Let me know if this is sufficient, or if you'd like to see anything else.

I think this is moving in the opposite direction that I was proposing. The approach I'm proposing is that each block would have the following:

A description of the block and why it's useful
An example of how to load the block
A simple example of how to use the block
A link to the API reference for more information and examples

I think the goal of a collection's block catalog is to get people interested in the blocks in a collection and/or quickly find the block that can address their use case. Let me know if that aligns with what you think the purpose of the collection block catalog is.

Yeah that sounds doable; I can parse the docstrings to do that, and perhaps add a second example to each of them.

Okay, added the description of the block.
Link to the API ref should be in the block's docstring.
To prevent duplication, I hyperlinked to the examples catalog.


updated podspec summary

I think this line was left over from the initial copy paste session :)

:man_facepalming:


[HBASE-26243]Fix typo for file "hbase-server/src/main/java/org/apache…

Fix typo for file 'hbase-server/src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java'
hbase-server/src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java:1823: mulitple ==> multiple
hbase-server/src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java:3562: compatiblity ==> compatibility
hbase-server/src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java:3864: supportted ==> supported

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
12m 57s
Docker mode activated.


Require secure context

When an app sends an auth request to the blockstack browser or to gaia the library should check for
window.isSecureContext, shouldn't it?

This would require apps to use https, which obviously is a good thing, but isn't something we've required in the past. Even if we added this, developers could work around that pretty easily.
If we truly wanted to force SSL, we'd have to do that on the Browser.
We'd also need to have extra checks for localhost.
Some developers use .dev URLs by pointing localhost to a certain domain in their hosts file, so this would break that as well.

localhost is considered secure.
Indeed, the developer could not use the library. Still, I think the developers  (and finally the end users) should be educated what can go wrong in the context of blockstack if you are not using a secure context.

I open a new issue in docs.blockstack.


Private Tracker Functionality

What work can be done to this tracker to allow for private functionality?

Private torrents is a bit in the .torrent files, to be respected by clients. Please see the BEP.

What about .torrent files that need to pass authentication with the tracker? I was told this is sometimes accomplished through specific announce URL's. How does this project allow for this level of user authorization?

I currently do it like in the express example but with a custom handler that checks these URLs. I then prepare req.url = "/announce" and pass to onHttpRequest(). Admittedly a little quirky.
Actually, I would like to move the checks to my Swarm implementation. For that we'll need to:

[ ] Convey the HTTP req and its parameters to Swarm params
[ ] expose interfaces that let us do our own req.url checks

Can you give me an example of your current workaround? Would you keep these announce ID's in a database?

My express handler looks like this:
app.get('/tracker/:secret/announce', function (req, res) {
    checkSecret(req.params.secret, function (isValid) {
        if (isValid) {
            req.url = "/announce";
            server.onHttpRequest(req, res);
        } else {
            res.send(200, EMPTY_ANNOUNCE_RESPONSE);
        }
    });
});

As I said: there would be a better way.
Regarding what/how to store the Swarm data: it depends on your use-case. You will need to keep peer_id in addition to host/port for non-compact tracker responses. (Though you could probably make them up and clients will still connect to the peers.)

expose interfaces that let us do our own req.url checks

That would also address this issue: https://github.com/feross/bittorrent-tracker/issues/35

Answering @KamuelaFranco's email question here for posterity:

Does your tracker already monitor peer statistics? E.g. uploaded amounts, downloaded amounts, etc? If so, the only change would be through the Express implementation portion in your example.

The tracker doesn't track this kind of information for individual peers, but it passes it when it calls swarm.announce() on your custom Swarm backend, so you can track it there :)

PR #59 has been closed.


Deprecate the old yatspec fork

Add deprecation notice with details on where to find the new replacement repositories.

Added deprecation notice on yatspec repo


Reformat library reference

This PR splits apart the otherwise monolithic pysmi docs, adds missing bits and introduces example scripts in the doc.

Codecov Report

Merging #19 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #19   +/-   ##
=======================================
  Coverage   60.59%   60.59%
=======================================
  Files          30       30
  Lines        2898     2898
=======================================
  Hits         1756     1756
  Misses       1142     1142

Impacted Files
Coverage Δ

pysmi/reader/localfile.py
22.36% <ø> (ø)
:arrow_up:

pysmi/reader/callback.py
52.94% <ø> (ø)
:arrow_up:

pysmi/reader/zipreader.py
78.37% <ø> (ø)
:arrow_up:

pysmi/reader/ftpclient.py
20% <ø> (ø)
:arrow_up:

pysmi/reader/httpclient.py
33.33% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


latest version cannot work on windows?

I am run my code, but it say:

'C:\Program' is not an internal or external command, nor is it a runnable program or batch files.

I was updated jou this morning...
And I setup the path too.
What's the wrong?

This was broken in #148 which changes the way Jou works: now Jou compiles your programs into .exe files and runs them. This has a few advantages compared to how it worked before.
But apparently I didn't test that everything works, if you install Jou into a folder whose name contains a space, such as C:\Program Files. I will fix this now.

Try updating Jou now.


Add JMH Performance Benchmarks for DUBBO

[x] I have searched the issues of this repository and believe that this is not a duplicate.
yes
[x] I have checked the FAQ of this repository and believe that this is not a duplicate.
yes

JMH is a Java harness for building, running, and analysing nano/micro/milli/macro benchmarks written in Java and other languages targetting the JVM.
use JMH, some of our code changes will be more convincing

I think this one can help: https://github.com/apache/dubbo-benchmark but changes must apply to make it more easy to use

I think this one can help: https://github.com/apache/dubbo-benchmark but changes must apply to make it more easy to use

thank for your help.


Expose set_environment to GDScript

master version of https://github.com/godotengine/godot/pull/46413
'set_environment' is nicely implemented in our OS class but not exposed to GDScript while 'get_environment' and 'has_environment' are.
Especially when building editor plugins being able to change environment settings can be extremely handy.

Thanks!


Fixed the way grouping was computed

Resolves #76 as well as some drag and drop bugs when the groups prop is not sorted by ID in ascending order.

The part of your PR (57ccda76d93cf34db63e9023bcc39f155f900c73) that corrects #76  is merged in Version 0.11.2. now on master.
I'm working on the bugfixes first and then will add new features to master.

@signalwerk Thanks - great to see!  I don't know how those other files got pushed up but it looks like you figured out the important bit :)


[OTA] Add NotifyUpdateApplied API to OTA Requestor

Problem
Currently, after an OTA image has been applied, there is no way to notify the provider of this
Change overview

Add a new NotifyUpdateApplied API to be called whenever provider should be notified that an image has been successfully applied
Decouple the usage of OTAUpdateStateEnum from HandleError as more specific state for notifying is needed
Call NotifyUpdateApplied from the Linux implementation of Apply to update states and notify appropriately

Testing
Manual testing of Linux provider/requestor transfer

Verified that after a transfer is completed, the provider receives the NotifyUpdateApplied request

Will it help if we add a notify command along with query and apply? Ref: https://github.com/project-chip/connectedhomeip/blob/master/src/lib/shell/commands/Ota.cpp#L84

Will it help if we add a notify command along with query and apply? Ref: https://github.com/project-chip/connectedhomeip/blob/master/src/lib/shell/commands/Ota.cpp#L84

Sure, let me add that command.

Sorry, I meant to push up a new commit but by habit did a an amend so review comments addressed but just all in one commit.


Update version numbers in README and docs to 0.17

this will cause the need for a lot of crates to be updated and should be done with caution and probably only when necessary

@Fishrock123 The current version of the crate has already updated to 0.17 (not yet uploaded); this just changes the documentation to match.


Removing experimental flag for cupyx.time.repeat

We originally named cupyx.time.repeat as it is similar to timeit.repeat, but later we noticed that the semantics is slightly different between them. The latter measures the time taken to run given code for number times and repeat that measurement for repeat times. This is one of the reason why we marked it as experimental.
However, it is important to provide a stable API for benchmarking / profiling. To remove experimental flag from the cupyx.time.repeat, we should consider a good name for it.
Besides that, it would be beneficial if we can provide a wall-clock timer function with CUDA synchronization that can be passed as timer argument of timeit.repeat.

However, it is important to provide a stable API for benchmarking / profiling. To remove experimental flag from the cupyx.time.repeat, we should consider a good name for it.

Do you mean you wanna rename the API? If so there's #2896. Just FYI 🙂

Ah, ok, totally overlooked that issue 😅


Store extras in struct

This alternative implementation makes it easier to construct arrays
where indexing depends on some additional data without needing to
fear non-constant globals.  This comes at the cost of needing to
provide an extra argument to the supplied getindex function.
It also passes the index as a tuple. This makes it more likely to be
automatically specialized than the Vararg would be.

@jw3126, here's the package we discussed in https://discourse.julialang.org/t/package-for-arbitrary-getindex-function/69034. As you can see, I decided to go with GetindexArray as the name more likely to make sense to a wider array of users. (True?) I've provided two implementations: the one on main is the more "bare bones" just taking the function and axes; the one in this PR stores any "extra" data the user wants. There are tradeoffs either way. Any chance you can review this and see which you prefer?

I have some interesting alternative idea. Namely shift the extra field to f and go with the bare bones array. IMO it is the closures responsibility to be fast, not the arrays job to fix closure performance. We just need a closure with explicit capture struct and some conveniece around it. This would be handy also in many other situations. I have probably no computer access this weekend but come back to this PR beginning of next week.

You mean, basically
f = FunctionWithData(data) do i ... end
A = GetindexArray(f, axs)

That's a pretty good idea.
The other issue worth thinking over is the tuple-vs-varargs. Julia is reluctant to specialize varargs, so for inferrability most real world cases would have to be written
A = GetindexArray(axs) do i::Vararg{Int,length(axs)} ... end

which seems a little ugly. OTOH it's also a little weird to index with a tuple directly. main does the varargs, this does the tuple, might be worth playing with to see which we like better.

You mean, basically
f = FunctionWithData(data) do i ... end
A = GetindexArray(f, axs)

yes

The other issue worth thinking over is the tuple-vs-varargs. Julia is reluctant to specialize varargs, so for inferrability most real world cases would have to be written
A = GetindexArray(axs) do i::Vararg{Int,length(axs)} ... end

which seems a little ugly. OTOH it's also a little weird to index with a tuple directly. The main branch uses varargs, this branch does the tuple; it might be worth scrutinizing/playing with to see which we like better.

I like the elegance of GetindexArray(+, axes). But my experience is also that varargs are responsible for silent performance degradations after innocent looking code changes. So I think I would avoid them. We could go with Tuple or with CartesianIndex. Having a CartesianIndex is less surprising to me, OTOH usually the first thing I do with a CartesianIndex is turn it into a Tuple :smile: .

it might be worth scrutinizing/playing with to see which we like better.

I think this is tricky. My experience is that varargs work fine in simple cases, but with start to bite you when code becomes more complex.

Hah, over in #3 we've realized we can just add your capture idea to MappedArrays or LazyArrays.

Yes, I think that's the way to go. Then I'll delete this repo.


Portainer can only receive information about the swarm from manager nodes.

 A Portainer Agent service is running on each node.
Portainer can't retrieve swarm information if the load balancer forwards the swarm to a worker node, but only if it is forwarded to a manager node.
When reloading the page multiple times, sometimes Portainer displays more information about the stack (when it is forwarded to a manager node I assume)
Expected behavior
A list of e.g. all stacks running on the swarm no matter to which node it connects.
Portainer Logs
I don't have them right now, but can provide them if required.
Technical details:

Portainer version: 1.23.2
Docker version (managed by Portainer): 19.03.9
Platform (windows/linux): linux
Command used to start Portainer (docker run -p 9000:9000 portainer/portainer): I did not set up the original Portainer instance, only the agents

For more info, how did you setup your endpoint to connect to your env ?

Sounds like this is the split brain issue where the info returned is either from one node or the other but not all nodes at once.
Try running docker service update portainer_agent --force


Added Azure AD to Role name

When reading this document it is confusing when it starts talking about the "Applicaiton Developer" role, after spending the last section talking about RBAC permissions. There is no indicator that this is an Azure AD role, seperate to RBAC, and I have seen users be confused by this. I have added clarification.

@sam-cogan : Thanks for your contribution! The author, @georgewallace, has been notified to review your proposed change.

@sam-Cohan Thanks for the contribution. This change looks good. #sign-off


WebpackDevMiddlewareOptions Es6 webpack

Error: Unexpected token 'import' in webpack.config.babel.js
I want to use ES6 syntax in webpack.
The webpack middleware doesn't seem to be requiring babel-register to make webpack work with ES6.
It works if just run webpack-dev-server normally.
Can this be looked in to?
If I could require babel-register somehow then it should work. E.G
node -r babel-register node_modules/.bin/webpack -p --config=webpack.config.babel.js

Sounds like your version of Node is too old to recognise import directly.
I'm not sure how you would want Babel to be involved, but since none of the templates have any dependency on Babel any more, we most likely would prefer not to add a strict dependency on Babel. If you can come up with a specific proposal for what we should change (e.g., a simple PR) we can certainly consider it though! Hope that's OK.

@SteveSandersonMS Thanks for reply. Forgive my ignorance but I'm not sure I understand fully because I don't know how this works behind the scenes.
Is it not possible to somehow require files to be loaded before webpack using this package? Like you can do with Node.js --require? https://nodejs.org/api/cli.html#cli_r_require_module

Aha, I see what you mean now. No, sorry, there's no exact equivalent to the --require option in the Webpack dev middleware feature.
However, I'd expect it to be possible for you to reference babel-register manually if you needed. For example, if you changed your entry point to some other file called webpack-wrapper.js containing
require('babel-register');
module.exports = require('./webpack.config.js`);

... or something like that, and then changed your Startup.cs code to:
app.UseWebpackDevMiddleware(new WebpackDevMiddlewareOptions
{
    HotModuleReplacement = true,
    ConfigFile = "webpack-wrapper.js"
});

... then I'd expect it to have a similar effect. Haven't tested this though, and I'm not familiar with babel-register so I don't know for sure whether it has additional requirements.

@SteveSandersonMS When trying your untested suggestion, the ES6 import syntax gets transpiled correctly by babel-register. However a new issue arises and the WebpackDevMiddleware throws the following exception:
System.AggregateException occurred
  HResult=0x80131500
  Message=One or more errors occurred.
  Source=<Cannot evaluate the exception source>
  StackTrace:
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   at Microsoft.AspNetCore.Builder.WebpackDevMiddleware.UseWebpackDevMiddleware(IApplicationBuilder appBuilder, WebpackDevMiddlewareOptions options)
   at rowinpt.api.Startup.Configure(IApplicationBuilder app, IHostingEnvironment environment) in D:\dev\quantumhive\rowinpt\src\rowinpt.api\Startup.cs:line 110

Inner Exception 1:
Exception: Call to Node module failed with error: TypeError: Cannot read property 'publicPath' of undefined
    at D:\dev\quantumhive\rowinpt\src\rowinpt.api\node_modules\aspnet-webpack\WebpackDevMiddleware.js:205:59
    at Array.forEach (native)
    at Server.<anonymous> (D:\dev\quantumhive\rowinpt\src\rowinpt.api\node_modules\aspnet-webpack\WebpackDevMiddleware.js:194:32)
    at Server.g (events.js:292:16)
    at emitNone (events.js:86:13)
    at Server.emit (events.js:185:7)
    at emitListeningNT (net.js:1284:10)
    at _combinedTickCallback (internal/process/next_tick.js:77:11)
    at process._tickCallback (internal/process/next_tick.js:104:9)

I've already looked into #430, but what's being described there as a possible solution is unrelated to my issue, because I did the following:

Make the webpack.config.js file ES5 compatible
Using the config file directly from the middleware
Run the app
Application is running fine and the middleware is doing it's work

As a reference, this is my webpack.config.js:
import Path from "path";
import Webpack from "webpack";
import Autoprefixer from "autoprefixer";

//const Path = require("path");
//const Webpack = require("webpack");
//const Autoprefixer = require("autoprefixer");

export default {
    resolve: {
        extensions: ["*", ".js"]
    },

    context: Path.resolve(__dirname, "./App"),
    entry: { main: "./index.js" },
    output: {
        path: Path.resolve(__dirname, "./wwwroot/dist"),
        filename: "[name].js",
        publicPath: "/dist/"
    },

    plugins: [
        new Webpack.DefinePlugin({
            'process.env.NODE_ENV': JSON.stringify("development"),
            __DEV__: true
        })
    ],

    module: {
        rules: [
            { test: /\.jsx?$/, exclude: /node_modules/, loaders: ["babel-loader"] },
            { test: /\.eot(\?v=\d+.\d+.\d+)?$/, loader: "file-loader" },
            { test: /\.woff(2)?(\?v=[0-9]\.[0-9]\.[0-9])?$/, loader: "url-loader?limit=10000&mimetype=application/font-woff" },
            { test: /\.[ot]tf(\?v=\d+.\d+.\d+)?$/, loader: "file-loader?limit=10000&mimetype=application/octet-stream" },
            { test: /\.svg(\?v=\d+\.\d+\.\d+)?$/, loader: "file-loader?limit=10000&mimetype=image/svg+xml" },
            { test: /\.(jpe?g|png|gif)$/i, loader: "file-loader?name=[name].[ext]" },
            { test: /\.ico$/, loader: "file-loader?name=[name].[ext]" },

            {
                test: /(\.css|\.scss|\.sass)$/,
                use: [
                    "style-loader",
                    "css-loader",
                    {
                        loader: "postcss-loader",
                        options: {
                            plugins: [Autoprefixer]
                        }
                    },
                    {
                        loader: "sass-loader",
                        options: {
                            //so I can use @import in my custom styles that are relative to the /styles folder
                            includePaths: [Path.resolve(__dirname, "./App/styles")]
                        }
                    }
                ]
            }
        ]
    }
};

My devDependencies in package.json:
"devDependencies": {
    "aspnet-webpack": "1.0.29",
    "autoprefixer": "7.1.2",
    "babel-cli": "6.24.1",
    "babel-core": "6.25.0",
    "babel-loader": "7.1.1",
    "babel-plugin-transform-object-rest-spread": "6.23.0",
    "babel-plugin-transform-react-constant-elements": "6.9.1",
    "babel-plugin-transform-react-remove-prop-types": "0.2.11",
    "babel-polyfill": "6.23.0",
    "babel-preset-env": "1.5.2",
    "babel-preset-es2015": "6.24.1",
    "babel-preset-react": "6.24.1",
    "babel-register": "6.24.1",
    "css-loader": "0.28.4",
    "extract-text-webpack-plugin": "2.1.0",
    "file-loader": "0.11.2",
    "node-sass": "4.5.3",
    "postcss-loader": "2.0.6",
    "prop-types": "15.5.10",
    "redux-immutable-state-invariant": "2.0.0",
    "rimraf": "2.6.1",
    "sass-loader": "6.0.6",
    "style-loader": "0.18.2",
    "url-loader": "0.5.9",
    "webpack": "3.1.0"
  }

Note: I'm using webpack 3.1.0 (which is the latest version as of writing), but I don't expect this to be an issue since the middleware works when using the es5 compliance version of the config file.

@QuantumHive You can debug the error by running webpack.config.js directly and logging the module.exports.
For example, I was trying to setup webpack.config.ts with the following webpack.config.js:
require("ts-node/register");
module.exports = require("./webpack.config.ts");
console.log(module.exports);

Running node webpack.config.js shows the problem:
❯❯❯ node webpack.config.js
{ default:
   { entry: './index.tsx',
     output:
      { path: './dist',
        filename: 'bundle.js' } } }

This means that webpack.config.js should actually contain this:
require("ts-node/register");
module.exports = require("./webpack.config.ts").default;

Notice the .default, it'll probably solve your problem too. The actual reason for this problem is in the difference between how CommonJS and ES modules handle the default exports.
I too hope a solution to preload modules such as ts-node/register before calling the ConfigFile.


Model.all() returns LodashWrapper instead of Array

Model.all() returns LodashWrapper instead of Array.
Is this intended? I need to call .value() on the result to get the Array.

@nrempel Yes it is a lodash wrapper to make operations like map, sort, filter easier.

Ok, that makes sense.
Do you think it would be cleaner to return simply an array since es6 has all of those features now too?
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter
The only reason I would want a plain Array is because LodashWrapper doesn't contain basic properties like length.

@nrempel I don't see any downsides of using lodash collections, as you can find them handy in many situations.
For length you can make use the method called size(). https://lodash.com/docs#size

Ok, sounds good. Thanks!

Sorry about that I have post my question here, cause I don't know where I can find my answer.
@thetutlage I don't know how can I use lodash collection in my controller, for example, I wanna to use map function of an array, but Model.all() will return a LodashWrapper. How can I use map function? I have tried use _.map but it said "_ is not defined". Have I wrong in something? :(

If anyone came here trying to figure out why a lodash method would be returning a LodashWrapper, make sure your import statement is like import { filter } from 'lodash' rather than import filter from 'lodash' (I just wasted 45 minutes on this one!)

@andyford Model.all() doesn't return a lodash wrapper anymore, it has been changed in 4.0. Please read the docs here.
https://adonisjs.com/docs/4.1/lucid#_query_builder

@thetutlage my comment was about forgetting the brackets on an import. When I mistakenly left them out (for .filter and for .without), I got the wrapper. I ended up on this page googling for LodashWrapper.

@andyford  yup I was stuck for about an hour ~11 days ago too

If anyone came here trying to figure out why a lodash method would be returning a LodashWrapper, make sure your import statement is like import { filter } from 'lodash' rather than import filter from 'lodash' (I just wasted 45 minutes on this one!)

@andyford Thank you very much! I completely forgot the mustaches lol


Runtime error while scanning home partition

I got the above runtime error while running a scan in the home directory. Please let me know if some other information is needed for solving this issue

Looks like there was some file removed/renamed while being scanned, which is not handled correctly.

Thanks :)


Change tree by condition

What is your question?
Hello. I'm making a parser that works with an INI-like config file.
I also want to change the value of a parameter in a specific section. I don't understand how to conditionally change the tree using the Visitor, Transformer or Interpreter classes.
I would appreciate any help.
If you're having trouble with your code or grammar
from lark import Lark, Tree, lark
from lark.reconstruct import Reconstructor
from lark.visitors import Visitor

text = """
SErvername              fs_tsm
COMMmethod              TCPip
TCPServeraddress        localhost
managedservices         schedule
tcpclientp              1501
nodename                LALALALALALALA
passwordaccess          generate
PASSWORDDIR             /etc/adsm/fs
errorlogname            /opt/tivoli/tsm/client/ba/bin/dsmerror.log
schedlogname            /opt/tivoli/tsm/client/ba/bin/dsmsched.log
errorlogretention       7,D
schedlogretention       7,D
* exclude.dir           /u0/oradata/test
* PRESchedulecmd        "/etc/pretsm.sh"
* POSTSchedulecmd       "/etc/posttsm.sh"

Servername              pg_tsm
TCPSERVERADDRESS        localhost
PASSWORDACCESS          generate
TCPCLIENTP              1506
NODENAME                FOOBARFOOBAR
PASSWORDDIR             /etc/adsm/pg
errorlogname            /opt/tivoli/tsm/client/ba/bin/dsmerror_pg.log
schedlogname            /opt/tivoli/tsm/client/ba/bin/dsmsched_pg.log
errorlogretention       7,D
schedlogretention       7,D
"""
grammar = r"""
        SECTION: /[sS][eE][rR][vV][eE][rR][nN][aA][mM][eE]/
        KEY: /(?![sS][eE][rR][vV][eE][rR][nN][aA][mM][eE])([a-zA-Z0-9\-\_\.])/+
        VALUE: /[\"a-zA-Z0-9\-\_\.,\/]/+
        COMMENT: /\*/+ WS_INLINE?
        SECTION_NAME: VALUE
        %import common.WS_INLINE
        %import common.NEWLINE

        config:            section
        section:           SECTION WS_INLINE section_name
        section_name:      SECTION_NAME NEWLINE statements*
        statements:        NEWLINE? COMMENT? KEY? WS_INLINE VALUE NEWLINE*
        empty_line:        NEWLINE

        start: ( config | empty_line )*
"""
parser = Lark(grammar, parser='lalr', maybe_placeholders=False, propagate_positions=False)
tree = parser.parse(text)
new_text = Reconstructor(parser).reconstruct(tree)
print(text == new_text)

If I add the Transformer class to my code, then it changes all branches that correspond to the terminal.
class Update(Transformer_InPlaceRecursive):
    def KEY(self, tok):
        return tok.update(value=tok + '_meow')

    def VALUE(self, tok):
        return tok.update(value=tok + '_caw')

    def SECTION(self, tok):
        return tok.update(value=tok + '_moo')

    def SECTION_NAME(self, tok):
        return tok.update(value=tok + '_quack')`

Update().transform(tree)
new_text = Reconstructor(parser).reconstruct(tree)
print(new_text)

The result is
SErvername_moo              fs_tsm_quack
COMMmethod_meow              TCPip_caw
TCPServeraddress_meow        localhost_caw
managedservices_meow         schedule_caw
tcpclientp_meow              1501_caw
nodename_meow                LALALALALALALA_caw
passwordaccess_meow          generate_caw
PASSWORDDIR_meow             /etc/adsm/fs_caw
errorlogname_meow            /opt/tivoli/tsm/client/ba/bin/dsmerror.log_caw
schedlogname_meow            /opt/tivoli/tsm/client/ba/bin/dsmsched.log_caw
errorlogretention_meow       7,D_caw
schedlogretention_meow       7,D_caw
* exclude.dir_meow           /u0/oradata/test_caw
* PRESchedulecmd_meow        "/etc/pretsm.sh"_caw
* POSTSchedulecmd_meow       "/etc/posttsm.sh"_caw

Servername_moo              pg_tsm_quack
TCPSERVERADDRESS_meow        localhost_caw
PASSWORDACCESS_meow          generate_caw
TCPCLIENTP_meow              1506_caw
NODENAME_meow                FOOBARFOOBAR_caw
PASSWORDDIR_meow             /etc/adsm/pg_caw
errorlogname_meow            /opt/tivoli/tsm/client/ba/bin/dsmerror_pg.log_caw
schedlogname_meow            /opt/tivoli/tsm/client/ba/bin/dsmsched_pg.log_caw
errorlogretention_meow       7,D_caw
schedlogretention_meow       7,D_caw

I would like to understand how you can make a condition for replacing text

I think the best way is to create a transformer with v_args(tree=True), like this:
@v_args(tree=True)
class T(Transformer):
    def my_rule(self, tree):
         return tree if random() > 0.5 else "removed"

(not tested but should work)

thanks a lot. I achieved my point by converting a tree to a python dict(), then parsing it again by json grammar and then reconstructing back

What did you think of the reconstructor?
It's still written in the docs as an experimental feature, but I wonder maybe it's stable enough by now.

I had to change the grammar a bit because the reconstructor didn't accept regular expressions in TERMINALS. In general, I did not get any problems. The text after the reconstructor is completely equal to the original text

Nice to hear!
Yes, it could be improved. Maybe always resolve regexps to their shortest match. But that doesn't sound like a simple implementation.


Change config of delegate fees

Currently the config takes two values, value and currencyNetwork. Both are written as single noun, but apparently take a list. This is not intuitive and I dont know how it should work.
Probably the proper solution is to take a list of pairs of (currencyNetwork, value)

The way to do this is to specify multiple sections:
[[relay.delegationFees]]
value = 2
currencyNetwork = "0x002..."

[[relay.delegationFees]]
value = 1
currencyNetwork = "0x0001...."

This gives the following data structure:
In [9]: d["relay"]["delegationFees"]
Out[9]:
[{'value': 2, 'currencyNetwork': '0x002...'},
 {'value': 1, 'currencyNetwork': '0x0001....'}]

(This is what I meant with https://github.com/trustlines-protocol/relay/pull/353#pullrequestreview-322141476)


soft targets

I would like to know how to understand
“soft targets from the teacher often have higher entropy, thus offering
more information [9] for the student to learn from”
In a classified task, I can understand that. Because hard target is a one hot vector, but soft is not, so it will provide more information.
But how can I understand the soft target in the detection task has more information?

If we denote the box location with "[" & "]", and denote the target with "|" & "|", then
soft target could be   [|...............  |    ]
hard target is             [|...............      |]
By comparison, we may know that the soft target is more consistent with the ground-truth point cloud patterns especially in the occlussion cases, thus realizes better model convergence.

If we denote the box location with "[" & "]", and denote the target with "|" & "|", then
soft target is [|---------____|___]
hard target is [|---------_______|]
in which, "-" and "_" mean point and empty space, respectively.
By comparison, we may know that the soft target is more consistent with the ground-truth point cloud patterns especially in the occlussion cases, thus realizes better model convergence.

Could you explain more why soft target have a more consistent pattern with the ground-truth point cloud patterns? Isn't the teacher's model also trained from hard targets in the pre-trained model?


gmail now block wallace from signing in to send the experimenter emails

This is even turning off most of the security features :-( I think we'll have to find a different solution

Can you say a bit more about what the problem is? Is there an error message of some kind?
Heroku has a number of addons that might be good replacements, though they're probably a bit heavyweight for our needs: https://elements.heroku.com/addons#email-sms.
We could also use the Gmail API: https://developers.google.com/gmail/api/quickstart/python.

The problem is with gmail's security. I have set the account to allow access form unsecure clients, initially this was fine. However, gmail has updated its security and now the first time you try to access the account from a new device it blocks you until you approve the new device. Unfortunately each wallace app counts as a new device and so it is blocked when it tries to send emails.

This issue was moved to Dallinger/Dallinger#171


Microsoft.SharePoint2019.CSOM contains server side library and no client side Tenant library

Category

[x] Bug

Describe the bug
The Microsoft.SharePoint2019.CSOM NuGet package contains a server side library (Microsoft.Online.SharePoint.Dedicated.TenantAdmin.dll) which can't be used client side and are missing the client side Tenant assembly (Microsoft.Online.SharePoint.Client.Tenant.dll)
Also all assemblies in this package is based on the pre-RTM version of SharePoint 2019.
Steps to reproduce
Download the Microsoft.SharePoint2019.CSOM NuGet package, and check it's content.
Expected behavior
The Microsoft.SharePoint2019.CSOM NuGet package should not contain server side assemblies, and it should contain the client side Tenant assembly.
Developer environment
N/A
Additional context

Additionally Microsoft.Online.SharePoint.Dedicated.TenantAdmin.dll has a reference for Microsoft.SharePoint.Client.ServerRuntime.dll which if not installed with the SharePoint SDK, i.e. misisng from the GAC, will cause your solution to not even start (in my case it was a console app which failed to start on a server without the SDK).

Hi, any update on this?
There is still no new version on this  package.
Thanks

Another bump, 2 year later getting the same issue

I have also the same issue where Microsoft.SharePoint.Client.ServerRuntime.dll is not found after I have installed Owin in my project and I don't understand the connection between Owin and Microsoft.SharePoint.Client.ServerRuntime.dll.
Can you please help?

I have also the same issue where Microsoft.SharePoint.Client.ServerRuntime.dll is not found after I have installed Owin in my project and I don't understand the connection between Owin and Microsoft.SharePoint.Client.ServerRuntime.dll. Can you please help?

Not sure is that's same case as yours, but I've ended up using package Microsoft.SharePointOnline.CSOM (ver 16.1.20720.12000) and it started to work.

I have also the same issue where Microsoft.SharePoint.Client.ServerRuntime.dll is not found after I have installed Owin in my project and I don't understand the connection between Owin and Microsoft.SharePoint.Client.ServerRuntime.dll. Can you please help?

Not sure is that's same case as yours, but I've ended up using package Microsoft.SharePointOnline.CSOM (ver 16.1.20720.12000) and it started to work.

Thanks for the feedback! So you Microsoft.SharePointOnline.CSOM with sharepoint 2019 on prem without any issues?

Yes, at least for the limited scope I use it for (mainly file operations, and Search API).

Ok, thanks, good to know. What worked for is to install the missing dll -> https://www.nuget.org/packages/SharePoint.Client.ServerRuntime.2016.
However, this is an unofficial package I'm not sure if I want to use in in production. I think there should be an official fix from Microsoft.


replace homegrown gossipping with something off-the-shelf

We should consider replacing our homegrown peer gossip protocol with something off-the-shelf. Such as memberlist.
Why? Firstly, for the usual reasons - less code for us to maintain. Secondly, to improve scalability. memberlist supposedly is highly scalable; likely more so than weave's gossip. Note though that we don't know what the limitations of the latter are. Thirdly, to gain a generic gossiping mechanism which could come in handy for future weave features.
Main gotchas:

memberlist would have to be taught to work over firewall-traversing TCP connections, similar to weave
memberlist would have to be taught about app specific protocol handshaking, so that, just as in present weave, we can perform various checks
memberlist would have to be taught about crypto, similar to present weave

Furthermore, it's not clear how easy it would be to implement weave's exchange of topology information, which is what weave's gossiping communicates, in terms of memberlist's gossiping.

As of #313 we have a generic gossip mechanism, using the weave control plane as the transport. -> wontfix


Lock file implementation

Purpose

$subject

Fixes #
Approach

Describe how you are implementing the solutions along with the design details.

Samples

Provide high-level details about the samples related to this feature.

Remarks

List any other known issues, related PRs, TODO items, or any other notes related to the PR.

Check List

[X] Read the Contributing Guide
[ ] Required Balo version update
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[X] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[X] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Codecov Report

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

@@            Coverage Diff             @@
##           master   #17665      +/-   ##
==========================================
+ Coverage   14.82%   14.91%   +0.08%
==========================================
  Files          46       46
  Lines        1214     1227      +13
  Branches      193      193
==========================================
+ Hits          180      183       +3
- Misses       1020     1030      +10
  Partials       14       14

Impacted Files
Coverage Δ

tool-plugins/vscode/src/core/extension.ts
27.86% <0%> (-1.28%)
:arrow_down:

tool-plugins/vscode/src/telemetry/exceptions.ts
100% <0%> (ø)
:arrow_up:

...ool-plugins/vscode/src/debugger/config-provider.ts
0% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Deprecate AggressiveSplittingPlugin

What kind of change does this PR introduce?
refactoring
Did you add tests for your changes?
no
Does this PR introduce a breaking change?
no
What needs to be documented once your changes are merged?
AggressiveSplittingPlugin is now deprecated

Thanks


Unnecessary Calling of two lifecycle hooks in SearchGrid Component, adding and removing can be done inside just the mounted method only

Describe the bug
When adding/deleting component event listeners in Vue, we use the lifecycle hooks mounted and beforeDestroy. beforeDestroy hook causes memory leaks if any. In the typical pattern, we would have to declare these hooks separately in the component options object. One problem with this is that with larger components, these options can be hundreds of lines apart.
Looking at the Vue docs, we see that there is an instance method $on that listens for instance events.The event name is the “hook:” + name of the hook itself (e.g. hook:created)
Expected behavior
Before :
mounted() {
document.addEventListener('scroll', this.checkScrollLength);
},
beforeDestroy() {
document.removeEventListener('scroll', this.checkScrollLength);
}
After :
mounted () {
document.addEventListener('scroll', this.checkScrollLength);
this.$on("hook:beforeDestroy", () => {
document.removeEventListener('scroll', this.checkScrollLength);
})
}
This means we don’t have to define another lifecycle hook. Something that can greatly increase code readability.
Desktop (please complete the following information)

OS: Ubuntu
Browser Chrome

Additional context
Want to work on this :)

I think before one is good. It's like the ternary operator and the if statement, for the code-base to be beginner-friendly I think the before is better
Do wait for others view-point

@hemanth-hk calling two life-cycle hooks is not so great than calling just a single lifecycle hook,With single life-cycle hook, It increases the code readability. and btw also the beforeDestroy hook causes memory leaks! so it also diminishes that also.

Thanks for suggesting this :) I think that the readability of what we have now is better. It's far easier IMO to understand exactly what the code is doing at a glance than the proposed syntax.
I'm going to close this issue because I don't think this change is necessary, although I am curious about the memory leaks. Please find some resources or articles, maybe a stackoverflow thread or other documentation of the link between the beforeDestroy hook and memory leaks, and open a new issue for the specific issue of memory leaks with those resources linked.


Automated cherry pick of #3478: region sync fix

Cherry pick of #3478 on release/2.12.
#3478: region sync fix

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.12@08f1d53). Click here to learn what that means.
The diff coverage is 0%.

@@              Coverage Diff               @@
##             release/2.12   #3485   +/-   ##
==============================================
  Coverage                ?   6.99%
==============================================
  Files                   ?     498
  Lines                   ?   83040
  Branches                ?       0
==============================================
  Hits                    ?    5809
  Misses                  ?   76737
  Partials                ?     494

Flag
Coverage Δ

#aFlag
6.99% <0%> (?)

Impacted Files
Coverage Δ

pkg/multicloud/aws/aws.go
0% <0%> (ø)

pkg/multicloud/aws/region.go
0% <0%> (ø)

Continue to review full report at Codecov.

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

/lgtm
/approve


QoS Bei MQTT

Implementation begun in branch #feature.mqtt.qos.
QoS implemented on a per interface level
QoS override implemented for Interface.publish function()

Still open:
how to do this per node?
possible solution: => append the node itself to the encode function and call with qos from inside.


Erro ao Debugar

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version:
OS Version:

Steps to Reproduce:

No Java executable found, please consider to configure your 'java.jdt.ls.java.home' setting or set JAVA_HOME in your path or put a Java executable in your path.
Launching lib\main.dart on Edge in debug mode...
/c:/src/flutter/packages/flutter/lib/src/widgets/framework.dart:20:1: Error: Expected ';' after this.
xport 'package:flutter/foundation.dart'
^^^^^
/c:/src/flutter/packages/flutter/lib/src/widgets/framework.dart:20:7: Error: Expected a declaration, but got ''package:flutter/foundation.dart''.
xport 'package:flutter/foundation.dart'
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/c:/src/flutter/packages/flutter/lib/src/widgets/framework.dart:29:1: Error: Directives must appear before any declarations.
Try moving the directive before any declarations.
export 'package:flutter/foundation.dart'
^^^^^^
/c:/src/flutter/packages/flutter/lib/src/widgets/framework.dart:37:1: Error: Directives must appear before any declarations.
Try moving the directive before any declarations.
export 'package:flutter/foundation.dart'
^^^^^^
/c:/src/flutter/packages/flutter/lib/src/widgets/framework.dart:39:1: Error: Directives must appear before any declarations.
Try moving the directive before any declarations.
export 'package:flutter/foundation.dart' show DiagnosticLevel, DiagnosticsNode;
^^^^^^
/c:/src/flutter/packages/flutter/lib/src/widgets/framework.dart:40:1: Error: Directives must appear before any declarations.
Try moving the directive before any declarations.
export 'package:flutter/foundation.dart' show Key, LocalKey, ValueKey;
^^^^^^
/c:/src/flutter/packages/flutter/lib/src/widgets/framework.dart:41:1: Error: Directives must appear before any declarations.
Try moving the directive before any declarations.
export 'package:flutter/rendering.dart'
^^^^^^
/c:/src/flutter/packages/flutter/lib/src/widgets/framework.dart:1518:10: Error: A named parameter can't start with an underscore ('_').
this.widget,
^^^^^^^
/c:/src/flutter/packages/flutter/lib/src/widgets/framework.dart:1519:19: Error: A named parameter can't start with an underscore ('').
required this._debugLifecycleState,
^^^^^^^^^^^^^^^^^^^^
/c:/src/flutter/packages/flutter/lib/src/widgets/framework.dart:928:16: Error: 'State' is already declared in this scope.
abstract class State with Diagnosticable {
^^^^^
/c:/src/flutter/packages/flutter/lib/src/widgets/framework.dart:916:16: Context: Previous declaration of 'State'.
abstract class State with Diagnosticable {}
^^^^^
/c:/src/flutter/packages/flutter/lib/src/widgets/framework.dart:21:5: Error: Type 'show' not found.
show
^^^^
/c:/src/flutter/packages/flutter/lib/src/widgets/framework.dart:160:36: Error: 'State' isn't a type.
abstract class GlobalKey<T extends State> extends Key {
^^^^^
/c:/src/flutter/packages/flutter/lib/src/widgets/framework.dart:160:36: Context: This isn't a type.
abstract class GlobalKey<T extends State> extends Key {
^^^^^
/c:/src/flutter/packages/flutter/lib/src/widgets/framework.dart:212:34: Error: 'State' isn't a type.
class LabeledGlobalKey<T extends State> extends GlobalKey {
^^^^^
/c:/src/flutter/packages/flutter/lib/src/widgets/framework.dart:212:34: Context: This isn't a type.
class LabeledGlobalKey<T extends State> extends GlobalKey {
^^^^^
/c:/src/flutter/packages/flutter/lib/src/widgets/framework.dart:254:33: Error: 'State' isn't a type.
class GlobalObjectKey<T extends State> extends GlobalKey {
^^^^^
/c:/src/flutter/packages/flutter/lib/src/widgets/framework.dart:254:33: Context: This isn't a type.
class GlobalObjectKey<T extends State> extends GlobalKey {
^^^^^
/c:/src/flutter/packages/flutter/lib/src/widgets/framework.dart:810:3: Error: 'State' isn't a type.
State createState();
^^^^^
/c:/src/flutter/packages/flutter/lib/src/widgets/framework.dart:810:3: Context: This isn't a type.
State createState();
^^^^^
/c:/src/flutter/packages/flutter/lib/src/widgets/framework.dart:916:16: Error: 'Object with Diagnosticable' isn't a type.
abstract class State with Diagnosticable {}
^
/c:/src/flutter/packages/flutter/lib/src/widgets/framework.dart:916:16: Context: This isn't a type.
abstract class State with Diagnosticable {}
^
/c:/src/flutter/packages/flutter/lib/src/widgets/framework.dart:928:16: Error: 'Object with Diagnosticable' isn't a type.
abstract class State with Diagnosticable {
^
/c:/src/flutter/packages/flutter/lib/src/widgets/framework.dart:928:16: Context: This isn't a type.
abstract class State with Diagnosticable {
^
/c:/src/flutter/packages/flutter/lib/src/widgets/framework.dart:2531:40: Error: 'State' isn't a type.
T? findAncestorStateOfType();
^^^^^
/c:/src/flutter/packages/flutter/lib/src/widgets/framework.dart:2531:40: Context: This isn't a type.
T? findAncestorStateOfType();
^^^^^
/c:/src/flutter/packages/flutter/lib/src/widgets/framework.dart:2544:44: Error: 'State' isn't a type.
T? findRootAncestorStateOfType();
^^^^^
/c:/src/flutter/packages/flutter/lib/src/widgets/framework.dart:2544:44: Context: This isn't a type.
T? findRootAncestorStateOfType();
^^^^^
/c:/src/flutter/packages/flutter/lib/src/widgets/framework.dart:4986:40: Error: 'State' isn't a type.
T? findAncestorStateOfType<T extends State>() {
^^^^^
/c:/src/flutter/packages/flutter/lib/src/widgets/framework.dart:4986:40: Context: This isn't a type.
T? findAncestorStateOfType<T extends State>() {
^^^^^
/c:/src/flutter/packages/flutter/lib/src/widgets/framework.dart:5000:44: Error: 'State' isn't a type.
T? findRootAncestorStateOfType<T extends State>() {
^^^^^
/c:/src/flutter/packages/flutter/lib/src/widgets/framework.dart:5000:44: Context: This isn't a type.
T? findRootAncestorStateOfType<T extends State>() {
^^^^^
/c:/src/flutter/packages/flutter/lib/src/widgets/framework.dart:5781:3: Error: 'State' isn't a type.
State get state => _state!;
^^^^^
/c:/src/flutter/packages/flutter/lib/src/widgets/framework.dart:5781:3: Context: This isn't a type.
State get state => _state!;
^^^^^
/c:/src/flutter/packages/flutter/lib/src/widgets/framework.dart:5782:3: Error: 'State' isn't a type.
State? _state;
^^^^^
/c:/src/flutter/packages/flutter/lib/src/widgets/framework.dart:5782:3: Context: This isn't a type.
State? _state;
^^^^^
Unhandled exception:
Crash when compiling:
Null check operator used on a null value
#0      SourceClassBuilder.buildAliasedTypeArguments. (package:front_end/src/fasta/source/source_class_builder.dart:436)
#1      new _GrowableList.generate (dart:core-patch/growable_array.dart:136)
#2      SourceClassBuilder.buildAliasedTypeArguments (package:front_end/src/fasta/source/source_class_builder.dart:433)
#3      ClassBuilderImpl.buildAliasedType (package:front_end/src/fasta/builder/class_builder.dart:348)
#4      NamedTypeBuilderImpl._buildAliasedInternal (package:front_end/src/fasta/builder/named_type_builder.dart:490)
#5      NamedTypeBuilderImpl._buildInternal (package:front_end/src/fasta/builder/named_type_builder.dart:437)
#6      _ExplicitNamedTypeBuilder.build (package:front_end/src/fasta/builder/named_type_builder.dart:767)
#7      NominalVariableBuilder.finish (package:front_end/src/fasta/builder/type_variable_builder.dart:382)
#8      SourceLoader.finishTypeVariables (package:front_end/src/fasta/source/source_loader.dart:1877)
#9      KernelTarget.buildOutlines. (package:front_end/src/fasta/kernel/kernel_target.dart:438)

#10     withCrashReporting (package:front_end/src/fasta/crash.dart:133)

#11     KernelTarget.buildOutlines (package:front_end/src/fasta/kernel/kernel_target.dart:385)

#12     IncrementalCompiler.computeDelta. (package:front_end/src/fasta/incremental_compiler.dart:366)

#13     CompilerContext.clear (package:front_end/src/fasta/compiler_context.dart:139)

#14     IncrementalCompiler.compile (package:vm/incremental_compiler.dart:77)

#15     FrontendCompiler.compile (package:frontend_server/frontend_server.dart:610)

#16     listenAndCompile. (package:frontend_server/frontend_server.dart:1303)

Failed to compile application.
Exited (1).

Version: 1.87.2 (user setup)
Commit: 863d2581ecda6849923a2118d93a088b0745d9d6
Date: 2024-03-08T15:20:17.278Z
Electron: 27.3.2
ElectronBuildId: 26836302
Chromium: 118.0.5993.159
Node.js: 18.17.1
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 6.0.6002

Sounds like maybe this is an issue for the Dart extension


Adding SRV support for MongoDB

This will enable MongoDB Atlas mongodb+srv:// URLs to be used without specifying the single servers, therefore being able to change and scale any MongoDB cluster without affecting any client.

Guess Node 0.10 doesn't really matter, does it?

Well it does, but the error comes from a completely different place (  aws-sdk ), how did the tests pass up until now?
I mean you have changed nothing in the aws-sdk setup in this commit.

It’s because of >=
Perhaps aws-sdk dropped compatibility?

Btw. Can’t this be achieved by simply setting the options.url ?

@adrai seems the only difference is the +srv on the protocol side, as such it should be totally achievable with url option.

Holy smokes, I didn't see the url option up until now, although it was right in my face. Just tested, works fine with that if I set the full URL myself. Another difference is that the MongoClient won't accept a port though and will throw, but that is fine when setting the url myself.


Compspec storage revision

Issue
Compspecs can differ between the computation repository and the currently canonical seed/data directory in the api, leading to issues of consistency and changes between a the api spec and docker image and the repository's spec and Dockerfile.
Proposal
The proposed solution is to have the computation repositories always be the most up to date 'production' compspec and have all computation addition be done through coinstac-simulator's upload tool. This would also include removing computations from the seed/data directory as the source of computation data for the database.
To facilitate local development a few changes are proposed:

dev seed data for computations will pull the current list from the production api
to allow local development and dev server changes for in progress compspecs you can still put a spec in the seed/data dir and it will overwrite any production spec that corresponds when provisioning a db. though any specs in the dir will be .gitignore'd

I'm still wrapping my head around this, but will this allow us to move away from working with flat files on the file system too? I always thought that was odd.

So, the files themselves (the 'compspec's) should have their canonical versions in the repository of the computation they are specifying. We have however just been tossing them in a directory as seed data because its been convenient/how its been, this will do away with that, but still allow you to place a file there for the npm run devdata tool to place in a database, which is solely for development database provisioning.
In production these exist in the computation collection in mongo


update grammar

this is a very large pr that fixes a lot of issues with the parser. i know prs like these are discouraged. but since tree-sitter-nu is still in WIP status, i think it doesn't do much harm
changes

tests - i added a sort of skeleton test suite that maybe expanded later

item termination - now items (statements and declarations) are terminated by newlines, semicolons or both. this makes it easier to deal with precedence

keywords with flags - keyword nodes like do and for that have flags are now parsed correctly

use of unquoted instead of identifier - previously arguments to source and register were parsed as identifiers and this was very limiting. so now we parse them as unquoted strings. this means we accumulate anything up to a whitespace

scope pattern - use and hide now had a left precedence which led to the scope pattern not being parsed correctly

use   file.nu     cmd
-^-   ---^---     -^-
 kw    module      ╰──  anything after the module is a scope pattern
                        and was previously parsed as the start of a pipeline

where - the where used to only expect a binary expression but now the rhs is optional to cater for this case

ls | where $pred

cell-paths - now parenthesized expressions can take cellpaths

let span = (metadata $x).span
           -------^----  --^--
           parenthesized   ╰──── a cellpath
             expression

also cell-paths with numbers can now be parsed, solving the 3rd issue

inbuilt variables - $in, $nu, $env and $nothing are now parsed specially to enhance syntax highlighting

unquoted string regex - to improve parsing of unquoted strings, their regex pattern has been updated to separate them from flags and variables. this partially solves the 4th issue

module - the module keyword is now parsed along with its new exported form

module foo {}
export module foo {}

syntax-highlighting - queries have been added for

binary operators of the where argument's binary expression
dates
the : key-value separator in records
enhanced parameter types and annotations

decls in closures - declarations (top level items are now parsed in closures)

short flags - short flags are now parsed as short flags as opposed to strings previously

some-cmd -f
          ╰──── was previously parsed as a string

... probably other minor changes

I think this is a great step forward. I especially like the corpus tests. When I originally started tree-sitter-nu I was always doing tests like this. It's really one of the few ways to make sure you don't break something else because at times the grammar can be quite delicate and fragile.
We do want to keep PRs smaller but while we're in the early stages, trying to figure everything out still, this is probably ok for now.  Good work!

Unrelated but at some point I'd like to see some general instructions on how to contribute and test. Not necessarily a complete contributing guide, but in my original readme, I laid out a few steps on where to make changes, how to validate those changes worked, etc.

Your ts.nu may have a bug too. I get this
use ts.nu *
Error: nu::parser::variable_not_found

  × Variable not found.
    ╭─[/Users/fdncred/src/tree-sitter-nu/ts.nu:36:1]
 36 │     if $debug {
 37 │         tree-sitter parse $file -d
    ·                           ──┬──
    ·                             ╰── variable not found.
 38 │     } else if $stat {
    ╰────

Unrelated but at some point I'd like to see some general instructions on how to contribute and test. Not necessarily a complete contributing guide, but in my original readme, I laid out a few steps on where to make changes, how to validate those changes worked, etc.

@fdncred, i am actually writing a CONTRIBUTING.md where i will give all these instructions.

Thanks. I plastered in my rough notes from the original readme into the new one. Feel free to modify that.


Support more themes

We now support both of the core themes and all the bootswatch themes. Closing.


Flash doesn't work in Scan in preview option

Hi,
I noticed that the flash wasn't working when I used the scan in preview from the example

Never mind
Figured it out 👍

hi! how is your solution? i meet the same problem

Hi,
What I did was add a target for the toggle torch button like this
""" qrCodeReaderView?.toggleTorchButton?.addTarget(self, action: #selector(toggleTorch), for: .touchUpInside) """
And then used my own method for flash
""" extension QRCodeScanViewController {
@objc func toggleTorch() {
    isTorchLightOn = !isTorchLightOn

    guard let device = AVCaptureDevice.default(for: AVMediaType.video)
        else {return}

    if device.hasTorch {
        do {
            try device.lockForConfiguration()

            if isTorchLightOn == true {
                device.torchMode = .on
            } else {
                device.torchMode = .off
            }

            device.unlockForConfiguration()
        } catch {
            print("Torch could not be used")
        }
    } else {
        print("Torch is not available")
    }
}

} """

From: Sopheak0<EMAIL_ADDRESS>Sent: Monday, December 17, 2018 7:41 AM
To: yannickl/QRCodeReader.swift
Cc: j8055; State change
Subject: Re: [yannickl/QRCodeReader.swift] Flash doesn't work in Scan in preview option (#151)
hi! how is your solution? i meet the same problem
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHubhttps://github.com/yannickl/QRCodeReader.swift/issues/151#issuecomment-447713806, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AnF2aMzKw3_Mt4x1wDxBNbtPy4qxDWziks5u5xKGgaJpZM4W2Y3h.


feat: add integration job names

Shorter names.

@canvural Do you like  E2E / Test with canvural/larastan-test on PHP 8.1?


./detect_variants/merge.cwl moved to new directory added dockerRequirement

We may want to rename this something like merge_vcf for clarity

@susannasiebert @tmooney @johnegarza updated the name of the file as you guys suggested


Hides extra stuff

Plugin Version
1.1.0
Obsidian Version
0.15.9
Affected Platforms
Windows
Expected Behaviour
Not hide this
Actual Behaviour

Steps to Reproduce
I just started the plugin and found that it is very good at hiding.... even stuff that it shouldn't

Thanks for the report, what theme are you using? And do you have any other plugins that change the file explorer? (so that I can properly emulate what you're experiencing)

I first noticed this behavior after installing "Custom Attachment Location", though it might just be that that created more levels of subfolders that I was poking through. I turned all plugins off to see what was really interfering, and it's definitely "Custom File Explorer sorting".
Just in case it makes a difference:
Plugin version: 1.1.1
Obsidian version: 1.1.16
Platform: Mac OS 13.2.1 (22D68)


Non English Support

please add support for non English subtitle.

@indrasa The package already supports the 'languageCode' parameter to change the language


Create GetOlderActions and GetNewerActions Auth commands

Part of the Comment Linking project
Main issue: https://github.com/Expensify/App/issues/20282
Doc section: https://github.com/Expensify/App/issues/20282
Project: https://github.com/orgs/Expensify/projects/62/views/1

Create two new Auth commands:

GetOlderActions
GetNewerActions

Each command should take the following parameters:

int reportID
int reportActionID

and return a page of 50 reportActions on the report older or newer than the given reportAction w/ the given reportActionID.
Manual Test Steps
None for now
Automated Tests
We should create automated tests for these Auth commands.
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01ea4951b804e3dc03
Upwork Job ID:<PHONE_NUMBER>506129920
Last Price Increase: 2023-07-19

This is back-end only.

Was thinking that this needs to be on HOLD for https://github.com/Expensify/Auth/pull/8345, but I guess not actually

I can dig into this one.

Started looking into this a bit here: https://github.com/Expensify/Auth/pull/8412/files
Gonna do the "get older" one first since that closely resembles what we already do in NewDot. And then follow up with the GetNewerActions (which I'm not sure if there are any existing queries for).
One question I have is whether we will have to support "public reports" or not. These APIs have changed a bit since I last worked on them. But, I'd assume the answer to that question would be... yes. Mostly asking since the closest thing we have to a GetOlderActions is probably ReadOldestAction and I noticed we are including the personal details here for some reason.

I think for now we don't need to worry about public reports (but might need to in a follow up). I looked at the code and we should still be calling OpenReport when it's a public report so I'd presume the user will:

First call OpenReport
After, have an authToken that can be used to get the action list via GetNewerActions or GetOlderActions

@marcochavezf I see you implemented some of those changes in OpenReport so I'm curious if you know the answer to that question or can think of anything else we might need to return with these actions when we start paginating them in this new style?

PR for this is ready-ish. I am not sure what else to add to it for now and it looks like it's working correctly.

and return a page of 50 reportActions on the report older or newer than the given reportAction w/ the given reportActionID.

@roryabraham does it matter if this is inclusive or exclusive i.e. the reportActionID should be returned with the page? IMO I think it should be inclusive otherwise the API could return nothing at all (which is maybe a bit weird).

I think for now we don't need to worry about public reports (but might need to in a follow up). I looked at the code and we should still be calling OpenReport when it's a public report so I'd presume the user will:

First call OpenReport
After, have an authToken that can be used to get the action list via GetNewerActions or GetOlderActions

@marcochavezf I see you implemented some of those changes in OpenReport so I'm curious if you know the answer to that question or can think of anything else we might need to return with these actions when we start paginating them in this new style?

For public rooms, we call OpenReport to check if the report is public to then send the authToken and credentials to the user (which is the important data), so they can log in as a regular user (call the same API commands, etc.) but with the restricted anonymous authToken type.
So I think when an unauthenticated user opens a public room, we can do the pagination as a regular user right after the authToken is sent to the app. And probably, we could ignore the public report data in the initial OpenReport call.

For public rooms, we call OpenReport to check if the report is public to then send the authToken and credentials to the user (which is the important data in this action), so they can log in as a regular user (call the same API commands, etc.) but with the restricted anonymous authToken type.

👍  awesome thanks for the explanation

So I think when an unauthenticated user opens a public room, we can do the pagination as a regular user right after the authToken is sent to the app.

👍

probably, we could ignore the public report data in the initial OpenReport call.

Not sure if I got the meaning of this part. Which data would we ignore and why?

Linked PR for this is deployed now. I need to take the Web-E PR off hold now. But that has a different issue so I'll leave updates there!


DurableClientContext.createCheckStatusResponse status code

Hi,
I have a project which invokes a durable function from a logic app (through a http handler), and when using this approach against a durable function written in C# the logic app Asynchronous Pattern processing is able to poll the status because the orchestrator code returns a response with status code set to 202 (see doc https://learn.microsoft.com/en-us/dotnet/api/microsoft.azure.webjobs.extensions.durabletask.idurableorchestrationclient.createcheckstatusresponse?view=azure-dotnet#microsoft-azure-webjobs-extensions-durabletask-idurableorchestrationclient-createcheckstatusresponse(system-net-http-httprequestmessage-system-string-system-boolean)).
Returns
[HttpResponseMessage](https://learn.microsoft.com/en-us/dotnet/api/system.net.http.httpresponsemessage)
An HTTP 202 response with a Location header and a payload containing instance control URLs.

However when the logic app is pointed towards a durable function written in Java, the DurableClientContext.createCheckStatusResponse is returning a response with a status code of 201 (https://github.com/microsoft/durabletask-java/blob/6fd01c1cc5e1bedf384ae908d0d0a10797432871/azurefunctions/src/main/java/com/microsoft/durabletask/azurefunctions/DurableClientContext.java#L74) which means the logic app doesn't poll for progress and immediately continues.
My query was should this function be returning the status code set as 202 to be consistent with the .NET sdk?

Yes, I think this is a bug. This should be returning a 202, not a 201.


[Issue/current develop-Branche] chatroom_actions & Read Receipt don't work

Rocket.Chat.Android version: (Develop)
Rocket.Chat Server version: (0.66.0-rc0)
Chatroom Action's don't work in my own compile :( is this an issue from my GIT Repo or a knowing bug ?
Update:
I created a clean GIT Branch with the current origin/develop without success, the Read Receipt don't work & the Action switching to Members/Files and so on.... are empty aka Listview or so....

Thanks for opening this one!
I'll assume that the read receipts setting is enabled for your server, so can you explain exactly what's happening? The checkmark is not showing at all or it's just no showing the read state?


new typings for variants

This PR adds new typings for variants.
It involves refactoring the DefaultFrameMixin interface, as component sets should have many of the default frame properties, but should not have some of the other properties (i.e. prototyping-related properties + reactions).
This PR also adds a PublishableMixin to unify the publishing-related properties on components, component sets, and styles.

🎉

nice 👍


Fix KML callout

Background
In U11, core introduced a condition to return an empty string for the balloons/KML nodes that doesn't have description or extended data. The data source in the Identify KML features doesn't provide a description for each significant weather condition, thus empty balloons are displayed in the callout.
Before: the popup for any feature in the map is empty
After: the popup should show HTML content
Fix
If description is absent for a placemark, add a placeholder so that the content of the balloon can be displayed.

I changed the width from 400 to 300 because, for whatever reason, if the callout is only one line there's a blue bar that appears below it.


Installation Issue

Please provide the prefix of the libmosquitto installation [autodetect] :
what should I provide here? Tried different things, same result finally as follows
.........
checking for mosquitto files in default path... not found
configure: error: Please reinstall the mosquitto distribution
ERROR: `/var/tmp/Mosquitto/configure --with-mosquitto=xyz failed

I met the same issue, may be your mosquitto installed from yum,then the libmosquitto.so.1 may not installed.
You can try to install it from source code, and after finish installation ,you should create soft link such as  "ln -s /usr/local/lib/libmosquitto.so.1 /usr/lib/libmosquitto.so.1"
Hope It can help someone others

I'm having the same problem...
I'm installing using yum and I found libmosquitto.so.1 in /usr/lib64/libmosquitto.so.1
I soft linked it
ln -s /usr/lib64/libmosquitto.so.1 /usr/lib/libmosquitto.so.1
Next, I ran pecl install Mosquitto-alpha
But, I'm still getting the same error....

Same error here. I'm trying to install on Raspberry Pi running Debian Raspbian Wheezy. Here is the full install output:
pi@emonpi:/var/www/emoncms/scripts $ sudo pecl install Mosquitto-alpha
#downloading Mosquitto-0.3.0.tgz ...
Starting to download Mosquitto-0.3.0.tgz (25,395 bytes)
.........done: 25,395 bytes
5 source files, building
running: phpize
Configuring for:
PHP Api Version:         20131106
Zend Module Api No:      20131226
Zend Extension Api No:   220131226
Please provide the prefix of the libmosquitto installation [autodetect] :
building in /tmp/pear/temp/pear-build-rootWBU1sN/Mosquitto-0.3.0
running: /tmp/pear/temp/Mosquitto/configure --with-php-config=/usr/bin/php-config --with-mosquitto=#
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for a sed that does not truncate output... /bin/sed
checking for cc... cc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether cc accepts -g... yes
checking for cc option to accept ISO C89... none needed
checking how to run the C preprocessor... cc -E
checking for icc... no
checking for suncc... no
checking whether cc understands -c and -o together... yes
checking for system library directory... lib
checking if compiler supports -R... yes
checking build system type... armv6l-unknown-linux-gnueabihf
checking host system type... armv6l-unknown-linux-gnueabihf
checking target system type... armv6l-unknown-linux-gnueabihf
checking for PHP prefix... /usr
checking for PHP includes... -I/usr/include/php5 -I/usr/include/php5/main -I/usr/include/php5/TSRM -I/usr/include/php5/Zend -I/usr/include/php5/ext -I/usr/include/php5/ext/date/lib -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
checking for PHP extension directory... /usr/lib/php5/20131226
checking for PHP installed headers prefix... /usr/include/php5
checking if debug is enabled... no
checking if zts is enabled... no
checking for re2c... no
configure: WARNING: You will need re2c 0.13.4 or later if you want to regenerate PHP parsers.
checking for gawk... no
checking for nawk... nawk
checking if nawk is broken... no
checking for mosquitto support... yes, shared
checking for mosquitto files in default path... not found
configure: error: Please reinstall the mosquitto distribution
ERROR: `/tmp/pear/temp/Mosquitto/configure --with-php-config=/usr/bin/php-config --with-mosquitto=#' failed

Have you got the libmosquitto1-dev package installed as well?

No, libmosquitto1-dev does not seem to be in Debian or Ubuntu packages?

Great. I might add it to the README!

Should this be added to the install readme?

I've just done so: https://github.com/mgdm/Mosquitto-PHP#installation

I'm having the same problem...
I'm installing using rpm ,install libmosquitto1 and  libmosquitto-devel


Grafana 5.1 breaks legend

I believe the 5.1 update breaks the legend for the Discrete Panel.  Here is a screenshot of what is happening:

yup, 5.1 broke things.  Fixed in master and will release soon


Iterate using for in instead of Object.keys and minor fixes

Even though this code has no impact on the overall performance of the application for in is faster in modern browsers (https://jsperf.com/object-keys-vs-for-in-with-closure/138).
I propose this change only as readability improvement.

Not a huge deal, but why not. Thanks!


Possibility to add a hyper field to a row cell

What are you trying to do?
It would be very handy to have the option to add a hyper field to a row cell. I had the exact use case for using this plugin, but there is one thing I am kinda stuck with to make this easy customisable by our client.
This way I can select an asset field or other types of links.
What I need to have

The table I can create

I know the cell with text download should be a link, but it is just to visualise what I want 😉
What's your proposed solution?
Adding the option for a hyper field when the plugin is installed.
Or an asset field for my usecase
Additional context
No response

Having complex cells like this (and rich text) is probably out of the realm of this plugin, at least without some major refactoring. Firstly, the UI is a challenge - how do we fit things in a small table cell? Secondly will be how we store content. Like the Craft Table field which isn't relational, we would have to change our handling into more like Super Table.
It's something lots of people want, but it's a bit of a challenge at the moment!

Oh well I really understand that, certainly for the hyper side since it is a field that can be very advanced.
At least an asset field could really help the problem I have, but I'll look into another solution for this case.
Thx for the quick reply!


Add custom style to DoneButton, SkipButton, RenderDots

Be able to add custom styles to these components, like fontFamily, fontSize, dotSize, dotContainer, btnContainer, btnSkipContainer...

Hi, thanks for the proposal.
Yes I think it might be a good idea to improve customization.
At the moment I have no plans to work on it but certainly an interesting thing to add to the project.
If nobody does it I will probably work on it

Nice, I will see if I find a spare time to work on this for you.


Added support for Story Audience tag in Item

Hi, I was working on Instagram's Stories and I noticed that there is no way to detect whenever a story is pubblished only to close friends: So I dumped the JSON Response and added the audience tag to the Item struct. I also added the StoryCloseFriends method on the Item struct.

Hi, welcome to goinsta's contributors :).


Default flask template does not include init.py and views.py

As in subject.
File -> New -> Project -> Flask Web Project.
It does not have those files which seems to be required.
Visual STudio Enterprise 2015
V 14.0.25425.01 Update 3
Python Tools for VS 2.2.40623.00

I think this may already be fixed for our next update, and we're unlikely to release another update for VS 2015 to fix this.

I verified that the templates for VS 2017 are ok.