add qmessage box with warning content on failed save

Description
User should got information about save fail in interface, not in terminal (especially when using bundle app - I got this as response from bilogist).
Type of change

[x] Bug-fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

References

How has this been tested?

[ ] example: the test suite for my feature covers cases x, y, and z
[ ] example: all tests pass with my change

Final checklist:

[x] My PR is the minimum possible work for the desired functionality
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works

User should got information about save fail in interface, not in terminal (especially when using bundle app - I got this as response from bilogist).

I completely agree with this. I know that we've still having problems with our error catching. There was some recent discussion of this here https://github.com/napari/napari/issues/1395, but we definitely need to still do better. cc @ziyangczi @jni
Are you able @Czaki to leverage any of the error dialog message work done in #1511? I know that box doesn't yet have the ability to show stack traces yet or detailed info, which is also important in the long run too

I completely agree with this. I know that we've still having problems with our error catching. There was some recent discussion of this here #1395, but we definitely need to still do better. cc @ziyangczi @jni

This is not error catching, but warning catching. There is no error thrown on fail save.
https://github.com/napari/napari/blob/7b7936b4a485bd5602c232b6cd5ff5548fb6c05e/napari/plugins/io.py#L182-L189

Are you able @Czaki to leverage any of the error dialog message work done in #1511? I know that box doesn't yet have the ability to show stack traces yet or detailed info, which is also important in the long run too

I will look on it, but if it is this what shown on internal error then I do not like them. It is really not intuitive. And its usage need to change behavior of save function (which breaks backward compatibility).

This is not error catching, but warning catching. There is no error thrown on fail save.

Ah ok, understood.

I will look on it, but if it is this what shown on internal error then I do not like them. It is really not intuitive. And its usage need to change behavior of save function (which breaks backward compatibility).

Sorry what do you mean "usage need to change behavior of save function" and "which breaks backward compatibility"? Do you mean that going through the plugin architecture is a break in backwards compatibility? I just want to make sure I understand

Save functions from plugins.io and layers return bool with information about succes. So there could exist code which check return value of this functions to check if save pass. Throwing exceptions instead of writing warning may break someone code.

@Czaki thanks for this fix! I agree that this is a critical issue. However, I don't think this is the fix we want to put in. One of napari's founding principles is to minimise popups. I agree with you that our current error dialogs are not functional enough for common use, but I think this means that improving our error dialogs should be prioritised, so that all these warnings could be put there.
For now, I think this should reuse the error handling machinery. Since there is nothing a user can do in response to this dialog, I think it's ok to put it into the small error dialogs, not by throwing errors, but by reusing the dialog code.

@Czaki thanks for this fix! I agree that this is a critical issue. However, I don't think this is the fix we want to put in. One of napari's founding principles is to minimise popups. I agree with you that our current error dialogs are not functional enough for common use, but I think this means that improving our error dialogs should be prioritised, so that all these warnings could be put there.

Could you argue more about this approach? First time when I meet napari error dialog I ignore it. In comparison to the QMessagegeBox current error message dialog is not grabbing user attention and could be easily ignored if the user does not expect it.

Could you argue more about this approach? First time when I meet napari error dialog I ignore it. In comparison to the QMessagegeBox current error message dialog is not grabbing user attention and could be easily ignored if the user does not expect it.

Yeah I think we are disagreeing about whether it's ok to be able to ignore errors or not. 😂 I think it is good for errors to be easily visible, but to not interrupt a workflow. So, as I mentioned before, I think the current error message does need to be improved, a lot, e.g. there could be different "criticality" levels which change the visibility, how long the error box stays up, the ability to recover previously dismissed errors in some kind of log window, etc. But I don't think errors should block the UI completely, which modals do.
I think the exception to that and the big thing that we need to be able to do in napari as an application is to match what other desktop applications do: "the viewer contains unsaved data, are you sure you want to quit?" So what I would like is for warnings/errors to be temporarily ignorable, but for failed saves to not be ignorable ultimately.

What I see. There are two options of usage napari:

Development of the new method, Playing with own code. etc.
In this scenario, we do not want to interups workflow. But current dialog hides important information, so people plaing with code need to set environment variable to got detailed information.

Some, non programin user, trys to use some tool prepared base on napari.
Then such code should be error-free and user should have infdormation that something goes wrong and there is a need to report such problem to author of the tool.

From my side, the simplest solution to use napari report system is to raise exception instead of opening QMessageBox. (And such a solution could be merged before 0.4.0 release).
The long time solution is to add two modes of working of error dialog and base on some information decide which errors need to grab attention.

I agree with most of what has been said above, and definitely think there can be a difference between where we are at now and where we want to be.

From my side, the simplest solution to use napari report system is to raise exception instead of opening QMessageBox. (And such a solution could be merged before 0.4.0 release).

Do you want to try this as a temporary work around @Czaki? If that doesn't work we can consider something else.
I will note that in testing this I discovered another place in the code where a QMessageBox has crept in, so we don't have zero right now, but we'll probably want to get rid of that one too! https://github.com/napari/napari/blob/v0.3.8/napari/_qt/qt_viewer.py#L341-L343

Done

But it is still not clear to me why, when such criticall errors occure, you do not like interupting message.

Just so people can see - here is original behavior in PR

Here is new behavior

With original needing to be explicitly dismissed, new fading away on timer

I think there's a trend towards less blocking popups and more displays like that in browser based tools and I think that VSCode does that quite nicely sometimes too.

Yes. Pop-up is to signal that you need to do some action that you not plan earlier. And the situation, when save, fail is for me such case (a user could modify data later).

Hopefully like this we'd be able to keep the number of interrupting ones to basically just bare minimum such as you're exiting without saving.

As mentioned already. Many people like to save the middle steps.

I do wonder though if failing to save is so critical that we should block here too. I was unable to find an example of a tool where you were able to fail to save with just a warning, so while I'd like us to merge this now so we can make the 0.4.0 release, I do see this as something that will get revisited in the future. Thanks for bearing with us!!

I can't find an example of another tool where you need to know which extensions are supported on saving operation. All other tools I use have a dropdown list of supported formats.


Add AddAsHeader trait

This is the very start of removing all of the ${HEADER_NAME}Option and ${HeaderName}Required traits for one single trait AddAsHeader. This provides all of the various header resources with a way to add themselves to requests as headers.
Although it is not the case in this PR, this will allows us to remove most of the header related traits from azure-cosmos and azure-core.

@MindFlavor I think getting rid of the .0 in the internal code isn't worth a From or a Deref but I do think we should make the wrapped string private and provide a new constructor for users of that type to use.

@MindFlavor I did the same changes for all the request builders. Is it still good to merge?

@MindFlavor I did the same changes for all the request builders. Is it still good to merge?

It's brilliant. Please do! 🥇

FYI: compared with before this round of refactoring (which started a little less than 2 weeks ago) the Cosmos crate now has ~7,500 fewer lines of code. 🎉


Docs: get rid of EBUSY error when starting storybook

When starting the storybook, the following error often occurs:

Previously we used this hack to prevent it in the managerWebpack configuration in main.js.
However, Storybook 7 removed the 'managerWebpack' configuration: https://storybook.js.org/docs/react/builders/webpack#pre-bundled-assets-do-not-show-in-the-storybook-ui.
Currently we added config.cache = { type: 'memory' }; to the managerWebpack configuration, this helps but does not get rid of the error completly. We have to find a more stable solution.

Fixed by moving to vite

I still see this exact error every single time I try to run storybook after running npx storybook@latest init in a fresh clone of a repo.


Wrong project name in the oc get route

Hello Pranav,
I can see in the manifest file the project name we are using is "mssql-persistent" and the one which you used in the oc get route is "mssql-example" so we might need to correct this.
oc get route -n mssql-example mssql-app-route -o go-template='{{ .spec.host }}{{ println }}'

Closed thru #23


Added Dutch translation

Added Dutch translation

Thank you so much for taking the time & effort to make this accessible to more folks! Your translation is now live at https://ncase.me/crowds/nl.html 🎉  🎉  🎉


Improve drop-down placement

Proposed changes
In case the body or html element defines a overflow other than visible, drop-downs are currently misplaced.
As both elements are not relevant when trying to look for the best placement, this PR adds a check to ignore them.
Fixes https://github.com/materializecss/materialize/issues/311
Screenshots (if appropriate) or codepen:

see https://github.com/materializecss/materialize/issues/311
Types of changes

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

Checklist:

[x] I have read the CONTRIBUTING document.
[x] My commit messages follows the conventional commit format
[ ] My change requires a change to the documentation, and updated it accordingly.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Hey @sgiehl
Please change your commit message to the format https://commitlint.io
otherwise the linter will not pass. Otherwise, looks good!

@wuda-io I've adjusted the commit message

Thanks for your contribution! I have invited you as a member.

@wuda-io Any chance to push a new release with this fix?

That would be Release 1.2.2. I think we can do that.
Hopefully it works out until end of February.

That would be awesome. If I can do anything to help with that, let me know.


React.lazy for components

does the component library handle react.lazy so code can be loaded on-demand?
lets test this and if we support it, add it to the docs

Related: #59


Multicolumn linked filters with AND logic requested

Is it possible to have multicolumn inked filters with AND logic like the example below?.
http://koalyptus.github.io/TableFilter/auto-filter.html

I see what you are saying. This is a table wide search, not filtering. I am already working on something that will have column search + filtering. Stay tuned!


Regarding Keyword Level  CPC BID   issue

For keywordVID=12278651 and adgroupVID =58340251814  we are  getting different values of Keyword level CPC Bid in Adwords and Ads API.
Adwords API- null
code:  entry.setKeywordBid(toMoney(((CpcBid)x.getBiddingStrategyConfiguration().getBids(0)).getBid()));
Ads API -10
code: entry.setKeywordBid(toMoney(adGroup.getCpcBidMicros()));

Hi,
As I mentioned in your other issue #605 , for questions like this that are not specific to this particular library and are instead questions about the API, please reach out to us via the forum at https://groups.google.com/g/adwords-api.
Thanks,
Josh, Google Ads API Team


Confusing caliber messages

After I try to link ammo for cannons (so wrong ammo) i have message "Only 30mm rounds can fit in this gun"
if i try to link 30mm ammo to rack i get "2xRK racks cannot be loaded by 30mmHMG ammo!" (seems that one works)

This isn't really a bug, it's caused by the new changes in here: c140fea5ef1b37bb94e27cf5a222caea1353ac0d
I should work on the messages because I can see how they can be confusing.

Maybe 57adc6f3f4e4a4b57344a14abeb471003cc875f0 will help.  If things are still unclear then re-open this issue and tell me what the problem is.


[Nuxt Fatal Erro] TypeError: pattern.replace is not a function

Versions

nuxt: 2.15.7
node: v14.17.1

Steps to reproduce

build throught ci/cd pipline using aws code deploy

What is Expected?

