fix(plugin test): close connection in plugin test environment

Addresses a connection leak in the internal plugin test environment's network connection instantiation
Implements some extra error handling and checks in the plugin test package

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

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


Refactor into modules + Prettier formatting

Hi @rpggio !
First off, thanks for your great work with this plugin. I've been working on an LLM plugin that accomplishes something different and I recently had the thought that Canvas would make it a whole lot more intuitive. That's when I came across Chat Stream.
I've since prototyped on top of your master branch and things seem to be working super well (very excited to see this!), so before continuing further I decided a major refactor (without changing your existing functionality) would greatly make my plugin sit well on top of yours.
That sets some context for this refactor. In summary, I have

Moved things out of ChatStreamPlugin.ts, either into ai-nodes.ts or into canvas-patches.ts. IMHO, the core plugin ts file should be slim, so I am just separating concerns.
Used Prettier to establish consistent formatting (here I tried to keep as consistent with your existing formatting as possible, i.e. 2-space indent, single quotes) -- just helps development with my local IDE. Prettier does, however, introduce some other reformatting in the process -- apologies for the clutter. I also offer my settings.json file here, which allows for reformat-on-save with Prettier.

That's it! I am open to your thoughts, and just an FYI that I will be continuing to iterate on top of this work in coming days. If you don't have capacity to review this near-term, that would be great to know. Many thanks! Dropped you a tip ;)

Thanks @jshph !
Excited to see what you have planned. I had some ideas about where to take the project next, but am pausing due to starting a new job.

I installed Prettier, but vscode wants to reorganize imports. If there is something else to do to avoid churning the imports, LMK.

Many thanks for merging! And best of luck with the new gig.
You can try adding "sortImports": false to the .prettierrc and hopefully that doesn't reorder your imports?

If you want to share your ideas sometime, maybe in a separate issue or over email, I'm very curious. I had started with an MVP but I feel pretty confident this combination of chat-stream and my project will amount to something I rely on daily.


Test failures

I am getting a lot of test failures on my machine.
50% tests passed, 57 tests failed out of 114

Total Test time (real) = 119.87 sec

The following tests FAILED:
	  1 - port (Failed)
	  8 - ters_preserved (Failed)
	 52 - key-ampersand (Failed)
	 53 - key-plus (Failed)
	 54 - key-plusplus (Failed)
	 55 - key-0SCF (Failed)
	 56 - key-1ELECTRON (Failed)
	 57 - key-1SCF (Failed)
	 58 - key-A0 (Failed)
	 59 - key-AIGIN (Failed)
	 60 - key-AIGOUT (Failed)
	 61 - key-ALLBONDS (Failed)
	 62 - key-ALLVEC (Failed)
	 63 - key-AM1 (Failed)
	 64 - key-ANGSTROMS (Failed)
	 65 - key-AUTOSYM (Failed)
	 66 - key-BIRADICAL (Failed)
	 68 - key-CdotIdot (Failed)
	 70 - key-CHARGE (Failed)
	 71 - key-CIS (Failed)
	 72 - key-CISD (Failed)
	 73 - key-CISDT (Failed)
	 74 - key-DISP (Failed)
	 75 - key-DOUBLET (Failed)
	 76 - key-EXCITED (Failed)
	 77 - key-INDO (Failed)
	 79 - key-MECI (Failed)
	 80 - key-MNDO (Failed)
	 81 - key-MNDOD (Failed)
	 83 - key-MS (Failed)
	 84 - key-NOANCI (Failed)
	 85 - key-NONET (Failed)
	 86 - key-NOSYM (Failed)
	 87 - key-OCTET (Failed)
	 88 - key-OPEN (Failed)
	 89 - key-PECI (Failed)
	 90 - key-PM3 (Failed)
	 91 - key-PM6 (Failed)
	 92 - key-PM6-D3 (Failed)
	 93 - key-PM6-D3H4 (Failed)
	 94 - key-PM6-D3H4X (Failed)
	 95 - key-PM6-DHplus (Failed)
	 96 - key-PM6-DH2 (Failed)
	 97 - key-PM6-DH2X (Failed)
	 98 - key-PM7 (Failed)
	100 - key-QUARTET (Failed)
	101 - key-QUINTET (Failed)
	102 - key-RHF (Failed)
	103 - key-RM1 (Failed)
	104 - key-ROOT (Failed)
	105 - key-SEPTET (Failed)
	106 - key-SEXTET (Failed)
	107 - key-SINGLET (Failed)
	108 - key-SNAP (Failed)
	109 - key-SYMMETRY (Failed)
	111 - key-TRIPLET (Failed)
	112 - key-UHF (Failed)
Errors while running CTest

It looks like a lot of these are caused by the removal of the TOTAL ENERGY entries from the output file, e.g.

          MOPAC Job: "ampersand.mop" ended normally on Dec  6, 2021, at 17:47.

Traceback (most recent call last):
  File "/home/susi/rpmbuild/BUILD/MOPAC-master/tests/keywords/../output_compare.py", line 238, in <module>
    assert ref == out, f'ERROR: string mismatch between {ref} and {out} on output line {line}'
AssertionError: ERROR: string mismatch between TOTAL and COSMO on output line 73

I had recently forgotten to commit my updates to the keyword tests, which caused most of these errors. I've corrected this problem.
However, this does not explain the failure of the "port" and "ters_preserved" tests. Can you post the output of those tests so that I can further diagnose the problem?

The error of port is
Test project /home/work/MOPAC/objdir
        Start   1: port
  1/114 Test   #1: port .............................***Failed   67.64 sec
          Thu Dec  9 09:48:14 2021  Job: 'port' started successfully

          MOPAC Job: "port.mop" ended normally on Dec  9, 2021, at 09:49.

WARNING: numerical mismatch between 378.82 and 378.83 on output line 72721
WARNING: numerical mismatch between 0.02506 and 0.02467 on output line 74051
WARNING: numerical mismatch between 0.01253 and 0.01233 on output line 74051
Traceback (most recent call last):
  File "/home/work/MOPAC/tests/output_compare.py", line 238, in <module>
    assert ref == out, f'ERROR: string mismatch between {ref} and {out} on output line {line}'
AssertionError: ERROR: string mismatch between LARGE and 1ELECTRON on output line 77509

ters_preserved fails with
  8/114 Test   #8: ters_preserved ...................***Failed    0.21 sec

          MOPAC Job: "Check_that_TERs_are_preserved.mop" ended normally on Dec  9, 2021, at 09:51.

Traceback (most recent call last):
  File "/home/work/MOPAC/tests/output_compare.py", line 238, in <module>
    assert ref == out, f'ERROR: string mismatch between {ref} and {out} on output line {line}'
AssertionError: ERROR: string mismatch between ** and GEO_DAT on output line 2

and finally, key-ROOT fails with
104/114 Test #104: key-ROOT .........................***Failed   15.37 sec

          MOPAC Job: "ROOT.mop" ended normally on Dec  9, 2021, at 09:53.

Traceback (most recent call last):
  File "/home/work/MOPAC/tests/keywords/../output_compare.py", line 238, in <module>
    assert ref == out, f'ERROR: string mismatch between {ref} and {out} on output line {line}'
AssertionError: ERROR: string mismatch between A1g and ???? on output line 106

The other tests are now clean.

I fixed the portability issues in the port and ters_preserved tests, and I'm not seeing any problems when I run the key-root test on Linux (on the GHA runner). Does the key-root test still fail for you? If so, I might need your assistance in debugging it. It is a very straightforward problem at least - the symmetry of the reference excited state is correctly stated in the list of excitations, but it isn't being copied correctly to the simulation summary (the ionization potential line).

Yes, key-root is still failing
Test project /home/work/MOPAC/objdir
    Start 104: key-ROOT
1/1 Test #104: key-ROOT .........................***Failed    9.18 sec

          MOPAC Job: "ROOT.mop" ended normally on Jan 13, 2022, at 20:18.

Traceback (most recent call last):
  File "/home/work/MOPAC/tests/keywords/../output_compare.py", line 238, in <module>
    assert ref == out, f'ERROR: string mismatch between {ref} and {out} on output line {line}'
AssertionError: ERROR: string mismatch between A1g and ???? on output line 106

0% tests passed, 1 tests failed out of 1

Total Test time (real) =   9.18 sec

The following tests FAILED:
	104 - key-ROOT (Failed)
Errors while running CTest

I was able to reproduce this bug (using gcc on Linux) and subsequently find and fix it: eabcc5998686b2e6b5dc36be03f0c5469cceeacc


[Bug] Gallon per minute flow values round if below 0.01

Describe the bug
I wanted to use HAsmartirrigation to control water schedule for my vegetable garden, that uses 0.5 gallon per hour drippers. I entered the correct flow setting in the set up configuration, but when I check Base Schedule Index, it shows the value has been rounded up to 0.01 (~ 0.6 GPH).

hey, this is indeed a bug. I am working on version 2.0 of this component and I'd recommend waiting until that is ready, of in the mean-time I of course accept a PR to fix this.

please install the beta of the 2.0 version and see if this still happens. It shouldn't, but please confirm.


om revert-staged-changes will fail in OM 2.5+

This command will silently fail.
We assume this is due to changes in the OpsMan API.
Expectation:
om revert-staged-changes should return an error if it fails, OR it should successfully revert changes
This command hits an HTML form, and not the Ops Manager API. It is assumed that the form has changed for newer versions of OpsManager.
Exploration into how long this has been an issue is necessary, and tests would need to be written to validate that an older form and the newer form both work. Minimum supported version of OM as of July 2019 is 2.3.x
Discussion to deprecate this command, as it is a hack and does not actually talk to the Ops Manager API.

it appears that revert-staged-changes is behaviorally identical to unstage-product (which uses the API).... probably the best course of action is to remove this command entirely from om

this will be removed in om 3.0


 GitHub Issues are used for tracking bugs and proposals only.
For questions please refer to https://github.com/golang/go/wiki/Questions

What is the error message?
Maybe str = string(buff) should be var str = string(buff)?


Add button to storage deposit or claim in My token page

My token:

If user has storage deposit, show Claim
If user hasn't, show "Add token to wallet"

I just push my code on  origin/arrange-token-sales branch. Feel free to check it.


MarkdownPlus support?

Hey, would you consider adding the support of MarkdownPlus?
What I need is supporting mermaidjs and the toolbar for markdown in marp, and I've found another project vortex already supporting mermaidjs.
It will be really nice if you could add these.

Essentially MarkdownPlus is a different project, and we have to split issues of feature you want.
In the core of Marp Next, we are considering to support flowchart rendering by mermaid.js. Please track #125.
Toolbar is a duplicate issue of #84. Currently we're not considered about issues for GUI tool in Marp Next because of the order of projects.


Well im not good at coding

I wanted to try this but the problem is I don't know how to launch it a tutorial would be amazing

