Runtime error when moving contrast limits

Open an example image (e.g. File > Open Sample > napari builtins > Cells (3D + 2Ch))
Open the histogram widget
Move the contrast limits in the layer controls

This throws the following error with the latest napari:
File ~\anaconda3\envs\napari-env\lib\site-packages\napari_matplotlib\histogram.py:65, in HistogramWidget._update_contrast_lims(self=<napari_matplotlib.histogram.HistogramWidget object>)
     61 def _update_contrast_lims(self) -> None:
     62     for lim, line in zip(
     63         self.layers[0].contrast_limits, self._contrast_lines
     64     ):
---> 65         line.set_xdata(lim)
        lim = 7686.227544910179
        line = <matplotlib.lines.Line2D object at 0x00000169A09ED210>
     67     self.figure.canvas.draw()

File ~\anaconda3\envs\napari-env\lib\site-packages\matplotlib\lines.py:1289, in Line2D.set_xdata(self=<matplotlib.lines.Line2D object>, x=7686.227544910179)
   1276 """
   1277 Set the data array for x.
   1278
   (...)
   1286 set_ydata
   1287 """
   1288 if not np.iterable(x):
-> 1289     raise RuntimeError('x must be a sequence')
   1290 self._xorig = copy.copy(x)
   1291 self._invalidx = True

RuntimeError: x must be a sequence

Given the error traceback doesn't contain napari, maybe this is a problem with a newer Matplotlib release? I'm running CI over at https://github.com/matplotlib/napari-matplotlib/pull/273 to try and debug this

This isn't showing up as an error in tests, so I think next steps here are to add a new test to the test suite that hits this error. @K-Meech do you think you'd be able to take a look at adding a new test?

Sure! I'll probably have time to do this tomorrow, otherwise it'll be later this week.

Ended up having some free time today, so I've made a PR for this.


Improve ServiceMonitor resource by adding custom namespace and custom labels

What this PR does / why we need it:
This PR adds the possibility to specify the namespace where the serviceMonitor resource is going to be deployed. Sometimes we have prometheus monitoring from another namespace and we consolidate serviceMonitor resources there.
Also, it adds the possibility to specify custom labels for ServiceMonitor, some people (like us) use different labels so different prometheus can scan against this labels.
Which issue this PR fixes: None
Release notes:
Added variable to specify custom namespace where to deploy ServiceMonitor resource

Special notes for your reviewer: None

Hi @Starefossen, thanks by your comments
I closed #1947 because I also realised I had to add custom labels to make it work in our infrastructure, it wasn't enough with
prometheus: {{ .Values.prometheus.servicemonitor.prometheusInstance }}

because we use release: $something (which is the default?). I think adding this custom labels will allow us to drop prometheus.servicemonitor.prometheusInstance making more generic (it is the approach followed by most of the charts, check stable/prometheus-cloudwatch-exporter). What do you think?
I also added your suggestions to match the right namespace using namespaceSelector.
Please check it and let me know your thoutgs.
Alejandro

This looks sensible to me, thanks for the addition 😄

making it more generic and flexible (it is the approach followed by most of the charts, check stable/prometheus-cloudwatch-exporter).

Agreed - a more generic labels based approach is best IMO.
/ok-to-test
/approve

Would you mind adding a release note to your initial PR comment describing the change in a sentence?
You can do so by writing:
```release-note
Your message here
` ``

(without the space between the backticks - I had to do that to make github render the example properly 😅)

Sorry for the late answer @munnerz, got a great weekend! Just did it, release notes added to the initial PR comment.
Let me know if you need anything else. Have a great week!

Sorry for the late answer @munnerz, got a great weekend! Just did it, release notes added to the initial PR comment.

Glad to hear it! ☀
Thanks for putting this together, and thank you @Starefossen too! 😄
/lgtm


Cant map storage

Preflight Checklist

[X] I have installed the latest version of Storage Explorer.
[X] I have checked existing resources, including the troubleshooting guide and the release notes.
[X] I have searched for similar issues.

Storage Explorer Version
1.24.3
Regression From
No response
Architecture
i86
Storage Explorer Build Number
20220617.2
Platform
All
OS Version
Windows 10
Bug Description
Trying map a file share
Steps to Reproduce
Launch Storage Explorer
Expand File Shares
Actual Experience
I receive the error unable to retrieve child resources
Expected Experience
Child Resources expand/open in storage explorer
Additional Context
"status": 403,
"bodyAsText": "AuthorizationFailureThis request is not authorized to perform this operation.\nRequestId:f134fe61-501a-004d-5dad-3160d8000000\nTime:2023-01-26T17:43:04.3404804Z",
"parsedBody": {
"message": "This request is not authorized to perform this operation.\nRequestId:f134fe61-501a-004d-5dad-3160d8000000\nTime:2023-01-26T17:43:04.3404804Z",
"code": "AuthorizationFailure"
},
"parsedHeaders": {
"errorCode": "AuthorizationFailure",
"content-length": "246",
"content-type": "application/xml",
"date": "Thu, 26 Jan 2023 17:43:03 GMT",
"server": "Microsoft-HTTPAPI/2.0",
"x-ms-client-request-id": "30846114-3599-4c54-b1a6-69199a5ced5e",
"x-ms-request-id": "f134fe61-501a-004d-5dad-3160d8000000"
}
},
"details": {
"errorCode": "AuthorizationFailure",
"content-length": "246",
"content-type": "application/xml",
"date": "Thu, 26 Jan 2023 17:43:03 GMT",
"server": "Microsoft-HTTPAPI/2.0",
"x-ms-client-request-id": "30846114-3599-4c54-b1a6-69199a5ced5e",
"x-ms-request-id": "f134fe61-501a-004d-5dad-3160d8000000",
"message": "This request is not authorized to perform this operation.\nRequestId:f134fe61-501a-004d-5dad-3160d8000000\nTime:2023-01-26T17:43:04.3404804Z",
"code": "AuthorizationFailure"
}
}

@grharrisii do you know how you are authenticating access to your resources?

If you have attached with name&key/key connection string, can you make sure the account name is correct and that the keys have not been rotated?
If you have attached with SAS URL/SAS connection string, can you make sure the SAS is not expired or just try generating a new SAS?
If you have signed in and are listing resources under a subscription, can you check the RBAC roles your account has?
If you have signed in and attached with Azure AD, can you check the RBAC roles your account has for the container/check the ACL permissions you have for the container (if it is an ADLS Gen2 container)?

Closing due to lack of response. If you are still encountering this issue we recommend opening an Azure support ticket from the portal. Alternatively you can open a new issue here.


pull request for e2e test at 01/29/2017 08:15:12

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


net6: typo preventing rendering of Scripts section

The registration page, provided as a part of the Microsoft.AspNetCore.Identity.UI library, requires the rendering of the Scripts section. Currently, on the latest version of net6, it fails to render that, preventing registration.
This line of code should be rendering the Scripts section, not the Script section.
https://github.com/psauthor/MeterReader/blob/fb37921b8ed4d865f022ac8e75bb4850634f8b15/src/MeterReader/Pages/Shared/_Layout.cshtml#L52

Thanks, i'll fix it.

Fixed in net6 branch (isn't wrong in the main branch - .NET 5):
See the update:
https://github.com/psauthor/MeterReader/blob/00b6d88505984bdfcf5c8688b3e08a2b6ae9ec3d/src/MeterReader/Pages/Shared/_Layout.cshtml#L52


set clipboard data crashed on few phones

setPrimaryClip crashed on a few phones.  The stack trace is:
PlatformException(error, Package com.miHoYo.Yuanshen does not belong to 10359, null, {}, java.lang.SecurityException: Package com.miHoYo.Yuanshen does not belong to 10359
	at android.os.Parcel.createExceptionOrNull(Parcel.java:2425)
	at android.os.Parcel.createException(Parcel.java:2409)
	at android.os.Parcel.readException(Parcel.java:2392)
	at android.os.Parcel.readException(Parcel.java:2334)
	at android.content.IClipboard$Stub$Proxy.setPrimaryClip(IClipboard.java:430)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.bytedance.privacy.toolkit.service.core.IServiceHookBase.intercept(Unknown Source:9)
	at com.bytedance.privacy.toolkit.service.sys.Clipboard.invoke(Unknown Source:113)
	at java.lang.reflect.Proxy.invoke(Proxy.java:1006)
	at $Proxy34.setPrimaryClip(Unknown Source)
	at android.content.ClipboardManager.setPrimaryClip(ClipboardManager.java:133)
	at io.flutter.plugin.platform.PlatformPlugin.setClipboardData(Unknown Source:16)
	at io.flutter.plugin.platform.PlatformPlugin.access$800(Unknown Source:0)
	at io.flutter.plugin.platform.PlatformPlugin$1.setClipboardData(Unknown Source:2)
	at io.flutter.embedding.engine.systemchannels.PlatformChannel$1.onMethodCall(Unknown Source:210)
	at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(Unknown Source:17)
	at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(Unknown Source:54)
	at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(Unknown Source:4)
	at android.os.MessageQueue.nativePollOnce(Native Method)
	at android.os.MessageQueue.next(MessageQueue.java:337)
	at android.os.Looper.loopOnce(Looper.java:168)
	at android.os.Looper.loop(Looper.java:299)
	at android.app.ActivityThread.main(ActivityThread.java:8085)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:556)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1045)
