Add hints to existing rebuses

As of #168 we can now display hints when a user has entered an incorrect answer several times. This is awesome, but almost every rebus is currently lacking the hint property so lets go ahead and add some hints 🙂
This issue is very beginner friendly, just follow these steps:

Open the file src/js/rebuses.js
Have a look at the rebuses and see if you can think of any good hints
Add your hint to the rebus object: hint: 'Your hint text'

Not sure this is the appropriate channel (your twitter DMs are not open 😞) but I just want to say thank you 🎉 for this repo. Getting into open source can be so intimidating but this repo really lowers the bar. I am now adding my own Rebus and will try to work on this particular issue. 🤓 👨💻

Thanks! I have submitted the PR. 🎉 🙌
I'm working on the hints and I'm just wondering where I should add my commits. Currently, I have the changes in a branch that was created from my uche-new-rebus branch used in the PR. Is that okay? Or would you prefer if I create a new branch from master and add them there?

Also, I have hints for some but not others. Do you want hints for all of them or just for as many as possible?

@CodeWithOz I would prefer it if you created a new branch from master with your new hints. You can just add as many hints as you can think of 🙂

Hi! Can i be assigned this issue?

Does this issue still open to work on ?

@Pihu1998 @Nilkamal Most rebuses now have hints, but feel free to add any missing ones/make them better 🙂

This issue seems entirely resolved from what I can tell

Can i apply changes?

hi i would like to contribute on this issue. i am a first timer.

Hi, i would like to contribute to this issue

Would love to contribute to this project but there are 259 PRs pending. @ollelauribostrom Do you need help going through these?

I would like to contribute to this project. I am starting to contribute to open-source projects.  @ollelauribostrom  Can I add a hint in this game?

All rebuses have hints.

I would like to contribute to this. I'm new to open source.

Can you give me something to contribute too?

@ollelauribostrom Hey I want to contribute to this issue. Assign me to this and share preferable resources.

If this is still relevant, I could give this a try as well :)

I would also love to contribute if it's still relevant!

Sir, I am really excited to do my contribution as I am FirstTimer so Please assign me some task to do , I will be so happy to do that task. I will deliver to you asap.

#916  added a hint for the rebus 'beer'

As of #168 we can now display hints when a user has entered an incorrect answer several times. This is awesome, but almost every rebus is currently lacking the hint property so lets go ahead and add some hints 🙂
This issue is very beginner friendly, just follow these steps:

Open the file src/js/rebuses.js
Have a look at the rebuses and see if you can think of any good hints
Add your hint to the rebus object: hint: 'Your hint text'

#916 added a new hint for the rebus 'beer'

Hello! First-timer here. is this still open for contributions?

Hello! First-timer here. is this still open for contributions?

This repo kind of inactive already. Do you want to contribute to my project? It is beginner friendly.
Just in case you're interested, heres the link: https://github.com/jfmartinz/ResourceHub

Thanks for Sharing with me. I would like to contribute, Would you please
assign me some tasks so that I can work on it.
On Sat, Sep 30, 2023, 04:39 Joseph Martin @.***> wrote:

Hello! First-timer here. is this still open for contributions?
This repo kind of inactive already. Do you want to contribute to my
project? It is beginner friendly.
Just in case you're interested, heres the link:
https://github.com/jfmartinz/ResourceHub
—
Reply to this email directly, view it on GitHub
https://github.com/ollelauribostrom/rebus/issues/180#issuecomment-1741570525,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A6MHQM7FDZ4OSRJ4EVABUADX45IJFANCNFSM4GE722FA
.
You are receiving this because you commented.Message ID:
@.***>

Okay you can pick on the current open issues and I will assign it to you

Ok sure , I will pick then Please assign me!!
On Sat, Sep 30, 2023, 17:27 Joseph Martin @.***> wrote:

Okay you can pick on the current open issues and I will assign it to you
—
Reply to this email directly, view it on GitHub
https://github.com/ollelauribostrom/rebus/issues/180#issuecomment-1741749717,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A6MHQM2AXGQGK4LYYVCE3KTX5ACI7ANCNFSM4GE722FA
.
You are receiving this because you commented.Message ID:
@.***>

Hello, Is this issue still open to be resolved or can it be assigned to me?

Hello, can i also help in this project, I'd really like to contribute somehow!


isPortTaken tests don't work

I put garbage instead of port numbers in the tests that call isPortTaken and they still pass. Something looks not right, this should return a promise and reject it?

@dblock Could you elaborate on the "garbage" that you put for isPortTaken?

Change the port anywhere in tests where you call isPortTaken from 3000 to 1234 and all tests still pass.

Closing this since https://github.com/alexa-js/alexa-app-server/pull/60 doesn't reintroduce this bug.


[WIP] custom fields: Add new custom field

custom fields: Add support for custom date field type.
custom fields: Add frontend validations in textual custom fields.

Add validations for short and long textual custom fields in
frontend.

custom fields: Fix error in rendering long textual custom fields.
Currently, long textual fields are rendered as short textual fields
in UI, this bug was introduced because of our recent changes in
custom fields type.

custom fields: Remove unused code for custom fields.
It removes code related to custom profile field's placeholder styling
and related to numeric custom fields, as recently we removed support
for numeric custom fields.

Testing Plan:
Manual testing
GIFs or Screenshots:

@YJDave let me know when you have a new version of this ready :)

(I think we're pretty close to merging the choice field type's backend; I guess make sure you coordinate with @umairwaheed who gets ID 3 vs. 4 here...)

@YJDave the choice field type is now merged, so you can work on this now :)

@timabbott This PR is ready for review. Though it doesn't cover better UI for both date and url fields, which I will be working on next and User field.
About the User type of custom field, do we want to restrict to one user in field or there can be list of users? ie Iago, Cordelia

@YJDave can you give this a quick rebase?

@timabbott Updated.