Hello, and sorry about the late reply,
To build this mod, you can download the mod from the repository. Unzip and open the folder in your system explorer. Shift + Right-click while in the explorer to open a console window. Type in './gradlew build' to build the mod (if you're running on macOS, you also have to write chmod +x gradlew first). The jar file for the mod will then appear in the 'build' folder.
I'm not the best at explaining things :p, so if you need more help, you can check out this link:
Cheers, AlephInfinity1


3.6.1?

https://alpinelinux.org/posts/Alpine-3.6.1-released.html

Builds were bumped for 3.6.2 and official image PR opened at https://github.com/docker-library/official-images/pull/3086


docs: add the link to the transifex project

I realized in #1697 that the translation project is not linked anywhere on the frontpage. The i18n updates must come from this platform only as it's also maintaining the header of the .po files.
It's not perfect but that's a patch prior to revamp the i18n interface and upload process.

it's correct, to update them you can try to follow the instructions of the documentation. I'm not 100% sure it's still working but we'll check the files carrefuly in the PR ;-)

this new CI failure should get fixed by #1751, so I think we're OK to merge here.


Feature request: only pull specifically tagged Pocket items

Hi, thanks so much for this! Is it possible to direct the plugin to only pull items from Pocket that have a specific tag (e.g., "#obsidian")?

Okay I understand your use case now - thanks for the clarification.
I think this might work with the tag_name parameter of https://getpocket.com/developer/docs/v3/retrieve. It would only work for a single tag at a time.
I'll put this on the backlog for now. Not sure when I can get to it, but it seems like it would be fairly simple to do at the outset.

Thanks so much!
On Nov 3, 2021, at 3:41 PM, Nimalan Mahendran @.***> wrote:
Okay I understand your use case now - thanks for the clarification.
I think this might work with the tag_name parameter of https://getpocket.com/developer/docs/v3/retrieve https://getpocket.com/developer/docs/v3/retrieve. It would only work for a single tag at a time.
I'll put this on the backlog for now. Not sure when I can get to it, but it seems like it would be fairly simple to do at the outset.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/nybbles/obsidian-pocket/issues/65#issuecomment-959881142, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD4YIKL6MFOLIOARYT6XDW3UKGNALANCNFSM5FOTEWJQ.
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.

You should be able to update the Pocket plugin and use this functionality now. LMK how it works!

Sorry I’m just getting to this! It works great, thanks so much!
On Jan 6, 2022, at 5:56 PM, Nimalan Mahendran @.***> wrote:
You should be able to update the Pocket plugin and use this functionality now. LMK how it works!
—
Reply to this email directly, view it on GitHub https://github.com/nybbles/obsidian-pocket/issues/65#issuecomment-1006995284, or unsubscribe https://github.com/notifications/unsubscribe-auth/AD4YIKKLSD6VF7SELCA6XMDUUYMZLANCNFSM5FOTEWJQ.
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.
You are receiving this because you authored the thread.

Awesome, thanks for letting me know!
On Sat, Jan 22, 2022 at 17:15 internetdaniel @.***>
wrote:

Sorry I’m just getting to this! It works great, thanks so much!
On Jan 6, 2022, at 5:56 PM, Nimalan Mahendran @.***> wrote:
You should be able to update the Pocket plugin and use this functionality
now. LMK how it works!
—
Reply to this email directly, view it on GitHub <
https://github.com/nybbles/obsidian-pocket/issues/65#issuecomment-1006995284>,
or unsubscribe <
https://github.com/notifications/unsubscribe-auth/AD4YIKKLSD6VF7SELCA6XMDUUYMZLANCNFSM5FOTEWJQ

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

You are receiving this because you authored the thread.
—
Reply to this email directly, view it on GitHub
https://github.com/nybbles/obsidian-pocket/issues/65#issuecomment-1019388722,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADG36MOTPGW5Z4VM5BLSVLUXNJCZANCNFSM5FOTEWJQ
.
You are receiving this because you modified the open/close state.Message
ID: @.***>

--
Nimalan


Update github CI actions/checkout@v2 to actions/checkout@v3

Github actions using Node.js 12 are deprecated. V3 uses Node 16 instead. https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/

Thank you!


TODO: parametrize the highly repetitive tests for vaprofile integration

User Story - Business Need
The codebase is littered with TODO comments. This TODO asks if certain tests in tests/lambda_functions/va_profile/test_va_profile_integration.py
Parametrize these tests to adhere to DRY.

[ ] Ticket is understood, and QA has been contacted (if the ticket has a QA label).

User Story(ies)
As a  VANotify
I want to parametrize pytests tests for highly repetitive tests
So that  the codebase is smaller, adheres to DRY and is more maintainable
Additional Info and Resources

tests/lambda_functions/va_profile/test_va_profile_integration.py
TODO - The next 3 test functions are highly repetitive.  Is there a way to parametrize them?

test_va_profile_opt_in_out_lambda_handler_valid_dict
test_va_profile_opt_in_out_lambda_handler_valid_str
test_va_profile_opt_in_out_lambda_handler_valid_byte

Engineering Checklist

[ ] parametrize the above tests

Acceptance Criteria

[ ] The unit tests behave as before with the tests parametrized.

Hey team! Please add your planning poker estimate with Zenhub @EvanParish @k-macmillan @kalbfled @trevor2718 @jakehova @cris-oddball @ianperera

Please add your planning poker estimate with Zenhub @justaskdavidb2

Please add your planning poker estimate with Zenhub @nikolai-efimov

The TODO no longer exists in this file. Closing ticket as unneeded.


Add MQTT trigger

Hi,
It would be interesting to add MQTT as a trigger for Spin.
Spin lightness and speed would especially complement well MQTT-SN, where it is possible to send data through QoS -1, for example in IoT use cases where data is streamed, such as geolocalisation.
Spin routing could easily apply to MQTT topic.
(In a similar way, AMQP could also offer an interesting trigger)
Unfortunately I am not mature enough with Rust and Spin to develop such a plugin.

I like this idea! The MQTT trigger could be added as an implementation of the wasi-messaging world.

@lee-orr has a messaging trigger at https://github.com/lee-orr/spin-message-trigger - I don't think it currently supports MQTT but that might just ('just') be a matter of adding a new broker, but I am very ignorant of all this!  @lee-orr what do you reckon?

Should be as simple as adding a new broker, though I know nothing about MQTT so I could be wrong

In the mean time - there is also a mqtt adapter for NATS, which the messaging trigger already supports. https://nats.io/download/#connectors-and-utilities

@nicolascrochet7 - MQTT support is now available with spin-message-trigger - https://github.com/lee-orr/spin-message-trigger


Unable to rejoin first joined voice channel

Encountering an issue where I'm unable to rejoin the very first voice channel that the session joined. Switching between every other voice channel works fine, but once I leave the first voice channel that was joined, I'm unable to rejoin it.

A simplified version of my program:
https://gist.github.com/Harmon758/7b39664e89d382ee02bbbcc1eb648ac7


Add Timezones example

Add timezones example (WIP)
Replace Field/select with SelectField.  Refine style

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

Current dependencies on/for this PR:

main

PR #78

PR #99   👈
PR #86

This stack of pull requests is managed by Graphite.


Java App waiting indefinitely on read lock

OrientDB Version: 2.2.11
Java Version: 1.8.0_73
OS: Windows 10
Expected behavior
OSQLSynchQuery should complete without waiting indefinitely for read lock.
Dependencies:
com.orientechnologies:orientdb-core:2.2.18
com.orientechnologies:orientdb-client:2.2.18
Actual behavior
Please see attached jstack dump.
Steps to reproduce

