Where to host BSSw process/workflow documentation

How do we manage the BSSw process/workflow documentation?

Considerations:

Generation and maintenance of TOC
Privacy of the workflow documentation
Overhead/complexity
Markdown only?

@markcmiller86 and I discussed 5 different options:

Option-1: Keep it in man bssw repo
Option-2: Use the the wiki (but not PR support)
Option-3: Use a separate repo for the wiki (e.g. https://github.com/betterscientificsoftware/betterscientificsoftware.github.io-wiki) where the main wiki edit is disabled and one-way syncs
Option-4: Use as separate github pages github repo and github.io site
Option-5: Use a separate github repo for read-the-docs

@betterscientificsoftware/editorial-board,
FYI: We created this issue to discuss the options for managing the process and workflow documentation for contributing and editing content that will be published on https://bssw.io

From @rinkug via email:

Here is the readthedocs page that I liked: https://joss.readthedocs.io/en/latest/ : but only if it fits our discussed requirements..

Here is info on option-3 above of using a GitHub repo with PRs to mange the wiki:

https://stackoverflow.com/questions/10642928/how-to-pull-request-a-wiki-page-on-github

But it looks like that project (Taffy) switched to using GitHub pages instead of the GitHub wiki as shown at:

https://github.com/atuttle/Taffy#documentation

Perhaps that tells us something?

@bartlettroscoe can you please review initial comment which I have now revised and add your two cents.
I would be happy to demo option 4 to team with existing doc set on @rinkug branch to give everyone an idea of how it would work, including even simple password protection of some of the docs there.

It sounds like option 4 might be a good idea. I'd like to see a demo although next week I can't be at our normal meeting. We are doing some local carpentries tutorials.

@bartlettroscoe can you please review initial comment which I have now revised and add your two cents.

@markcmiller86, I added my scoring.  Thanks for setting up that table.

I just realized that you could allow option-3 of using the GitHub wiki where you could directly edit the wiki on the main site https://github.com/betterscientificsoftware/betterscientificsoftware.github.io with no review (to fix minor typos or other issues) and also use the PR mechanism in the separate repo https://github.com/betterscientificsoftware/betterscientificsoftware.github.io-wiki.  You can set up two-way syncs and you would never see a merge conflict in these syncs if they were fast.  The only conflicts you would get is for open PR is the separate repo https://github.com/betterscientificsoftware/betterscientificsoftware.github.io-wiki.  That could be pretty attractive.
It would be easy to demo this (in a separate set of GitHub repos).

@betterscientificsoftware/editorial-board and @rinkug in particular...
I have set up a throw-away repo to demonstrate option 4, above. It has several of the features you want...

An Edit this Page button
Automated table of contents (on left) and automated breadcrums (top, yellow bar, far left)
Minimal overhead/complexity: Uses all Markdown and nothing else which I think is wholly sufficient for our needs.

While I like Sphinx and reStructuredText, I believe these technologies are wholly unnecessary for our needs.
Overhead or any EB member is essentially zero. If you know markdown and github, you know all you need to know.

PR process for major changes done in the repository (see below) just like any GitHub repo.
Browsing the documenation is as simple as visiting the site (see below)
We can make the repository private if we wish though the site will still be public. However, my demo demonstrates the use of a simple sha256 scheme to password protect a sub-tree of the site.
Change request process is simple too (e.g. submit issue here or submit PR) though for non-EB members, if we make repo private...that would prevent this.

To browse the hosted documents on the site, go here https://betterscientificsoftware.github.io/bssw-eb-docs/
To see the repository where you can edit (and browse) the documents, go here, https://github.com/betterscientificsoftware/bssw-eb-docs

It turns out I have to miss this week's meeting on June 11. So, if anyone wants more info about my demo of option 4, please feel free to email or call me this week.

> * **Overhead**/complexity for EB members to update docs.

> ### @markcmiller86 scoring
> Option	TOC	Overhead	PRs	Browse	Privacy	Change	Score
> 1	0	0	1	1	0	0	2
> 2	1	1	0	1	0	0	3
> 3	1	0	0	1	1	0	3
> 4	1	1	1	1	1	0	5
> 5	1	0	1	1	0	0	3

In scoring tables below, 1 means requirement is handled sufficiently and 0 means requirement is not handled sufficiently.

[Rinku] For overhead, what is the meaning of "1" and "0"?  If 1 means requirement is handled sufficiently, then does 1 mean "no overhead"?

For overhead, what is the meaning of "1" and "0"? If 1 means requirement is handled sufficiently, then does 1 mean "no overhead"?

Yes. In all cases, higher score is better.

FYI: For option-3, I believe we can allow the wiki "Edit" button to stay active on:

https://github.com/betterscientificsoftware/betterscientificsoftware.github.io/wiki

and also allow PRs to edit the wiki in the separate repo:

https://github.com/betterscientificsoftware/betterscientificsoftware.github.io-wiki

You just set up two-way syncs (which I think will be easy to set up with GitHub Actions from what I saw recently).
The reason this will work is that conflicts are automatically flagged by GitHub in the following situation:

Someone clicks the "Edit" button on the main wiki (off the 'master' branch in the repo https://github.com/<org>/<repo>.wiki) and starts to edit text.

Someone pushes a change to the 'master' branch to the main wiki repo (https://github.com/<org>/<repo>.wiki) to the the same page the conflicts with the change being made in 1).

The open wiki edit window from 1) displays the warning "Someone has edited the wiki since you started. Please reload this page and re-apply your changes." and the "Save Page" button is disabled as shown in the screenshot below.

I think this is quite reasonable.
And any conflicts that occur in the separate github wiki repo in PRs will be manged just like any PR conflict (i.e. you merge 'master' into the topic branch and resolve the conflicts).
What is nice about this is that small edits to fix typos or other very small changes that need to be made can be made right on the main GitHub repo wiki site with a single click of the button "Edit", change the text, and click "Save Page".  (That is the power of a wiki.  The overhead to make changes to it is about zero so people will actually fix small typos they see while reading text there.)
So I think you can have the best of both worlds with an approach like this.
And the advantage if the GitHub wiki is that the formatting is very simple so what you see in the GitHub file view of a Markdown *.md page is about exactly the formatting you will see on the published wiki site.  (That is not true for GitHub Pages representation of Markdown using Jekyll.)

Lets Make a Decision on Privacy Requirement
We chatted further about this in today's meeting. The issue of privacy came up...not so much about the documents themselves but about issue-dialog relating to them. It would be convenient to be able to engage in private dialog whilst still hosting the documents publicly.
But, none of the options considered here allow us to have publicly browseable documentation from a private repo. GH-pages doesn't support that and I've read that neither does ReadTheDocs. I don't think any of us really care if the editorial board and process documents are publicly browseable or not. I think we agree that public is probably a little better because it makes us and our processes more transparent.
But, if we really want our issue dialog to be private, then we need the repo to be private too. In which case, the only reasonable remaining option is 3 or to just browse as native markdown via any browser's GitHub interface.
Please vote by checking either your YES (you do think privacy is a requirement) or NO (you DO NOT THINK privacy is a requirement)

[ ] @rinkug - YES
[ ] @rinkug - NO
[ ] @bartlettroscoe - YES
[ ] @bartlettroscoe - NO
[ ] @pagrubel - YES
[ ] @pagrubel - NO
[ ] @markcmiller86 - YES
[ ] @markcmiller86 - NO
[ ] @curfman - YES
[ ] @curfman - NO
[ ] @prwolfe - YES
[ ] @prwolfe - NO
[ ] @bernhold - YES
[ ] @bernhold - NO
[ ] @JeanShuler - YES
[ ] @JeanShuler - NO

Migration of Existing Docs and Issues from Current Repo
@bartlettroscoe ... we came up with the crazy idea that when moving our process docs to a new repo, what we should really do is initially make a copy (or fork or import??? I dunno the correct GitHub operation) of original repo and then immediately delete from that repo all the stuff we don't want. That will have the benefit of leaving there only the process docs that we really want and it will maintain their history, etc.
So, the question for you is, how do we do that? If we fork, don't we wind up maintaining a loose connection to the upstream or can we explicitly break that connection? Can we maintain the history of the docs we plan to keep if we do not fork?
The issues can be migrated separately, once the new repo is in place. However, I don't know of any bulk migration. The only means I've found of doing this is one-at-a-time via the GitHub browser interface Transfer issue... feature (lower right column). So, we'll need a group of several of us to all be assigned a subset of issues to migrate and then we each migrate our set of issues to the new repo. I think the only potential problem with issue migration is #XXX style links that refer to issues or PRs from the original repo. However, if we migrate the docs by forking (or some other mechanism that maintains original history), then PR refs will work and I think only issue refs will break.

Lets Make a Decision on Privacy Requirement

I would love to have private conversations; but not at the cost of choosing options (such as #3) that do not work for us. So, I marked NO.

Obviously I wasn't able to participate in this discussion.  I am surprised by this question.  What are the privacy concerns about the processes by which we operate as an Editorial Board, and/or the style guides for the site? We've agreed to work in public (the Content Board).  Indeed, the only thing about BSSw that is not open to the public is the blog solicitation process and we've discussed that thoroughly.  I'm happy to have a phone/VTC chat if that's quicker than typing.

@bernhold how about just check the NO option next to your name, above?

we came up with the crazy idea that when moving our process docs to a new repo, what we should really do is initially make a copy (or fork or import???

@markcmiller86, just to be clear, would the documents in the repo be deleted then?

@markcmiller86, just to be clear, would the documents in the repo be deleted then?

Yes and no. We'd delete all the BSSw.io content documents leaving behind only the editorial board process docs. Those are the ones this new repo is for. Then, we'd reorganize them in the new repo as needed and we're done with the migration.

We'd delete all the BSSw.io content documents leaving behind only the editorial board process docs. Those are the ones this new repo is for.

To avoid confusion, I would run git filter or bfg to remove the history for the BSSw.io content documents for the new git repo.  If the documents were well organized, that is pretty easy.  That gives a nice new git repo with all of the history for the remaining files.

Ok, sounds good. But, do we start from a fork, a copy, an import??? If a fork, is there a way to break upstream connection. We wouldn't want it.

But, do we start from a fork, a copy, an import???

@markcmiller86 don't fork that GitHub repo.  That would be a disaster.  Just clone it locally and then set up a new github repo to push this it it.  If you are not clear how to do that, it takes less than 5 mins from start to finish.

Ok, so I think I understand that. Maybe something like this...
Create new, empty repo on GitHub. Lets call it bssw-foo-bar.
git clone git@github.com:betterscientificsoftware/betterscientificsoftware.github.io.git
git remote remove origin
git remote add origin git@github.com:betterscientificsoftware/bssw-foo-bar.git
git push

Yup, with the minor change:
git clone git@github.com:betterscientificsoftware/betterscientificsoftware.github.io.git
git remote remove origin
git remote add origin git@github.com:betterscientificsoftware/bssw-foo-bar.git
git push -u origin HEAD

Don't know if a raw git push will work.

Ok, completed those steps and am playing with bfg now.

For a repo this small git filter will work fast enough and is more flexible.   On large git repos git filter is to slow to be usable.  To use bfg you have to have Java installed which is kind of a pain.

That may be so, but...
% git help filter
No manual entry for gitfilter

And, Java is on my machine and I've already downloaded the jar file so that...
% mv ~/Downloads/bfg-1.13.0.jar .
% ln -s bfg-1.13.0.jar bfg.jar
% java -jar bfg.jar --help
Error: Unknown option --help
bfg 1.13.0
Usage: bfg [options] [<repo>]

  -b, --strip-blobs-bigger-than <size>
                           strip blobs bigger than X (eg '128K', '1M', etc)
  -B, --strip-biggest-blobs NUM
                           strip the top NUM biggest blobs
  -bi, --strip-blobs-with-ids <blob-ids-file>
                           strip blobs with the specified Git object ids
  -D, --delete-files <glob>
                           delete files with the specified names (eg '*.class', '*.{txt,log}' - matches on file name, not path within repo)
  --delete-folders <glob>  delete folders with the specified names (eg '.svn', '*-tmp' - matches on folder name, not path within repo)
  --convert-to-git-lfs <value>
                           extract files with the specified names (eg '*.zip' or '*.mp4') into Git LFS
  -rt, --replace-text <expressions-file>
                           filter content of files, replacing matched text. Match expressions should be listed in the file, one expression per line - by default, each expression is treated as a literal, but 'regex:' & 'glob:' prefixes are supported, with '==>' to specify a replacement string other than the default of '***REMOVED***'.
  -fi, --filter-content-including <glob>
                           do file-content filtering on files that match the specified expression (eg '*.{txt,properties}')
  -fe, --filter-content-excluding <glob>
                           don't do file-content filtering on files that match the specified expression (eg '*.{xml,pdf}')
  -fs, --filter-content-size-threshold <size>
                           only do file-content filtering on files smaller than <size> (default is 1048576 bytes)
  -p, --protect-blobs-from <refs>
                           protect blobs that appear in the most recent versions of the specified refs (default is 'HEAD')
  --no-blob-protection     allow the BFG to modify even your *latest* commit. Not recommended: you should have already ensured your latest commit is clean.
  --private                treat this repo-rewrite as removing private data (for example: omit old commit ids from commit messages)
  --massive-non-file-objects-sized-up-to <size>
                           increase memory usage to handle over-size Commits, Tags, and Trees that are up to X in size (eg '10M')
  <repo>                   file path for Git repository to clean

@bartlettroscoe this is not working as desired because @rinkug updated docs are still on her branch. I am guessing it is best for her to merge those to master first. Is that right?

I am guessing it is best for her to merge those to master first. Is that right?

@markcmiller86, that, or you can create a local merge commit that merges her branch, then run git filter or bfg to filter out the files you don't want in the new git repo.

That may be so, but...

@markcmiller86, sorry, it is git filter-branch not git filter.  See:

https://manishearth.github.io/blog/2017/03/05/understanding-git-filter-branch/

@bartlettroscoe Ok, I've completed the steps you suggested, the result is bssw-eb-docs2, which we can decide what the final name should be next week. For the posterity's sake, here are the steps I used...
First, I created empty repo, bssw-eb-docs2 in betterscientificsoftware organization. Then...
# clone the original repo and cd into it
git clone git@github.com:betterscientificsoftware/betterscientificsoftware.github.io.git
cd betterscientificsoftware.github.io/

# Get rinku's docs onto master
git merge remotes/origin/rinkug-wrokflow-documentation

# resolve one conflict resulting from above merge
vi README.md
git add README.md

# Finish the merge operation
git merge --continue

# Move any releavnt top-level docs into Documentation folder
git mv WhatToContribute.md Documentation/
git mv HowToContribute.md Documentation/
cp README.md Documentation/
git add Documentation/README.md
git mv CODE_OF_CONDUCT.md Documentation/

# Locally commit all of the above changes
git commit -a -m 'move all docs to Documentation folder'

# Do a branch filter retaining only stuff in Documentation folder
git filter-branch --subdirectory-filter Documentation HEAD

# Remove connection to original repo
git remote remove origin

# Attach to new repo
git remote add origin git@github.com:betterscientificsoftware/bssw-eb-docs2.git

# Push all the changes to the new repo
git push --set-upstream origin master

Regarding the privacy question...the current vote is 5 NO. Only 3 other voters remain (@curfman, @JeanShuler, and @pagrubel) but no matter, the majority will be NO. So, this resolves the privacy question and we will not worry about keeping the new process docs repository private.
Here are steps remaining

Remove process docs from original repo
Merge GH-pages stuff in bssw-eb-docs into bssw-eb-docs2
Rename bssw-eb-docs2 to whatever we decide to name it as a team.

FYI...it looks like there are only 37 scope: site-internal labeld issues to migrate to new repo. So, step 4 shouldn't require much.


Typo "devirat" in file eeprom5.txt

shouldn't it be Derivat?

Yes. Sigh I am the king of typos.
Thank you!


Healthcheck

The healthcheck will be available at port 8080 and will report how many containers are running on the machine
It will indicate a problem as expected with an HTTP status of 404
The error will be detailed as shows in the screenshot while the healthcheck inspects all the major components that play a part in an health problem for the system.
That is either Elastic search, Kibana or Logstash are down. We also take note of the 4 major components of the system which should all be running therefore the healthcheck will also report HTTP 404 when we have a different amount of containers other than 4

Yes and yes.
In addition, the next call to the healthcheck will fail as it only asks to know which containers are live and inspects them.
Once some of the crucial ones to us is dead - it will immediately show ok: false and report http status 404


Allow rgw port to be defined by ceph-deploy

We need to set the port for the rgw.
Signed-off-by:  Owen Synge<EMAIL_ADDRESS>

lgtm, apart from adding the port to help as well


Autoconf: do not hard-code the hidapi dependency in the pkg-config file

Let autoconf generate the pkg-config file has hidapi has not the same on
the different platforms (hidapi or hidapi-libusb).
As we are working on the OpenHMD integration inside VLC media player, this is useful because our build system uses the OpenHMD pkg-config file to compile the VLC HMD plugin for all the platforms (even Windows).

Ah, I'll just need to test this. Thanks.

LGTM!

Any hope of this getting merged?

Just did a test compile and it builds, the changes looks minimal so I will merge this.


Replace srcdeps-maven-plugin with srcdeps core extension

@objectiser could you please review?

@ppalaga LGTM, but @jpkrohling  could you also take a look?

s/is anough/is enough/ on one of the commit messages
Besides that, I'm not sure we need this change, do we? As far as I can see, APM hasn't used src-deps yet and this PR is introducing it.
All in all, I'm OK with this change, specially because it benefits src-deps itself :)

@jpkrohling Ok thanks - I'm just doing a full build as jenkins wasn't triggered. If ok, I'll merge.
@ppalaga Thanks Peter.


Add custom modules in sulu admin

how to add a new modules in sulu admin ?

hello @Doum-Super we are currently working on a complete tutorial series about this topic. the first blog entry was published last week we will release the second one as soon as possible http://blog.sulu.io/how-to-develop-a-bundle-in-the-sulu-admin-1

@Doum-Super There is already an issue for that in our documentation repository: https://github.com/sulu-io/sulu-docs/issues/4, follow that if you want to stay up to date.


[Bug] Device error. Subject BasicVSR++ from GPU to NPU [RuntimeError]: modulated_deformable_im2col_impl: implementation for device xla:0 not found.

Prerequisite

[X] I have searched Issues and Discussions but cannot get the expected help.
[X] I have read the FAQ documentation but cannot get the expected help.
[X] The bug has not been fixed in the latest version (master) or latest version (1.x).

Task
I'm using the official example scripts/configs for the officially supported tasks/models/datasets.
Branch
master branch https://github.com/open-mmlab/mmediting
Environment
`[W OperatorEntry.cpp:121] Warning: Overriding a previously registered kernel for the same operator and the same dispatch key
operator: aten::_has_compatible_shallow_copy_type(Tensor self, Tensor from) -> (bool)
registered at /usr1/workspace/FPTA_Daily_Plugin_open_v1.8.1-3.0.rc3/CODE/build/aten/src/ATen/RegisterSchema.cpp:20
dispatch key: Math
previous kernel: registered at /usr1/workspace/FPTA_Daily_Plugin_open_v1.8.1-3.0.rc3/CODE/build/aten/src/ATen/RegisterMath.cpp:5686
new kernel: registered at /usr1/workspace/FPTA_Daily_Plugin_open_v1.8.1-3.0.rc3/Plugin/torch_npu/csrc/aten/ops/HasCompatibleShallowCopyType.cpp:37 (function registerKernel)
/home/test_user07/.local/lib/python3.7/site-packages/torch/utils/cpp_extension.py:3: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
import imp
/home/test_user07/mmcv/mmcv/init.py:21: UserWarning: On January 1, 2023, MMCV will release v2.0.0, in which it will remove components related to the training process and add a data transformation module. In addition, it will rename the package names mmcv to mmcv-lite and mmcv-full to mmcv. See https://github.com/open-mmlab/mmcv/blob/master/docs/en/compatibility.md for more details.
'On January 1, 2023, MMCV will release v2.0.0, in which it will remove '
fatal: not a git repository (or any parent up to mount point /)
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
sys.platform: linux
Python: 3.7.5 (default, Apr  2 2021, 18:23:54) [GCC 8.3.1 20191121 (Red Hat 8.3.1-5)]
CUDA available: False
GCC: gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-4)
PyTorch: 1.8.1+ascend.rc3
PyTorch compiling details: PyTorch built with:

GCC 7.3
C++ Version: 201402
OpenMP 201511 (a.k.a. OpenMP 4.5)
CPU capability usage: NO AVX
Build settings: BLAS_INFO=generic, BUILD_TYPE=Release, CXX_COMPILER=/opt/buildtools/gcc-7.3.0/bin/c++, CXX_FLAGS= -Wno-deprecated -fvisibility-inlines-hidden -DUSE_PTHREADPOOL -fopenmp -DNDEBUG -DUSE_PYTORCH_QNNPACK -O2 -fPIC -Wno-narrowing -Wall -Wextra -Werror=return-type -Wno-missing-field-initializers -Wno-type-limits -Wno-array-bounds -Wno-unknown-pragmas -Wno-sign-compare -Wno-unused-parameter -Wno-unused-variable -Wno-unused-function -Wno-unused-result -Wno-unused-local-typedefs -Wno-strict-overflow -Wno-strict-aliasing -Wno-error=deprecated-declarations -Wno-stringop-overflow -Wno-psabi -Wno-error=pedantic -Wno-error=redundant-decls -Wno-error=old-style-cast -fdiagnostics-color=always -faligned-new -Wno-unused-but-set-variable -Wno-maybe-uninitialized -fno-math-errno -fno-trapping-math -Werror=format -DMISSING_ARM_VST1 -DMISSING_ARM_VLD1 -Wno-stringop-overflow, LAPACK_INFO=generic, TORCH_VERSION=1.8.1, USE_CUDA=0, USE_CUDNN=OFF, USE_EIGEN_FOR_BLAS=ON, USE_EXCEPTION_PTR=1, USE_GFLAGS=OFF, USE_GLOG=OFF, USE_MKL=OFF, USE_MKLDNN=OFF, USE_MPI=OFF, USE_NCCL=OFF, USE_NNPACK=0, USE_OPENMP=ON,

TorchVision: 0.6.0a0+b68adcf
OpenCV: 4.5.4-dev
MMCV: 1.7.0
MMCV Compiler: GCC 8.5
MMCV CUDA Compiler: not available
MMEditing: 0.16.0+
`
Reproduces the problem - code sample
mmedit/api/train.py    _non_dist_train()
 change from model = MMDataParallel(model, device_ids=range(cfg.gpus)) to from mmcv.device.npu import NPUDataParallel model = NPUDataParallel(model.npu(), dim=0, device_ids=[0])
Reproduces the problem - command or script
python3.7 train.py /home/test_user07/psb/vimeo_septuplet/basicvsr_plusplus_c64n7_4x2_300k_vimeo90k_bi.py --work-dir /home/test_user07/psb/vimeo_septuplet/work-dir/ --device npu
Reproduces the problem - error message
Hello developer, I encountered the following errors during the BasicVSR++GPU migration NPU task. I hope I can get your help.
error info
Additional information
The problem that the input device reports an error is that npudataralle only has the first card, so the deviceid must be 0
deviceId set 0
The error of xla is to go to the custom operator library of mmlab
xla error
Traceback (most recent call last):
  File "train.py", line 174, in <module>
    main()
  File "train.py", line 170, in main
    meta=meta)
  File "/usr/local/python3.7.5/lib/python3.7/site-packages/mmedit-0.16.0-py3.7.egg/mmedit/apis/train.py", line 115, in train_model
    meta=meta)
  File "/usr/local/python3.7.5/lib/python3.7/site-packages/mmedit-0.16.0-py3.7.egg/mmedit/apis/train.py", line 370, in _non_dist_train
    runner.run(data_loaders, cfg.workflow, cfg.total_iters)
  File "/home/test_user07/mmcv/mmcv/runner/iter_based_runner.py", line 144, in run
    iter_runner(iter_loaders[i], **kwargs)
  File "/home/test_user07/mmcv/mmcv/runner/iter_based_runner.py", line 64, in train
    outputs = self.model.train_step(data_batch, self.optimizer, **kwargs)
  File "/home/test_user07/mmcv/mmcv/parallel/data_parallel.py", line 77, in train_step
    return self.module.train_step(*inputs[0], **kwargs[0])
  File "/usr/local/python3.7.5/lib/python3.7/site-packages/mmedit-0.16.0-py3.7.egg/mmedit/models/restorers/basicvsr.py", line 103, in train_step
    outputs = self(**data_batch, test_mode=False)
  File "/home/test_user07/.local/lib/python3.7/site-packages/torch/nn/modules/module.py", line 889, in _call_impl
    result = self.forward(*input, **kwargs)
  File "/home/test_user07/mmcv/mmcv/runner/fp16_utils.py", line 119, in new_func
    return old_func(*args, **kwargs)
  File "/usr/local/python3.7.5/lib/python3.7/site-packages/mmedit-0.16.0-py3.7.egg/mmedit/models/restorers/basic_restorer.py", line 77, in forward
    return self.forward_train(lq, gt)
  File "/usr/local/python3.7.5/lib/python3.7/site-packages/mmedit-0.16.0-py3.7.egg/mmedit/models/restorers/basic_restorer.py", line 90, in forward_train
    output = self.generator(lq)
  File "/home/test_user07/.local/lib/python3.7/site-packages/torch/nn/modules/module.py", line 889, in _call_impl
    result = self.forward(*input, **kwargs)
  File "/usr/local/python3.7.5/lib/python3.7/site-packages/mmedit-0.16.0-py3.7.egg/mmedit/models/backbones/sr_backbones/basicvsr_pp.py", line 347, in forward
    feats = self.propagate(feats, flows, module)
  File "/usr/local/python3.7.5/lib/python3.7/site-packages/mmedit-0.16.0-py3.7.egg/mmedit/models/backbones/sr_backbones/basicvsr_pp.py", line 218, in propagate
    flow_n1, flow_n2)
  File "/home/test_user07/.local/lib/python3.7/site-packages/torch/nn/modules/module.py", line 889, in _call_impl
    result = self.forward(*input, **kwargs)
  File "/usr/local/python3.7.5/lib/python3.7/site-packages/mmedit-0.16.0-py3.7.egg/mmedit/models/backbones/sr_backbones/basicvsr_pp.py", line 433, in forward
    self.deform_groups)
  File "/home/test_user07/mmcv/mmcv/ops/modulated_deform_conv.py", line 95, in forward
    with_bias=ctx.with_bias)
