[Package Issue]: MartiCliment.UniGetUI — dependency requires elevated installation, actual package denies elevated installation

Please confirm these before moving forward

[x] I have searched for my issue and not found a work-in-progress/duplicate/resolved issue.
[x] I have not been informed if the issue is resolved in a preview version of the winget client.

Category of the issue
Installation issue.
Brief description of your issue
Running installation elevated, the following error is shown:
>winget install -e --id MartiCliment.UniGetUI
The installer cannot be run from an administrator context.

then running the same command from an unelevated context, the following error occurs instead:
>winget install -e --id MartiCliment.UniGetUI
Found UniGetUI (formerly WingetUI) [MartiCliment.UniGetUI] Version 3.1.3
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
This package requires the following dependencies:
  - Packages
      Microsoft.EdgeWebView2Runtime [>= 129.0.2792.89]
      Microsoft.VCRedist.2015+.x64 [>= 14.40.33816.0]
(1/2) Found Microsoft Edge WebView2 Runtime [Microsoft.EdgeWebView2Runtime] Version 131.0.2903.86
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Downloading https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/7a700eba-24af-452b-88f1-7625cf472b9b/MicrosoftEdgeWebView2RuntimeInstallerX64.exe
  ██████████████████████████████   173 MB /  173 MB
Successfully verified installer hash
Starting package install...
Installer failed with exit code:<PHONE_NUMBER>

The latter seems to be related to #192036
Steps to reproduce

Open elevated prompt
Run winget install -e --id MartiCliment.UniGetUI (elevated), you get the error The installer cannot be run from an administrator context.
Open an unprivileged prompt
Re-run winget install -e --id MartiCliment.UniGetUI (unprivileged)

Actual behavior
>winget install -e --id MartiCliment.UniGetUI
Found UniGetUI (formerly WingetUI) [MartiCliment.UniGetUI] Version 3.1.3
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
This package requires the following dependencies:
  - Packages
      Microsoft.EdgeWebView2Runtime [>= 129.0.2792.89]
      Microsoft.VCRedist.2015+.x64 [>= 14.40.33816.0]
(1/2) Found Microsoft Edge WebView2 Runtime [Microsoft.EdgeWebView2Runtime] Version 131.0.2903.86
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Downloading https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/7a700eba-24af-452b-88f1-7625cf472b9b/MicrosoftEdgeWebView2RuntimeInstallerX64.exe
  ██████████████████████████████   173 MB /  173 MB
Successfully verified installer hash
Starting package install...
Installer failed with exit code:<PHONE_NUMBER>

Expected behavior
I expected the installation to succeed. Alternatively I would have expected winget to "drop" elevation when invoking an installer that explicitly doesn't want to run this way.
The latter can be achieved by locally setting the variable __compat_layer to RunAsInvoker. See here and here (I'm the author). To the best of my knowledge both the variable name and its value are case-insensitive.
Environment
winget --info
Windows Package Manager v1.9.25200
Copyright (c) Microsoft Corporation. All rights reserved.

Windows: Windows.Desktop v10.0.26100.2605
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.24.25200.0

Winget Directories
-----------------------------------------------------------------------------------------------------------------------
Logs                               %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\Diag…
User Settings                      %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\sett…
Portable Links Directory (User)    %LOCALAPPDATA%\Microsoft\WinGet\Links
Portable Links Directory (Machine) C:\Program Files\WinGet\Links
Portable Package Root (User)       %LOCALAPPDATA%\Microsoft\WinGet\Packages
Portable Package Root              C:\Program Files\WinGet\Packages
Portable Package Root (x86)        C:\Program Files (x86)\WinGet\Packages
Installer Downloads                %USERPROFILE%\Downloads

Links
---------------------------------------------------------------------------
Privacy Statement   https://aka.ms/winget-privacy
License Agreement   https://aka.ms/winget-license
Third Party Notices https://aka.ms/winget-3rdPartyNotice
Homepage            https://aka.ms/winget
Windows Store Terms https://www.microsoft.com/en-us/storedocs/terms-of-sale

Admin Setting                             State
--------------------------------------------------
LocalManifestFiles                        Disabled
BypassCertificatePinningForMicrosoftStore Disabled
InstallerHashOverride                     Disabled
LocalArchiveMalwareScanOverride           Disabled
ProxyCommandLineOptions                   Disabled
DefaultProxy                              Disabled

Screenshots and Logs
No response

@denelon - If I'm not mistaken, this belongs over at CLI


Multi GPU checkpoints

Hello,
first of all is this a nice paper.
Im having problems with your way of checkpointing. I was training this on a multi GPU server (5 GPUs) and looking into the code i saw that you save the model as module when using multi GPU. The problem im facing is that the checkpoint (for example g_01000000) is somehow shown as an zip archive (linux tells me that) and I cant figure out how to load it in.
Thanks for your help

I've faced this issue currently. The best way is to use previous checkpoint (eg: g_09500000) and continue to train from this step, last checkpoint might failed to save completely (was corrupted).


Fix resetting of "Create Stream" form when clicked on header of "Manage Streams"

Fixes: Issue #21785

Screenshots and screen captures:
https://user-images.githubusercontent.com/86338542/172916606-ca77ccb7-9ee3-4079-ae66-21eda22be7bf.mp4
Self-review checklist

[X] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[X] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[X] Each commit is a coherent idea.
[X] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[X] Visual appearance of the changes.
[X] Responsiveness and internationalization.
[X] Strings and tooltips.
[X] End-to-end functionality of buttons, interactions and flows.
[X] Corner cases, error conditions, and easily imagined bugs.

@aparna-bhatt is this an update on a previous PR, and if so, which one? Thanks!

@alya I have made a new PR.

How does this PR relate to https://github.com/zulip/zulip/pull/21983?

Hey @alya as by mistake I had deleted my forked repo so for this issue I had made a  new PR and this PR has no relation with #21983.

I'm confused -- it looks like https://github.com/zulip/zulip/pull/21983 was trying to resolve the same issue?
Since we spent time reviewing that PR, I want to make sure we have the full context of prior work/reviews described here.

@alya yeah the same changes I have made in this PR also. But because I had to change the commit message and my forked repo got deleted so made the new PR with same changes.

@alya you can compare the changes its the same .

Got it. For future reference, making a note that it's the same upfront would have been very helpful and would help your work get reviewed more quickly.

Yeah I will take care of this in future.
Thanks!

Merged, after writing a commit message providing a more clear explanation of the issue. Thanks for the contribution @aparna-bhatt!

Thank you!


Solving merge conflicts

There are a few operations that are currently more intuitive with GUI tools, resolving merge conflicts and visually staging selected hunks.
Neogit excels at the former, and https://github.com/samoshkin/vim-mergetool does a remarkably good job at simplifying the process of solving merge conflicts.
With vim-mergetool, the only think you need to do, is to open a file with conflict marks, type :MergeToolToggle, and get a very simple two way split. Merging becomes a matter of :diffthis / :diffother. When you are done, type :MergeToolToggle again.
I would love to see this feature in Neogit, to have one intuitive git plugin that can handle both of these visual tasks.

I believe vim already supports merges by default using :h diff so we can reuse the diff view code for this once merged.
I recently had a lot to do in a different OS project of mine so I kept this one more in the backlog. I now have more free time so I should be able to finish this PR as well as this feature. (As long as I am not misscoping this atm)

Perfect!
Yes, vim supports :diff, it but does not, afaik, understand git hunks, so the merging leaves a lot to be desired.
Merging not just hunks, but visually selected lines, as you already support with staging, would make this plugin second to none.
Great work!

@ilAYAli, you can use https://github.com/lewis6991/gitsigns.nvim for this purpose.

@Shatur95 gitsigns is somewhat beneficial for indicating changes, but does not help with the merge process.
Complex merging often requires selecting only certain (partial) lines of a hunk, on a finer granularity than e.g git add -p. This, preferably with a two/three way diff, similar to the plugin I mentioned above, is what I hope can be implemented in Neogit.

@ilAYAli, it also allows you to stage changes, check it out. But granular staging is in progress.

@Shatur95 Nice, I did’t know that!
I would still like this feature in Neogit, where it, IMHO, is a better suited than git signs ;)

I would still like this feature in Neogit, where it sounds more appropriate than git signs ;)

I think that when you are just editing text, it is also convenient to be able to stage hunks that you see, not only in diff. If this functionality is in Neogit, then staging will be handled differently in two different plugins. I don't think it makes sense to reinvent the wheel. Just my opinion.

The current plan is to implement merge conflict resolution in diffview.nvim and then just reuse the existing integration to support this.

I think that when you are just editing text, it is also convenient to be able to stage hunks that you see, not only in diff. If this functionality is in Neogit, then staging will be handled differently in two different plugins

I think this isn't a problem, because these are just separate workflows. Someone might prefer the infile staging whereas someone else might want to have staging be a separate thing.

I don't think it makes sense to reinvent the wheel

I also don't want to reinvent the wheel that is why I am currently deferring this kind of work to diffview.nvim.

Just my opinion.

👍

The current plan is to implement merge conflict resolution in diffview.nvim and then just reuse the existing integration to support this.

Of course, @ilAYAli just asked about staging and I only answered about staging hunks.

I think this isn't a problem, because these are just separate workflows. Someone might prefer the infile staging whereas someone else might want to have staging be a separate thing.

There might be hotkey conflicts ... But any plugin that support staging works fine with diffview.nvim right now.

There are a few operations that are currently more intuitive with GUI tools, resolving merge conflicts and visually staging selected hunks. Neogit excels at the former, and https://github.com/samoshkin/vim-mergetool does a remarkably good job at simplifying the process of solving merge conflicts.
With vim-mergetool, the only think you need to do, is to open a file with conflict marks, type :MergeToolToggle, and get a very simple two way split. Merging becomes a matter of :diffthis / :diffother. When you are done, type :MergeToolToggle again.
I would love to see this feature in Neogit, to have one intuitive git plugin that can handle both of these visual tasks.

HI sir, I tried pasting the nmap from the documentation into my vimrc but still the hotkey doesn't work, can you share how you add hotkey to MergetoolToggle?

@ilAYAli, you can use https://github.com/lewis6991/gitsigns.nvim for this purpose.

how?


[Feat] File rename support

[Feat] File rename support
Adds support to send file rename notifications to LSP.

@angelosilvestre Made the requested updates and updated the rename flow to launch rename dialog when pressed enter on a file in the tree view.

@angelosilvestre Just pinging you again in case you missed this.


LANG-1082: Add ability to disable DiffBuilder trivially equal test in constructor.

$ svn ci -m "LANG-1082: Add option to disable the "objectsTriviallyEqual" test in DiffBuilder. This fixes #44 from github. Thanks to Jonathan Baker."
Sending        src/changes/changes.xml
Sending        src/main/java/org/apache/commons/lang3/builder/DiffBuilder.java
Sending        src/test/java/org/apache/commons/lang3/builder/DiffBuilderTest.java
Transmitting file data ...
Committed revision 1654131.

