[camera_web] Using takePicture() always returns XFile with null MimeType

Steps to reproduce

Use https://pub.dev/packages/camera_web according to official example
Invoke final file = await _controller.takePicture()

Expected results

XFile with mimeType set
Alternatively, XFile  with such format that lookupMimeType() from https://pub.dev/packages/mime returns right mimeType
Bonus: It would be nice to have file's name filled as well

Actual results
XFile contains only path.
I conclude this is because of: https://github.com/flutter/packages/blob/main/packages/camera/camera_platform_interface/lib/src/method_channel/method_channel_camera.dart#L248. The plugin doesn't even try to pass mimeType from Javascript.
Code sample
It's really just an official example plus:
final file = await _cameraController.takePicture();
print(file.mimeType);

Screenshots or Video
No response
Logs
No response
Flutter Doctor output
Doctor output
[✓] Flutter (Channel stable, 3.16.5, on macOS 14.2.1 23C71 darwin-arm64, locale en-PL)
    • Flutter version 3.16.5 on channel stable at /Users/michal/Dev/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 78666c8dc5 (4 weeks ago), 2023-12-19 16:14:14 -0800
    • Engine revision 3f3e560236
    • Dart version 3.2.3
    • DevTools version 2.28.4

[!] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/michal/Library/Android/sdk
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.

[✓] Xcode - develop for iOS and macOS (Xcode 15.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15C65
    • CocoaPods version 1.14.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2023.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.7+0-17.0.7b1000.6-10550314)

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-arm64   • macOS 14.2.1 23C71 darwin-arm64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 120.0.6099.216

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

I conclude this is because of: https://github.com/flutter/packages/blob/main/packages/camera/camera_platform_interface/lib/src/method_channel/method_channel_camera.dart#L248. The plugin doesn't even try to pass mimeType from Javascript.

The code you've linked to isn't used on web (or in fact in any of our camera implementations). The web code is here
@ditman It looks like we could just hard-code the MIME type there, given the code just above it?

@stuartmorgan indeed, since we're encoding the canvas as jpg:

https://github.com/flutter/packages/blob/dea6c7306cf6aac942046bbc1ee8b593f296b44c/packages/camera/camera_web/lib/src/camera.dart#L259

We should be able to add the 'image/jpeg' MIME-type to the picture we're taking!

We should be able to add the 'image/jpeg' MIME-type to the XFile!

You can read the Blob.type and pass the obtained type to XFile.

Much more robust then!


feat(macOS): Add AppHandle::show() and AppHandle::hide()

What kind of change does this PR introduce? (check at least one)

[ ] Bugfix
[x] Feature
[ ] Docs
[ ] New Binding Issue #___
[ ] Code style update
[ ] Refactor
[ ] Build-related changes
[ ] Other, please describe:

Does this PR introduce a breaking change? (check one)

[ ] Yes. Issue #___
[x] No

The PR fulfills these requirements:

[ ] When resolving a specific issue, it's referenced in the PR's title (e.g. fix: #xxx[,#xxx], where "xxx" is the issue number)
[x] A change file is added if any packages will require a version bump due to this PR per the instructions in the readme.

If adding a new feature, the PR's description includes:

[x] A convincing reason for adding this feature (to avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it)

Other information:
Exposes macOS-only show_application and hide_application from tao.

@amrbashir Any idea why the build-artifacts action is failing, or how to go about fixing it? The EventLoopWindowTargetExtMacOS trait is imported, and app_handle.show() does work when I run tauri dev.
error[E0599]: no method named `show_application` found for reference `&EventLoopWindowTarget<Message>` in the current scope
    --> /Users/runner/work/tauri/tauri/core/tauri-runtime-wry/src/lib.rs:1952:20
     |
1952 |         event_loop.show_application();
     |                    ^^^^^^^^^^^^^^^^ method not found in `&EventLoopWindowTarget<Message>`

don't know really, but I think the updater-test-artifacts workflow has been broken for a while. @lucasfernog might have a better idea.

@amrbashir @lucasfernog either of you wanna give this one a look so it can be merged?

@amrbashir @lucasfernog either of you wanna give this one a look so it can be merged?

I think this one will need to wait for v2.

Opened PR https://github.com/tauri-apps/tauri/pull/3689 instead, from a different branch


Walk-through and help rewrite new protocol spec with researchers

Why
The formalism used in the paper is not capturing well the nature of on-chain verification within Cardano. For example, validators do not produce values, but merely check existing ones. Hence, the Hydra researchers are drafting up new specification in a slightly different formalism to more faithfully capture the checks to be done on-chain.
What
As they have created a first draft here (https://docs.google.com/document/d/11LlTTUuHu-3d-krq-O1h59kHm93Kb4cCQ6GhOcodFys/edit#), we now have a set of meetings to walk through both, the formalism and the actual specification, and review it together with them. This story captures the work on these sessions and the outcome being

A specification of the on-chain verification part
A list of any gaps already identified

Gaps so far

SM cid checks - how would we be sure an NFT is indeed an ST? pack it in datum instead?
ST in output value - seems not be checked right now
T_max very big on close/contest (close, but only have deadline in 10y)

Things we do differently right now (on top of the ones above)

Check committed outputs are reimbursed on v_head instead of v_commit

individual checks would "collapse" if two identical TxOuts were committed and only one needs to be reimbursed to pass

Validator can assume first output is v_head output (simplification)
Snapshot number and utxo hash need not be in the redeemer on close/contest

the output datum needs to include them and we can check using that
only the signature is enough

Do not allow contest by closing party and only allow contest once

need to collect who contested in the datum and check it
needed? leads to upper bound of T_final when we do this 👇

Deadline handling changed between paper and V2 -> T_final gets pushed out on each close/contest

this is easier to determine and scales with number of parties

@KtorZ @ffakenz I would say this subtask of #448 can be called done as we have a first draft of the on-chain spec + above list of currently identified gaps, which we also collect in the overall follow-up story #452


Parameters to render SRN dataset

Hi! Could you share some key parameters (listed below) used to render the same Chairs/Cars dataset presented in SRN paper?
1. sphere radius (distance to object)
2. light properties (like how many, direction, intensity, etc.)
3. other relevant parameters if necessary

This is also what I'm looking for! Especially for the scaling parameters.
Done some tedious research to align shapenet v2 models with original SRN datasets, but there are some weird scaling issues that I can not make right. Need to know the original scaling parameter of SRN chairs_train datasets.

I'm aware that after the model is imported, its bounding is centered at the origin.

:heavy_check_mark: Render chairs using parameters written in the scripts & align with shapenet v2 model (pointclouds)

:x: Align shapenet v2 model (pointclouds) with SRN chairs_train

:x: Align shapenet v2 model (pointclouds) with SRN chairs_train_2.0

@psguo As for the sphere radius, it can be infered from the poses.
For example, for chairs_train, np.linalg.norm(c2w[...,:3,3], axis=-1) is constant at 1.3, so the sphere radius is 1.3.

UPDATE: I've found how the shapenet models are scaled to render the original SRN datasets!!!!!!!

Quick answer: after the models are imported, I believe Dr. Sitzmann scales them again so that the maximum value of the diagonal vectors of the bounding boxes equals 1.

Now the shapenet models are perfectly aligned with the SRN renderings.

Detailed steps to make shapenet v2's normalized models to be aligned with SRN's renderings dataset:

('model' stands for vertices or pointclouds of the model)

offset the model, so that the center of the bounding box is at the origin. This could be done using the model_normalized.json provided in the shapenet v2 dataset, with: model = model + (centroid - center) / norm(diag), where:

centroid stands for the mean point of the model's vertices, and can be directly read from the json
diag stands for the diagonal vector of the bounding box and can be calculated with 'max'-'min' from the json
center stands for the center of the bounding box, and can be calculated with ('max'+'min')/2 from the json

rescale the model, so that the max value of the diagonal vector of the bounding box equals 1.

model = model / ( max(diag) / norm(diag) )

rotate the model, with the left rotation matrix: np.array([ [1, 0, 0], [0, 0, -1], [0, 1, 0] ])

Below are some example results:

I found it out by tring to think in his situation about how he would scale the models to make the renderings are better to train.

For the lighting parameters. I changed them around to get something similar at least for the cars category:
lamp1 = bpy.data.lamps['Lamp']
lamp1.type = 'SUN'
lamp1.shadow_method = 'NOSHADOW'
lamp1.use_specular = False
lamp1.energy = 1.33
lamp1_obj = bpy.data.objects['Lamp']
lamp1_obj.rotation_euler = (math.radians(90), 0, math.radians(180)) # pointing from the top

bpy.ops.object.lamp_add(type='SUN')
lamp2 = bpy.data.lamps['Sun']
lamp2.shadow_method = 'NOSHADOW'
lamp2.use_specular = False
lamp2.energy = 0.1
bpy.data.objects['Sun'].rotation_euler = (math.radians(0), 0, 0)

bpy.ops.object.lamp_add(type='SUN')
lamp2 = bpy.data.lamps['Sun.001']
lamp2.shadow_method = 'NOSHADOW'
lamp2.use_specular = False
lamp2.energy = 0.1
bpy.data.objects['Sun.001'].rotation_euler = (math.radians(0), 90, 0)

bpy.ops.object.lamp_add(type='SUN')
lamp2 = bpy.data.lamps['Sun.002']
lamp2.shadow_method = 'NOSHADOW'
lamp2.use_specular = False
lamp2.energy = 0.1
bpy.data.objects['Sun.002'].rotation_euler = (math.radians(0), 180, 0)

bpy.ops.object.lamp_add(type='SUN')
lamp2 = bpy.data.lamps['Sun.003']
lamp2.shadow_method = 'NOSHADOW'
lamp2.use_specular = False
lamp2.energy = 0.1
bpy.data.objects['Sun.003'].rotation_euler = (math.radians(0),270, 0)


If hide() returns true on an option

Then it also shouldn't show up in the "Add a property" dialog (or it should be grayed out). And the "add a property" dialog shouldn't show an affordance to be opened if there are no not-hidden options

Related to #25

last fix: make it so if the default selected radio button is the first non-disabled one


ERR_UNSUPPORTED_ESM_URL_SCHEME on Windows

Description
It looks like you already fixed one of the issues introduced by 12.1.0, but there seems to be another:
Error [ERR_UNSUPPORTED_ESM_URL_SCHEME]: Only file and data URLs are supported by the default ESM loader. On Windows, absolute paths must be valid file:// URLs. Received protocol 'c:'

Steps to reproduce
Run the latest (12.1.1) lint-staged on Windows. Let me know if you would like a repository that reproduces the issue.
Debug Logs

expand to view
Error [ERR_UNSUPPORTED_ESM_URL_SCHEME]: Only file and data URLs are supported by the default ESM loader. On Windows, absolute paths must be valid file:// URLs. Received protocol 'c:'
    at new NodeError (node:internal/errors:371:5)
    at defaultResolve (node:internal/modules/esm/resolve:1016:11)
    at ESMLoader.resolve (node:internal/modules/esm/loader:422:30)
    at ESMLoader.getModuleJob (node:internal/modules/esm/loader:222:40)
    at ESMLoader.import (node:internal/modules/esm/loader:276:22)
    at importModuleDynamically (node:internal/modules/esm/translators:111:35)
    at importModuleDynamicallyCallback (node:internal/process/esm_loader:35:14)
    at dynamicImport (file:///C:/Projects/System7/Slateplan/UI/react-app/node_modules/lint-staged/lib/loadConfig.js:26:11)
    at Object.search (C:\Projects\System7\Slateplan\UI\react-app\node_modules\lilconfig\dist\index.js:126:37)
    at async loadConfig (file:///C:/Projects/System7/Slateplan/UI/react-app/node_modules/lint-staged/lib/loadConfig.js:62:18) {
  code: 'ERR_UNSUPPORTED_ESM_URL_SCHEME'
}

Environment

OS: Windows 11
Node.js: 16.13.0
lint-staged: 12.1.1

Thanks for the report, @srmagura! Since I don't have a Windows machine, can you help me debug this by adding some logging here (editing the file locally in your project at ./node_modules/lint-staged/lib/loadConfig.js):
https://github.com/okonet/lint-staged/blob/e96b6d9674f07b4686876cb40605274577925973/lib/loadConfig.js#L23-L29
Maybe something like:
   /** exported for tests */
   export const dynamicImport = (path) =>
+++  console.log(path) ||
     import(path)
       .then((module) => module.default)
       .catch((error) => {
         console.error(error)
         throw error
       })

if the path is something like c://..., maybe we need to normalize it like this:
+++ import normalize from 'normalize-path'

   /** exported for tests */
   export const dynamicImport = (path) =>
---     import(path)
+++     import(normalize(path))
       .then((module) => module.default)
       .catch((error) => {
         console.error(error)
         throw error
       })

Might be that we need some to use this instead:
+++ import { pathToFileURL } from 'url'

   /** exported for tests */
   export const dynamicImport = (path) =>
---     import(path)
+++     import(pathToFileURL(path).toString())
       .then((module) => module.default)
       .catch((error) => {
         console.error(error)
         throw error
       })

The path given to dynamicImport starts C: which is the problem. normalize converts it to forward slashes but the same error occurs because it still starts with C:.
Your latest suggestion works!
export const dynamicImport = (path) => {
  return import(pathToFileURL(path).toString())
    .then((module) => module.default)
    .catch((error) => {
      console.error(error)
      throw error
    })
  }

Let's hope https://github.com/okonet/lint-staged/pull/1055 fixes this.

Still seeing this issue in Webstorm on Linux, works fine in the terminal. Running the same node versions.

@martinstark can you add some logging here to see what the unsupported url looks like inside Webstorm?
https://github.com/okonet/lint-staged/blob/e7b6412fb128f314346e28329c17a676cf691135/lib/loadConfig.js#L28

@iiroj I added logging and verified I can see the logs when I run lint-staged from githooks in the "regular" terminal, but from within Webstorm it doesn't seem to manage to launch lint-staged:

I added a console.log as the first line inside of bin/lint-staged.js and it doesn't log anything in Webstorm.
Given the symptoms, this may not be related to the original issue. Happy to try to help debugging this in any way I can.

@martinstark you need to return the import() value.

@iiroj You're right. Regardless, console.log("calling dynamicImport"); never seems to be called, it should log something whether I return the import statement or not. The code never seems to get to that point.
Given that lint-staged runs outside of webstorm, even if I don't return the import result, I don't think I end up on a path that uses the dynamicImport method. Since which lint-staged points to lint-staged inside of my node_modules, I don't think I'm executing the wrong lint-staged file. I can see the symlinked lint-staged in node_modules/.bin pointing at the correct entry point.

@martinstark please open a new issue. I'm happy to make a fix if we can find out how.

It works! Great job 🎉

I'm getting this exact same issue regardless of my lint-staged version. Thought it might be a webstorm thing but no luck from the terminal either.
This occurs on 12.0.3 and 12.1.2

Any ideas?

I am running into this issue only on GitHub Desktop while on node 14.16.0.

I'm getting this in the command line on linux with node 12.18.3...
10292$ npx lint-staged --help
(node:717910) ExperimentalWarning: The ESM module loader is experimental.
internal/modules/run_main.js:54
    internalBinding('errors').triggerUncaughtException(
                              ^

Error [ERR_UNSUPPORTED_ESM_URL_SCHEME]: Only file and data URLs are supported by the default ESM loader
    at Loader.defaultResolve [as _resolve] (internal/modules/esm/resolve.js:698:11)
    at Loader.resolve (internal/modules/esm/loader.js:97:40)
    at Loader.getModuleJob (internal/modules/esm/loader.js:243:28)
    at ModuleWrap.<anonymous> (internal/modules/esm/module_job.js:47:40)
    at link (internal/modules/esm/module_job.js:46:36) {
  code: 'ERR_UNSUPPORTED_ESM_URL_SCHEME'
}

Happened to me on MacOS, fix was to bump the node version to 16(for me specifically to 16.13.2)

Happened to me on MacOS, fix was to bump the node version to 16(for me specifically to 16.13.2)

it fixed me too.I upgrade node version to 16


change return type of cookies.get back to string|undefined

Fixes #6865. The return type of cookies.get is string|undefined, not string|void.
Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[x] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[x] This message body should clearly illustrate what problems it solves.
[ ] Ideally, include a test that fails without this PR but passes with it.

Tests

[x] Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

[x] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpm changeset and following the prompts. All changesets should be patch until SvelteKit 1.0

This also should be changed in the docs. Pretty sure the happens when the PR is released, but just checking to see if I missed a step.


Window/Window Covering Profile issue regarding position state

I have succesfully made a Window + Window Covering accessory. I can add the devices to eve app, use the functionality, the problem I have is the "Position State", which always says closing (the initial value is 0) / (1 indicates Opening and 2 indicates Stopped).
But why doesn't Position State change as I change the Target positon to xx %?
I thought it might be something with supportevents, I have set as true but I didn't change anything.
Do I need to add something more in the Target positon/Position State brackets to change the value in Position State when setting a Target positon?

@supermax45 You have to handle it yourself. You might have a look here
But  I really don't see the benefit of this characteristic.

@supermax45 would you possibly be able to share your code? I too am trying to create a window covering device but Siri has never co-operated "sorry I could not find any devices this time" etc. I could also add position state to mine to test . Thanks

https://www.dropbox.com/s/elr73m8jwkuty2q/Window_accessory.js?dl=0
https://www.dropbox.com/s/w6vkmams58sdess/WindowCovering_accessory.js?dl=0
Maybe it's easier to help me now.
@cflurin i have tried your link but got an error at " this.Characteristic.CurrentPosition.setProps( { minStep: 5 });"
Is there no way to implement it in my application?

@supermax45 I'm not sure I unterstand you. You asked for "Position State"
Using the new API - which I recomned you - you have to define a service:
...
function FhemWindowCovering(log, config) {
...
  this.Characteristic = {};
  this.currentValue = {};
...
FhemWindowCovering.prototype = {
...
  getServices: function() {
...
    var FhemWindowCoveringService = new Service.WindowCovering();
...
    this.Characteristic.PositionState = FhemWindowCoveringService
      .getCharacteristic(Characteristic.PositionState)
      .on('get', this.getPositionState.bind(this));

    // The value property of PositionState must be one of the following:
    // Characteristic.PositionState.DECREASING = 0;
    // Characteristic.PositionState.INCREASING = 1;
    // Characteristic.PositionState.STOPPED = 2;
    this.currentValue.PositionState = Characteristic.PositionState.STOPPED;

and define:
  getPositionState: function(callback) {
...

Take a look at the FhemWindowCovering.js for more details.

And would using the new API be any better?
Are you saying that it's impossible to change position state in my application if target position value is changed?

Sure you can change the position state in your application, e.g. setting the target position the motor will start in one direction (set DECREASING or INCREASING) , at the end you can set STOPPED. As I said I didn't implement this because I don't see any advantage.
I only use the new homebridge API.

Can you give a example of how to implement it in the window example? :)
https://www.dropbox.com/s/elr73m8jwkuty2q/Window_accessory.js?dl=0
Initial value is set to 2 = Stopped
The ideal scenario is tapping in eve app, setting a target value and see that position state changes from stopped to opening and maybe after 1 sec go back to stopped.
Decreasing target position change stopped to closing and back to stopped.
I am a bit confused about what exactly the execute("Window", "Current Position", value); etc.
Sry for being a noob, but I have never worked javascript/json before.

Just now I'm quite busy. You can start using the new API with a simple shims like
FakeOutlet.js on my repo, you also find the corresponding config-fake.json.
You should also install the latest homebridge. If you are using a RPi, take a look here

Your FakeOutlet doesn't work. I have both tried on my current homebridge folder I have used succesfully with Hyperion TV backlight, but then trying to add Fake-Homebridge it never give me a chance to type password, same happens in the newest version of Homebridge.

Hmm, It works perfectly with EVE :smile:

Do you know what could be wrong? I see the Fake Homebridge fine in Eve but after tapping it, it never ask for a setup code..

Please don't post Your FakeOutlet doesn't work. It isn't really motivating me to help you. Well probably it's an issue with the repeating tests you've done.
Try to rename the username in config.json
from:
        "username": "CC:22:3D:E3:CE:30",

to:
        "username": "CC:22:3D:E3:CE:31",

and restart homebridge

Already tried that..

@cflurin sry for the "Your FakeOutlet doesn't work" i should had added "for me"
Im back to trying a new api for HAP-NODEjs following the examples lock, temperatur sensor and lightbulb.
Would you maybe look at my code and tell if it look's okay? It's just the most basic for now.
Sadly i can't the accesorry in console after running node Core.js :(

https://www.dropbox.com/s/sy6b30xihxuadkk/FakeWindow_accesory.js?dl=0
can not download

can you upload the accessory again please?

thanks

Could you share you window covering accessory again?

look at my example, it helps you anyway
https://lisergio.wordpress.com/2017/09/18/accesorio-persiana-compatible-con-homekit/


ACCUMULO-4615: Updated get status for thread safety and with a per-task timeout

Changes to the status threadpool used by Master#StatusThread. Big changes are:

Use a timeout per status gathering task (instead of a timeout for the entire pool)
Changed the status gather results to a threadsafe data structure (ConcurrentSkipListMap)
Added separate property for the status timeout (per tserver)

https://issues.apache.org/jira/browse/ACCUMULO-4615

1.9.1 is fine for a target. It may depend on how the final implementation changes the public API or other user-facing components, though. It may also depend on how risky/disruptive the final implementation is.

I prototyped my half baked idea. The prototype can be found in commit keith-turner@5044241ca445a0bbc48e38931f09f77d8acb44b9  which is in the branch keith-turner/ACCUMULO-4615.  I am not proposing we do this, just posting it for consideration.  The concept needs to be tested on a busy cluster.
I say this idea is half baked because I have never used the thrift send and recv method separately.  I suspect it may work well, but I am not sure.  I think in the case where a tablet server is using THsHaServer it may work really well because there is a dedicated thread to accept connections (even if all threads in the servers thread pool for processing connections are busy).  However in the case where the tserver uses the TThreadPoolServer (this is used then Kerberos is used and it can also be configured) there is no dedicated thread to accept connections, so the send call from the master may block if all server threads are busy (I am not sure).  A dedicated thrift server and port for getting status in tablet servers would solve this issue.
A completely different way of solving this issue may be to use the thrift async client which uses non-blocking sockets for connections.  However I Am not sure how well this would work with SSL and Kerberos and I have never used the thrift async client.  I am interested in learning more about it though, but have not yet found the time to do so.

Resolved conflicts in PR with updated 1.8 branch.

@keith-turner RE: Your new thrift server. I'm not really too savvy with thrift. I'll have to do some poking around to understand it more. But the idea sounds reasonable to me. We still have the open question about what is appropriate when we cannot reach a tserver for its status in a timely manner (the onTimeout() case).
What do you think about tracking "notReached" tservers in this scenario and delaying balancing rather than incrementing the badServers count (so we don't eventually kill it)?

@keith-turner Touching base on this. Do you have any opinions on the suggestion in my last comment? Thanks!

OBE'd by cached thread pool


PBC got struck in the upgrade available state

What happened: PBC got struck in the upgrade available state
How to reproduce it (as minimally and precisely as possible):

Run helm uninstall eks-anywhere-packages and eksctl anywhere install packagecontroller -f $CLUSTER_NAME.yaml to force a clean initialization state for PBC.
Run eksctl anywhere get packagebundle, and get result

NAME        STATE
v1-23-70    available

Run eksctl anywhere get pbc, and get result

NAME            ACTIVEBUNDLE   STATE    DETAIL
ivyjin-mgmt-5   v1-23-70       active

Until this point, everything is working as expected.

Generate a local bundle file v1-23-175, and run upgrade using eksctl anywhere upgrade packages --bundle-version v1-23-175, then run eksctl anywhere get pbc, the result is

NAME            ACTIVEBUNDLE   STATE               DETAIL
ivyjin-mgmt-5   v1-23-175      upgrade available

This indicates there is a version higher than v1-23-175 available. However, if I run eksctl anywhere get packagebundle, I get result below, so there are only two versions available.

NAME        STATE
v1-23-175   available
v1-23-70    available

Is PBC treating v1-23-70 as the latest bundle? It doesn't seem to be the case either. I tried eksctl anywhere upgrade packages --bundle-version v1-23-70 and checked eksctl anywhere get pbc and got result below:

NAME            ACTIVEBUNDLE   STATE               DETAIL
ivyjin-mgmt-5   v1-23-70       upgrade available

Anything else we need to know?:
Environment:

EKS Anywhere Release: - EKS Anywhere Release: built from main as of 9/1/2022

there was the detail problem, bu I have not seen this lately. Reopen if someone else is seeing this.


New Expression BeAnnotatedWith

Feature Request
Add BeAnnotatedWith Expression.

Q
A

New Feature
yes

RFC
yes/no

BC Break
yes/no

Summary
Use case:
yield Rule::allClasses()
        ->that(new Implement(App\Shared\Domain\Event\Event::class))
        ->should(new BeAnnotatedWith('@psalm-immutable'))
        ->because('we want to enforce immutability');

As class naming I suggest HaveAnnotationMatching or HaveAnnotations (this last one is my preferred) instead of BeAnnotatedWith.

Closed by #255


Add annotations to zephyr_mirror_backend.py

Automated message from Dropbox CLA bot
@anirudhjain75, it looks like you've already signed the Dropbox CLA. Thanks!

@TomaszKolek https://chat.zulip.org/#narrow/near/80721/stream/GCI.20general/topic/anirudhjain75
He's not online but this is the conversation link

@anirudhjain75 I think this looks good.
You have some test errors. Please fix them and I will ask for this to be merged.
@timabbott I am concerned that most of the zephyr fields are str rather than Text. Is this an issue? It appears to type-check fine without code modification but I suspect there are some latent bugs in Python 2 because of this (the message wrapping code)? If it is an issue what should we do?

Also please run
./tools/run-my --py3
in addition to
./tools/lint-all --pep8
To check for errors before submitting.

@pweaver It was due to a whitespace

Looks good to me.
@timabbott can you merge? If the Text/str annotations are an issue I think we should open an issue and create a task to fix it.

Merged, after s/tuple/Tuple/` to use the proper type.  Thanks @anirudhjain75!


Postgres crashes throwing "no PostgreSQL user name specified in startup packet"

Do you want to request a feature or report a bug?
bug
What is the current behavior?
I'm running a self–hosted graph instance to index my contracts on the EVMOS test network. I use docker compose. After some hours, postgres stopped with this message:
subgraph-graph-node-1  | Jun 10 16:01:03.914 INFO Scanning blocks [1666322, 1668321], range_size: 2000, sgd: 1, subgraph_id: QmQPrEprUt24phs61aKSE8PaXBu78BZPKu4qHwqQNn86oN, component: BlockStream
subgraph-graph-node-1  | Jun 10 16:01:04.422 INFO Scanning blocks [1668322, 1670321], range_size: 2000, sgd: 1, subgraph_id: QmQPrEprUt24phs61aKSE8PaXBu78BZPKu4qHwqQNn86oN, component: BlockStream
subgraph-graph-node-1  | Jun 10 16:01:04.910 INFO Scanning blocks [1670322, 1671435], range_size: 2000, sgd: 1, subgraph_id: QmQPrEprUt24phs61aKSE8PaXBu78BZPKu4qHwqQNn86oN, component: BlockStream                                            subgraph-postgres-1    | 2022-06-10 19:50:17.965 UTC [618] FATAL:  unsupported frontend protocol 0.0: server supports 3.0 to 3.0
subgraph-postgres-1    | 2022-06-10 19:50:18.283 UTC [619] FATAL:  unsupported frontend protocol 255.255: server supports 3.0 to 3.0                                                                                subgraph-postgres-1    | 2022-06-10 19:50:18.588 UTC [620] FATAL:  no PostgreSQL user name specified in startup packet
subgraph-postgres-1    | 2022-06-10 20:17:53.681 UTC [686] FATAL:  unsupported frontend protocol 0.0: server supports 3.0 to 3.0
subgraph-postgres-1    | 2022-06-10 20:17:53.899 UTC [687] FATAL:  unsupported frontend protocol 255.255: server supports 3.0 to 3.0                                                                                subgraph-postgres-1    | 2022-06-10 20:17:54.114 UTC [688] FATAL:  no PostgreSQL user name specified in startup packet
subgraph-postgres-1    | 2022-06-10 21:41:51.916 UTC [900] FATAL:  password authentication failed for user "postgres"
subgraph-postgres-1    | 2022-06-10 21:41:51.916 UTC [900] DETAIL:  Role "postgres" does not exist.
subgraph-postgres-1    |        Connection matched pg_hba.conf line 100: "host all all all scram-sha-256"
subgraph-postgres-1    | 2022-06-10 21:41:52.382 UTC [901] FATAL:  password authentication failed for user "xdhRtSw"
subgraph-postgres-1    | 2022-06-10 21:41:52.382 UTC [901] DETAIL:  Role "xdhRtSw" does not exist.
subgraph-postgres-1    |        Connection matched pg_hba.conf line 100: "host all all all scram-sha-256"
subgraph-postgres-1    | 2022-06-10 21:43:39.023 UTC [906] FATAL:  unsupported frontend protocol 0.0: server supports 3.0 to 3.0
subgraph-postgres-1    | 2022-06-10 21:43:39.078 UTC [907] FATAL:  unsupported frontend protocol 255.255: server supports 3.0 to 3.0
subgraph-postgres-1    | 2022-06-10 21:43:39.128 UTC [908] FATAL:  no PostgreSQL user name specified in startup packet

If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem.
My config + subgraph can be found here: https://github.com/TelediskoDAO/subgraph/tree/fix/7/evmos-compatibility
What is the expected behavior?
Postgres shouldn't crash

I have never seen graph-node cause an issue like that. Did Postgres really crash or just complain? It looks like something fairly random is trying to connect to it (especially the connection attempt with user xdhRtSw is very strange) Could there be other things trying to connect to the Postgres port?


[BEAM-945] Make BigQueryIO.parseTableSpec public

Hi Andrew, in general we work very hard to ensure that our API surface is clean, and limited to only code we intend to document and support for years. Private internal utility functions should stay internal -- but I think there's no harm in copying the 10 lines of code where you need them.

Hi @dhalperi, thanks for the quick response. So there was a conscious choice to change it to private? It used to be public and it is still documented on the class: https://github.com/andrewsmartin/incubator-beam/blob/2ba3ab20363a6160d3bf42b8c321fc299babfcef/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/BigQueryIO.java#L151

Good point. Thanks for the change, I'll merge it. Sorry for the regression.

@dhalperi Thanks! Just out of curiosity, will this make it into a 0.3 patch release or will it wait until 0.4.0?


[DevOps] Add support to GitHub Actions - Test

Steps
For: [Pull Requests, Merges]

Run Install
Run Test

Completed


Update macmodels.js

Update the macmodels.js "database".

Would you like to change the "nudges", or they are good atm?


Use calculated line widths for gutter text

A possible alternative to #137?

Okay I played around with also caching the calculated width on the first call, but with swift value semantics you can't modify self in a getter.


Arrows on links to show direction

Fixes #14
Description

Added arrows to the links to show direction of the links. The size of arrow has been selected such that the arrow is visible even in low zoom.
When the nodes are not hovered/highlighted main focus is given on text label and when the node is hovered/highlighted the main focus is given to arrow.
Screenshots
Without hovering

On hovering

Checklist

[x] My pull request has a descriptive title (not a vague title like Update index.md).
[x] My pull request targets the master branch of the repository.
[x] My commit messages follow best practices.
[ ] I added tests for the changes I made (if applicable).
[ ] I added or updated documentation (if applicable).
[x] I tried running the project locally and verified that there are no
visible errors.

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

@soccerdroid  @mathemancer  Please Review this PR

Is there any workaround for the arrows covering the edges descriptions?

@soccerdroid  I have tried to fix this issue by replacing the '<' and '>' character in the link text with the link arrow and by adding some spaces in between the source and destination name with the help of some mathematics.
Its working fine for links having large font-size but the arrows are coinciding with the text in case of small fontsize. (Please have a look at the screenshots). So do you want me to stay with this approach and fix this issue for smaller font-size (probabily just making the arrow size as a function of font-size) or do I consider some other solution? For example changing the color combinations so that the link-text is visible even after hovering or highlighting of link.
Please give me your opinion.
For normal font-size

For smaller font-size

Is there any workaround for the arrows covering the edges descriptions?

@soccerdroid I have tried to fix this issue by replacing the '<' and '>' character in the link text with the link arrow and by adding some spaces in between the source and destination name with the help of some mathematics.
Its working fine for links having large font-size but the arrows are coinciding with the text in case of small fontsize. (Please have a look at the screenshots). So do you want me to stay with this approach and fix this issue for smaller font-size (probabily just making the arrow size as a function of font-size) or do I consider some other solution? For example changing the color combinations so that the link-text is visible even after hovering or highlighting of link.
Please give me your opinion.
For normal font-size

For smaller font-size

Is there any workaround for the arrows covering the edges descriptions?

Let's try with the color combination you mention, you can attach the screenshots here as a comment as well.

Hi @BharatNischal ! Did you try the color combination?

Hi @BharatNischal ! Did you try the color combination?

@soccerdroid  Soo sorry for the delay. I was a little busy but I will finish this within 2 days and will get back to you.

@soccerdroid  I tried with color combination but it did not worked. No matter what color I choose the arrows are always above the text. So I tried this new solution where I translate the arrows when they are highlighted. please see the screenshots.
Or we can just place the text above the edge at the start too.

what you say?

Is there any way we can move the arrow as close as possible to the node? That could be one workaround. Another one could be to set a smaller arrow size for shorter edges (though maybe this is more complex, not sure if this is possible with the current library). How do the arrows look like for shorter edges with your last solution?

Hi @soccerdroid and @BharatNischal. I think we can use linkDirectionalArrowRelPos method provided by force-graph and set its value around 1, to keep the arrow in close proximity to the node.
Please have a look at the snapshot (using 0.99).

Thanks @subhamX , I think that could work. What do you say @BharatNischal ?

Thanks @subhamX , I think that could work. What do you say @BharatNischal ?

Yes thats a good solution. Thanks @subhamX  for the help.
Actually I was taking a break from coding for a week. I will fix the issue soon

It seems that this PR is having a conflict because of some previously merged PRs . How can I resolve this?

@BharatNischal It seems that your branch BharatNischal:directed-Edges is not synchronized with creativecommons:master. I suggest you to follow these steps to synchronize and resolve conflicts.
Make sure you are on directed-Edges branch.
# Add upstream URL
git remote add upstream git@github.com:creativecommons/cccatalog-dataviz.git
# Fetch Information
git fetch upstream
# Rebase with upstream/master i.e creativecommons:master
git rebase upstream/master

After these, you will be prompted with Merge Conflict. Open your text editor and perform necessary changes which fix the conflict.
# Add the index.html file
git add index.html
# Continue the rebase
git rebase --continue
# Push your changes to origin/directed-Edges
git push origin/directed-Edges

Hope this helps!

@subhamX thanks for the help. Now the merge issue has resolved but it now shows 3 extra commits. Is it ok?

@subhamX thanks for the help. Now the merge issue has resolved but it now shows 3 extra commits. Is it ok?

I think it isn't. Correct me if I am wrong, but you modified only one js file, right?

@subhamX thanks for the help. Now the merge issue has resolved but it now shows 3 extra commits. Is it ok?

I think it isn't. Correct me if I am wrong, but you modified only one js file, right?

Yes I just updated index.html
How can I remove the extra commits?

@BharatNischal,  the steps I had mentioned earlier for rebasing shouldn't create any extra merge commits or any commits since rebase should have taken fast-forward route.
I think that 632157c commit is redundant and was created after the rebase operation. Duplicacy is because of this commit. You can consider removing it since all changes are already present in previous commits.
Another small thing. Merge commits should arise if you pull the branch (git pull) and there are some changes in the server which are not present locally. f3b6c90 and d2a1103 are because of this. In case you wish to reduce the number of commits consider squashing them.

Another option, and because it got kind of confusing this rebasing/merging operation, is that you create another branch from the master branch, and add your modified file here. I'm suggesting this because the changes are not long. Is this easier for you @BharatNischal ?

Another option, and because it got kind of confusing this rebasing/merging operation, is that you create another branch from the master branch, and add your modified file here. I'm suggesting this because the changes are not long. Is this easier for you @BharatNischal ?

Ok sure it will be relatively easy to create a new branch

https://github.com/creativecommons/cccatalog-dataviz/pull/30#issue-428428436
This is the link to new PR

Closing this as #30 has been accepted and merged. Thanks @BharatNischal !


Upgrade/rails 7.1.4

The migration to Rails 7.1 and Bootstrap 5 is now complete. There are still a few places that still need to be converted to turbo and stimulus.

The migration to Rails 7.1 and Bootstrap 5 is now complete. There are still a few places that still need to be converted to turbo and stimulus.


Request

There is no easy way to clear the crafting grid, Maybe having an X that when clicked clears grid. 1.8.9

This is now in EZStorage 2.


Add integration tests

ClusterAdmissionPolicy

(T) Without setting a policy server, the policy is set to unscheduled state
When setting a policy server

(T) The policy is set to pending state if the bound policy server exists
(T) The policy is set to scheduled if the bound policy server does not exist
(T) The policy transitions from scheduled to pending if the policy was bound to a nonexistant policy server initially, but the policy server was created afterwards
(T) The policy transitions eventually to active if the policy server exists

Modifying the bound policy server ConfigMap alters the status of the policy (observed state of the world)

Mode of the policy: monitor, protect is set to what is observed on the ConfigMap
Conditions transition:

(T) PolicyServerConfigurationUpToDate goes through False (with ConfigurationVersionMismatch reason) to True (with ConfigurationVersionMatch reason).
(T) PolicyUniquelyReachable goes through False (with LatestReplicaSetIsNotUniquelyReachable reason) to True (with LatestReplicaSetIsUniquelyReachable reason)

(T) If the policy server cannot be found, delete the policy if it's undeleted and its status is active or pending -- this means that the policy server had to exist, but does not anymore.
(T) If the policy server can be found, it's deleted and the policy status is active: the policy is deleted

AdmissionPolicy

(T) Without setting a policy server, the policy is set to unscheduled state
When setting a policy server

(T) The policy is set to pending state if the bound policy server exists
(T) The policy is set to scheduled if the bound policy server does not exist
(T) The policy transitions from scheduled to pending if the policy was bound to a nonexistant policy server initially, but the policy server was created afterwards
(T) The policy transitions eventually to active if the policy server exists

Modifying the bound policy server ConfigMap alters the status of the policy (observed state of the world)

Mode of the policy: monitor, protect is set to what is observed on the ConfigMap
Conditions transition:

(T) PolicyServerConfigurationUpToDate goes through False (with ConfigurationVersionMismatch reason) to True (with ConfigurationVersionMatch reason).
(T) PolicyUniquelyReachable goes through False (with LatestReplicaSetIsNotUniquelyReachable reason) to True (with LatestReplicaSetIsUniquelyReachable reason)

(T) If the policy server cannot be found, delete the policy if it's undeleted and its status is active or pending -- this means that the policy server had to exist, but does not anymore.
(T) If the policy server can be found, it's deleted and the policy status is active: the policy is deleted

PolicyServer

Remove policy server

(T) Deleted policy server with no assigned policies -> finalizer is removed
With assigned policies

All assigned policies are deleted

(T) ClusterAdmissionPolicy and (T) AdmissionPolicy

(T) Eventually, no policies are bound to it -> removal (the finalizer is removed)

(T) The policy transitions eventually to active if the policy server exists

These tests will be an end to end test, given that integration tests don't have the controller-manager.

Modifying the bound policy server ConfigMap alters the status of the policy (observed state of the world)

We have agreed that modifying the ConfigMap is not a big deal, given that we will be overriding it over and over with our own controller, so no need to watch for manual changes on the ConfigMap during regular operation.

Implemented by https://github.com/kubewarden/kubewarden-controller/pull/175


Deploy release 4.22

[x] run unit tests in dev
[x] update version to "4.22" in setup.py and hxl/__init__.py
[x] check CHANGELOG
[x] install and test in clean virtualenv
[x] merge to test and push
[x] merge to master and push
[x] create libhxl PyPi release: pip install twine && python setup.py sdist && twine upload dist/libhxl-4.22*
[x] wait until the new release is visible on PyPi https://pypi.org/project/libhxl/4.22/
[x] add git tag "4.22"
[ ] create GitHub release

Deployed.

Deployed.


[Feature Request] MultimodalPrompt

Required prerequisites

[X] I have searched the Issue Tracker and Discussions that this hasn't already been reported. (+1 or comment there if it has.)
[X] Consider asking first in a Discussion.

Motivation

To enable multimodal perception of agents, we need a flexible multimodal prompt class at the first stage.
The class should have some basic features:

flexible to add new modailties.
conversion from human-readable to machine-readable format.
easy to save and transfer among different agents.

I am willing to add this feature.
Solution
The prompt could have following form:
Listen to this audio {audio} and see the image {image} to describe the scene.
I suggest base64 encoding to store all modality information.
Alternatives
No response
Additional context
No response

Thanks @chenllliang. That is a great idea! Is there any reference on implementing MultimodalPrompt this way?

@lightaime Hi, the design is inspired by current advance in multimodal llm like MMICL and MiniGPT5, which support interleaved text and image as input. The multimodal information could appear on different place of the prompt (at the head of the prompt for most current VLMs).  The MultimodalPrompt class can be instantiated according to different multimodal LLM, for example:

for MMICL. the input prompt includes the image id and reference information

1. Interleaved Image-Text Data

Input:  Image 0 is <image0> {image 0}
        ...
        Image j is <imagej> {image j}
        {question}

MMICL:  {answer}

2. In−Context Demonstration Data

Input:  Image 0 is <image0> {image 0}.
        {question}
        {answer}
        ...
        Image j is <imagej> {image j}.
        {question}

MMICL:  {answer}

Different VLMs handle the multimodal information differently, MultimodalPrompt should be flexible to fit different models.

Thanks for the explanation! I think it is promising (Although I have no clue if gpt-4v does it this way). Please feel free to open a pull request. Also happy to discuss more if you want.

I don't know either lol, but from the gpt4-v interface provided to user, it seems that gpt4-v simply concats the image and the text.

I guess they number the images as well. I tried to upload multiple images and asked what is the first one and what is the second one. It does work as expected.

thanks for the information


Add task to clean up old bundler dependencies

This task run bundle clean to remove old bundler dependencies. To prevent removal of dependencies need for rollback version, it is run before deploy on the previous versions Gemfile. This is to prevent the accumulation of old Gem files which can use up disk space on servers.

@theseanything nice one! I've been down this road before, and I'm afraid it's not so simple :-(. Since we share our gem installations between apps, running bundle clean removes gems that may still be in use by other apps. While with dependabot this seems unlikely, we also can't guarantee they're unused, especially if there's a delay/problem with merging/deploying.
I can't remember if I thought of any alternatives. The only way to do this non-destructively would be to isolate the gem installations for each app, which could actually take up more space. Alternatively, bundle clean could support multiple Gemfile.locks, to avoid messing up another app's gems.
https://github.com/bundler/bundler/issues/6812

@theseanything nice one! I've been down this road before, and I'm afraid it's not so simple :-(. Since we share our gem installations between apps, running bundle clean removes gems that may still be in use by other apps. While with dependabot this seems unlikely, we also can't guarantee they're unused, especially if there's a delay/problem with merging/deploying.

Thanks @benthorner for having a look! When you say we share gems between apps, do you mean between release versions of the same app (current & previous version) or share between entirely different apps (content-publishers & content-data)?
I looked in one of the VMs and bundler does appear to segregate gems per app, but had shared gems between releases. To overcome that I've made it run bundle clean on the previous version before the new version is deployed. This should mean we retain the required gems for the previous release (in case the need for a rollback). Then as the new release deployed, the extra gems it requires are installed.

@theseanything that's what I thought, but now I see I'm completely wrong, as per capistrano/bundler. The only other reason we may have held back on this is that it prevents the rollback feature from working properly, since the previous release (with potentially older gems) may not longer be operable.
If we put this in, perhaps we should set keep_releases to zero, unless there's a strong argument to do otherwise. I'm not aware that we've ever wanted/needed to rollback.

The only other reason we may have held back on this is that it prevents the rollback feature from working properly, since the previous release (with potentially older gems) may not longer be operable.

@benthorner - Yup these changes should allow rollback to continue working. bundle clean is run on the previous app version i.e before the new application code is deployed - so all dependencies for the previous version are kept. When the new is deployed, bundle install is run which will add the new dependencies for the new version.
It does mean keep_releases cannot be greater than 1, but don't see that as a problem as our default at the moment is 1.

The only small inconsistency is that our keep_releases appears to be 2, not 1, unless I'm still missing something. If I'm right, then I think we should make it 1 (don't see why it needs to be 2) and put a comment that hints at the constraint.

Ah sorry! I meant 2 instead of 1. So keep_releases cannot be greater than 2. Looking at the Capistrano code it appears the keep_releases includes the "current" release in the count. So a value of 2 infers that we want to keep a copy of the current release and the previous release.

...with just the minor suggestion of commenting on our keep_releases setting :-).


Coverage only of src

First, really helpful project!
For me coveralls.io displays coverage of files in both the tests and src directory. Is there a way to limit this to only the files in src?

cargo coveralls will record coverage by running all the binaries that cargo test runs at the moment. Do you still want to run the external binaries (i.e. so that any code-paths they take are included), but just not have them included in the final display?

I'm using quickcheck and I just don't want the small fluctuations in coverage of the random generators to affect the percentage, when my source file has the same coverage.


How does rust-sciter compare to tauri?

Tauri is a similar project which is also based on Rust and frontend technologies. I wonder what are the advantages and disadvantages of rust-sciter compared to tauri?

Well, you can see its architecture https://github.com/tauri-apps/tauri/blob/dev/ARCHITECTURE.md
and webview notes https://github.com/tauri-apps/wry#platform-specific-notes
Here's the Sciter's: https://sciter.com/developers/engine-architecture/
I haven't heard of tauri but it looks featuful. Take https://github.com/tauri-apps/tauri/blob/dev/examples/api/src-tauri/src/main.rs, for example.
Sciter is smaller, self-contained (tauri uses a system webview). It used to have its own scripting language (quite nice) but recently has switched to JS.
Sciter is easier to embed into DirectX/OpenGL or even a barebone OS where there will be no a system browser, obviously.
As for regular desktop apps - well, it's a matter of preferences. I started rust-sciter as a binding to Sciter library but haven't enhanced it with features tauri has (attributes, macros, etc).
Just try and choose what suits you better.


Added solution of Encryption problem in python

Added a solution of medium level problem and updated README

Mention your issue number

#127


plugin "fancy" in Claws Mail is not working

I have enablePluginFancy enabled in my config:
    packageOverrides = pkgs: {
     clawsMail = pkgs.clawsMail.override { enablePluginFancy = true; };
    };

after loading "Fancy" plugin and opening html email, it show page source instead of rendering html.
P.S.: I don't have this issue in arch linux.
/cc @khumba

Hi @wedens, I'm assuming you're running NixOS and not just Nix on Arch.  Can you please post the output of the following:
$ nixos-version
$ sudo nix-channel --list
$ nix-store -qR $(which claws-mail) | grep webkit
$ grep -C3 plugin ~/.claws-mail/clawsrc
$ cat ~/.claws-mail/clawsrc | perl -ne 'if (/^\[/) {$p = !!/\[fancy]/i;} if ($p) {print}'

Does it show the source for all HTML emails?  If you start Claws from a terminal, does it print anything when you try to open the an HTML message for the first time?

(edit: commands improved slightly)

~ ❯ nixos-version
15.09.597.71e29b4 (Dingo)
~ ❯ sudo nix-channel --list
nixos https://nixos.org/channels/nixos-15.09
~ ❯ ls -l $(which claws-mail)
lrwxrwxrwx 1 root nixbld 76 Jan  1  1970 /run/current-system/sw/bin/claws-mail -> /nix/store/0dlf3wh0g3lqmkavvarybyx8nfdsprdv-claws-mail-3.11.1/bin/claws-mail*
~ ❯ nix-store -qR $(which claws-mail) | grep webkit
/nix/store/j0mdz0f23f0m7ni8jwxf72p0f87hzam0-webkitgtk-2.4.9
~ ❯ grep -C3 plugin ~/.claws-mail/clawsrc
display_header=1
display_xface=1
render_html=1
invoke_plugin_on_html=1
promote_html_part=0
line_space=2
never_send_retrcpt=0
--
addressbookeditpersonwin_height=320
addressbookeditgroupwin_width=580
addressbookeditgroupwin_height=340
pluginswin_width=423
pluginswin_height=300
prefswin_width=700
prefswin_height=550
folderitemwin_width=500
--
[Plugins_Common]

[Plugins_GTK2]
/nix/store/wyspdbyhimbkyk9jwhycvsri3v08im1r-claws-mail-3.11.1/lib/claws-mail/plugins/notification.so
/nix/store/0dlf3wh0g3lqmkavvarybyx8nfdsprdv-claws-mail-3.11.1/lib/claws-mail/plugins/fancy.so

[NotificationPlugin]
include_mail=1
--
enable_images=1
enable_remote_content=1
enable_scripts=0
enable_plugins=0
open_external=1
zoom_level=100
enable_java=0
~ ❯ cat ~/.claws-mail/clawsrc | perl -ne 'if (/^\[/) {$p = !!/\[fancy]/i;} if ($p) {print}'
[fancy]
enable_images=1
enable_remote_content=1
enable_scripts=0
enable_plugins=0
open_external=1
zoom_level=100
enable_java=0
enable_proxy=0
proxy_server=http://SERVERNAME:PORT
stylesheet=

Thanks!  I'll have to look into this more later.  The one thing that jumps out at me is that you're loading the notification plugin from an old version of Claws (/nix/store/wysp...), which might cause some weirdness with dynamic linking.  I'd recommend changing the [Plugins_GTK2] section to have version-agnostic paths (e.g. /run/current-system/sw/lib/claws-mail/plugins/...).  It's a pain to do this when loading the plugins through the UI, because you can tell the file picker to use the /run/current-system path, but the next time you open the dialog, it's resolved the symlinks and is using the /nix/store path so you have to navigate all over again.
I'm not entirely sure Claws how uses this section though.  I share ~/.claws-mail between Gentoo and NixOS so it only had /usr/lib64/claws-mail/plugins paths in it, but the NixOS Claws still found its plugins somehow (maybe falling back to its install dir; if this is the case then this section should probably just not be used on Nix).
Updating my system to where you are on the channel now, we'll see if that causes problems :).

Thanks for looking into this!
changing paths haven't changed anything :(

Thanks for testing that.  I've now reproduced this by creating a new minimal NixOS install with only Claws and basic X stuff present.  Now to determine the key difference between that and my main NixOS system.

Very sorry about this, this is fixed in master but is not on the release-15.09 branch.  shared_mime_info needs to be a dependency of Claws.  @vcunat, @lethalman, would it be possible to cherry-pick 268b4d5 onto release-15.09 to fix this issue, and also c39a557 and 4eb5068  to fix subsequent file conflicts with hicolor_icon_theme and shared_mime_info, please?

@wedens, as a workaround, install shared_mime_info manually.

@khumba adding shared_mime_info to systemPackages hasn't solved the issue :(

Pushed. I guess changing systemPackages wasn't enough because mime.patch is also required.

@vcunat thanks!  Hopefully that's the case, since I haven't looked into what code is actually failing.  On my test system, systemPackages = [... shared_mime_info] was sufficient :/.

how can I get this changes? just update my current channel?

No, channels lag behind, so it will take some time to get there (hours, days, difficult to guess). In the meantime, you can build from git, branch release-15.09.

sorry, NixOS newbie here. should I do nix-env -f https://github.com/NixOS/nixpkgs/archive/release-15.09.zip -iA clawsMail ?
what about
    packageOverrides = pkgs: {
     clawsMail = pkgs.clawsMail.override { enablePluginFancy = true; };
    };

I have in my configuration.nix?

Yes, except that packageOverrides from configuration.nix don't affect nix-env (sadly) which is configured separately in ~/.nixpgs/config.nix. Example for that is on the wiki: https://nixos.org/wiki/Nix_Modifying_Packages#Creating_a_config.nix_File.

It works! thanks @vcunat, @khumba

:-)

:( there is another problem now. It unable to load something via https TLS/SSL support not available; install glib-networking

@khumba: sounds like it needs a wrapper setting --prefix GIO_EXTRA_MODULES : ${glib_networking}/lib/gio/modules.

Trying to take a look at this, but now Fancy's back to just showing source for me...  Wat.

@khumba same. after installing from updated channel :confused:

So what it seems like is that even with the patches, I have to add shared_mime_info explicitly to systemPackages for Fancy to work at all.  It's not enough for it to be a dependency.  Odd, perhaps Claws is looking in system paths still (although I don't know yet what for).  (Didn't check if it worked in a user environment vs. systemPackages.)
For the TLS/SSL message, I created a test message containing some <img src="https://...">s and don't see that message, but nor do HTTPS images load.  @vcunat's suggestion worked, although glib crashed without access to gsettings schemas so I also added gsettings_desktop_schemas via wrapGAppsHook (<- is it right for me to use this for a non-Gnome app?).  khumba@a33d38c is the patch.  @wedens, would you be interested in testing this out?  (Fetch and checkout that commit in a Git repo then nix-env -f /path/to/repo.git -iA clawsMail.)

@khumba sure, I'll try it (if it won't cause webkit rebuild as one of my attempts to install claws-mail from repo)

Ha :).  It shouldn't, I deliberately tried to avoid that.  Thanks.

wrapGApps handles mainly glib stuff (and some gstreamer); I think it's suitable to use it there.

@khumba

as you said,  adding shared_mime_info to systemPackages solved the problem of Fancy not working at all.
it works when installed via nix-env without shared_mime_info
derivation from your repo works fine with https ;)

@khumba can you send a PR with your fix?

Yes; I got heavily distracted, apologies.  Will do.

PRs created.  I'm still confused by shared-mime-info.  Some Claws
builds I have work without it being in the environment, and some
don't.  In all cases, running Claws with --debug shows that the Webkit
viewer is being created, at least.

@khumba thanks

@khumba for some reason in master plugin stopped working completely and just displays raw html text (I have shared_mime_info in systemPackages

@wedens I'll investigate when I get back home on Monday or Tuesday, am out of town right now.

When it displays raw text, do you at least see the toolbar that fancy adds to the bottom of the message pane, below the HTML source?  I'm not sure the problem is with Claws, since (on release-15.09) it seems to be loading webkitgtk successfully in its eyes when this happens.  I suspect something is missing from webkitgtk2 (cc maintainer @iyzsong).  For example maybe it's relying on XDG_DATA_DIRS instead of looking at shared_mime_info directly.  (AFAICT, the only difference between having shared_mime_info in my user profile and not is the directories it creates in ~/.nix-profile, since I'm not logging out and back in after installing it; and the only things shared_mime_info provides are a bin/ and a share/.)
I'll try poking at webkitgtk2, experimenting with it will take time though.  I've also got a lot of building to do to be able to check the current state of master, since the bash-4.3-42 patch hash changed :).

and the only things shared_mime_info provides are a bin/ and a share/.

...in addition to the set of things in the environment that could rely on this being very small:
[khumba@nixos:~]$ set | grep --color=force -Fe .nix-profile/bin -e .nix-profile/share
INFOPATH=/home/khumba/.nix-profile/info:/home/khumba/.nix-profile/share/info:/nix/var/nix/profiles/default/info:/nix/var/nix/profiles/default/share/info:/run/current-system/sw/info:/run/current-system/sw/share/info
PATH=/home/khumba/bin:/var/setuid-wrappers:/home/khumba/.nix-profile/bin:/home/khumba/.nix-profile/sbin:/home/khumba/.nix-profile/lib/kde4/libexec:/nix/var/nix/profiles/default/bin:/nix/var/nix/profiles/default/sbin:/nix/var/nix/profiles/default/lib/kde4/libexec:/run/current-system/sw/bin:/run/current-system/sw/sbin:/run/current-system/sw/lib/kde4/libexec
TERMINFO_DIRS=/home/khumba/.nix-profile/share/terminfo:/nix/var/nix/profiles/default/share/terminfo:/run/current-system/sw/share/terminfo
XDG_DATA_DIRS=/home/khumba/.nix-profile/share:/nix/var/nix/profiles/default/share:/run/current-system/sw/share

[khumba@nixos:~/claws.git]$ git grep XDG_DATA
(nada)

@khumba yeah. statusbar is visible

Okay, good.  So, still on release-15.09, adding shared_mime_info to XDG_DATA_DIRS via a wrapper fixes this bug's original issue of needing it to be installed.
postInstall = ''
  wrapProgram $out/bin/claws-mail --prefix XDG_DATA_DIRS : ${shared_mime_info}/share
  ...existing stuff...
'';

I'm building master currently to check the state of things there, but this seems like a good fix for now, although I don't know why it works.  If this works for you, @wedens, I'll create a PR.

It works after removing wrapGAppsHook and
  postInstall = ''
    wrapProgram $out/bin/claws-mail \
      --prefix XDG_DATA_DIRS : "${shared_mime_info}/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"

    mkdir -p $out/share/applications
    cp claws-mail.desktop $out/share/applications
  '';

@wedens Thanks for the hint! I opened a PR that wraps XDG_DATA_DIRS with wrapGAppsHook. The fancy plugin now works for me.


Update contribute

I have updated the recommendations for File structure regarding model, data, and License for the contributors.

@ryanloney, I have doubts about the data/models licensing terms to put here. Could you please give us your feedback on this? Thanks and BR


Markdown content is rendered struckout when frontmatter present

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

VS Code Version: 1.92.0-insider
OS Version: Windows 10.0.17763

Steps to Reproduce:

Create and save Frontmatter.md with the content below:

---
title: "My Title"
date: May 1, 2001
---

# First Chapter

Some content

# Second Chapter

More content

Observe the following rendering:

The "Second Section" content should not be struck out.
If I remove the frontmatter or change the delimiters to ~~~ instead of ---, the rendering is correct, but this breaks pandoc which doesn't recognize ~~~ as front matter. The colors of the text also change:

dup of https://github.com/microsoft/vscode/issues/220022 https://github.com/microsoft/vscode/issues/221181
already fixed in latest insiders

Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for similar existing issues. See also our issue reporting guidelines.
Happy Coding!


Weird behavior when adjusting OBS audio source volume

It seems your fix for #8 fixed the issue for the volume levels in Windows, but OBS is displaying some strange behavior. If I move a slider, it seems to initially move in the right direction, but then it stops and increments in the opposite direction very slowly. Sometimes it does not stop until it has reached the max or min. If you keep moving it around, the volume in OBS becomes very erratic.

Latest commit fixed that, had a Stack instead of a Queue...

Latest commit fixed that, had a Stack instead of a Queue...

I'm still having weird issues with the sliders. The first slider you touch seems to work fine. When you start moving a second slider, it doesn't seem correct at all and after a while of moving it up and down, it seems to stop talking to OBS. I can still adjust the Windows playback and recording volumes using the dials.

I'm still having weird issues with the sliders. The first slider you touch seems to work fine. When you start moving a second slider, it doesn't seem correct at all and after a while of moving it up and down, it seems to stop talking to OBS. I can still adjust the Windows playback and recording volumes using the dials.

Okay the previous issue I could reproduce, this one I can't...
Have you pulled the latest commit?

Okay the previous issue I could reproduce, this one I can't...
Have you pulled the latest commit?

Okay nevermind! I just recompiled and now I have the same problem!

Okay nevermind! I just recompiled and now I have the same problem!

this.obsVolume.Clear();
Deleted too much in my cleanup...

this.obsVolume.Clear();
Deleted too much in my cleanup...

Seems pretty smooth now.

Seems pretty smooth now.


Stop waiting for pipeline update completion if there are no updates

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

Looks good, the only question I have is do we want to inform users of scenarios such as "no changes", or do we want it to look like everything succeeded?
I think either way is fine, but I could see the explicitness being helpful to the user so that they know nothing changed. That wouldn't necessarily have to manifest itself as an "error", but that could also be an option.

Looks good, the only question I have is do we want to inform users of scenarios such as "no changes", or do we want it to look like everything succeeded?
I think either way is fine, but I could see the explicitness being helpful to the user so that they know nothing changed. That wouldn't necessarily have to manifest itself as an "error", but that could also be an option.

Yeah that's a good question, maybe providing more info would be nice. I'll merge this but we can do it as a UX improvement, I think our other commands could benefit of that information too :)


Unclear how to split OpenMM torsion energies between propers and impropers

OpenMM conventionally groups proper and improper torsions into the same force, from which I don't know how to split contributions from each.
In [23]: torsion_force
Out[23]: <openmm.openmm.PeriodicTorsionForce; proxy of <Swig Object of type 'OpenMM::PeriodicTorsionForce *' at 0x17c3dcab0> >

In [24]: [val for val in dir(torsion_force) if not val.startswith("_")]
Out[24]:
['addTorsion',
 'getForceGroup',
 'getName',
 'getNumTorsions',
 'getTorsionParameters',
 'setForceGroup',
 'setName',
 'setTorsionParameters',
 'setUsesPeriodicBoundaryConditions',
 'this',
 'thisown',
 'updateParametersInContext',
 'usesPeriodicBoundaryConditions']

The API for the Python object offers no guidance. The current strategy of extracting contributions to the total potential energy function involves separating out a Context into a separate State per force, from which State.getPotentialEnergy gives the energy associated with that force. It doesn't seem possible to split out these at a more granular level without modifying either C++ code or modifying forces in-place, neither options being something I want to do.  I can figure out if a torsion is proper or improper given the four atoms it's associated with, but I can't do anything with that information.
This is a blocker for detailed inspection of energies given that other engines DO offer the capability of separating them out.

(I could write some logic to pull in information about the bond graph and look at how the four atoms are connected, but it'd be great if that wasn't necessary and the force itself knew. I don't think that's the case, however.)

In Amber the calculation for proper and improper dihedrals is indistinguishable to the engine--it all goes through the same code.  In OpenMM it sounds like there is this trefoil scheme whereby the impropers would go through a different calculation procedure (at least a loop over three variants of the atom sequence being submitted to the basic torsion code).  But I suspect that the only way the other engines make this distinction is by a prior partitioning of the torsion terms and separate function calls for each category.


Unable to create a peer 'out of the box'

With the default stuff, after tweaking server config, I'm unable to add a peer with no proper explanation why

@thecoshman - Cannot reproduce it here.
May be the permissions on the data folder on the host side?
Rememeber the application runs under non-root user. But when docker container starts and if mounted volumes folders are created, those are created as root (docker feature/bug/issue/whatever). This is why I have suggested "mkdir ./data" in the usage section of the readme. dod you create the folder manually before using docker compose?

@thecoshman I presume your permissions issue is sorted. Can this ticket be closed?

Not yet, but I'm also trying to test things via compose. Going to circle back to just running the container directly to test things out first

Not yet, but I'm also trying to test things via compose. Going to circle back to just running the container directly to test things out first

It will be great if you could please first follow the instructions in the README and then later migrate your setup to use compose. This will help in testing out those instructions too.

@thecoshman closing this ticket. Reopen if you still have this issue.


Cast size_of::<sockaddr_vm>() to socklen_t

The len argument of connect isn't guaranteed to always be u32
(for example, some android platforms use i32).
Fixes rust-vsock/tokio-vsock#28

@powturns The "Commit Message Check" has failed,   here is the details:
What should I do to fix it ?
All proposed commits should include a Signed-Off-By: <your-email-address> line in their commit message.
This is most conveniently done by using --signoff (-s) when running git commit.

git commit --amend --no-edit -s will resolve this problem

@powturns it has been released in 0.4.0


Make OSGI dependency provided

Resolves #164
Signed-off-by: Pavol Loffay<EMAIL_ADDRESS>

@radcortez could you please review?


MudText component with empty HtmlTag

Things to check

[X] I have searched the existing issues for this bug
[X] To rule out a caching problem I made sure the bug also happens in an incognito tab

Bug type
Component
Component name
MudText
What happened?
Using empty HtmlTag cause 'unexpected' error. See code below:
code below has a attribute HtmlTag with empty string.
<MudText HtmlTag="" Typo="Typo.body2" Inline="true" Color="Color.Default" Style="font-size: 12px">PropertyValue</MudText>
Expected behavior
Placed a default value.
Reproduction link
https://try.mudblazor.com/snippet/cYweOsuVSdpzhHiJ
Reproduction steps
1.Insert code into play ground
2. run it
3.
...
Relevant log output
blazor.webassembly.js:1
 crit: Microsoft.AspNetCore.Components.WebAssembly.Rendering.WebAssemblyRenderer[100]
      Unhandled exception rendering component: InvalidCharacterError: Failed to execute 'createElement' on 'Document': The tag name provided ('') is not a valid name.
InvalidCharacterError: Failed to execute 'createElement' on 'Document': The tag name provided ('') is not a valid name.
Dt	@	blazor.webassembly.js:1

Version (bug)
7.6.0
Version (working)
8.0.7
What browsers are you seeing the problem on?
Chrome, Edge
On which operating systems are you experiencing the issue?
Windows
Pull Request

[ ] I would like to do a Pull Request

Code of Conduct

[X] I agree to follow this project's Code of Conduct

@danielchalmers, this PR influences it: https://github.com/MudBlazor/MudBlazor/pull/8916
I think you should replace this check with string.IsNullOrEmpty:
https://github.com/MudBlazor/MudBlazor/blob/373013f6348e303e699098e0333c372847efe581/src/MudBlazor/Components/Typography/MudText.razor.cs#L101
Though it's very weird to me that someone is trying to set HtmlTag as an empty string. It like trying to break the code on purpose because you can't render an empty string tag in HTML, aka < />.


Skin cancer prediction

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

A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like

A clear and concise description of what you want to happen.

https://www.kaggle.com/kmader/skin-cancer-mnist-ham10000
Kindly, assign me this project


[R] Inconsistent results with stringr::str_detect and str_count, when case_insensitive is set to TRUE via stringr::regex or stringr::fixed

Describe the bug, including details regarding any error messages, version, and platform.
When using stringr's str_detect() and str_count(), stringr's own documentation recommends to use stringr::regex() and stringr::fixed() "for finer control of the matching behaviour."
This can be used, for example, to set "ignore_case" to TRUE, which is not available as an argument to str_detect() directly.
The resulting functions have the following structure:
stringr::str_detect(
  string = "eXample",
  pattern = stringr::regex("x", ignore_case = TRUE)
)
#> [1] TRUE

Unfortunately, arguments passed via stringr::regex() and stringr::fixed() are silently ignored by arrow, which leads to unexpected and quite possibly wrong results.
If one prints the arrow call, it is possible to see that indeed even if ignore_case is set to TRUE, the call is passed with ignore_case as FALSE.
bool (match_substring_regex(text, {pattern="x", ignore_case=false}))

I suppose arrow should either get this right, or throw an error.
The following reprex (run with arrow version 12.0.1) shows:

how the ignore.case argument works nicely when passed via the base function grepl
how it is simply ignored when passed to stringr::str_detect(), stringr::str_count() (and possibly other stringr functions) through stringr::regex() and stringr::str_detect()
how it works nicely if the ignore_case is passed directly in the pattern with (?i)
how arrow throws an error when using stringi::stri_detect_regex() (rather than stringr) with case_insensitive = TRUE (which is still preferrable to ignoring the argument silently).

There are obviously many workarounds, but this has led to errors when I applied functions that were not originally written and tested with arrow in mind.
library("arrow")
#>
#> Attaching package: 'arrow'
#> The following object is masked from 'package:utils':
#>
#>     timestamp

apple_df <- tibble::tibble(
  text = c(
    "apple",
    "APPLE"
  )
)

arrow::write_dataset(dataset = apple_df, path = "apple.parquet")

apple_parquet <- arrow::open_dataset(sources = "apple.parquet")

## with grepl, it works

apple_parquet |>
  dplyr::mutate(
    a_check = grepl(
      x = text,
      pattern = "a",
      ignore.case = TRUE
    )
  )
#> FileSystemDataset (query)
#> text: string
#> a_check: bool (if_else(is_null(match_substring_regex(text, {pattern="a", ignore_case=true}), {nan_is_null=true}), false, match_substring_regex(text, {pattern="a", ignore_case=true})))
#>
#> See $.data for the source Arrow object

apple_parquet |>
  dplyr::mutate(
    a_check = grepl(x = text, pattern = "a", ignore.case = TRUE)
  ) |>
  dplyr::collect()
#> # A tibble: 2 × 2
#>   text  a_check
#>   <chr> <lgl>
#> 1 apple TRUE
#> 2 APPLE TRUE

## with stringr::str_detect it does not work

apple_parquet |>
  dplyr::mutate(
    a_check = stringr::str_detect(
      string = text,
      pattern = "a"
    )
  )
#> FileSystemDataset (query)
#> text: string
#> a_check: bool (match_substring_regex(text, {pattern="a", ignore_case=false}))
#>
#> See $.data for the source Arrow object

apple_parquet |>
  dplyr::mutate(
    a_check = stringr::str_detect(
      string = text,
      pattern = stringr::regex(
        pattern = "a",
        ignore_case = TRUE
      )
    )
  )
#> FileSystemDataset (query)
#> text: string
#> a_check: bool (match_substring_regex(text, {pattern="a", ignore_case=false}))
#>
#> See $.data for the source Arrow object

apple_parquet |>
  dplyr::mutate(
    a_check = stringr::str_detect(
      string = text,
      pattern = stringr::regex(
        pattern = "a",
        ignore_case = TRUE
      )
    ),
    p_count = stringr::str_count(
      string = text,
      pattern = stringr::regex(
        pattern = "p",
        ignore_case = TRUE
      )
    )
  ) |>
  dplyr::collect()
#> # A tibble: 2 × 3
#>   text  a_check p_count
#>   <chr> <lgl>     <int>
#> 1 apple TRUE          2
#> 2 APPLE FALSE         0

## Same result with stringr::fixed

apple_parquet |>
  dplyr::mutate(
    a_check = stringr::str_detect(
      string = text,
      pattern = stringr::fixed(
        pattern = "a",
        ignore_case = TRUE
      )
    ),
    p_count = stringr::str_count(
      string = text,
      pattern = stringr::fixed(
        pattern = "p",
        ignore_case = TRUE
      )
    )
  ) |>
  dplyr::collect()
#> # A tibble: 2 × 3
#>   text  a_check p_count
#>   <chr> <lgl>     <int>
#> 1 apple TRUE          2
#> 2 APPLE FALSE         0

## it works nicely just including the case insensitive in the regex

apple_parquet |>
  dplyr::mutate(
    a_check = stringr::str_detect(
      string = text,
      pattern = "(?i)a"
    ),
    p_count = stringr::str_count(
      string = text,
      pattern = "(?i)p"
    )
  ) |>
  dplyr::collect()
#> # A tibble: 2 × 3
#>   text  a_check p_count
#>   <chr> <lgl>     <int>
#> 1 apple TRUE          2
#> 2 APPLE TRUE          2

## With stringi

apple_df |>
  dplyr::mutate(
    a_check = stringi::stri_detect_regex(
      str = text,
      pattern = "a",
      case_insensitive = TRUE
    )
  ) |>
  dplyr::collect()
#> # A tibble: 2 × 2
#>   text  a_check
#>   <chr> <lgl>
#> 1 apple TRUE
#> 2 APPLE TRUE

apple_parquet |>
  dplyr::mutate(
    a_check = stringi::stri_detect_regex(
      str = text,
      pattern = "a",
      case_insensitive = TRUE
    )
  ) |>
  dplyr::collect()
#> Error: Expression stringi::stri_detect_regex(str = text, pattern = "a", case_insensitive = TRUE) not supported in Arrow
#> Call collect() first to pull data into R.

Created on 2023-07-17 with reprex v2.0.2
Component(s)
R

Thanks for reporting this @giocomai!
In this first example, I think it's how we implemented stringr::regex() - we need to update the code to work both with and without the stringr prefix:
library(dplyr)
#>
#> Attaching package: 'dplyr'
#> The following objects are masked from 'package:stats':
#>
#>     filter, lag
#> The following objects are masked from 'package:base':
#>
#>     intersect, setdiff, setequal, union
library(arrow)
#> Some features are not enabled in this build of Arrow. Run `arrow_info()` for more information.
#>
#> Attaching package: 'arrow'
#> The following object is masked from 'package:utils':
#>
#>     timestamp

df <- tibble::tibble(x =  "eXample")

# dplyr
df %>%
  mutate(y = stringr::str_detect(x, pattern = stringr::regex("x", ignore_case = TRUE)))
#> # A tibble: 1 × 2
#>   x       y
#>   <chr>   <lgl>
#> 1 eXample TRUE

# doesn't work
arrow_table(df) %>%
  mutate(y = stringr::str_detect(x, pattern = stringr::regex("x", ignore_case = TRUE))) %>%
  collect()
#> # A tibble: 1 × 2
#>   x       y
#>   <chr>   <lgl>
#> 1 eXample FALSE

# works
arrow_table(df) %>%
  mutate(y = stringr::str_detect(x, pattern = regex("x", ignore_case = TRUE))) %>%
  collect()
#> # A tibble: 1 × 2
#>   x       y
#>   <chr>   <lgl>
#> 1 eXample TRUE

Created on 2023-07-18 with reprex v2.0.2


refactor: update python workflow example with daprWorkflowClient

Description
Notice the python quickstart example is outdated, so update it to use DaprWorkflowClient instead of DaprClient, same as here in python-sdk repo https://github.com/dapr/python-sdk/blob/main/examples/workflow/child_workflow.py
Checked mm.py and verify it works

Issue reference
https://github.com/dapr/quickstarts/issues/1119
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list:

[x] The quickstart code compiles correctly
[x] You've tested new builds of the quickstart if you changed quickstart code
[x] You've updated the quickstart's README if necessary
[x] If you have changed the steps for a quickstart be sure that you have updated the automated validation accordingly. All of our quickstarts have annotations that allow them to be executed automatically as code. For more information see mechanical-markdown. For user guide with examples see Examples.

Yes. This is excellent @Eileen-Yu

@holopin-bot @Eileen-Yu Thanks Eileen!


datepicker v2.9.4 and above aren't working with react 16.5.2

I am working on a project that is using<EMAIL_ADDRESS>and<EMAIL_ADDRESS>and whenever I try to install react-datepicker I get an error saying that I need<EMAIL_ADDRESS>but the readme only says that I need react 16 or above.

My IDE rewrote my import statement and made it incorrect, but I didn't realize.  I apologize.


If a Contact is unchecked as Deceased, Naming fields should update

Thread.
This feels like an oversight and not the intended behavior here. If Deceased is unchecked, the 'Exclude from...' fields should also be unchecked and it's not happening. It's not toggling, it's only working in one direction.

Tracking W-019217

Salesforce has determined that this issue will not be explored further.


Use in scrolling overlay

Hi,
First of all: Many thanks for this great plugin!
Is it possible to use it also in a scrollable overlay containing (not the body)?
When the overlay is opened all images in that overlay are being loaded at once but I want them to load one after another when scrolling.
Many thanks,
Chris

This already works.
In that case lazysizes starts to download the first 10 images.


Click dependency

Hi!
I wanted to give your loader a try, it looks very promising!
My current project already uses click==8.0.1 and I get a dependency conflict which prohibits me from using this loader:
The conflict is caused by:
  python 0.1 depends on click==8.0.1
  elasticsearch-loader[parquet] 0.6.0 depends on click==7.0

Is it possible to upgrade the click dependency to v8?

Sure, feel free to open a pull request

Any progress to solve this?

@moshe - I have a branch for this but the repo isn't allowing me to push to a new branch. Can you give me permissions to do so?


Add deployments API to compute quota necessary for scale-up

This PR adds a new API serviced by the deployments controller at /deployments/spaces/{spaceID}/applications/{appName}/deployments/{deployName}/podlimits.
Calling this API on a particular deployment determines the CPU and memory resources required in order to add a new pod to the deployment. This will allow the front-end to decide whether to stop the user from attempting to scale up a deployment if they do not have sufficient quota to do so successfully.
Example usage:
Request: GET https://openshift.io/api/deployments/spaces/$SPACE/applications/$APP/deployments/run/podlimits
Response: {"data":{"limits":{"cpucores":1,"memory":262144000}}}
This work was initially done by @chrislessard, and I have added tests and some modifications.
Fixes: https://github.com/openshiftio/openshift.io/issues/3388

@stooke Thanks! Switching to the OpenShift Go client would allow us to skip parsing the JSON manually as well: https://github.com/openshift/client-go


Installation: directories missing with git install on Windows

When installing Lona via git on Windows
python -m pip install git+https://github.com/lona-web-org/lona.git

directories containing javascripts and HTMLs are missing in the package. Installing via PyPi python -m pip install lona works correctly.
Screenshot

Environment:

Windows 10 64-bit
Python 3.11
pip 23.0
Current Lona version: 1.11

@ntnguyen1234: Thanks for reporting
This seems to be some packaging problem, related to the MANIFEST.in. We should switch to pyproject.toml anyways, so this seems to be a good opportunity to do so.
Could you please test the new setup?
pip install git+https://github.com/lona-web-org/lona.git@fscherf/topic/pyproject-toml

@fscherf I confirm it installs correctly now. Thanks for your update.


Possibility to add 'onLoadEnd' hook  (when popup has completely loaded.)

Possibility to add 'onLoadEnd' hook similar to original repo.
I ran into the issue where I wanted to obtain width, height and position attributes of popup element ('#archive_lightbox') in order to add an overlay. Although when using 'loaded.ilb2', the element had not been created yet, leading to an undefined.

Thx for the bug report, I moved the event trigger back to when the element is really loaded so that you wont get an undefined anymore

@rejas - Great stuff - thank you for the fast response.


Added CLI flags Z for selecting which checks should generate exit c…

Flags -z and -Z to control if Prowler returns exit code 3 on a failed check.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

This can solve #629

This is super helpful @Kirizan, thank you!


[proposal] Pluggable PD scheduler

What problem does this PR solve?
https://github.com/pingcap/pd/issues/1787

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 2 committers have signed the CLA.:x: root:x: CheneyDingroot seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Backup limit is deleting most recent backup.

When setting a backup limit, the server will delete the backup it just created, rather than the oldest one.
Expected behavior
Delete the oldest existing backup and continue creating backups until out of space or such.

Do you have a video/screenshots of the backup list as the wrong backups are deleted? (console logs would also be helpful) Unfortunately, I haven't been able to reproduce this issue on my own.


Provide "Add Evidence" links at the gene, and variant level, which pre-populate the relevant form fields

We've discussed this type of behavior before, but I am reluctant to add multiple buttons that lead to the same page - our UI is already fairly busy, and we've still many more features to add.
What I have on my list of things to implement is a similar convenience feature - if a user is on a Gene or Variant page and they click the Add Evidence button in the header, then the form will be populated with the gene and variant names of the record they originated from.

Yeah this seems like a good compromise to me.

Done!


⚠ TorrentLeech has degraded performance

In 064d1f3, TorrentLeech ($TL) experienced degraded performance:

HTTP code: 200
Response time: 7557 ms

Resolved: TorrentLeech performance has improved in 7d95bba after 6 minutes.


Teach penquins to find credentials from netrc file

If password is blank, then read credentials from the netrc file.

This is great, thanks @lpsinger! I should note it somewhere, but this repo is going to be archived on Oct 1 with Fritz going live. The current kowalski-dev will become the new kowalski, and I've pulled penquins into a separate project: https://github.com/dmitryduev/penquins -- could you please resubmit this PR there?


IMPROVEMENT

I improved how website look ,
And this is live Preview of website :- https://noob677.github.io/tourism-website/
PS.
I am new to this so i don't know how this thing work.

Hey @Noob677, First of all if you need to improve or make changes to the website then what and why you need to change if it is a issue. If it's a feature then do raise a issue about what feature and why. Hope this helps