RuntimeError: modulated_deformable_im2col_impl: implementation for device xla:0 not found.

THPModule_npu_shutdown success.

Hey @youwowa, this seems to be an MMCV error and I'm not familiar with NPU programming.
Could you create an issue in the MMCV's repo?

Hello @LeoXing1996 , thank you for your reply.
I will create an issue in the MMCV's repo?


Hackers

The hackers are always winning so I wanna win to

Y they hackers always winnin

I wanna hack

I wanna be like faze jarvis

Go to my 1v1.yeet repository if you're here to download hacks and not learn scripting lol


#2 Initial Cropping of Viewfinder, needs more testing.

Hello, there is error in CameraSourcePreview.java at 59 row: the correct parameter of first args.optDouble method is 2, not 1
intent.putExtra("ViewFinderHeight", args.optDouble(2, .7));
Best regards

@fabiomercorillo Hello. Not a maintainer, but thanks for the PR. I was trying to crop the viewfinder as well.
One question - Does this also take care of the overlay (white rectangle) to fit to the expected cropping size?
I will try the code in the PR soon. Thanks again.


ceph-facts: set rgw_instances_all fact once

There's no need to set the rgw_instances_all fact for each node. We can
rely on run_once for that one.
Signed-off-by: Dimitri Savineau<EMAIL_ADDRESS>