Thanks!


gtfparse dependency causes issues with latest numpy, pandas and pyarrow

Report
HI @grst,
just wanted to flag to you that with a fresh installation of latest pandas/numpy in the environment, importing infercnvpy causes this to come back with AttributeError: _ARRAY_API not found similar to problems faced here
https://github.com/spyder-ide/spyder/issues/22187
To reproduce:
mamba create -n testi "python=3.11"
mamba activate testi
pip install infercnvpy
python

import infercnvpy

A module that was compiled using NumPy 1.x cannot be run in
NumPy 2.0.2 as it may crash. To support both 1.x and 2.x
versions of NumPy, modules must be compiled with NumPy 2.0.
Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.

If you are a user of the module, the easiest solution will be to
downgrade to 'numpy<2' or try to upgrade the affected module.
We expect that some modules will need time to support NumPy 2.

Traceback (most recent call last):  File "<stdin>", line 1, in <module>
  File "/opt/homebrew/Caskroom/mambaforge/base/envs/testi/lib/python3.11/site-packages/infercnvpy/__init__.py", line 5, in <module>
    from . import datasets, io, pl, pp, tl
  File "/opt/homebrew/Caskroom/mambaforge/base/envs/testi/lib/python3.11/site-packages/infercnvpy/datasets/__init__.py", line 5, in <module>
    import scanpy as sc
  File "/opt/homebrew/Caskroom/mambaforge/base/envs/testi/lib/python3.11/site-packages/scanpy/__init__.py", line 20, in <module>
    from ._utils import check_versions
  File "/opt/homebrew/Caskroom/mambaforge/base/envs/testi/lib/python3.11/site-packages/scanpy/_utils/__init__.py", line 27, in <module>
    from anndata import __version__ as anndata_version
  File "/opt/homebrew/Caskroom/mambaforge/base/envs/testi/lib/python3.11/site-packages/anndata/__init__.py", line 24, in <module>
    from ._core.anndata import AnnData
  File "/opt/homebrew/Caskroom/mambaforge/base/envs/testi/lib/python3.11/site-packages/anndata/_core/anndata.py", line 18, in <module>
    import pandas as pd
  File "/opt/homebrew/Caskroom/mambaforge/base/envs/testi/lib/python3.11/site-packages/pandas/__init__.py", line 26, in <module>
    from pandas.compat import (
  File "/opt/homebrew/Caskroom/mambaforge/base/envs/testi/lib/python3.11/site-packages/pandas/compat/__init__.py", line 27, in <module>
    from pandas.compat.pyarrow import (
  File "/opt/homebrew/Caskroom/mambaforge/base/envs/testi/lib/python3.11/site-packages/pandas/compat/pyarrow.py", line 8, in <module>
    import pyarrow as pa
  File "/opt/homebrew/Caskroom/mambaforge/base/envs/testi/lib/python3.11/site-packages/pyarrow/__init__.py", line 65, in <module>
    import pyarrow.lib as _lib
AttributeError: _ARRAY_API not found

A module that was compiled using NumPy 1.x cannot be run in
NumPy 2.0.2 as it may crash. To support both 1.x and 2.x
versions of NumPy, modules must be compiled with NumPy 2.0.
Some module may need to rebuild instead e.g. with 'pybind11>=2.12'.

If you are a user of the module, the easiest solution will be to
downgrade to 'numpy<2' or try to upgrade the affected module.
We expect that some modules will need time to support NumPy 2.

Traceback (most recent call last):  File "<stdin>", line 1, in <module>
  File "/opt/homebrew/Caskroom/mambaforge/base/envs/testi/lib/python3.11/site-packages/infercnvpy/__init__.py", line 5, in <module>
    from . import datasets, io, pl, pp, tl
  File "/opt/homebrew/Caskroom/mambaforge/base/envs/testi/lib/python3.11/site-packages/infercnvpy/datasets/__init__.py", line 5, in <module>
    import scanpy as sc
  File "/opt/homebrew/Caskroom/mambaforge/base/envs/testi/lib/python3.11/site-packages/scanpy/__init__.py", line 20, in <module>
    from ._utils import check_versions
  File "/opt/homebrew/Caskroom/mambaforge/base/envs/testi/lib/python3.11/site-packages/scanpy/_utils/__init__.py", line 27, in <module>
    from anndata import __version__ as anndata_version
  File "/opt/homebrew/Caskroom/mambaforge/base/envs/testi/lib/python3.11/site-packages/anndata/__init__.py", line 24, in <module>
    from ._core.anndata import AnnData
  File "/opt/homebrew/Caskroom/mambaforge/base/envs/testi/lib/python3.11/site-packages/anndata/_core/anndata.py", line 18, in <module>
    import pandas as pd
  File "/opt/homebrew/Caskroom/mambaforge/base/envs/testi/lib/python3.11/site-packages/pandas/__init__.py", line 49, in <module>
    from pandas.core.api import (
  File "/opt/homebrew/Caskroom/mambaforge/base/envs/testi/lib/python3.11/site-packages/pandas/core/api.py", line 9, in <module>
    from pandas.core.dtypes.dtypes import (
  File "/opt/homebrew/Caskroom/mambaforge/base/envs/testi/lib/python3.11/site-packages/pandas/core/dtypes/dtypes.py", line 24, in <module>
    from pandas._libs import (
  File "/opt/homebrew/Caskroom/mambaforge/base/envs/testi/lib/python3.11/site-packages/pyarrow/__init__.py", line 65, in <module>
    import pyarrow.lib as _lib
AttributeError: _ARRAY_API not found

I found that it's becausse gtfparse has a super strict pyarrow requirement
Related to: https://github.com/openvax/gtfparse/issues/47
Forcing installation with pyarrow>=17.0.0 gets around this but i just have to deal with the pip dependency resolver error.
Version information
No response

thanks for reporting... gtfparse again, I should try to get rid of that package somehow.

I believe the best solution is to introduce alternative ways of retrieving the genomic positions, see https://github.com/icbi-lab/infercnvpy/issues/144


update gemfile dependencies, and fix new rubocop warnings

This is primarily to update stringer dependencies and the ruby version, but that updated rubocop (ruby linter) and capybara (used in testing). With the new rubocop version, a number of small changes were prompted to fix style issues, disable notifications in a couple places, remove a disable because it's no longer needed, etc. With the new version of capybara a configuration setting was needed, which required a couple small changes.

@dperson this many upgrades at the same time makes me a tad nervous. Would you be up for breaking it up into a handful of PRs? It might be nice to have the Rubocop changes on their own PR, and I generally like to give a Ruby upgrade its own PR as well.

@mockdeep That's fine by me. I had made most of these changes over time in my branch and been running them for quite a while. I split off the ones that seemed to have the most core use in the platform rack & sinatra, activerecord, and feedjira. To me these were the long tail support gems. I'm more than happy to break them up into smaller chunks though. Do you have a preference on what order? and did you want just the 3 mentioned?

rubocop
remainder
ruby

OR based on Gemfile groups:

dev gems
dev test gems
production (pg (postgres) and unicorn)
remainder
ruby

NOTE: I'm working on the OpenURI conversion of feedjira, and hope to have that for you soon too. Working at figuring out the test system, it's not happy with the new read function being called.

@dperson good question. I like your idea of splitting off by gem group, though I don't think they need to be split up too much. Maybe something like:

rubocop
other dev/test gems
production gems
ruby

That's assuming you aren't doing any major upgrades in the production gems, yet. For something like ActiveRecord I might bump it individually to 5.x and then 6.x.
For the OpenURI stuff, feel free to push up a branch and I can take a look. Testing is one of my specialties.

Sounds good to me.


[KYUUBI #4255][AUTHZ] Add authz for describe relation

Why are the changes needed?
During a describe table call, if the table it's a v2 table, it's a DescribeRelation a not a DescribeTableCommand.
So DescribeRelation should have same authorization than DescribeTableCommand.
Fix https://github.com/apache/kyuubi/issues/4255
How was this patch tested?

[x] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[x] Run test locally before make a pull request

Can you add some ut for V2CommandsPrivilegesSuite ?

Codecov Report

Merging #4257 (9cfba44) into master (534fc9f) will decrease coverage by 0.04%.
The diff coverage is n/a.

:exclamation: Current head 9cfba44 differs from pull request most recent head 76b381a. Consider uploading reports for the commit 76b381a to get more accurate results

@@             Coverage Diff              @@
##             master    #4257      +/-   ##
============================================
- Coverage     53.50%   53.46%   -0.04%
  Complexity       13       13
============================================
  Files           560      560
  Lines         30412    30412
  Branches       4081     4081
============================================
- Hits          16271    16261      -10
- Misses        12643    12648       +5
- Partials       1498     1503       +5

Impacted Files
Coverage Δ

...uubi/engine/spark/events/SparkOperationEvent.scala
88.88% <0.00%> (-5.56%)
:arrow_down:

.../apache/kyuubi/server/api/v1/BatchesResource.scala
70.09% <0.00%> (-2.81%)
:arrow_down:

.../kyuubi/engine/spark/operation/ExecutePython.scala
81.46% <0.00%> (-0.87%)
:arrow_down:

...n/scala/org/apache/kyuubi/engine/ProcBuilder.scala
78.39% <0.00%> (-0.62%)
:arrow_down:

...rc/main/scala/org/apache/spark/ui/EnginePage.scala
78.97% <0.00%> (-0.29%)
:arrow_down:

...kyuubi/engine/KubernetesApplicationOperation.scala
22.53% <0.00%> (ø)

...ache/kyuubi/operation/KyuubiOperationManager.scala
82.66% <0.00%> (+2.66%)
:arrow_up:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Hi again @bowenliang123,
after checking, it only work if spark is at least 3.2 because of https://issues.apache.org/jira/browse/SPARK-34906
So i add some assume(isSparkV32OrGreater) on tests

Can you add some e2e ut in V2CommandsPrivilegesSuite ?

You could just put the e2e inside the V2CommandsPrivilegesSuite in a way to  prevent duplicate test implementation in  its subclass IcebergCatalogPrivilegesBuilderSuite and V2JdbcTableCatalogPrivilegesBuilderSuite

Hi again @bowenliang123, after checking, it only work if spark is at least 3.2 because of https://issues.apache.org/jira/browse/SPARK-34906
So i add some assume(isSparkV32OrGreater) on tests

As this PR intends to introduce checks for describe table command which already existed prior to 3.2, it should support 3.0 and 3.1 as well. Can you have further investigation in it? You can test them locally with the profile -Pspark-3.1 and -Dspark.version=3.0.x and etc.

As this PR intends to introduce checks for describe table command which already existed prior to 3.2, it should support 3.0 and 3.1 as well. Can you have further investigation in it? You can test them locally with the profile -Pspark-3.1 and -Dspark.version=3.0.x and etc.

Hi @bowenliang123, i found a way as https://issues.apache.org/jira/browse/SPARK-34906 change everthing i put two seperate command, one work for spark 3.0 and 3.1 and the other one work for 3.2 and 3.3
I desactivated the test for 3.0 and 3.1 on IcebergCatalogRangerSparkExtensionSuite as all other test are only for 3.2+

LGTM.

Thanks, merged to master/1.7 .

Thanks for your efforts and contribution to Kyuubi. 🎉 @tprelle
And you may be interested to add your company to the discussion list here.(https://github.com/apache/kyuubi/discussions/925)


Add apps to home screen

Using a helper shortcut (to generate web clips) as well as a url scheme, it is made possible to add apps to home screen.
Next launched app is configured using livecontainer://launchapp?exec=[app name percent encoded].app, then the app can be launched normally.
The helper shortcut (integrated into the app in the settings tab) automates the launching of the app, and the adding of the app to the homescreen (located here: https://www.icloud.com/shortcuts/f777072dfe4d48ada1004c496f76154f)
Solves #61
(please excuse my awful objc code, this is my first time using objective c)

(Also I had no way to test this with jit or trollstore, so I don't know if this would work with that, but it should because all it is doing is automating the didSelectRowAtIndexPath and launchButtonTapped methods (kinda))

Opening the context menu for an app on the list view page will bring up an option to add the app to the home screen, which uses the helper shortcut to add the webclip representation of the app to homescreen

One problem is when the web clip is deleted from the home screen, the corresponding profile isn't deleted along with it, leading to unnecessary clutter in the Profiles tab in Settings

my experience using this fork has been great, however there were some concerns that occurred to me. first, the apps cannot be quickly interchanged between one another (the livecontainer app must be exited and refreshed beforehand). also, the profiles seem to be disappearing after the phone is rebooted. i used cowabunga lite so idk if thats part of the issue, but its something that occurred to me nonetheless.
aside from that, is there a way to customize the shortcuts that the livecontainer helper generates? i have custom icon layouts so that would be a huge help

my experience using this fork has been great, however there were some concerns that occurred to me. first, the apps cannot be quickly interchanged between one another (the livecontainer app must be exited and refreshed beforehand). also, the profiles seem to be disappearing after the phone is rebooted. i used cowabunga lite so idk if thats part of the issue, but its something that occurred to me nonetheless.
aside from that, is there a way to customize the shortcuts that the livecontainer helper generates? i have custom icon layouts so that would be a huge help

Could u help a brother out? kinda struggling with this.

@Vishram1123 Thanks for your contribution. I’ll look into when I have time.

@waveblitzd and @Xhastin1 (sorry for the late response, I am out of the country):

The apps cannot be interchanged as it seems that LiveContainer loads the dylib of the guest app before loading its own AppDelegate, which prevents it from being able to hot swap the currently loaded app. Additionally, there is unfortunately no way to quit the app from within the app, as dlclose-ing the inner app's dylib cannot be done while the inner app is running.

I don't have a MDC-enabled device, so I have no way to test that. However, you can create your own homescreen shortcut by creating a shortcut in the Shortcuts app with two actions: opening the url livecontainer://launchapp?exec=[your app's name percent encoded] and then opening the LiveContainer app

Yes, it is possible, the shortcut is called using a url scheme (shortcuts://run-shortcut?name=LiveContainerHelper&input=[base64 encoded json ({name: app name} for just launching the app, or {name: app name, image: base64 encoded app icon})]), so if you wanted to modify any part of that, you can.

@khanhduytran0 thanks!

The apps cannot be interchanged as it seems that LiveContainer loads the dylib of the guest app before loading its own AppDelegate, which prevents it from being able to hot swap the currently loaded app. Additionally, there is unfortunately no way to quit the app from within the app, as dlclose-ing the inner app's dylib cannot be done while the inner app is running.

You’re right. Moreover, another issue is the internal state of all classes cannot be reset, and leaked memory regions will stay leaked. For example, UIApplicationMain can only be called once.

@waveblitzd and @Xhastin1 (sorry for the late response, I am out of the country):

The apps cannot be interchanged as it seems that LiveContainer loads the dylib of the guest app before loading its own AppDelegate, which prevents it from being able to hot swap the currently loaded app. Additionally, there is unfortunately no way to quit the app from within the app, as dlclose-ing the inner app's dylib cannot be done while the inner app is running.
I don't have a MDC-enabled device, so I have no way to test that. However, you can create your own homescreen shortcut by creating a shortcut in the Shortcuts app with two actions: opening the url livecontainer://launchapp?exec=[your app's name percent encoded] and then opening the LiveContainer app
Yes, it is possible, the shortcut is called using a url scheme (shortcuts://run-shortcut?name=LiveContainerHelper&input=[base64 encoded json ({name: app name} for just launching the app, or {name: app name, image: base64 encoded app icon})]), so if you wanted to modify any part of that, you can.

@khanhduytran0 thanks!

My apologies, i meant as in:
In having trouble setting it up.
im not an expert in this whole coding/shortcuts thing, so i was hoping someone could simplify it perhaps?
i have the shortcut but whenever i launch it,
It says: Can only be launched by LiveContainer.

My apologies, i meant as in:
I’m having trouble setting it up.
im not an expert in this whole coding/shortcuts thing, so i was hoping someone could simplify it perhaps?
i have the shortcut but whenever i launch it,
It says: Can only be launched by LiveContainer.

Oh you don't have to interact with the shortcut directly; simply force click (right click, 3d touch, etc.) one of the apps, then click "Add to Home Screen":

After that, allow the shortcut to add the profile to Settings, install the downloaded profile in Settings, and then you will have your app on the home screen.

Here is a video demo: https://drive.google.com/file/d/1qlq7OY6rh_MYP8GeQk-T2s80963mjyTd/view?usp=drivesdk

My apologies, i meant as in:
I’m having trouble setting it up.
im not an expert in this whole coding/shortcuts thing, so i was hoping someone could simplify it perhaps?
i have the shortcut but whenever i launch it,
It says: Can only be launched by LiveContainer.

Oh you don't have to interact with the shortcut directly; simply force click (right click, 3d touch, etc.) one of the apps, then click "Add to Home Screen":

After that, allow the shortcut to add the profile to Settings, install the downloaded profile in Settings, and then you will have your app on the home screen.

Thats odd.. i dont have a feature like that?

Are you using the Actions artifact from this repo or my fork? What does your Settings tab look like?

Are you using the Actions artifact from this repo or my fork? What does your Settings tab look like? @aqeqe

I hate the GitHub UI cuz its so confusing for me
-but after some trial and error i finally got it to work.
I didn’t know you had your own modified version of Livecontainer, thanks.
https://github.com/khanhduytran0/LiveContainer/assets/157534720/9e763a4e-cb78-4616-a6b0-64b3e0130766
Some apps like Spotify and uYou+ work, but for some weird reason others won’t, like MCPE and Provenance.

Converted this to a draft to make a few more changes to make this a bit more streamlined.

I updated the shortcut and the LiveContainer app to not only launch the app via a url scheme, but also by updating a file with a string. As such, the shortcut (at https://www.icloud.com/shortcuts/291fbac584d04f5e81038fc009c58b8c) requires the user to specify the location of the LiveContainer data folder, so it can modify the nextLaunch file with the new name of the file. The old shortcut should still work, but this prevents the flash that occurs before the app is launched.

the build seems to have failed on your fork, is there a prebuilt ipa for this version yet? i tried using the new shortcut and it just won't work now

missing....semicolon............

https://drive.google.com/file/d/1eGpfnnrvEoIUhsJ5339ZwDX0APctC8re/view?usp=drivesdk
What am i doing wrong? :/

getting the same issue as above

Give the shortcut the LiveContainer folder, not the nested Data folder

i'm getting an error that says "app could not be opened" in shortcuts after changing the folder

Try setting the folder while reinstalling the shortcut?

still getting the issue, is replacing the shortcut good enough or should i be deleting my old one and then reinstalling?

Try setting the folder while reinstalling the shortcut?

https://youtu.be/DmH6YPWhaDY?feature=shared
yeah same problem tho, something’s not right.

Reinstalling should be sufficient; when you scroll down to the very bottom, what does the open command look like?

clicking on LiveContainer next to Open and selecting LiveContainer from the list seemed to fix it for me

Hey @Vishram1123, I don’t know why you closed this issue but this can be made simpler by implementing web clip generator right into LiveContainer and make it open livecontainer URL scheme directly. Very cool idea though.

@khanhduytran0, I closed it because I wasn't proud of the multiple redirects that had to happen when opening a url scheme, and I didn't like how (in my implementation) when handling the url scheme directly through Livecontainer, it would sometimes fail to launch and LiveContainer had to be opened manually. I was thinking of trying to improve this, but I kinda forgot...


Question about choosing multi-image input mode and replacing image decoder

          Thank you for your interest.

Accomplishing a multi-image response with a single instruction can be easily done by adhering to the dataset format found here: https://github.com/Luodian/Otter/blob/9b34a4467581869c67dae7ea2b970f8e6b201d3c/pipeline/mimicit_utils/mimicit_dataset.py#L432
To achieve this, you may follow these steps:

Format your data following the guidelines provided here: https://github.com/Luodian/Otter/tree/main/mimic-it. Assume the prefix of your instruction id is "MED", like so:

"MED_INS_00001": {
            "instruction":"XXX",
            "answer":"XXX.",
            "image_ids":["XXX",",..."], # The multi-images corresponding to this instruction
            "rel_ins_ids":[], # This value can be []. If you have a multi-round conversation, it should be filled with the instruction ids of the other rounds.
        },

Modify this line from:

elif cur_train_id.startswith("SD"):

to:
elif cur_train_id.startswith("SD") or cur_train_id.startswith("MED"):

This is because your instruction uses the same data format (multi-image, one conversation) as the "Spot-the-difference" data.

Begin tuning your data with Otter by altering your specific instruction/image/train configuration from:

--mimicit_path="path/to/DC_instruction.json" \
--images_path="path/to/DC.json" \
--train_config_path="path/to/DC_train.json" \

to:
--mimicit_vt_path="path/to/MED_instruction.json" \
--images_vt_path="path/to/MED.json" \

If you have any further inquiries, don't hesitate to reach out via email. We can also add you to our Slack community for more immediate communication.
Originally posted by @ZhangYuanhan-AI in https://github.com/Luodian/Otter/issues/234#issuecomment-1665564520
I was delighted to stumble upon this remarkable project. Thank you for your valuable contribution.
I am now doing a medical image(with multi slices and one description for each patient) captioning task. According to the above comment, I formed the training data MED.json and MED_instruction. Here's how the instruction json looks like:
{
"meta": {
"version": "",
"time": "",
"author": ""
},
"data": {
"test_INS_00000": {
"instruction": "",
"answer": ".\n ",
"image_ids": [
"MED_IMG_1",
"MED_IMG_2",
"MED_IMG_3",
"MED_IMG_4",
"MED_IMG_5",
"MED_IMG_6",
"MED_IMG_7",
"MED_IMG_8",
"MED_IMG_9",
"MED_IMG_10",
"MED_IMG_11",
"MED_IMG_12",
"MED_IMG_13",
"MED_IMG_14",
"MED_IMG_15",
"MED_IMG_16",
"MED_IMG_17",
"MED_IMG_18",
"MED_IMG_19",
"MED_IMG_20",
"MED_IMG_21",
"MED_IMG_22",
"MED_IMG_23",
"MED_IMG_24"
],
"rel_ins_ids": []
},
.....
}
The version of Otter I'm using is the 8/17 commit, and I've successfully got the generated caption and evaluated them with BLEU and CIDEr. However, I accidentally discovered that using the VQA mode has on par performance compared to SD mode, and different instruction is resulting in more diverse performance. Does that mean the SD mode doesn't suit my training scenerio, and VQA mode can help me test my instructions?
Furthermore, I'm trying to use the BiomedCLIP image decoder like the LLaVA-Med paper did. However, the 0817 instruction_following.py had no customized_config statement, and adding customized_config statements on the instruction_following.py from the 0830 commit does nothing. The resulting checkpoint config still writes CLIP.
Here's the config.json I created as the 0830 commit suggested.
{
"model_type": "otter",
"cross_attn_every_n_layers": 4,
"tie_word_embeddings": false,
"use_media_placement_augmentation": true,
"only_attend_previous": true,
"text_config": {
"_name_or_path": "luodian/llama-7b-hf",
"model_type": "llama"
},
"vision_config": {
"_name_or_path": "microsoft/BiomedCLIP-PubMedBERT_256-vit_base_patch16_224",
"model_type": "clip_vision_model",
"hidden_size": 768,
"intermediate_size": 3072,
"num_attention_heads": 12,
"num_hidden_layers": 12,
"image_size": 224,
"patch_size": 16
}
}
Looking forward to exploring this topic and citing you and your colleagues on any possible publication!

Does that mean the SD mode doesn't suit my training scenario, and VQA mode can help me test my instructions?
In your case, one instruction pairing with multiple images, we recommend to use SD mode. Though the achieved performance based on SD mode or VQA mode might be same in your case, the SD mode is logically reasonable in your data construction scenario.

Does that mean the SD mode doesn't suit my training scenario, and VQA mode can help me test my instructions?
In your case, one instruction pairing with multiple images, we recommend to use SD mode. Though the achieved performance based on SD mode or VQA mode might be same in your case, the SD mode is logically reasonable in your data construction scenario.

Thank you so much for your reply. We'll continue on our SD experiment.
Regarding the vision encoder, do you have any solution to replacing it?

Maybe one solution is injecting the parameter of "microsoft/BiomedCLIP-PubMedBERT_256-vit_base_patch16_224" into Otter checkpoint


Add company_register page

Closes: https://github.com/comarev/comarev-dashboard/issues/14
Closes: https://github.com/comarev/comarev-dashboard/issues/25
What?

[x] Add react-hook-form lib
[x] Add CompanyRegister page
[x] Add companies/new route
[x] Add FormError component
[x] Add CompanyForm component
[x] Add styles

Why?
Where admins will be able to create new campaigns
How it has been tested?
Integration specs for those components with jest
Screenshots

Form Error:

Also, remember to rename the files to the js pattern using dash instead of the underscore.


The key interface is messy

Internally to a configurable, the best current way to do anything is basically to use Key.get. That's not great.

Mostly solved, there are still some Key.get here and there, but mostly because it's not converted to if_impl.


[OAP-2001][oap-native-sql]fix coding style

Signed-off-by: Yuan Zhou<EMAIL_ADDRESS>What changes were proposed in this pull request?
fix coding style
How was this patch tested?
locally verified

Fix #1979


Nil Pointer Dereference During Lookup Join

Environment:

eKuiper version: 1.14.6-full
Hardware configuration (e.g. lscpu):

OS (e.g. cat /etc/os-release): Debian GNU/Linux 11 (bullseye)"
Others:  deploymen as docker container, image version: docker pull lfedge/ekuiper:v1.14.6-full

We are encountering a runtime error when attempting to enrich sensor data with lookup table data in the enrichSesnorWithLookupRoom rule. The error indicates a nil pointer dereference in the lookup node of the pipeline.
Steps to Reproduce:

Setup Aggregated Table: Aggregated sensor data from the ekuiperSensor stream using the SQL query:

    SELECT
      key,
      LATEST(temperature) AS temperature,
      LATEST(humidity) AS humidity,
      LATEST(pressure) AS pressure
    FROM
      ekuiperSensor
  GROUP BY key, TUMBLINGWINDOW(ss, 60);

Data is sent to the ekuiper.sensor.aggregation topic.

Setup Lookup Table: A lookup table (lookupTable) is configured to pull data from an HTTP REST endpoint:
table config:

{
    "Name": "lookupTable",
    "StreamFields": null,
    "Options": {
        "key": "deviceId",
        "format": "json",
        "confKey": "lookupTable",
        "type": "httppull",
        "kind": "lookup"
    },
    "StreamType": 1,
    "Statement": null
}

source config key:
{
 "lookupTable": {
        "bodyType": "json",
        "incremental": true,
        "insecureSkipVerify": false,
        "interval": 10000,
        "method": "get",
        "oauth": {
            "access": {},
            "refresh": {}
        },
        "responseType": "code",
        "timeout": 500,
        "url": "http://<IP_ADDRESS>:3000/room"
    }
 }

response from REST API
[
    {
        "roomId": "ae440646-95a3-4367-b3a7-7fc836111d68",
        "deviceId": "zigbee2mqtt/TermometrSalon",
        "id": "zigbee2mqtt/TermometrSalon"
    },
    {
        "roomId": "542a7f00-f1d7-4ff1-a6c5-022187638daa",
        "deviceId": "DEV-1",
        "id": "DEV-1"
    },
    {
        "roomId": "41c8df49-44bc-4aaf-a3d5-66e1fda95919",
        "deviceId": "DEV-2",
        "id": "DEV-2"
    },
    {
        "roomId": "e4f94c67-b37c-495d-a4e4-2801bdb84303",
        "deviceId": "DEV-3",
        "id": "DEV-3"
    },
    {
        "roomId": "04d68026-2287-49c9-bec3-bb522af37088",
        "deviceId": "DEV-4",
        "id": "DEV-4"
    },
    {
        "roomId": "80d96222-cdc3-4dae-a89f-d95c815a6288",
        "deviceId": "DEV-6",
        "id": "DEV-6"
    },
    {
        "roomId": "145171df-aee4-4f2c-b453-ff3fc4e200cb",
        "deviceId": "DEV-7",
        "id": "DEV-7"
    },
    {
        "roomId": "8862519d-72b2-42e2-967b-aa71b64b4b09",
        "deviceId": "DEV-8",
        "id": "DEV-8"
    },
    {
        "roomId": "2975daea-3b94-4c43-bedf-e21f4d7326a3",
        "deviceId": "DEV-9",
        "id": "DEV-9"
    },
    {
        "roomId": "08d8c0b4-c286-4fdf-9239-2b2667d500bb",
        "deviceId": "DEV-10",
        "id": "DEV-10"
    },
    {
        "roomId": "ae440646-95a3-4367-b3a7-7fc836111d68",
        "deviceId": "DEV-11",
        "id": "DEV-11"
    },
    {
        "roomId": "08d8c0b4-c286-4fdf-9239-2b2667d500bb",
        "deviceId": "TempHumPres",
        "id": "TempHumPres"
    },
    {
        "roomId": "e4f94c67-b37c-495d-a4e4-2801bdb84303",
        "deviceId": "iPhone1",
        "id": "iPhone1"
    },
    {
        "roomId": "e4f94c67-b37c-495d-a4e4-2801bdb84303",
        "deviceId": "iPhone2",
        "id": "iPhone2"
    }
]

Sensor Stream: Sample data in the ekuiperSensor stream:

{"humidity": 48.2, "key": "TempHumPres", "topic": "TempHumPres/get/sensor/2"}
{"key": "TempHumPres", "temperature": 22.4, "topic": "TempHumPres/get/sensor/1"}
{"key": "TempHumPres", "pressure": 1005.7, "topic": "TempHumPres/get/sensor/3"}

Enrichment Rule: The following SQL rule is used to join the aggregated sensor data with the lookup table:

SELECT
    ekuiperSensorAggregation.humidity,
    ekuiperSensorAggregation.pressure,
    ekuiperSensorAggregation.temperature,
    ekuiperSensorAggregation.key,
    lookupTable.deviceId,
    lookupTable.roomId
FROM
    ekuiperSensorAggregation
LEFT JOIN
    lookupTable
ON
    ekuiperSensorAggregation.key = lookupTable.deviceId;

Runtime Error: The following error appears in the logs:

time="2024-11-20T10:24:00Z" level=error msg="runtime error: runtime error: invalid memory address or nil pointer dereference" file="infra/saferun.go:56" rule=enrichSesnorWithLookupRoom
goroutine 49152 [running]:
runtime/debug.Stack()
  runtime/debug/stack.go:24 +0x5e
runtime/debug.PrintStack()
  runtime/debug/stack.go:16 +0x13
time="2024-11-20T10:24:00Z" level=error msg="closing rule enrichSesnorWithLookupRoom for error: runtime error: invalid memory address or nil pointer dereference" file="rule/ruleState.go:242"
github.com/lf-edge/ekuiper/pkg/infra.SafeRun.func1()
  github.com/lf-edge/ekuiper/pkg/infra/saferun.go:34 +0x3d
panic({0x2a70180?, 0x5310480?})
  runtime/panic.go:770 +0x132
github.com/lf-edge/ekuiper/internal/io/http.(*ClientConf).parseResponse(0xc001a03c20, {0x34f87f0, 0xc00045ef20}, 0xc0012c4630, 0x70?, 0x0, 0x0)
  github.com/lf-edge/ekuiper/internal/io/http/client.go:417 +0x345
github.com/lf-edge/ekuiper/internal/io/http.(*lookupSource).pull(0xc000f1c138, {0x34f87f0, 0xc00045ef20})
  github.com/lf-edge/ekuiper/internal/io/http/httppull_lookup.go:109 +0x75c
github.com/lf-edge/ekuiper/internal/io/http.(*lookupSource).Lookup(0x1?, {0x34f87f0?, 0xc00045ef20?}, {0x60?, 0x50?, 0xc000bb0c60?}, {0xc000b6b010, 0x1, 0xc00179ff20?}, {0xc0008a9f40, ...})
  github.com/lf-edge/ekuiper/internal/io/http/httppull_lookup.go:47 +0x3f
github.com/lf-edge/ekuiper/internal/topo/node.(*LookupNode).lookup(0xc000a2ce80, {0x34f87f0, 0xc00045ef20}, {0x34e48e8, 0xc0007ba400}, 0xc00011c4a8, {0x34d48c8, 0xc000f1c138}, 0xc00179ff20, 0x0)
  github.com/lf-edge/ekuiper/internal/topo/node/lookup_node.go:201 +0x423
github.com/lf-edge/ekuiper/internal/topo/node.(*LookupNode).Exec.func1.1()
  github.com/lf-edge/ekuiper/internal/topo/node/lookup_node.go:121 +0xa5e
github.com/lf-edge/ekuiper/pkg/infra.SafeRun(0xc000a07500?)
  github.com/lf-edge/ekuiper/pkg/infra/saferun.go:45 +0x57
github.com/lf-edge/ekuiper/internal/topo/node.(*LookupNode).Exec.func1()
  github.com/lf-edge/ekuiper/internal/topo/node/lookup_node.go:83 +0x7a
created by github.com/lf-edge/ekuiper/internal/topo/node.(*LookupNode).Exec in goroutine 49150
  github.com/lf-edge/ekuiper/internal/topo/node/lookup_node.go:82 +0x1bd
time="2024-11-20T10:24:00Z" level=info msg="source ekuiperSensorAggregation done" file="node/source_node.go:142" rule=enrichSesnorWithLookupRoom

Expected Behavior:
The rule should successfully enrich the sensor data with the room and device information from the lookup table.

@wduczkowski What's the config of the httppull lookup table? Try to set incremental=false there.

I have updated the issue description, added the table configuration, and httpull. I also tested the functionality with incremental=false, but the same error occurred.

I have updated the issue description, added the table configuration, and httpull. I also tested the functionality with incremental=false, but the same error occurred.

In the source confkey lookuptable, set "incremental": false. Looks like it is still true.

After switching to incremental=false and restarting the rule , it started working. This is a bit strange because, in version ekuiper 2.0.0, the same case works with the incremental=true flag.


ZEC Nicehash support

Hello Dev team,
Is it possible to add ZEC Nicehash pools support to this proxy?

I'm pretty sure that using any equihash proxy with nicehash isn't possible due to the way they both take the same approach to supporting multiple miners. Do you have any error output from either nicehash or aiostratum-proxy that you can paste in?
Will have to give this some thought.

@wetblanketcc
As per my trials, no errors are either shown in the proxy or NH. Authorization happens but nothing else.
If you have any ideas on how to fix this (i doubt there could be a solution as you said) let me know and I can try to help you with coding it.
Regards,
ma7555


provide an API that evaluates a specified function symbolically

Hi developer,
Symbolic transaction evaluates all the functions of a smart contract. But there is a case that symbolically evaluating a specified function is necessary.
So could you provide an API that can evaluate a specified function symbolically if the function's 4-byte signature is provided?
Bests,
Qiana

Hey Qiana,
Would this api symbolically explore a single message call?
What specifically do you expect to be the inputs to this api? and the output?

I prefer this api to be a method of class LaserEVM.
def method_name (self, address, function_signature):
symbolically evaluate the function identified by function_signature on the states in self.open_states
the last global states are saved to self.open_states
This is what I basically need.
Thanks,
Qiana


feat: operads and clones

Defines operads (Operad), symmetric operads (SymmOperad), and clones (Clone). There is a proof that all clones have a natural operad structure. And there is a file, Instances.lean, that gives several most important examples of Clones. In particular, it has all of the clones (in an appropriately general form) that occur in Post's Lattice, and later proving the completeness of Post's Lattice is why I'm making this PR.
Marking as draft at the moment while there are some sorries, but wanting this PR up hoping for some preliminary comments

Operad is currently defined in terms of composing just two functions (and identities in all other slots). It would be good to add the "fill all slots" notion of composition instead, see e.g. the definition on Wikipedia.

Could you please split this into 5 PRs? One for each new file?
And have all of them refer back to this one, so that the context is clear.

Marking as draft at the moment while there are some sorries, but wanting this PR up hoping for some preliminary comments

Also, it seems that it is time to remove this disclaimer from the PR commit message. :grinning:

Could you please split this into 5 PRs? One for each new file? And have all of them refer back to this one, so that the context is clear.

Alright, I split off four PRs for other files. This leaves just Instances.lean, which is the unique leaf-file in this PR. That could just be this PR, if that makes sense, since it's already dependent on the other four. Or should make its own dedicated PR?

Thanks! And yes, the final file can just stay in this PR.


Make Ctrl+F focus the editor asset library's search field

PS: Is there a way to detect whether any popup is currently open? Right now, if you press Ctrl + F while looking at an asset's details, it will focus the search field without closing the popup. This should probably be prevented.

Is there a way to detect whether any popup is currently open?

gui_has_modal_stack() from the root Viewport.

Thanks!


Support select current time

I noticed that the initial time is always 00:00:00. Can you please add some shortcut to help user quickly select current time?

Hi @zhaoyao91. Can you explain more what you mean by "add some shortcut to help user select current time"?


Multishot Tridents :concern:

If you feel like messing around with this mod again :)

Thanks for the idea! I'll definitely put it in my todo list :D

Thinks it's done. Uploading to modrinth


TabNine wont install

Basically I click install and its starts installing i see the bars moving and then it stops. No error log nothing. Takes quite a while for it to happen, like a few minutes. Most atom packages install in a few seconds.

somehow without doing anything different resolved itself


Rewrite TheHive4py library

Request Type
Feature Request
Problem Description
TheHive4py < 2.0 was initially a quick attempt to provide a python library on top of TheHive REST apis. The current version has a lot of limitations and lacks of consistency.
The goal of this issue is to rewrite it completely, introducing the minimal breaking changes and making sure to be backward compatible for almost all the existing methods.
We will use the same architecture as Cortex4py rewritten version.
Features to include

[x] https://github.com/TheHive-Project/TheHive4py/issues/6 Update task
[x] https://github.com/TheHive-Project/TheHive4py/issues/7 Update observable
[ ] https://github.com/TheHive-Project/TheHive4py/issues/9 Add an option to get case tasks from get_case method
[x] https://github.com/TheHive-Project/TheHive4py/issues/12 Make api return dictionaries, not raw responses
[x] https://github.com/TheHive-Project/TheHive4py/issues/89 Function to merge cases
[x] https://github.com/TheHive-Project/TheHive4py/issues/62 Add the ability to search for all active observables where ioc:true without knowing caseIds
[ ] https://github.com/TheHive-Project/TheHive4py/issues/126 Add ioc and sighted attributes to case and alert artifacts
[ ] https://github.com/TheHive-Project/TheHive4py/issues/127 Models Case and CaseTemplate don't have PAP attribute
[ ] Include fixes and features from 1.x branch

Please include #117 if possible.
It would be of great help to teams who use alerts.

@nadouani Just curious on the status of 2.0.0 - I was in the process of writing a "better" API but it looks like you're already ahead of me! I'd much rather contribute to this than have an unofficial competing project out there.

I am currently using a simple wrapper I made around the current API, and it works fine, but I was wondering if there are any updates on this?

hi
this is my first time to use TheHive with TheHive4py 1.7.2 i wanted to Set up TheHive API to establish API connectivity to TheHive i completely confused  where should i go and what should i do i couldn't find the configuration path of the TheHive4py. Would you please me what should i do and where is the configuration file of TheHive4py is located?


Add a maze generator

Is your feature request related to a problem? Please describe.
No, it's not a problem.
Describe the solution you'd like
I would like to add a maze generator app using JavaScript. Please assign me this issue under GSSOC'21 @ridsuteri @991rajat @harshgupta20

Any Update? Kindly Reply within 2 days or else I have to close it due to inactivity.

Yes, I have just made the PR for the issue. Sorry for the delay, due to my college lectures and assignments I was not able to give it sufficient time.


How are new releases formed?

I found it a bit unclear what changes will go to the next release.
The 2.1.x branch has 29 commits ahead and 59 commit behind master.
What changes go from master to 2.1.x branch?
Thanks 🙂

@etataurov Yeah, we may want a document for this. Essentially, all changes are merged to the master branch. Then, anything that amounts to a bugfix change is backported to the 2.1.X branch via a git cherry-pick. The 2.1.X branch is currently at the v2.1.2 tag, so there are no changes in there that aren't in 2.1.2. Thus, the current state of the changelog on master shows all changes that have not been backported to 2.1.X.

@Lukasa thanks for clarifying.

@etataurov Yeah, sorry about how messy that is, but it represents me doing my level best to maintain patch releases for longer periods of time while still allowing forward progress on the API. I'll write up a policy for how long I'll keep each minor release alive and how I handle backporting changes.
It's a bit rough that Git doesn't have a better policy for this, but given the way Git keeps track of a revision we can't merge it into multiple branches in any kind of clean way.


Stopped retrieving weather data

My system was running continuously and perfectly for several months, and about 3-4 days ago it stopped retrieving weather data. Map and radar and time/sunrise/sunset are all good but conditions and forecasts are gone. In that display space, the program now displays:
"Could not retrieve weather data. Is your API key valid? Request failed with status code 401"
I checked all of my API keys, tried a few alternatives, and then plugged in the original API key from tomorrow.io.
In looking at the API calls graph on tomorrow.io, I see that it was consistently pulling 180-ish calls every day, then it dropped to 86 suddenly for one day, then 4 the next day, and then 0 and that's where it has been for several days.
Any suggestions?
Thanks,
Harry

I found this documented problem at tomorrow.io that is parallel in time with my problem, yet I cannot get API key functioning back:
Jul 4, 2022
High Error Rate on Timeline API
Resolved - This incident has been resolved and all API keys are working as expected. If you continue to experience any errors please be in touch with our team at<EMAIL_ADDRESS>We will of course continue to monitor all API behavior and we appreciate your patience as we implemented a fix for this.
Jul 4, 17:51 UTC
Update - A fix has been implemented and we are seeing a decrease in errors. We are continuing to monitor the events until we reach an all-clear status.
Jul 4, 16:32 UTC
Identified - The issue has been identified and the team is working on deploying the fix.
Jul 4, 16:17 UTC
Investigating - We are currently investigating an issue impacting our timeline API.
API calls are currently returning a high volume of 401 and 301 errors. Our team is working diligently to investigate this and we expect a fix to be implemented shortly. We will continue to update accordingly.
Jul 4, 16:03 UTC

halifax57,
Am I correct in your page shows the weather data in the right pane or do you have a blank page with the error about retrieving the map?

Thanks for the reply, I very much appreciate it. On my display, I have a blank page with the error about retrieving weather data on the right side. See the attached image. I do have a support ticket with tomorrow.io ...

Well fudge... we're both having different problems.  If you have time, could you please provide the version of Node & NPM you have installed?  When I check the Mapbox site, it shows that my RPi is not making any API calls so I'm trying to see if the issue with related to a specific version of Node/NPM.

OK. Maybe you have two independent issues?
As requested:
NPM version 6.14.17
Node version v14.19.3
Thank you!

I am seeing the same issue and got it working with the following steps:

created a free API key at https://ipstack.com/product
modified server/geolocationCtrl.js, changing the GET call from "https://freegeoip.app/json/" to "http://api.ipstack.com/{my_ip_address}?access_key={my_api_key}"
restarted the server (npm start)

Hope that helps
BTW, I am on node v12.22.12 and npm 6.14.16

fcrwx,
Since you've dug into the code, maybe you can answer a question of mine...  we obtain keys from Mapbox and Tomorrow.io but on the webpage in the bottom left corner, it shows Leaflet & RainViewer.  Any idea what relationship those sites have to this app?

No joy with my weather-side issue. I'm glad that k5map got his problem fixed, though! Thanks for looking into this.
tomorrow.io support said that they tested my API key and it worked for them. So I am at a complete loss as to why I cannot get this working again.

halifax57, can you confirm that your pi can pull the data manually using curl? For example, try the following and see if you get data or an error.
curl -v "https://api.tomorrow.io/v4/timelines?location=34.57,86.84&fields=temperature,precipitationProbability,precipitationIntensity,windSpeed&timesteps=1h&apikey=&endTime=2022-07-09T12:14:32.193Z"
be sure to replace  with your actual weather-api key and you will likely need to adjust the endTime value too. This should be the same command that the app is trying to fetch. In my case I get 24 1-hour intervals of data all wrapped into a json string.
This will at least prove if the problem is with the app itself or with your api key (or perhaps a networking error).

Hi Mike,
Thanks for the help. Here is the output from entering your curl command, using my API key where XXXXXXXXXXXX is below. I tried it with an endTime of 18:32Z too and got the same result. What does this tell you?
Thanks again!
$ curl -v "https://api.tomorrow.io/v4/timelines?location=34.57,86.84&fields=temperature,precipitationProbability,precipitationIntensity,windSpeed&timesteps=1h&apikey=&endTime=2022-07-09T12:14:32.193Z"

Trying <IP_ADDRESS>:443...
Connected to api.tomorrow.io (<IP_ADDRESS>) port 443 (#0)
ALPN, offering h2
ALPN, offering http/1.1
successfully set certificate verify locations:
CAfile: /etc/ssl/certs/ca-certificates.crt
CApath: /etc/ssl/certs
TLSv1.3 (OUT), TLS handshake, Client hello (1):
TLSv1.3 (IN), TLS handshake, Server hello (2):
TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
TLSv1.3 (IN), TLS handshake, Certificate (11):
TLSv1.3 (IN), TLS handshake, CERT verify (15):
TLSv1.3 (IN), TLS handshake, Finished (20):
TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
TLSv1.3 (OUT), TLS handshake, Finished (20):
SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
ALPN, server accepted to use h2
Server certificate:
subject: C=US; ST=California; L=San Francisco; O=Cloudflare, Inc.; CN=sni.cloudflaressl.com
start date: May 27 00:00:00 2022 GMT
expire date: May 27 23:59:59 2023 GMT
subjectAltName: host "api.tomorrow.io" matched cert's "api.tomorrow.io"
issuer: C=US; O=Cloudflare, Inc.; CN=Cloudflare Inc ECC CA-3
SSL certificate verify ok.
Using HTTP2, server supports multi-use
Connection state changed (HTTP/2 confirmed)
Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
Using Stream ID: 1 (easy handle 0x10b3d50)

GET /v4/timelines?location=34.57,86.84&fields=temperature,precipitationProbability,precipitationIntensity,windSpeed&timesteps=1h&apikey=&endTime=2022-07-09T12:14:32.193Z HTTP/2
Host: api.tomorrow.io
user-agent: curl/7.74.0
accept: /

TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
old SSL session ID is stale, removing
Connection state changed (MAX_CONCURRENT_STREAMS == 256)!
< HTTP/2 401
< date: Fri, 08 Jul 2022 13:55:51 GMT
< content-type: application/json; charset=utf-8
< content-length: 124
< vary: Origin
< access-control-allow-origin: *
< x-moesif-transaction-id: 1fe2f9a6-d38f-4656-84c1-33f08b35e87d
< x-kong-response-latency: 3
< via: 1.1 google
< cf-cache-status: DYNAMIC
< expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
< server: cloudflare
< cf-ray: 727951e81f6c59f2-IAD
<
Connection #0 to host api.tomorrow.io left intact
{"code":401001,"type":"Invalid Key","message":"The method requires authentication, but it was not presented or is invalid."}

The last line "Invalid Key" seems to be the problem to me. The app is sending off this same command to retrieve the weather data and I suspect it fails the same way too. Therefore I would ignore the app right now and focus on getting the curl command to work.
The network connection looks ok as it made the connection to api.tomorrow.io successfully. The problem is that the tomorrow.io is rejecting your api-key for some reason. Are there any special characters in it such as * or & or ( that might be getting interpreted?
You might try logging into https://app.tomorrow.io/development/keys and verifying the key you are using is what is shown there. Maybe try to create a new api key?

Mike,
When I enter the curl command from tomorrow.api on my key page directly into the console, it works:
curl --request GET --url
'https://api.tomorrow.io/v4/timelines?location=-73.98529171943665,40.75872069597532&fields=temperature&timesteps=1h&units=metric&apikey=xxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
{"data":{"timelines":[{"timestep":"1h","endTime":"2022-07-13T02:00:00Z","startTime":"2022-07-08T14:00:00Z","intervals":[{"startTime":"2022-07-08T14:00:00Z","values":{"temperature":-41.16}},{"startTime":"2022-07-08T15:00:00Z","values":{"temperature":-41.55}},{"startTime":"2022-07-08T16:00:00Z","values":{"temperature":-42.13}},{"startTime":"2022-07-08T17:00:00Z","values":{"temperature":-43.01}},{"startTime":"2022-07-08T18:00:00Z","values":{"temperature":-43.49}},{"startTime":"2022-07-08T19:00:00Z","values":{"temperature":-43.58}},{"startTime":"2022-07-08T20:00:00Z","values":{"temperature":-43.51}},{"startTime":"2022-07-08T21:00:00Z","values":{"temperature":-43.72}},{"startTime":"2022-07-08T22:00:00Z","values":{"temperature":-43.83}},{"startTime":"2022-07-08T23:00:00Z","values":{"temperature":-44}},{"startTime":"2022-07-09T00:00:00Z","values":{"temperature":-44.15}},{"startTime":"2022-07-09T01:00:00Z","values":{"temperature":-44.95}},{"startTime":"2022-07-09T02:00:00Z","values":{"temperature":-45.8}},{"startTime":"2022-07-09T03:00:00Z","values":{"temperature":-46.07}},{"startTime":"2022-07-09T04:00:00Z","values":{"temperature":-46.06}},{"startTime":"2022-07-09T05:00:00Z","values":{"temperature":-46.51}},{"startTime":"2022-07-09T06:00:00Z","values":{"temperature":-46.37}},{"startTime":"2022-07-09T07:00:00Z","values":{"temperature":-46.35}},{"startTime":"2022-07-09T08:00:00Z","values":{"temperature":-46.66}},{"startTime":"2022-07-09T09:00:00Z","values":{"temperature":-47.17}},{"startTime":"2022-07-09T10:00:00Z","values":{"temperature":-47.77}},{"startTime":"2022-07-09T11:00:00Z","values":{"temperature":-47.92}},{"startTime":"2022-07-09T12:00:00Z","values":{"temperature":-48.09}},{"startTime":"2022-07-09T13:00:00Z","values":{"temperature":-48.16}},{"startTime":"2022-07-09T14:00:00Z","values":{"temperature":-47.41}},{"startTime":"2022-07-09T15:00:00Z","values":{"temperature":-47.27}},{"startTime":"2022-07-09T16:00:00Z","values":{"temperature":-48.21}},{"startTime":"2022-07-09T17:00:00Z","values":{"temperature":-48.19}},{"startTime":"2022-07-09T18:00:00Z","values":{"temperature":-49.32}},{"startTime":"2022-07-09T19:00:00Z","values":{"temperature":-49.98}},{"startTime":"2022-07-09T20:00:00Z","values":{"temperature":-50.31}},{"startTime":"2022-07-09T21:00:00Z","values":{"temperature":-50.93}},{"startTime":"2022-07-09T22:00:00Z","values":{"temperature":-51.37}},{"startTime":"2022-07-09T23:00:00Z","values":{"temperature":-51.32}},{"startTime":"2022-07-10T00:00:00Z","values":{"temperature":-51.18}},{"startTime":"2022-07-10T01:00:00Z","values":{"temperature":-51.02}},{"startTime":"2022-07-10T02:00:00Z","values":{"temperature":-50.67}},{"startTime":"2022-07-10T03:00:00Z","values":{"temperature":-50.44}},{"startTime":"2022-07-10T04:00:00Z","values":{"temperature":-50.2}},{"startTime":"2022-07-10T05:00:00Z","values":{"temperature":-50.03}},{"startTime":"2022-07-10T06:00:00Z","values":{"temperature":-49.88}},{"startTime":"2022-07-10T07:00:00Z","values":{"temperature":-49.71}},{"startTime":"2022-07-10T08:00:00Z","values":{"temperature":-49.64}},{"startTime":"2022-07-10T09:00:00Z","values":{"temperature":-49.94}},{"startTime":"2022-07-10T10:00:00Z","values":{"temperature":-50.4}},{"startTime":"2022-07-10T11:00:00Z","values":{"temperature":-50.93}},{"startTime":"2022-07-10T12:00:00Z","values":{"temperature":-51.36}},{"startTime":"2022-07-10T13:00:00Z","values":{"temperature":-51.77}},{"startTime":"2022-07-10T14:00:00Z","values":{"temperature":-52.18}},{"startTime":"2022-07-10T15:00:00Z","values":{"temperature":-52.63}},{"startTime":"2022-07-10T16:00:00Z","values":{"temperature":-53.09}},{"startTime":"2022-07-10T17:00:00Z","values":{"temperature":-53.52}},{"startTime":"2022-07-10T18:00:00Z","values":{"temperature":-53.92}},{"startTime":"2022-07-10T19:00:00Z","values":{"temperature":-54.25}},{"startTime":"2022-07-10T20:00:00Z","values":{"temperature":-54.53}},{"startTime":"2022-07-10T21:00:00Z","values":{"temperature":-54.68}},{"startTime":"2022-07-10T22:00:00Z","values":{"temperature":-54.86}},{"startTime":"2022-07-10T23:00:00Z","values":{"temperature":-54.8}},{"startTime":"2022-07-11T00:00:00Z","values":{"temperature":-54.79}},{"startTime":"2022-07-11T01:00:00Z","values":{"temperature":-54.83}},{"startTime":"2022-07-11T02:00:00Z","values":{"temperature":-54.69}},{"startTime":"2022-07-11T03:00:00Z","values":{"temperature":-54.44}},{"startTime":"2022-07-11T04:00:00Z","values":{"temperature":-54.32}},{"startTime":"2022-07-11T05:00:00Z","values":{"temperature":-54.47}},{"startTime":"2022-07-11T06:00:00Z","values":{"temperature":-54.42}},{"startTime":"2022-07-11T07:00:00Z","values":{"temperature":-54.55}},{"startTime":"2022-07-11T08:00:00Z","values":{"temperature":-54.48}},{"startTime":"2022-07-11T09:00:00Z","values":{"temperature":-54.61}},{"startTime":"2022-07-11T10:00:00Z","values":{"temperature":-54.6}},{"startTime":"2022-07-11T11:00:00Z","values":{"temperature":-54.8}},{"startTime":"2022-07-11T12:00:00Z","values":{"temperature":-54.79}},{"startTime":"2022-07-11T13:00:00Z","values":{"temperature":-54.88}},{"startTime":"2022-07-11T14:00:00Z","values":{"temperature":-55.46}},{"startTime":"2022-07-11T15:00:00Z","values":{"temperature":-56.17}},{"startTime":"2022-07-11T16:00:00Z","values":{"temperature":-56.61}},{"startTime":"2022-07-11T17:00:00Z","values":{"temperature":-57.18}},{"startTime":"2022-07-11T18:00:00Z","values":{"temperature":-57.59}},{"startTime":"2022-07-11T19:00:00Z","values":{"temperature":-58.08}},{"startTime":"2022-07-11T20:00:00Z","values":{"temperature":-58.6}},{"startTime":"2022-07-11T21:00:00Z","values":{"temperature":-58.91}},{"startTime":"2022-07-11T22:00:00Z","values":{"temperature":-59.3}},{"startTime":"2022-07-11T23:00:00Z","values":{"temperature":-59.41}},{"startTime":"2022-07-12T00:00:00Z","values":{"temperature":-59.08}},{"startTime":"2022-07-12T01:00:00Z","values":{"temperature":-58.77}},{"startTime":"2022-07-12T02:00:00Z","values":{"temperature":-58}},{"startTime":"2022-07-12T03:00:00Z","values":{"temperature":-57.26}},{"startTime":"2022-07-12T04:00:00Z","values":{"temperature":-56.47}},{"startTime":"2022-07-12T05:00:00Z","values":{"temperature":-55.57}},{"startTime":"2022-07-12T06:00:00Z","values":{"temperature":-54.87}},{"startTime":"2022-07-12T07:00:00Z","values":{"temperature":-54}},{"startTime":"2022-07-12T08:00:00Z","values":{"temperature":-53.2}},{"startTime":"2022-07-12T09:00:00Z","values":{"temperature":-52.49}},{"startTime":"2022-07-12T10:00:00Z","values":{"temperature":-51.79}},{"startTime":"2022-07-12T11:00:00Z","values":{"temperature":-51.29}},{"startTime":"2022-07-12T12:00:00Z","values":{"temperature":-50.89}},{"startTime":"2022-07-12T13:00:00Z","values":{"temperature":-50.49}},{"startTime":"2022-07-12T14:00:00Z","values":{"temperature":-50.26}},{"startTime":"2022-07-12T15:00:00Z","values":{"temperature":-49.97}},{"startTime":"2022-07-12T16:00:00Z","values":{"temperature":-49.49}},{"startTime":"2022-07-12T17:00:00Z","values":{"temperature":-48.99}},{"startTime":"2022-07-12T18:00:00Z","values":{"temperature":-48.79}},{"startTime":"2022-07-12T19:00:00Z","values":{"temperature":-48.57}},{"startTime":"2022-07-12T20:00:00Z","values":{"temperature":-48.65}},{"startTime":"2022-07-12T21:00:00Z","values":{"temperature":-48.75}},{"startTime":"2022-07-12T22:00:00Z","values":{"temperature":-48.85}},{"startTime":"2022-07-12T23:00:00Z","values":{"temperature":-48.76}},{"startTime":"2022-07-13T00:00:00Z","values":{"temperature":-48.95}},{"startTime":"2022-07-13T01:00:00Z","values":{"temperature":-49.32}},{"startTime":"2022-07-13T02:00:00Z","values":{"temperature":-49.15}}]}]}}
...but not in the app. Should I do a complete refresh of the program?
Kind regards!

That is interesting. Are you running my curl command the the one from the webgate both from the same place (the pi)?

Yes, from the same command line on the same pi.
Thank you again.

Thanks, Mike. I appreciate your help which demonstrated what was working. Given my experience level debugging Linux, I will likely go back and start with a fresh OS and rebuild from scratch and see where that takes me.
Kind regards!

Hope you'll find an answer @halifax57 - the same 401 issue surfaced here as well :( API key curl from the tomorrow.io site works fine here too.

Have you edited the project to change the references of climacell to tomorrow.io? The files in the project still use climacell which may redirect to tomorrow.io but perhaps is not fully equivalent?

I have not edited anything - and that part worked fine until yesterday actually (when I updated the pi and rebooted). I see outgoing calls to data.climacell.co, but when I check in the browser they are redirected to tomorrow.io and tomorrow.io shows activity on that token at least. I have no idea which call is causing the 401 message to appear however. This is what it looks like:

.

Have you tried entering the LAT LON values? I've had the same issues, but populating those fields and all is well again.

Have you edited the project to change the references of climacell to tomorrow.io? The files in the project still use climacell which may redirect to tomorrow.io but perhaps is not fully equivalent?

I have always used the tomorrow.io API key. It worked fine for months until tomorrow.io's July outage. Nothing since. Thanks.

I have not edited anything - and that part worked fine until yesterday actually (when I updated the pi and rebooted). I see outgoing calls to data.climacell.co, but when I check in the browser they are redirected to tomorrow.io and tomorrow.io shows activity on that token at least. I have no idea which call is causing the 401 message to appear however. This is what it looks like:

.

That is exactly what my system has looked like since July 4th tomorrow.io outage. Radar and mapping fine, no wx data and it reports the error w/comment just like in your photo. Can't find my way back! I will be doing a build from scratch shortly as I do not have the depth of talent in this realm to debug competently. Of course, I am hoping somebody finds a fix in the meantime.

I recommend the easy test, unless you have already tried this... populate the LAT and LON in the settings * just to see if that makes a difference. I had odd behavior too -  tried all sorts of tests, including new builds and even going back to V1 of the app. In the end, populating those LAT/LON values resulted in normal data display.

I recommend the easy test, unless you have already tried this... populate the LAT and LON in the settings * just to see if that makes a difference. I had odd behavior too - tried all sorts of tests, including new builds and even going back to V1 of the app. In the end, populating those LAT/LON values resulted in normal data display.

RNET1, I already had LAT/LONG data in my settings.json file, but I went in and looked again, then looked at the settings.example.json and saw that he had 4 decimal places for his LAT/LONG x.xxxx. I trimmed my 6-decimal place LAT/LONG to 4 and did a reboot and I am up and running. I rebooted a few times and all still good.
Thank you, kind friend, for the help! Yay!

I did the exact same thing - trimmed to 4 decimals and boom it started working again. I still don't have the map showing anything but grey, but as long as I see the rainviewer I am happy. Thanks for all the help.

Editing my Lat/Lon in settings.json also resolved my issue of not seeing weather information.  Thanks!!!

Just to confirm entering the lant and long does fix the blank screen issue fully. No idea why though. Many Thanks to those who found this out.

@fcrwx
When you modified the JS files in the SRC tree, did those changes take effect immediately or did you have to enter npm install or some other command before the changes would take effect?

If you modify the source files, then a rebuild is required:
Replace data.climacell.co with api.tomorrow.io -- Change in the client/src/AppContext.js file
(Note - there are a few references to change here, search for climacell to find them)
Then rebuild the dist/bundle.min.js ... run the following
cd client

npm run-script prod
(The following is ONLY If you are using nodejs v17 (it will fail with a "hash" error).
However, it must be run prior to the npm command
export NODE_OPTIONS=--openssl-legacy-provider
If you get any errors, read the output - it has directions to solve. Otherwise, post here for help.

I was also getting an intermittent error on not being able to retrieve weather data but my error was error 429 not 401. I trimmed the lat/lon in settings.json per this thread from 6 decimal places to 4 and it also fixed my issue. Would the developer be able to implement a quick round function on that so others don't run into the same issue? (sorry I have no idea how to contribute to a project like this)


Added support of UnifiedThemeProvider in Page component

Added support of UnifiedThemeProvider in Page component
:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

@camilaibs @benjdlambert could you pls help me a bit with these storybooks, what am I missing ?

@camilaibs @benjdlambert could you pls help me a bit with these storybooks, what am I missing ?

Hi 👋🏻 ,
Here you can find details about build errors:
https://www.chromatic.com/build?appId=5eafd13eaebb8f00227540f4&number=10911

It looks like the getPageTheme is undefined:
https://www.chromatic.com/test?appId=5eafd13eaebb8f00227540f4&id=655f2c449a0c27e8ba599c63

@camilaibs thanks, yeah, I saw this one, I guess it's because backstage's extension for themes is missed for some reason for these particular cases. Could you pls suggest how this can be fixed ?

@tudi2d he reason is we're re-styling our app and doing it gradually: page by page. So now I need to wrap each migrated page in UnifiedThemeProvider while backstage already has page themes, but just hasn't adopted unified theme there

Thanks! Just to clarify the goal of UnifiedTheme is not to have 2 seperate themes. It is to have a single theme & support both Material UI v4 as well as v5 with this single theme. The function createUnifiedTheme takes the UnifiedThemeOptions, which can contain your pageThemes. This way they would be supported across v4 & v5.
If you want to migrate from v4 to v5 page-by-page there should not be a problem wrapping the complete app in the UnifiedThemeProvider and then only migrating each page on it's own. Adding the UnifiedThemeProvider somewhere in the tree is not intended.
If there is an error you are running in (both visual or in the CLI) please share them here. Maybe I'm missing something.

no, it's not about migrating mui to v5, it's about changing styling page by page, so I wanted to re-use these page themes for it, but can't because this Page component sets only v4 ThemeProvider while we in parallel migrated already some page to v5, some stay on v4 still. So for every page migrated to v5 I need to wrap page with UnifiedThemeProvider, for v4 I need to wrap in v4 ThemeProvider. I wanted to eliminate these extra theme providers


Not actually creating this issue, just getting system info.

Type: Bug
Using this to get system info...

Didn't mean to create that... thought it would open for editing.


build(fee): remove more occurnces of resource mapping

This change is

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#547  👈
#538
#537
#508 : 1 other dependent PR (#509 )
#507
#506
#505
#504
#503
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @nimrod-starkware and the rest of your teammates on  Graphite


Window pool

Implements a cache of ready OpenFin windows to increase usability and performance for tearing out favourite cards into new windows. Only main application windows are pooled -- windows for tearout cards are still handled as they were before.

looks good to me


Desktop Layout

The app currently looks good only on smaller devices. We need a larger screen design that includes showing the list and map at the same time.

So you feel this needs to be done for an ipad or small tablet?

Yes, but I also think that it should look decent on a desktop size screen.

Desktop size is no long applicable (#35).


Stuck when selecting a bar plot before the data was ready

https://playbook-workflow-builder.cloud/graph/e4aacf7a-4772-f8aa-5eba-6acee985623c

You need to select one here

I auto-select top 10 for now which hopefully makes it more obvious that these buttons are clickable to change it

I think the issue is resolved because some other part was fixed... I can no longer reproduce the issue.

Yeah, before it would not auto-select a top 10 so if you just proceed it would be "waiting for input" -- I now auto-select top 10 so this will not happen anymore


Publish images to dockerhub for separate metadata and migration services

There are already dockerfiles for running the metadata and migration services separately. Why not publish those images to dockerhub for users who want to run them separately?

We're generally trying to minimize the # of different flavors of images we "officially" support. We're unlikely to commit to maintain a separate migration image right now, so I'm closing this issue.


added anchor tag to the phone number.

Now, we can just click the phone number specified and we will be able to make calls without entering the number.

This pull request should be closed as you opened another one to fix the same issue
https://github.com/BlackrockDigital/startbootstrap-creative/pull/120


Update jshint to v2.8.0

The current version is one year old, time to update it.

Ok by me.
My plan is to replace JSHint with ESLint (using our shared ESLint config).  I'd like to have this remove our dependency on gjslint.py as well - but I imagine that may meet with some resistance.

See https://github.com/openlayers/ol3/issues/3567 for a discussion (and questions) on the gjslint removal.


EXEC_LINKMANAGER_SWITCH updates state of ToR and mux atomically

https://github.com/GerardoGran/gemini-tla-verification/blob/8ec1187938ada49166518fe0833b7e5f71ae1418/gemini.tla#L130-L135

Fixed with the TRIGGER>ACK>EXEC actions


derive Uninhabited

that one is quite a pain to implement if you have a few variants

Could you draft a quick example, how you'd do that using the SOP approach? Because to the best of my knowledge, Uninhabited usually talks about families of types, while in this library, we can only handle parameterized data types.

Maybe needs a separate library then, haven't put much thought into it. Just remember writing 250loc implementing uninhabited and seemed like this library was doing something similar.


Feat/zh status

:tada: This PR is included in version 0.1.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Added measurement and coordinates tools

:tada: This PR is included in version 1.3.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Bug report: spo file copy sometimes failing

Priority
(Medium) I'm annoyed but I'll live
Description
I'm currently migrating a lot of SharePoint pages to another site collection. While 95% of the files are working great, I noticed that about 5% (or less) of the files are failing with a vague error:

Error: Cannot read properties of undefined (reading 'TargetObjectSiteRelativeUrl')

This error is caused by this piece of code:
https://github.com/pnp/cli-microsoft365/blob/7be779498896197716e3843e1da2c03cac598c47/src/m365/spo/commands/file/file-copy.ts#L164-L172
I noticed that sometimes, for some files, the SharePoint copy job doesn't return a result object. I currently have no idea why/when this is happening. When this error occurs on a file and I try again, everything works just fine.
Steps to reproduce
Migrate a lot of files. It's hard to reproduce.
Expected results
100% success rate
Actual results
2-5% of the files throw an error:

Error: Cannot read properties of undefined (reading 'TargetObjectSiteRelativeUrl')

Diagnostics
No response
CLI for Microsoft 365 version
v10.0.0
nodejs version
v20.10.0
Operating system (environment)
Windows
Shell
PowerShell
cli doctor
No response
Additional Info
Let's put it on hold until the following issues are closed:

#6310
#6154

These issues have a higher importance and need to change stuff to the SharePoint copy job util as well.

@milanholemans I think we may remove the on hold label right? and try to fix it up or open it up 👍

Sure thanks for the ping. Last week I ran a script copying hundreds of files and about 5 received this error. Seems like it's annoying to replicate. But will look into it.


Device architectures are missing for some pods

Hello
With the last fix ( #42 ) simulator & device architectures are correctly built into one framework for most of the pods I tried, but I only get simulator ones for few of them.
For example, with  Underscore.m or  UINavigationItem-Loading
Are the pods "invalid" in some way ?
thank you !

Might be that the build path isn't correctly determined because the names aren't C99 identifiers — I'll investigate!

The issue was as expected, the path to the binaries for lipo was incorrect, depending on the pod's name. Fixed and shipped in version 0.7.0

works perfectly !
thank you :)

Is this issue fixed in the CP-1.1.0 branch?


Create a Readme for RT-5.11

This PR is related to Interface Load-Interval for Statistics Sampling

Pull Request Functional Test Report for #3504 / 2955893c2201d99da22be8b72f7e6ed45b9f5618
No tests identified for validation.
Help

Pull Request Test Coverage Report for Build<PHONE_NUMBER>3
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 55.268%

Totals

Change from base Build<PHONE_NUMBER>7:
0.0%

Covered Lines:
1983

Relevant Lines:
3588

💛  - Coveralls


intermittent "angular could not be found on the window"

We have a large suite of protractor tests. They usually all work. However, intermittently we get the error "angular could not be found on the window", like this:
   Message:
     Error: Angular could not be found on the page http://localhost:57671/browser2rest.html#/2-2015/98/1017 : retries looking for angular exceeded
   Stacktrace:
     Error: Angular could not be found on the page http://localhost:57671/browser2rest.html#/2-2015/98/1017 : retries looking for angular exceeded
    at C:\git\projectfoo\node_modules\protractor\lib\protractor.js:479:17
    at [object Object].promise.ControlFlow.runInFrame_ (C:\git\projectfoo\node_modules\selenium-webdriver\lib\webdriver\promise.js:1877:20)
    at [object Object].promise.Callback_.goog.defineClass.notify (C:\git\projectfoo\node_modules\selenium-webdriver\lib\webdriver\promise.js:2464:25)
    at [object Object].promise.Promise.notify_ (C:\git\projectfoo\node_modules\selenium-webdriver\lib\webdriver\promise.js:563:12)
    at Array.forEach (native)
    at Object.goog.array.forEach (C:\git\projectfoo\node_modules\selenium-webdriver\lib\goog\array\array.js:203:43)
    at [object Object].promise.Promise.notifyAll_ (C:\git\projectfoo\node_modules\selenium-webdriver\lib\webdriver\promise.js:552:16)
    at goog.async.run.processWorkQueue (C:\git\projectfoo\node_modules\selenium-webdriver\lib\goog\async\run.js:125:21)
    at runMicrotasksCallback (node.js:337:7)
    at process._tickCallback (node.js:355:11)
From: Task: Asynchronous test function: beforeEach()
    at [object Object].<anonymous> (C:\git\projectfoo\node_modules\protractor\node_modules\jasminewd\index.js:93:33)
    at [object Object].<anonymous> (C:\git\projectfoo\node_modules\protractor\node_modules\minijasminenode\lib\async-callback.js:45:37)
    at [object Object].jasmine.Block.execute (C:\git\projectfoo\node_modules\protractor\node_modules\minijasminenode\lib\jasmine-1.3.1.js

It is different protractor tests that fail.
We are running protractor 2.0 on windows with chromedriver 1.14 and chrome 41.0.2272.118.

See http://angular.github.io/protractor/#/timeouts for more information on this timeout.
Closing as a specific user question - if you think you have found a generic error, please open a new issue.


[Fixes #279] Edit action to open to the chosen variation of the content fragment

Q
A

Fixed Issues?
Fixes #279

Patch: Bug Fix?
Bug Fix

Minor: New Feature?
Yes

Major: Breaking Change?
No

Tests Added + Pass?
No

Documentation Provided
No

Any Dependency Changes?
No

License
Apache License, Version 2.0

Updated the edit action for content fragment components to open the selected content fragment variation by populating the variation query parameter with the variationName value for the CF Editor URL

Hi @vladbailescu,
When do you think this might be merged and make it into a release?
Any feedback you'd like me to incorporate?
I was considering whether it is a good idea to use the Granite.author.CFM.Fragments.adaptToFragment function or if it is better to just get and parse the JSON without adding the dependency.

@josephrignanese, is the Granite.author.CFM.Fragments.adaptToFragment  function available on all supported AEM versions (>= 6.3)? If yes, then I'd go with using it as an API instead of replicating the business logic into our components.

This looks good to me, @vladbailescu - do you think we can merge here?

Thanks @richardhand, have updated to use ns and also addressed an issue that occurred when opening the editor with the master variation specified.


fix(docs): Fix formatting in protocol specs

Fixes and improperly formatted admonition
Adds text to mermaid diagrams so that they render properly

Docs Preview
Hey there! 👋 You can check your preview at https://6622b93e49e12f157e2d221a--aztec-docs-dev.netlify.app


Dynamic Validation

Hello,
I have a for loop of inputs like this :
                                <VField v-for="socialMedia in socialMediaChecked" :id="socialMedia.socialMedia.name">
                                    <VLabel v-if="socialMedia.checked">Customer's {{ socialMedia.socialMedia.name }} URL:</VLabel>
                                    <VControl v-if="socialMedia.checked" icon="feather:chevrons-right">
                                        <VInput type="text" placeholder="" autocomplete="" v-model="socialMedia.url"
                                            :key="socialMedia.socialMedia.id" />
                                    </VControl>
                                </VField>

and I want to do the same validation on them for every input and every input have a unique key , how to do a dynamic validation on these inputs using Zod?

Well, it seems every input is already using socialMedia.socialMedia.id as unique id
There are libraries like VeeValidate to use zod with vue
You don't need to use it, but you can get some insights
You can create a custom directive to add a dynamic validation

Hello
is there any way to create dynamic schema using ZOD ?

@tarekdr
Is the answer from @AndreiLucas123 satisfactory? Or do you have any questions?
I'd like to close this issue if there are no further questions.

@rayanazzam1991
I have answered your question over here:
https://github.com/colinhacks/zod/discussions/1746