[acquireReadLock.txt](https://github.com/orientechnologies/orientdb/files/911366/acquireReadLock.txt)

@tglman could you take a look ?

Invalidating. It appeared as though the client was waiting indefinitely on the read lock, however the thread was in fact thrashing the connection with the same query over and over.

hi @busbaby,
I checked the dump, the thread that is waiting for the read lock, is waiting for this thread:
"OrientDB <- Asynch Client (<PRIVATE>)" #28 daemon prio=5 os_prio=0 tid=0x0000000028578000 nid=0x256c runnable [0x000000002f86e000]
   java.lang.Thread.State: RUNNABLE
	at java.net.SocketInputStream.socketRead0(Native Method)
	at java.net.SocketInputStream.socketRead(SocketInputStream.java:116)
	at java.net.SocketInputStream.read(SocketInputStream.java:170)
	at java.net.SocketInputStream.read(SocketInputStream.java:141)
	at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
	at java.io.BufferedInputStream.read(BufferedInputStream.java:265)
	- locked <0x00000005c29e0760> (a java.io.BufferedInputStream)
	at java.io.DataInputStream.readByte(DataInputStream.java:265)
	at com.orientechnologies.orient.enterprise.channel.binary.OChannelBinary.readByte(OChannelBinary.java:68)
	at com.orientechnologies.orient.client.binary.OChannelBinaryAsynchClient.beginResponse(OChannelBinaryAsynchClient.java:194)
	at com.orientechnologies.orient.client.binary.OAsynchChannelServiceThread.execute(OAsynchChannelServiceThread.java:55)
	at com.orientechnologies.common.thread.OSoftThread.run(OSoftThread.java:77)

That is reading the data from a socket, I presume that the query is still running on the server, can you check the status of the server ?
In any case monitor you server and client log for any stack trace, if something goes wrong you should be able to see the error.
Kind Regards

hi,
good to know.
Regards


Kickoff Meetings/Follow Up

Main Objectives & Tasks:

[ ] Review & document the existing process (Current State Diagram will be produced).
[ ] Request OKTA account logins.
[ ] Obtain the first de-identified CSV file.
[ ] Send Terms of Service (TOS)
[ ] Receive agreement of TOS

testing email notifications - does this work- @HeatherRienks

I got it

Thanks @rhood23699 - I was testing it for myself because I wasn't getting notifications! Ha! :) It's working now though. Thanks for confirming!


Release with darwin/arm64 Support

Terraform Version
Terraform v1.0.10
on darwin_arm64
Affected Resource(s)
N/A
Terraform Configuration Files
N/A
Debug Output
N/A
Expected Behavior
Able to install provider on darwin/arm64 platform without manually compiling.
Actual Behavior
Error during terraform init:
Error: Incompatible provider version

Provider registry.terraform.io/cloudstack/cloudstack v0.4.0-pre does not have a package
available for your current platform, darwin_arm64.

Provider releases are separate from Terraform CLI releases, so not all providers are available
for all platforms. Other versions of this provider may have different platforms supported.

Need to manually compile and install provider for darwin/arm64 support.
Steps to Reproduce
terraform init

References

https://github.com/hashicorp/terraform/issues/27257

@hrak can you test/try again with https://registry.terraform.io/providers/cloudstack/cloudstack/latest ?

Based on another users's testing, closing the issue of github release artifacts fixed this.


what does num_frame_per_clib mean in train.py and test.py

I noticed that the values of num_frame_per_clib parameters in training and prediction are different. The example is RGB flow: why num_frame_per_clib is 16 when predicted, and when training is 64.  So can num_frame_per_clib be set at 64 when predict?
Another problem is that num_frame_per_clib value is 64 during training, but if the number of RGB frames extracted from a video is more than 64, for example, the number of RGB frames of the video is more than 128 during training, does that mean that the num_frame_per_clib value can be set to 128?

@LossNAN
I am also confused about the difference of 16 and 64. It seems for 3D CNN，if we train the model at 64 frames length then the test length should also be 64. Or does I3D allows varied-length (I really doubt)?
@wannibar  @LossNAN
I suppose the  num_frame_per_clib value  should be fixed at 64. But we might sample different chunk everytime when we come across this video during training. Is it controlled by the s_index for sampling ?

@huangchaoxing
On page 7 of the paper, the authors say that they train with 64 frames and use all frames for the test.
So I think we should use all frames, not 64 or 16.

@HyunWoo-Nick  I think the single test length should be 64 or 16, but you do multiple 64 or 16 to cover  all the frames and do the average during testing. You might not be able to directly feed the whole video in one time into the network, because it will cause tensor size mismatch with the final fully connected layers.


Add support for packed structs.

Fixes: #1747

@dtolnay I force-pushed to trigger the new checks. Seems to pass.

Published in 1.0.110.


Not Honoring Transaction Isolation Level Settings

Azure Data Studio Version: 1.12.0-insider
SQL Server Version: SQL Server 2017 CU17 on Ubuntu running in Docker
SSMS Version: 17.9.1 (used for comparison)

Steps to Reproduce:

Open a new query window and run the following script (one line at a time) in Azure Data Studio:

DBCC USEROPTIONS;
-- expected isolation level: default (read committed or read committed snapshot)

SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;

DBCC USEROPTIONS;
-- expected isolation level: repeatable read

SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;

DBCC USEROPTIONS;
-- expected isolation level: serializable

I would expect the "isolation level" row of each DBCC USEROPTIONS call to reflect the specified transaction isolation level, yet it only shows "read committed" each time.
I have further examples of queries not behaving properly (in particular for a presentation I wrote demonstrating isolation levels), but I believe it all boils down to something not changing the the session to the specified transaction isolation level. This same script provides the desired output (and my other queries run correctly) in SSMS, just not in Azure Data Studio.
I am happy to provide further information if necessary. Please feel free to contact me.

This is a pretty big bug to be open for 3 years. Troubleshooting an issue where SSMS and Azure Data Studio did not agree on the state of the database was freaky. Not a good look, at least disable the setting so that users dont THINK that it is reading committed when really reading uncommitted.....

The current implementation is that query execution options are applied to the session each time a query is executed.  If the above script is executed as a single unit then the result is as expected, but line-by-line the query options get reapplied on each query execution, so if a previously executed SET statement conflicts with the user's query execution options then the previous statements changes will be overridden on subsequent executions.
When we looked at this previously the issue is that some execution options should be applied only once when a session is established, but we didn't have a hook to detect when a connection had been disconnected and reconnect in the reliable connection retry handlers, so it was possible in that case that the options could be dropped.  The current design at least consistently ensures the user's options are applied for each execution.  A simple workaround is to ensure that the either the desired execution options are set in the user settings or to include the SET commands in the batch with the other statements.
I'll move this back into an upcoming iteration to investigate properly hooking up to the query execution options to the on-connect events instead of the on-execute events.  We're planning to make several improvements to our connection handling in the next few releases and this is an important bug to get fixed as part of that.

I don't think you're understanding the problem here.
User A: Open SSMS,
Begin transaction
DELETE one row from table. DO NOT commit transaction.
User B:
Open SSMS. SELECT FROM (TABLE) WHERE id = (deleted uncommitted id)
returns 1 row, it isn't committed.
Open ADS. SELECT FROM (TABLE) WHERE id = (deleted uncommitted id)
returns 0 rows, reading the uncommitted transaction despite my settings clearly saying 'READ COMMITTED'.
Wasted an hour and a half of two engineers time and had to pull some senior DBAs into a call to finally figure out that what we were looking at was an uncommitted row being read by an application that was very clearly supposed to be configured to only read committed data.

Hi @EklipZgit
Are you connecting to an instance of Azure Synapse Analytics or a Parallel Data Warehouse? In which case the default mode is indeed READ_UNCOMMITTED as also mentioned on MS Documentation.
I verified with both Azure SQL DB as well as on-premise SQL Server and couldn't reproduce the behavior you described. Please let me know if I missed something!

@EklipZgit thanks for providing the additional context.  I also was unable to repro the above problem using the following repro.  It's likely there is some detail I'm missing.

Open Azure Data Studio or SSMS with default query options and connect to SQL Server.
Open an editor and execute BEGIN TRAN and DELETE a row.  Leave the editor open and the transaction pending.
Open another editor and run a SELECT statement on the table with the pending transaction.

What I'm seeing is that in both SSMS and ADS the SELECT query will block while the transaction is pending.  If the transaction is rolled back or committed the the select completes and displays the expected resultset.  Please let us know if we're missing something in the repo.
It is possible that you're hitting a different bug than is reported above which is about differences in behavior when the provided repro script is run as a single batch vs. line-by-line.  The difference is due to query options being reapplied on each query execution vs. when a session is established.  This behavior can be observed by running multiple queries in a query editor while profiling the session.  For example, in the below screenshot there is a query that ADS is running prior to each SELECT statement that reapplies the user setting query options, including the isolation level, with the side-effect that SET statements previously executed on that session will be overwritten.

I will proceed to close this issue as there's been no activity.
Please open a new issue for any additional support.


[requires.io] dependency update on master branch

FYI @Lukasa, I would have merged this while you were on holiday, but I don't have write access to this repo.


[VL] RAS: Remove AddTransformHintRule route from EnumeratedApplier

RAS planner doesn't need tag to mark whether a vanilla Spark plan is offload-able . It just does every essential checks whenever it tries to generate offloaded plan.
The patch does some optimizations to code to remove AddTransformHintRule from EnumeratedApplier and leave the pre-validation work to RAS planner.

===== Performance report for TPCH SF2000 with Velox backend, for reference only ====

query
log/native_5552_time.csv
log/native_master_04_27_2024_7ad2ea715_time.csv
difference
percentage

q1
38.01
36.70
-1.310
96.55%

q2
24.37
24.30
-0.071
99.71%

q3
38.03
36.91
-1.124
97.04%

q4
36.54
37.94
1.397
103.82%

q5
69.79
67.99
-1.800
97.42%

q6
7.50
5.73
-1.770
76.40%

q7
83.05
81.54
-1.510
98.18%

q8
85.31
85.59
0.281
100.33%

q9
123.53
124.55
1.028
100.83%

q10
47.15
47.35
0.203
100.43%

q11
20.39
20.13
-0.257
98.74%

q12
28.15
25.87
-2.277
91.91%

q13
54.06
55.19
1.130
102.09%

q14
17.70
17.66
-0.041
99.77%

q15
29.07
30.21
1.138
103.91%

q16
14.18
14.16
-0.024
99.83%

q17
103.04
104.01
0.968
100.94%

q18
145.69
147.99
2.296
101.58%

q19
15.65
14.61
-1.037
93.37%

q20
26.47
26.53
0.059
100.22%

q21
289.87
288.59
-1.276
99.56%

q22
15.67
14.78
-0.897
94.28%

total
1313.23
1308.33
-4.898
99.63%


ordering of tags by creation or last update time

It would be nice to have the tags sorted by creation or last update time or ideally have proper support for snapshotting.  Currently they are all sorted alphabetically and the released version will always be before the snapshot.

interesting - I on

interesting - we could also reverse the sort so the non dev version of any major/minor/micro comes first


Sqlite amalgamation 3039002

Codecov Report

Merging #1074 (0e731cf) into master (fd616a2) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 0e731cf differs from pull request most recent head d3f2ac2. Consider uploading reports for the commit d3f2ac2 to get more accurate results

@@           Coverage Diff           @@
##           master    #1074   +/-   ##
=======================================
  Coverage   46.16%   46.16%
=======================================
  Files          11       11
  Lines        1499     1499
=======================================
  Hits          692      692
  Misses        667      667
  Partials      140      140

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Add adactio.com feed

@adactio as per guidelines, if submitting your own website, please submit two others that are not yours (and are not in the list already)

How about....

http://feeds2.feedburner.com/Swissmiss
https://luhr.co/feed.xml

Done!


Should be able to type in account type

Testing #229420, https://github.com/microsoft/vscode/issues/231880
Since I'm able to type in this quick pick, I'd expect to be able to type in the name of an account I'd like to auth with:

Version: 1.95.0-insider (user setup)
Commit: 804f450ca900d24db25e7174e8b6dfb3fb2a318c
Date: 2024-10-22T13:30:10.100Z
Electron: 32.2.1
ElectronBuildId: 10427718
Chromium: 128.0.6613.186
Node.js: 20.18.0
V8: 12.8.374.38-electron.0
OS: Windows_NT x64 10.0.26120

This is doable... the only thing that's kinda weird is that from an API perspective, what gets passed in is:
	export interface AuthenticationSessionAccountInformation {
		/**
		 * The unique identifier of the account.
		 */
		readonly id: string;

		/**
		 * The human-readable name of the account.
		 */
		readonly label: string;
	}

So we'd need to come up with some random id. For GitHub and Microsoft, it doesn't matter since we only use the label here but for other auth providers, idk, maybe they'd expect that id to be useful.


Weird bug with hex conversions on macOS

I have a weird bug where certain strings cause keyring-rs to throw an error on macOS. I haven’t worked out exactly what’s causing it, but it looks like my keychain entries are being interpreted as hex, and that’s throwing it off.
If I create a keychain entry ("testing", "password", "aa"), put the following in main.rs and then call cargo run:
// main.rs
extern crate keyring;

fn main() {
    println!("{:?}", keyring::Keyring::new("testing", "username").get_password());
}

I get the following error:
thread 'main' panicked at 'error converting hex to utf8: FromUtf8Error { bytes: [170], error: Utf8Error { valid_up_to: 0 } }', ../src/libcore/result.rs:788
note: Run with `RUST_BACKTRACE=1` for a backtrace.
error: Process didn't exit successfully: `target/debug/testing` (exit code: 101)

Other strings that produce the error: bb, c1, 99, 90, 80.
I get the correct result with 7f.
If I try hex strings below 7f (e.g. 6a, 00, 0a), the program exits correctly but the item it retrieves from the keychain is incorrect. e.g. if the keychain entry is 6a, it prints Ok("j").
Versions:
$ rustc --version
rustc 1.12.1 (d4f39402a 2016-10-19)

$ cat Cargo.toml
[package]
name = "testing"
version = "0.1.0"
authors = ["Alex Chan<EMAIL_ADDRESS>
[dependencies]
keyring = "0.1.1"

$ sw_vers
ProductName:	Mac OS X
ProductVersion:	10.12.2
BuildVersion:	16C67

I’m using the following diff in my fork, and that seems to have resolved my problems for now:
                 if output.status.success() {		                 if output.status.success() {
                     let output_string = String::from_utf8(output.stdout).unwrap().trim().to_owned();		                     let output_string = String::from_utf8(output.stdout).unwrap().trim().to_owned();
                     // padded with extra 'ffffff' before each octet?
+                    Ok(output_string)
-                    //println!("{:?}", output_string);
-                    match output_string.from_hex() {
-                        Ok(bytes) => {
-                            // filter out extra 255?
-                            let bytes: Vec<_> = bytes.into_iter().filter(|&b| b != 255).collect();
-                            Ok(String::from_utf8(bytes).expect("error converting hex to utf8"))
-                        },
-                        _ => Ok(output_string),
-                    }
                 } else {
                     Err(KeyringError::MacOsKeychainError)
                 }

Hi,
Thanks for the report! I'm in the process of procuring a mac to help finish up development on this library.
I should be able to push a fix to crates.io by the end of the week, hope you can make do for now. I need to go back and verify the behavior of http://stackoverflow.com/questions/22370552/keychain-services-secure-notes and see if I just made a dumb mistake in the original implementation.
After that, I'm going to finish up my plans for this lib:

tests and CI.
osx backend with https://crates.io/crates/security-framework (which I think should work)
windows backend
publish 1.0

Closed by #6. Now handles utf8 passwords (including "special chars) on osx correctly. Version is bumped to 0.2


feat: Update eslint and add prettier

Bump @typeform/eslint-config to 3.0.1
yarn lint also checks prettier formatting now. To format the project use your IDE or yarn prettier.

[BOT] Preview available: https://embed.typeform.com/17f2d6345b81a3516bf7562d98b2dc053fb8512b/embed.js

[BOT] Preview available: https://embed.typeform.com/e903ce610c45bb41035404311063bc0ee2eb19ca/embed.js

[BOT] Preview available: https://embed.typeform.com/f843b57fa6ff68f65e3623c56bf6ed555da48c80/embed.js

:tada: This PR is included in version 0.31.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[Feature] Add timezone value to Backup resources.

Is your feature request related to a problem? Please describe.

When configuring a Backup resource the created CronJob will always be run in the UTC timezone.  One cannot choose their prefered timezone.
Describe the solution you'd like

Since Kubernetes 1.27 there is a .spec.timeZone value available to CronJobs. Make this available to all the resources with a schedule field (like Backup).
Describe alternatives you've considered

Environment details:

Kubernetes version: 1.28
Kubernetes distribution: k3s
mariadb-operator version: 0.0.25
Install method: helm
Install flavor: recommended

Additional context

Hey @codestation ! Thanks for bringing this up.
This will be a nice addition for the Backup and SqlJob resources, which are reconciled into `CronJobs as you correctly pointed out.

Since Kubernetes 1.27

I'm guessing that we will need to use the discovery client to check whether we are running in Kubernetes >= 1.27:
https://pkg.go.dev/k8s.io/client-go/discovery
Contributions are welcome!

Since Kubernetes 1.27 there is a .spec.timeZone value available to CronJobs.

Kubernetes 1.27 is when the feature graduated from Beta to GA. However, the timeZone field has been available since Kubernetes 1.24, with 1.25 marking it as Beta and enabling its feature gate by default (meaning that since 1.25, administrators had to explicitly disable this feature if they didn't want their clusters to support it).
See: https://github.com/kubernetes/enhancements/issues/3140
Take the following CronJob manifest, for example: cronjob.yaml
apiVersion: batch/v1
kind: CronJob
metadata:
  name: example-cronjob
spec:
  schedule: "0 12 * * *" # Every day at noon
  timeZone: "America/New_York" # Specify the time zone
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: example
            image: busybox
            args:
            - /bin/sh
            - -c
            - date; echo "Hello from the Kubernetes CronJob!"
          restartPolicy: OnFailure

Even with the CronJobTimeZone feature gate disabled, no errors will be thrown on Kubernetes versions >= 1.24 because of a timeZone field being present in the CronJob manifest, as the field already exists in the CronJob schema definition.
For Kubernetes <= 1.23, the API server drops any unrecognized fields from the input that it receives. So even if the operator sends a timeZone field with the CronJob creation request, the API server will still fulfill the request without throwing an error (just ignoring the timeZone field).
See: https://kubernetes.io/docs/reference/using-api/api-concepts/#field-validation

This makes me think that implementing this in a way similar to #721 (without using a DiscoveryClient) won't cause any issues.  Is there something I may be missing here @codestation @mmontes11?

Fair enoug @mbezhanov ! Thanks for you analysis, this is indeed the case. From the docs you provided:

There are two situations where the API server drops fields that you supplied in an HTTP request. These situations are:

The field is unrecognized because it is not in the resource's OpenAPI schema. (One exception to this is for CRDs that explicitly choose not to prune unknown fields via x-kubernetes-preserve-unknown-fields).
The field is duplicated in the object.

In such case we don't really need a discovery mechanism for this, we can rely on the API server logic.


Support progress and/or rate indication

Is this a BUG REPORT or FEATURE REQUEST?:
Feature Request
What happened:
It would be helpful if it were possible to see how much progress is being made by a long-running task
What you expected to happen:
A progress indication of some kind - ideally something that can be watched at the CLI and rendered in argo-ui.
For example I have a job that runs in the middle of a workflow over a few million lines and it takes a while. I'm trying to tune k8s autoscaling to scale out a service it uses and it would be helpful to know how fast it is going and how far it is through the work. Rather than implement my own solution to log this or produce metrics it would be neat if there were a way to publish this information straight into Argo.
How to reproduce it (as minimally and precisely as possible):
N/A from here down...
Anything else we need to know?:
Environment:

Argo version:

$ argo version

Kubernetes version :

$ kubectl version -o yaml

Other debugging information (if applicable):

workflow result:

$ argo get <workflowname>

executor logs:

$ kubectl logs <failedpodname> -c init
$ kubectl logs <failedpodname> -c wait

workflow-controller logs:

$ kubectl logs -n argo $(kubectl get pods -l app=workflow-controller -n argo -o name)

See #3557

We've an ask for this in the user interface, both at a node and workflow level.
This could be done in the UI using existing backend code by getting the last successful execution of the workflow (determine by workflows.argoproj.io/workflow-template label - i.e. only works for templates and only if there was a last successful run). It is a straight forward look up on the workflow.
This is not a very popular issue, so warrants a low cost solution.

I've linked the PR, which provides a coarse way to track your workflow. It estimates how long it will take to complete and displays progress towards that time. This is purely time-based.
This is not as fined grained or nuanced as some of the ideas in this PR. For example, if a workflow had 10 steps, another way to do this would be to base progress on the number of steps complete.
@brabster @ddseapy please take a look and make suggestions or comments.

Unfortunately most our current workflow templates yield workflows that vary drastically from a couple minutes to several hours, so as the pr mentions in the docs it's not ideal for our current use case but will definitely keep this in mind for future wftmpl.

vary drastically from a couple minutes

Any thought on other ways to estimate this that would work for you?

Currently for most workflows we have a specific parameter (hardcoded name we look for), whose value is the amount that workflow progress should be incremented for once that node is complete.  This parameter is passed from a previous step that knows how many items/nodes there will be.  Progress is computed by looking at the workflow in a shared informer and summing the parameter values up across all nodes.
For workflows with just a few nodes, we also have a rest service that allows nodes to increment the progress themselves.  This progress is stored in a separate postgres table.
Both of these have the downside of the workflow needing to know/report about their own progress.  What is in the PR clearly doesn't have that restriction.  So Im not sure I have a better generalized suggestion.  At least not a performant one that doesn't involve periodically analysing lots of workflows from the archive.

@dseapy that's really interesting. Let me play that back so I can be sure I understand. In effect, you have a method for nodes to report their progress? That is just another way to report progress.
Proposal:
We currently nodes report status by annotating their pod. What if there was an annotation that we recognise as progress your nodes could update this and we could report back via the CLI and UI.
If the annotation was absent, we would default a computed metric.

Pod/resource template - annotation or estimated duration
DAG/Steps template - number of tasks complete/total number of tasks

Yeah, I believe that would work for our wftmpls.

@dseapy I've tweaked my POC. Setting annotations works today, but (a) requires the workflow role to have pod patch and this is is a security issue we want to remove and (b) exposes implementation details, instead what about just recognising a log line:
#argo progress=25/100

Better still:
#argo progress=25/100 message=custom message

That does indeed sound much better for security and friendlier to the container.  I'm guessing there is not too much of a performance hit to do the log parsing/matching for each pod?

I think this approach works for me too. I had long running tasks within a workflow that I tracked via logging,

I really like the progress stuff, definitely solves some UX issues I have!  One thought is: The ability to have multiple independent progress meters would be nice (think things like monitoring rollouts of multiple different kubernetes workloads).  Obviously can be handled currently by just breaking those out into distinct leaf nodes, so not really an issue.

Another thought would be to have the node config include a regex that would yield the progress information?

I think this way of parsing the stdout log works for me too 👍

@brabster @andyleap @dseapy I think we'll be including basic N/M progress in v2.12, but not workflows-self reporting their progress. I think this is a cool feature, and I want to know if one of you would like to take it on based on the design in #4015?

The implementation in https://github.com/argoproj/argo/pull/4015, reporting progress via #argo progress=N/M message="m" would work for our use cases!

The implementation in https://github.com/argoproj/argo/pull/4015, reporting progress via #argo progress=N/M message="m" would work for our use cases!

@salanki thank you. I think what I'm saying is that I don't plan to work on this anymore. But if someone wants to take it on - that'd be great!

FYI i started working on this in https://github.com/helio/argo-workflows/tree/custom-workflow-progress
ported the code @alexec wrote to the latest master state and started testing it locally (and with tests). Didn't run it with "real" workloads yet and there is much to improve. More of a prototyping state at this point.
But in case anyone wants to have an early look at it, more than welcome :).
I only ported the custom N/M reporting, not yet the message part as the pod reporting status messages has changed quite a bit and I'm not sure if it's even needed TBH.

in case anyone wants to start using this, docs are here: https://github.com/argoproj/argo-workflows/blob/master/docs/progress.md#self-reporting-progress. Let me know if they're clear enough.

Hi, can I get this information from inside a workflow manifest using a workflow variable, something like {{workflow.progress}}?

As far as I'm aware not using a variable (all workflow variables are documented here). However, you could might be able to read the file exposed via ARGO_PROGRESS_FILE though I'm not sure about that.

Thanks, just tried using the https://github.com/argoproj/argo-workflows/blob/729d0a7b35825ff47254bad3fbea3d571ea621c8/examples/dag-coinflip.yaml example, on L50 I replaced echo \"it was heads\" with cat $ARGO_PROGRESS_FILE, the step failed and I got this in the logs:
cat: can't open '/var/run/argo/progress': No such file or directory

looks like it's not two-way binding.

is it possible to get the global total tasks in the workflow so that I can calculate it myself? spent some time checked the doc but couldn't find any way to do it.


aws elasticsearch kibana issue

I'm using the aws request singer to access the aws elasticsearch kibana sashboard and it works almost fine.
The only resources that are not signed are fonts:
Request URL:https://search-xxx-pre-xxx.eu-west-1.es.amazonaws.com/_plugin/kibana/bower_components/font-awesome/fonts/fontawesome-webfont.woff?v=4.2.0
Request Method:GET
Status Code:403 Forbidden
Remote Address:xx.xx.xx.xx

### GET /_plugin/kibana/bower_components/font-awesome/fonts/fontawesome-webfont.woff?v=4.2.0 HTTP/1.1
Host: search-xxx-pre-xxx.eu-west-1.es.amazonaws.com/_plugin/kibana/styles/main.css
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
Origin: https://search-xxx-pre-xxx.eu-west-1.es.amazonaws.com/_plugin/kibana/styles/main.css
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.59 Safari/537.36
Accept: */*
Referer: https://search-xxx-pre-xxx.eu-west-1.es.amazonaws.com/_plugin/kibana/styles/main.css?_b=7562
Accept-Encoding: gzip, deflate, sdch, br
Accept-Language: it-IT,it;q=0.8,en-US;q=0.6,en;q=0.4

but if i call the the direct link it sign the request and download the file.
Request URL:https://search-xxx-pre-xxx.eu-west-1.es.amazonaws.com/_plugin/kibana/bower_components/font-awesome/fonts/fontawesome-webfont.woff?v=4.2.0
Request Method:GET
Status Code:200 OK
Remote Address:xx.xx.xx.xx

Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip, deflate, sdch, br
Accept-Language:it-IT,it;q=0.8,en-US;q=0.6,en;q=0.4
Authorization:AWS4-HMAC-SHA256 Credential=AKIAJHUBJSCJ2S267XEQ/20161021/eu-west-1/es/aws4_request, SignedHeaders=accept;accept-encoding;accept-language;host;upgrade-insecure-requests;user-agent;x-amz-algorithm;x-amz-date, Signature=2cc4e3edb1fee8e3a1f6f8e4ed1623eda6731df41418c56dd58715274c34da88
Cache-Control:no-cache
Connection:keep-alive
Host:search-xxx-pre-xxx.eu-west-1.es.amazonaws.com
Pragma:no-cache
Upgrade-Insecure-Requests:1
User-Agent:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.59 Safari/537.36
X-Amz-Algorithm:AWS4-HMAC-SHA256
X-Amz-Date:20161021T073411Z

Fixed in 1.0.3, thanks @gregfahy


feat(permission): set simple permissions

resolves DSP-1355

coordinated requests:
                const calls = [
                    this._dspApiConnection.admin.permissionsEndpoint.getAdministrativePermissions(this.project.id).pipe(
                        map((res: ApiResponseData<AdministrativePermissionsResponse>) => res.body)
                    ),
                    this._dspApiConnection.admin.permissionsEndpoint.getDefaultObjectAccessPermissions(this.project.id).pipe(
                        map((res: ApiResponseData<DefaultObjectAccessPermissionsResponse>) => res.body)
                    )
                ];

                forkJoin(calls).subscribe(
                    res => console.log(res)
                );

@flavens I added the comp. display-permission.
Given a permission string, it displays all granted permissions:
<app-display-permission [displayPermission]="'V'"></app-display-permission>

So far it uses checkboxes and it does not display any title info. Could you help me turn this into a grid?

So far it uses checkboxes and it does not display any title info. Could you help me turn this into a grid?

Yes I can help. I am trying to get the same display, but I get only one set of permissions (V passed as displayPermission). I may need to understand what you did first.

I just got the DOAP's permissions and put them in a variable: perms: Permission[];.
And then I juts loop over them:

{{perm.additionalInformation}}	<app-display-permission [displayPermission]="perm.name"></app-display-permission>

So for each row,  app-display-permission can be used.

https://github.com/dasch-swiss/dsp-app/pull/387/commits/7e719862866dc4ece4546d6ef6f6730ba1365055 uses the child comp. for DOAP

After today's discussion: we learned that the create permission is not necessarily implicitly granted when the user has modify or delete permissions.
We initially had the idea to merge administrative and default object access permissions into one data structure (combining the results of getDefaultObjectAccessPermissions and getAdministrativePermissions) that then would be displayed. However, now it seems favourable to keep the two types of permissions separate internally, but to display them side by side in the UI. The user need not know that there are different types of permissions.
The component displaying permissions could have separate inputs:
<app-display-permission [role]="..." [doaPermission]="..." [adminPermission]="...">

I think, both types of permissions could fit into simple data structure like this:
export interface IPermission {
    role: string;
    permission:string;
}

Per group and role, there could be permissions belonging to admin and such belonging to doap. They should be kept separate and passed to the respective inputs.
Example:
AdministrativePermission
   forGroup: "http://www.knora.org/ontology/knora-admin#ProjectMember"
   forProject: "http://rdfh.ch/projects/0001"
   hasPermissions: Array(1)
       0: Permission
           additionalInformation: undefined
           name: "ProjectResourceCreateAllPermission"
           permissionCode: undefined
   id: "http://rdfh.ch/permissions/0001/005-a1"

DefaultObjectAccessPermission
   forGroup: "http://www.knora.org/ontology/knora-admin#ProjectMember"
   forProject: "http://rdfh.ch/projects/0001"
   forProperty: undefined
   forResourceClass: undefined
   hasPermissions: Array(4)
      0: Permission {additionalInformation: "http://www.knora.org/ontology/knora-admin#Creator", name: "CR", permissionCode: 8}
      1: Permission {additionalInformation: "http://www.knora.org/ontology/knora-admin#ProjectMember", name: "M", permissionCode: 6}
      2: Permission {additionalInformation: "http://www.knora.org/ontology/knora-admin#KnownUser", name: "V", permissionCode: 2}
      3: Permission {additionalInformation: "http://www.knora.org/ontology/knora-admin#UnknownUser", name: "RV",    permissionCode: 1}
   id: "http://rdfh.ch/permissions/0001/005-d1"

@flavens Could we make a mockup that shows how the two sets of permissions in the example above would be shown to the user?


mini.surround: Added explanaition of defining output specification with function to documentation

[x ] I have read CONTRIBUTING.md

[x ] I have read CODE_OF_CONDUCT.md

When reading through docs of mini.surround, I noticed that they explain only one way of defining output specification of surround, with plain strings. Later in examples the docs show that we can also use functions that return output specification.
So I wanted to add this option to surround specification. And I also added an example with output of a default function call surround.

Thanks for spotting this!
I've merged into a temporary branch to clean up a bit.


Fixes Issue #13: preventing api.webhooks.update() method from working.

Updated the update method to use PUT instead of POST.

I've also added code to my fork that adds new functionality to the api.rooms.get() method to allow for finding a room based on it's title.  I had meant to do this in a separate PR, but wasn't thinking as I started working on the code... so now this is a 2 for 1 PR...
For this new feature, I find that I'm often needing to "get" a room based on the title, and don't know the roomId initially.  Currently you can do this with the code by running this function each time:
roomTitle = "My Room"
for r in api.rooms.list():
    if r.title == roomTitle:
        room = r

Which works but is tedious.  I've updated the room.get() method so that this works now:
roomTitle = "My Room"
room = api.rooms.get(title=roomTitle)

If a single room is found with the title, it is returned.  If more than one room exists with the given title, a list of Rooms is returned.  If No room is round with the title, I'm currently returning a Room object with no details, but that behavior could be changed easily if there is another standard you are using for that case.

Hank,
Thank you for the report and the fix!  Do you mind to separate out the search by title?  I also have frequent need for this feature, as I believe many others do...
When we started this / these project(s) (ciscosparkapi & ciscosparksdk).  There was discussion about the functionality that should be included.  A few wanted us to have a lightweight package that essentially encapsulated the Spark API in native Python objects, and while also having a separate and potentially "heavier" SDK package that could add in algorithmic enhancements to the API - and thus we decided upon two packages:  ciscosparkapi and ciscosparksdk.  Now that the ciscosparkapi package is initially complete and in beta, we can start on the ciscosparksdk enhancements.
Searching by room title will be one of the first ones out the gate for ciscosparksdk.  As for implementation, to keep everything consistent, the get() method should always return a single object, and as there can be more than one room with a specific title the method used to provide this functionality should return a generator container (consistent with the other methods that return more than one object).  To help clarify the functionality here and to not conflict with the existing methods, my thoughts were to create a search() method in ciscosparksdk to provide for add-on features like this.
I will try and get the base structure completed for ciscosparksdk as soon as possible, so that individuals can start adding in functionality like this as they see value in doing so.

@cmlccie... I've backed out the rooms.get changes per our discussion.  All that remains is the fix for the webhooks.update() method.


Python: AWS Batch Fargate Compatibility Not Working

I am trying to set up an aws.batch.ComputeEnvironment and there seem to be several issues with the batch api.
Steps to reproduce

This basic example (more or less copied from the documentation for this API) is throwing an error:
batch_compute_environment = aws.batch.ComputeEnvironment(
    'batch-compute-environment',
    compute_environment_name='batch-compute-environment',
    compute_resources=aws.batch.ComputeEnvironmentComputeResourcesArgs(
        max_vcpus=256,
        security_group_ids=batch_security_group.id,
        subnets=vpc_subnet_ids,
        type="FARGATE",
    ),
    service_role=batch_service_role.arn,
    type="FARGATE",
)

It's worth calling out that the example in the documentation sets type="Managed", which the documentation does not list as a valid value. Either way throws the same error.
Expected:
I would like Pulumi to stand up the resource.
Actual:
TypeError: __init__() missing 3 required keyword-only arguments: 'instance_role', 'instance_types', and 'min_vcpus'. Appears that the type is reverting to the default of EC2

More details: I created the compute environment via the AWS console, imported the resource into Pulumi, copied the resource code from the import command, and then ran pulumi up. I get:
Diagnostics:
  aws:batch:ComputeEnvironment (staging-batch-compute-environment):
    error: aws:batch/computeEnvironment:ComputeEnvironment resource 'staging-batch-compute-environment' has a problem: expected compute_resources.0.type to be one of [EC2 SPOT], got FARGATE. Examine values at 'ComputeEnvironment.ComputeResources.Type'.

It's worth calling out that the example in the documentation sets type="Managed", which the documentation does not list as a valid value. Either way throws the same error.

The documentation appears to be incorrect, the allowed values for the outer type are MANAGED and UNMANAGED.
If I take the example as provided in the docs (and fix up for some unreferenced variables) and append to the EC2 example above - it deploys for me as expected (using MANAGED):
sample = aws.batch.ComputeEnvironment("sample",
    compute_environment_name="sample2",
    compute_resources=aws.batch.ComputeEnvironmentComputeResourcesArgs(
        max_vcpus=16,
        security_group_ids=[sample_security_group.id],
        subnets=[sample_subnet.id],
        type="FARGATE",
    ),
    service_role=aws_batch_service_role_role.arn,
    type="MANAGED",
    opts=pulumi.ResourceOptions(depends_on=[aws_batch_service_role_role_policy_attachment]))

The errors you mention above don't look like they should be possible with the code you shared.  Do you have a complete repro of that, and also possibly the full output from the update?

Ahh - actually - what version of pulumi_aws are you using?  Support for Fargate w/ Batch was added in version 4.2.0.  The issues above look like they could all be caused by using an older version of the provider from before that feature was supported.

Confirmed that if I use an older version of pulumi_aws I see the same errors as above, so will close this out.  If you upgrade to >=4.2.0 this should work as expected.


Add removeMarker() method

Adds removeMarker() method to api, which was already implemented for IOS and Android.

Thanks for fixing this  👍

Thanks!


[suggestion] Attack jet

Issues:

Jet flying around cache and decache units quickly (regardless the sleep etc they do load the server)
Jet has nothing to really attack, defenders have just few vehicles parked and they don't get reinforcements so the jet gonna move around without a real purpose (well it can kill SDK vehicle moving around)

Suggestion:
During a NATO vs CSAT (or vice versa) attack there are jets flying around and i'd suggest to make them have a single run and then RTB.
In case jets were intended to just to show, then remove the spawning trigger and make them dogfight (so jet with air-air combat) with defenders jets which takeoff (even from another airbase, why not)

Solved


A security contact phone number should be provided for your subscription

[Enter feedback here]
The security center generated a compliance alert to register the contact phone, but I noticed that this field was removed from the notification option, but it still appears in the az security contact list command, the question is: is there a field for registration or is it false positive at the security center? shouldn't it be removed?

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

ID: 0a455a24-920e-f9f8-7a6f-60b5f4019acd
Version Independent ID: e6a4d8e2-0ada-e535-810f-5eb19e45ee1e
Content: Provide security contact details in Azure Security Center
Content Source: articles/security-center/security-center-provide-security-contact-details.md
Service: security-center
GitHub Login: @memildin
Microsoft Alias: memildin

@jose-lima2011 Thanks for your feedback! We will investigate and update as appropriate.

@jose-lima2011 I am able to see the email contact list on the page and it is not removed.  Can you please share screenshot of your Azure portal ?

@jose-lima2011 I am able to see the email contact list on the page and it is not removed. Can you please share screenshot of your Azure portal ?

I think I didn't explain it correctly, the security center generates a non-compliance by CIS: 2.17.
Ensure that security contact 'Phone number' is set
This compliance was previously corrected in the phone field that no longer exists according to your printscreen. The question is: does this field exist? was it depreciated? if so why is the Security Center signaling this non-compliance?

see the image of the previous version in portuguese:

So again my question is about the phone field  not about email.

Having the same issue as stated above as well.

@jose-lima2011 Sorry about my confusion.  Yes, I see what you are talking about.  I am checking internally with the product team on this issue and update you as soon as I hear back from them.

@jose-lima2011  I have received the confirmation from product team that the field is still exist, but can only be set via PowerShell or API. For PowerShell use:
Set-AzSecurityContact -Name "default1" -Email<EMAIL_ADDRESS>-Phone "2142754038" -AlertAdmin -NotifyOnAlert
For API use:
https://docs.microsoft.com/en-us/rest/api/securitycenter/securitycontacts/update

Thank you, but another question.  If a security contact already exists with a email address you want to add the phone number to I cannot find a method to just update the phone number.  I have tried to remove the contact then add it again and it fails the same saying the email address already exists even though it was deleted.

shaun findley, your question makes sense i had already seen this problem in fact i had flagged in a similar issue:
https://github.com/Azure/azure-cli/issues/14594
corrected without feedback, I add the question if the phone numbers are still restricted to the US format, I believe it shouldn't because the phone exists worldwide. Add the solution procedure in the System Center or I believe that many people will get lost in the correction

@shaunfindley  Yes, unfortunately, you need to pass both Name and Email even you want to setup Phone Number and it works as expected.

Also, I tried setting up Phone Number other than USA and it works as well.  See screenshot below -

@jose-lima2011 We will now proceed to close this thread. If there are further questions regarding this matter, please reopen it and we will gladly continue the discussion.


What if server IP changes?

Old IP stays hardcoded in:

client-common.txt
/etc/rc.local (I mean this rule "iptables -t nat -A POSTROUTING -s <IP_ADDRESS>/24 ! -d <IP_ADDRESS>/24 -j SNAT --to <IP_ADDRESS>")

Looks like not the best behavior. May be it's possible to offer automatic server ip-address replacement and update?

A dedicated IP in a server should not change.
If the IP is dynamic, you should use an updated domain name (Dynamic DNS) for client configurations (client-common.txt) and masquerade instead of SNAT (/etc/rc.local).
The change is easy if you need to do it, but out of the scope of this script.

@Nyr do you know what the actual params I should be setting in those files?
I am guessing remove the remote option with ... in /etc/openvpn/client-common.txt. Also my /etc/rc.local is empty so what should I be adding to specify masquerade opposed to SNAT?

@maxisme don't remove the remote parameter, it is needed. If you have a dynamic IP, my guess is that the server is probably behind NAT. If that's the case, you don't need to change anything in /etc/openvpn/client-common.txt.
If your /etc/rc.local file is empty, very likely your system is using firewalld and a rule like this was added yo your firewall:
firewall-cmd --permanent --direct --add-rule ipv4 nat POSTROUTING 0 -s <IP_ADDRESS>/24 ! -d <IP_ADDRESS>/24 -j SNAT --to $IP
That rule could be removed with the following commands:
firewall-cmd --direct --remove-rule ipv4 nat POSTROUTING 0 -s <IP_ADDRESS>/24 ! -d <IP_ADDRESS>/24 -j SNAT --to $IP
firewall-cmd --permanent --direct --remove-rule ipv4 nat POSTROUTING 0 -s <IP_ADDRESS>/24 ! -d <IP_ADDRESS>/24 -j SNAT --to $IP
Once that's done, you would need to add a MASQUERADE rule according to your needs, something like this:
firewall-cmd --direct --add-rule ipv4 nat POSTROUTING 0 -s <IP_ADDRESS>/24 ! -d <IP_ADDRESS>/24 -j MASQUERADE -o eth0
firewall-cmd --permanent --direct --add-rule ipv4 nat POSTROUTING 0 -s <IP_ADDRESS>/24 ! -d <IP_ADDRESS>/24 -j MASQUERADE -o eth0
And of course, edit the client configuration files specifying the new IP address.


Support latex equations with MathJax

It shouldn't be difficult to add latex support with MathJax. I think a good chunk of the users would be interested in something like this.

Well, I managed to make it work for me by just adding the following snippet to the file _includes/head/custom.html:
<script type="text/x-mathjax-config"> MathJax.Hub.Config({ TeX: { equationNumbers: { autoNumber: "all" } } }); </script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    tex2jax: {
      inlineMath: [ ['$','$'], ["\\(","\\)"] ],
      processEscapes: true
    }
  });
</script>
<script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script>

This snippet doesn't work for the display math which starts and ends with $$. Anyone can fix it ?

Hi @jasonyanglu, the snippet above should work for display math using $$math here$$. Can you please check if there are trailing spaces before or after your equation? Maybe this is the problem.

Ok, I just tested here and my setup works even with trailing spaces. It's probably another problem. Can you check if equations do get rendered if they're enclosed in $...$, \[...\] and \(...\)?

Hi @rcalsaverini, thanks for you quick response. I tried and found that it works only if the latex content is in the same line with $$ like:
$$z_{1-\alpha/2}\sigma\sqrt{2/n}$$
If it is writen as
$$
z_{1-\alpha/2}\sigma\sqrt{2/n}
$$
Then it does not work. However, there still a problem that the align environment does not work:
$$\begin{aligned}H_0:&\mu_0-\mu_1=0\H_1:&\mu_0-\mu_1=\delta\end{aligned}$$.
Can you help figure it out? Thanks a lot.

MathJax has been bumped to version 3.0 and I've added some notes to the template's guide page since markdown causes some minor issues with it.


Job configuration page is stuck at loading

I installed Credentials Plugin 2.0.5 and any job configuration page is stuck at loading.
I have JS error:
TypeError: menuButton.getMenu(...) is null
	<anonymous> select.js:188
	forEach() self-hosted:232
	Behaviour.applySubtree/</<() behavior.js:111
	forEach() self-hosted:232
	Behaviour.applySubtree/<() behavior.js:107
	forEach() self-hosted:232
	Behaviour.applySubtree() behavior.js:93
	Behaviour.apply() behavior.js:76
	Behaviour.start/<() behavior.js:71
	Behaviour.addLoadEvent/window.onload() behavior.js:125

Rollback to previous version 1.28 removed this problem.

I have the same problem with 2.0.5. Version 2.0 works for me.

STOP USING GITHUB ISSUES
The issue tracker for this project is Jenkins JIRA with the component credentials-plugin
FTR https://issues.jenkins-ci.org/browse/JENKINS-35120 and fixed in 2.0.6

Sorry for that, it's the first time I create an issue for a Jenkins plugin.
I tried to create one on the given link Credentials Plugin issues but I didn't find any New issue button like GitHub. Adding one somewhere in your bugtracker even if we're not sign in could help to create issue in the right place.
Also an issue template could redirect users to Jenkins bugtracker ;)

Again I do not have permissions in this repo to create an issue template.
I have updated the README.md file to have an image ;-)


Make RequireRustBuildTool Gradle task use --locked when cargo installing

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Sorry, I did not notice this PR was requiring my approval :(

@crisidev No worries, you were added as reviewer due to auto-assignment. One person reviewing this patch suffices.


Memento.update does not always work when an extension is starting up

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

Version: 1.75.0-insider (user setup)
OS: Windows_NT x64 10.0.22518
Steps to Reproduce:
See ExtensionContext.globalState: https://code.visualstudio.com/api/references/vscode-api#ExtensionContext:
await globalState.update(<key>, newValue);
const valueAfterUpdate = globalState.get(<key>, undefined);
if (JSON.stringify(valueAfterUpdate) != JSON.stringify(newValue)) {
    // Error: This condition should never be true, but it is being hit.
}

This has been failing for Python extension when type of newValue is string, and in some cases an array object.
Workaround: We've observed that if we reset the storage first, and then try updating it, it works in most cases: (implementation in Python extension)
await globalState.update(<key>, undefined);
await globalState.update(<key>, newValue);
const valueAfterUpdate = globalState.get(<key>, undefined);
if (JSON.stringify(valueAfterUpdate) != JSON.stringify(newValue)) {
    // This condition is not hit.
}

Once the extension completely finishes loading, we do not see this bug.

Does this reproduce in a minimal hello world extension?

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


GET fulfillment_orders/{fulfillment_order_id}/fulfillments Does Not Work

Issue summary
Attempting to use the API GET /admin/api/2021-01/fulfillment_orders/{fulfillment_order_id}/fulfillments.json does not work.
Expected behavior
It should return an array of Fulfillments
Actual behavior
API returns
{
    "errors": "Fulfillment order does not exist."
}

Steps to reproduce the problem

Get a fulfillment_order.id
Use it to try to fetch Fulfillments associated with it.
Get error

Using the API
> shop.with_shopify_session { fulfillment_order.fulfillments }

ActiveResource::ResourceNotFound: Failed.  Response code = 404.  Response message = Not Found (Fulfillment order does not exist.).
from /Users/marcbeaupre/.rvm/gems/ruby-2.7.2/gems/activeresource-5.1.1/lib/active_resource/connection.rb:147:in `handle_response'

Using Postman
https://user-images.githubusercontent.com/554881/114761361-5bd9f800-9d2e-11eb-86b3-eddefc3f434c.mp4
Logs
Specifications

shopify_api version: 9.4.1
activeresource version: 5.1.1
Shopify API version used (example: 2020-07): 2021-01

Associated Question
If a FulfillmentOrder has_many Fulfillments, then why does Fulfillment not have a fulfillment_order_id attribute?

@hrdwdmrbl please allow an hour for this to fully deploy and confirm the fix is working for you, thanks.

@andyw8 There is life behind the iron curtain of Shopify! It's great to see it! Can you grant 3 wishes?

Can I request an API to fetch FulfillmentOrders for multiple Order IDs? /fulfillment_orders.json?order_ids=111,222
Why don't you expose the fulfillment_order_id property of FulfillmentOrders?
Have a nice day!


[SPARK-25205][CORE] Fix typo in spark.network.crypto.keyFactoryIterations

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/2471/
Test PASSed.

Test build #95135 has started for PR 22195 at commit b927b94.

Test build #95135 has finished for PR 22195 at commit b927b94.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/95135/
Test FAILed.

Merged build finished. Test FAILed.

retest this please

Test build #95143 has started for PR 22195 at commit b927b94.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/2478/
Test PASSed.

Test build #95143 has finished for PR 22195 at commit b927b94.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/95143/
Test PASSed.

Merged to master and branch-2.3.

cc @jerryshao


Unable to set the path for the sync_metadata realm

We should be able to specify where the sync_metadata realm is created.
We have and issue in the ROS that requires us to change the current working directory when the ROS is started as a service so that it would have write access to the working directory.
@bdash @mrackwitz

This is an object store issue @austinzheng

I guess we could support this in the JS binding though - we could add a static property
Realm.Sync.objectServerDirectory which would set the root dir used for the object server including the metadata dir. You would only be able to set this before making any other Realm api calls or things would get pretty messy.

The metadata Realm (and all helper directories) are created within whatever folder you specify when you call SyncManager::configure_file_system(). Do you want more fine-grained control?

Right now we don't expose that through the JS binding - Realm.Sync.objectServerDirectory would simply make that call. Right now that can only be called once though before any other methods are called. We could instead have a method Realm.Sync.init(options) which would allow you to pass a custom path - this would get called automatically with the default options when needed if not called explicitly to match the current behavior.

That seems like a decent solution to me, but I'm not well-versed in JS conventions. Is there an alternative that you'd prefer instead? I'm happy to build something out, I just need to understand the context.

If we don't need to be able to change the path after startup, and we are ok having the metadata path fixed relative to the root ros path which is configurable then the current os apis are probably sufficient to support this in JS. If we need anything beyond this we will probably need to add stuff to os.

Thanks, @alazier and @austinzheng . Setting the path at startup is good enough. I'll move the issue to realm-js.

@radu-tutueanu, does that mean there's nothing to do here?

That is right. https://github.com/realm/realm-js/issues/720


Add assertion to converting constructor

The converting basic_json constructor can inadvertently change the value type of its parameter. Assert that both basic_json values are of the same value type after conversion.
This does NOT fix #3425, but instead of surprising the user with strings converting to arrays, etc. will at least fail.

Coverage remained the same at 100.0% when pulling 4b75ae6828306b6abbfdc22ad0224de97894a722 on falbrechtskirchinger:assert-conv-value_t into 6058d9a8b37568a3e857966adcb970f905639a4d on nlohmann:develop.

Please change the wording about fixing: GitHub does not understand the NOT and would close #3425 when merging.

@nlohmann Done.


SentinelHealth Table Feedback

In reference to Sentinel - Data connector for S3 - It would be great if there was more detailed info logged into the SentinelHealth table - i.e. a specific error saying why the format is incorrect
Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: f0b4c6f7-c12a-f09b-c3eb-98b7871b772d
Version Independent ID: 224040aa-c3b9-d4db-8244-84fff02e987f
Content: Microsoft Sentinel health tables reference
Content Source: articles/sentinel/health-table-reference.md
Service: microsoft-sentinel
GitHub Login: @limwainstein
Microsoft Alias: lwainstein

@joydeepdutt
Thanks for your feedback!
We are going to close this thread as Duplicate of https://github.com/MicrosoftDocs/azure-docs/issues/113167


react-jobs/ssr loses HMR state

the following keeps state between HMR updates:
import {withJob} from 'react-jobs';

@withJob(() => Promise.resolve())
export default class Foo extends React.Component {
    state = {rand: Math.random() * 1000; }
    render () { return
seed: {this.state.rand}
; }
}

however, the following loses state:
import {withJob} from 'react-jobs/ssr';

@withJob(() => Promise.resolve())
export default class Foo extends React.Component {
    state = {rand: Math.random() * 1000; }
    render () { return
seed: {this.state.rand}
; }
}

I suspect it's due to this line: https://github.com/ctrlplusb/react-jobs/blob/master/src/ssr/withJob.js#L98
for the SSR version, you are creating 2 wrappers, but only exporting 1 of them.
HMR needs to bind to every wrapped component in order for state to be preserved

This seems to be working in the latest API release.
Example here: https://github.com/ctrlplusb/react-universally/tree/%40next/react-jobs
Edit the JobRenderer I created within the JobsRoute.js file.


deleting the last manager of a space results in space that cannot be managed

Describe the bug
When the last user is deleted who has the permission "can manage" of a space, the space cannot be managed by anyone and no new user can receive that permission
Steps to reproduce
Steps to reproduce the behavior:

as admin create two users "brian" & "carol"
make "brian" space-admin
as brian create a space called "finance" and one called "management"
as brian add carol to the space "finance" with the permissions "can view"
as brian add carol to the space "management" with the permissions "can manage"
as carol check that you have access to both spaces
as admin delete the user "brian"
as admin check the spaces in the "administration" settings

Expected behavior

the deleted user should not be included in the count of users in the space list
the deleted users should not be shown anymore in the space list
there should be some way to add a new space-admin to the space

Actual behavior

after deleting of "brian" both shares still are shown to have 2 users and show one ghost-user

there is no way to add a new manager of that space after the last one is deleted

{
	"value": [
		{
			"driveAlias": "project/finance",
			"driveType": "project",
			"id": "c58e0760-0fe2-4255-bfab-52799020c0cb$20d2e739-1ad4-4785-9e72-9891f9cec499",
			"lastModifiedDateTime": "2023-06-02T11:46:55.932096014+05:45",
			"name": "finance",
			"owner": {
				"user": {
					"displayName": "",
					"id": "20d2e739-1ad4-4785-9e72-9891f9cec499"
				}
			},
			"quota": {
				"remaining": 999999954,
				"state": "normal",
				"total":<PHONE_NUMBER>,
				"used": 46
			},
			"root": {
				"eTag": "\"102944b089b54328bbf37d7dc472ffdf\"",
				"id": "c58e0760-0fe2-4255-bfab-52799020c0cb$20d2e739-1ad4-4785-9e72-9891f9cec499",
				"permissions": [
					{
						"grantedToIdentities": [
							{
								"user": {
									"displayName": "",
									"id": "7ec9a663-d5f1-4a03-83a5-5166e71dd7d3"
								}
							}
						],
						"roles": [
							"manager"
						]
					},
					{
						"grantedToIdentities": [
							{
								"user": {
									"displayName": "",
									"id": "c969056d-a4f2-4343-b13d-ad4e87e643ef"
								}
							}
						],
						"roles": [
							"viewer"
						]
					}
				],
				"webDavUrl": "https://<IP_ADDRESS>:9200/dav/spaces/c58e0760-0fe2-4255-bfab-52799020c0cb$20d2e739-1ad4-4785-9e72-9891f9cec499"
			},
			"webUrl": "https://<IP_ADDRESS>:9200/f/c58e0760-0fe2-4255-bfab-52799020c0cb$20d2e739-1ad4-4785-9e72-9891f9cec499"
		},
		{
			"driveAlias": "project/management",
			"driveType": "project",
			"id": "c58e0760-0fe2-4255-bfab-52799020c0cb$2320ec0b-4da9-4fe6-810f-88c97a13b0aa",
			"lastModifiedDateTime": "2023-06-02T11:47:36.561399967+05:45",
			"name": "management",
			"owner": {
				"user": {
					"displayName": "",
					"id": "2320ec0b-4da9-4fe6-810f-88c97a13b0aa"
				}
			},
			"quota": {
				"remaining": 999999954,
				"state": "normal",
				"total":<PHONE_NUMBER>,
				"used": 46
			},
			"root": {
				"eTag": "\"f7518e5aa5d25a681d53e06a200fed9d\"",
				"id": "c58e0760-0fe2-4255-bfab-52799020c0cb$2320ec0b-4da9-4fe6-810f-88c97a13b0aa",
				"permissions": [
					{
						"grantedToIdentities": [
							{
								"user": {
									"displayName": "",
									"id": "7ec9a663-d5f1-4a03-83a5-5166e71dd7d3"
								}
							}
						],
						"roles": [
							"manager"
						]
					},
					{
						"grantedToIdentities": [
							{
								"user": {
									"displayName": "",
									"id": "c969056d-a4f2-4343-b13d-ad4e87e643ef"
								}
							}
						],
						"roles": [
							"manager"
						]
					}
				],
				"webDavUrl": "https://<IP_ADDRESS>:9200/dav/spaces/c58e0760-0fe2-4255-bfab-52799020c0cb$2320ec0b-4da9-4fe6-810f-88c97a13b0aa"
			},
			"webUrl": "https://<IP_ADDRESS>:9200/f/c58e0760-0fe2-4255-bfab-52799020c0cb$2320ec0b-4da9-4fe6-810f-88c97a13b0aa"
		}
	]
}

Setup
Please describe how you started the server and provide a list of relevant environment variables or configuration files.

OCIS_URL=https://<IP_ADDRESS>:9200 ~/Downloads/ocis-3.0.0-rc.4-linux-amd64 server

known issue, see https://github.com/owncloud/ocis/issues/5967

@micbar what about the fact that the deleted user is still shown in the permissions and also "shown" in the UI as an empty avatar or empty string?

also known and accepted :-)


Seeking Assistance with Customizing PreFXPipeline in Phaser3 Game Development

Hello Community,
I am currently working on a game using Phaser3, and I’ve encountered a challenge that I could use some help with. I’m trying to customize the PreFXPipeline to achieve specific visual effects in my game, but I’m struggling to understand the process and implementation details.
Here’s what I’ve tried so far:

I’ve read through the Phaser3 documentation on the PreFXPipeline, but it’s not as detailed as I had hoped.
I’ve searched for tutorials and examples online, but I haven’t found a comprehensive guide on how to customize the PreFXPipeline.

I’m looking for guidance on the following:

How to create a custom PreFXPipeline in Phaser3.
The best practices for implementing custom effects within the pipeline.

If anyone has experience with customizing the PreFXPipeline in Phaser3, your advice would be greatly appreciated. I’m eager to learn and overcome this hurdle in my game development journey.
Thank you in advance for your time and assistance!

Phaser3 can add custom PostFXPipeline, but it can't add custom PreFXPipeline, imo.
Phaser4 can add PreFXPipeline (internal filter) and PostFXPipeline (external filter) both.


Any chance to tag a new version?

There have been a few commits since last version update. A new version tag would help me update my distribution.

Done and have released v1.6.0.

Something is wrong. If I click on commit for v1.6.0 on github.com, it says it's not in any branch in the repository. Are you sure you merged this?
Also, when in my cloned repository, I have the same problem:
# git branch --all --contains v1.6.0
#


Admob and funding choices

Hi thanks for making this plugin :)
I am kinda confused about how firebase_admob and admob_consent work together.
As I understood the consent data is stored at googles server etc. But are these infos used automatically by google even I would "overwrite" them in the MobileAdTargetingInfo for e.g. InterstitialAds.
MobileAdTargetingInfo(       {this.keywords,       this.childDirected,       this.nonPersonalizedAds});
Or am I able to receive this info myself in advance so I can set this info correctly?
Of topic question:
How do we know which vendors we need to choose for our app in the funding choices message center, as admob delivers the ads...?

I'd assume that Google prioritizes the data given from the UMP SDK over the targeting info that you set directly when initializing the ads. I've tested it not too long ago and it seems to be the expected behaviour.
To your vendor question: I think if you haven't limited your Admob settings to not serve certain vendors, selecting all vendors on funding choices would make sense.

I'd assume that Google prioritizes the data given from the UMP SDK over the targeting info that you set directly when initializing the ads. I've tested it not too long ago and it seems to be the expected behaviour.
To your vendor question: I think if you haven't limited your Admob settings to not serve certain vendors, selecting all vendors on funding choices would make sense.


Open API Documentation #1

Description
This PR is related to #2902
Steps to run documentation:-

install swagger
https://goswagger.io/install.html
run make swagger-run to run with swagger-ui
run make swagger-serve to run with redoc

Note
I implemented a separate swagger router that can be merged with the meshery backend too.

Most encouraging to see this, @piyushsingariya 💪

@piyushsingariya We should have the swagger specs generated automatically right?

@piyushsingariya We should have the swagger specs generated automatically right?

Can you explain a bit more?

@piyushsingariya I mean do we automatically deploy the docs to an api/docs endpoint as we start Meshery?

I have added the route to serve the docs but one needs to generate a spec in local to actually access docs else the user'll face a 404 Error.

Yes, that is what I meant. We can generate the spec as we build Meshery

Check out this page:- https://deploy-preview-3012--meshery-docs.netlify.app/extensibility/restapi-reference

@piyushsingariya, let's formulate a plan for this API docs generation to be incorporated into GH workflow. // @ramrodo

Do have initial data here?

@piyushsingariya, let's formulate a plan for this API docs generation to be incorporated into GH workflow. // @ramrodo

@piyushsingariya will you kindly open a CI issue to track this?

@utkarsh-pro thoughts?

@piyushsingariya Will you be adding the docs for the other commands as well?

@piyushsingariya Will you be adding the docs for the other endpoints as well?

@navendu-pottekkat Let's merge this first so that CI workflow and the CSS issues can be worked upon simultaneously.

@piyushsingariya Sounds good. I have mentioned another concern in the comment below. Please check that and also fix the lint error.

@piyushsingariya Sounds good. I have mentioned another concern in the comment below. Please check that and also fix the lint error.

Lint error is covered in perf list PR, should I replicate that here. It's in the file outside the ones I edited.

@piyushsingariya Cool. Then I think we can proceed.

@navendu-pottekkat Issue has been updated #3033 and YAML file has been added as a permanent one.

The lint error is being fixed here- https://github.com/layer5io/meshery/pull/2928


ubuntu_setup.sh is never actually used in docker container setup, but claims to be used for docker container setup

Describe the bug
See: https://github.com/commaai/openpilot/blob/master/tools/ubuntu_setup.sh
Provide a route where the issue occurs
https://github.com/commaai/openpilot/blob/master/tools/ubuntu_setup.sh
openpilot version
HEAD
Additional info
No response

Not an issue


MM-14868 Team Admin can use Next button to page through list in Manage Members

Summary
E2E Cypress test to page through the team members list. Besides the test, new IDs are added to the Searchable_User_List (Prev/Next buttons and total member count label) component. A batch-join helper function is also added to the API commands support file.
The test has some steps that may need some explanation: a) The MaxUsersPerTeam setting must be greater than 60; b) The available test users must be greater than 60; c) The /teams/_id/members/batch API allows 20 in one request, so we break the whole team into chunks of 20.
Ticket Link
Fixes https://github.com/mattermost/mattermost-server/issues/10544
Related Pull Requests
N/A