Merged, with de30474dddf32c00470b5b8753decb727d211083 added on top (and the URL one on populate_db changed to "Favorite website", since I think we'll want to before too long add a field type for GitHub username).  Thanks @YJDave!

For the User field type, I think what users generally use this for is someone's manager which is usually one person.  Might make sense to have a User field type, and we can think about a UserList field type later; I think there will be contexts where the flexibility of supporting a list is actually kinda a pain.


easyloggingpp: 9.96.0 -> 9.96.1

Semi-automatic update. These checks were done:

built on NixOS
Warning: no binary found that responded to help or version flags. (This warning appears even if the package isn't expected to have binaries.)
found 9.96.1 with grep in /nix/store/ha2fl2l2j3p9lcn6scxn1n50f1vsb5k6-easyloggingpp-9.96.1
found 9.96.1 in filename of file in /nix/store/ha2fl2l2j3p9lcn6scxn1n50f1vsb5k6-easyloggingpp-9.96.1

cc @acowley

@GrahamcOfBorg eval

Success on x86_64-linux (full log)
Partial log (click to expand)
-- Install configuration: "Release"
-- Installing: /nix/store/ha2fl2l2j3p9lcn6scxn1n50f1vsb5k6-easyloggingpp-9.96.1/include/easylogging++.h
-- Installing: /nix/store/ha2fl2l2j3p9lcn6scxn1n50f1vsb5k6-easyloggingpp-9.96.1/include/easylogging++.cc
-- Installing: /nix/store/ha2fl2l2j3p9lcn6scxn1n50f1vsb5k6-easyloggingpp-9.96.1/share/pkgconfig/easyloggingpp.pc
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/ha2fl2l2j3p9lcn6scxn1n50f1vsb5k6-easyloggingpp-9.96.1
strip is /nix/store/b0zlxla7dmy1iwc3g459rjznx59797xy-binutils-2.28.1/bin/strip
patching script interpreter paths in /nix/store/ha2fl2l2j3p9lcn6scxn1n50f1vsb5k6-easyloggingpp-9.96.1
checking for references to /tmp/nix-build-easyloggingpp-9.96.1.drv-0 in /nix/store/ha2fl2l2j3p9lcn6scxn1n50f1vsb5k6-easyloggingpp-9.96.1...
/nix/store/ha2fl2l2j3p9lcn6scxn1n50f1vsb5k6-easyloggingpp-9.96.1

Success on x86_64-darwin (full log)
Partial log (click to expand)
[100%] Built target easyloggingpp-unit-tests
Install the project...
-- Install configuration: "Release"
-- Installing: /nix/store/pqlsiyjkvbkyb3j75gi1mjz53k370a1f-easyloggingpp-9.96.1/include/easylogging++.h
-- Installing: /nix/store/pqlsiyjkvbkyb3j75gi1mjz53k370a1f-easyloggingpp-9.96.1/include/easylogging++.cc
-- Installing: /nix/store/pqlsiyjkvbkyb3j75gi1mjz53k370a1f-easyloggingpp-9.96.1/share/pkgconfig/easyloggingpp.pc
post-installation fixup
strip is /nix/store/4sdh09gmvl15cy0zb6i7mbvxh5syz206-cctools-binutils-darwin/bin/strip
patching script interpreter paths in /nix/store/pqlsiyjkvbkyb3j75gi1mjz53k370a1f-easyloggingpp-9.96.1
/nix/store/pqlsiyjkvbkyb3j75gi1mjz53k370a1f-easyloggingpp-9.96.1

Success on aarch64-linux (full log)
Partial log (click to expand)
-- Install configuration: "Release"
-- Installing: /nix/store/ld3d8dmip2h3acl33i0mqijm6clp6818-easyloggingpp-9.96.1/include/easylogging++.h
-- Installing: /nix/store/ld3d8dmip2h3acl33i0mqijm6clp6818-easyloggingpp-9.96.1/include/easylogging++.cc
-- Installing: /nix/store/ld3d8dmip2h3acl33i0mqijm6clp6818-easyloggingpp-9.96.1/share/pkgconfig/easyloggingpp.pc
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/ld3d8dmip2h3acl33i0mqijm6clp6818-easyloggingpp-9.96.1
strip is /nix/store/lvx1acn1ig1j2km8jds5x3ggh3f2wa8v-binutils-2.28.1/bin/strip
patching script interpreter paths in /nix/store/ld3d8dmip2h3acl33i0mqijm6clp6818-easyloggingpp-9.96.1
checking for references to /build in /nix/store/ld3d8dmip2h3acl33i0mqijm6clp6818-easyloggingpp-9.96.1...
/nix/store/ld3d8dmip2h3acl33i0mqijm6clp6818-easyloggingpp-9.96.1


fix(mjs): remove harmony unused build errors

What kind of change does this PR introduce?

a bugfix #9044
Did you add tests for your changes?

No
Does this PR introduce a breaking change?

No
What needs to be documented once your changes are merged?

nothing

I hope I did not delete too much

Thanks, sorry, hurried

For some weird reason this PR seem to be broken somehow...
created new PR: #9260


test(e2e): add examples folder containing example apps

Test plan

Green CI
Does this PR introduce a breaking change?

[ ] Yes
[x] No

Other information
N.A.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0%

Covered Lines:
1125

Relevant Lines:
1151

💛  - Coveralls


Ripping liked Tweets

Hello. Perhaps I'm missing something, but is there a way to rip the Liked page of a Twitter account? Entering in the url for example "https://twitter.com/Hushabye_Valley/likes" rips just the normal Tweets/Retweets instead. Is that the intended behavior, or is there another step I need to take to download liked tweets only?

Ripping likes is currently not supported. I'll look into the likes api.

I would also appreciate this feature

Second this. Would love to have something like this!


Creating a Web3 website of our own

We can create website of our own where we can provide  all the content related to Web 3 so that people don't have to waste their time clicking different links going to different websites again and again for different web3 technologies, instead we can make our own website where we will put all the resources available and present on google.
This will make people more comfortable and now instead of searching every time, visiting different web pages , wasting their time - now they will just have to go on one website and with just one click there they can find anything related to technology of their interest.

this is a great idea for the future! let's work on this!

@FrancescoXX indeed !

I've some frontend designs for the website i am working on, will show you when completed.
Also you can assign me a role if you wish :)

dependant on #202 first

I assigned you this one @money8203 , the website should be done using Next.js

Sure !

@money8203 , we changed idea and we want this with docusaurus, so closing this issue, you can check the other issue


requestNotificationPermissions() doesnt open settings in on iOS simulator

requestNotificationPermissions() doesnt open app settings in simulator on mac, is this expected?
My code:
Container(
                                          child: Transform.scale(
                                            scale: ScreenUtil().setWidth(2.5),
                                            child: CupertinoSwitch(
                                              activeColor: store
                                                  .theme.cupertinoSwitchColor,
                                              value: store.notificationsStore
                                                  .notificationPermissionGranted,
                                              onChanged: (_) async {
                                                NotificationPermissions
                                                    .requestNotificationPermissions(
                                                  openSettings: true,
                                                );
                                              },
                                            ),
                                          ),
                                        )

Ok, it didnt open app settings because permission was granted.
Can NotificationPermissions.requestNotificationPermissions method open app notifications settings no matter if permission is granted, unknown or denied?

Why do you need to open the app if the permission was granted?


Cassandra 19480 Additional task execution specific instrumentation of job stats

… job stats
Changes

Utilized spark listeners to publish job/task stats on job completion for reader and writer.
Unified implementation of job end stats published for reader and writer
Publishes task runtime stats
Adds spark jobGroup based UUID to reader, similar to existing implementation in writer.  This is used as the jobId to uniquely identify and potentially merge multiple stats published from the same job.

Testing

Validated stats logged from unit tests and in-jvm-dtest integration tests for reader/writer

Closing PR in favor of https://github.com/apache/cassandra-analytics/pull/55


lockToX not works on iOS.

Problem
My app has a video player page, and I want to only enable orientation in this page. I tried many ways, but still can not achieve the goal. Here is my way.

Turn off Landscape orientation in Xcode. If not, all pages of app can be rotated.

In the video player page, set orientation listener and lock to the orientation according to the received event. When rotate the screen, the app do received the correct event, but call lockToX has no effect.

  componentDidMount() {
    ...
    this.orientationListener = orientation => {
      let {setPlayerState} = this.props;
      if (orientation == 'LANDSCAPE-LEFT') {
        Orientation.lockToLandscapeLeft();
        setPlayerState({orientation: 'LANDSCAPE-LEFT'});
      } else if (orientation == 'LANDSCAPE-RIGHT') {
        Orientation.lockToLandscapeRight();
        setPlayerState({orientation: 'LANDSCAPE-RIGHT'});
      } else {
        Orientation.lockToPortrait();
        setPlayerState({orientation: 'PORTRAIT'});
      }
    };
    Orientation.addSpecificOrientationListener(this.orientationListener);
    Orientation.unlockAllOrientations();
  }

  componentWillUnmount() {
    Orientation.removeOrientationListener(this.orientationListener);
    Orientation.lockToPortrait();
  }

Am I doing the right way?
Env
react-native: 0.40.0
react-native-orientation: newest from GitHub
platform: iOS simulator, Xcode 8.2.1

@jaggerwang were you be able to solve it?

@soutot sorry, I'm not familiar with native iOS developing.

@jaggerwang please refer to the update Demo folder which shows how to deal with the OrientationListener.

@jaggerwang Have you able to solve this issue? I have too a specific page only to landscaped.

@gitlovenotwar I posted a solution in this issue https://github.com/yamill/react-native-orientation/issues/136#event-1153358922
Check if it works for you. My working demo repository is still in github: https://github.com/soutot/react-native-orientation-test


default extension not present in vscode severs

Polyglot Notebook extension uses the grammar file of extensions like vscode.csharp, vscode.powershell to assemble polyglot grammar and also load dynamically new ones if new kernel languages are added.
This all works well but when connected to vs code server those extensions are not present. This breaks the semantic colouring for users using Polyglot Notebooks in code spaces and dev containers.
Is it possible to access those grammars in other ways?
This is the code used to load additional grammars in the polyglot Notebook extension
https://github.com/dotnet/interactive/blob/9c6d0f5a8815d9bcb6f0f3bb60f602b5903e2483/src/polyglot-notebooks-vscode-common/src/dynamicGrammarSemanticTokenProvider.ts#L74

@brettfo , @jonsequitur @rebornix

@alexdima do you have suggestions?

When VS Code is executed in a remote setup (like Remote SSH, WSL, DevContainers, Remote Tunnels or Codespaces), VS Code will spawn two extension hosts, one running on the UI machine and one running on the remote machine. Please see more in our documentation -- https://code.visualstudio.com/api/advanced-topics/remote-extensions#architecture-and-extension-kinds. Each extension gets to decide if it will execute on the UI extension host or on the workspace extension host.
The extensions.all API will only list extensions that are running on the same extension host. There is an API proposal which goes towards allowing reading extensions across all extension hosts. See https://github.com/microsoft/vscode/issues/145307


[CLOSED] Refactor the factories

 Issue by izaera
Sunday Nov 03, 2013 at 09:08 GMT
Originally opened as https://github.com/izaera/cipher/issues/24

Create an ext.dart library with the API for extending cipher (so that it does not appear in api.dart).
Refactor factories as a class instead of many hashmaps and functions.
This will make, IMO, things clearer and easier to use and maintain.

 Comment by izaera
Sunday Nov 03, 2013 at 19:45 GMT

Finally, no ext.dart library was created, but now each interface has an static registry object where the factories are registered.


Regex fixed to match the first letter

Closes: #1
Fixes #<issue_number_goes_here>

It's a good idea to open an issue first for discussion.

[ ] Tests pass
[ ] Appropriate changes to README are included in PR

CLA signed

CLA done


Content Share capture quality

Hi, Team.
It's great to see this project and the new capture capability launched. It is way more professional and relyable than the previously published recording demo in https://github.com/aws-samples/amazon-chime-sdk-recording-demo.
When I start a capture the final files aways have 1280x720, even when the content share have greather resolutions such as 1920x1080 or 2560x1440.
Looking into the SDK and the options provided, I wasn't able to find some way to define the video quality.
Is it possible to achieve a better quality by increasing the bitrate and  have less compression?

Since this issue was created, we have changed the content share output to 1080p and increased the bitrate for both camera and content streams.  I'm closing this ticket since there hasn't been any activity in some time, but feel free to reach out if you need further help.


The number of netty IO threads is set according to the number of available cores

What changes were proposed in this pull request?
The number of netty IO threads is set according to the number of available cores.
For example in the case of executorCores=3:
before

after

Why are the changes needed?
Avoid wasting resources
What are the items that need reviewer attention?
Related issues.
Related pull requests.
How was this patch tested?
/cc @waitinfuture

please run ./dev/reformat to automatically reformat style

I think we can add a config to CelebornConf in the constructor of RssShuffleManager and use the conf in ShuffleClient.get(), so we can avoid adding the numCores through the call-chain. Like the following
  public RssShuffleManager(SparkConf conf) {
    this.conf = conf;
    this.celebornConf = SparkUtils.fromSparkConf(conf);
    this.cores = conf.getInt(SparkLauncher.EXECUTOR_CORES, 1);
    celebornConf.set("celeborn.dispatcher.threads", numCores);
    this.fallbackPolicyRunner = new RssShuffleFallbackPolicyRunner(celebornConf);
  }

cc @pan3793

We should first define a config in CelebornConf like the following before use the key
  val RPC_DISPATCHER_THREADS: ConfigEntry[Int] =
    buildConf("celeborn.client.rpc.dispatcher.threads")
      .categories("client")
      .version("0.2.0")
      .doc("xxxxx.")
      .intConf
      .createWithDefault(16)

It's unintuitive that the user-specific value has lower priority than configured one rss.rpc.io.threads
https://github.com/alibaba/celeborn/blob/399236c880a79d5e6dcf7d591fbc6653bcfe8150/common/src/main/scala/org/apache/celeborn/common/rpc/netty/NettyRpcEnv.scala#L53-L56

We should first define a config in CelebornConf like the following before use the key
  val CLIENT_RPC_DISPATCHER_THREADS: ConfigEntry[Int] =
    buildConf("celeborn.client.rpc.dispatcher.threads")
      .categories("client")
      .version("0.2.0")
      .doc("xxxxx.")
      .intConf
      .createWithDefault(16)

+1 to migrate conf to CelebornConf, for naming, I would suggest to respect Spark style, just simply change the rss. to celeborn..

In spark, dispatcher's thread number is different from transportConf.numUsableCores. The former is just numUsableCores, while the latter is rss.rpc.io.threads (and fallback to numUsableCores). So I suggest to use different configs for them. We should remain celeborn.rpc.io.threads for transportConf.numUsableCores, and use celeborn.rpc.dispatcher.threads for dispatcher threads.


Extract all GH issue for ingestion

closes: https://github.com/astronomer/ask-astro/issues/113

@vatsrahul1001 can you please test this once from your side?


Java 1.7 support?

Does the application work with .class files compiled with 1.7?
Whenever I try to examine a simple HelloWorld have file compiled in 1.7, I get a message
Exception in thread "main" java.lang.VerifyError: Expecting a stackmap frame at branch target 24
Exception Details:
Location:
HelloWorld.()V @18: invokespecial
Reason:
Expected stackmap frame at this location.
Bytecode:
0000000: 0304 03b8 0022 2a04 0412 2312 2412 25b8
0000010: 0029 b700 01a7 0007 b800 2cbf b800 2fb8
0000020: 0032 0504 b800 36b1
Exception Handler Table:
bci [18, 24] => handler: 24
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2570)
at java.lang.Class.getMethod0(Class.java:2813)
at java.lang.Class.getMethod(Class.java:1663)
at sun.launcher.LauncherHelper.getMainMethod(LauncherHelper.java:494)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:486)