build properly throuhg ci/cd pipline

What is actually happening?
[2021-06-23 12:24:45.992] [d-YO5ZEVSG9][stderr] FATAL  pattern.replace is not a function
[2021-06-23 12:24:45.992] [d-YO5ZEVSG9][stderr]
[2021-06-23 12:24:45.992] [d-YO5ZEVSG9][stderr]  at WebpackClientConfig.normalizeTranspile (node_modules/@nuxt/webpack/dist/webpack.js:4341:37)
[2021-06-23 12:24:45.992] [d-YO5ZEVSG9][stderr]  at new WebpackBaseConfig (node_modules/@nuxt/webpack/dist/webpack.js:4314:36)
[2021-06-23 12:24:45.993] [d-YO5ZEVSG9][stderr]  at new WebpackClientConfig (node_modules/@nuxt/webpack/dist/webpack.js:4731:5)
[2021-06-23 12:24:45.993] [d-YO5ZEVSG9][stderr]  at WebpackBundler.build (node_modules/@nuxt/webpack/dist/webpack.js:5133:26)
[2021-06-23 12:24:45.993] [d-YO5ZEVSG9][stderr]  at Builder.build (node_modules/@nuxt/builder/dist/builder.js:5518:30)
[2021-06-23 12:24:45.993] [d-YO5ZEVSG9][stderr]  at async Object.run (node_modules/@nuxt/cli/dist/cli-chunk6.js:89:7)
[2021-06-23 12:24:45.993] [d-YO5ZEVSG9][stderr]
[2021-06-23 12:24:46.013] [d-YO5ZEVSG9][stderr]
[2021-06-23 12:24:46.013] [d-YO5ZEVSG9][stderr]   ╭──────────────────────────────────────────────────╮
[2021-06-23 12:24:46.013] [d-YO5ZEVSG9][stderr]   │                                                  │
[2021-06-23 12:24:46.013] [d-YO5ZEVSG9][stderr]   │   :heavy_multiplication_x: Nuxt Fatal Error                             │
[2021-06-23 12:24:46.013] [d-YO5ZEVSG9][stderr]   │                                                  │
[2021-06-23 12:24:46.014] [d-YO5ZEVSG9][stderr]   │   TypeError: pattern.replace is not a function   │
[2021-06-23 12:24:46.014] [d-YO5ZEVSG9][stderr]   │                                                  │
[2021-06-23 12:24:46.014] [d-YO5ZEVSG9][stderr]   ╰──────────────────────────────────────────────────╯
[2021-06-23 12:24:46.014] [d-YO5ZEVSG9][stderr]

how to solve it?


Update LfmHelpers.php

fix infector bug

Thank you @B-GH
It looks like the behavior of str_singular(null); has changes in newer laravel.
Would you please modify the PR to use the second parameter of request() for making it shorter?
request('type', '');

Done.

Thank you very much!

Looks like there's some conflicts. I will merge it manually later when I reach my computer.

Done! thanks.

your welcome


feat: add 'event' tracking type to support simplified event tracking

Fire away. Builds should run in release PRs now as well. 🤞


Update wiz queries with new tables

Required items, please complete
Change(s):

Updated the queries on the workbook and connector to match with the new table names we offer
Updated some descriptions on the ARM template of the solution creation

Reason for Change(s):

We added a code version with new table names for Wiz logs, so we updated the queries accordingly

Testing Completed:

I need help with packaging

Checked that the validations are passing and have addressed any issues that are present:

Yes

Hi @v-atulyadav @v-prasadboke
I need help with packaging everything into a new package version 2.0.1. Can you please assist me with it?

Hello @yanivblumWiz, There stands 2 workbooks with same name WizFindings.json. One stands in standalone workbook folder while the other one is in the Solution folder. This the reason the validation check is failing.
We are checking on this issue and we will get back to you by 26 Jun, 2024.
Thanks,
Prasad

Hello @yanivblumWiz, There stands 2 workbooks with same name WizFindings.json. One stands in standalone workbook folder while the other one is in the Solution folder. This the reason the validation check is failing.
We are checking on this issue and we will get back to you by 26 Jun, 2024.
Thanks, Prasad

@v-prasadboke Thnks for your reply!
Let me know if there is anything else you need from me.
Looking forward to hearing back from you
Yaniv

Hello @yanivblumWiz, Sorry for the delay in response. This issue is under discussion and we will update you about the same.
Thanks,
Prasad

Hello @yanivblumWiz, Azure deploy file in the Solution is for function app.
I'm a bit confused about missing data connector.
Facing issue while packaging the solution. As the azuredeploy file is missing with property "id" which is basically data connector id

Hello @yanivblumWiz, Azure deploy file in the Solution is for function app. I'm a bit confused about missing data connector.
Facing issue while packaging the solution. As the azuredeploy file is missing with property "id" which is basically data connector id

What do you mean by data connector ID?
I did not change anything in the infrastructure of our solution in this PR.
We have had this solution for over a year and everything was fine.
Maybe you should use the V2 solution package, this is what you guys have used on our solution in the past.

@v-prasadboke Anyway, the code of our function app is located on a Wiz registry and the URL is within the ARM template, and that's the way we were approved to use by the Sentinel team when we certified our solution initially.
Let me know if you have any more questions.
Looking forward to hearing from you :)

Hello @yanivblumWiz, I see you have added a data connector in maintemplate but it is not in the data connector folder.
Can you please create a data connector for the same.

@v-prasadboke I am not sure I am following.
I did not add anything new to the main template here, I just updated some queries.
Can you please show me an example of what I need to add? I already have a data connector folder with everything needed for the integration to work.

Hello @yanivblumWiz, Can we get on a call for this. Please share your availability so that we can plan for the same.
My mail id is -<EMAIL_ADDRESS>You can ping me on teams on the same id if needed

Add a custom table schema named WizIssuesV2_CL  WizIssues_CL  at location
https://github.com/Azure/Azure-Sentinel/tree/master/.script/tests/KqlvalidationsTests/CustomTables

@v-atulyadav @v-prasadboke
Hi!
quick question, we can see this:

I still don't see the updated package on the content hub? Why is that?


Always /api/server/v1/remote-fetch API is invoked against super org

Describe the issue:
/api/server/v1/remote-fetch API is invoked when listing applications.
It is invoked against super org, even the user is logged into a sub org

Resolved by https://github.com/wso2/identity-apps/pull/3232


have upgraded pretrained models to pytorch1.x

https://github.com/HuaizhengZhang/scene-recognition-pytorch1.x-tf2.x
I have retrained many models by using pytorch 1.4 based on python3.7.
Anyone interested in using scene classification models with the latest pytorch version is free to access.
The project is still under active development. You are welcome to PR.
PyTorch version: 1.4.0
Is debug build: No
CUDA used to build PyTorch: 10.1

OS: Ubuntu 18.04.3 LTS
GCC version: (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0
CMake version: version 3.10.2

Python version: 3.7
Is CUDA available: Yes
CUDA runtime version: 10.1.243

Nvidia driver version: 418.116.00
cuDNN version: /usr/lib/x86_64-linux-gnu/libcudnn.so.7.6.2

Versions of relevant libraries:
[pip] numpy==1.18.1
[pip] torch==1.4.0
[pip] torchvision==0.5.0

The MIT project website is currently down, including their pre-trained model download links. Your repository is currently the only one that I can find that hosts pre-trained weights. Thank you so much!


Smudge errors when installing a package from git

Checks

[X] I have checked that this issue has not already been reported.

[X] I have confirmed this bug exists on the latest version of pixi, using pixi --version.

Reproducible example
NA
Issue description
I'm trying to add a private package that I install directly from github. The install is failing with a git-lfs error. I have no such problems when I try to install either via pip, or when I try to clone the repository. My pyproject.toml has a line something like this:
[tool.pixi.pypi-dependencies]
myrepo = { git =<EMAIL_ADDRESS>}

The error is this:
├─▶ Failed to download and build `foo @ ssh://git@github.com/foo/myrepo.git@<commit_hash>`
  ├─▶ Git operation failed
  ╰─▶ process didn't exit successfully: `git reset --hard <commit_hash>` (exit status: 128)
      --- stderr
      Downloading foo/<path>/bar.tar.zst (1.4 MB)
      Error downloading object: foo/<path>/bar.tar.zst (<object_hash>): Smudge error: Error downloading foo/<path>/bar.tar.zst (<object_hash>): error transferring
      "<object_hash>": [0] remote missing object <object_hash>

      Errors logged to '<path_to_cache>/git-v0/checkouts/<checkout_id>/<commit_hash>/.git/lfs/logs/<log_file>.log'.
      Use `git lfs logs last` to view the log.
      error: external filter 'git-lfs filter-process' failed
      fatal: foo/<path>/bar.tar.zst: smudge filter lfs failed

Expected behavior
I expect it to successfully install as it does with pip and with conda/mamba.

Would it be possible to get a reproducer for this?

@tdejager Sure. I just got one working. I made a repo that includes another repo in its pypi dependencies: https://github.com/lminer/pixilfsbug. The other repo is at https://github.com/lminer/lfsbug. If you clone pixilfsbug and then run pixi install, you should get the same error as above.

Great thank you! Will investigate this next week :)

Looks like UV is responsible for this issue and it is known: https://github.com/astral-sh/uv/issues/3312

Thanks, let's track and update accordingly.

Hi, I'm having the same issue. Is there any update on this?

@xela-95 Not anymore, uv also doesn't seem to have fixed it yet


improved wording

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

@4c74356b41 - I like the change. I had made another change in this topic so the resource group name changed. I submitted a PR to your branch to bring it up-to-date with the new example. I think this should merge correctly.

hey, thanks, I've merged your fix, thank you!

@4c74356b41 - thanks!

#sign-off


Fixed #131: .docx template files originating Office365 can now be used

Coverage decreased (-0.2%) to 92.337% when pulling 9d40a69d865a05995cb901d62fa90b50fae58198 on 131-office365-files into d94020e3013e3179c3a1470c8e3bf6dad938d822 on master.


AttributeError: 'ChannelPromise' object has no attribute 'value'