I submitted todays PR on the branch MM-14868-try2

@patterns Thank you for the update.  Instead of new PR, you should just push the new commit into this PR.

ok learning more and more from the recommendations! Brought in the changes to the original PR here.

@patterns Does this pass for you locally? As it's currently written, it fails for me.

oops, had to do another commit to fix the lint warnings

@thekiiingbob For me, yes it passes. After the 60+1 feedback, I even added the "make nuke" to my steps before doing commits. Maybe my steps are still missing something. Right now I do: a) dev; b) cypress; c) repeat; d) make stop; e) make nuke; f) make run-server; g) make stop-server; h) make test-data; i) make run; j) cypress; k) git commit. When I run cypress, I'm doing it in isolation with: npm run cypress:run -- --spec=cypress/integration/team/teammates_pagination_spec.js --headed --no-exit

@patterns Great work with the clean up, just have a few other suggestions. Thanks!


Update setup-python action from v2 to v4

Close: #35

Codecov Report
Base: 100.00% // Head: 100.00% // No change to project coverage :thumbsup:

Coverage data is based on head (a9fb986) compared to base (d353d04).
Patch has no changes to coverable lines.

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #36   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            2         2
  Lines           23        23
=========================================
  Hits            23        23

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Runtime error in latest python 3.10.10, pytorch version 2.0.0