jenkins test centos-non_container-rgw_multisite

jenkins test centos-non_container-rgw_multisite

jenkins test centos-container-rgw_multisite

jenkins test centos-container-rgw_multisite


DuckDNS feature request public ipv6 update

Scenario: CG-NAT ISP supporting only ipv6 public address with only opened port 80 and 443
Listed below DuckDNS faq
1Q: why can't you detect IPv6 addresses?
1A: our service is hosted in AWS, they do not support IPv6 on Elastic Load Balancers for the account type we have (VPC), when amazon do support it, we will start detecting it.
2Q: Why do I have to specify my IPv6 address, can't you just detect it?
2A: Amazon Web Services (where we host our servers) do not support IPv6 addresses on servers hosted in VPC. VPC is the new/best hosting in AWS, when AWS support IPv6 on VPC Elastic Load Balancers on VPC, then we will start detecting it.
Please could add a optional feature so that the DuckDNS hassio addon could update the hassio public ipv6 instead of DuckDNS detecting it at their server by providing the optional ipv6 in
https://www.duckdns.org/update?domains={YOURVALUE}&token={YOURVALUE}[&ip={YOURVALUE}][&ipv6={YOURVALUE}][&verbose=true][&clear=true]

I would love for an update or an official workaround.
@udayakumars @pblculebras
One option I found is to use the script in this repo:
https://github.com/gtwy/IPv6forDuckDNS
It seems to parse the output of several commands to determine the ipv6 addr. It also calls https://gtwy.net/ip (warning, invalid certificate) to get the ipv4 addr. This URL seems to be outdated, no service providing the IP is running behind it anymore.
The call to the duckdns server can be modified to exclude the IPV4 part and my plan is to resort to the regular way of keeping that one in sync.
I tried the important bits on my raspi (Debian) and it seems to be doing just what one would expect. Its a bit unfortunate that we have to resort to this approach. But its better than nothing I guess?

I also would very much like to see an update. This missing feature is the major thing holding me back from an external hass.io access.


Public APIs should not use futures, replace with async/await

we just noticed that public APIs still are using event loop futures, e.g.:
try otel.start().wait()
InstrumentationSystem.bootstrap(otel.tracer())

Futures should not appear in public APIs, prefer deprecating those immediately and replacing with async functions -- even if internally they just wait on the same event loop future.

Thanks for bringing this up 🙏 I'm working on a significant refactor of swift-otel that removes NIO from all public APIs, making it an implementation detail. This refactor will result in a 1.0 release, so I'll add this issue to the 1.0 milestone for now.
I don't think we necessarily need an in-between release to wrap the public API if it breaks soon after.

Sweet!


Logging level in application

This issue serves as a starting point for a discussion about logging.
Currently the log level is set to :error, which might be at least :warning.
I'm in favor of putting :debug in config/config.exs and :warning in config/prod.exs for four reasons:

It allows you to leave in debug statements (like "starting indexer with arguments...") and nudges the author to write useful and proper messages because they're part of the code base.
Logging statements get removed at compile-time depending on the logging level set in the configuration so there is zero overhead at runtime if they're not shown.
You cannot set the log level at runtime in your personal ~/.iex.exs because it's a compile-time parameter.
A more personal reason to raise this issue: I always change the level to :debug in config.exs and I accidentally committed this before, which should be avoided.

https://research.anoma.net/t/debug-vs-release-builds/765
Discussion on forum.


added sample for color based smiley

Q
A

Bug fix?
no

New sample?
yes

Related issues?
none