i have updated kombu and celery to the latest version 5.3.0 from that moment even if i downgrade to the first one the error still pops up
unavailable: Unknown error
Traceback (most recent call last):
  File "/opt/conda/lib/python3.9/site-packages/kombu/connection.py", line 472, in _reraise_as_library_errors
    yield
  File "/opt/conda/lib/python3.9/site-packages/kombu/connection.py", line 459, in _ensure_connection
    return retry_over_time(
  File "/opt/conda/lib/python3.9/site-packages/kombu/utils/functional.py", line 318, in retry_over_time
    return fun(*args, **kwargs)
  File "/opt/conda/lib/python3.9/site-packages/kombu/connection.py", line 941, in _connection_factory
    self._connection = self._establish_connection()
  File "/opt/conda/lib/python3.9/site-packages/kombu/connection.py", line 867, in _establish_connection
    conn = self.transport.establish_connection()
  File "/opt/conda/lib/python3.9/site-packages/kombu/transport/pyamqp.py", line 203, in establish_connection
    conn.connect()
  File "/opt/conda/lib/python3.9/site-packages/amqp/connection.py", line 323, in connect
    self.transport.connect()
  File "/opt/conda/lib/python3.9/site-packages/amqp/transport.py", line 129, in connect
    self._connect(self.host, self.port, self.connect_timeout)
  File "/opt/conda/lib/python3.9/site-packages/amqp/transport.py", line 184, in _connect
    self.sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "/opt/conda/lib/python3.9/site-packages/health_check/contrib/celery_ping/backends.py", line 15, in check_status
    ping_result = app.control.ping(timeout=timeout)
  File "/opt/conda/lib/python3.9/site-packages/celery/app/control.py", line 563, in ping
    return self.broadcast(
  File "/opt/conda/lib/python3.9/site-packages/celery/app/control.py", line 776, in broadcast
    return self.mailbox(conn)._broadcast(
  File "/opt/conda/lib/python3.9/site-packages/kombu/pidbox.py", line 330, in _broadcast
    chan = channel or self.connection.default_channel
  File "/opt/conda/lib/python3.9/site-packages/kombu/connection.py", line 960, in default_channel
    self._ensure_connection(**conn_opts)
  File "/opt/conda/lib/python3.9/site-packages/kombu/connection.py", line 459, in _ensure_connection
    return retry_over_time(
  File "/opt/conda/lib/python3.9/contextlib.py", line 137, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/opt/conda/lib/python3.9/site-packages/kombu/connection.py", line 476, in _reraise_as_library_errors
    raise ConnectionError(str(exc)) from exc
kombu.exceptions.OperationalError: [Errno 111] Connection refused
unavailable: Unknown error
Traceback (most recent call last):
  File "/opt/conda/lib/python3.9/site-packages/kombu/utils/functional.py", line 32, in __call__
    return self.__value__
AttributeError: 'ChannelPromise' object has no attribute '__value__'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
  File "/opt/conda/lib/python3.9/site-packages/kombu/connection.py", line 472, in _reraise_as_library_errors
    yield
  File "/opt/conda/lib/python3.9/site-packages/kombu/connection.py", line 459, in _ensure_connection
    return retry_over_time(
  File "/opt/conda/lib/python3.9/site-packages/kombu/utils/functional.py", line 318, in retry_over_time
    return fun(*args, **kwargs)
  File "/opt/conda/lib/python3.9/site-packages/kombu/connection.py", line 941, in _connection_factory
    self._connection = self._establish_connection()
  File "/opt/conda/lib/python3.9/site-packages/kombu/connection.py", line 867, in _establish_connection
    conn = self.transport.establish_connection()
  File "/opt/conda/lib/python3.9/site-packages/kombu/transport/pyamqp.py", line 203, in establish_connection
    conn.connect()
  File "/opt/conda/lib/python3.9/site-packages/amqp/connection.py", line 323, in connect
    self.transport.connect()
  File "/opt/conda/lib/python3.9/site-packages/amqp/transport.py", line 129, in connect
    self._connect(self.host, self.port, self.connect_timeout)
  File "/opt/conda/lib/python3.9/site-packages/amqp/transport.py", line 184, in _connect
    self.sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
  File "/opt/conda/lib/python3.9/site-packages/health_check/contrib/celery/backends.py", line 17, in check_status
    result = add.apply_async(
  File "/opt/conda/lib/python3.9/site-packages/celery/app/task.py", line 594, in apply_async
    return app.send_task(
  File "/opt/conda/lib/python3.9/site-packages/celery/app/base.py", line 798, in send_task
    amqp.send_task_message(P, name, message, **options)
  File "/opt/conda/lib/python3.9/site-packages/celery/app/amqp.py", line 517, in send_task_message
    ret = producer.publish(
  File "/opt/conda/lib/python3.9/site-packages/kombu/messaging.py", line 186, in publish
    return _publish(
  File "/opt/conda/lib/python3.9/site-packages/kombu/connection.py", line 563, in _ensured
    return fun(*args, **kwargs)
  File "/opt/conda/lib/python3.9/site-packages/kombu/messaging.py", line 195, in _publish
    channel = self.channel
  File "/opt/conda/lib/python3.9/site-packages/kombu/messaging.py", line 218, in _get_channel
    channel = self._channel = channel()
  File "/opt/conda/lib/python3.9/site-packages/kombu/utils/functional.py", line 34, in __call__
    value = self.__value__ = self.__contract__()
  File "/opt/conda/lib/python3.9/site-packages/kombu/messaging.py", line 234, in <lambda>
    channel = ChannelPromise(lambda: connection.default_channel)
  File "/opt/conda/lib/python3.9/site-packages/kombu/connection.py", line 960, in default_channel
    self._ensure_connection(**conn_opts)
  File "/opt/conda/lib/python3.9/site-packages/kombu/connection.py", line 459, in _ensure_connection
    return retry_over_time(
  File "/opt/conda/lib/python3.9/contextlib.py", line 137, in __exit__
    self.gen.throw(typ, value, traceback)
  File "/opt/conda/lib/python3.9/site-packages/kombu/connection.py", line 476, in _reraise_as_library_errors
    raise ConnectionError(str(exc)) from exc
kombu.exceptions.OperationalError: [Errno 111] Connection refused

The problem is this: https://github.com/docker-library/rabbitmq/issues/645
django-health-check is tryng to connect to celery rabbitmq queue via <IP_ADDRESS>, but im on docker and I need to update the connection string, it should not point to <IP_ADDRESS>:5672, it should be rabbitmq:5672. keep in mind localhost in container mean this container, not rabbitmq container


Postgres compatible license

Can you have this project use Postgres license or a license compatible with the Postgres license

Hi @sirinath, we have chosen to use the GPLv3 for PipelineDB because we believe it strikes the right balance between free use of PipelineDB's code and encouraging any improvements made to it to be shared back with the community.


Fix deep equal on maps with different structures

Fixes issue #2882. Deep equal wasn't checking to see if the key exists on the map it was comparing itself to.

Codecov Report

Merging #2892 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff           @@
##           master   #2892   +/-   ##
======================================
  Coverage     100%    100%
======================================
  Files          68      68
  Lines        1404    1405    +1
======================================
+ Hits         1404    1405    +1

Impacted Files
Coverage Δ

src/structure/immutable/deepEqual.js
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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

👍

Published as v6.7.0.


Force version of sklearn in examples

Force sklearn version to the same version the models were trained on. This ensures that the examples will pass correctly.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

Run Python 3.9 PostCommit

Please fix lint & yapf and run an integration test suite that runs the example.

Please fix lint & yapf and run an integration test suite that runs the example.

Whoops, missed the linting failures - thanks.
Python3.9 postcommit does run the example, so that's already done. I'll run it again though.

Run Python 3.9 PostCommit


Unable to update token on-chain name

Hello,
With the latest metaboss version, after converting my collection to metaplex pNFT, it seems I can no longer update the on-chain name of NFTs:
Error: RPC response error -32002: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x99 [4 log messages] root@scripts01:~/keys# metaboss find error 0x99         Token Metadata |        InstructionNotSupported: Instruction not supported for ProgrammableNonFungible assets Done!
That is the error I receive.

Updating pNFTs uses a different update command that hasn't been added to Metaboss yet.

Any plans to add in the future?

Any plans to add in the future?

You can track the status here: https://github.com/samuelvanderwaal/metaboss/pull/251

Updating pNFTs is supported now.


drivers: spi: add mspm0 driver

This commit adds mspm0 hardware specific spi driver.
Only controller mode has been tested and therefore peripheral mode is not yet a valid config.
The driver has been tested with physical hardware using a spi_nor jedec flash.
Note: Requires https://github.com/msp-ti/hal_ti/pull/2 (not added to west.yml as it's currently pointing at another pull towards upstream).
@msp-ti not sure if you want this PR targeted this branch. I can change target if you prefer it on another branch. I just don't have write permission to the repo so had to pick a branch.

Thank you for these updates. I'll look to include them and credit them on top of our additional SPI work.


doc: Add documentation about code review by step

This pull request adds a missing page about code review to documentation.

Codecov Report

Merging #1355 (d573cfa) into master (3075194) will increase coverage by 0.02%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master    #1355      +/-   ##
============================================
+ Coverage     77.79%   77.81%   +0.02%
  Complexity      705      705
============================================
  Files           244      244
  Lines          4692     4692
  Branches        901      901
============================================
+ Hits           3650     3651       +1
  Misses          550      550
+ Partials        492      491       -1


ServiceBus feedback

I've updated to the latest version (1.0.0) and noticed the following:

All Create/Update parameter classed are prefixed with SB. Except Rule.
When creating namespace, SBNamespace takes a Sku which has a Name and a Tier. This seems to be redundant, as it's the same thing: basic, standard, or premium. Why the two properties are needed?

These changes are coming from the swagger api spec. tagging @arundsouza [From service team] to comment.

ping

Almost 2 years 😂
Glad the .NET Standard client has added management operations.


Consistent Hashing

Specifying an encoding of "UTF8" to fs.readFileSync(...) is not desired.  Hashing the String representation of a binary file will never be consistent.  See my comments in the commit.

Aparently some tests failed...apologies...I never looked into this library's tests.  I'll get a glance at these and look into re-committing.


FIx broken link for net6 preview7

First link here https://github.com/dotnet/core/tree/main/release-notes/6.0/preview/api-diff/preview7 (.NET) is missing -0 and hence is broken. This PR fixes that.

cc: @Anipik

It seems that file names are not standardized @rbhanda @Anipik. Some releases use the 6.0.0 format, others just 6.0. Should we conform to one format?

I'm going to merge this for now, but we should look at the format to be consistent.


Add bing/google search results to PowerToys Run

📝 Provide a description of the new feature
What is the expected behavior of the proposed feature?  What is the scenario this would be used?
When you type something into the PowerToys Run search bar, it should also give an option to open it in your default browser, but instead of an address, it would search for that in your search engine of choice. For example, if I want to search on Bing for "PowerToys", then I would type that into the PowerToys Run search bar, and select the "search on Bing" button. Then Bing would open in my default browser, and results would show up.
If you'd like to see this feature implemented, add a 👍 reaction to this post.

dup of https://github.com/microsoft/PowerToys/issues/3245

dup of https://github.com/microsoft/PowerToys/issues/3245


run apt/yum/etc update and upgrade (or any command) on creation & wireguard-kernel "issues"

Hi @vitobotta,
it's me again ;) I was just building another cluster using your tool and figured there are two things I'm missing:

if encryption with wireguard is enabled one should use kernel >5.6. Hetzner uses 5.4.0-105-generic on a default install of 20.04

to fix that I am running

apt update \
&& apt upgrade -y \
&& apt autoremove -y \
&& reboot

on each node along with this in the cluster_config.yaml:
additional_packages:
  - "linux-generic-hwe-20.04"
  - "open-iscsi"
  - "jq"

The two other packages are required for longhorn so I figured I add them there too, however I need to run an apt update + upgrade along with a reboot for the hwe-kernel to load.
I also run mount --make-rshared / on worker nodes for longhorn.
Could you add a separate additional_commands along with a additional_packages on a pool-level  and a additional_commands on a global-level?
Like:
worker_node_pools:
- name: test
  instance_type: cpx21
  instance_count: 3
  location: nbg1
  additional_packages:
    - "open-iscsi"
    - "jq"
  additional_commands:
    - "mount --make-rshared /"
enable_encryption: true
additional_packages:
  - "linux-generic-hwe-20.04"
additional_commands:
    - "apt update && apt upgrade -y && apt autoremove -y && reboot"

Best regards
Max

When I tested the Wireguard stuff all was working with the default kernel on the Ubuntu VMs I tested with. Where did you see that you should use a >5.6 kernel?

It does work, however Wireguard is integrated in the Kernel since 5.6.

Well, you said "should use" so I was confused.
As for the additional commands, I've added https://github.com/vitobotta/hetzner-k3s/projects/1#card-80424841 but not sure when I have time for this since I'm pretty busy with my day job at the moment. But I'll see what I can do.

"Should" not "must" ;)
Super cool, thanks! The tool is amazing!

@Privatecoder This is done in v0.5.7. You can now specify which commands to run after the servers are created by setting the list of commands with the post_create_commands configuration option. See README. Closing now but feel free to comment if you run into any issue with it.

Thank you!! I will give it a try on monday 👍


fix(select): violation: added non-passive event listener to a scroll-blocking 'mousewheel' event.

[Violation] Added non-passive event listener to a scroll-blocking 'mousewheel' event. Consider marking event handler as 'passive' to make the page more responsive. See https://www.chromestatus.com/feature/5745543795965952

will be fixed with on next


GettingStarted link in v0.5/classification_and_detection/README.md is broken

The link to GettingStarted points to "https://github.com/mlperf/inference/blob/master/cloud/image_classification/GettingStarted.ipynb"
It should point to "https://github.com/mlperf/inference/blob/master/v0.5/classification_and_detection/GettingStarted.ipynb"

I'll change it, need to update the links in the tutorial as well.

not an issue anymore.


modify tropical storm layer ; COUNTRY=mozambique

This temporarily addresses tropical storm layers not available through Geoserver. It's a temporary fix

resolved through another temporary fix https://github.com/WFP-VAM/prism-app/pull/820


Message Timing mix-up on notification

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Click on the user chat
Send multiple messages at a time.

Expected Result:
When multiple messages are sent simultaneously, The message I sent first should appear first and the message I sent after that should appear later in the notification, not first.
Actual Result:
When multiple messages are sent simultaneously. After that the first sent message doesn't show up in the notification, I've seen it last or in the middle.
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.3.2
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation

https://user-images.githubusercontent.com/43996225/233190567-95e99b13-8330-4c10-8edc-5222731b8dbd.mp4

Expensify/Expensify Issue URL:
Issue reported by: @corange-lab
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1681899732681599
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~019fdbb3d12f6aa455
Upwork Job ID:<PHONE_NUMBER>103906304
Last Price Increase: 2023-04-28

Triggered auto assignment to @abekkala (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

Bug0 Triage Checklist (Main S/O)

[ ] This "bug" occurs on a supported platform (ensure Platforms in OP are ✅)
[ ] This bug is not a duplicate report (check E/App issues and #expensify-bugs)

If it is, comment with a link to the original report, close the issue and add any novel details to the original issue instead

[ ] This bug is reproducible using the reproduction steps in the OP. S/O

If the reproduction steps are clear and you're unable to reproduce the bug, check with the reporter and QA first, then close the issue.
If the reproduction steps aren't clear and you determine the correct steps, please update the OP.

[ ] This issue is filled out as thoroughly and clearly as possible

Pay special attention to the title, results, platforms where the bug occurs, and if the bug happens on staging/production.

[ ] I have reviewed and subscribed to the linked Slack conversation to ensure Slack/Github stay in sync

Job added to Upwork: https://www.upwork.com/jobs/~019fdbb3d12f6aa455

Current assignee @abekkala is eligible for the External assigner, not assigning anyone new.

Triggered auto assignment to Contributor-plus team member for initial proposal review - @thesahindia (External)

Triggered auto assignment to @joelbettner (External), see https://stackoverflow.com/c/expensify/questions/7972 for more details.

@thesahindia this certainly looks like an issue worth fixing. Should we start getting some proposals for it?

📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸

@thesahindia is there any update on possible proposals for this?

Ah ok - maybe @joelbettner can confirm that for us!

@abekkala @joelbettner @thesahindia this issue was created 2 weeks ago. Are we close to approving a proposal? If not, what's blocking us from getting this issue assigned? Don't hesitate to create a thread in #expensify-open-source to align faster in real time. Thanks!

I think this can be worked on externally. Contributors are able to test against our servers (which is where we do our notifications), correct?

I think it's okay to start triage, but we should be aware that this could well be a backend issue, and that notifications can't be tested on iOS for contributors.

applying engineering label to get an internal engineer assigned to this

posted in engineering chat looking for a volunteer

haven't found a volunteer yet

https://expensify.slack.com/archives/C03TQ48KC/p1683798735329839 - still no takers

posted again: https://expensify.slack.com/archives/C03TQ48KC/p1684349338323489

@Julesssss @arosiclair could you help to confirm whether this can be taken on Externally? We've posted in engineering chat looking for a volunteer a couple of times now

Have we confirmed that this is only occurring on Android? Contributors can't test iOS notifications, so I think it depends on whether this is an Android only issue or not.

We already have internal issue for this https://github.com/Expensify/Expensify/issues/258537.

@Julesssss @arosiclair is there chance to reward for reporting bug?

Don't think so. This has been a known issue for a while.

ok actually i don't know about it so just asked you. anyways thanks


Support docker engine 1.7.1 binary install

Engine 1.7.1 was released with a bug fix we need.  Lets add support for this version in the cookbook.
https://github.com/docker/docker/blob/v1.7.1/CHANGELOG.md

+1

Done!


prepare nvenc_h264 code for ffmpeg >= 3.2.x

ffmpeg 3.2 renames nvenc_h264 to h264_nvenc & drops a deprecated warning when nvenc_h264 is used.
The patch updates the nvenc_h264 section to set the encoder options on both possible selections with ffmpeg >=3.2. Additionally the debug messages are more general.

the patch looks nice, there is a small ccheck warning could you please fix that
and commit it (in the same branch) ?
then I will merge it

the patch looks nice, there is a small ccheck warning could you please fix that
and commit it (in the same branch) ?
then I will merge it


Update examples' License

@SylvainCorlay @ssunkara1 This adds the License for the two csv files in the data_files folder

@jasongrout

I think the attribution should also be in the example notebooks that use this data.

I will add the URLs. There is attribution in the notebooks as well, but I will add them for the country codes

@jasongrout made the requested changes

@jasongrout Sorry about that

@jasongrout ping

As per @jasongrout we're good to merge this and add CC0 licenses for the notebooks


fix(versions): update Activiti/example-runtime-bundle versions into master

UpdateBot pushed helm dependency: common to: 1.1.13

UpdateBot commands:
updatebot push-version --kind helm common 1.1.13


Incorrect parameter name in `az network vnet subnet create

This is the documentation:
az network vnet subnet create --address-prefixes
When trying it with the CLI, it failed and request missing parameter --address-prefix.
CLI version: 2.0.42
OS: Mac

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

ID: 385e420c-4bd0-3ddd-d9cd-a9a411ec1f7b
Version Independent ID: 65172372-f485-3d2b-64aa-57c38ac11538
Content: az network vnet subnet
Content Source: src/command_modules/azure-cli-network/azure/cli/command_modules/network/_help.py
Service: virtual-network
GitHub Login: @rloutlaw
Microsoft Alias: routlaw

You need to update your CLI.


R "hello world" program

Added R hello world program.

This pull request do not contains files in specific folders. Please fix it and reopen


Masked sequences

Thanks for sharing this crate with the community Jeff. It looks really clean!
I have some suggestions for additional codecs to support masked sequences. Of course, I can easily just implement these in my own application thanks to your Codec derive macro, but following the philosophy of this crate, it might make sense to just implement them once for if others want to use them.
Often, we deal with DNA sequences which can be soft-masked, represented by lowercase, e.g.
ACGTaaatACGT
    |--| <- soft-masked region

or hard-masked, represented by N/n. Sometimes both at the same time.
Therefore we have an alphabet of 10 characters;
A, C, G, T, N, a, c, g, t, and n.
2⁴ would cover that with 6 spare, so you could throw in gaps - and padding . characters:
use bio_seq::codec::Codec;
use bio_seq_derive::Codec;

#[derive(Clone, Copy, Debug, PartialEq, Codec)]
#[bits(4)]
#[repr(u8)]
pub enum MaskedDna {
    A = 0b0000,
    C = 0b0001,
    G = 0b0010,
    T = 0b0011,
    #[alt(0b1010, 0b1001)]
    N = 0b1000,
    #[display('a')]
    ASoftMasked = 0b0100,
    #[display('c')]
    CSoftMasked = 0b0101,
    #[display('g')]
    GSoftMasked = 0b0110,
    #[display('t')]
    TSoftMasked = 0b0111,
    #[display('n')]
    #[alt(0b1110, 0b1101)]
    NSoftMasked = 0b1100,
    #[display('-')]
    Gap = 0b1011,
    #[display('.')]
    Pad = 0b1111,
}

The obvious extension (and what I actually have a use-case for) is masked IUPAC sequences. Something like
#[derive(Clone, Copy, Debug, PartialEq, Codec)]
#[bits(5)]
#[repr(u8)]
pub enum MaskedIupac {
    A = 0b01000,
    C = 0b00100,
    G = 0b00010,
    T = 0b00001,
    R = 0b01010,
    Y = 0b00101,
    S = 0b00110,
    W = 0b01001,
    K = 0b00011,
    M = 0b01100,
    B = 0b00111,
    D = 0b01011,
    H = 0b01101,
    V = 0b01110,
    N = 0b01111,
    #[display('a')]
    ASoftMasked = 0b11000,
    #[display('c')]
    CSoftMasked = 0b10100,
    #[display('g')]
    GSoftMasked = 0b10010,
    #[display('t')]
    TSoftMasked = 0b10001,
    #[display('r')]
    RSoftMasked = 0b11010,
    #[display('y')]
    YSoftMasked = 0b10101,
    #[display('s')]
    SSoftMasked = 0b10110,
    #[display('w')]
    WSoftMasked = 0b11001,
    #[display('k')]
    KSoftMasked = 0b10011,
    #[display('m')]
    MSoftMasked = 0b11100,
    #[display('b')]
    BSoftMasked = 0b10111,
    #[display('d')]
    DSoftMasked = 0b11011,
    #[display('h')]
    HSoftMasked = 0b11101,
    #[display('v')]
    VSoftMasked = 0b11110,
    #[display('n')]
    NSoftMasked = 0b11111,
    #[display('-')]
    Gap = 0b00000,
    #[display('.')]
    Pad = 0b10000,
}

Finally, one could add 3-bit representations of HardMaskedDna (which allows N, and maybe -/. but not lowercase letters), and 3-bit SoftMaskedDna, which allows acgt, but not N or -/.)

This is great and it would fit in perfectly with this project.
Maybe with the 6 extra codes afforded by the 4-bit representation of MaskedDna we can build in some clever encoding that gives us cheap complement and/or reverse operations. I'm thinking that bitwise-xor or reversing the bitstrings could perform these in one bitwise operation, like if A is 1000, a is 0111, T is 0001, and t is 1110. Then reversing the bits complements them (and reverse complements a Seq<MaskedDna>) and xoring the bits masks them. It works with G and C too, but will require some thinking about the gaps and Ns. For some workloads this encoding could be faster than the 2-bit encoding.
I suppose there could be something clever to do with MaskedIupac but it might require 6 bits. The 5-bit encoding you have is quite appealingly a complete 32 characters.
If you want to add this codec in then a pull request is certainly welcome.
The one API thing to consider is that maybe we want a masked module, and could call these masked::Dna and masked::Iupac. That would fit in with the idea I had to use text::{Dna,Iupac,Amino} for the 8-bit encodings. I'm open to feedback on this design.

Hey @J-Wall I've made a commit that has a masked encoding module. Here's what usage looks like:
#[cfg(test)]
mod tests {
    use crate::codec::masked;
    use crate::prelude::*;

    #[test]
    fn mask_sequence() {
        let seq = Seq::<masked::Dna>::try_from("A.TCGCgtcataN--A").unwrap();

        assert_eq!(seq.mask().to_string(), "a.tcgcGTCATAn--a".to_string());
    }

    #[test]
    fn masked_revcomp() {
        let seq = Seq::<masked::Dna>::try_from("A.TCGCgtcataN--A").unwrap();

        assert_eq!(seq.revcomp().to_string(), "T--NtatgacGCGA.T".to_string());
    }
}

If instead of sequential bit sequences we choose these patterns, we get efficient revcomp and mask operations by reversing or inverting the Seq<masked::Dna> bitvecs too:

It's quite lucky: there are 2 groups of bit sequences with the symmetry that satisfies the square relationships we need for 4 nucleotides, one maskable group that's its own complement, N, and two groups that aren't maskable and equal to their own complements (-, .):
    N = 0b0000,
    #[display('n')]
    NMasked = 0b1111,

    #[display('-')]
    #[alt(0b0011)]
    Gap = 0b1100,

    #[display('.')]
    #[alt(0b0101)]
    Pad = 0b1010,

which leaves us with two extra symbols that complement to themselves but mask to eachother:
    #[display('?')]
    Unknown1 = 0b0110,

    #[display('!')]
    Unknown2 = 0b1001,

Any ideas what we could use them for?
I tried to have a think about masked IUPAC encodings but I got a headache. I think the 5-bit version makes the most sense. Have you tried it out?

Hi @jeff-k, this looks really cool.

Any ideas what we could use them for?

I tried to have a look online if there were any standards/commonly use characters. I think ? makes sense, maybe with X?
Regarding the API, I think maybe rename Seq<codec::masked::Dna>::mask to invert_mask, or something similar? Then .mask() and .unmask() could be one-direction conversions

I tried to have a think about masked IUPAC encodings but I got a headache. I think the 5-bit version makes the most sense. Have you tried it out?

I wrote the relationships out, and with a 5-bit representation, there are 6 "square-relationship groups" and 4 "maskable self-complementing groups". Unfortunately the IUPAC alphabet would require 7 "square-relationship groups" and (at least) 2 "maskable self-complementing groups" (N/n & -/.), so it doesn't really fit with simple bit-negation and reversing. It's very compact though, providing you're happy to disallow either softmasked ns or gaps so it all fits.
I also wrote out the 6-bit relationships as well. There you have 13 "square groups" and 6 "maskable self-complement groups". So you easily fit it in to that with enough spare to also include U (with an RNA version of A) and anything else which is in the masked DNA codec
Reduced IUPAC
This exercise got me thinking about if there was an even more compact representation of the masked IUPAC alphabet. This is a bit lossy and might be a bit specific to my application, but bear with me: I think some software treats the 3-fold degenerate bases (BDHV) as N. If you do that, you only need to represent ACGTRYSWKMN-. Now (in my application at least, not sure if others would find this useful), the degenerate bases only occur in soft-masked regions, so for my purposes, if I'm happy to drop the 3-fold degenerate bases, the alphabet ACGTNacgtryswkm- (16 symbols) would be sufficient, which means I could fit it in 4 bits. Obviously I wouldn't get the bitwise operation optimisations on revcomp and masking, but in my mind space is more expensive than compute (and it's not like these are particularly expensive transformations in the first place).

Yeah, I guess inverting the mask isn't actually as useful as setting it or unsetting it over a region. So we'll want to implement mask for mutable slices, too.
What's appealing about the 5-bit alphabet is that the leading bit sets the mask, so implementing mask/unmask is just a matter of flipping it and we don't need a lookup table or 32 arm match statement. I can merge it in if you have a branch?
I really like the idea of the degenerate encodings. Actually, I've been playing with a 1-bit encoding of S (G/C) and W (A/T) for minimiser/species identification stuff (not to mention quite an efficient complement operation!) I wouldn't mind having a feature gate for some experimental encodings. I'm sure other people could have fun with these.
Similarly for amino acids. If we encode amino acids into 8 categories (hydrophobic/positive charge etc.) that's also 1-bit per base. Less than 1-bit with 4 categories. I think some crystallography data only resolves residues at that level of detail.
Anyway, a big motivation for this crate is to be able to swap out encodings at leisure so I'm all for showing off the possibilities.

For the 5-bit masked IUPAC encoding, if we put the mask bit in the centre of the sequence we'll a cheap reverse complement operation:

A
C
mask flag
G
T

A
1
0
0
0
0

C
0
1
0
0
0

G
0
0
0
1
0

T
0
0
0
0
1

a
1
0
1
0
0

c
0
1
1
0
0

g
0
0
1
1
0

t
0
0
1
0
1

S
0
1
0
1
0

W
1
0
0
0
1

although I guess the appropriate thing to do would be to set up a proper benchmark suite before going further into this kind of optimisation


feat: Scheduled LSF sync

Hi @Julio Sgarbi!
This PR was created in response to a PRs in upstream repo:

https://github.com/heartexlabs/label-studio-frontend/commit/7716e1f538aa9c8bf5eb240e561a8ddb64f3cc67
https://github.com/heartexlabs/label-studio-frontend/commit/de078aef3926e12e552b18a5609968b1652359f1
https://github.com/heartexlabs/label-studio-frontend/commit/a087162a8f4ba3441501313fda4e54a746df7449
https://github.com/heartexlabs/label-studio-frontend/commit/791b7135d7a37db382bae18e473b14ba39bdd966
https://github.com/heartexlabs/label-studio-frontend/commit/f44a935b1ccd5cd5bae7eda69cab319ca8fd4568
https://github.com/heartexlabs/label-studio-frontend/commit/6436e4e80a1f302be0b0997180139485bf4c1fe8
https://github.com/heartexlabs/label-studio-frontend/commit/9edda24573f8584b39596941cef3ff3a543ac4c5
https://github.com/heartexlabs/label-studio-frontend/commit/5e7bf4438db01da428b35a18986ec6d0db01d0c5
https://github.com/heartexlabs/label-studio-frontend/commit/e45dea20b70f7ab001feccfebadd947104bab2ae
https://github.com/heartexlabs/label-studio-frontend/commit/a297fe97abdde7764fdd48b78cac441d3090a4a0
https://github.com/heartexlabs/label-studio-frontend/commit/9578b82ec8882d4dca943ba49c801adcf455a203
https://github.com/heartexlabs/label-studio-frontend/commit/c1f97121ffe5e57d6a61c1ff22aa5289fa8c7edd
https://github.com/heartexlabs/label-studio-frontend/commit/0c801430fa7033c3e3f78eda1b4d4231af11bf9d
https://github.com/heartexlabs/label-studio-frontend/commit/cf560171e5f3db9cf0d365302056538bb456defe
https://github.com/heartexlabs/label-studio-frontend/commit/ccf87de82d631d487a282790164cd8195b632c39
https://github.com/HumanSignal/label-studio-frontend/commit/64c2c147c52d92373ba26d9fe3bc59e73edfd1f7
https://github.com/HumanSignal/label-studio-frontend/commit/188fb81a6109ff12a0c259eb33ef9ad911dd5405
https://github.com/HumanSignal/label-studio-frontend/commit/8139d7b800560232b66157871d45c2d524a9f94f
https://github.com/HumanSignal/label-studio-frontend/commit/999a946f92895318d01f842e70de642067252a86
https://github.com/HumanSignal/label-studio-frontend/commit/3f8c90df983b9929c19115279306bac7ec272276
https://github.com/HumanSignal/label-studio-frontend/commit/391591737ed2bbbb9af95e0d12e4ff6d3598dd0a
https://github.com/HumanSignal/label-studio-frontend/commit/4f4a382254b4dd781af5ad8cdbe35b015f780a4c
https://github.com/HumanSignal/label-studio-frontend/commit/410981b04b58f51a7fb9a634da6abdfd516c7a5f
https://github.com/HumanSignal/label-studio-frontend/commit/688ba577fdc3a6b87ca24e94f27c7b2aac511b2a
https://github.com/HumanSignal/label-studio-frontend/commit/95fb62a3a38f7f2e67aa53b22854823c8842344b
https://github.com/HumanSignal/label-studio-frontend/commit/90c13ccffb6029e5281384c92f479cea201d7d4a
https://github.com/HumanSignal/label-studio-frontend/commit/210c03496fb08b66fecaa890c540a4260be717ea
https://github.com/HumanSignal/label-studio-frontend/commit/ce5217c8f2b7ba4dda598cec3cf447d37f2536ef
https://github.com/HumanSignal/label-studio-frontend/commit/fd0c33257fb5048cfce89cf36a12575120c1b4fe
https://github.com/HumanSignal/label-studio-frontend/commit/5ae9ccbfa136781bedcb665b4b9581c7f82daaad
https://github.com/HumanSignal/label-studio-frontend/commit/da3030a3311928aab6c33aba47fbb9998f8dbe5b
https://github.com/HumanSignal/label-studio-frontend/commit/c6295eac9513c8d234f18fb175eb6bafb4e9770d
https://github.com/HumanSignal/label-studio-frontend/commit/6fb65c83cef1e144f2a9896e5898e0387c969693
https://github.com/HumanSignal/label-studio-frontend/commit/2c59ae09175384e0b7c994575d708f2f2872cebd
https://github.com/HumanSignal/label-studio-frontend/commit/2f5b6e1f3aac6aacf23b66ac64f1d6a8f34d4036
https://github.com/HumanSignal/label-studio-frontend/commit/88ba15c536dfe39c4e211239fbce98300ab41807
https://github.com/HumanSignal/label-studio-frontend/commit/84069d9a309ca80a8275aa18be70d3883d9d3dbf
https://github.com/HumanSignal/label-studio-frontend/commit/28c0e12c566794df3d749799276d2a0c60f28e2b

This PR is stale because it has been open 45 days with no activity. Remove stale label or comment or this will be closed in 10 days.

This PR was closed because it has been stalled for 10 days with no activity.


Add a "perform" option for when the IRC client connections.

Some people like to enable/disable usermodes when they connect and do other things.

I use this all the time.


Auto request review on PR

Is your feature request related to a problem? Please describe.
Right now, a contributor has to manually request review from mentors on each PR he creates, some times he/she can forget this
Describe the solution you'd like
Github has a feature called CODEOWNERS. Basically github requests review from the people tagged in the CODEOWNERS file which we will have to create, automatically
Additional context
You can read more about CODEOWNERS here

@isabelcosta  should we add this feature?


"Starting validation" StarlarkRunProgress message has incorrect TotalSteps field

What's your CLI version?
1.4.1
Description & steps to reproduce
When running a Starlark package via the SDK's RunStarlarkPackage (or its remote counterpart), I'm fetching the response from the channel and formatting them manually for printing. When reaching the "Starting validation" message we can see the total steps correspond to the execution phase's instead of the validation's.
Note: I'm using the Go SDK, but I suspect this isn't SDK-specific.
Desired behavior
I'd expect the "Starting validation" message to have the total steps of the validation phase instead of the execution phase's.
What is the severity of this bug?
Papercut; this bug is frustrating, but I have a workaround.
What area of the product does this pertain to?
SDK: the Software Development Kit libraries - Typescript, Go, etc.

Hey @MegaRedHand thanks for making the issue! Will take a look to see why this. Also curious, could you elaborate more on how this is causing friction in your workflow? (eg. are you expecting using number steps as a termination condition?)

Hey! Thanks for the response! I'm using the engine responses to show the user a progress bar.
Initially, I was using the steps returned in the "Starting validation"/"Starting execution" messages to set the "total steps". Due to this, however, I use the info from the following messages instead.


Discussion: Rethink PrimitiveLiteral.

In our discussion in #77, we decoupled type info from struct values. I'm also facing some challenge when implementing #153. In short, the PrimitiveLiteral is kind of weird:

Sometimes it's self contained, for simple types such as int, date, string.
Sometimes it's not self contained, for example decimal.

Since we have decided to decouple type info from actual values, I think we should further do it to primitive types. But sometimes it would be quite useful so associated type info with actuals, for example when we want to allow user to construct an expression a < 3.25, where 3.25 is a decimal.
I would suggest to do following refactoring:

Further simplify PrimitiveLiteral to have only several physical variants: bool, i32, i64, i128, float, double,  bytes, utf8. It's mainly used as in memory data structures for things like manifest, data files, etc.

Add a new type Datum which is self contained primitive value, it can be implemented as following:

pub enum Datum {
   bool(bool),
    int(i32),
    ...
    datetime(DateTime<Utc>),
    decimal(Decimal),
}

Datum is mainly used in user facing apis, such as expression construction.
Alternatives

Should we implement PrimitiveLiteral just as Vec<u8>?

It's possible, but I don't think it's a good idea. By using physical types, we can avoid a lot unsafe codes, and make things easier to maintain.

cc  @Xuanwo @JanKaul @Fokko @ZENOTME

Add a new type Datum which is self contained primitive value, it can be implemented as following

This idea looks good to me. But I'm concerned about the conversion effort for two representations.  e.g. The user uses expr Decimal(Decimal), and the partition value in the data file is Decimal(i128). Then we should make an effort to convert them and compare them. And we also should deal with the case that if Decimal(Decimal) is i256.
The Datum seems like Literal with type info, so I think a new representation🤔:
struct Datum {
  ty: DataType,
  value: Literal
}

The benefit of this may be less compatible effort. To make user-facing APIs more simplified, maybe we can let the user provide Decimal and convert it into Literal + DataType in the inner.

What do you mean by self-contained? For example, why is a date self-contained, and a decimal not?

Sorry for the unclear description. Currently the decimal value is stored in an Decimal(i128), that means we lost the scale in type. (Think about the case we want to print it for error reporting, we can't correctly print it, but it's not the case the Date(i32).
In rust api, the Literal doesn't contains complete type info. Compared with python/java api, Literal is used in more places, for example, in the upper/lower bounds of partition field summary, rust uses Literal rather than bytes. This way we can do some check and avoid unsafe codes.

I think this goes back to an earlier discussion:
pub enum Datum {
bool(bool),
int(i32),
...
datetime(DateTime),
decimal(Decimal),
}

Yes, but this Datum serves for different purpose, it's mainly user facing api to construct expression.

The Datum seems like Literal with type info, so I think a new representation🤔:
struct Datum {
ty: DataType,
value: Literal
}

This sounds a good idea to me, which doesn't introduce extra maintain effort. The only concern is that it maybe not quite user friendly, but it seems that we can add some api to make it easier to use.

Following @Fokko's reasoning, Decimal is comparable to TimestampZ where the timezone is stored in the type. Similarly the scale of the Decimal is stored in the type.
I think it makes sense to think about the use cases for Literal. It is used for partition values and default values. Both require only the physical representation. The scale is actually not needed and Literal(i128) would suffice for these use cases.
@liurenjie1024 mentioned error messages as another use cases. That's the only time that the i128 representation might not be suitable. The question is whether the error messages warrant a more complex implementation.
Regarding @Fokko's example: Doesn't initially storing the Decimal as a LiteralFloat loose accuracy because the 3.25 is stored as something like 3.24999999987. If you then convert it to Decimal, it's inaccurate. Maybe you could use PrimitiveLiteral::String here.

@liurenjie1024 mentioned error messages as another use cases. That's the only time that the i128 representation might not be suitable. The question is whether the error messages warrant a more complex implementation.
Regarding @Fokko's example: Doesn't initially storing the Decimal as a LiteralFloat loose accuracy because the 3.25 is stored as something like 3.24999999987. If you then convert it to Decimal, it's inaccurate. Maybe you could use PrimitiveLiteral::String here.

Error message is just an example, not all use cases. For example when we convert unbound expression to bound expression, how do we know its original scale?
String is enough for storing decimal, or everything, but it maybe weird in api, since with only a string we don't know its original type, e.g. user may write an unbound expression like a < "3.23", where a is a decimal and it's legal to compare it with string.
I do admit that introducing another enum will be difficult maintain, maybe the solution suggested by @ZENOTME is great:
struct Datum {
  typ: PrimitiveType,
  literal: PrimitiveLiteral
}

First of all, thanks for the explanation of the Literal.

This sounds a good idea to me, which doesn't introduce extra maintain effort. The only concern is that it maybe not quite user friendly, but it seems that we can add some api to make it easier to use.

I think the user should not care about the type of the field. We have the information once we bind to the schema. In extend to that, it can also be that a field has evolved from an int to a long, so you have to convert it anyway based om the file schema.

Regarding @Fokko's example: Doesn't initially storing the Decimal as a LiteralFloat loose accuracy because the 3.25 is stored as something like 3.24999999987. If you then convert it to Decimal, it's inaccurate. Maybe you could use PrimitiveLiteral::String here.

This should not happen in practice, because you would only do safe conversions. For example, the expression a > 3.25 should parse to an expression that has enough precision to capture the original value. If a would be of type float, then you would convert the literal to a float one once you bind to the schema.

Error message is just an example, not all use cases. For example when we convert unbound expression to bound expression, how do we know its original scale?

Also in the case of evolution, the precision can be widened. When we bind the decimal to the actual schema, we'll set the scale using set_scale.

String is enough for storing decimal, or everything, but it maybe weird in api, since with only a string we don't know its original type, e.g. user may write an unbound expression like a < "3.23", where a is a decimal and it's legal to compare it with string.

SQL is a perfect example of that API I would say. Once you resolve the type of a < "3.23", you'll call i128::from_str("3.23").

I think we have reached consensus that storing a BoundLiteral in UnboundExpression is acceptable. About the visibility of this struct, I would argue that we still need to expose it user, for following reason:

When user construction UnboundExpression, it's not always from sql. For example when we integrate it with other sql engines, it may push filter to iceberg api to construct UnboundExpression.
The parse string method implemented in pyiceberg is not a typical approach in rust. Rust has elegant support for macros, which is efficient and type safe.

So my proposal is that we still make BoundLiteral public, but we should be careful not exposing its internals in public api. For the first version, we'll only expose builder methods so that users can create it easily, and no internals will be exposed.
WDYT? cc @Fokko @ZENOTME @Xuanwo

When user construction UnboundExpression, it's not always from sql. For example when we integrate it with other sql engines, it may push filter to iceberg api to construct UnboundExpression.
The parse string method implemented in pyiceberg is not a typical approach in rust. Rust has elegant support for macros, which is efficient and type safe.

This case looks reasonable to me.

So my proposal is that we still make BoundLiteral public, but we should be careful not exposing its internals in public api. For the first version, we'll only expose builder methods so that users can create it easily, and no internals will be exposed.

Does this proposal look like following?
let literal = BoundLiteral::builder.with_literal(...).build();
TableScan scan = scan.filter(Expressions.equal("id", literal));

Does this proposal look like following?
let literal = BoundLiteral::builder.with_literal(...).build();
TableScan scan = scan.filter(Expressions.equal("id", literal));

Yes.

The parse string method implemented in pyiceberg is not a typical approach in rust. Rust has elegant support for macros, which is efficient and type safe.

This was more of an example that you don't know the types upfront.

So my proposal is that we still make BoundLiteral public, but we should be careful not exposing its internals in public api. For the first version, we'll only expose builder methods so that users can create it easily, and no internals will be exposed.

I don't think the BoundExpression is something that a user would ever use as it is internal.
let literal = BoundLiteral::builder.with_literal(...).build();
TableScan scan = scan.filter(Expressions.equal("id", literal));

I think we shouldn't it call BoundLiteral then because it hasn't been bound, right? The binding will happen when you do an action. If you in the scan select a different snapshot or branch, the field that it points to could be different (hopefully not, because that would be confusing). For the public API, I would expect:
let literal = Literal::uuid_from_str("a1a2a3a4-b1b2-c1c2-d1d2-d3d4d5d6d7d8").unwrap();
TableScan scan = scan.filter(Expressions.equal("id", literal));

Once we know the schema, and we perform an action, we'll bind to it:
TableScan scan = scan.filter(Expressions.equal("id", literal)).snapshot(id=123).to_df();

I don't think the BoundExpression is something that a user would ever use as it is internal.
let literal = BoundLiteral::builder.with_literal(...).build();
TableScan scan = scan.filter(Expressions.equal("id", literal));

I think we share same concern and idea about the api design, but I failed to clarify the problem🤪.
I'll submit a pr and let's discuss it in pr, which helps to clarify the problem.


Mousewheel at the Thumbnail Section

Hi,
I 'am wondering if it is also possible to add the jquery mousweel function as you explained in a previous issue to the thumbnails section too. Since I have super minimal knowledge of jquery it would be nice if you could help me with providing the code if this is possible.
I have added the code as you explained in the jquery mousweel #57 issue and the scrolling in the "sp-slides" section works fine. What do I have to do to make this work for the "sp-thumbnails" section?
Best, K.

Ok as I have seen in #102 it is not possible. I should have gone through the previous issues.
Sorry for that.


refactor: remove user API methods parameter

methods defaults to ["GET"] if not specified. There is no need to
explicitly set this in the action decorator.
https://github.com/encode/django-rest-framework/blob/71e6c30034a1dd35a39ca74f86c371713e762c79/rest_framework/decorators.py#L145
    :param methods: A list of HTTP method names this action responds to.
                    Defaults to GET only.

Thanks 🎉


[SD-1057] Extract mongoDrive and fp subproject

I am a little concerned that this change might break the oneJar, and not sure how to test that quickly locally. The Travis build should validate though that it works correctly.

Up to @wemrysi but my 2 cents:

:-1: On pulling out mongodriver, because (a) the thing being pulled out is not a mongo driver (just two more or less random files), and (b) this organization does not reflect any planned future organization (e.g. factoring out each backend into its own subproject, or pulling out the type safe MongoDB wrapper into a MongoDB algebra + data structures, etc.).
Neutral on factoring out the Predef into fp package (it's not generally useful, but it could have value to eventual subprojects).

@jdegoes The Predef was factored out as a necessary step to factor out "mongo-driver". I agree that the current "mongoDriver" is small and crappy, but I didn't want to spend a whole lot of time actually extracting everything right now, thought it could be an ongoing process. I think what is there right now will probably totally disappear if we write a real mongo-driver but right now it's what we are actually using and this actually has the immediate benefit of unbreaking IntelliJ and reducing the amount of files that constantly getting recompiled because of our incremental build issues.

In general, I am not a huge fan of changes to code in order to satisfy tooling, but in this case I find that the spirit of the change (the intention to eventually create a standalone mongoDriver) combined with the practical benefit of unbreaking tooling is probably worth it.

You could make this a bigger step towards a real driver by also pulling out MongoWrapper from filesystem.scala. That's where we wrap raw driver calls in Task, and the idea was to eventually also use it from the evaluator.
What's the vision here? Will this sub-project/repo eventually have:

a "low-level" Mongo free algebra and interpreter? I guess that's one of the questions @jdegoes raised above.
the "concrete" WorkflowOp ADT, and the more tree-ish Workflow?

Current coverage is 84.08%

Merging #955 into master will not affect coverage as of 6f7e60e

@@            master    #955   diff @@
======================================
  Files            6       6
  Stmts          578     578
  Branches        31      31
  Methods          0       0
======================================
  Hit            486     486
  Partial          0       0
  Missed          92      92

Review entire Coverage Diff as of 6f7e60e

Powered by Codecov. Updated on successful CI builds.

I agree with @jdegoes' reasons and :-1: for not creating the mongo-driver sub project.
@jedesah What is the issue with IntelliJ that this solves? Is creating the sub-project the only way of solving it?

@wemrysi IntelliJ tends to crash on certain files (typically large ones). Creating sub-projects/separate projects as well as keeping sources files relatively short in general always helps. In this particular case I was hitting a 100% crash situation when trying to edit this particular part of a file, so by making a sub-project and working on things in there I got a snappy IDE experience.
What about @mossprescott's suggestion to bring in MongoWrapper which is where I should have put the exists function anyway, does that improve things? If we are not creating a "mongo-driver" sub-project right now with this PR, then what is the plan to go about extracting the general purpose mongo functionality into a separate project and streamlining our codebase which has all kinds of benefits including making crappy (but useful) IDEs better?

IMO it's not good practice to reorganize projects and files just to satisfy the requirements of a particular development environment. From an organizational perspective, this PR pulls in two seemingly random files that do not constitute a "mongo driver" into a project called "mongo driver" to make IntelliJ Idea happy. :smile:
It's sort of like not using fixplate because IntelliJ cannot understand complex, partially applied, higher-kinded types. When the tools fail us, we shouldn't change the code, but rather change our tools!
There is no business reason to create a "mongo driver" project. I think some of our Mongo wrappers, and maybe our future Mongo API algebra, may be useful to others (and hopefully encourage third-party contributions), but factoring that out into a separate project should (a) definitely be a 10% time project (it's not something that will ever be scheduled in the SlamData roadmap), and (b) is quite different than pulling two random files into a separate subproject to prevent an IDE crasher.


not getting new episodes

there's 2 new episodes showing up in showRSS but Catch isn't getting them.  I tried restarting Catch, restarting iMac running macOS 10.12.4, verified running latest version 1.9.4, checked Console and did not see the error message listed in FAQ. Was working fine up until today.
Here's output of Console after running Check Now:
Apr 26 21:31:44 Reality com.giorgiocalderolla.Catch.CatchFeedHelper[552]: Checking feed
Apr 26 21:31:44 Reality com.giorgiocalderolla.Catch.CatchFeedHelper[552]: Downloading feed http://showrss.info/user/8568.rss?magnets=true&namespaces=true&name=null&quality=sd&re=yes
Apr 26 21:31:44 Reality com.giorgiocalderolla.Catch.CatchFeedHelper[552]: Parsing feed
Apr 26 21:31:44 Reality com.giorgiocalderolla.Catch.CatchFeedHelper[552]: Parsed 43 files
Apr 26 21:31:44 Reality com.giorgiocalderolla.Catch.CatchFeedHelper[552]: Downloading files (if needed)
Apr 26 21:31:48 Reality xpcproxy[644]: libcoreservices: _dirhelper_userdir: 523: bootstrap_look_up returned 268435459
Apr 26 21:32:16 Reality Console[641]: BUG in libdispatch client: kevent[EVFILT_VNODE] monitored resource vanished before the source cancel handler was invoked
Apr 26 21:32:23 Reality com.giorgiocalderolla.Catch.CatchFeedHelper[552]: Checking feed
Apr 26 21:32:23 Reality com.giorgiocalderolla.Catch.CatchFeedHelper[552]: Downloading feed http://showrss.info/user/8568.rss?magnets=true&namespaces=true&name=null&quality=sd&re=yes
Apr 26 21:32:24 Reality com.giorgiocalderolla.Catch.CatchFeedHelper[552]: Parsing feed
Apr 26 21:32:24 Reality com.giorgiocalderolla.Catch.CatchFeedHelper[552]: Parsed 43 files
Apr 26 21:32:24 Reality com.giorgiocalderolla.Catch.CatchFeedHelper[552]: Downloading files (if needed)
Make sure to do the following before submitting your issue - thanks!

[ ] Make sure you're running the latest release. You can find your version number at the bottom of the Help menu in Catch.
[ ] Check the FAQ, your question might be answered there.
[ ] Check for an open issue, and please comment on that issue instead of creating a duplicate.

Catch seems to think they have been downloaded already as it's not even trying to get them. Can you try clearing your history (https://github.com/mipstian/catch/wiki/Frequently-Asked-Questions) and see if that gets you the new ones?

Hi. Thanks for reply. A third episode became available and Catch got it just fine. I'm going to see if it continues to work before doing anything more. And I'm at work so can't do anything right now anyway
Thanks!
Jim Kelley

On Apr 27, 2017, at 2:41 AM, Giorgio Calderolla<EMAIL_ADDRESS>wrote:
Catch seems to think they have been downloaded already as it's not even trying to get them. Can you try clearing your history (https://github.com/mipstian/catch/wiki/Frequently-Asked-Questions) and see if that gets you the new ones?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Ok, maybe the torrents themselves where the issue.

Hi
It did it again tonight so I cleared the cash like you suggested and that seems to have fixed the problem
Thanks!
Jim Kelley

On Apr 27, 2017, at 7:34 PM, Giorgio Calderolla<EMAIL_ADDRESS>wrote:
Ok, maybe the torrents themselves where the issue.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.


No declaration file

I am trying to add the scramble-generator package to my rubik's cube timer app made with react and typescript.  When I attempt to import 'generateScramble' I receive an error when compiling that states "Could not find a declaration file for module scramble-generator".
Not exactly sure what is wrong here but it seems to be an issue with the package and not npm all other packages I have added work fine.
Any help would be appreciated.

This project actually uses flow, so there are no Typescript declarations published. I'm not actively maintaining this but if you would like to make a PR to add Typescript definitions or even convert the whole project to Typescript, I'd be happy to review :) Other than that, you could define types for these packages in your own project to avoid the type errors. I'm not familiar with Typescript to offer much guidance there, but this link might help https://www.typescriptlang.org/docs/handbook/modules.html#shorthand-ambient-modules

Oh ok thank you for the info, this is one of the first projects I have tried to work on with React and typescript, so I was not familiar with that issue.  When I have some more time in the next few weeks I might be able to add typescript definitions.
Have a good one!


kitty: 0.12.3 -> 0.13.1

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/kitty/versions.
meta.description for kitty is: '"A modern, hackable, featureful, OpenGL based terminal emulator"'.
Release on GitHub
Compare changes on GitHub

Checks done (click to expand)

built on NixOS
/nix/store/9xnyimjl2vl882cg72cf72ji7bv9mw0n-kitty-0.13.1/bin/kitty passed the binary check.
/nix/store/9xnyimjl2vl882cg72cf72ji7bv9mw0n-kitty-0.13.1/bin/.kitty-wrapped passed the binary check.
2 of 2 passed binary check by having a zero exit code.
0 of 2 passed binary check by having the new version present in output.
found 0.13.1 with grep in /nix/store/9xnyimjl2vl882cg72cf72ji7bv9mw0n-kitty-0.13.1
directory tree listing: https://gist.github.com/f9020e54dc58166e0c654b476719bdac
du listing: https://gist.github.com/1d8dc835779b1cb089778f07fd266030

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

3 total rebuild path(s)
1 package rebuild(s)
1 x86_64-linux rebuild(s)
1 i686-linux rebuild(s)
0 x86_64-darwin rebuild(s)
1 aarch64-linux rebuild(s)
First fifty rebuilds by attrpath
kitty

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/9xnyimjl2vl882cg72cf72ji7bv9mw0n-kitty-0.13.1 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
Or, build yourself:
nix-build -A kitty https://github.com/r-ryantm/nixpkgs/archive/7f64a8d1933b2c6ad76ba1745b3440aba35bc1e7.tar.gz

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

cc @tex @rvolosatovs for testing.

Duplicate of https://github.com/NixOS/nixpkgs/pull/52217


Update google pub/sub requirement

There is a newer version for Cloud PubSub Client.
google/cloud-pubsub v1.51.0  => v2.1.1 Cloud PubSub Client for PHP

I'm not aware of the changes needed yet but feel free to send a PR if you have something ready.

@kainxspirits
https://github.com/googleapis/google-cloud-php-pubsub/blob/main/MIGRATING.md
https://github.com/googleapis/google-cloud-php-pubsub/compare/v1.51.0...v2.0.0
I don't think there are issues.
This kind of PR is a little "trick" for me.
Sorry. =(


Can't get plotly + node.js to stream data coming through POST requests

Hi, I'm trying to get plotly to stream data received by my server through a POST request to http://localhost:3000/step.
Building on the rest-example.js in plotly-nodejs/examples, here's my server code (I've blurred out my username, apikey, and token):
'use strict';

var express = require('express');
var logger = require('morgan');
var bodyParser = require('body-parser');
var events = require('events');
var eventEmitter = new events.EventEmitter();

var app = express();
var server = require('http').Server(app);
var port = process.env.PORT || 3000;
server.listen(port);

app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));

app.post('/step', function(req, res) {
    var data = req.body.data;
    eventEmitter.emit('step', data);
    res.end('ok');
});

var plotly = require('plotly')('username', 'apikey');
var token = 'token';

var dataInit = [{x:[], y:[], stream: { token: token, maxpoints: 10 } }];
var layout = {fileopt : "extend", filename : "REST-test"};

plotly.plot(dataInit, layout, function (err, msg) {
    if(err) return console.error('step data error', err.stack);

    var stream = plotly.stream(token, function() {});

    eventEmitter.on('step', function(data) {
        console.log('sending to plotly: ' + data + ' steps');

        var streamObject = JSON.stringify({ x: getDateString(), y: data });
        stream.write(streamObject+'\n');
    });
});

function getDateString() {
    var d = new Date();
    return d.toLocaleString();
};

When I POST data using cURL, for example curl http://localhost:3000/step --data "data=5", I can see that the data reaches the callback inside the plotly.plot block, but plotly never starts up and streams the data.
In some slightly more complex server code I was working on earlier, I also get the error which may or may not be related and which always points to the beginning of the plotly.plot  block.
cb(null, body);
        ^
SyntaxError: Unexpected end of input

This is the full error stack:
/home/plotly-testing/node_modules/plotly/index.js:305
        cb(null, body);
        ^
SyntaxError: Unexpected end of input
    at Object.parse (native)
    at /home/plotly-testing/node_modules/plotly/index.js:72:25
    at IncomingMessage.<anonymous> (/home/plotly-testing/node_modules/plotly/index.js:305:9)
    at IncomingMessage.emit (events.js:129:20)
    at _stream_readable.js:908:16
    at process._tickCallback (node.js:355:11)
---------------------------------------------
    at IncomingMessage.Readable.on (_stream_readable.js:671:33)
    at parseRes (/home/plotly-testing/node_modules/plotly/index.js:304:9)
    at ClientRequest.<anonymous> (/home/plotly-testing/node_modules/plotly/index.js:71:9)
    at ClientRequest.emit (events.js:107:17)
    at HTTPParser.parserOnIncomingClient (_http_client.js:426:21)
    at HTTPParser.parserOnHeadersComplete (_http_common.js:111:23)
    at TLSSocket.socketOnData (_http_client.js:317:20)
---------------------------------------------
    at new ClientRequest (_http_client.js:93:10)
    at Object.exports.request (http.js:49:10)
    at Object.exports.request (https.js:136:15)
    at Plotly.plot (/home/plotly-testing/node_modules/plotly/index.js:70:21)
    at Object.<anonymous> (/home/plotly-testing/index.js:175:8)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)

Line 305 of plotly/index.js points to the following method, which seems to indicate something was wrong in one of my callbacks, but I'm not sure.
// response parse helper fn
function parseRes (res, cb) {
    var body = '';
    if ('setEncoding' in res) res.setEncoding('utf-8');

    res.on('data', function (data) {
        body += data;
        if (body.length > 1e10) {
            // FLOOD ATTACK OR FAULTY CLIENT, NUKE REQ
            res.connection.destroy();
            res.writeHead(413, {'Content-Type': 'text/plain'});
            res.end('req body too large');
            return cb(new Error('body overflow'));
        }
    });

    res.on('end', function () {
        cb(null, body);
    });

}

Any help is much appreciated!

@felixtan Im closing this here, as it seems the answer on Stack Overflow was sufficient!
Feel free to re-open the issue here if you have any further questions. Thanks!
For reference:
http://stackoverflow.com/questions/34346996/cant-get-plotly-node-js-to-stream-data-coming-through-post-requests/34359439#34359439


Snapshot card state when killed or sacrificed

Previously, card abilities that reacted to cards being killed could fire
inappropriately or not at all. The controller for cards under take
control would revert to their owners before the ability would fire.
Additionally, if the ability depended on traits or other effects
contributed by attachments, those traits would be lost before the
ability fired (e.g. AMaF Margaery reacting to a card being killed with a
King attachment).
Now, the onCharacterKilled event automatically records the state of the
card being killed on the cardStateWhenKilled property.
It is also snapshots for the onSacrificed event on the cardStateWhenSacrificed property.
Fixes #837
Fixes #1222
Fixes #1386
Partial for #1351

Nice!
Just a nit: I can imagine a 3rd one being needed in the future: cardStateWhenRemovedFromGame. And, as 3 occurrences make a rule :-), how about a more general cardStateBackup properties, with keys pointing to the when it was backuped?

@zacchiro re: naming - I originally wanted to go with something like that (probably just cardSnapshot but cryo was worried the naming there would be too generic.

I'd be ok if it was cardSnapshot but indexable as @zacchiro suggests

Happy to modify the naming but I don't quite understand the value here (cardSnapshot.whenKilled or cardSnapshot.killed vs cardStateWhenKilled). Each of these are event specific -
cardStateWhenKilled only ever appears on the onCharacterKilled event, cardStateWhenSacrificed only on onSacrificed, etc. There isn't a situation where a card is simultaneously killed and sacrificed so the indexing doesn't seem to by much.
It might be different if the snapshot were stored on the card itself (e.g. card.snapshot.whenKilled) instead of a temporary event object, but that isn't how it's set up.

Just to be clear I'm not suggesting you change it, just removing my objection to the naming :)


Bump hibernate-validator from 6.0.17.Final -> 6.0.18.Final (CVE-2019-10219)

Type of change

Bugfix

Description
hibernate-validator  6.0.17.Final  contains vulnerability CVE-2019-10219.  Whilst it is believed this vulnerability is not exploitable from EnMasse (it does not use the HTML validation feature), it makes sense to upgrade to fixed version on the 6.0 line.
We tried this before #3629, but at that point a vulnerability fix on the 6.0 release line was not available.
Checklist

[ ] Update/write design documentation in ./documentation/design
[ ] Write tests and make sure they pass
[ ] Update documentation
[ ] Check RBAC rights for Kubernetes / OpenShift roles
[ ] Try your changes from Pod inside your Kubernetes and OpenShift cluster, not just locally
[ ] Reference relevant issue(s) and close them after merging
[ ] Update CHANGELOG.md

@enmasse-ci run tests profile=iot

:heavy_check_mark: Test Summary :heavy_check_mark:
TEST_PROFILE: iot
TEST_CASE:
TOTAL: 40
PASS: 36
FAIL: 0
SKIP: 4
BUILD_NUMBER: 420


Ethereum private key for signing cross-ledger transactions in Cactus

The Ethereum private key for signing transactions to tokenize Fabric records is currently stored in a config file.
When using Cactus to create Ethereum tokens, is it possible to get Metamask to sign the transaction?
If not, could we store the Ethereum private key in Vault Transit engine, like we will be doing for the Fabric private keys?
@Zzocker @petermetz Please let me know what you think.

Storing Ethereum private key inside vault transit engine won't be be possible for now , since signature format used by Ethereum isn't provide in vault transit engine . To make it work I will have to write encoding of the signature of my own . encoding used by eth is defined here : https://eips.ethereum.org/EIPS/eip-712 .
I can start working on this once we see how vault and fabric works on an actually project .
@petermetz

What about Cactus calling on Metamask to sign the transaction?  Would that
be possible?

Si Chen
Open Source Strategies, Inc.
New Video: Creating Climate Solutions with Blockchain and Open Source
https://youtu.be/gtO3COq8crQ
On Tue, Aug 31, 2021 at 9:46 PM Pritam Singh @.***>
wrote:

Storing Ethereum private key inside vault transit engine won't be be
possible for now , since signature format used by Ethereum isn't provide in
vault transit engine . To make it work I will have to write encoding of the
signature of my own . encoding used by eth is defined here :
https://eips.ethereum.org/EIPS/eip-712 .
I can start working on this once we see how vault and fabric works on an
actually project .
@petermetz https://github.com/petermetz
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/hyperledger-labs/blockchain-carbon-accounting/issues/277#issuecomment-909880789,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AANAS4KRSUMCBZTRM2MMWI3T7WV3RANCNFSM5DCPD7SA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

Cactus offers a plugin for connecting to besu networks, an open-source Enterprise Ethereum client. The connector covers "Build and sign transactions using different keystores." Imagine it could be setup to work with the metamask keystore. I'll look into this after implementing the web-socket identity provider for the cactus-plugin-ledger-connector-fabric

If the Cactus Besu plugin just stores the private key and doesn't access Metamask for signing, is it encrypting the Ethereum private key in any way?  We just need it encrypted.  Going through Vault to get a private key out is more work and doesn't seem to be better necessarily.

In Besu Ethsigner component also provide ethereum transaction signing if user don't want to use metamask.  The key used to sign transactions can be stored externally using HashiCorp Vault or Azure Key Vault, or in a V3 keystore file.https://docs.ethsigner.consensys.net/en/stable/HowTo/Use-Single-Signer/

Nice , similar approach as ours for fabric, but they are providing the EthSigner as separate service. We will have to make decision whether to go with a service kind of approach (EthSigner) or implement our own signer for vault and extensions. If we implement are own, then we could support one wallet connecting to fabric and Ethereum both. along with storing of private in Vault.
Because at the end in therms of security :
private key in text < private  key in vault < extension .