Hi,
I am attempting to run your ipynb on a fresh install of python and pytorch,  and am getting the below runtime error during the gradient and the optimization calculations.

RuntimeError                              Traceback (most recent call last)
Cell In[44], line 10
8 y_coeffs_chunk, indices = wph_op(y_torch, i, ret_indices=True)
9 loss_chunk = (torch.absolute(y_coeffs_chunk - x_coeffs[indices]) ** 2).sum()
---> 10 loss_chunk.backward(retain_graph=True)
11 coeffs.append(y_coeffs_chunk.detach().cpu())
12 del y_coeffs_chunk, loss_chunk # To free GPU memory
File ~/anaconda3/lib/python3.10/site-packages/torch/_tensor.py:487, in Tensor.backward(self, gradient, retain_graph, create_graph, inputs)
477 if has_torch_function_unary(self):
478     return handle_torch_function(
479         Tensor.backward,
480         (self,),
(...)
485         inputs=inputs,
486     )
--> 487 torch.autograd.backward(
488     self, gradient, retain_graph, create_graph, inputs=inputs
489 )
File ~/anaconda3/lib/python3.10/site-packages/torch/autograd/init.py:200, in backward(tensors, grad_tensors, retain_graph, create_graph, grad_variables, inputs)
195     retain_graph = create_graph
197 # The reason we repeat same the comment below is that
198 # some Python versions print out the first line of a multi-line function
...
--> 200 Variable.execution_engine.run_backward(  # Calls into the C++ engine to run the backward pass
201     tensors, grad_tensors, retain_graph, create_graph, inputs,
202     allow_unreachable=True, accumulate_grad=True)
RuntimeError: one of the variables needed for gradient computation has been modified by an inplace operation: [CPUComplexFloatType [28, 256, 256]], which is output 0 of SubBackward0, is at version 2; expected version 1 instead. Hint: enable anomaly detection to find the operation that failed to compute its gradient, with torch.autograd.set_detect_anomaly(True).