What's in this Pull Request?
This sample is to demonstrate how to display smiley faces based on color value, As for sample, it is based on color choice column value of Green, Red and Yellow. Color value will add smiley face which come from the Offie UI Fabric Icon set. If color is Green smiley (Emoji2), If color is Yellow (EmojiNeutral), if color is Red (EmojiDisappointed)

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: siddharth-vaghasia sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

Thank you @siddharth-vaghasia!


Feat/add momento

Added momento dialect to sequelize that supports:

Creating a cache through createTable
Deleting a cache through deleteTable
Checking if a cache exists through listCaches API of Momento
Inserting a single row into the cache
Deleting a single row from the cache
Selecting a single row from the cache

@cprice404 I'll be working on the checks and examples next but sent out early for feedback!


CSS-like styling

Some half-finished ideas around how to improve the styling and theming story for egui.
Background
Styling for egui is currently supplied by egui::Style which controls spacing, colors, etc for the whole of egui. There is no convenient way of changing the syling of a portion of the UI, except for changing out or modifying the Style temporarily, and then changing it back.
We would like to have a system that can support CSS-like selectors, so that users can easily style their ui based on the Style Modifiers (see below):
It would be very beneficial if such styling could be set in a single text file and live-loaded.
Proposal
Style modifiers
Here are some things that could influence the style of a widget:

widget type (button, slider, label, …)
interact state (disabled, inactive, active, hovered, active)
text modifier (header, small, weak, strong, code, …)
per-Ui identifier (”settings_panel”)
per-widget identifier (”exit_button”)

For instance, a user may want to change the sizes of all buttons within the "settings_panel".
The per-Ui identifier would need to be a hierarchial stack, so the query to a theme would be something like:

Give me the WidgetStyle for a button that is hovered that is nested in a “options”→”internals”

We could also consider having dark/light mode as a modifier, allowing users to specify both variants in one theme file.
WidgetStyle
Let’s start with this:
pub struct WidgetStyle {
    /// Background color, stroke, margin, and shadow.
    pub frame: Frame,

    /// What font to use and at what size.
    pub text: TextStyle,

    /// Color and width of e.g. checkbox checkmark.
    /// Also text color.
    pub stroke: Stroke,
}

pub struct TextStyle {
    pub font: FontId,
    pub underlined: bool,
    …
}

If each widget as given a WidgetStyle it could then use it both for sizing (frame margins and font size) and its visual styling. The current theme would select a WidgetStyle based on some given style modifiers.
Because the WidgetStyle affects the widget size, we need to know the WidgetStyle before we place it, and therefore before we know wether or not the user is interacting with it. This can be solved by querying for the style twice (and ignoring the margins and font size the second time, assuming them to be the same). This can be optimized out for the common case where the widget is not hover or bneeing interacted with.
WidgetStyle would be used by all built-in widgets (button, checkbox, slider, …) but also each Window and Ui.
Example
fn button_ui(ui: &mut Ui, text: &str) {
    let style = ui.style_of_interactive("button");
    let galley = ui.format_text(style, text);
    let (rect, response) = ui.allocate(galley.size + style.margin.size);
    let style = ui.style_of_interactive_with_response("button", response);
    style.frame.paint(rect, ui);
    style.painter().text(rect, galley);
}

Speed
We must make sure egui isn’t slowed down by this new theming. We should be able to aggressively cache the WidgetStyle lookups based on a hash of the input modifiers.
Theme plugins
We could start by having a plugin system for the theming, something like:
trait ThemePlugin {
    fn widget_visuals(&self, modifiers: &StyleModifiers) -> WidgetStyle;
}

We could then start with a simple rule engine, but still allow users to implement much more advanced ones (e.g. more and more CSS-like).
Rule-engine
Eventually we want a fully customizable sytem where rules set in one theme file will control the look of the whole UI. Such a rule system has a few open questions to resolve:

How do we distinguish between different modifier types? Do we need to?
How do we specify if a rule applies to:

The widget
The widget and all children
Just the children

Rules
The rules can apply partial settings or modifiers. For instance, a rule can set the font and increase the brightness of the text.
Exactly how to specify the rules (i.e. in what language) is outside the scope of this issue, but here is a few examples of the kind of rules one could maybe want to do:
button hovered: {
    stroke.color.intensity: +2
}

// Make disabled things less bright:
disabled: {
    frame.fill.intensity: -2
    stroke.color.intensity: -2
}

// Make hovered interactive widgets brighter:
interactive hovered: {
    frame.fill.intensity -2
    stoke.colors.intensity: -2
}

small: {
    text.size: -2
}

heading: {
    text.size: 20
}

code: {
    text.font: "monospace"
    frame.fill: "gray"
}

weak: {
    frame.fill.intensity: -2
    stoke.colors.intensity: -2
}

strong: {
    frame.fill.intensity: +2
    stoke.colors.intensity: +2
}

hyperlink: {
    stoke.colors.intensity: "blue"
    text.underlined: true
}

window: {
    frame.fill: "gray" // wait, this will add fill for all children of windows!?
}

Color palette
We also need a color palette, indexable by brightness and opacity
https://www.radix-ui.com/colors/docs/palette-composition/understanding-the-scale
// Color modifiers
intensity +2  // modify
opacity   50% // set