However, when I test out the same HelloWorld code compiled in 1.6, everything seems to work fine.

You can try use the updated version which supports java-8. Let me know if you run into any problems.
https://github.com/zhihan/janala2-gradle

Java 8 and Java 7 are now supported.


fix: run linter correctly during schematics

Proposed change
Currently the linter is not running while using schematics
To be able to run correctly files need to be "printed" and not be only in tree memory, so it has to be a schematic run as a task to be done after the tree is printed

The problem that this PR try to solve is not clear :S.
The Schematics Task are actually run after the tree is printed to the file system. So the current exposition of ESLint (as Schematic task) as it is today should not be the original issue this PR wants to fix.
I am also not sure we want to expose a new schematic for eslint fixing instead of using the Angular's one :S.


remove hyphens from crate name

Would you consider renaming the crate to not use the hyphen to simplify and avoid the issues with the "-" being changed to an underscore?  I used this to simplify the name:
ibkrcp = { git = "https://github.com/numberjuani/ibkr-cp-api-client.git", version = "0.1.0", package = "ibkr-cp-api-client" }

Hi @rdavis120 what is the issue with the underscore and dash? Nearly all crates in rust work that way. Also , you only have to type the crate name in cargo.toml, after that you can Alias it to be whatever you like when you import it

Sorry, there is no issue - I did the alias in the example.


Fix Windows azcopy static download link for PS Core

The previous command to get the static download link for azcopy on Windows had two issues:

It used the curl alias for brevity, however that adds confusion if the user has curl on their path
PowerShell Core has a behavior change that turns 3xx HTTP responses into terminating errors (see https://github.com/PowerShell/PowerShell/issues/4534)

Unfortunately the workaround appears to require a try...catch in order to get access to the response headers.

@MattKotsenas : Thanks for your contribution! The author(s) have been notified to review your proposed change.


Jest framework configuration for unit test cases

Description
Jest is a JavaScript testing framework with a focus on simplicity. Jest is designed to make it easy to write and run tests, and it comes with a number of features that make it a powerful testing tool.

Will configure the jest framework in the project
will write test cases for one of the files (add-blog.tsx).

Use Case
Helps maintain the code quality
Proposed Solution
No response
Additional Information
No response
Attachments
No response

Hey @krishnaacharyaa please assign this issue to me

@yeshwanth235, can we get updates on this

https://github.com/krishnaacharyaa/wanderlust/pull/84 handles this


Doc - Data masking improvements

WIP and needs to be rebased

Moved to https://github.com/arangodb/docs/issues/13


Adding namespace commands to cli

What was changed
Adding operator namespace commands to cli. These are the commands that are added

operator namespace create
operator namespace delete
operator namespace describe
operator namespace list
operator nemspace update

Breaking changes

Removed --verbose option from namespace update command. This option is used to print update request payload.
Previous cli was printing historyArchivalUri and visibilityArchivalUri fields only if the option --fields is set to long when executing namespace describe command. Here we are always printing those fields since we dont have --fields option.

Why?
Checklist

How was this tested:
Unit tests.

Any docs updates needed?

This is looking great! Only reason I am not approving is because we are still discussing internally on the use of positionals vs --namespace/-n here. It's starting to lean towards the latter which would be a compat break, we'll see. Will get answer soon hopefully.
Also, we need to make sure we document all compat breaks (e.g. removing --verbose) in the PR description.

Thank you! I have updated the description with breaking changes. Let me know when the decision is made about namespace name.

@prathyushpv - after internal discussion, let's go with the way you have it now (which is the way the CLI works today. But if you don't mind, I would like this to way on #487 and put the StartList and EndList calls like you see in that PR on the operator namespace list command.

@prathyushpv - you can merge main and add the StartList/EndList stuff now. Can leave positional params as they are (we don't like it, but we don't have a better answer right now).

@prathyushpv - you can merge main and add the StartList/EndList stuff now. Can leave positional params as they are (we don't like it, but we don't have a better answer right now).

@cretz Thank you! I have added StartList andEndList to listNamespace command.

Looks great, thanks! May have to fix failing CI test.

Thank you!

:+1: Merge whenever you're ready


Feature/calendar edit

Description
Added the ability to change meeting days and created a framework for the edit form
Describe change or new feature here.
Checklist
Remove any items which are not applicable.

[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works AND the tests pass

Awesome stuff my man!


Assorted issues from Customer support

We received this via customer support. Please could you take a look, and split it up into issues if appropriate, and let me know if I need to get back to them. Thanks!

Hi, I noticed a few issues with the Android app version 1.0.3, I have a Pixel 2XL running Android 10. The first issue is with logging in using LastPass. Once I press "Sign In", I'm taken to the login form in a web view, I select the credentials I'd like to use in the LastPass prompt and I am immediately taken back to the initial screen with the "sign in" button. The second issue is with casting videos via chromecast. While casting, playback stops if I lock the phone, requiring me to keep the screen on. The video quality is also quite poor while casting. Please let me know if you have any questions. Thanks.

@filbabic Main item to look into for this issues is the second part, regarding chromecast.

Hey @orionthewake @sammyd !
I've done a bit of research, quick Google search, as I don't have a Chromecast device, and it was weird to me that our app would somehow have an impact on casting to CC.
From this answer/question: https://support.google.com/photos/thread/1417889?hl=en I confirmed my suspicions, that the app is not the fault when casting to a TV or something else.
What casting does with Phones and most applications is that it mirrors the phone, instead of streaming on a different device. Apps like YouTube work, because they essentially don't mirror anything, they stream to another device. So the quality lock on the Chromecast is basically to 1080p which we run on Phones as max quality.
It also depends on the resolution of the device, but basically you can imagine how mirroring a 6-10" device on a 100+" TV screen would look like.
The issue about the video playback stopping if the screen is locked is intended behavior. We pause the playback in onStop(), which is triggered by locking the screen.
If you think about it, we already handle Picture In Picture mode and background playback for audio if PiP isn't available, so in that case, the only config change/lifecycle state that's left is when the phone is seemingly off - i.e. locked. And if the phone is locked, screen mirroring won't work, as it doesn't have anything to mirror.
For quick fixes, I could see about tinkering around playing the audio even if the screen is locked, but this is a very edge case for us I think.
The reasoning behind this is: if you're Chromecast video courses to your TV, and want to have playback while the phone is locked, why not just play it on your PC, or tablet, and have it run in parallel. Or, if you're not going to use your phone anyway (because it's locked), there really isn't a lot of benefit of mirroring the phone screen or play the audio in the BG, as you won't see the code that's being worked on, you'll just listen to the words. And you can't learn that way.
--
So, in my opinion, the second part of the issue with casting is by design/won't fix as it's a very specific edge case, and something that just doesn't work on Android out of the box. We could see about possibly implementing a whole feature on casting the video stream to a different device, but I haven't done anything like that so far, and I am not sure if Vimeo supports this, or if there's an Android feature that does that out of the box. YouTube once again works, because it's in the Google ecosystem, and as such has the ability to directly communicate to Chromecast (also from Google)!
Let me know if any of this makes sense! :]

To follow up on this, as for the Login issues and LastPass, I am unsure what we can do here.
From what I understand, we launch an external WebView login screen/app in the Task Manager, and as soon as the task goes into some kind of Lifecycle (not sure if it's Pause or Stop), the screen dies (I guess due to security reasons), and the app is back in the LoginFragment state.
I don't know if LastPass starts a new activity to act as an overlay, or if it shows a Dialog or a Fragment, but it's probably triggering the lifecycle of Guardpost, and as such it closes and goes back to login.
I think this is also "by design", or we just can't fix this right now, as we'd have to change the way Guardpost works, or implement an in-app login feature (probably less secure).

@filbabic Going to close this issue and open two new ones, one for LastPass, the other for playback with screen locked. The latter is not a P1 bug, assuming users can still login. The latter is an enhancement.


[WFCORE-797] Add smoke test for cloning profiles in CLI

Provide profile cloning ability (runtime (CLI)) to create new profiles based on existing JBoss profiles.
https://issues.jboss.org/browse/WFCORE-797
This test is similar as CloneProfileTestCase from WildFly (https://issues.jboss.org/browse/WFLY-4838). WildFly has more complex default profile in domain part of TS than WildFly Core. But there should be a variant of this in WildFly Core too (https://github.com/wildfly/wildfly/pull/7699#issuecomment-118884646).

Linux Build 2125 is now running using a merge of f0c04959b9a121e4f4d9c54f326150c17edff758

Windows Build 1658 is now running using a merge of f0c04959b9a121e4f4d9c54f326150c17edff758

Core - Full Integration Build 1259 is now running using a merge of f0c04959b9a121e4f4d9c54f326150c17edff758

Windows Build 1658 outcome was SUCCESS using a merge of f0c04959b9a121e4f4d9c54f326150c17edff758
Summary: Tests passed: 3365, ignored: 62 Build time: 0:34:02

Linux Build 2125 outcome was SUCCESS using a merge of f0c04959b9a121e4f4d9c54f326150c17edff758
Summary: Tests passed: 3365, ignored: 62 Build time: 0:35:09

Core - Full Integration Build 1259 outcome was FAILURE using a merge of f0c04959b9a121e4f4d9c54f326150c17edff758
Summary: Tests failed: 1 (1 new), passed: 2929, ignored: 367 Build time: 0:49:23
Build problems:
Failed tests detected
Failed tests
org.jboss.as.test.integration.messaging.mgmt.ConnectionFactoryManagementTestCase.testWriteDiscoveryGroupAttributeWhenConnectorIsAlreadyDefined: <no details avaliable>

retest this please

Linux Build 2129 is now running using a merge of f0c04959b9a121e4f4d9c54f326150c17edff758

Windows Build 1662 is now running using a merge of f0c04959b9a121e4f4d9c54f326150c17edff758

Core - Full Integration Build 1263 is now running using a merge of f0c04959b9a121e4f4d9c54f326150c17edff758

Windows Build 1662 outcome was SUCCESS using a merge of f0c04959b9a121e4f4d9c54f326150c17edff758
Summary: Tests passed: 3365, ignored: 62 Build time: 0:34:17

Linux Build 2129 outcome was SUCCESS using a merge of f0c04959b9a121e4f4d9c54f326150c17edff758
Summary: Tests passed: 3365, ignored: 62 Build time: 0:34:42

Core - Full Integration Build 1263 outcome was SUCCESS using a merge of f0c04959b9a121e4f4d9c54f326150c17edff758
Summary: Tests passed: 2906, ignored: 372, muted: 1 Build time: 0:47:46


Bundler Not Defaulting to Newest Version (2.7.2)

I tried bundle updating just now, but I'm guessing it hasn't been changed?

https://rubygems.org/gems/fullcalendar-rails/versions
Am I doing something wrong?

Ah, sorry. I didn't realize that I could just point at the repository directly. In any case, I guess most of my issues are arising from Scheduler conflicts. Are there any thoughts on having an option to install Scheduler? I wouldn't mind making a pull request if there were.

@gr8bit This can be closed now.
But I guess Scheduler integration should be an issue of its own.


Typo in docs

Describe the bug
The Example section on https://docs.rubixml.com/en/latest/regressors/extra-tree-regressor.html states to use the following namespace:
use Rubix\ML\Classifiers\ExtraTreeRegressor;
Expected behavior
It should state
use Rubix\ML\Regressors\ExtraTreeRegressor;

Hi @drankje thanks for the heads up
Would you like to submit the pull request to correct the typo or should I?

Sorry for my late response, I've just created a PR for this issue.


Instantiate a JobQueueCluster with an already started Scheduler

While looking in several issues here, I feel that adding the ability to instanciate a JobQueueCluster with an already started Scheduler could help some use cases, and be a first step towards starting the Scheduler remotly on a job (#186).
The idea would be to add the possibility to do:
cluster = FooCluster(scheduler=my_scheduler)
#or
cluster = FooCluster(scheduler_info=scheduler_file)

Then the JobQueueCluster won't instantiate a Scheduler, but just connect to an existing one.
I think this woul provide solutions to some issues:

#407, we could reuse a LocalCluster Scheduler :

loc_cluster = LocalCluster(...)
job_cluster = FooCluster(scheduler=loc_cluster.scheduler)

#378, #381 :

lowmem_cluster = FooCluster(cores=2,memory='4GB',resources=...)
highmem_cluster = FooCluster(scheduler=lowmeme_cluster.scheduler,cores=2,memory='16GB',resources=...)

Any thought?

In addition to starting a scheduler on a different node, using an existing scheduler could be a way to create heterogeneous clusters by using the same scheduler for more than one FooCluster.
But if I remember correctly, the SpecCluster class really wants to start its own scheduler.

Why not no strong informed opinion on this one ...
The thing with this thing is that the .scale and adaptive semantics are not super-well defined (do you want to scale/adapt separately the different part of your clusters or together with a fixed ration between the two).
There was the idea of worker pools mentioned in the distributed issue tracker that may be having another look at the things mentioned there.
We could also have a MetaCluster object or something like this that start a scheduler and managed multiple heterogeneous FooCluster. Maybe that would be cleaner API-wise, I am a bit worried that we put too many arguments into FooCluster.
In an ideal world this kind of heterogeneous cluster would be dealt with in distributed but at the same time dask-jobqueue has some use case and is a good place to experiment with this kind of ideas.
If anyone manage to make some progress on this, do let us know!

The thing with this thing is that the .scale and adaptive semantics are not super-well defined

IMHO a much better semantic would be for the .scale call to take what are now the argument of the cluster creator. Instead of doing things like
cluster = SLURMCluster(
        cores=1,
        job_extra_directives=['--exclusive',
            '--output=test-%j.log',
            '-J test',
            ],
        memory='255GB',
        queue="regular",
        job_directives_skip=['-t', '--cpus-per-task'],
        interface='ib0')
cluster.scale(jobs=10)

and be stuck with everything in the regular queue with the requested memory, one should be able to simply do
cluster = SLURMCluster()

cluster.scale(jobs=3,
        cores=1,
        job_extra_directives=['--exclusive',
            '--output=test-%j.log',
            '-J test',
            ],
        memory='255GB',
        queue="regular",
        job_directives_skip=['-t', '--cpus-per-task'],
        interface='ib0')
cluster.scale(jobs=2,
        cores=1,
        job_extra_directives=['--exclusive',
            '--output=test-%j.log',
            '-J test',
            ],
        memory='40GB',
        queue="GPU",
        job_directives_skip=['-t', '--cpus-per-task'],
        interface='ib0')
cluster.scale(jobs=5,
        cores=1,
        job_extra_directives=['--exclusive',
            '--output=test-%j.log',
            '-J test',
            ],
        queue="preempt",
        job_directives_skip=['-t', '--cpus-per-task'],
        interface='ib0')

This way one would still get 10 jobs but much more flexible. Is there no interest in having this or is there a showstopper preventing it from happening? From a conceptual point of view it seems very simple: just create jobs scripts as they are created now (a number of them instead of one) and submit them as they are submitted now (just each with a different script rather than the same one for everything). For backward compatibility one could call the new scale method flexible_scale or something like that, and have that throw an exception if that is called on a Cluster created "the old way".
Looking at the source code, I got very soon lost into too many layers of indirection, and never found where the batch script (in this case for Slurm) is created. So I could not grasp any insight on whether or not this is easily doable as it seems to be at the conceptual level.

Actually, even without changing the API this appears to be working (but I need to do more tests to confirm there are not unintended consequences)

cluster = SLURMCluster(
        cores=1,
        job_extra_directives=['--exclusive',
            '--output=test-%j.log',
            '-J test',
            ],
        memory='255GB',
        queue="regular",
        job_directives_skip=['-t', '--cpus-per-task'],
        interface='ib0')
cluster.scale(jobs=10)

cluster._job_kwargs['queue'] = 'preempt'

cluster.scale_up(100)

It's ugly, but the implementation of scale via the job_header property which in turn uses the _dummy_job property implemented with the creation of a new object each time leaves only this choice if one doesn't want to modify dask-jobqueue and/or distributed/distributed/deploy/spec.py source code.

Sorry for the delay to answer here...

Is there no interest in having this or is there a showstopper preventing it from happening?

There is an interest for sure. It's been too long since I dived into the code here (there is a lot of indirections as you said), right now my only feeling is that it somewhat changes a bit the standardisation between different Dask Cluster managers implementations, but we already have one with the jobs kwarg of scale.
Given you found some workaround that already works, it seems that would not introduce that much changes, especially if we kept default values and just override them when scaling.
The solution proposed here initially was also a bit more wide, and I hoped it would be simple enough to implement, but I've never had the time to dig into it.
I'm also a bit afraid that changing Worker specification on the fly might have some consequences with how SpecCluster class is working, especially when using adaptive. I already found some problem it might raise when scaling with cores or memory kwargs.
But we should definitly look at this solution and see if it is possible!


Improve fork config generation -- berkeley

Explain your changes:

This PR is to remove conflicts #14266 has with berkeley, so that the original PR could get in.

Explain how you tested your changes:

CI

Checklist:

[x] Dependency versions are unchanged

Notify Velocity team if dependencies must change in CI

[x] Modified the current draft of release notes with details on what is completed or incomplete within this project
[x] Document code purpose, how to use it

Mention expected invariants, implicit constraints

[x] Tests were added for the new behavior

Document test purpose, significance of failures
Test names should reflect their purpose

[x] All tests pass (CI will check this if you didn't)
[x] Serialized types are in stable-versioned modules

!ci-build-me

It seems like this includes a merge compatible -> berkeley, which makes it hard to review your intended changes. Can you create the merge separately, and then stack this PR on top?

I'm closing this in favour of: https://github.com/MinaProtocol/mina/pull/14864, which contains only changes I want to merge.


Support blob URLs in Player.load

Have you read the FAQ and checked for duplicate open issues?:
Yes
What version of Shaka Player are you using?:
2.4.1
Can you reproduce the issue with our latest release version?:
Yes
Can you reproduce the issue with the latest code from master?:
Not tested.
Are you using the demo app or your own custom app?:
Custom app.
If custom app, can you reproduce the issue using our demo app?:
N/A
What browser and OS are you using?:
OSX Chrome 67.0.3396.99
What are the manifest and license server URIs?:
N/A
What did you do?
Our use case is playing many short clips back to back. To increase performance, we are attempting to preload the manifests, store them as Blob URIs, and pass the Blob URI into the load method.
All manifests work as expected when passed in as regular URLs, passing in the urlObject fails.
Searched open issues, and found some references that indicate that this should be doable:
https://github.com/google/shaka-player/issues/1247 : Seems to indicate that the author is doing this and it's working except when trying to Chromecast.
https://github.com/google/shaka-player/issues/395 : Seems to indicate that blob urls are working but the author wants to avoid cache busting.
Tried various scheme registrations, eg. shaka.net.NetworkingEngine.registerScheme('blob', shaka.net.HttpFetchPlugin);, none worked.
What did you expect to happen?
Expected the manifest to be successfully loaded from the objectUrl in the same way it would be from passing in the network URL.
What actually happened?
Received the following error:

return fetch(
            'https://host.com/stream.mpd',
            { headers }
        )
            .then(response => response.blob())
            .then( blob => {
                return window.URL.createObjectURL(blob);
            })

I inlined much of this to isolate the issue. I'm still seeing the error with the following sample code:
fetch(
                this.stream, // eg. 'https://host.com/stream.mpd'
                { headers }
            )
                .then(response => response.blob())
                .then( blob => {
                    const url = window.URL.createObjectURL(blob);
                    this.load(url); // wraps.shaka.Player.load
                });

There are a few problems with this in today's Shaka Player:

No plugins are registered to handle blob: URIs.  This is tribial to fix by registering either XHR or Fetch to handle blobs: shaka.net.NetworkingEngine.registerScheme('blob', shaka.net.HttpFetchPlugin);
With blobs, neither extension nor MIME type can be used to deduce which manifest parser to use.  If only there were some way to append ".mpd" to the URI without breaking it.  This is moderately annoying, but easy to fix with the manifestParserFactory argument of player.load: player.load(uri, null, shaka.dash.DashParser);
Relative URIs in the manifest are broken because the original manifest URI is lost.  This can be worked around with either absolute URIs or the use of BaseURL element in DASH.

With those three problems worked around, I can verify that blob URIs would work in the latest release.  For now, I recommend you use these workarounds.
For the future, I will mark this as an enhancement on the backlog to make the use of Blob URIs easier.
We should:

register scheme plugins to handle blob URIs
have some easier way to specify the parser to use, such as passing a MIME type or extension string in place of a specific parser
consider a parser configuration that would override the base for relative URIs found in a manifest

Thanks so much for being so responsive, @joeyparrish! I had tried using the HttpFetchPlugin but didn't think about how it wouldn't be identifiable as a DASH manifest. Passing in the DashParser resolved the issue.
I now have this working - our manifests do in fact use relative urls, but until I can co-ordinate a backend change, I'm just manually transforming it in the client before I save it to the Blob.
Regarding your recommended enhancement, that all sounds great. I would say that what we're doing is hardly common practice, so I don't think it's critical functionality, but would definitely be nice to have.

Thank you, that sounds like exactly what we're trying to accomplish!

Updating this with some additional info. Using HttpFetchPlugin in conjunction with shaka.dash.DashParser works like a charm in recent versions of Chrome.
Unfortunately, as we're relying on Castlabs' prepackaged electron releases ( https://github.com/castlabs/electron-releases ) to enable Widevine support in Electron, we discovered that this surfaces the same 1000 error attached above when using Chrome 59.

Absolutely. Was just commenting in case some lost soul wanders into this thread in the future, I don't expect any action to be taken ;) Sorry if that was unclear.

Gotcha.  Thanks!

There are a few problems with this in today's Shaka Player:

No plugins are registered to handle blob: URIs.  This is tribial to fix by registering either XHR or Fetch to handle blobs: shaka.net.NetworkingEngine.registerScheme('blob', shaka.net.HttpFetchPlugin);
With blobs, neither extension nor MIME type can be used to deduce which manifest parser to use.  If only there were some way to append ".mpd" to the URI without breaking it.  This is moderately annoying, but easy to fix with the manifestParserFactory argument of player.load: player.load(uri, null, shaka.dash.DashParser);
Relative URIs in the manifest are broken because the original manifest URI is lost.  This can be worked around with either absolute URIs or the use of BaseURL element in DASH.

With those three problems worked around, I can verify that blob URIs would work in the latest release. For now, I recommend you use these workarounds.
For the future, I will mark this as an enhancement on the backlog to make the use of Blob URIs easier.
We should:

register scheme plugins to handle blob URIs
have some easier way to specify the parser to use, such as passing a MIME type or extension string in place of a specific parser
consider a parser configuration that would override the base for relative URIs found in a manifest

Will this method still work now at newer version ?
When I try it on v3.1.0, it said:
shaka-player.ui.js?id=2a5664041f59d0b5fd86:272 Uncaught (in promise) TypeError: d.toLowerCase is not a function
    at ya.b (shaka-player.ui.js?id=2a5664041f59d0b5fd86:272)
    at Ca (shaka-player.ui.js?id=2a5664041f59d0b5fd86:22)
    at Da.next (shaka-player.ui.js?id=2a5664041f59d0b5fd86:23)
    at shaka-player.ui.js?id=2a5664041f59d0b5fd86:24
    at new Promise (<anonymous>)
    at Fa (shaka-player.ui.js?id=2a5664041f59d0b5fd86:24)
    at H (shaka-player.ui.js?id=2a5664041f59d0b5fd86:24)
    at ji (shaka-player.ui.js?id=2a5664041f59d0b5fd86:272)
    at ya.b (shaka-player.ui.js?id=2a5664041f59d0b5fd86:374)
    at Ca (shaka-player.ui.js?id=2a5664041f59d0b5fd86:22)

shaka-player.ui.js?id=2a5664041f59d0b5fd86:272 Uncaught (in promise) TypeError: d.toLowerCase is not a function

It looks to me like you passed a non-string to a method expecting a string.  I would suggest you double-check your application code.  Did you pass a Blob object instead of a Blob URL?  You need to call URL.createObjectURL(blob) to create a URL from a Blob.

Thank you, but I'm deep down in the rabbit hole by now, it is because player.load third argument in v3.1.0 required string https://github.com/google/shaka-player/blob/master/lib/player.js#L1040 - I'm using 'application/dash+xml' now,
in v2.4.1 it is https://github.com/google/shaka-player/blob/e844a0ff958b98cdd422f52f907a844142cdb8d6/lib/player.js#L676-L677,
I'm at the network-engine now, think I'll post a solution for the next gen when I'm done

Okay.  Makes sense to me.

We'd be happy to have a PR, if you're interested to contribute your solution back.

For anyone looking solution in 2021, v3.1.0:

register blob scheme

shaka.net.NetworkingEngine.registerScheme('blob', shaka.net.HttpFetchPlugin.parse, shaka.net.NetworkingEngine.PluginPriority.PREFERRED, true);

player.load(computedMpdBlobURL, null, 'application/dash+xml')
Relative URIs in the manifest are broken because the original manifest URI is lost. This can be worked around with either absolute URIs or the use of BaseURL element in DASH.

@joeyparrish , I'm not sure how to compose a PR for this, may you guide me little ?

It looks like you can add the code in part 1 to the bottom of the fetch plugin, and turn parts 2 and 3 into a tutorial to add to the documentation.  That would be a complete PR for this, in my opinion.  Since we can't generally solve the issue of relative URIs, the best thing may be just to document it clearly alongside instructions for creating a blob from an MPD.
Tutorials are written in markdown and compiled by jsdoc.  They live in docs/tutorials/, and need to be referenced from docs/tutorials/index.json to show up in our top-level tutorials list in the live docs.
Does this help?


Config not updating when value changes

Be sure to search for your issue before opening a new one.
Current Behavior
When a value is changed in the config of the player. It doesn't update it.
Expected Behavior
If a value is changed in the config of the player, it should reflect that change.
this is what i am trying to achieve
saw some issues (1, 2) not sure if there have been updates since then or any more info about this.
import ReactPlayer from 'react-player/file';

function App() {
  const [buff, setBuff] = useState(1);

  const updateBuff = () => {
      setBuff(800);
  };

  return (
    <div className="App">
      <ReactPlayer
        url="https://vz-95150ef3-4c1.b-cdn.net/66aeb8f8-788d-4298-90e1-53efeb4ea451/playlist.m3u8"
        controls
        muted
        onPlay={updateBuff}
        config={{
          forceHLS: true,
          hlsOptions: {
            maxMaxBufferLength: buff,
          },
          attributes: {
            preload: 'metadata',
          },
        }}
      />
    </div>
  );
}

Was able to get it working by doing this to change it when i want. Not sure if theres another way i should be doing this or this is fine.
const player = playerRef.current.getInternalPlayer('hls');
player.config.maxMaxBufferLength = 30;


dynamyc editable fields

Is your feature request related to a problem? Please describe.
No
Describe the solution you'd like
in there a way to add dynamic editable fields? I'm wondering how I can add them to the editor so the user can add dynamic fields on demand.
Additional context
Working on a contract template creator, but I want the user be able to create templates and add dynamic fields according to his needs.

Hi @ingmontoya, yes it should be possible but it needs you to code it from the ground, as nothing like it is built-in. what do you have in mind? like the user clicks on a menu element then drags on the page to define an editable zone? should the zone be resizable? should it snap to a grid?

Hey @motla, thanks for your quick response!!  Sounds good to have some sort of icon or menu item to define an editable zone, shouldn't be fixed, I'm intending to use it for full names, addresses, or email fields...

Im looking for the same thing! Anyone found a way?

Im getting closer but how can I change the caret position? Thanks a lot!

I am trying to use document.execCommand("insertHTML", false, "<div ...) to insert some custom block elements.. But somehow it simply does not add the div that i want in the content. Is there a possibility to assist me further?

@ariana-nemes can you share me your code or your project?

No, because of some internal rules :(. But i can share some snippets with you!
 async addTag(tag) {       document.execCommand(         'insertHTML',         false,         ``${tag.name}``,       );     },
This function happens when i click on of the buttons attached in the screenshot.

@ariana-nemes is there an error on the web-browser console? did you try putting a console.log("test"); inside your addTag function to make sure it is executed when you click on your button?

No errors on the console. And yes, i'm 100% that it reaches that function.
<template>

    <vue-file-toolbar-menu :content="menu" class="bar" />

          <Tag
            class="mr-2 template-document__tag-list-element"
            :value="tag.name"
            v-tooltip.top="`${locale.documents.this_field} ${tag.name.replace()}`"
            @click="addTag(e, tag)"
          ></Tag>

    <vue-document-editor
      class="editor"
      id="document-editor"
      ref="editor"
      v-model:content="content"
      :overlay="overlay"
      :zoom="zoom"
      :page_format_mm="page_format_mm"
      :page_margins="page_margins"
      :display="display"
    />

</template>

@ariana-nemes I think you missed the " " around ${tag.value} (it should be data-custom-field-type="${tag.value}") and make sure tag.value does not contain special characters or HTML. I saw from the spec the HTML content must be valid for insertHTML to work, maybe this is the issue.

Thank but sadly this didn't fix the issue :(

@ariana-nemes also could you console.log(tag.name) to make sure it is not empty in your function?

Yea. I think i found the issue.. Somehow the contenteditable is getting out of focus when im pressing one of my divs.

@motla do you have any idea how to refocus it?

@ariana-nemes Well I'm not sure what's going on... Here is an example that works:
index.html

From there you can get to your example step by step (or simplify your example step by step to get there) to understand what is wrong. I also noticed that setting ${tag.value} inputs the value twice on Google Chrome, but not on Firefox and Safari... document.execCommand() is not standard so we have to deal with it unfortunately... It's weird territory.
Good luck!

@ariana-nemes OK I found your issue, you were right about the fact that it unfocuses when you click on your button.
That is because inside your Tag component, they use an element which is neither a <button> or <input type="button">, but likely a stylished
.
In this case the behavior is that when the web browser detects a mousedown event on any element, it unfocuses.
A workaround is then to trigger your function using the @mousedown event instead of the @click one. So it will stay focused when document.execCommand is called.
Then to prevent the unfocus you can call event.preventDefault() inside your function.
By security, to prevent elements below your button (if any) to trigger a mousedown event you can call event.stopPropagation()
Example here:
index.html

I hope that it helps. I have to get back to my work now 😊
Good luck!


Issue to run a VM onto Hyper-V which is deployed on AWS Enabled-NestedVM.ps1 is not recognized

I'm trying to run a VM onto Hyper-V which is deployed on AWS.
I downloaded the file in the repository.
https://github.com/MicrosoftDocs/Virtualization-Documentation/blob/master/hyperv-tools/Nested/Enable-NestedVm.ps1
Then, I opened PowerShell as Administrator and navigated to the location where I saved the Enabled-NestedVM.ps1
I ran  Set-ExecutionPolicy -scope Process -ExecutionPolicy Bypass in order to allow running downloaded PowerShell scripts on my system.
Then typed .\Enabled-NestedVM.ps1 -vmname “Ubuntu” and here what I've got:
.\Enabled-NestedVM.ps1 : The term '.\Enabled-NestedVM.ps1' is not recognized as the name of a cmdlet, function, script
file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct
and try again.

We hugely appreciate your contribution, feedback, and support to our technical documentation.
We’ve phased out GitHub Issues on this repository as the feedback mechanism for content and have replaced it with a new feedback system. For more information see, Content User Feedback. As part of this rollout, we are migrating your issue where our team will use your comments to improve the documentation experience. Unfortunately, this does mean you won't be able to access this issue after the migration is complete.
All issues will be migrated by Thursday 29th August 2024.
Once again, thank you for your valuable feedback, we hope you’ll continue to contribute using our new feedback system.


Wand Event Handlers

Hey, I'm trying to stop players from using magic wands in certain regions, but I cannot find an appropriate event for it, this causes intense lag as it's being fired a million times, when players hold the wand in their hand, rather than on activation:
    @EventHandler(priority = EventPriority.HIGHEST)
    public void onHoeUse(WandPreActivateEvent event) {
        Mage mage = event.getMage();
        Player player = mage.getPlayer(); // Get the player from Mage
        Wand wand = event.getWand();
        ItemStack item = wand.getItem(); // Get the ItemStack from the Wand

        if (item != null && (item.getType() == Material.DIAMOND_HOE || item.getType() == Material.GOLD_HOE || item.getType() == Material.IRON_HOE)) {
            if (!player.getWorld().getName().equalsIgnoreCase("mine")) {
                event.setCancelled(true);
                return;
            }

            Region region = getNearbyRegion(player, 10);
            if (region == null) {
                event.setCancelled(true);

            }
        }
    }

is there a better event for this? I couldn't find any, WandActivatedEvent can't be cancelled

Are you only trying to stop them from casting spells with the wand?
If so your best bet is probably to implement CastPermissionManager and then register it via MageController.register.
This will cause Magic to ask your plugin any time a player tries to cast a spell.
Alternately, use the PreCastEvent.
If by "use a wand" you mean something other than casting a spell, such as activating passive non-spell effects, then you're right that's probably a little different and maybe trickier.

PreCastEvent solved it, thank you. I wanted to prevent spell casting only that happens on right clicking a wand


Namespace-only named cpdef enums

No longer copy the items of names cpdef enums to the module namespace.
Keep this behaviour for the items of anonymous enums and public/api enums.
Closes https://github.com/cython/cython/issues/4571

Unfortunately, I don't have a good feel for how much this is likely to break so I don't know how much upset it'll cause.
I suspect it's a worthwhile change, but I might yet regret thinking that.

It occurs to me that it would be possible to do it in two steps (i.e. deprecate first), by initially defining a module __getattr__ that finds the name but issues a runtime warning. It could just be done by exec so wouldn't even need to be Cython-compiled.
Personally I think that's more trouble than it's worth. But it seemed like a good idea to mention it as an option.

I understand the general urge to ask for a user controllable option, but…
https://xkcd.com/1172/
Adding a new directive has a remarkable cost. It adds to the documentation, users have to consider adding it to their code, and add it if necessary,  it ends up in user code so that future readers have to learn about it, and it's difficult to get rid of again in the future once users have started controlling it. For us, it means more possible code configurations that we cannot possibly test because of the exponential explosion of all combinations, and thus lower test coverage and a higher risk of breakage in future releases due to unexpected behaviour when hitting real world user code.
In this case, there is a very simple and readable one liner that establishes the old behaviour regardless of the new behaviour. Adding that to user code actually improves readability because it makes the behaviour explicit and more obvious, whereas the current behaviour is rather surprising for many, and also not trivial to mitigate. As we read here, some users have actually preferred rejecting the entire feature and implementing it themselves over cleaning up the module namespace after the fact.
So, no. There will not be a directive for this.

Is it intended that you can still access the names at module scope from within Cython:
cpdef enum E1:
    A = 1

cdef enum E2:
    B = 2

print(A, B)

?
I think this is probably a good thing to minimize breakage - I think the complaints on the underlying #4571 were really about the Python interface. But it isn't an inconsistency I'd have if starting from scratch.

Yes, that's intended. It's a C enum with C semantics but with an additional Python interface.

I think we should probably just do this. Given that it just changes the external Python interface to modules, I think it'll be fairly low impact.


I don't have a tsconfig.json file

Following https://github.com/angular/angularfire2/blob/master/docs/1-install-and-setup.md, and I get to
``
"3. Include Firebase SDK typings"
In your tsconfig.json file include the following line in your "files" array:
``
I've installed this on a new clean machine following the instructions and I don't have a tsconfig.json.
Does this mean I should create this file in the root directory? Let's say so unambiguously if so. If not, where do I find this or how do I generate it?

Are you using the Angular CLI?

Yes
On Tue, 21 Jun 2016, 18:15 David East<EMAIL_ADDRESS>wrote:

Are you using the Angular CLI?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/angular/angularfire2/issues/263#issuecomment-227508260,
or mute the thread
https://github.com/notifications/unsubscribe/AAj__aTevcE_jh5lCmPyXwD29znEwZ9Cks5qOBwcgaJpZM4I65xq
.

Then I'm not sure what's going on because the CLI should generate the tsconfig.json file for you. But you can write tsc --init and that will generate one for you.
If you see an issue with tsc make sure to install typescript npm install -g typescript.

I'll run it again from scratch and see if anything is different
On Tue, 21 Jun 2016, 19:48 David East<EMAIL_ADDRESS>wrote:

Then I'm not sure what's going on because the CLI should generate the
tsconfig.json file for you. But you can write tsc --init and that will
generate one for you.
If you see an issue with tsc make sure to install typescript npm install
-g typescript.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/angular/angularfire2/issues/263#issuecomment-227535070,
or mute the thread
https://github.com/notifications/unsubscribe/AAj__fbcFPVbBG6nJ5owxT929oH5zPNQks5qODILgaJpZM4I65xq
.

I thought it was missing too - turns out angular-cli puts it tsconfig.json in the src folder and I was looking in the root directory

@mattwilson1024 Good to know! I'll be explicit about this in the quickstart.
@rwillmer Does this help you?

@mattwilson1024 thanks!
@davideast yes it does


Consider addinng node parameter to tag resole method

Basic reasons for this I'd like to have a different meaning for tagged values:
!tag 3 -> number 3
!tag '3' -> string '3'
!tag "3" -> string '3'
Originally node has this information about node type (SINGLE/DOUBLE/PLAIN) but it not in resolve method itself.

Probably example will show my intentions better.
Let's have custom tag that treats tag value as yaml:
const yaml = require('yaml');
const someTag = {
  tag : '!tag',
  resolve (value, onError) {
    return yaml.parse(value);
  },
  stringify (node) {
    return yaml.stringify(node);
  }
};
yaml.defaultOptions.customTags = [someTag];

console.log(JSON.stringify(yaml.parse(`!tag 3`))) // -> 3
console.log(JSON.stringify(yaml.parse(`!tag '3'`))) // -> 3
console.log(JSON.stringify(yaml.parse(`!tag "3"`))) // -> 3
console.log(JSON.stringify("3")) // -> "3"

But if in resolve method I had access to the Node object, or at least Node type, to treat tag value differently, I would be able to differ if it was quoted or not (or may be it could helpful in other ways).
Something like this:
const yaml = require('yaml');
const someTag = {
  tag : '!tag',
  resolveBy : 'node',  // 'node' | 'value' - value by default
  resolve (node, onError) {
    return yaml.parse(node);
  },
  stringify (node) {
    return yaml.stringify(node);
  }
};
yaml.defaultOptions.customTags = [someTag];

I think I do understand the mechanics of what you're looking for, but not the why of it. What is the situation in which this would be beneficial?

We keep configuration in yaml files. There're two types of configurations: templates and overrides. There's a tool that updates override yamls, it compares it and produces result that is nicely formatted and and still valid yaml. And to express differences in the configuration it uses tags, for example:
config:
  prop1: !default 1
  prop2: !unkown 2

I could do it by adding another quotes - but it'll look ugly:
config:
  prop1: !default 1
  prop2: !unknown '"2"'
  prop3: 3 # !default 5

It seems like what you're really looking for is an annotation on the data, rather than a specifier for its type. And that's not really what tags are meant for. Is the annotation meant for human or machine consumption? If it's for humans, maybe it'd be easiest for you to add a comment on the value instead?

That's extacly that are tags for. Idea that I want to introduce a special types "default" or "unknown" and handle them specifically with custom tags, but with current "limitation" I could not do that properly.
Comments could solve problem, but leaves more space for errors and requires 2nd parsing. And also I'd want to keep comments available for regaular usage.
template:
config:
  prop1: 123

override:
config:
  prop1: 456 # !default

It'll require parsing overrides as a document, then finding all commented node with a specfic "tag comment", and replacing them with defaults.
Originally I just read overrides, !default - will replace them with undefined, config=_.merge({}, template, override)

Huh, I just realised that perhaps some miscommunication may have happened here. Please have a read through the Writing Custom Tags section of the docs; it may be that what you're looking for is already possible. One key aspect to consider is that the AST node's type is only assigned after it has been resolved, so it should be available on the Nodes generated by your custom tag.

Closing as presumably solved.

Closing as presumably solved.


Should you use --mirror argument when scanning a repository for secrets

Is it considered best practice to use the --mirror option when cloning a repository prior to scanning it for secrets?
The reason I ask is I've just detected secrets on one of my projects that only appear when the repository is cloned using the --mirror argument.
When I lookup the commit in question GitHub shows this warning "This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository."
After some searching online I also came across this https://wwws.nightwatchcybersecurity.com/2022/02/11/gitbleed/

Yes. Using --mirror will include refs from the remote that aren't included with a normal clone.


[Add-ins] (location) Update article to include enhancedLocation API

Docs Build status updates of commit 3f050d8:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/add-ins/categories.md
:white_check_mark:Succeeded

docs/add-ins/get-or-set-the-location-of-an-appointment.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

@AlexJerabek Thanks for your input. Updated based on your feedback and ready for you to take another look. Thanks.

Docs Build status updates of commit d6b5777:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/add-ins/categories.md
:white_check_mark:Succeeded

docs/add-ins/get-or-set-the-location-of-an-appointment.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


[0.9.0]  how to setup  timezone  in influxdb,  the time from  influxdb  is not my  timezone

query result:
cpu_load_short3
time	                                 value
2015-07-02T02:06:14Z	10.64
actually  the time is  2015-07-02T10:06:14Z,  my  timezone is  Asia/Shanghai
how to resolve  this ?

All timestamps in InfluxDB are returned in UTC. There is no support yet for alternate timezones. See https://github.com/influxdb/influxdb/issues/2071 and https://github.com/influxdb/influxdb/issues/2074 to follow the discussions.

I eagerly awaited this feature.
Without this feature,I can not use group by time(1d) .
I am very very need this feature.

closing in favor of the two previously mentioned issues.


[WIP] new functions to hangle mixed src spaces in inverse

these functions are used in neuropype to handle mixed source space in mne inverse methods

Current coverage is 87.09% (diff: 4.20%)

No coverage report found for master at 0ad50cb.

Powered by Codecov. Last update 0ad50cb...54aa0d6

thanks @annapasca
let us know when it's ready for a first review.

thanks to you @agramfort !
I'll update you when all is ready.

also you'll need to add a test for any new function you add. that's why codecov complains
thanks heaps @annapasca

@agramfort I have seen the test functions ...which tool do I have to use to create test function? thks!

regarding tests so how we do it by reading one of the file that starts with test_
see also http://martinos.org/mne/stable/contributing.html#general-code-guidelines
and the doc of nosetests that we use for testing.

thks @agramfort ...I'll read doc on unit test files

@agramfort I put the connectivity example in plot_mixed_source_space_connectity. To test it I need to read the mixed src space sample-oct-6-mixed-src.fif. Is it possible to put this file in the sample sbj folder? thks!

@annapasca can you create the mixed source space on the fly within the example itself?

Hi @Eric89GXL, yes I can create it in the example

@agramfort did the check fail due to branch conflicts? Thks!

did the check fail due to branch conflicts?

Yes, you need to rebase. See http://martinos.org/mne/stable/contributing.html#some-other-things-you-might-want-to-do for instructions.

@jaeilepp ok, thanks!

it seems Travis fails due to this
*** FAIL: Test raw splitting / re-appending channel types. ***
could it be possible? Thks!

I think the failure is unrelated. I restarted the Travis build.

All green now. These examples take a long time to plot (more than 5 mins each). This is a problem when building the website. Maybe the time could be reduced by using precomputed source spaces instead of computing them from scratch?

Hi @jaeilepp ! thanks.
About the computational time, for plot_mixed_source_space_inverse.py I could reduce to 2 the number of labels, while for plot_mixed_source_space_connectity I need to put the precomputed mixed src space in the bem folder of sbj sample. Could it be possible?

Hmm. It's quite large. Would it be possible to use the existing source spaces from the sample dataset?

Looking at this made me realize that setup_volume_source_space requires a subject keyword, but it is not used. Also params subjects_dir and overwrite are just dumped.

Hmm. It's quite large

Or is it possible to use a coarser grid in the volume? IIRC the file size is usually due to the interpolator matrix, which gets large for higher-density grids.

@jaeilepp I could remove subject, subjects_dir and overwrite from setup_volume_source_space
@Eric89GXL do we need to change the _add_interpolator function?

I could remove subject, subjects_dir and overwrite from setup_volume_source_space

Don't bother doing that here, we need to sort it out elsewhere (#3708) because it is an API change (even if they weren't used, people might have passed them).

do we need to change the _add_interpolator function?

I don't think so, I think it works properly. Did you get a chance to try a coarser grid than pos=5.0? Even pos=7.0 could make a big difference in computation and/or storage time.

@Eric89GXL  ok for  setup_volume_source_space, I have seen the issue!

I don't think so, I think it works properly. Did you get a chance to try a coarser grid than pos=5.0?
Even pos=7.0 could make a big difference in computation and/or storage time.

I tried with pos=7.0 and we gain a lot in size. I'll change this option and push the files.

why does codecov fail? Thks!

because some of the code you added is apparently not covered by any test. See details at:
https://codecov.io/gh/mne-tools/mne-python/compare/93d800cdd19ebb43178924c550583215563cfc10...220b50f6113e60d42a5597901583b4b16fa304ca
mostly in source_estimate.py

thanks @agramfort ...so do I have to add some test in test_source_estimate?

yes :)
On Tue, Nov 8, 2016 at 3:06 PM, Annalisa Pascarella <
<EMAIL_ADDRESS>wrote:

thanks @agramfort https://github.com/agramfort ...so do I have to add
some test in test_source_estimate?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/mne-tools/mne-python/pull/3638#issuecomment-259144861,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAJ1HF59zbe89RkrE_xdkF03MW85Cggxks5q8IIBgaJpZM4KOYjV
.

@agramfort I'll change what u suggest and for any doubt I'll ask u :)
thks!

let me know when you push

@agramfort I pushed the files...there is some problem in travis
Error while fetching file https://github.com/mne-tools/mne-testing-data/raw/master/datasets/foo.tgz. Dataset fetching aborted.
while in codecov it would be since I have to add some test for code added to source_estimate

I restarted travis but you have a pyflake error:
https://travis-ci.org/mne-tools/mne-python/jobs/176393374
run
make flake
to test this on your system before commit

ok! thks!

@agramfort  now it seems ok expect for codecov

@annapasca you need to fix your conflict with master. Ideally by rebase.
also when you think it's reader set the PR to MRG (currently title contains WIP)
thx

@agramfort I rebased and change to MRG

looks clean to me.
please someone else have a look so @annapasca can have her MRG+2

I got an error in
ERROR: Test mne make_scalp_surfaces.

@annapasca travis errors are unrelated.
@Eric89GXL ok for you?

LGTM but we need doc/whats_new.rst update, and to add get_volume_labels_from_src to doc/python_reference.rst

I'll go ahead and fix those in master, thanks @annapasca !

FYI https://github.com/mne-tools/mne-python/commit/b4cb41d5cab278f42597fde175a44da3a7f7a200

🍻  for @annapasca ;)
congrats @annapasca for your first PR !

@agramfort @Eric89GXL thks!


Making ClassInfo a first-class citizen

While right now it's possible to do so, most methods seem geared towards dealing with class names. While that's fine ( I haven't had much difficulty with it yet), ClassInfo is a very cool class for several usages (I'm using it for a plugin-based architecture of sorts). So having an equivalent to the methods which return lists of class names but returning lists of ClassInfo would be kinda cool, I think.

@andrebrait actually this is a really good suggestion. In the early days, FCS only dealt in strings, such as class names, but it became clear eventually that there needed to be a way to keep info about a class together in one place, and ClassInfo was born. Then eventually I had to add FieldInfo and MethodInfo. I'm now having to create a MethodParameterInfo class too to keep all the info about method parameters (types, names, annotations) together in one place too.
I'm going to take on a major API revamp at some point, and I think I'm going to go with using ClassInfo as the main way to get results from FCS -- then if you want the class name, you have to call a getter, rather than the other way around (looking up the ClassInfo for a class name). I'll return lists of ClassInfo as you suggest (I will probably implement a ClassInfoList that extends List<ClassInfo> for this purpose, and then I'll add a method to this List object that will get all class names in the list as a List<String>).
It would also then make sense to have MatchProcessors be passed a ClassInfo object too -- and they can get a Class<?> ref from the ClassInfo if they need it. That way MatchProcessors can either call the classloader or not, as needed.
I'll link to this bug from the API change bug, to remind myself to restructure the API this way. Thanks for getting me thinking more deeply about this!

@lukehutch Cool. I was thinking the same way, but then I realized I could just use the map and so I settled for that. It's not that big of a problem but I think using ClassInfo would be the way to go.
I have another suggestion that'll post to the API Cleanup (it's about the way AnnotationInfo stores things). Or should I create another report so you can link them and close? Which do you prefer?

Do you think having ClassInfo#getSubclasses() is feasible? Since you mentioned having the equivalent for getting the ClassInfo of a super class.

Please create a separate bug for each request, and I'll link them, to try to keep that other bug from getting even more complicated...
Yes, I'll add methods for getting any related class (subclasses, annotations, etc.)

@andrebrait You were absolutely right in suggesting this, ClassInfo is the right path forward, along with the other corresponding classes that have gradually sprung up as FCS has become more mature: MethodInfo, MethodParameterInfo, FieldInfo, and AnnotationInfo. I actually just completed an enormous API cleanup and refactoring marathon, and threw out all of the API that doesn't deal with ClassInfo and related objects directly. Now all of FCS is based on these wrapper objects, and it's a heck of a lot cleaner and nicer to use. This will be released in version 4 in the next couple of days.
Thanks for the suggestion!

You're welcome, @lukehutch
I'm watching and I'll look forward to testing v4 when ypu consider it good enough for that :)


Eliminate dependency on hardcoded selectors

Currently the buttons for send and edit and identified in the DOM based on hardcoded selectors. In the future, if the buttons change their attributes, the extension will stop working. Assuming that the website will change rapidly otherwise if the website  changes a few months there shouldn't be so hard to change also the extension with it.
One possible solution is to add a button which will be pressed right before you press the send button for the first time and  than you should try to automatically find a way to uniquely identify that send button. Through an automatically created selector.
If the website is not changing so often this shouldn't be a issue.

If you really want so much control over the interface and are willing to spend that amount of effort, you might as well create a copy of the chatGPT interface and have full control over everything. The level of effort might be similar.


[BUG]Error updating Gemini model: invalid_enum_value

Description
I'm encountering an error when attempting to update the Gemini model. I'm receiving the following error message:
[ { "received": "createCachedContent", "code": "invalid_enum_value", "options": [ "countMessageTokens", "countTextTokens", "countTokens", "createTunedModel", "createTunedTextModel", "embedContent", "embedText", "generateAnswer", "generateContent", "generateMessage", "generateText" ], "path": [ "models", 11, "supportedGenerationMethods", 2 ], "message": "Invalid enum value. Expected 'countMessageTokens' | 'countTextTokens' | 'countTokens' | 'createTunedModel' | 'createTunedTextModel' | 'embedContent' | 'embedText' | 'generateAnswer' | 'generateContent' | 'generateMessage' | 'generateText', received 'createCachedContent'" } ]
Device and browser
windows11 + Chrome 125.0.6422.142  +  big-AGI 1.16.0
Screenshots and more

Willingness to Contribute

[ ] 🙋♂ Yes, I would like to contribute a fix.

Thanks for reporting @dovegq, you were very quick to find out. Google added a new capability to the Gemini model family and we have a strict protocol checker. Sorry for any inconvenience.

Is there a workaround for this issue? I just added the GEMINI_API_KEY and didn't load the models in the past.

I'm getting this now.


Update package tests

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (3c78194) 100.00% compared to head (adef2cd) 100.00%.

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #309   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           94        94
  Lines         3197      3197
  Branches       241       241
=========================================
  Hits          3197      3197

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Squeezing MVP

Hi all.
This draft PR suggests an MVP implementation for squeezing.
A summary of the API follows:

DripsHubClient now exposes a new method:

public squeezeDrips(
		userId: string,
		tokenAddress: string,
		senderId: BigNumberish,
		historyHash: string,
		dripsHistory: DripsHistoryStruct[]
	): Promise<ContractTransaction>

that wraps the "raw" protocol function.
This method is the most flexible and targets more advanced use cases and users that want to squeeze from specific points in Drips history.

For the common scenario of "squeezing" everything up to 'now'" for a given token-sender pair, we'll expose a helper method on the DripsSubgraphClient:

public async getArgsForSqueezingAllDrips(
		userId: string,
		senderId: string,
		tokenAddress: string
	): Promise<[userId: string,
                tokenAddress: string,
                senderId: string,
                historyHash: string,
                dripsHistory: DripsHistoryStruct[]]>

This method calculates the arguments for squeezing all Drips up to "now" for the given sender and token.
Squeezing becomes two lines of code:
const args = await dripsSubgraphClient.getArgsForSqueezingAllDrips(userId, senderId, tokenAddress);
await dripsHubClient.squeezeDrips(...args);

The complexity of calculating the historyHash and dripsHistory is encapsulated and hidden from developers.
A similar approach would be to combine the two lines above into one new method in the DripsHubClient, something like squeezeAllUntilNow, and remove the helper from the DripsSubgraphClient.
The design, at this point, doesn't really matter. What matters is if we agree on the level of squeezing support (and the algorithm logic). The implementation structure will most probably change.

DripsSubgraphClient exposes a new method for getting a list of potential squeezable senders:

public async getSqueezableSenders(receiverId: string): Promise<Record<string, string[]>>

This method returns a Record with keys being the sender IDs and values of the asset (ERC20 token) IDs.
The returned senders have set up a configuration that drips to the given receiver but it's not guaranteed that the sender is still dripping to this sender. The sender might be out of funds, for example.
I've also tried returning the exact squeezable senders, but the calculation logic quickly increased when considering balances, amounts per sec, cycles, etc. Open to algorithm suggestions here to improve this if we think it's a must MVP.
Looking forward to your feedback! 🙌
If all these look reasonable to you, I'll move to add unit tests and UI examples.
@gh0stwheel A while ago, while you went through the first implementation, you commented about explicitly setting dripsHash=ethers.constants.HashZero. To my understanding, per the protocol code comments, we must set it to 0 (when drips history receivers are non-empty).
@CodeSandwich It would be great if you could go through the algorithm steps here (there are comments, no need to read the code itself) and see if I missed any important step in the calculation. 🙏
Re https://github.com/radicle-dev/drips-js-sdk/issues/90

Thanks all for your feedback! I'll add the unit tests and merge this.


Update example: monaco-languageclient doesn't export MessageConnection

The example here shows MessageConnection being imported from monaco-languageclient, but it isn't actually exported from there
https://github.com/TypeFox/monaco-languageclient/blob/42ecd6417473dfd7153ced741e03b873533c0930/example/src/client.ts#L7-L10
It appears to actually be exported by @codingame/monaco-jsonrpc or vscode-jsonrpc which we should probably merge or include in this repo.

It seems it's imported via index.ts => services.ts (export * from 'vscode-languageserver-protocol/lib/common/api') => api.d.ts (export * from 'vscode-jsonrpc')

I went to repro it this morning and wouldn't you know it works as expected. It appears to have been a caching issue with Vetur. My apologies. It is working fine now.


Get distance between current location and markers on map?

I have users current location on map and big number of markers. I would like to trigger when user is close to some of markers(for example if users is 200 m from marker, show him alert). Any ideas on solving this issue or any cool suggestion on my problem?
App - NativeScript  + Angular

@NikicaAsanin I guess a possible approach would be to use watchLocation to check for location changes and calculate the distance between the markers and the current location at this point.
There are a number of threads showing how to calculate the distance between markers (and/or location) in Android and they should be applicable for your scenario (of course the code should be written by using JS/TS and the nativescript-geolocation properties)
Please post how-to related questions in the community channels where the NativeScript community can help you with solutions (NativeScript forum, SO or NativeScript community slack)


If two users with the same name are created in both the primary and secondary userstore, the primary userstore user cannot  log in to the User-portal successfully

Description
If two users with the same name are created in both the primary and secondary userstore, the primary userstore user cannot log into the User-portal successfully.
To Reproduce
Steps to reproduce the behavior:
(In Management Console)

Add a user in PrmaryStore -->  eg. username=Testuser

Add a user in Secondary Userstore- (username=Testuser)

Both users have different password and same permissions(added all permissions for Internal/everyone).

Assign same role for both users

Successfully create both users.

Try to log in to user portal with Primary user store user

Provide user name and Password,

Provide required inputs for consent

See error page

Expected behavior
If two users with the same name are created in both the primary and secondary userstore,  users should able to login  User portal successfully.
Screenshots

Tested Environment and Details:
Create secondary user store with Mysql latest (MySQL Server 8.0.19)
Enable SCIM for secondary user store,
Note: but Secondary User store user can successfully login to userportal
(SECONDARY/Testuser)

This issue actually comes from the scim2 Me endpoint. If you have a user with the same name available in the secondary user store, then the Me call for the primary user will give this: {"schemas":["urn:ietf:params:scim:api:messages:2.0:Error"],"detail":"Multiple user's found for the given username.","status":"500"}