Caused by: android.os.RemoteException: Remote stack trace:
	at android.app.AppOpsManager.checkPackage(AppOpsManager.java:8739)
	at com.android.server.clipboard.ClipboardService.clipboardAccessAllowed(ClipboardService.java:989)
	at com.android.server.clipboard.ClipboardService.sendClipChangedBroadcast(ClipboardService.java:704)
	at com.android.server.clipboard.ClipboardService.setPrimaryClipInternalLocked(ClipboardService.java:692)
	at com.android.server.clipboard.ClipboardService.setPrimaryClipInternalLocked(ClipboardService.java:618)
)
#0      JSONMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:158)
#1      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:306)
<asynchronous suspension>
#2      _getZoneSpecification.<anonymous closure>.<anonymous closure> (package:bd_vessel/extension/errortrace/internal/error_trace_utils.dart:89)
<asynchronous suspension>

There are some discussion of similar issues on stackoverflow site, such as SecurityException: <<other_package>> from uid xxx not allowed to perform READ_CLIPBOARD when calling setPrimaryClip
Unfortunately, this exception is only reproduce in production, I have not reproduce it locally.
Then I fixed it by adding a try catch block, see https://github.com/flutter/engine/pull/32832.

Hi @wangying3426, thanks for reporting this.
Can you provide the devices that are affected by this crash and their OS versions?
Also, is this crash reproducible locally or does it only reproduce in production?

Based on the online monitoring data in production, all of the below devices may occur crash.
But it doesn't steadily reproduces, therefore it might be caused by some special operations.
Device: xiaomi m2011k2c,      ROM: miui_V130_V<IP_ADDRESS>.SKBCNXM,    OS: 12.0
Device: xiaomi mi 10,         ROM: miui_V130_V<IP_ADDRESS>.SJBCNXM,     OS: 12.0
Device: redmi m2012k11ac,   ROM: miui_V130_V<IP_ADDRESS>.SKHCNXM,    OS: 12.0
Device: redmi m2007j17c,     ROM: miui_V130_V<IP_ADDRESS>.SKMCNXM,    OS: 12.0
Device: xiaomi 2106118c,       ROM: miui_V130_V<IP_ADDRESS>.SJSCNXM,     OS: 12.0

The linked patch discards exceptions and we have no reproducible test case. So it is difficult to make the case for it to land.

The linked patch discards exceptions and we have no reproducible test case. So it is difficult to make the case for it to land.

I found a related issue  https://github.com/react-native-clipboard/clipboard/pull/86 which may be helpful. It have a reproducible case, although the exception stack is slightly different.


Upcoming Release Changes

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to master, this PR will be updated.
Releases
<EMAIL_ADDRESS>Patch Changes

911bd33
Thanks @ardatan! - dependencies updates:

Added dependency<EMAIL_ADDRESS>↗ (to
dependencies)
Removed dependency<EMAIL_ADDRESS>↗ (from
dependencies)

911bd33
Thanks @ardatan! - Handle $refs in all of the object types

<EMAIL_ADDRESS>Patch Changes

Updated dependencies []:

<EMAIL_ADDRESS>

<EMAIL_ADDRESS>Patch Changes

Updated dependencies
[911bd33,
911bd33]:

<EMAIL_ADDRESS>

<EMAIL_ADDRESS>Patch Changes

Updated dependencies []:

<EMAIL_ADDRESS>

<EMAIL_ADDRESS>Patch Changes

Updated dependencies
[911bd33,
911bd33]:

<EMAIL_ADDRESS>

<EMAIL_ADDRESS>Patch Changes

Updated dependencies
[911bd33,
911bd33]:

<EMAIL_ADDRESS>

<EMAIL_ADDRESS>Patch Changes

Updated dependencies
[911bd33,
911bd33]:

<EMAIL_ADDRESS>

<EMAIL_ADDRESS>Patch Changes

Updated dependencies
[911bd33,
911bd33]:

<EMAIL_ADDRESS>

GitHub Release Assets

true

💻 Website Preview
The latest changes are available as preview in: https://0c49799e.fets.pages.dev

💻 Website Preview
The latest changes are available as preview in: https://02d41a0d.fets.pages.dev

🚀 Snapshot Release (rc)
The latest changes of this PR are available as rc on npm (based on the declared changesets):

Package
Version
Info

fets
0.1.2-rc-20230428121529-b3e6d88
npm ↗ unpkg ↗

💻 Website Preview
The latest changes are available as preview in: https://f05f361a.fets.pages.dev

💻 Website Preview
The latest changes are available as preview in: https://4df067c7.fets.pages.dev

💻 Website Preview
The latest changes are available as preview in: https://f1ac54f0.fets.pages.dev

💻 Website Preview
The latest changes are available as preview in: https://ad12e600.fets.pages.dev

💻 Website Preview
The latest changes are available as preview in: https://d22247d8.fets.pages.dev

💻 Website Preview
The latest changes are available as preview in: https://959a60e6.fets.pages.dev

💻 Website Preview
The latest changes are available as preview in: https://c0057c06.fets.pages.dev

💻 Website Preview
The latest changes are available as preview in: https://857ed258.fets.pages.dev

💻 Website Preview
The latest changes are available as preview in: https://a2e70a33.fets.pages.dev

💻 Website Preview
The latest changes are available as preview in: https://4edb8682.fets.pages.dev

💻 Website Preview
The latest changes are available as preview in: https://59f15353.fets.pages.dev

💻 Website Preview
The latest changes are available as preview in: https://c4fb1a4e.fets.pages.dev

💻 Website Preview
The latest changes are available as preview in: https://13156371.fets.pages.dev

💻 Website Preview
The latest changes are available as preview in: https://8897024a.fets.pages.dev

💻 Website Preview
The latest changes are available as preview in: https://037de04c.fets.pages.dev

💻 Website Preview
The latest changes are available as preview in: https://e1695b2c.fets.pages.dev


Cirq Tutorial - links broken

All the links under the "Next Steps" section of the Cirq Tutorial are broken. See here:
https://github.com/quantumlib/Cirq/blob/master/docs/tutorial.ipynb

@dstrain115 Looks like we are still linking to .md files in that section. I'm assuming follow up pull requests are going to address this.

Added this to #2890:
The Examples link under "Next Steps" in the Cirq Tutorial is broken: https://github.com/quantumlib/Cirq/blob/master/docs/tutorial.ipynb.
It should point here:
https://github.com/quantumlib/Cirq/tree/1daad398783964cc9b1965ae957812b5ca1f1395/examples

All the links should be fixed now.  Let me know if you find any others that are broken.


[Discussion] Create relationship from either side

https://github.com/aerogear/graphback/pull/538#discussion_r355585942
type User {
  id: ID!
  messages: [Message] # this does not create a relationship
}

type Message {
  id: ID!
  user: User # this does create a relationship
}

It should be possible to create a foreign key constraint from either side of this model. Currently only a N:1 or 1:1 will do this.

Should we also generate fields on the generated schema? Let's take following example:
type User {
  id: ID!
  name: String
  messages: [Message] # this does not create a relationship
}

type Message {
  id: ID!
  text: String
}

I understand that we expect this to create a userId column in the message table. Should we also add the Message.user field to the generated schema?
I can see the benefit of this, but I also see this as a step that the user could do. If I want to execute the following query:
query {
  findAllMessages {
    id
    text
    user {
      id
      name
    }
  }
}

They could add Message.user to the data model as they know this is a field they would want to query.
What do you think @wtrocki?

I understand that we expect this to create a userId column in the message table. Should we also add the Message.user field to the generated schema?

We were doing it before and we kinda removed it. Generally, we can:

Assume that users will always need to have bidirectional relationships in model and enforce it by validation

Generate that field automatically and use generated schema for migrations.

Trying to map current state and produce unclear docs for it

Force relationship annotations everywhere to have consistency.

Ad 1. I think that validation here might be a problem to end-users.
There could be situations where business logic will dictate to not have this field.
Additionally user experience, in this case, is not great. Having manual edit in model etc.
IMHO this option is strong no-no
Ad2. We had this discussion already. We can generate that field but only in target schema that is not available for the db migration now.
Going to this approach will have a number of benefits for migration package - it will be just generic. Then we can use graphql-annotations outside to get the same data..
However this requires investigation to see how we can change graphback to require full schema instead of model.

We are in this position now. We could actually drop it to people and get feedback but I think this will be really tricky pass the message. Def no go zone for me

This is tempting and I think that it do not exclude the nr 2.  or nr 1 (as a warning)
If we decide to just use annotation as marker and use some defaults then we can reliably use that in entire ecosystem. I would love to see that but I think we need investigation to see if there is no corner cases for this

@craicoverflow Feel free to reopen this issue if needed.


feat: AUTHWIT cancellations

Fixes #4786 and #3007.

#4786 is fixed with a minor change to the macro
#3007 fixed following the description comment in issue here.

Tl;dr:

Nullifiers are emitted by the account contract instead of the calling contracts
This needs a bit more context around the call for validation since they could overlap.
Kept the interface for the auth library as is