Hi, thanks for raising this issue!
We are currently working on this, and should solve this in the following days.
In the meantime, I would advise to get back to PyTorch v1.x (typically v1.13) if you want to use this package.

Hi again,
I am now attempting the run with PyTorch v1.13.0 with python 3.10.10 and still receiving the same error. Maybe a lower version of pytorch is required still? Or I am doing something wrong.

OK, thanks for the update. Actually this code was tested and functional for PyTorch v1.10, but didn't know it would fail for v1.13.
We should fix this very soon..

OK we just fixed that. PyWPH is now compatible with PyTorch 1.13 & PyTorch 2.0. We also released v1.1.1 on pip, you will just have to run 'pip install pywph', and download the last version of the repo if you want to use the tutorial.
Let us know if everything works for you. Thanks!

Works great! Thank you!


do not merge - this is a concept - feat: acquisition checkpoint take 2

This approach combines utm , paid, and email into one checkpoint = acquisition. Uses document.referrer as source, and the combined value as target:
example from real use-case
checkpoint=acquisition
source=https://www.youtube.com
target=paid=google&utm_campaign=W.EU-Google-Search-Generic-OtherServices-Desktop-Jan24&utm_source=adwords&utm_medium=ppc

Please ensure your pull request adheres to the following guidelines:

[ ] make sure to link the related issues in this description
[ ] when merging / squashing, make sure the fixed issue references are visible in the commits, for easy compilation of release notes

Related Issues
Thanks for contributing!

#226 will be helpful once you need to test this.