In the GUI code users should be able to refer to colors both using aliases (”blue”, “header”, …) and hard-coded colors (#ff0000).
Dark mode vs light mode
We should also consider supporting both light and dark mode within the same theme. That is, one theme file should be able to set both a dark and a light theme. Perhaps “dark” and “light” is just another style modifier?

Re: dark mode vs. light mode, I believe the heavy lifting is done by just swapping the corresponding Radix color tables. The "coordinates" (tint, index) can remain the same.

 I do realise this is very optimistic, probably even naive. But just wanted to have shared the thought

@chris-kruining - as far as I can tell Dioxus isn't actually native, right? It's webview based : https://dioxuslabs.com/learn/0.4/getting_started/desktop#desktop-overview

Ooh my bad if I got that wrong, I seem to remember the dude in the video saying "building a browser is hard" when he talked about css. So I made the presumption that they were implementing there own rendering and not just a webview.
https://www.youtube.com/watch?v=aSxdmXjZutI

Love this idea!
Personally faced a lot of inconvenience when trying to style individual widgets in the past, so this would be amazing!
Is there any roadmap for this or is it still in idea phase?
This and RTL support are gonna be dream come true

I'm interested in writing a parser for the style language / rule engine / css clone thing. The following is a (hopefully) thought-out attempt to fill holes in the original proposal:

Expand

Style Language
I would make the rule engine (which will henceforth, in this document, be referred to as the style language) closer to CSS. Mostly, this is because it reduces the learning curve (I don't think it's controversial to say a lot of people know CSS).
I do like accessing properties with the dot syntax as it makes the syntax of the style language agree with rust's.
CSS Selectors
button hovered: {
    stroke.color.intensity: +2
}

disabled: {
    frame.fill.intensity: -2
    stroke.color.intensity: -2
}

interactive hovered: {
    frame.fill.intensity: -2
    stoke.colors.intensity: -2
}

/* Just remembered CSS doesn't have single line comments :-( */
button:hover {
    stroke.color.intensity: +2
}

:disabled {
    frame.fill.intensity: -2
    stroke.color.intensity: -2
}

:interactive:hover {
    frame.fill.intensity: -2
    stoke.colors.intensity: -2
}

Any "built-in" selectors that are not dynamic like :hover or :disabled have, you guessed it, a colon in front of them. This would include interaction state, and text modifiers.
Selectors for widgets and custom-styled elements are written differently. Widgets are sort of like HTML elements if you squint really hard, so I think having them be written plain (e.g. button) is fine. Likewise, per-widget or per-ui identifiers are like id in HTML (that's crazy), so they could have a # before them.
Dark / Light theme could simply be a :dark or :light selector anywhere.
CSS Combinators
Taking the next logical step, we could implement CSS combinators, which would solve the question of what the rule applies to:
/* just the element */
button

/* all children of element */
button > *
/* element and all children */
button,
button > *

/* all descendants of element */
button *

/* element and all descendants */
button,
button *

Class?
I'm not sure if implementing something similar to class in HTML is necessary. It would be nice to be able to generalize styles though.
For completeness, I'll describe the implementation:
// ui
ui.add_class("class")

// widget (take a generic parameter)
ui.add_with_class("class", Button::new("button"));
ui.add_with_class(["class1", "class2"], Button::new("button"));

// alternate syntax
ui.add(Button::new("button").class("class"));
ui.add(Button::new("button").class(["class1", "class2"]));

/* class selector */
.class

ID Ambiguity
I'm not completely sure if we should call the identifier used to style id to avoid confusion with Id, which, uh, has the same exact name, and may cause confusion that Ui::id and Ui::set_id refer to different id's. Unfortunately id is far and above the best and most obvious name for this. I'm going to use "id" for now, but I am very much open to suggestions.
Some other options for dealing with this are:

Only using class and forgoing id entirely (id is basically just a less flexible class anyway) (I slightly prefer this option)
Calling id something else

I'm really not sure what to do here.
Implementation Notes
I don't think we should allow crazy combinators like :is and :has, just the basic ones. Even so, basic CSS selectors can get complicated.
main:dark > #menu_bar button:hover

In addition to being annoying to implement, isn't this kind of overkill for a ui library? We basically have to make our own DOM every frame. If it's relatively straightforward to implement, I think we should to allow the flexibility. If not, we should probably force the selectors to be simple and make this determination for whether the rules apply to the hierarchy some other way and force the selector rule to be simpler.
/* just the element */
button

/* all children of element */
button >

/* element and all children */
button & >

/* all descendants of element */
button *

/* element and all descendants */
button &*

/* selectors after the hierarchy selector are not allowed */
button * :hover :light

/* no multi-part selectors */
button:hover child
/* Splitting individual selectors with spaces is not allowed to prevent *
 * confusion with CSS's descendant combinator                           */

Also, if a rule is invalid or something, should we just ignore it and emit a warning? Or should the whole style sheet be disallowed to load?
User-Defined Styles
I'm not sure if this was addressed, or intended, in the original proposal, but I think I've figured out a pretty nice way to do custom, user-defined Style structs as an alternative to the Plugin system.
It seems pretty clear that any user-defined Style structs, like the ones in the initial proposal, would need to implement some sort of trait to convert from a set of properties:
/// stand-in for the actual structs
struct StyleProperties(HashMap<String, String>);

struct FromStylePropertiesErr<'a> {
    /// properties that were not present on the struct
    not_found: Box<[&'a str]>,
    /// properties that threw an error when converting from a string
    error: Box<[&'a str]>,
}

/// `FromStyleProperties` is just an ugly name and the actual implementation of
/// this trait will probably be different, but `Style` just doesn't feel
/// descriptive enough.
///
/// if anyone has a better name shoot
trait Style : Default {
    fn from_style_properties<'a>(props: &'a StyleProperties) -> (Self, FromStylePropertiesErr<'a>);

    // ...
}

With a derive macro, all a user would need to do to define a style struct is:
#[derive(Style)]
struct MenuBarStyle {
    my_color: Color,
    // ...
}

The egui context could then just retrieve the relevant style rules and apply them.
fn menu_bar(ui: &mut Ui) {
    ui.horizontal_top(|ui| {
        // now all the styles for the menu bar are defined and used in one place!
        let style: &MenuBarStyle = ui.id("menu_bar").get_style();

        // etc...
    });
}

Naturally, get_style would reference the style rules to return the correct styles in this context.
I don't think it's possible to cache the whole CustomStyle without a completely different API than the one described here. This is probably fine because if properties are cached, it should be relatively cheap to construct. Maybe egui internals like WidgetStyle and TextStyle could be cached, but also maybe it's such a tiny performance hit it doesn't matter. We can benchmark it and come to conclusions later, but for now I think this API is nice.
Applying Identifiers
As you may have noticed in the previous section, I inserted a possible way to give an identifier to a Ui. If you take that to it's logical conclusion, some complications arise.
let style: &Style = ui.set_id("id").get_style();

// wait, this would be bad. how do we deal with this? by panicking?
let style: &Style = ui.get_style();
ui.set_id("after get_style :/");
// style would now be wrong...

// and if we don't panic, and make `set_id`` a `#[must_use]` it would just get annoying...
let style: &Style = ui.set_id("id").unwrap().get_style();
// but it *would* solve the issue.

// this is just bad. It wouldn't fix the problem, and it ensure that the style
// is now inextricably linked to the id.
ui.get_style_with_id("id");

// should this be allowed?
ui.set_id("first");
ui.set_id("second");

// (this could reasonably happen because of cases like this:)
fn my_ui(ui: &mut Ui) {
    ui.set_id("second");
}
ui.set_id("first");
my_ui(ui);
// also now any widgets that are defined as functions can't assume that someone
// hasn't already called `id` and `get_styles`, thus making it unable for them
// to set their own id and get their own styles using the given ui context.
//
// i mean this is pretty easily rectified by just...
fn my_ui(ui: &mut Ui) {
    ui.literally_anything(|ui| { /* do stuff here */ });
}
// which you pretty much always do it anyway, so i guess its not that big of a
// deal.

// if we decide to disallow that, we'd need this just in case you don't know if
// the ui has been given an id
ui.try_id("e");

I think the best solution is to just panic if id is called after get_style. It should be pretty hard to do unintentionally and trivial to fix. It's not like we need to be constantly vigilant for malicious users / code, like you would in a web development.
Widgets, luckily, are much simpler.
ui.add_with_id("id", Button::new("button"));

// alternate syntax
ui.add(Button::new("button").id("id"));

One-Off Styles
I think it would be nice to be able to apply a one-off style definition to a Ui for reasons hopefully self-apparent.
Unfortunately, Ui::style and Ui::set_style are already taken. I'm honestly not sure what to name this, if implemented.
// generic parameters my beloved
ui.one_off_style("custom.property", "value");
ui.one_off_style("custom.property", Color32::RED);

oh my god im finally done writing this thing im free its been hours

Summary / Unanswered Questions
"Wow it's almost like a real RFC!"
Questions with recommendations have their recommendations (italicized). Unanswered questions are bolded.
Style Language

Should we make the style language more like CSS? (yes)

If so, do we want CSS-like combinators?

Which of the hierarchical combinators are feasible to implement? ( , >, +, ~)

If not, what would our own solution be ? (described in proposal)
Should we permit errors in stylesheets or reject them entirely? (permit)

Should we allow classes as well as ids?
Should we rename id to something else to prevent confusion with Id?

User Defined Styles

Should we allow user-defined styles? (yes)

With the API described in this proposal? Or something different?

Applying Identifiers

How should we assign Ui's with identifiers?
Which API for widgets should we use?

One-Off Styles

Should we allow one-off style definitions?

What should the API be?

I was going to start working on this right after finishing writing the proposal but now I'm worn out haha

The way I want to approach this is step-by-step:
First implement WidgetStyle and use that for all widgets. That already is quite a bit of work, but is mostly refactoring.
At this point the WidgetStyle would be selected by something hard-coded in the current struct Style.
Next up would be to implement the WidgetStyle selection  it via a plugin system (ThemePlugin). This would require also implementing the first portion of StyleModifiers.
This would also be the point we add a cache in front of it to speed up repeated queries for slow plugins.
Next up is designing and implementing a hierarchical "class" system and add that as part of StyleModifiers.
And last is the actual CSS language and engine, which can now be fully a separate crate, and opt-in.

That's understandable. I thought doing the CSS parser, being standalone, was better for me as I'm completely unfamiliar with the project internals.
Do you think it would be reasonable for me to attempt the refactor? Or should it be left up to someone more experienced?
Also, a clarification with the plugin system. Where/How would the plugins be registered? With the top level egui context or in the Widget impl?

An action plan has been added to https://github.com/emilk/egui/issues/3284

@emilk
This can be a very large and difficult task that takes a long time.
CSS is a complex topic, and there are specialists who focus solely on CSS.
It is also possible to implement only simple configurations.
(Of course, this is the right approach at first.)
It should be possible to use the egui library without using a theme file.
When using the egui library, users should not be forced to use a theme file.

Perhaps my crate Egui Colors can help in exploring a new styling concept. It is based on the Radix color system and APCA luminosity contrast.

My five cents on this is that I do not like this.
I am using egui precisely because I do not want to deal with a dom and css. This naturally extends to any custom css/dom this issue proposes.
It is much easier and intuitve to a programmer to just change colors/fonts of individualy elements in code.
If some elements should be styles similarly then one can just use the good old factory pattern.
If one wants to use a dom like thing with css then there are already frameworks that do this.
I do not mind having some file which defines default colors for elements, however please dont take our ability away to change most aspects of elements in code.
I hope that this feature remains entirely optional and that I can keep doing everything in pure rust code.

Previous comment hidden to not derail the issue: the goal is that the advanced rule-engine is OPT-IN in a separate crate, and there is no actual DOM or CSS or any of the like. Everything will still be possible in pure Rust.


[BUG] - Next UI V2 Routing in React + Vite project does not work.

NextUI Version
v2.3.6
Describe the bug
Following the React example with navigate & NextUIProvider ref: https://nextui.org/docs/guide/routing, does not work.
See stackblitz example
Your Example Website or App
https://stackblitz.com/edit/vitejs-vite-32f1ps?file=src%2FApp.tsx
Steps to Reproduce the Bug or Issue

Open the app in stackblitz
Click the links to test
Only the react-route-dom's links are routing

Expected behavior
Navigation should work with the NextUI V2 components too.
Screenshots or Videos
No response
Operating System Version
macos Sonoma 14.5
Browser
Chrome

Facing the same issue.
I see a PR is pending. Thank you in advance for fixing this 🔥

I have this issue as well

The fix will be available in the next release. At the same time, you can use our canary version as a workaround if necessary.
"@nextui-org/system": "0.0.0-canary-20240504162810"

update NextUIProvider to use @nextui-org/system
import { NextUIProvider } from "@nextui-org/system";


Updated vars for dev/Vagrant environment

Includes the flipper username and password
values in the vault and adds them to the
dev vars file.
Also updates the ruby version and includes API keys
for Sentry/Rollbar for the dev env.

Looks good to me!


Added limit clause to Hive query generation to enable conversion validation of sample subset

Added limit clause to Hive query generation to enable conversion on sample data size for validation purposes
With this addition, to run a job that runs sampled conversion on multiple datasets:

Use BackfillHiveSource
Configure rest of Avro to ORC conversion job as you normally would
(by specifying dataset whitelist, etc)
Set rowLimit to a low number (say 1)
Run the job

@pcadabam Can you please review?

Coverage decreased (-0.005%) to 46.851% when pulling 30e2967e9a62904dd2011039cb25735b6006f7f9 on abti:a2o_evolution into 4f3bb7b0a26d85f74a7c05c6abc28b9980f8c742 on linkedin:master.

LGTM


Bump version to 0.14.2

Includes #173

https://github.com/alphagov/digitalmarketplace-frameworks/compare/v0.14.1...bump-version-14-3 :+1:


Extracting metadata latency

Is there a more efficient way of extracting data from the stream. Attempting to pull JSON out of MKV fragments has yielded the following results:
Profiling for 10 fragments/10 frames (times in ms)

getting fragment list took 2469 (aus to us-east-1)
getting media (fragments) took 1927 (aus to us-east-1)
extracting metadata took: 746

simply running this loop
while (mkvStreamReader.mightHaveNext) {
          val mkvElement: Optional[MkvElement] = mkvStreamReader.nextIfAvailable
}

took the following:
594 iterations
507 ms
For extracting the data, we've used the visitor pattern, as per the SDK. The issue appears to be that even for a small number of fragments, there is a large number of elements visited (some 50x number of fragments or more).

Is visiting each MKV element to determine if it contains the required data necessary?
Is there a more efficient way of extracting this data?
Is this just a limitation of storing data in MKV containers?
Is the visitor pattern appropriate for this use case?

Can you please report this issue on parser library page - https://github.com/aws/amazon-kinesis-video-streams-parser-library ? We will look into it with more details and it will also help other users.

@vijaygj just did at https://github.com/aws/amazon-kinesis-video-streams-parser-library/issues/17

Thanks
Angela Risner
On Wed, Mar 21, 2018, 9:04 PM Brice Lechatellier<EMAIL_ADDRESS>wrote:

Closed #55
https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp/issues/55
.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp/issues/55#event-1534620495,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AjCymnbZtKGBhVgBjUJENfGlHnNjxsbSks5tgwa7gaJpZM4S2Ty8
.


Trie fixes

Came across this bug in the trie implementation while trying to upload a tar file.

@malchev Great, thanks for the feedback. The changes made here look great, with one small exception.
There is not need for the change to 256 bytes for entries. Since this project is intended to be used by the ethersphere/bee project, we know that we (currently) have only two possible sizes for entry (address reference), 32 and 64 (for encrypted) bytes, which was noted in docs/format/node.md document. That was the reason why the current tests were configured to use 32 bytes for entry.
While it is true that current code was made to support up to 256 bytes (I though it was better than having hard-coded 32/64 checks), and there is no difference for the tests, personally I would leave that part of the tests as they were, i.e. at max 32 bytes. And if there is a need for larger paths in the tests maybe we could change the way entries are created.

Thanks @zbiljic, I removed that commit.  PTAL.

Thanks @zbiljic, I removed that commit.  PTAL.

Ping?  Are you going to merge this PR?

@malchev This repo is now deprecated. It is now a part of the ethersphere/bee repo. We initially made a different fix for the issue you probably faced, which caused issues in other parts. Going through these changes I realized this is the correct fix!
We are currently in the process of making a new release and we need these changes. I will move the changes to bee for now as we are short on time. Thanks!


⚠ Bofrost.hr has degraded performance

In f9f16a6, Bofrost.hr (https://www.bofrost.hr) experienced degraded performance:

HTTP code: 200
Response time: 3822 ms

Resolved: Bofrost.hr performance has improved in d008893.


Feat: Create blog page

Describe the feature
I would like to add a blog page for this website. It includes blog articles regarding buying guides, product categories, technology related etc. topics.
Add ScreenShots

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

Can you please assign this issue to me under Gssoc'24? I want to work on this.

Hello @DharshiBalasubramaniyam !
You can start working on this issue. Just wanted to clear out this will be a seperate section right? and do u wish to showcase a small glimpse of this on the homepage too?

Hello @DharshiBalasubramaniyam !
You can start working on this issue. Just wanted to clear out this will be a seperate section right? and do u wish to showcase a small glimpse of this on the homepage too?
Happy Coding ✨

Hi @himanshu-03,
Thank you for assigning the issue.
I propose creating a separate page dedicated to blogs, with a link to this page added in the footer for easy access. Additionally, I can incorporate a "Latest Blogs" section on the homepage, featuring the most recent blog posts. This section would include a "View More" button, which would redirect users to the full blog page.
Please let me know if you would like me to proceed with this approach or if you have any further suggestions.

Hello @DharshiBalasubramaniyam !
You can start working on this issue. Just wanted to clear out this will be a seperate section right? and do u wish to showcase a small glimpse of this on the homepage too?
Happy Coding ✨

Hi @himanshu-03,
Thank you for assigning the issue.
I propose creating a separate page dedicated to blogs, with a link to this page added in the footer for easy access. Additionally, I can incorporate a "Latest Blogs" section on the homepage, featuring the most recent blog posts. This section would include a "View More" button, which would redirect users to the full blog page.
Please let me know if you would like me to proceed with this approach or if you have any further suggestions.

Yes  that would be great!
You can start working on this issue.


New Sights component for highlights pages

This adds a sub-component of Things to Do that displays a list of sights under TTD,designed after the items list in the map sidebar. If no TTD is present, Sights takes its place in the subnav and its header/title is centered and styled like the other components. Displays 6 - 9 sights. If fewer than 6 sights are returned, component does not display.
This one is worth pulling down and playing with in various places to see/check how it responds.
/asia and /nashville are good places to start.
Requires https://github.com/lonelyplanet/destinations-next/pull/567
with TTD:

without TTD:

:+1:


Skip adding to _components during ReactWithInit

Fixes #890

Thanks for the fix!
When are you planning to release it?

It should be released already
On Wed, Sep 23, 2020 at 3:49 AM, cb-eli<EMAIL_ADDRESS>wrote:

Thanks for the fix!
When are you planning to release it?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/reactjs/React.NET/pull/1155#issuecomment-697285998,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAHGCFUSZXJ6HDNDZVHVI6LSHHHDFANCNFSM4QCXOQYA
.


Support cluster-admin propagation and update docs

Rather than continuing to play whack-a-mole with the list of verbs HNC
can propagate, this change allows it to perform all verbs on all
resources. This is equivalent to cluster-admin so I've updated the
docs accordingly (see also issue #1311).
I also noticed that the docs referred to K8s v1.15, which is no longer
supported, so I updated them to v1.16.
Finally, this change adds the HNC_FOCUS makefile var, allowing you to
say something like:
HNC_FOCUS=772 make test

which only runs the e2e tests with "772" in the title.
Tested: All quickstart e2e tests pass. Updated the test for issue #772
and verified that it failed without the other changes in this commit,
and passed with them.
Fixes #1311

/assign @yiqigao217
/assign @rjbez17

Preview the doc changes here:

FAQ
How-to


Issue regarding consistent loading of source_files data (from goldens original values)

I also want to report an issue regarding consistent propagation of source_files data through the file save and load functions.
synthesizer.generate_goldens_from_docs and generate_goldens_from_contexts captures source_files info in the data structure, and this is saved as part of synthesizer.save_as and dataset.save_as but unfortunately the relevant load routines don't consume this data and bring them back during the EvaluationDataset.add_test_cases_from_json_file and add_test_cases_from_csv_file methods.
There is a similar issue for EvaluationDataset.add_goldens_from_json_file and add_goldens_from_csv_file methods, although in these versions the file_path is put into the source_files storage (which is fine if the original file didn't have the data but otherwise I believe it should take the data from the source_files info saved in the actual file).  These two methods could be enhanced to do this context based setting for this data.
In summary:
These "add_testcases_from_xxx_file" methods currently do not load this data even if it exists in the source files (from when the data was created as goldens).
These "add_goldens_from_xxx_file" methods use the file_path data instead (even when the underlying files have specific source_files info).
I guess source_files was a recent addition and while the save parts got added the load parts got missed??

Related issue re test_case/llm_test_case.py for class LLMTestCase:
LLMTestCase doesn't support source_file so I had to comment out the line reference I'd added in below code even through the data is supported as a golden and could easily be part of test_cases structure too (to preserve the source info).
# Here is a convert+populate actual_output routine I wrote (based on one of your examples) but I'm blocked from transferring the source_file data from golden to test_cases because its not supported for LLMTestCase class.
def convert_goldens_to_test_cases(goldens: List[Golden]) -> List[LLMTestCase]:
    test_cases = []
    for golden in goldens:
        test_case = LLMTestCase(
            input=golden.input,
            actual_output=my_test_llm.generate(golden.input),  # **** Generate actual output using the 'input' ****
            expected_output=golden.expected_output,
            context=golden.context,
            retrieval_context=golden.retrieval_context,        # my_test_llm is not capable of returning this, just copy if already there from json
            additional_metadata=golden.additional_metadata,
            comments=golden.comments,
            tools_called=golden.tools_called,
            expected_tools=golden.expected_tools,
#            source_file=golden.source_file     # current version does not support this data even though part of golden
        )
        test_cases.append(test_case)
    return test_cases

FYI - The 2 supporting routines in dataset/utils.py - convert_test_cases_to_goldens() and convert_goldens_to_test_cases() would need to be enhanced to support source_file copying between these two structures as well.

@kritinv Thanks for making the changes for the two add goldens from file methods, but one part isn't quite right yet.

In PR #1178 I can see one line that has been missed (which is crucial as it's the one that actually sets the return data for the golden).  This is new line 555 (old line 543) for add_goldens_from_json_file method.  It still has source_file=file_path, instead of source_file=source_file, (which was updated for add_goldens_from_csv_file method).

By the way - although this really is more appropriate for Issue #1171, it's nice that you've customized the encoding string for the open statements, so that "utf-8" is the default but could be set to something else if necessary.  Note that the 2 open statements in dataset.save_as method still have no "utf-8" default - but that is the topic for Issue #1171 to resolve.

Regarding your question about source file when creating test cases.  I don't have any particular use case I'm specifically trying to address.  I was really working through a few examples to get familiar with the capability of DeepEval and this bit seemed a bit strange to hold the data as a golden but not allow it to be retained as a test case.  I'm thinking of testing a RAG and generating test cases from my source files.  Obviously I generate the golden using DeepEval, but then I have to create the Test Case with my LLM's answer and then want to save the TC in a 'ready to be evaluated' format.  (Saving allows the TC to be modified if necessary - such as adding supplementary questions from a SME (+its related 'answer'), and more importantly reloaded without having to go thru the full generate cycle each time.)  It's odd that I can't include the source file of the question in my completed TC info that I'm then going to load and evaluate with DeepEval metric analysis.  It's not an issue when you only have one source file (as I currently have) - but I can foresee an issue if I had lots of source files (at least when wanting to directly look back at the true source context info for any given question/answer pair).

I understand that when I'm saving the TC with actual_output populated it's still technically saving the "golden" info (at least using current save_as methods), but this is bluring the lines between a golden that contains my core questions, and effectively my test case that contains the question and LLM answer (ie what I'm calling my TC).  I might want to have a copy of the TC info (ie the full question-answer pairs) and will want them stored separately to my core questions as the LLM answer will change as the LLM is modified.  I may need to provide the Q&A in test reporting.  In order to keep the source file information I need to add the answer into the golden rather than putting it directly into the test_cases structure.  If I add the 'answer' as part of the test_cases structure (ie using the same process described here = https://docs.confident-ai.com/docs/confident-ai-testing-n-evaluation-test-run#using-the-evaluate-function), then when I convert back to goldens to save a copy of my Q&A pair I've lost the source_file data.

Yes you are right it could be put into the metadata (as long as that support custom structure - which I guess it does), but I wanted to use the standard save_as routines.  Neither synthesizer.save_as or dataset.save_as methods save metadata (and they both only support saving goldens but I see that saving test cases is a TODO).  But (for what I described above) rather than use metadata, I'd simply change my populate LLM answer routine to populate the golden, and then save it directly.  Now that you've added support for loading source_file data we can cycle between save and load without loss - as long as it stays in 'goldens' structure.  But my workaound still wouldn't solve the issue of loss of source_file if I'm wanting to save test_case info (such as metric evaluation results) after doing evaluate calls.


Add 32 Bit Avalanche Function

This small patch adds the 32 bit avalanche function from the original implementation here.

Thank you! Can you please confirm that you've signed the CLA? https://opensource.dropbox.com/cla/

This does seem to have a noticeable performance improvement:
diff (64KB edit)/fast_rsync::diff/4194304
                        time:   [5.7228 ms 5.7259 ms 5.7297 ms]
                        change: [-3.5740% -3.3834% -3.1913%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 1 outliers among 15 measurements (6.67%)
  1 (6.67%) high mild

diff (random)/fast_rsync::diff/4194304
                        time:   [31.852 ms 31.875 ms 31.892 ms]
                        change: [-9.7957% -9.5092% -9.2728%] (p = 0.00 < 0.05)
                        Performance has improved.
Found 3 outliers among 15 measurements (20.00%)
  1 (6.67%) low severe
  1 (6.67%) low mild
  1 (6.67%) high severe

diff (pathological)/fast_rsync::diff/16384
                        time:   [5.0722 ms 5.0771 ms 5.0809 ms]
                        change: [+0.9876% +1.2825% +1.5937%] (p = 0.00 < 0.05)
                        Change within noise threshold.
Found 1 outliers among 15 measurements (6.67%)
  1 (6.67%) high mild

diff (pathological)/fast_rsync::diff/4194304
                        time:   [30.131 ms 30.216 ms 30.288 ms]
                        change: [-19.083% -18.640% -18.251%] (p = 0.00 < 0.05)
                        Performance has improved.

Nice!
I signed the CLA. Thanks for taking a look.


Adding processing to FinddBatchNormV2 and FinddBatchNormV3 in the opt…

…imize method

@jhseu Can you please take a look on this PR? Thanks!

@SmokerX Can you please resolve conflicts? Thanks!

It has been 16 days with no activity and the awaiting response label was assigned. Is this PR still valid? Assigning the stalled label. Please comment to reassure me that this is still being worked on.

I'm going to go ahead and close this PR, because it seems to have stalled. If you're still interested in pursing this (and responding to my comments), please feel free to reopen!


Investigate possible use of OpenEBS

OpenEBS - https://openebs.io/
Investigate whether use of OpenEBS can be suggested in the Deployment Guide as a possible approach to establishing ReadWriteMany storage on any cluster.
This could support the EOEPCA Prerequisites as requested by #21.

We would appreciate this information very much.
Also some explanation on operational cost and maintenance would be helpful, to allow us to assess how realistic it is to support rwx volumes via such a component.
I also understand that this is used for performance, to avoid moving data across the network, but am wondering how this will work with a big cluster? If I write data on one node, does it somehow stay there until another node tries to read it, or how does this high-performance kind of replication work?

hi @jdries , that's a good point about having more info about production (ops&maintenance) and I think this is not only about RWX volumes but for all the EOEPCA pre-requisites (e.g., even the K8S cluster itself). I have put a note in #21 to add more info on what is recommended for demo/test and what for production.
About the other points, I cannot speak about OpenEBS, I have never used it, but using IBM Spectrum Scale, LUSTRE or GlusterFS is very realistic to support ReadWriteMany volumes in K8S. This is used in production in many HPC centers (CERN) and I have myself used both GlusterFS and IBM Spectrum Scale in EUMETSAT for a big 2000 CPU-cores K8S cluster for multi-mission bulk data processing.
About how does it works, for most the backend is a distributed file system, which stores the data in multiple replicas in storage nodes "as close as possible" to the computing nodes and use multi-tier "intelligent" caching (based on read/write statistics on fs files and folders) to improve overall performance/stability. Over-simplifying, and here I hope no one expert in HTC/HPC reads this otherwise they will kill me :), if you write something in a folder from node A, some bits may go on node A and in parallel (and in the background) go also to nodes B and C, then when you read from D you will read in parallel from A B and C , but caching also on D. At some point if you always write on A and read from D, D will become the reference, plus your future writes from A will go directly to D and the cached bits on B and C will be deleted.


Make Accolades more fun

While Accolades can’t technically be “completed” the way Affiliations can, they are the least interesting because it is very easy to get to the point of having 3 of each type, at which point there is no real concept of getting “better” accolades. I still definitely need to brainstorm an optimal solution, but here are some ideas of things to improve:

[ ] get rid of Honorifics. It doesn’t make sense that you would “earn” these by becoming more renowned. Plus there’s no way to order them meaningfully, or to add “ranks” like with spells.
[ ] figure out a way to somehow “rank” the other three Accolade types in a fun way? Maybe this doesn’t make sense in general.
[ ] add some additional category or two that would be some kind of ranking or championship system. Perhaps after each cycle, or maybe still based on renown, update the Hero's ranking, either in different leagues or maybe weight categories or something. Then maybe when certain rankings are reached they can earn titles, sobriquets, and epithets. We could make this even more complicated by updating rankings purely based on time (probably somehow tied to AdventureProgress?), and then updating ranking based on a combination of Renown and Competitive Demand, so rankings could potentially go down a little while you LOOT or QUEST, but also when you are overhyped. In this case Spent Renown would have to incorporate Competitive Demand as well. Don't think we should have them lose titles or anything though. We could maybe have 10 or so weight categories, which should each take close to 10 levels to rise to the top of, and then once we get to "Demigod-Weight" or whatever the max would be, it could go up to "Double Demigod-Weight", "Triple" and so on.
[ ] In the UI then there would be one table for rankings, with weight category on the left and ranking on the right. There would have to be another for titles, but this seems like it would need to display weight category, title, and times earned, which would require three columns. I guess we could just put "2x", "5x" or whatever before the title name. Then we would need another table for Epithets and Sobriquets?
[ ] Thinking about "rankings" and especially "weight categories" - does this make sense in terms of dueling and trials? Are there other terms we could use that would fit better? I guess if you think about Heavy Games or that sort of thing, you are ranked based on success in various strength/endurance trials, and I'm sure they have ways of classifying different competitors.

So let's think one option through a little more:
We could have 4-6 leagues or ranking systems. Along another dimension we could have 4-6 (?) competitive classes (with option to go infinite, as described in the issue description). The Hero would always have a ranking in each ranking system for the competitive class they are currently in.
After every cycle (after teardown - regardless of Task Mode?), there will be an event to recalculate rankings. There will be some calculation of Renown + Competitive Demand. Based on this calculation, rankings in one or all ranking systems will go up or down.
If in top x (?) of any ranking system, there is a chance to earn a title?
If in top x (?) of all ranking systems, there is a chance to move up a competitive class.
What should the criteria be for earning a new Epithet or Sobriquet?

Making much progress. A few things remaining:

[ ] new task type for graduating competitive class
[ ] update logic for earning TrialMajorRewards (now basically just "titles")
[ ] add logic for earning Epithets/Sobriquets
[ ] update CatchUpTaskGenerator!

Going to close this and create new issues for any last details, since this was pretty damn monolithic anyway.


Couldn't find IP

"Error: Couldn't find your ip" everytime I close a thread why is this?

The bot is trying to find the bot's IP to generate links to the log files. If this fails (like it does for you), you can set the address manually with the url config option.

where would I set this url option? and how? sorry I'm not too code at this

Read the config... its pretty obvious and has nothing to do with "code"
On Tue, Jun 4, 2019 at 2:08 PM LastxAlive<EMAIL_ADDRESS>wrote:

where would I set this url option? and how? sorry I'm not too code at this
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Dragory/modmailbot/issues/298?email_source=notifications&email_token=AIPE4Q4P4ZDZDJLBQ5DSQKLPY24TJA5CNFSM4HS624T2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODW5SDHY#issuecomment-498803103,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AIPE4Q2BVRXSBNUHA6LI6QTPY24TJANCNFSM4HS624TQ
.

you see I don't know where to start xD I'm so bad what file do I go in to set it?

Read the instruction

Config options are added to your config.json file, similar to the ones already there. So e.g. in this case, you'd add:
"url": "http://<IP_ADDRESS>:8890" (where <IP_ADDRESS> is your ip, check e.g. https://www.myip.com/)
Between the starting { and ending }. Make sure each line (except the { and }) have a comma at the end.


Fix iOS initial index issue && Bump version

Version

react-native-swiper v1.5.9
react-native v0.44.3

Expected behaviour
Index page is displayed after render
Actual behaviour
First item is displayed, with paging showing correct dot highlighted.
Steps to reproduce
For non-obvious bugs, please fork this component, modify Example project to reproduce your issue and include link here.

Create swiper that takes full width of page
Set non-zero index
Observe first page (with zero index) rendered as initial.

Possibly related to this issue

This merge request is really good! Definitely should be merged as fast as possible

It might fix this issue #503.


Netcore CC insertion in VSIX

@mayankbansal018,
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


Console shows idpiframe_initialization_failederror

@midzer - It seems this error is related to having 3rd party cookies disabled and Google Sign-in. Here's more information on it:

https://stackoverflow.com/questions/42668299/google-auth-api-javascript-idpiframe-initialization-error-on-chrome
https://github.com/google/google-api-javascript-client/issues/260

Can you confirm if this would be the case?

@andreban yeah, without blocking 3rd party cookies this error message disappears for me in Chromium 60 console

Thanks for confirming - The main consequence is that users become unable to login when the 3rd party cookies are disabled. There's no workaround we can do to make it work, but we should consider communicating to the user that they are unable to login because 3rd party cookies are disabled.
There are 2 approaches we can take:

When the page loads, if the error happens, show a toast at the bottom of the screen and disable the login button.
Don't show anything when the page loads, but show the toast when the user tries to login (clicks the login button).


Hope to add clipboard image function

用了截图软件之后，图像并不能显示在clipy记录里面。
After using the screenshot software, the image cannot be displayed in the clipy board.

Hi, facing the same issue with my new mac (Apple chip)
Please please try to fix this, clipy is the best app for clipboard buffer but this feature is so usefull
🙏🏼

Me too. Luckily I found an old copy of ClipMenu.dmg in Time Machine which still runs so I'm not dependent on this, but it'd be nice to get it fixed.


Show a user's score on the profile page along with each activity that gave them a score.

@fredfalcon There's no API for this

Api is done

@fredfalcon  Can you  please assign me this issue .

@just-ary27 can you please tell where can i check the api end point where i can check the users points also i needed suggestion regarding usermodel should i add a score field and score field list in the user model or should i create a new model .

@solo-daemon You can see the documentation for API's here https://www.bugheist.com/swagger/


Custom Clean Targeting Wrong Room

Describe the bug
When triggering a Custom Clean via the custom:xiaomi-vacuum-map-card, the robot is sent to the wrong room.  When I select a room with entity_id: select.dusty_room_7_name and push start.  The robot starts cleaning in room with entity_id: select.dusty_room_9_name.  The log shows:
2024-07-19 09:03:31.056 INFO (SyncWorker_47) [custom_components.dreame_vacuum.dreame.device] Send action START_CUSTOM [{'piid': 1, 'value': 18}, {'piid': 10, 'value': '{"selects":[[9,1,1,2,1]]}'}]
I assume the '9' in the service above corresponds to room 9 which is the wrong room being triggered.  After the cleaning starts, the map card properly shows the "wrong" room in which the robot is cleaning as active.  The same mismatch occurs when triggered from 2 different phones and my desktop.  When triggered through the Dreame app, everything works perfectly.  Not all rooms are misbehaving.  Reloading Resources does not stop the issue.
To Reproduce
Open the vacuum map card and toggle to Rooms cleaning mode.  Select a room with entity_id: select.dusty_room_7_name and push start.  The robot starts cleaning in room with entity_id: select.dusty_room_9_name.
Expected behavior
The room selections should trigger the proper room
Screenshots
Selecting:

Cleaning:

Additional Information (please complete the following information)

Model Name: dreame.vacuum.r2228o
Firmware Version: 4.3.9_3204
Home Assistant Version: 2024.6.4
Configuration Type: With Map Support
Errors or warnings shown in the HA logs (if applicable): Log snippet included above

Thanks for the awesome integration!

That worked--thanks!


Remote GLB model loading error [MR Partner Hack]

Describe the bug
Fails to load a remote GLB model using the provided TestGlbLoading.cs script in the Glb-Loading-Demo.unity scene. We've attached the model that we tried to load. It works using the Khronos UnityGLTF loader and the online GLTF Viewer. Link to the asset that didn't load at Plattar Staging Server (direct link). Cheers!
To reproduce

Open Glb-Loading-Demo.unity scene
Paste url (https://cdn-staging.plattar.space/models/d7651610-8ce2-11e9-9889-3b4e7b1e6cdf/model-conv.glb) in the url box of the TestGlbLoading.cs script
Run

Expected behavior
A tap should be loaded and visible
Screenshots
If applicable, add screenshots to help explain your problem.
Your Setup (please complete the following information)

Unity Version Tested using Unity 2018.3.x and 2019.1.x
MRTK Version RC2

Target Platform (please complete the following information)

Unity Editor
HoloLens 2

It's failing on checking the gltf magic number.
https://github.com/KhronosGroup/glTF/blob/master/specification/2.0/README.md#glb-file-format-specification
When attaching the debugger, I see that 'glTF' isn't the first four bytes. However, If I download the referenced file above via web browser and open in notepad, it does begin with 'glTF'. This suggests some issue with the UnityWebRequest responseData?


[C++][Python] replace_substring_regex hangs indefinitely for negative max_replacements

Describe the bug, including details regarding any error messages, version, and platform.
pa.compute.replace_substring_regex("abc", "", "", max_replacements=-3)
This call hangs indefinitely
>>> pa.__version__
'14.0.0'

Component(s)
C++, Python

Thank you for opening an issue @rohanjain101 !
I have to agree that the docs are not clear about the max_replacements keyword and after a bit of a search in the codebase it is clear that only positive values are supported, negative (-1) means unlimited replacements as the comment in the pandas issue suggests.
In Python max_replacements can be supplied as a keyword and is added to the ReplaceSubstringOptions class
https://github.com/apache/arrow/blob/92e56ba8906f40996cc81bc09fca10c4d53b32fa/python/pyarrow/_compute.pyx#L1177
which unfortunatelly has no additional information
https://arrow.apache.org/docs/python/generated/pyarrow.compute.ReplaceSubstringOptions.html#pyarrow.compute.ReplaceSubstringOptions
There is a bit of additional information in the C++ docs (see notes of the String transforms table):

If ReplaceSubstringOptions::max_replacements != -1, it determines the maximum number of replacements made, counting from the left.

which would suggest the method only accepts positive max_replacements as it is only counting from the left.
And if we look at the code of ReplaceString in the C++ we see that max_replacements is decremented until == 0
https://github.com/apache/arrow/blob/92e56ba8906f40996cc81bc09fca10c4d53b32fa/cpp/src/arrow/compute/kernels/scalar_string_ascii.cc#L2008-L2026
leading to the issue on hanging as reported.
I think the check for negative values should be added on the C++ side together with additional info in the docs.
This would be a good first issue if anybody is interested!

Hello,
I am new to Apache arrow and am interested in contributing to this issue. Is it okay if I begin working on it?

Hi @mason142 , sure! Contributions are very welcome!
Feel free to ping us for questions and review 👍

@AlenkaF , the pull request #39264 is awaiting review!  Also, there was another small issue I noticed while working on this problem. It seemed that there was a relatively large test file (scalar_string_test.cc) that was left out of the build. I decided to add it into the compute/kernels/CMakeLists.txt file in the pull request without creating another issue. Was this the correct protocol?


[5.3] Allow control over the short property on slack attachment fields.

In order to give access to the short setting on a Slack attachment field, optionally allow an array to be passed in.  This provides a way to set short to false when we need it.
Example configuration could then be:
->fields([
    'ID'     => 99,
    [
        'title' => 'Description',
        'value' => $description,
        'short' => false,
    ],
]);

As opposed to:
->fields([
    'ID' => 99,
    'Description' => $description,
]);

This ensures that description will be nicely rendered on it’s own line in Slack.  Without this, Slack will render it in 50% width even when it is not necessary (mobile = always, desktop = if next to another field) which does not look nice.

This kind of leaks implementation details. Would be better to have like a ShortField or LongField object that you set as the value IMO.


tests: minor improvements

Use spec context and timeouts per spec

the BeforeEach time also uses this same timeout (https://onsi.github.io/ginkgo/#the-spectimeout-and-nodetimeout-decorators)

Move creating toystore app into Before/After Suite as there's a large cost to this since deleting a namespace containing a toystore app takes a lot longer than without
Add AfterSuite/AfterEach context timeouts

Ran integration tests with the latest changes on CI 6 times already and all passed which suggests the changes might be stable now.
Average runtime in now 34mins with these changes

Last 10 integration test runs has all passed so the changes here are stable at least


Possibly add multi request handler functionality

Currently Revolution only allows the use of a single request handler and if more than one request handler is included in the modules then the last one that was loaded will be used.
This shouldn't be the case and either

All request handlers that are loaded should be used when a request is taken in
User should be notified that there are multiple request handlers and the server will be closed.

Either one of these options can be done or if you have your own creative solution feel free to suggest it.

I'd say that if each request handler had flags attached to it's requests and a central module were used to detect the flag and then pass the request on to the appropriate module, may solve this problem

The idea is that the the main file will be the centrepoint of it and everything else stems from it, having one required module (consoleHandler) is bad enough.

logically said module would only have to be loaded in scenarios where multiple request handlers are  loaded

Fair point actually. Could just be an optional module to enable multihandler functionality.
Still I would prefer it to be integrated into the main framework if possible.

it's an effective temporary solution and could eventually be merged into the main framework in theory.

All in all I would like to keep existing compatibility with existing modules such as EUS, as a compromise it could be an option in the config file?

that would work quite nicely

Yeah, could be a case of asking the user if they would like to load in compatibility mode with multirequest disabled. Or just flat out disabling multirequest in the framework from the module.

Because some can't be updated to handle stuff like this.

that makes sense

How about, if a module states it doesn't work with multireq then shutdown the server with a message saying so.

that should work

You know, thinking about it, this is a web server and it's not really needed.
The functionality could be added in a module if someone wished to have it so i'll close this.


amend for integration test

integration test add-ons

@luolanzone Still have the delete ResourceExports problem.
Some temp codes in serviceexport_controller.go
err := remoteCluster.Get(ctx, resExpNamespaced, resExp)                                      // For testing remoteCluster.Delete, To delete 	klog.Infof("svc get err: %v", err)                                                           // For logging result of remoteCluster.Get, To delete 	err = remoteCluster.Delete(ctx, svcResExport, &client.DeleteOptions{}) 	klog.Infof("svc err: %v", err)                         // For logging result of remoteCluster.delete, To delete 	err = remoteCluster.Get(ctx, resExpNamespaced, resExp) // For testing remoteCluster.Delete, To delete 	klog.Infof("svc get err: %v", err)                     // For logging result of remoteCluster.Get, To delete
seems like the deleting part does not work for the case, maybe the parameter is not right, but not sure about the situation of other cases. The case from my side is like this:
•I1118 16:27:19.840400  654219 serviceexport_controller.go:316] leaderNamespace: leader-ns I1118 16:27:19.845667  654219 serviceexport_controller.go:323] svc get err: <nil> I1118 16:27:19.850627  654219 serviceexport_controller.go:325] svc err: <nil> I1118 16:27:19.852721  654219 serviceexport_controller.go:327] svc get err: <nil>
which says that when the remotecluster.Delete does not return an IsNotFound, the remotecluster.Get before deleting and after deleting are both good, it cannot be deleted

@bangqipropel  ok, I will take a look later, thanks.


add a new MOBILE_RELEASE_ASSERT macro to implement assertion for Envoy Mobile only

Commit Message: Add a new MOBILE_RELEASE_ASSERT macro to implement assertion for Envoy Mobile only
Additional Description: Sometimes when investigating an Envoy Mobile issue, it's helpful to add some assertions to make sure invariables are respected. Doing a normal RELEASE_ASSERT affects servers and puts a lot more at stake.
Risk Level: Low
Testing: n/a
Docs Changes: n/a
Release Notes: n/a
Platform Specific Features: Envoy mobile feature

/assign @RyanTheOptimist


capture(cdc): adjust the rate limiter for campaign the owner.

What problem does this PR solve?

Issue Number: close #6324
What is changed and how it works?
Check List
Tests

Manual test (add detailed scripts or steps below)

Deploy 2 cdc instances, call open api resign owner frequently, owner can be elected instantaneously.
Questions
Will it cause performance regression or break compatibility?
Do you need to update user documentation, design documentation or monitoring documentation?
Release note
`None`

Codecov Report

Merging #6325 (dc8de30) into master (bcb773a) will increase coverage by 0.1433%.
The diff coverage is 69.8507%.

Flag
Coverage Δ

cdc
65.9717% <69.0909%> (+0.0977%)
:arrow_up:

dm
51.9307% <65.6587%> (+0.0579%)
:arrow_up:

engine
63.5622% <78.6764%> (+0.4653%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.
@@               Coverage Diff                @@
##             master      #6325        +/-   ##
================================================
+ Coverage   59.0443%   59.1877%   +0.1433%
================================================
  Files           736        746        +10
  Lines         85346      85881       +535
================================================
+ Hits          50392      50831       +439
- Misses        30483      30552        +69
- Partials       4471       4498        +27

/merge

/run-all-tests

/run-leak-test


Conditional include with variables

Hi!
What if you would do conditional include with variables, not just arguments:
@@include('tmp.html', {"nav": true})

@@if(nav) {
    @@include('nav.html')
}

P.S.
In documentation a little mistake. "If" with just one "@"

I can confirm this is still not working.My example is exactly that of @TrySound

@DanielTate yes, this is not working for now

0.8.0 published!


Correct command for policy

On video this is written.
set-executionpolicy -s cu unrestricted
But docs says this which it not working
Set-ExecutionPolicy RemoteSigned -scope CurrentUser

The Video is outdated. Please use:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser


Basic Auth bad error response parsing

Using Basic Auth according to
https://weaviate.io/developers/weaviate/current/client-libraries/java.html#authentication
works very fine, but when I use wrong credentials, then I receive the following error
[WeaviateErrorMessage(message=java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $)]

This was for the old auth implementation, closing :)