Briefly we move to emit the nullifiers from within the account contracts, such that the account is free to emit it outside of the planned call if it wish to cancel it.
Since it is now emitted at the account and not the calling contract, we need to restrict the contract_address of the message_hash, this is done by passing along more parameters than we have done previously.
The auth library can still be used in the same way, but the logic in the functions change to forward calls to the account ,
account.nr:
// Private Before
pub fn is_valid(self, message_hash: Field) -> Field {
    let valid_fn = self.is_valid_impl;
    if (valid_fn(self.context.private.unwrap(), message_hash)) {
        IS_VALID_SELECTOR
    } else {
        0
    }
}

// Private After
pub fn spend_private_authwit(
    self,
    caller: AztecAddress,
    selector: FunctionSelector,
    args_hash: Field
) -> Field {
    let context = self.context.private.unwrap();
    let message_hash = inner_compute_authwit_message_hash(
        caller,
        context.msg_sender(), // This value is not user provided
        selector,
        args_hash
    );
    let valid_fn = self.is_valid_impl;
    assert(valid_fn(context, message_hash) == true, "Message not authorized by account");
    context.push_new_nullifier(message_hash, 0);
    IS_VALID_SELECTOR
}

Need to add some explicit tests for failure cases with the hash collision with bad return values.

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

Current dependencies on/for this PR:

#4799  👈
#4798
master

This stack of pull requests is managed by Graphite.

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

Benchmark results
Metrics with a significant change:

batch_insert_into_append_only_tree_16_depth_ms (128): 82.6 (+34%)
batch_insert_into_append_only_tree_16_depth_hash_ms (128): 0.567 (+34%)

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
Values are compared against data from master at commit e69b5866 and shown if the difference exceeds 1%.
L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
8 txs
32 txs
128 txs

l1_rollup_calldata_size_in_bytes
54,212
214,436
855,332

l1_rollup_calldata_gas
259,844
1,019,816
4,059,788

l1_rollup_execution_gas
354,030
1,139,264
4,281,189

l2_block_processing_time_in_ms
1,215 (+2%)
4,571 (+1%)
18,161

note_successful_decrypting_time_in_ms
208 (+2%)
580 (+3%)
2,071 (+6%)

note_trial_decrypting_time_in_ms
18.9 (+37%)
120 (+26%)
194 (+18%)

l2_block_building_time_in_ms
16,170 (+1%)
64,056 (+1%)
259,822 (+1%)

l2_block_rollup_simulation_time_in_ms
12,359 (+1%)
49,020 (+1%)
199,956 (+1%)

l2_block_public_tx_process_time_in_ms
3,776 (+1%)
14,933 (+2%)
59,591 (+2%)

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 16 txs.

Metric
5 blocks
10 blocks

node_history_sync_time_in_ms
15,748 (+2%)
30,358 (+4%)

note_history_successful_decrypting_time_in_ms
1,306
2,494 (-5%)

note_history_trial_decrypting_time_in_ms
149 (+7%)
277 (-6%)

node_database_size_in_bytes
19,169,360
36,683,856 (+1%)

pxe_database_size_in_bytes
29,923
59,478

Circuits stats
Stats on running time and I/O sizes collected for every circuit run across all benchmarks.

Circuit
circuit_simulation_time_in_ms
circuit_input_size_in_bytes
circuit_output_size_in_bytes

private-kernel-init
240
44,664
27,457

private-kernel-ordering
155 (+1%)
45,777
14,627

base-rollup
1,307
175,344
933

root-rollup
71.0
4,192
825

private-kernel-inner
305 (-1%)
73,099
27,457

public-kernel-app-logic
187 (+1%)
32,254
25,379

merge-rollup
5.83 (+1%)
2,712
933

Tree insertion stats
The duration to insert a fixed batch of leaves into each tree type.

Metric
0 deployed contracts
1 deployed contracts

tx_size_in_bytes
18,472
36,230 (+5%)

Transaction processing duration by data writes.

Metric
0 new note hashes
1 new note hashes

tx_pxe_processing_time_ms
2,504 (+1%)
1,301 (+1%)

Metric
0 public data writes
1 public data writes

tx_sequencer_processing_time_ms
0.0333 (+24%)
460 (+1%)


finish testing before the node part

This change is

Hi @jareksl, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by Microsoft and real humans are currently evaluating your PR.
TTYL, MSBOT;


Update packages

This PR updates all packages and migrates away from pedantic which is now deprecated.
Please keep in mind that there are breaking changes in this PR since the new lint rules enforce constants in lowerCamelCase.
Closes #137

Hi @ThexXTURBOXx, can you please check the README (in particular the "Upgrading from previous versions" paragraph and see if everything seems ok to you?
Thank you!


smartStep/SkipFiles and stopOnEntry=true should stop at first actual source line mapped

VSCode Version: 1.9.1
OS Version: OS X

VSCode fails to stop at first mapped line of source code encountered inside a project when smartStep/SkipFiles is specified.
Steps to Reproduce:

For a nodejs project, add debug launch task for node/node2 and mocha tests, specify smartStep and/or skipFiles so mocha's own source code is not being debugged and specify stopOnEntry=true as shown in the example launch.json file below:
Run debugger
Note that the debugger breaks at the wrong place and fail to show an active source file.

Expected behaviour:
The debugger should break at the first available source file inside the project that is both mapped and is not covered by the skipFiles paths.
Example launch.json
{
    "version": "0.2.0",
    "configurations": [

        {
            "type": "node2",
            "request": "launch",
            "name": "Mocha Tests",
            "cwd": "${workspaceRoot}",
            "runtimeExecutable": "${workspaceRoot}/node_modules/.bin/mocha",
            "windows": {
                "runtimeExecutable": "${workspaceRoot}/node_modules/.bin/mocha.cmd"
            },
            "runtimeArgs": [
                "-u",
                "bdd",
                "--timeout",
                "999999",
                "--colors",
                "${workspaceRoot}/dist/spec/**/*.spec.js"
            ],
            "internalConsoleOptions": "openOnSessionStart",
            "stopOnEntry": true,
            "smartStep": true,
            "skipFiles": [
			    "${workspaceRoot}/node_modules/**/'.js"
		    ]
        }
    ]
}

Having this same issue with:
Node.js 8.9.0
vscode: 1.17.2
os: Ubuntu 16.04 x64

Seems to work now?


vcpkg action: can we avoid saving cache after each run?

Looking at the used cache key
https://github.com/ARM-software/cmsis-actions/blob/f608f32a6d83e90d79e1f2bbb7812fdb94bf1679/vcpkg/action.yml#L26
I'm wondering whether we could get rid of github.run_id? Using run_id as an end result, fills the cache storage. We could optimize this and use single cache entry until it is required to change it.
My initial idea was to check whether the content of vcpkg-configuration.json is changed by hashing it:

key: vcpkg-${{ runner.os }}-${{ runner.arch }}-${{ hashFiles( inputs.config ) }}${{ inputs.cache }}

This approach might not be fully accurate because at one of subsequent activations latest packages could be downloaded while vcpkg configuration still remains the same. I'm not sure whether we can overcome this limitation?

Note that separate cache save action is now available, see README.md

Not sure if we could split the cache into separate Restore and Save actions to achieve this.
The run_id part of the cache key might still be required because we still could have concurrent runs to Save the cache.
We'd just need to know if the cache requires update. We could try to inspect what vcpkg activate was doing. I.e., if it fetched and installed any new artifact (or version) the cache should be updated. In the same go, we could try to clean old versions from the cache before saving. This might need a bit of investigation work.


'Iso' based utils

@alexfmpe Should we delete pairEncoders then?

I forgot the original use case - I'll need to revisit this and evaluate again

The type of this thing is actually bizarre. It's like it comes from an alternate universe where we somehow use lenses or other optics to manipulate the internals of Encoders directly. You can apply isoEncoder to it and get an Encoder which transforms Encoders to other Encoders. Too higher order! :D

Based on @cgibbard's comment I'm going to close this. We can achieve the same thing without being higher order.


Request deletion of package from pub

Is it possible to delete google_maps_flutter from pub? It seems it has been uploaded by<EMAIL_ADDRESS>but it says the Author is the Flutter Team. Its is also referencing the flutter packages in the original flutter repository.
Changing the information is also a possibility to make it clear that this is not the flutter team that uploaded it as the readme describes.
But I think the person that uploads it should either fork/extra that plugin and put it in his own repo vs just linking to the original

I've moved this issue: https://github.com/dart-lang/pub-dartlang-dart/issues/1820
For future reference please prevent people from publishing work-in-progress packages by adding publish_to: none to your pubspec.yaml, typically as follows:
publish_to: none  # do not publish this package while under active development.


gateway api status not reflected when running multiple istio version

Is this the right place to submit this?

[X] This is not a security vulnerability or a crashing bug
[X] This is not a question about how to use Istio

Bug Description
We use istio for gateway api.
We would like to employ canary versioning to validate istio behavior and run multiple versions of istio for a period of time.
we can deploy multiple istio envoys using the istio.io/rev label in Gateway resource, but only one revision of the istio is reflected in the Gateway resource status.
Therefore, it is currently not possible to have multiple versions of istio running in parallel for gateway api.
use istio version
$ istioctl tag list
TAG    REVISION NAMESPACES
stable 1-20-8
canary 1-22-2

gateway status
NAMESPACE       NAME              CLASS   ADDRESS         PROGRAMMED   AGE
istio-ingress   default-gateway   istio                   Unknown      49m
istio-ingress   specify-gateway   istio   <IP_ADDRESS>   True         49m

# default-gateway
Status:
  Conditions:
    Last Transition Time:  1970-01-01T00:00:00Z
    Message:               Waiting for controller
    Reason:                Pending
    Status:                Unknown
    Type:                  Accepted
    Last Transition Time:  1970-01-01T00:00:00Z
    Message:               Waiting for controller
    Reason:                Pending
    Status:                Unknown
    Type:                  Programmed

# specify-gateway
Status:
  Addresses:
    Type:   IPAddress
    Value:  <IP_ADDRESS>
  Conditions:
    Last Transition Time:  2024-07-17T04:50:04Z
    Message:               Resource accepted
    Observed Generation:   1
    Reason:                Accepted
    Status:                True
    Type:                  Accepted
    Last Transition Time:  2024-07-17T04:51:41Z
    Message:               Resource programmed, assigned to service(s) specify-gateway-istio.istio-ingress.svc.cluster.local:80
    Observed Generation:   1
    Reason:                Programmed
    Status:                True
    Type:                  Programmed

Gateway manifest
apiVersion: gateway.networking.k8s.io/v1
kind: Gateway
metadata:
  name: default-gateway
  namespace: istio-ingress
  labels:
    istio.io/rev: stable
spec:
  gatewayClassName: istio
  listeners:
  - name: default-gw
    hostname: "*.example.com"
    port: 80
    protocol: HTTP
    allowedRoutes:
      kinds:
      - group: gateway.networking.k8s.io
        kind: HTTPRoute
      namespaces:
        from: Selector
        selector:
          matchLabels:
            kubernetes.io/metadata.name: default-gw

apiVersion: gateway.networking.k8s.io/v1
kind: Gateway
metadata:
  name: specify-gateway
  namespace: istio-ingress
  labels:
    istio.io/rev: canary
spec:
  gatewayClassName: istio
  listeners:
  - name: specify-gw
    hostname: "*.example.com"
    port: 80
    protocol: HTTP
    allowedRoutes:
      kinds:
      - group: gateway.networking.k8s.io
        kind: HTTPRoute
      namespaces:
        from: Selector
        selector:
          matchLabels:
            kubernetes.io/metadata.name: specify-gw

I followed the istiod logs and it seemed that only certain revisions of the pod were getting the istio-gateway-status-leader as the leader election.
version: can update gateway status
2024-07-17T05:00:54.504507Z     info    klog    successfully acquired lease istio-system/istio-gateway-status-leader
2024-07-17T05:00:54.504766Z     info    leader election lock obtained: istio-gateway-status-leader
2024-07-17T05:00:54.504779Z     info    Starting gateway status writer
2024-07-17T05:00:54.505320Z     info    klog    successfully acquired lease istio-system/istio-gateway-deployment-1-22-2

version: cannot update gateway status
2024-07-17T04:47:25.322462Z     info    klog    attempting to acquire leader lease istio-system/istio-gateway-status-leader...
2024-07-17T04:47:25.322510Z     info    klog    attempting to acquire leader lease istio-system/istio-gateway-deployment-1-20-8...

Version
$ istioctl version
client version: 1.22.2
istiod version: 1.20.8
istiod version: 1.22.2
data plane version: 1.20.8 (1 proxies), 1.22.2 (1 proxies)
$ kubectl version
Client Version: v1.30.2
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.29.4

Additional Information
bug-report.tar.gz

maybe I think...
gateway deployment controller use NewPerRevisionLeaderElection ,  so can deploy every revision without any problem.
https://github.com/istio/istio/blob/master/pilot/pkg/bootstrap/configcontroller.go#L169
https://github.com/istio/istio/blob/master/pilot/pkg/leaderelection/leaderelection.go#L225-L228
but, gateway status writer use NewLeaderElection, so can not reflect gateway status.
https://github.com/istio/istio/blob/master/pilot/pkg/bootstrap/configcontroller.go#L149
Is there any reason why NewPerRevisionLeaderElection cannot be used in gateway status writer?

@howardjohn
Hi, the following PR shows that the deployment controller uses NewPerRevisionLeaderElection.
https://github.com/istio/istio/pull/44746
Is there any reason why not using it in status writer?
If you know of any, please let me know when you have time.

This is the same root cause as https://github.com/istio/istio/issues/52438  fwiw


add cloze procedure

hidden word for target reading
hidden image for listening but can 'reveal' image?

done in other branch


Update readme with tutorial link.

Removed the "we've moved" message and added a link to the deployment
tutorial on the VS Code site.

I'd rather not link out to the wiki.. I'd much rather change the word if you really think the lingo is an issue.


Get and parse to a generic T inferred from return T

Feature Description
A function to access and parse into any type T or error out.
Describe The Solution You'd Like
A function envmnt::get<T>() -> Result<T, ?> where T: FromStr<T>. This way a environment variable can be gotten and parsed by its return type, or gracefully error out.
Code Sample
pub fn get<T, E>(key: &'static str) -> EnvmtResult<T>
    where T: std::str::FromStr + std::str::FromStr<Err=E>,
          E: std::fmt::Display
{
    let var = std::env::var(key)
        .map_err(|e|
            EnvmtError::Missing(format!("Failed to load environment variable: '{}' ({})", name, e))
        )?;

    let val = var.parse::<T>()
        .map_err(|e|
            EnvmtError::InvalidType(
                format!("Failed to parse environment variable: '{}' to type '{}' ({})", name, stringify!(T), e)
            )
        )?;

    Ok(val)
}

Collateral Effects
For instance numeric.rs can be simplified by this, since this generic specializes amongst other things into all its variants.
Motivation
I'm currently carrying this boiler plate around project after project, so I figured it might be useful to upstream it into an existing env utilities crate like yours. Would you accept a pull request for something like this?

definitely happy to get a PR.
as for numeric.rs its all macros so it feels simple already, but lets see


add pterodactyl panel service

Service for the game server panel pterodactyl
You can find more information on this service on their website pterodactyl.io
They also support third party add-ons called eggs. A list of them is here github.com/parkervcp/eggs
I tested it with a private gitpod environment (using exposed port) and with a fresh linux vm (using traefik). Seems to work smoothly.
Sidenote: I am not affiliated to the pterodactyl project.

Sorry, I have to close this PR without merging. The services changed since then. Now, there are template-based services. I will add pterodactyl to the list!

Is there now?

Is there now?

I just added a pr on the new template repository #20

Working on it at https://github.com/coollabsio/coolify/pull/3052.
Still a few caveats to fix.


document, test and add keyword method for reproject

reproject and resample were both confusingly similar, but with different syntax.
They also didn't refer to each other in docs or errors.
This PR fixes that.
See #562, @noahrhodes hopefully this makes the distinction clearer and directs you when to switch from reproject to resample

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

Comparison is base (ffa56ec) 80.61% compared to head (53d21d8) 80.62%.
 Consider uploading reports for the commit 23f073a to get more accurate results

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #563   +/-   ##
=======================================
  Coverage   80.61%   80.62%
=======================================
  Files          57       57
  Lines        4127     4129    +2
=======================================
+ Hits         3327     3329    +2
  Misses        800      800

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


New Project Image Incorrect

I installed the latest project templates and when I look at the Bot Framework folder I see two options "Microsoft Bot Builder V4 SDK" and "Bot Builder Echo Bot"   If I choose the first option I get a solution with 2 V4 bot projects.  If I choose the 2nd one I end up with a V3 SDK bot.   This is very confusing at first.    I also have a sub-folder under Bot Framework called Multi-project.  If I go into that I see templates for separate Basic and Echo V4 bots.     Please update the documentation to reflect what a person might actually see if they have been using the bot framework in the past or have installed the new templates.

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

ID: 1f1718fa-0745-3fee-6ef5-18e36b61fabf
Version Independent ID: fd9ef97f-4540-e624-d459-c076e94a50ad
Content: Create a bot with the Bot Builder SDK for .NET - Bot Service
Content Source: articles/dotnet/bot-builder-dotnet-sdk-quickstart.md
Product: bot-framework
GitHub Login: @Kamrani
Microsoft Alias: kamrani

I am also noticed that the Echo Bot template is now creates an EchoBotWithCounter.   This change breaks other pages in the documentation.  The section showing how to Use QnA Maker (https://docs.microsoft.com/en-us/azure/bot-service/bot-builder-howto-qna?view=azure-bot-service-4.0&tabs=cs) references EchoBot.cs which does not exist in any of the V4 templates.

@mphacker - the article you reference above uses the QnA sample. Therefore, it will have different class names etc.
@vishwacsena - please fix the template issue mentioned above. Thx

Screenshot of it is updated in our docs - if the template changes it will need a new picture, but as of now it's correct.
As for the places that reference EchoBot.cs, we do need updates to match the new template


Fix the webview2 build errors

This came from a cacophony of conflicts. I think the combined merge of

#172
#189
#184
#198

All worked together to make a very confusing build break here

<PlatformTarget>AnyCPU</PlatformTarget> was what broke us - @EricJohnson327 do we need this for the SDK? this is what ended up causing the x86 version of WebView2 to roll up into our x86 package

Er, this might not fix it. I just tried building ARM64 locally after the x64 build, and now I get

error APPX1101: Payload contains two or more files with the same destination path 'Microsoft.Web.WebView2.Core.dll'. Source files:
error APPX1101: C:\Users\zadji\.nuget\packages\microsoft.web.webview2\1.0.2739.15\build\..\\runtimes\win-x64\native_uap\Microsoft.Web.WebView2.Core.dll
error APPX1101: D:\dev\public\powertoys\packages\Microsoft.Web.WebView<IP_ADDRESS>39.15\build\..\runtimes\win-ARM64\native_uap\Microsoft.Web.WebView2.Core.dll

looks like it's manually pulling the x64 one from the nuget cache, and the ARM one from the local build results. Frakkin WebView2. Might just nuke it entirely.

Probably related to https://github.com/microsoft/WindowsAppSDK/issues/4826, @DHowett halp


TODO

~rename Spell to SpellData~
~add SpellType to SpellData~
More projectile entities
Multicast function
~Accumulate rechargeTime/castDelay~
better particle effects
modifiers
flask & magic potions
alchemy
wand textures
put wand as block

moved to project


Missing functions on Vector{2,3,4} types

Godot version
4.0beta11
Issue description
This seems small enough that I don't have to report separate issues or file a proposal. I noticed that the following functions are missing (at least from the latest docs and from the extension_api.json):

Vector2::inverse() (exists on Vector3 and Vector4)
Vector4::limit_length() (exists on Vector2 and Vector3)
Vector4::move_toward() (exists on Vector2 and Vector3)
Vector{2,3,4}i::distance_squared_to() (they have length_squared(), and Vector{2,3,4} do have distance_squared_to())

Their absence is probably just an oversight, since they could all easily be implemented and could make sense in certain niche situations.

There are more than these. There's also angle_to (missing on Vector2i/3i/4i/4), dot (missing on Vector2i/3i/4i), cross (missing on Vector2i/3i/4i/4), signed_angle_to (missing on Vector3i, not relevant for the others).
In a previous discussion, it was decided that we don't want to just add every method, since for the integer vectors you can just convert to a float vector and run the methods there. So we'd need a proposal with justifications and use cases before we can consider adding these APIs.

For the record: I miss Vector3i.dot to convert coordinates in a voxel into an array offset.


0.10.0: updateCameraPosition stops previous updateCameraPosition (Android)

Consider this very common use case: You have a map which centers on the current GPS position and orients itself towards the smartphone's orientation toward North.
In 0.9.6, the code to do that was:

on new GPS location received: mapController.setPositionEased(position,500);
on compass sensor event received: mapController.setRotation(rotation);

Now, in 0.10.0, I have to do:

on new GPS location received: mapController.updateCameraPosition(CameraUpdateFactory.setPosition(pos), 500);
on compass sensor event received: mapController.updateCameraPosition(CameraUpdateFactory.setRotation(mapRotation));

However, there is a problem: It seems that the animation towards the new position triggered by the new GPS location is interrupted and cancelled by the second call to updateCameraPosition by the compass sensor thread. (This happens at various places, the GPS sensor VS the orientation sensor is just the best example for it because it is such a common use case.)
Animating single camera properties was not a problem in 0.9.6, as far as I know. I do not find it understandable that 0.10.0 apparently does not have this feature anymore. Shouldn't the new verbose syntax make it more versatile rather than less?

You can still achieve the behavior you want, if I understand correctly. Keep a CameraPosition whose center and rotation are updated when new GPS and compass events are received, and then when you want to apply the new camera use CameraUpdateFactory.newCameraPosition with your sensor-tracking CameraPosition. Does that make sense?
The new update behavior of only applying one update at a time is intentional. It's easier to reason about the camera behavior when there's at most one animation running at any given time.

It's easier to reason about the camera behavior when there's at most one animation running at any given time.

What do you mean? ("[...] easier to reason [...]")

It's easier for us to implement, which should lead to fewer bugs. I also think it's easier to mentally model as a user because the camera's behavior at any moment only depends on the most recent call to updateCameraPosition. That's the idea anyway.

Well, you are right in that it is possible to create a wrapper around it so that not two threads manipulate camera parameters. Though it would have been nice if that wasn't necessary.


Error when call API (https://api.kuroshiro.org) - Error 1016

Hi team,
I'm using your API for my project,
But recent days, when I call your API, I got this issue,
Could you help me to fix it?
Thanks!

`
Error 1016 Ray ID: 657e5b95c9802308 • 2021-05-31 07:06:07 UTC
Origin DNS error
What happened?
You've requested a page on a website (api.kuroshiro.org) that is on the Cloudflare network. Cloudflare is currently unable to resolve your requested domain (api.kuroshiro.org).
What can I do?
If you are a visitor of this website:
Please try again in a few minutes.
If you are the owner of this website:
Check your DNS settings. If you are using a CNAME origin record, make sure it is valid and resolvable. Additional troubleshooting information here.
`

Hello, It'll be ok now. Please note that the API on kuroshiro.org is only for test use.

@hexenq thanks, bro.
It works fine now.
Thanks for your hard work.


Develop

Codecov Report

Merging #304 into develop will decrease coverage by 0.27%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           develop     #304      +/-   ##
===========================================
- Coverage    66.56%   66.28%   -0.28%
===========================================
  Files          209      209
  Lines        11439    11439
===========================================
- Hits          7614     7582      -32
- Misses        3825     3857      +32

Impacted Files
Coverage Δ

mediaPlayer/tests/mediaPlayerTest.cpp
93.75% <ø> (ø)

mediaPlayer/mediaPlayerSubTitleListener.h
50.00% <0.00%> (-33.34%)
:arrow_down:

mediaPlayer/subTitle/subTitlePlayer.cpp
63.52% <0.00%> (-9.42%)
:arrow_down:

framework/demuxer/avFormatSubtitleDemuxer.cpp
65.44% <0.00%> (-6.62%)
:arrow_down:

mediaPlayer/media_packet_queue.cpp
78.40% <0.00%> (-4.80%)
:arrow_down:

mediaPlayer/buffer_controller.cpp
51.69% <0.00%> (-3.39%)
:arrow_down:

mediaPlayer/player_notifier.cpp
78.07% <0.00%> (-3.21%)
:arrow_down:

mediaPlayer/subTitle/subTitleSource.cpp
83.33% <0.00%> (-2.39%)
:arrow_down:

mediaPlayer/MediaPlayer.cpp
68.89% <0.00%> (-0.84%)
:arrow_down:

mediaPlayer/SuperMediaPlayer.cpp
73.29% <0.00%> (-0.59%)
:arrow_down:

... and 5 more

Continue to review full report at Codecov.

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


refactor: deprecate StreamChunkWithState for source state

Background and Motivation
In previous implementations, we use StreamChunkWithState, containing the payload as StreamChunk and an offset mapping (from split_id to the latest offset per partition). We truncate the offset per batch and only keep the last one, which brings us the limitation that we cannot do truncation anywhere after going into source exec while maintaining the semantic of exactly once.
based on additional columns(#14215), I propose to derive partition (file for fs source) and offset for all sources and read the partition and offset info from the stream chunk itself rather than a separate struct. It allows not to treat the chunk as a whole, both throttling (#13800) and reusable source (https://github.com/risingwavelabs/rfcs/pull/72) can benefit from it.
After the refactor, we load split_id and offset from spec columns and no longer need StreamChunkWithState.
Compatibility
I don't want to make breaking changes to the table catalog, but additional columns are required to be part of the schema.
@BugenZhao and I found a way that we can do it when building source schema, manually adding the two columns into it and pruning the columns before yielding.
Note that if users specify include partition or include offset in SQL, then they are in the table schema. We don't have to manually add them and prune them.
This approach does not require changing data in meta, all changes happen in runtime and the new "hidden columns" do not have to be materialized, ie. a table with connector.
Implementation

manually add the two columns (SourceDesc::column_catalogs_to_source_column_descs)

cover both SourceDesc and FsSourceDesc

for both trad_source and fs_source, change load the state from chunk
https://github.com/risingwavelabs/risingwave/blob/7c84d06ff4f8b705117b862619a1f6766ca2d4c0/src/stream/src/executor/source/source_executor.rs#L571-L589
prune the added columns before yielding (don't forget to check if the column is user requested. If so, no need to prune)
https://github.com/risingwavelabs/risingwave/blob/7c84d06ff4f8b705117b862619a1f6766ca2d4c0/src/stream/src/executor/source/source_executor.rs#L609

If I understand it correctly, the motivation is: Since we can (and will always) include partition and offset in the chunk payload, the additional offset state in StreamChunkWithState and thus the whole struct isn't necessary any more.
I think it's a good to have refactoring but not urgent. It's also easy to change.
The compatibility issue is also mainly about whether always including partition and offset in the chunk is problematic, less related with StreamChunkWithState itself.


Using Launchpad and autofocus

While using autofocus feature, open launchpad and try selecting an app with your mouse. A window underneath gains focus, and the launchpad closes. I'm using two monitors, not sure if the issue exists with one monitor.
This issue exists only if you have two or more open windows in the space

The autofocus feature is kinda lacking and not working like I originally wanted it to.
The issue you describe happens with things such as "Spotlight" as well, while running autofocus.
I do not have any external monitors available atm, and I am unable to reproduce this bug with my current setup. This could very well be how multi-monitors are handled, and support for multiple monitors is very much in development still.

There is also an issue with contextual menus that overlay a different window. If the window does not own the context menu it will gain focus, closing the context menu.

I got a couple of ideas in mind that may solve the contextual issue. Definitely something I will look into when I have time.

The issue regarding contextual menus should now be solved.
Due to technical issues, if the menubar is visible, focus follows mouse will be ignored.
If you wish to use this feature enable autohide menu bar in El Capitan settings.
Regarding the autofocus problem, just create a new issue if you find that the problem persists.


Updated example_gan_cifar10.py

Added int() necessary for python3 and also addresses input_shape (i.e. issue #28 )

Thanks a lot @isaacmg ! I only setup travis on a basic example but I think I should have travis run all the examples.
Cheers


feat: add stricter eslint rules for typescript

Pull Request

Proposed Changes

While we were pairing on https://github.com/github-community-projects/internal-contribution-forks/pull/162, we found that we didn't add an await keyword to the function running the auth check. To prevent this from happening in the future, I added stricter eslint rules for typescript
This also fixes all the problems that arise from the addition of these rules. In general, we're looking pretty good 🥨
Readiness Checklist
Author/Contributor

[ ] If documentation is needed for this change, has that been included in this pull request
[x] run npm run lint and fix any linting issues that have been introduced
[x] run npm run test and run tests
[ ] If publishing new data to the public (scorecards, security scan results, code quality results, live dashboards, etc.), please request review from @jeffrey-luszcz

Reviewer

[x] Label as either bug, documentation, enhancement, infrastructure, maintenance, or breaking

@zkoppert luckily next comes with eslint support 😄


[LOC]Unnecessary asterisks are displayed (ja-jp)

ja-jp:"https://docs.microsoft.com/ja-jp/azure/databricks/integrations/bi/looker"

en-us:"https://docs.microsoft.com/en-us/azure/databricks/integrations/bi/looker"

#PingMSFTDocs

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

ID: c0e082ae-98bd-883a-f575-9b256eea21a2
Version Independent ID: c592bafc-5336-5d96-bf13-24f021218480
Content: Looker - Azure Databricks - SQL Analytics
Content Source: databricks/integrations/bi/looker.md
Service: azure-databricks
GitHub Login: @mssaperla
Microsoft Alias: saperla

Thanks for the feedback! We have assigned the issue to the content author to further review this and update the document as appropriate.

@leifbro - Could you please review this feedback and update the source content as needed? - Thank you

Thanks for the update @leifbro .
@mssaperla - Could you please review this issue and assign it to the appropriate team who can fix this? - Thank you

#reassign:@SunnyDeng  please take a look at the translation issue - bold markdown showing through.

@JasonWHowell -Thanks! I'm Poor English.
Translated into Japanese, bold markdown showing and the link range is incorrect.
Thank you for reading what my intended.

Hi @SunnyDeng - Could you please assist to fix this issue? - Thank you

This issue appears resolved.

#please-close


Aaron Plocharczyk's created his logical turtles post

This includes the trinket itself as well as a reflection. The reflection is formatted with a small amount of HTML to make it look right. Hope that is alright.

Formatting looks good, ready to merge!


Add ability to create Cromwell instance from Analyses tab [BW-819, BW-910]

This allows one to create a Cromwell app on the new Analyses tab. It is feature-flagged off by default. To enable it, execute the following in the JavaScript console:
configOverridesStore.set({ isAnalysisTabVisible: true, isCromwellAppVisible: true })
This MR is deployed at https://pr-2-dot-bvdp-saturn-dev.appspot.com/. To enable Launch button and interact with the Cromwell Swagger page, you have to modify the headers to make the referer https://leonardo.dsde-dev.broadinstitute.org.
Things that work:

Should be able to create a Cromwell and bring up the Swagger page through Launch (once the app has finished provisioning).
You should not be allowed to create more than one Cromwell.
You are given the option* to Pause/Resume from the Compute modal dialog (within the Analyses tab), though the functionality does not reliably work
You can delete Cromwell from the Cloud Environments page.
Hopefully nothing about Galaxy got broken (biggest risk is around assumptions that an app is always Galaxy and a persistent disk is always related to Galaxy).
Cromwell state is displayed in the Environment context widget on the right-hand side.

Things that don't work:

No ability to customize anything about the Cromwell deployment
Does not display under "Your Analyses".
No explanation of costs associated with a deployment.
No fancy graphics.
The data disk is not reused from a previously created Cromwell (new persistent disk every time).
Pause/Resume functionality is not working properly*-- see https://broadworkbench.atlassian.net/browse/BW-908
No tests. :(

@cjllanwarne FYI I did a force push because I rebased to resolve merge conflicts with dev.

Since the persistent disk cannot be reused with a new Cromwell app at this time, should we make it the only option to delete the disk while deleting the corresponding app?
We should change references to Galaxy in the text to Cromwell.

Since the persistent disk cannot be reused with a new Cromwell app at this time, should we make it the only option to delete the disk while deleting the corresponding app?
We should change references to Galaxy in the text to Cromwell.

We are already working on making it so that we can reuse the persistent disk, so it doesn't make sense to force the deletion.
However, we should change the text so that it does not hardcode Galaxy (I never bothered to read it!). I don't know yet what to do about the specifics of how long it takes to create a new environment, how to copy over things you might want to save yet, etc. This will probably end up as something we need to work with UX on, but I will see what is practical in the short term.

We are already working on making it so that we can reuse the persistent disk, so it doesn't make sense to force the deletion.

Gotcha. One thing I noticed around that is, when I did not delete my disk while deleting my Cromwell app, and then create another Cromwell app, I got a misleading error/danger triangle (since it says there are multiple cloud environments whereas it's actually multiple disks) on the main page

where clicking on the error sign takes you to Cloud Environments page with warnings next to the two Cromwell disks

Because Cromwell will be behind a feature flag and you folks are working on implementing better support for it, I don't see this as a blocker but wanted to note anyway.

We are already working on making it so that we can reuse the persistent disk, so it doesn't make sense to force the deletion.

Gotcha. One thing I noticed around that is, when I did not delete my disk while deleting my Cromwell app, and then create another Cromwell app, I got a misleading error/danger triangle (since it says there are multiple cloud environments whereas it's actually multiple disks) on the main page

where clicking on the error sign takes you to Cloud Environments page with warnings next to the two Cromwell disks

Because Cromwell will be behind a feature flag and you folks are working on implementing better support for it, I don't see this as a blocker but wanted to note anyway.

This is an existing bug/assumption in the code. If I am reading the code correctly, you would see the same behavior if you create a Galaxy instance, deleted it without deleting the persistent disk, and then created a new Galaxy instance using a new disk. But perhaps that isn't possible because Galaxy will always use the already existing disk in that case?? Please let me know what the Galaxy behavior is.
I think this falls into the category of things that we will have to clean up if we decide to allow the user to create a Cromwell instance and NOT reuse an existing disk. In our next planned iteration, we plan to always reuse an existing disk.

But perhaps that isn't possible because Galaxy will always use the already existing disk in that case??

Correct.

I think this falls into the category of things that we will have to clean up if we decide to allow the user to create a Cromwell instance and NOT reuse an existing disk. In our next planned iteration, we plan to always reuse an existing disk.

Sounds good.

But perhaps that isn't possible because Galaxy will always use the already existing disk in that case??

Correct.

I think this falls into the category of things that we will have to clean up if we decide to allow the user to create a Cromwell instance and NOT reuse an existing disk. In our next planned iteration, we plan to always reuse an existing disk.

Sounds good.

Actually, thinking about this more the code should be changed to check if there is more than one app instance per app type (instead of looking at the number of persistent disks). That's consistent with the message, and it will fix the current issue that this error icon would show if you have 1 Cromwell and 1 Galaxy in the same workspace. I will make the fix and push it up in a bit.

it will fix the current issue that this error icon would show if you have 1 Cromwell and 1 Galaxy in the same workspace. I will make the fix and push it up in a bit.

I haven't seen the error when having 1 Cromwell + 1 Galaxy when they had no additional disks. I saw it only when I had 2 disks for Cromwell. Regardless, I agree with

…the code should be changed to check if there is more than one app instance per app type (instead of looking at the number of persistent disks). That's consistent with the message...

represents Jupyter/RStudio runtimes. It as well as

will go away (along with Notebooks tab) once Analyses Tab is released.
Does this clarify things a bit?

Since the persistent disk cannot be reused with a new Cromwell app at this time, should we make it the only option to delete the disk while deleting the corresponding app?
We should change references to Galaxy in the text to Cromwell.

We are already working on making it so that we can reuse the persistent disk, so it doesn't make sense to force the deletion.
However, we should change the text so that it does not hardcode Galaxy (I never bothered to read it!). I don't know yet what to do about the specifics of how long it takes to create a new environment, how to copy over things you might want to save yet, etc. This will probably end up as something we need to work with UX on, but I will see what is practical in the short term.

Made the Galaxy-specific message only displayed for Galaxy apps. In the Cromwell case it will only ask if you wish to also delete the persistent disk-- I expect we will want to add wording later about the impact of deleting the persistent disk, but we need to work with product/UX to figure out the wording. Perhaps we will be able to come up with something general enough that it works for both Galaxy and Cromwell, or perhaps we will have Cromwell-specific language.

I'm guessing adding a RESUME button above will be part of the subsequent work?

above

Probably… if we decide that it is worth allowing them to pause/resume vs. just deleting and recreating Cromwell. We (dev and product) have questions about the use case and costs related to pause.
For Cromwell, deleting and recreating an instance  is pretty fast. And pause is also not working properly for Cromwell at the moment, so we may remove it as an option for Cromwell specifically on the Cloud Environments page and in the Cloud Environments modal (https://broadworkbench.atlassian.net/browse/BW-908). I have it on my list to find out more about how Pause is implemented, and what the benefits are.

I'm guessing adding a RESUME and DELETE buttons above will be part of the subsequent work?
Relatedly and for my edification, can a Cromwell app be deleted if it's in paused state. For context, Galaxy cannot be.

Deciding what we want to show in this modal for Cromwell is something we want to work out with UX. For this submission, it was really just about enabling the "Start" for Cromwell. I imagine Delete will show up here at some point, but TBD.

We have a leonardo-cron-jobs repo for processes that intermittently run to detect/fix anomalies, and cleaning resources up. I didn't look into the code exhaustively but we made Galaxy app-specific assumptions there too (like this) that may need updating and/or we may need to add additional cron jobs for Cromwell. Resource clean-up part of things may actually be a high priority since it'll cost money if they're left behind. Can we create a ticket for it?

represents Jupyter/RStudio runtimes. It as well as

will go away (along with Notebooks tab) once Analyses Tab is released.
Does this clarify things a bit?

It's good to know that those will go away. Given your explanation, I think the code change we want here is to remove both Galaxy and Cromwell persistent disks from that array, since that widget is meant to only be considering Jupyter/Studio runtime information.

@kyuksel I have pushed up the changes to remove Pause for Cromwell apps, and I completed the generalization of galaxyDataDisks to appDataDisks.

We have a leonardo-cron-jobs repo for processes that intermittently run to detect/fix anomalies, and cleaning resources up. I didn't look into the code exhaustively but we made Galaxy app-specific assumptions there too (like this) that may need updating and/or we may need to add additional cron jobs for Cromwell. Resource clean-up part of things may actually be a high priority since it'll cost money if they're left behind.

Created https://broadworkbench.atlassian.net/browse/IA-3072

With the latest code, I deleted a Cromwell so my #clusters page looked like

and then on the Cloud Env Modal, I noticed I wasn't able to create a new Cromwell:

Note I'm reporting this separately from this but the root cause for both issues may be the same; i.e. the code isn't distinguishing between Galaxy and Cromwell instances, and trying to assert cases like one app per workspace.
When I have a PROVISIONING Galaxy:

I get the message below when hovering over Cromwell

Now that we've removed the pause buttons for Cromwell, the right-most column on #clusters looks weird:

I understand that the UX details aren't determined but if it's a quick change to left-align Cromwell's delete button or align it with the delete buttons for other apps, it may be worth fixing.

I understand that the UX details aren't determined but if it's a quick change to left-align Cromwell's delete button or align it with the delete buttons for other apps, it may be worth improving for the interim too.

My gut feeling is that we will end up exposing Pause, but it's easy enough to move the spacing from the Delete button to the Pause button.

I get the message below when hovering over Cromwell <(while Galaxy was Provisioning>)

The message "Create new Environment (may overwrite existing)" is what we always show when an instance of that type does not already exist. From your comment, I think you expect "may overwrite existing" to mean we think there is already an instance. When there is an instance, what we show is "Edit existing Environment".

TL;DR With the latest code, there seems to be an issue with creating a Cromwell when there is a Galaxy app in DELETING status.

Excellent catch! Yes, there was a Galaxy-specific conditional we were hitting. I've modified it to check if the item being rendered is Galaxy.
(I do wonder what special logic we will need for handling Cromwell's persistent disk, but it's out of scope for this change)

FWIW, the disk warning occurs for not only the Cromwell disk but also the GCE disk.

The disk warning code needs some work. Right now it is pulling Galaxy disks out of the list of disks, and it shows the warning if there are multiple Galaxy disks or multiple tool disks (disks left after removing Galaxy's) in the workspace. But the Cromwell disks are not being pulled out of the total list of disks, so if you have a GCE and a Cromwell you get the warning.
Would you be OK if I create a follow-up ticket to fix this problem? I'd like to see if I can do it without adding a whole bunch of Cromwell variables/logic that duplicates the Galaxy logic. And since this MR is already pretty large, I would like to minimize further churn on it.

👍🏼
Thanks for diligently addressing all of the PR comments!


Builder and parent class

As mentioned in #988 the inheritance doesn't work that isn't the case here
https://github.com/google/FreeBuilder

+1

+1

++ ?


allow listen address to be configured alongside port

This is useful if cases where collins runs on a node with multiple
interfaces, or behind a proxy.

LGTM! Could you add this to the Dockerfile's entrypoint as well?

I don't think the Dockerfile has a precedent for configuration like this.  For example the port is just hard coded as  -Dhttp.port=9000`` and that is relied upon by the EXPOSE` statement.

@cburroughs it would be nice to have listen.address explicitly set to <IP_ADDRESS>, but totally not necessary for this PR.

@cburroughs maybe this is because I'm running docker 1.10.0, but I was able to add the following to the dockerfile and it respected the environment variable.
$ git diff Dockerfile
diff --git a/Dockerfile b/Dockerfile
index 32b7e9f..72caa23 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -30,7 +30,8 @@ WORKDIR /opt/collins
 # You probably will want to override these configs in production
 COPY conf/docker conf/

+ENV PORT 9000
+
 # expose HTTP, JMX
-EXPOSE 9000 3333
+EXPOSE $PORT 3333
 CMD ["/usr/bin/java","-server","-Dconfig.file=/opt/collins/conf/production.conf","-Dhttp.port=9000","-Dlogger.file=/opt/collins/conf/logger.xml","-Dnetworkaddress.cache.ttl=1","-Dnetworkaddress.cache.negative.ttl=1","-Dcom.sun.management.jmxremote","-Dcom.sun.management.jmxremote.port=3333","-Dcom.sun.management.jmxremote.authenticate=false","-Dcom.sun.management.jmxremote.ssl=false","-XX:MaxPermSize=384m","-XX:+CMSClassUnloadingEnabled","-cp","/opt/collins/lib/*","play.core.server.NettyServer","/opt/collins"]
-

And then when I built and inspected the container, I got port 9000 exposed:
$ docker inspect will-collins
[
    {
        "Id": "sha256:bf93647bd4735d032e9814a44090ec2fc0bb4a8849cadfc8f654af39adc890f0",
        "RepoTags": [
            "will-collins:latest"
        ],
        "RepoDigests": [],
        "Parent": "sha256:42c864b87c4b0aa9475a88fa1b78d3ddecfe4164dc0b7ffcbde711fbf3585a93",
        "Comment": "",
        "Created": "2016-03-28T15:47:49.588022328Z",
        "Container": "c9f22977a400f761729b282c2086c46af0503e7d03d5d46cf03e93d73096c91f",
        "ContainerConfig": {
            "Hostname": "e5c68db50333",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": false,
            "AttachStderr": false,
            "ExposedPorts": {
                "3333/tcp": {},
                "9000/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "LANG=C.UTF-8",
                "JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre",
                "JAVA_VERSION=8u72",
                "JAVA_DEBIAN_VERSION=8u72-b15-1~bpo8+1",
                "CA_CERTIFICATES_JAVA_VERSION=20140324",
                "PORT=9000"
            ],
            "Cmd": [
                "/bin/sh",
                "-c",
                "#(nop) CMD [\"/usr/bin/java\" \"-server\" \"-Dconfig.file=/opt/collins/conf/production.conf\" \"-Dhttp.port=9000\" \"-Dlogger.file=/opt/collins/conf/logger.xml\" \"-Dnetworkaddress.cache.ttl=1\" \"-Dnetworkaddress.cache.negative.ttl=1\" \"-Dcom.sun.management.jmxremote\" \"-Dcom.sun.management.jmxremote.port=3333\" \"-Dcom.sun.management.jmxremote.authenticate=false\" \"-Dcom.sun.management.jmxremote.ssl=false\" \"-XX:MaxPermSize=384m\" \"-XX:+CMSClassUnloadingEnabled\" \"-cp\" \"/opt/collins/lib/*\" \"play.core.server.NettyServer\" \"/opt/collins\"]"
            ],
            "ArgsEscaped": true,
            "Image": "sha256:42c864b87c4b0aa9475a88fa1b78d3ddecfe4164dc0b7ffcbde711fbf3585a93",
            "Volumes": {
                "/opt/collins/conf/solr/cores/collins/data": {}
            },
            "WorkingDir": "/opt/collins",
            "Entrypoint": null,
            "OnBuild": [],
            "Labels": {}
        },
..... <more stuff here>

So I think we could set the port using an environment variable in the Dockerfile, and make all of the scripts used in the container respect that variable to change the port that gets used.  Not sure if it's worth doing or not though.

I'd not use the script with the Dockerfile. I personally never used those scripts and in general try to avoid using 'vendor scripts' to bring up my services. I think it's fine to provide them here for convenience, but wouldn't change the Dockerfile to use it.
So IMO, this can get merged. Is there something else blocking it?


Fix affinity matching.

LGTM, one comment though,
if I'm not mistaken, we don't need the special case for empty label, Match will handle it correctly.
Match("") will return true for !=
diff --git a/scheduler/filter/constraint.go b/scheduler/filter/constraint.go
index ecc26a5..5051d2b 100644
--- a/scheduler/filter/constraint.go
+++ b/scheduler/filter/constraint.go
@@ -30,17 +30,8 @@ func (f *ConstraintFilter) Filter(config *dockerclient.ContainerConfig, nodes []
                                        candidates = append(candidates, node)
                                }
                        default:
-                               if label, ok := node.Labels[constraint.key]; ok {
-                                       if constraint.Match(label) {
-                                               candidates = append(candidates, node)
-                                       }
-                               } else {
-                                       // The node doesn't have this particular label.
-                                       if constraint.operator == NOTEQ {
-                                               // Special case: If the operator is != and the node doesn't
-                                               // have the label at all, consider it as a candidate.
-                                               candidates = append(candidates, node)
-                                       }
+                               if constraint.Match(node.Labels[constraint.key]) {
+                                       candidates = append(candidates, node)
                                }
                        }
                }

If I'm wrong, we need to add one more test, because tests are passing with this patch.

Done. PTAL

LGTM


Fix mismatch in environment variable assignment

Changelog Entry
Description

This pull request addresses a mismatch in environment variable OAUTH_PICTURE_CLAIM assignment that was causing mismatch in the oauth configuration.

Fixed

Changed OAUTH_USERNAME_CLAIM to OAUTH_PICTURE_CLAIM

Already fixed on dev.


BUG: Unhandled error in plugin list_queue: 'NoneType' object has no attribute 'lower'

Lastest 2.0.10, config worked fine on 2.0.9
2016-05-04 12:00 CRITICAL task          movies_queue    BUG: Unhandled error in plugin list_queue: 'NoneType' object has no attribute 'lower'
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/site-packages/flexget/task.py", line 442, in __run_plugin
    return method(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/flexget/event.py", line 23, in __call__
    return self.func(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/flexget/plugins/filter/list_queue.py", line 37, in on_task_filter
    result = thelist.get(entry)
  File "/usr/local/lib/python2.7/site-packages/flexget/utils/database.py", line 34, in wrapper
    return func(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/flexget/plugins/list/movie_list.py", line 187, in get
    match = self._find_entry(entry=entry, session=session)
  File "/usr/local/lib/python2.7/site-packages/flexget/utils/database.py", line 31, in wrapper
    return func(*args, **kwargs)
  File "/usr/local/lib/python2.7/site-packages/flexget/plugins/list/movie_list.py", line 171, in _find_entry
    res = (self._db_list(session).movies.filter(func.lower(MovieListMovie.title) == name.lower())
AttributeError: 'NoneType' object has no attribute 'lower'

pushed a fix for that one already, should be out next release: https://github.com/Flexget/Flexget/commit/084731d07e0d9e800b5c8a96aba5b566fa42fe4e


top, left, bottom shadow works great but right shadow are not working ?

I thank you for the awesome library that save me a lot of time, I used the lib in a recyclerview but the right shadow aren't working while the top, left, bottom working great. I hope you give me a tip to fix this problem as you see this comment.

@yussef123  Hi. That seems weird to me. I have added an example which uses RecyclerView and confirmed this library can be used inside of RecyclerView.

https://github.com/h6ah4i/android-materialshadowninepatch/tree/issue_13_recyclerview

If you still cannot find the solution yourself, could you upload a sample code which can reproduce the same issue?
Thanks.

I figure out that I have a problem in size of the grid list and the space aren't enough to draw the shadow.
Thank you for your help and sorry for disturbing you.

No problem, I am glad to help :smile:


RackFilter always gets 404 from filter chain and then resets session

Hi,
I've had this issue in both 1.0.10 and 1.1.3.  Environment is JRuby 1.6.5 with JBoss 5 & 7.  Using cookie store.
We first discovered the issue because our servlet filters could not write to cookies.  The same filters work in other non-jruby servlets.
Upon further inspection, in 1.0.10 in RackFilter, at line 55, capture is always an error (404), which resets the session, but then continues to process the request correctly (the right page loads in the browser).
In 1.1.3 in UmappedRackFilter, line 67, the response is always an error (404) as well, which then resets the session.
I've tried this in our own app as well as a brand new rails 3.1 app with a hello world controller (no filters besides the appropriate RackFilter), with the same results.
Appreciate any insight into this issue.

Does JBoss reset the session when calling response.reset()? If so, that seems to be un-spec'd behavior that I was not aware of. ServletResponse#reset doesn't say anything about session.

Nick,
Thanks for replying.  Actually, the issue is that we don't expect at 404, but somehow the ResponseCapture gets a 404 and then resets the session.  Even more odd is that even though the response capture is a 404, our app "works" as expected (except for the inability to write to cookies.)
Chris

Chris, could you please provide us with some more details I have created a new rails 3.1 app, warbled and deployed to latest JBoss but do not see an error from the filter as you describe (well I do see 404 if I hit stuff that doesn't exists :)) ...
Could you please explain further - what request should I issue, are you hitting the context root and seeing error on UmappedRackFilter#L67 and/or try out the latest 1.1.4 release since there's been a regression fixed related to capturing responses in a servlet filter but since you see this with 1.0.10 as well this should be something else, but anyway worth a try, thanks.

Kares,
Trying to think how to give a better explanation/get to the bottom of this.
Yes, the "error" occurs when hitting the context root, or any valid route in the rails app.  Just so that we're clear, the "error" occurs inside the filter, but no error appears to the browser.  The browser receives a status 200.  I just know that with Sys.out statements and attaching a debugger that the filter gets a status error code and then enters the reset session logic of the filter.
I'll try 1.1.4 and see what happens.  Beyond that I guess I can check in my test rails app so that we are working from the same project.

I do have the same issue with 1.1.4 and JRuby 1.6.5.
I'll create a github project for my test rails app and see if that helps us get to the bottom of this.  since you can't reproduce it, maybe i'm configuring something wrong on my side :(

Thanks Chris, appreciate your effort.
The test app would be excellent - after all as programmers it's code that speak for us :) !

I checked in an app here:
https://github.com/christopherslee/jrubyracktestapp
please let me know if you are able to reproduce, or if it's user error on my part.

Kares,
Ok, I changed the app so that it uses a really dumb cookie writing filter.  It attempts to write "foo"="bar" to the cookie.
I also changed the rails app to include this filter in the web.xml.erb.
You'll see that the filter executes and Sysouts "writing to cookie", but nothing makes it to the cookie.
The dumb filter is here:
https://github.com/christopherslee/simplecookiewritingfilter
Thanks,
Chris

Oh,
I think it's worth noting that we are able to write to cookies from the rails app, or from the console, or whatnot.  However, we are not able to write to cookies from any servlet filter itself.
Thanks for looking into this.
Chris

Ah, thanks Chris I guess I slightly misunderstood but now it's quite clear.
The first thing that comes to my mind in approaching this use-case of yours is that maybe using the RackServlet instead would be a better option for you. The servlet will serve as an end point (with the RackFilter there's always a default container endpoint at the end of the chain) and your custom filter can perform it's logic around it (both should be mapped to handle /*).
Of course the second, slightly more complicated, possibility is in-house overriding the RackFilter with a custom response capture like implementation which is not to be reset before letting it into the Rails part.
Anyways, I think supporting your use-case is not impossible but slightly "against" the current RackFilter implementation.
Maybe a bit redundant to introduce as it should be achievable with the servlet setup, I'll try to let it work through my brain some more ...

forgive my ignorance, what do you mean use the rackservlet instead?

ahh, ok.  So now (with a proper call to addCookie), it doesn't work with RackFilter, but DOES work with RackServlet.
I'm not sure I fully understand why all the requests come back as errors in RackFilter.  Is it something with our configuration?


'GedisClientFactory' object has no attribute '_model'

When trying to run
gedis_client = j.clients.gedis.get("notary", port=8888)

as described in https://github.com/threefoldtech/digitalmeX/tree/development/packages/notary#using-gedis

➤ Abdelrahman Hussein commented:
@GlenDC are you sure you are using the latest from development branch? I have recently fixed this issue.

➤ Glen De Cauwsemaecker commented:
I am the last one to have pushed a commit to the development branch, so can't be more sure than that I suppose. I am on https://github.com/threefoldtech/jumpscaleX/commit/8581f7b3938fefe201bec7520dac96a5c90ca42f for your information.

➤ Abdelrahman Hussein commented:
Ok, got it now. this issue should be moved to the digitalmeX repo since the GedisClient is implemented there.
If you pull the latest development branch from the digitalmeX repo, the issue should be resolved. Let me know if you still have it after pulling the latest changes.