Need Help Setting Up SharePoint Frameworks

Hello.. When I go through the setup I'm getting errors. I just need help with getting Frameworks installed successfully. Thanks!

All questions or issues around SharePoint Framework should be submitted to https://aka.ms/spfx-issues, so that engineering can response to your questions.


HIVE-26148: Keep MetaStoreFilterHook interface compatibility after introducing catalogs.

What changes were proposed in this pull request?

Add some interfaces of MetaStoreFilterHook removed while introducing catalogs to Hive 3.
Why are the changes needed?

To keep interfaces compacibility.
Does this PR introduce any user-facing change?

No
How was this patch tested?

No additional tests.

@deniskuzZ @pvary Could you please review this PR?

@wecharyu: Mostly LGTM. I would like to see @nrg4878's opinion as well, since he is more knowledgeable around HMS.
Thanks,
Peter

Gentle Ping @pvary @nrg4878


react 15.2.1 gives error, Warning: Unknown props mobile, onSelectStart on  tag

Problem description
I'm using "react": "^15.2.1", and "react-numeric-input": "^2.0.4".  When I use this component, it gives me the following error,
warning.js:44 Warning: Unknown props mobile, onSelectStart on  tag. Remove these props from the element. For details, see https://fb.me/react-unknown-prop
in input (created by NumericInput)
in span (created by NumericInput)
in NumericInput (created by kNumericInput)
in div (created by KNumericInput)
in div (created by KNumericInput)
in KNumericInput (created by KComponentWrapper)
in div (created by KComponentWrapper)
in KComponentWrapper (created by KForm)
in div (created by Paper)
in Paper (created by KForm)
in KForm (created by PageDetails)
in div (created by CardText)
in CardText (created by PageDetails)
in div (created by Card)
in div (created by Paper)
in Paper (created by Card)
in Card (created by PageDetails)
in PageDetails (created by KObjectPage)
in div (created by Paper)
in Paper (created by KObjectPage)
in KObjectPage (created by Connect(KObjectPage))
in Connect(KObjectPage) (created by RouterContext)
in div (created by Main)
in div (created by Main)
in MuiThemeProvider (created by Main)
in Main (created by Connect(Main))
in Connect(Main) (created by RouterContext)
in RouterContext (created by Router)
in Router
in Provider
Steps to reproduce

npm install react and react-numeric-input

Initialize the component.
            import NumericInput from 'react-numeric-input'
             <NumericInput
                 className="numericInput"
                 min={fieldContext.minValue}
                 max={fieldContext.maxValue}
                 value={this.props.value}
                 onChange={this.handleChange.bind(this)}
                 onBlur={this.handleBlur.bind(this)}
                 onFocus={this.handleFocus.bind(this)}
                 style={KNumericInputStyle}
             />

Possible solution: https://gist.github.com/jimfb/d99e0678e9da715ccf6454961ef04d1b

I have this issue too.

The latest version (2.0.5) is compatible with React 15.2 and 15.3


fix timezone warning

Suppress warning:
/Users/user/Library/Caches/pypoetry/virtualenvs/asynch-56aJZi1l-py3.10/lib/python3.10/site-packages/asynch/proto/columns/datetimecolumn.py:199: PytzUsageWarning: The zone attribute is specific to pytz's interface; please migrate to a new time zone provider. For more details on how to do so, see https://pytz-deprecation-shim.readthedocs.io/en/latest/migration.html
  local_timezone = get_localzone().zone

Getting a time zone’s name
ref: https://pytz-deprecation-shim.readthedocs.io/en/latest/migration.html#getting-a-time-zone-s-name

Thanks!


Fatal Error while launching the tests on windows

The first error I have when I run tests on windows is this:
Fatal error: Cannot declare class Symplify\CodingStandard\Tests\Fixer\Order\MethodOrderByTypeFixer\Fixture\SomeFixer, because the name is already in use in C:\Users\username\AppData\Local\Temp\ecs_temp_tests\original_434b8_SomeFixer.php on line 33 PHP Fatal error:  Cannot declare class Symplify\CodingStandard\Tests\Fixer\Order\MethodOrderByTypeFixer\Fixture\SomeFixer, because the name is already in use in C:\Users\username\AppData\Local\Temp\ecs_temp_tests\original_434b8_SomeFixer.php on line 33 Script phpunit handling the complete-check event returned with error code 255
I couldn't find the beggining of an explaination how this can work on *nix and not on windows.
Any clue?

How do you achieve this?
What happens when you remove C:\Users\username\AppData\Local\Temp\ecs_temp_tests and repeat those steps?

How do you achieve this?

No specific input, I just run "composer complete-check"

What happens when you remove C:\Users\username\AppData\Local\Temp\ecs_temp_tests and repeat those steps?

First thing I tried, it doesn't do a thing.
When I go to SomeFixer.php.inc and comment everything in the lower half of the test, phpunit goes on.

It might be something about paths.
Could you rerun complete-check commands one by one to figure out when exactly it happens?

PHPUnit 8.4.3 by Sebastian Bergmann and contributors.

Runtime:       PHP 7.3.1
Configuration: C:\Users\username\PhpstormProjects\Symplify\phpunit.xml

F.FFF.....E....................................................  63 / 427 ( 14%)
...................................................FFFFFFFFFFF. 126 / 427 ( 29%)
.............FFF.......FFFFFFFFFFF....F.......FFFFFFFFFFFFFFFFF 189 / 427 ( 44%)
FFFPHP Fatal error:  Cannot declare class Symplify\CodingStandard\Tests\Fixer\Order\MethodOrderByTypeFixer\Fixture\SomeFixer, because the name is already in use in C:\Users\username\AppData\Local\Temp\ecs_temp_tests\original_434b8_SomeFixer.php on line 33
-----

Fatal error: Cannot declare class Symplify\CodingStandard\Tests\Fixer\Order\MethodOrderByTypeFixer\Fixture\SomeFixer, because the name is already in use in C:\Users\username\AppData\Local\Temp\ecs_temp_tests\original_434b8_SomeFixer.php on line 33

What about --debug?

Right, sorry. I'm not very used to all that.
I ran --debug and found out the issue came from MethodOrderByTypeFixerTest
Looking at the error, it's obviously an issue with a file that was required twice, so I tried to comment $this->autoloadTestFixture = true; and it worked.
It's the only test that fails like that and it's the only one that has this attribute set to true so it fits.
What was that attribute for? Any idea why it fails specifically on windows?

No troubles.
I have no idea, why it fails on Windows. The autoload problem should be on *nix as well.
If it works without $this->autoloadTestFixture = true on Travis, that might be fix

Wow, there is something very wrong going on here.
You were right, when I try to display something in the if($this->autoloadTestFixture), it is displayed twice.
When I try to display debug_backtrace(), phpunit hangs indefinitely on this test.
When I add debug_backtrace(null) instead, the test is just not executed anymore. It doesn't display the debug_backtrace or the dump I made just after. It doesn't include the file anymore (it displayed the dump before debug_backtrace correctly) and phpunit just continues onto the next test.
I'm totally lost. I don't have xdebug installed. I'll try to move forward by trying to add windows to travis, it may be that my php version has a bug that was fixed later.

Yea, Windows are fun :D been there 5 years myself, never better. It's like making website, it takes 5 % of time for Chrome/Firefox/Safari/... and 95 % time for IE5.
What exact command do you try running?
vendor/bin/ecs process src

I was alterning
vendor\bin\phpunit > log.txt
and
vendor\bin\phpunit --debug > log.txt

Was this solved by #1650?

Yep, for reference, it was because the SPLIT_LINE pattern to split the file in expected/fixed was not matching anything on windows due to different line feed. It resulted in an expected file with the two classes which, when imported, was making PHP throw a FATAL.

I see, thank you also for reference!


Add Connection Tag Obfuscation Options

add optional methods to obfuscate session hmacID using ECDHE+AES
This is beneficial because currently when a registration is used more than once the same hmac-id will be sent for the prefix transport for all connection. This will be useful for future transport implementation.

Just checked https://github.com/refraction-networking/gotapdance/blob/master/ed25519/extra25519/extra25519.go
It looks like this will only produce 254 bits. So the last byte (representative[31]) will always be less than 0x40, meaning you need to randomize the two bits (e.g. representative[31] |= 0xc0 & rand_byte, and then zero out on the other end with representative[31] &= 0x3f)


Clicking outside the sunburst (instead of just the center) should exit popup and/or move diagram up a level

I feel like we've been glossing over this because we're so used to our current UI for navigation. What do we think we should support for the average (new) user?

click outside the sunburst now exit the popup (but not move the diagram up a level)


Unpin sqlalchemy dependency

Allows it to be installed with sqlalchemy v2 and up

@chrisjsewell this would be required to move aiida-core to be compatible with sqlalchemy~=2.0.

The new release is for sqlalchemy v2


zigbee2mqtt-edge

Read the changelog, How do I ensure Im on edge add-on?

When adding the repository, you should see both add-ons. Uninstall zigbee2mqtt, then Install zigbee2mqtt-edge.

thanks, got it. that was an embarrassing question!


handle column displayname correctly

The column displayname can be set through the tag:misd.isi.edu,2015:display annotation, which has the following syntax:
    {... "name": name ...}: The name to use in place of the model element's original name.
    {... "name_style": { "underline_space": uspace , "title_case": tcase } ...}: Element name conversion instructions.

[x] escape the column display name derived from the "name" property in the display annotation or other base column names.
[ ] {"markdown_name": markdown}` provides explicit markdown string.
[ ] {"name_style": { "markdown": true }} means to interpret the effective name string as Markdown for presentation purposes. A value of false means to present it verbatim (i.e. with proper escaping). This option is inherited like the other name-style options.

To keep things simple, we could just say that the name attribute may include markdown. So we alway render it with the markdown engine if the name annotation is given.
When the name annotation is not given, then we escape the column name. I.e., column.displayname = escaped column.name, in the default case where not name annotation is given.

For simplicity, I think we need to distinguish whether it is a markdown column or just a static replacement of the column.. I think the two cases require different escape mechanism.

@karlcz @robes @RFSH it seems like we already have this issue open.. Please modify the detail here.

We can replace the name_markdown in the original description with something like render_markdown as a true/false flag.

I am proposing something a little more complex, because I think it gives a saner model.

the existing name field remains as is for verbatim content that will be escaped for presentation
a new markdown_name field allows an explicit markdown string with no ambiguity
a new name_style-> markdown flag allows markdown rendering to be toggled. I've specified it to only apply to actual model names to be consistent with the other name-style options.

The bare markdown_name allows for very sparse overrides of a model, i.e. a custom string here or there without any systematic conversion to markdown.  You can override just a table name, for example, while still using default non-markdown column names from the model.
The name_style->markdown flag, like the title-case and underline-space options, will only apply for systematic conversion of model element names and follows the same inheritence model.

I will wait for next standup to reach closure before I push these changes to the ermrest user-doc stuff...

This issue is pending on @howdyjessie's PR on using the isHTML to render the column names as html. I think the ermrestjs part is done.

I just merged the displayname PR for Chaise.


Vue 3 compatible?

Is this still under maintenance and is it compatible with vue 3?

Sorry, because of some breaking change of Vue API and third-party packages is not compatible with Vue 3 currently. v-craft may not be compatible with Vue 3.

Any updates?


unittest expectAsync: inconsistent use of named/optional args

http://api.dartlang.org/docs/releases/latest/unittest.html#expectAsync1
That one uses {count: 1}, but the others use [count = 1]
Needless to say, it is confusing to use :)

This issue has been moved to dart-lang/test#176.


Look into doing flatpak without flathub (and the huge KDE platform)

💻 Environment
Platform: Linux
📒 Description
The KDE platform in Flathub is huge (around 1GB initial install). Look into the possibility of doing our own releases/repo with just the app, without the added weight, for people who want only Toggl but no other Flatpak apps.

Done in the branding repo


Adding docker install

#fixes https://github.com/mitodl/ol-infrastructure/issues/824

pre-commit.ci autofix

@blarghmatey tested and working....


Example in help changed for command

Please make sure the code is following contribution guidelines in CONTRIBUTING.md

[ ] : This PR has a corresponding issue open in the Repository.
[ ] : Approach is signed off on the issue.

Fixes: #1113
Code change not needed for the issue
Help text updated for the command
:param pipeline_ids: IDs (space separated) of definitions to list builds for.
For multiple pipeline ids:  --pipeline-ids 1 2
:type pipeline_ids: list of int

can you share a command output where you are passing multiple pipeline_ids with --debug command

Command Result.txt


[integration_test] Test firebase auth (email link or google sign in)

Hi there,
I'm adding integration testing (using the integration_test package) to my app but I am running into a problem.
Let me explain. The first step when my app launch is authentication for which I have 3 options: firebase email link, firebase google sign in, and firebase facebook sign in.
What is blocking me is that all these sign in methods require actions outside of the main app dart code and thus are not accessible by flutter driver.
Am I missing something here? And if not how should that case be handled?

If you are using firebase emulator during testing you should be able to solve this by scripting the whole process (start emulator, start integration test, wait for emulator to give you the link, request it etc).
This sounds pretty fragile and could cause flaky results though so maybe someone knows a better way.
For regular tests you could look at https://github.com/FirebaseExtended/flutterfire/blob/master/packages/firebase_auth/firebase_auth/test/firebase_auth_test.dart for some ideas


Add a setting to disable the update check

It should be possible to disable the check for updates.

Done with #760


How to get the iou of each class?

If I have 5 classes , I want to get the iou of each class , like the following code to get the acc of each class , how to use the torchmetrics.IoU ?
torchmetrics.Accuracy(num_classes=num_classes, average='none')

Hi, by setting the reduction parameter you can achieve this:
metric=IoU(num_classes=5, reduction='none')
target = torch.randint(0, 5, (10, 25, 25))
pred = torch.randint(0, 5, (10, 25, 25))
metric(pred, target)
tensor([0.1193, 0.1064, 0.1154, 0.1061, 0.1216])

Closing issue.


[REEF-756] Log assembly load errors instead of dying during class

hierarchy generation in Tang
This addressed the issue by

Catching exception when assembly loading fails
Generate appropriate log to facilitate debugging

JIRA:
REEF-756

This looks good. I will merge.


Add AMD AntiLag 2 support

Adds support for AMD AntiLag 2.
Requires some intermingling between the rendering device and input polling, I'm open to suggestion as to whether there's a better way than what I've got right now.

Bugsquad edit, closes: https://github.com/godotengine/godot-proposals/issues/10739

Thanks for opening a pull request!
Feature pull requests should be associated to a feature proposal to justify the need for implementing the feature in Godot core. Please open a proposal on the Godot proposals repository (and link to this pull request in the proposal's body).

IIRC this requires core integration to function correctly, and is likely one of the main reasons why there's no Nvidia Reflex support in Godot (as it's not license compatible with Godot and has to be in core)
There are probably ways to expose the required internals properly to addons (like is required for DLSS and SMAAT2x, but those just require fairly simple things to be exposed and by no means require any deep integration with the internals)

AFAICT the integration is pretty simple as it only requires to call a specific function before input polling. The SDK license is MIT -- I believe there should be no problem on that side.

Only two reasons for rejecting this would be:

There's a way to modify core to allow this to be made as an addon (which in turn would allow for Nvidia's Reflex to be added as an addon as well despite Godot License being incompatible, as Addon's can be released under more restrictive licenses)
Only a small part of Godot's user base benefits from this feature

I'm unsure how likely and/or how complex the First option would be to implement
The Second option I disagree with as this is one of those hardware specific features, and not AMD's fault that their competitor's aren't licensing their stuff with Godot compatible licenses (Nvidia's Reflex in this case)
Disclaimer - I'm an AMD user that benefits from this feature, but I'd be supporting this all the same if it were Nvidia's Reflex which wouldn't benefit me as such

Given the comments in the proposal issue, I've decided I'll also try supporting this on Vulkan using the official AMD extension.
Any suggestions as to what the config setting would be? rendering/rendering_device/d3d12/amd_antilag2_enabled obviously doesn't fit anymore

Does this work on all vulkan graphics cards or only amd gpus?

AMD only I'm afraid.

Cool to see more folks tackling latency issues!
I do have a couple concerns with this PR:

This seems to change when inputs are read based on frame timing information. This could cause issues with applications like rhythm games where input timing should ideally remain consistent. Thus anything that could introduce input jitter or timing drift should have that spelled out either in the documentation or the settings/API.
The proposed project setting path is vendor-specific. I think it'd be better to have something like rendering/rendering_device/d3d12/low_latency_backend and have that be an enum or string that includes AMD Anti-Lag 2 as an option, similar to how FSR is currently implemented. There's two good reasons for this. First, it should help with the necessary infrastructure to allow other antilag technologies as plugins. Second, it helps make sure that only one antilag technology is active at a time. I could see a scenario where AMD Anti-Lag becomes available for nVidia in the future, and a project tries to use both AMD Anti-Lag and nVidia Reflex at the same time which would cause Problems™.

Right now I'm currently looking into establishing a broader low latency mode. Please let me know what you think of this proposal.

@frabert Would you be willing to test these changes using my latency tester? I am trying to narrow down the cause of RenderingDevice apparently having an additional frame of lag over OpenGL, so more datapoints here would be very helpful.

Well that's interesting. On nVidia, latency is worse on Vulkan fullscreen unless you disable layered DXGI, then it's the same as D3D12. Do you know if Vulkan is running using native presentation or layered DXGI on the AMD drivers? I believe AMD added support for layered DXGI in their more recent drivers, but I'm unsure what the method to enable this is (it might be automatic). Either way, PresentMon should be able to tell you how it's being presented.
I'd also like to see the effects of setting frame_queue_size = 1 and swapchain_image_count = 2 (the former will require code changes).

PresentMon says
godot.windows.editor.x86_64.exe[35584]:
    0000020B5359F180 (DXGI): SyncInterval=1 Flags=0 CPU=16.668ms (60.0 fps) Display=16.667ms (60.0 fps) GPU=0.648ms Latency=99.355ms Composed: Flip

The latency with those changes worsened lol

PresentMon says Composed: Flip which means it's not being displayed using the hardware planes, but going through DWM, which will either add latency or frame stutter due to the extra layer of indirection. If this is Vulkan, what results do you get in fullscreen mode? Ideally you should get Hardware: Legacy Flip (OpenGL/Vulkan in Native presentation, fullscreen mode) or Hardware Composed: Independent Flip (DXGI swapchain with hardware planes).
If you still can't get either of these two presentation modes, check to make sure that you have windowed/fullscreen optimizations and MPO (multi-plane overlay) enabled in Windows, and on Windows 10 make sure the application is the foreground window with no overlays on top (on Windows 11 it shouldn't matter due to some under-the-hood improvements).

I get Hardware: Independent Flip when fullscreen with both Vulkan and D3D12

How's latency in fullscreen? Better or worse? And does your hardware configuration have anything that might cause additional indirection, such as hybrid graphics?

I think my hardware config is pretty straightforward? It's a single discrete GPU, no integrated GPUs.
Fullscreen D3D12 does show Hardware: Independent Flip when fullscreen

if it only affects input timing, that won't be reflected in the latency tester, as it's strictly checking swapchain/frame queue lag

Only now read this edit: as far as I understand, AMD AntiLag2 indeed only seems to affect input latency by strategically waiting until the very last moment before presenting before polling for input.

Fullscreen D3D12 does show Hardware: Independent Flip when fullscreen

Hardware: Independent Flip is not quite the same thing as Hardware Composed: Independent Flip. The latter means multiple hardware planes are in use, which should still be available on Windows 10. Can you provide test results for Vulkan full-screen with MPO enabled?


Add image upload

Pasting from clipboard should also work for comment.
Would be nice to have a picture icon in the footer of editor and comment box:

We can add the text "Select image, or pasting from the clipboard." next to picture icon.
And when picture is uploading, change the picture icon to [Loading icon] + "Uploading your image"


[1.0] API signatures

1.0 API function and object list.
Following link represents all functions and objects to be implemented
before reaching 1.0 release:

[ ] BleError (global namespace)class BleError {
    errorCode: BleErrorCode,
    attErrorCode: ?BleATTErrorCode,
    iosErrorCode: ?BleIOSErrorCode,
    androidErrorCode: ?BleAndroidErrorCode,
    reason: ?string
}

[ ] BleErrorCode (global namespace)
[ ] BleATTErrorCode (global namespace)
[ ] BleAndroidErrorCode (global namespace)
[ ] BleIOSErrorCode (global namespace)
[ ] Utils namespace

Functions:

[ ] to128LowerCaseUUID(uuid: UUID): UUID

[ ] Promise namespace

[ ] Types:

[ ] type PromiseId = string
[ ] CancelOptions

type CancelOptions = {
  promiseId?: PromiseId,
  timeout?: number,
  ignoreCancelled?: boolean
}

[ ] Functions:

[ ] cancel(promiseId?: PromiseId): void

[ ] Buffer namespace

[ ] Types:

[ ] Buffertype Buffer<T> = {
    id: number
}

[ ] Functions:

[ ] takeLatest(buffer: Buffer<T>, options: ?CancelOptions): Promise<T>
[ ] takeLatestChunk(buffer: Buffer<T>, size: number, options: ?CancelOptions): Promise<[T]>
[ ] takeOldest(buffer: Buffer<T>, options: ?CancelOptions): Promise<T>
[ ] takeOldestChunk(buffer: Buffer<T>, size: number, options: ?CancelOptions): Promise<[T]>
[ ] takeAll(buffer: Buffer<T>, options: ?CancelOptions): Promise<[T]>
[ ] peekLatest(buffer: Buffer<T>, options: ?CancelOptions): Promise<T>
[ ] peekLatestChunk(buffer: Buffer<T>, size: number, options: ?CancelOptions): Promise<[T]>
[ ] peekOldest(buffer: Buffer<T>, options: ?CancelOptions): Promise<T>
[ ] peekOldestChunk(buffer: Buffer<T>, size: number, options: ?CancelOptions): Promise<[T]>
[ ] peekAll(buffer: Buffer<T>, options: ?CancelOptions): Promise<[T]>
[ ] flushLatest(buffer: Buffer<T>, options: ?CancelOptions): Promise<T>
[ ] flushLatestChunk(buffer: Buffer<T>, size: number, options: ?CancelOptions): Promise<[T]>
[ ] flushOldest(buffer: Buffer<T>, options: ?CancelOptions): Promise<T>
[ ] flushOldestChunk(buffer: Buffer<T>, size: number, options: ?CancelOptions): Promise<[T]>
[ ] flushAll(buffer: Buffer<T>, options: ?CancelOptions): Promise<[T]>
[ ] destroy(buffer: Buffer<T>): Promise<void>

[ ] CentralManager namespace

[ ] Types:

[ ] UUIDtype UUID = string

[ ] CentralManagertype CentralManager = {
    id: number
}

[ ] CentralManagerOptionstype CentralManagerOptions = {
    restoreStateId?: string
}

[ ] type LogLevelType = $Keys<typeof LogLevel>
[ ] type StateType = $Keys<typeof State>
[ ] Peripheraltype Peripheral = {
    id: string,
    centralId: number,
    name: ?string
}

[ ] Servicetype Service = {
    id: number,
    peripheralId: string,
    centralId: number,
    uuid: UUID,
    isPrimary: boolean
}

[ ] Characteristictype Characteristic = {
    id: number,
    serviceId: number,
    serviceUUID: UUID,
    peripheralId: string,
    centralId: number,
    uuid: UUID,
    isReadable: boolean,
    isWritableWithResponse: boolean,
    isWritableWithoutResponse: boolean,
    isNotifiable: boolean,
    isIndicatable: boolean,
    isNotifying: boolean
}

[ ] ScanRecordtype ScanRecord = {
    peripheral: Peripheral,
    rssi: number,
    advertisement: AdvertisementData
}

[ ] AdvertisementDatatype AdvertisementData = {
    manufacturerDataBase64: ?string,
    manufacturerData: ?ArrayBuffer,
    serviceDataBase64: ?{[UUID]: string},
    serviceData: ?{[UUID]: ArrayBuffer},
    serviceUUIDs: ?Array<UUID>,
    localName: ?string,
    txPowerLevel: ?number,
    solicitedServiceUUIDs: ?Array<UUID>,
    isConnectable: ?boolean,
    overflowServiceUUIDs: ?Array<UUID>
}

[ ] ScanOptionstype ScanOptions = {
    allowDuplicates?: boolean
}

[ ] ConnectionOptionstype ConnectionOptions = {
    autoConnect?: boolean,
    requestMTU?: boolean,
    refreshGatt?: boolean
}

[ ] RestoredStatetype RestoredState = {
    connectedPeripherals?: Array<Peripheral>,
    scanOptions?: ScanOptions
}

[ ] Objects:

[ ] LogLevel

const LogLevel = {
  None: 'None',
  Verbose: 'Verbose',
  Debug: 'Debug',
  Info: 'Info',
  Warning: 'Warning',
  Error: 'Error',
}

[ ] State

const State = {
  Unknown: 'Unknown',
  Resetting: 'Resetting',
  Unsupported: 'Unsupported',
  Unauthorized: 'Unauthorized',
  PoweredOff: 'PoweredOff',
  PoweredOn: 'PoweredOn'
}

[ ] Functions. Note: all Promise returning functions have implicit CancelOptions at the end
of their signature. If there are any function specific options, they are merged together.

[ ] setLogLevel(logLevel: LogLevelType): Promise<void>
[ ] getLogLevel(): Promise<LogLevelType>

[ ] create(options: CentralManagerOptions = {}): Promise<CentralManager>
[ ] destroy(central: CentralManager): Promise<void>
[ ] getRestoredState(central: CentralManager): Promise<?RestoredState>
[ ] getState(central: CentralManager): Promise<StateType>
[ ] monitorState(central: CentralManager): Promise<Buffer<StateType>>
[ ] scanForPeripherals(central: CentralManager, serviceUUIDs: ?Array<UUID>, options: ScanOptions = {}): Promise<Buffer<ScanRecord>>
[ ] getPeripheral(central: CentralManager, peripheralId: string): Promise<Peripheral>
[ ] getPeripherals(central: CentralManager, peripheralIds: Array<string>): Promise<Array<Peripheral>>
[ ] getConnectedPeripherals(central: CentralManager, serviceUUIDs: Array<UUID>): Promise<Array<Peripheral>>

[ ] connect(peripheral: Peripheral, options: ConnectionOptions = {}): Promise<Peripheral>
[ ] cancelConnection(peripheral: Peripheral): Promise<void>
[ ] isConnected(peripheral: Peripheral): Promise<boolean>
[ ] monitorDisconnection(peripheral: Peripheral): Promise<Buffer<[Peripheral, ?BleError]>>
[ ] readRSSI(peripheral: Peripheral): Promise<number>
[ ] requestMTU(peripheral: Peripheral): Promise<number>
[ ] getMTU(peripheral: Peripheral): Promise<number>
[ ] discoverAllServicesAndCharacteristics(peripheral: Peripheral): Promise<void>
[ ] getService(peripheral: Peripheral, serviceUUID: UUID): Promise<Service>
[ ] getServices(peripheral: Peripheral): Promise<Array<Service>>

[ ] getCharacteristicForService(peripheral: Peripheral, serviceUUID: UUID, characteristicUUID: UUID): Promise<Characteristic>
[ ] getCharacteristic(service: Service, characteristicUUID: UUID): Promise<Characteristic>
[ ] getCharacteristics(service: Service): Promise<Array<Characteristic>>
[ ] readBase64CharacteristicValue(characteristic: Characteristic): Promise<string>
[ ] readCharacteristicValue(characteristic: Characteristic): Promise<ArrayBuffer>
[ ] writeBase64CharacteristicValueWithResponse(characteristic: Characteristic, base64Value: string): Promise<void>
[ ] writeCharacteristicValueWithResponse(characteristic: Characteristic, value: ArrayBuffer): Promise<void>
[ ] writeBase64CharacteristicValueWithoutResponse(characteristic: Characteristic, base64Value: string): Promise<void>
[ ] writeCharacteristicValueWithoutResponse(characteristic: Characteristic, value: ArrayBuffer): Promise<void>
[ ] monitorBase64CharacteristicValue(characteristic: Characteristic): Promise<Buffer<string>>
[ ] monitorCharacteristicValue(characteristic: Characteristic): Promise<Buffer<ArrayBuffer>>

Minor issues in the post:

probably not a LogLevel?

const LogLevel = {
  Unknown: 'Unknown',
  Resetting: 'Resetting',
  Unsupported: 'Unsupported',
  Unauthorized: 'Unauthorized',
  PoweredOff: 'PoweredOff',
  PoweredOn: 'PoweredOn'
}

probably a LogLevel not a LogLevelType?

setLogLevel(logLevel: LogLevelType): Promise<void>
getLogLevel(): Promise<LogLevelType>

shouldn't takeAll(options: ?CancelOptions): Promise<T> be takeAll(options: ?CancelOptions): Promise<[T]>?

Proposition:

Instead of ignoreCancelled in CancelOptions I would propose:

alwaysReturnResult - I think that is best one
treatTerminationAsSuccess
returnResultOnFinish

All buffer functions like takeLatest(options: ?CancelOptions): Promise<T> should have Buffer<T> as first argument, so e.g. takeLatest(buffer: Buffer<[T]>, options: ?CancelOptions): Promise<[T]>

I would remove for now flush* buffer methods and add this as a future issue if that will be needed.

CentralManagerOptions should have also parameter showPowerAlert, like:

type CentralManagerOptions = {
    restoreStateId?: string,
    showPowerAlert?: string
}

More here

In PeripheralType I would also add uuid, and change id to number, so:

type Peripheral = {
    id: number,
    uuid: UUID,
    centralId: number,
    name: ?string
}

With that change we would need also to change ServiceType and CharacteristicType - change peripheralId and add peripheralUuid.

Typo, change LogLevel to State:

const State = {
  Unknown: 'Unknown',
  Resetting: 'Resetting',
  Unsupported: 'Unsupported',
  Unauthorized: 'Unauthorized',
  PoweredOff: 'PoweredOff',
  PoweredOn: 'PoweredOn'
}

As discussed before, we want to have buffer also for restoredState so nothing will be missed. Finally it should be:

getRestoredState(central: CentralManager): Promise<Buffer<?RestoredState>>

getPeripheral(central: CentralManager, peripheralId: string): Promise<Peripheral> should be getPeripheral(central: CentralManager, peripheralUuid: UUID): Promise<Peripheral>. Question is do we want to alse get by peripheralId: number? or maybe only second option?

discoverAllServicesAndCharacteristics(peripheral: Peripheral): Promise<void> shouldn't we return Promise<Peripheral>? Won't it be better for usage?

I would also suggest forceResult
Done
Will do for now as that can be added later.
That's right
Not sure about that. What about Android were there is no UUID but MAC address.
Fixed.
Not sure about that. Buffer suggests that there are multiple values that could be emitted. We could create
buffer as implementation detail so that we won't lost restored state.
In case of Android we don't have UUID.
With await and async syntax it doesn't matter.
I think it should be defined in options.

forceResult is also good 👍 I think that best would be to meet with @DariuszAniszewski during next week and choose best one.
Didn't know, I am just thinking that there is naming conflict now. We are using id as UUID/MAC and for our internal number id. But for now don't have any proposition how to solve it.
Yeah, you are right. Hidding it as implementation details is a good way :+1:
So how you want to handle Options types for each method? Will those be e.g. unions for CancelOptions, BufferOptions & ScanningOptions or maybe some new type?

I guess you want to meet with @dariuszseweryn :)

Food for thought. Or maybe always return some default and have an option like cancelIsError?


Add ColorSwatch component

This adds a ColorSwatch component to React Aria and React Spectrum. A color swatch displays a preview of a selected color, and includes a description of the color for accessibility.
It is based on the Spectrum Swatch component with a few differences:

It is not interactive, it is represented with the img role. The selection states will be handled by a future ColorSwatchPicker component - basically a listbox with swatches inside.
It currently only supports colors, not gradients, images, etc.

Questions
How do we want to handle other types of swatches like gradients/images? For gradients, I imagine we'd need to generate some kind of accessibility description as well, e.g. "left to right gradient from dark vibrant blue to light pink", but this could get really verbose if the gradient had a lot of color stops. Also handling radial gradients, conic gradients, repeating gradients etc. could get really complicated. We'd need our own gradient representation or a parser for CSS gradients in order to generate these as well. What should the API be for passing these values in? Should they be different components?

Thanks @LFDanLu! I fixed some copy pastes in #6272

perfect, looking now


Deprecated introspectionEnabled but new property not accepted

I am on graphql-spring-boot-autoconfigure version 7.0.1. I suddenly see that graphql.tools.introspection-enabled is deprecated. The new property is graphql.tools.schema-parser-options.introspection-enabled but springboot can't find it neither is it accepted.
Can anybody point me to what am I doing wrong?

And because of this, I had managed to turn off introspection logging, now that's back on polluting the entire console. I have both the properties in my project and I don't know which ones working.

I have the same problem @ubarua123.  I am looking to disable introspection within my production environment, but neither the deprecated property graphql.tools.introspection-enabled or its suggested successor graphql.tools.schema-parser-options.introspection-enabled are working

After a little bit of digging I've discovered this feature has been replaced by using
GraphqlFieldVisibility
As an example
@Bean
GraphqlFieldVisibility disableIntrospection() {
   return new NoIntrospectionGraphqlFieldVisibility();
}

It's still not working for me. It still will get into the DefaultGraphqlFieldVisibility when I try to get graphql introspection.

@setchy Thanks for pointing out the workaround. I've reinstated the original property that is also still mentioned in the README. When set to false it'll instantiate the NoIntrospectionGraphqlFieldVisibility bean like your example. It'll log a warning about putting your server in contravention of the GraphQL specification when doing so.


setting of spark instance

I have three node in my spark cluster(one master and two slaves), each node have four cores. How to set the SPARK_WORKER_INSTANCES and the CORES_PER_WORKER can make me utilize all the 12 cores? It means how to set the command below:
export SPARK_WORKER_INSTANCES= ?
export CORES_PER_WORKER= ?
Should I add the command below at all nodes's .bashrc?
export MASTER_URL=spark://$(hostname):7077
export SPARK_WORKER_INSTANCES=1
export CORES_PER_WORKER=1
export TOTAL_CORES=$((${CORES_PER_WORKER}*${SPARK_WORKER_INSTANCES}))
${SPARK_HOME}/sbin/start-slave.sh -c $CORES_PER_WORKER -m 3G ${MASTER_URL}

No matter what number I change, the cluster always use 4 cores totally, and the training get nowhere, any idea?

The different flags and their values depends on the hardware specification of your own system.
Say if your system have 8 cores and you start 1 master and 2 workers with 2 cores-per-worker, then you'll have 2 core's left for your system's working. Similarly the memory.
The flags can be set each time while logging in to your machine or you can add it to the .bashrc file and forget about the configurations once you get the best one.
Read more here and here. You could also search for Spark resource allocation or something similar online.

I feel like CaffeOnSpark on cluster other than Yarn ones is really rigid.
You have to make sure that clustersizeexecutorcores=coresmax, while batchsize>=trainstepsdevices*clustersize, at least this works for me


Add DMM Range Handler Functions

In the interest of improving compatibility between different DMM models, I have had an idea to add functions that handle all the logic behind setting ranges on the DMM.
The idea is to add all the available measurement ranges for a DMM into its driver (rip it straight out of the datasheet). This allows us to sanitize any requests to set the range on the DMM. Part of the motivation for this is because of the differences in current ranges for the high / low range ports on Fluke / Keithley DMMs.
The Fluke has a low range port that goes up to 400mA, whereas the Keithley's low range can go to 3A. Any jigs currently in production have been deployed with the assumption that they are using a Fluke DMM. Handling the range request will allow us to select the correct port on the Keithley to improve compatibility.

This would obviously be reflected in the Fluke driver should this idea be accepted.

I'm just going to brainstorm some idea without too much thought

have the current range functions return an enum which reflects the appropriate input for the selected range. That return value could be used to switch the terminal
add an additional parameter to the current measurement functions that constrain which input. dc_current(range=1, terminal="LOW") would raise an error on the fluke because the low range is limited to 400 mA. dc_current(range=0.2, terminal="HIGH") would set the range such that the high value terminal would be used
have an optional VirtualMux that is passed in the dc_current function, with signals "HIGH" and "LOW". Or may register it with the driver. Then when range is selected the driver would automatically switch

There are probably other options too. I'm tempted to think this might benefit from a white board session?

I think this is good concept in general. I'm not sold on the idea you've outlined where you silently force the range change. But I'm hopeful we can come up with a way to do this that makes it generally do the "obvious" things to be compatible between both DMMs, yet still be explicit and allow some flexibility.
For example, if I was intentionally using the keithly driver and it switch ranges on me like that, I'd find it very surprising.
The other thought in the back of my head is if we're should be really targeted at the current range (where there is a clear concrete impact) vs having something general which maps out the ranges for all measurement functions.

Good ideas. My initial implementation was based on the idea that we could make driver changes and no test script changes.
The bad thing about it is it kind of locks in the behavior of the Fluke for all other DMM drivers which is not nice. There is also the fact that it silently modifies things without telling you.

I think I might be leaning towards returning an enum for the high / low ports. This allows test scripts to check what port is being used and do appropriate jig switching, and doesn't break any
It will look something like
class Fluke8846A(DMM):
    ...
    self.current_port_threshold = 400e-3 # Changeover range for high and low ports.
    ...

    def current_dc(self, _range=None):
        self._set_measurement_mode("current_dc", _range)
        if _range > self.current_port_threshold:
            # This will be the high current port
            return CurrentPort.HIGH
        else:
            # This will be the low current port
            return CurrentPort.LOW

jigs can then do:
if dm,dmm.current_dc(_range=3) == 0
    # Switch jig to low current port
else:
    # Switch jig to high current port

Or in the case of some existing jigs where changing the switching is not an option, we can do something like the below:
# Jig is restricted to high range port
measurement = 2.5 # Want to measure 2.5 A
crossover_range = dm.dmm.current_port_threshold # 3 A for Keithley, 0.4 A for Fluke
if crossover_range < measurement:
    dm.dmm.current_dc(_range=measurement)
else:
    dm.dmm.current_dc(_range=crossover_range*1.2) # Force high range port

I think I might be leaning towards returning an enum for the high / low ports. This allows test scripts to check what port is being used and do appropriate jig switching, and doesn't break any existing jigs. It will look something like
class Fluke8846A(DMM):
    ...
    self.current_port_threshold = 400e-3 # Changeover range for high and low ports.

Delete the self here, which I think you meant to do anyway. It can/should be a class variable.

def current_dc(self, _range=None):
    self._set_measurement_mode("current_dc", _range)
    if _range > self.current_port_threshold:
        # This will be the high current port
        return CurrentPort.HIGH
    else:
        # This will be the low current port
        return CurrentPort.LOW

jigs can then do:

if dm,dmm.current_dc(_range=3) == 0
# Switch jig to low current port
else:
# Switch jig to high current port

Where have you put the CurrentPort(enum)? I would put it as a class variable.
This can then be written as if dm,dmm.current_dc(_range=3) == dmm.CurrentPort.HIGH... shouldn't be comparing to 0.
More abstractly... Why are we putting the responsibility on the jig test code rather than the driver? This is a manual intervention from the test operator to switch ports?
Side-nitpick: _range is anti-Pythonic, but I presume that's a legacy from early days. Should be range_.

Or in the case of some existing jigs where changing the switching is not an option, we can do something like the below:
# Jig is restricted to high range port
measurement = 2.5 # Want to measure 2.5 A
crossover_range = dm.dmm.current_port_threshold # 3 A for Keithley, 0.4 A for Fluke
if crossover_range < measurement:
    dm.dmm.current_dc(_range=measurement)
else:
    dm.dmm.current_dc(_range=crossover_range*1.2) # Force high range port

Context that I don't know much about the legacy stuff...  I don't like this; too magical. If the test operator has to switch plugs manually to change range between HIGH and LOW, then that setting should always be an explicit action from the jig test code at the same time, given we know the expected measurement in advance.
If we measure something in an inappropriate range because the port is meant for a higher current then we can log a warning, but if we attempt to measure say 2.5A and the range is set to 0.4A that should raise a DamagingRangeError exception or something.

And this was kinda only distantly related @Jasper-Harvey0, but a few days back I was thinking as to what a refactor would look like and my concept riffing off your code ended up like this.
The beauty of Python enums vs C is that you have easy access to both name and value at all times. In that sense they're almost like a bidirectional, const dictionary.
Note the enum is on the class. Then the Fluke could do the same, if you did that then the _select_range() and _get_ranges() could get moved to the DMM superclass.
Now of course this is once again not taking legacy issues into account, and the other guys have probably wanted to do this in the past but it's a big job. 🙃
class Keithley6500(DMM):
    class _ranges(enum.Enum):
        current_dc = ( 10e-6, 100e-6, 1e-3, 10e-3, 100e-3, 1, 3, 10,)
        current_ac = (100e-3, 1e-3, 10e-3, 100e-3, 1, 3, 10)
        voltage_dc = (0.1, 1, 10, 100, 1000)
        voltage_ac = (100e-3, 1, 10, 100, 750)
        resistance = (1, 10, 100, 1e3, 10e3, 100e3, 1e6, 10e6, 100e6)
        temperature = ()  # Empty. No ranges for temperature
        frequency = ( 300e-3,)  # No adjustable range for frequency. Just put maximum range here.
        period = (3.3e-6,)  # No adjustable range for period. Just put maximum range here.
        continuity = (1e3,)  # No selectable range for continuity. Put maximum range here.
        capacitance = (1e-9, 10e-9, 100e-9, 1e-6, 10e-6, 100e-6)
        diode = (10,)  # No selectable range for diode. Default is 10V

    def _select_range(self, value):
        if value is None:
            return None

        ranges = self._get_ranges()
        for i in ranges:
            if abs(value) <= i:
                return i
        raise ParameterError(
            f"Requested range '{value}' is too large for mode '{self.mode}'"
        )

    def _get_ranges(self):
        """
        Returns a tuple of available ranges for the current mode
        """
        if self.mode is None:
            raise InstrumentError("DMM mode is not set. Cannot return range")

        return self._ranges[self.mode].value # DMMRanges.mode_to_range[self.mode]

Yep current_threshold will be a class variable. I guess my example code was a bit too quick and dirty, comparing to 0 is definitely not the right way.
For some context. Up until about a year ago, we have only ever used a Fluke DMM. This has a low range current port that can measure up to 400mA, and a high range port for measurements up to 10A.
The new Keithley DMM has a low range port that goes up to 3A, and a high range that measures up to 10A. This means that when a test jig designed for the Fluke wants to measure, say 2.5 A, it will be passing current through the high range port on the DMM. But the Keithley would still select the 3A low range port (when given _range = 2.5) I realized I just repeated my first comments in the description.
I think putting the responsibility on the test jig code is needed because it needs to know what current path to use (high or low range ports). And some jigs that are already designed may not even have the ability to swap ports. This is even more tangled because we cannot be designing the test code to use either fluke or keithley, we need to assume either can be used.
Maybe this just boils down to an education thing? - Make sure everyone that writes test scripts are aware that current measurements are scary and you should be careful and test with all available DMMs... After all, we almost never care about resolution in these measurements.

More abstractly... Why are we putting the responsibility on the jig test code rather than the driver? This is a manual intervention from the test operator to switch ports?

Because the driver doesn't know about (and shouldn't know about) how to switch signals in the jig. But the driver can provide a useful hint to the test script so it's knows what terminals to use.


The proper use of @imports

In our current project app, I hope to eventually get to cleaning up our CSS/SASS assets. As I was reviewing what we have, we have tons of @imports all over our files, i.e. some global variables are contained in an seperate file and we import that file in several other stylesheets at the top. However, in our platform.scss (pretty much our application.scss), at the top I call to @import all our global variable files. Is it necessary to @import other stylesheets at the top of each stylesheet that requires it or could I just potentially only @import those global stylesheets at the top of our platform.scss so I only have to import once.
A snippet from my Gemfile.lock.
rails (<IP_ADDRESS>)
      actionmailer (= <IP_ADDRESS>)
      actionpack (= <IP_ADDRESS>)
      actionview (= <IP_ADDRESS>)
      activemodel (= <IP_ADDRESS>)
      activerecord (= <IP_ADDRESS>)
      activesupport (= <IP_ADDRESS>)
      bundler (>= 1.3.0, < 2.0)
      railties (= <IP_ADDRESS>)
      sprockets-rails (~> 2.0)
sass (3.4.13)
    sass-rails (5.0.1)
      railties (>= 4.0.0, < 5.0)
      sass (~> 3.1)
      sprockets (>= 2.8, < 4.0)
      sprockets-rails (>= 2.0, < 4.0)
      tilt (~> 1.1)

This is more a sass question than an issue. Yes, it is fine to @import those global stylesheets at the top of our platform.scss so I only have to import once.

@rafaelfranca No, you must understood. It is not working as the documentation states, so that's why we filed it as an Issue and not a Question. (The only question part was if this worked this way in Rails 4.1)
We will attempt to re-create on a fresh Rails install and provide exact steps to reproduce.

Oh, sorry. Thank you for pointing it out.

I can confirm this bug.
I'll describe the bug myself once again to hopefully make it clear.
Here's my application.scss:
@import "mixins";
@import "header";

Here's my mixin.scss:
@mixin block-width { ... }
And, finally, header.scss
.block { @include block-width; }
When run, it gives the following error: Undefined mixin 'block-width'. Interestingly, if I add @import "mixin"; to the top of the mixins.scss reload the page, then remove it and reload once again - no error is present. Only if I restart the app, it then throws the error again.

@snitko : Would you be able to provide a sample application that reproduces this error please ? I can't manage to reproduce that with the following steps:
$ rails new foo
$ cd foo
$ mv app/assets/stylesheets/application.css app/assets/stylesheets/application.scss
$ echo '@import "mixins";\n@import "header";' > app/assets/stylesheets/application.scss
$ echo '@mixin block-width { background: "red"; }' > app/assets/stylesheets/mixins.scss
$ echo '.block { @include block-width; }' > app/assets/stylesheets/header.scss
$ bin/rails s

Anyway, this seems strange that requiring another file fix this issue ; maybe you are just expecting that the mixin is defined in mixins.scss while it is defined in mixin.scss.

upon review we have decided this is a known-issue, in fact, there's a big "Important Note" about it at the very top of the README on this very gem. Our issues are only present when we mix the sprockets #= require with @import embedded within the included files.
we think this note explains the situation to our satisfaction
Important Note
Sprockets provides some directives that are placed inside of comments called require, require_tree, and require_self. DO NOT USE THEM IN YOUR SASS/SCSS FILES. They are very primitive and do not work well with Sass files. Instead, use Sass's native @import directive which sass-rails has customized to integrate with the conventions of your Rails projects.

Strangely, the bug went away. I'm not sure why. I never mixed require with @import.

are you sure there is no place in your app you have sprockets style #= require -- we found it in an old file, which wasn't even our primary SCSS file, and didn't even reference the imported SCSS vars we wanted.
Our bug was reproducible and not intermittent, so in this case your bug may be a different issue

Just grepped it. No. No such place.


Mock a paragraph and provide fake results

Mock a paragraph/section on which the paragraph/section under test depends and substitute Cobol statements for it.

Need to handle sections in the Procedure Division in the same way as paragraphs.

Made the requirement for supporting Sections a separate issue. Easier to commit small changes and easier to track.


Does the error message thrown contain only error code?

Does the error message thrown contain only error code? As you can see here, the error message thrown is not detailed.

you are right.
This has been improved in PR https://github.com/3MFConsortium/lib3mf/pull/171.
All internal errors (Error 5) will now also show the internal error message.
We'll fix the other error messages in the code generator we use (https://github.com/Autodesk/AutomaticComponentToolkit/) which will propagate to lib3mf at some point.


Remove hard dependencies on Run.retriesStatus in Tekton controllers

We've agreed that retriesStatus is not required in Custom Task, therefore, all of hard dependencies on that field must be removed.
It's worth mentioning that we may still be able to use the information that field provides, but an empty retriesStatus must not break the pipeline controller.

/duplicated with https://github.com/tektoncd/pipeline/issues/5730


smithy init. throws error "Unable to run git fetch --depth 1: fatal: not a git repository (or any of the parent directories): .git"

This happens despite being in a git repo.
Version 1.53.0

Can you give more details about what you are doing? For example, exact commands and a reproduceable environment? The following works just fine for instance:
> mkdir /tmp/smithy-init-test
> cd /tmp/smithy-init-test
> git init .
> smithy init .


Add rudimentary unit test for TrackerDash

This test currently only verifies that the TrackerDash consists of a single parent element.

This buys us a pretty good bump in coverage, but this test (as currently written) doesn't do much to protect the behavior of this component.
Thoughts on how to proceed? As I see it, we have two options here:

Instead of instantiating TrackerDash directly, build up coverage by testing its individual sub-components instead.

Accept this big bump of coverage and gradually try to add more predictive test cases for TrackerDash, even though they won't result in any additional coverage.

Instead of performing a full test of each component, we could dig in to a few of the sub-components in the TrackerDash DOM with this test. To help the process, you could inspect the TrackerDash example to see what the HTML looks like, then update the test to examine some of the children (e.g. are the right number of bullet charts created? is the summary plot there? do some of the data-driven headings have the correct text?)

@zackgalbreath, what do you think of @jeffbaumes's suggestion?
The changes in this PR look good to me, but we have to decide how to go forward with the testing strategy itself.

I'd favor setting up the testing skeleton with one or two pieces of meat, then saving the rest of the fill in for later.  Once the skeleton is in place, increasing coverage could be a good learning opportunity for someone new to Candela.

@zackgalbreath, should we go ahead and merge this now, and decide how to proceed more fully later?
Sorry to revive an old thread but we should definitely do something with this PR :)


New release

The last release was 2 months ago and a bunch of changes to the plugin have been made since then. In particular typescript-eslint-parser is obsolete and the fix for that in this plugin appears to have been fixed but not released for quite awhile.

@dantman you can use the new parser @typescript-eslint/parser using the current version like this:
module.exports =  {
   settings: {
        'import/extensions': ['.js', '.jsx', '.ts', '.tsx', '.json'],
        'import/resolver': {
            'node': {
                'extensions': ['.js', '.jsx', '.ts', '.tsx', '.json'],
            },
        },
        'import/parsers': {
            '@typescript-eslint/parser': ['.ts', '.tsx'],
        },
    },
}

v2.17.0 is released.


Buttons not working in jupyterlab.

Hello,
I just installed jupyter-matplotlib in jupyter-lab 0.35.4. I have used the first example of this repository and the plot shows and the save button, the quit button and the x,y of the mouse work. The problem is that the zoom button and move do not. I have tried restarting jupyterlab, the kernel, deleting the outputs but I get the same problem.
This is my version information:
ipympl                    0.2.1
ipython                   6.5.0                    py37_0
ipywidgets                7.4.2
jupyter                   1.0.0                    py37_7
jupyter-contrib-core      0.3.3
jupyter-contrib-nbextensions 0.5.0
jupyter-highlight-selected-word 0.2.0
jupyter-latex-envs        1.4.4
jupyter-nbextensions-configurator 0.4.0
jupyter_client            5.2.3                    py37_0
jupyter_console           5.2.0                    py37_1
jupyter_core              4.4.0                    py37_0
jupyterlab                0.35.4                   py37_0    conda-forge
jupyterlab-code-formatter 0.1.1
jupyterlab_launcher       0.13.1                   py37_0
jupyterlab_server         0.2.0                      py_0    conda-forge
widgetsnbextension        3.4.1                    py37_0
I am fairly new to this stuff. Let me know if I can give you more information in some way.

I had the same issue after running:
conda install -c conda-forge ipympl
If using JupyterLab
conda install nodejs
jupyter labextension install @jupyter-widgets/jupyterlab-manager
jupyter labextension install jupyter-matplotlib
but after running:
If using the Notebook
conda install -c conda-forge widgetsnbextension
It started working.

I have fixed it by updating everything. Sorry I did not say anything before. I had forgot about this thread.
Thank you!

I'm having the same issues OP described - unable to interact with the matplotlib plot with pan or zoom tools. It's not evident to me that any of the buttons below the plot are working.
I'm currently on a non-conda installation so I'd like to understand a solution that doesn't require conda-forge.

@flutefreak7 Can you list which versions of the relevant packages your are using? (See OP's post for a good list of relevant packages.)

I have this same issue. Plotting works and I can resize the window, but the zoom and move buttons don't work. My version numbers for ipy and jupyter packages are:
ipykernel                6.21.2
ipympl                   0.9.2
ipython                  8.10.0
ipython-genutils         0.2.0
ipywidgets               8.0.4
jupyter_client           8.0.2
jupyter_core             5.2.0
jupyter-events           0.5.0
jupyter_server           2.2.1
jupyter_server_fileid    0.6.0
jupyter_server_terminals 0.4.4
jupyter_server_ydoc      0.6.1
jupyter-ydoc             0.2.2
jupyterlab               3.6.1
jupyterlab-darkside-ui   0.2.3
jupyterlab-pygments      0.2.2
jupyterlab_server        2.19.0
jupyterlab-widgets       3.0.5
Python version is 3.10.6. Any suggestions?


Simplify lock method

I was looking around on Code Climate for OSS repos to contribute to and I came across redis-objects - cool lib! I tried to make something similar back in the day and couldn't get it together. I thought the lock method here could use some clarification after Code Climate pointed out it was complex. Specs pass locally and I think this is a little clearer - I also added the Code Climate badge to the README. Cheers!

Appreciate the submission - unfortunately this has been superseded by a subsequent set of commits that change the lock method in other ways.  But thanks for your efforts!


TASK [zookeeper : start zookeeper]

FAILED! => {"changed": false, "failed": true, "invocation": {"module_args": {"arguments": "", "enabled": true, "name": "zookeeper-server", "pattern": null, "runlevel": "default", "sleep": null, "state": "restarted"}, "module_name": "service"}, "msg": "Job for zookeeper-server.service failed because a configured resource limit was exceeded. See "systemctl status zookeeper-server.service" and "journalctl -xe" for details.\n"}
Regarding the java requirement how to download rpm package from CLI in RHEL 7, also after downloading where to keep it?
which limit is this talking about?
I have 8GB ram & 500GB HD vm's for this

One workaround I followed to make it work is to comment the following in roles/zookeeper/tasks/main.yml:
#- name: start zookeeper
tags: service
service: name=zookeeper-server state=restarted enabled=yes
and run the zookeeper server as follows:

name: start zookeeper
tags: service
shell: sudo /etc/rc.d/init.d/zookeeper-server start

But obviously this is not the fix.

I've never experienced problems with that. Probably it would be good to follow:
<"See "systemctl status zookeeper-server.service" and "journalctl -xe" for details.\n"}"> and understand the reason it's failed for your particular case.
BTW, a good issue report must always contain as much information as possible. as an instance software versions( for this particular project is's ansible, hadoop, java, OS ), log extracts.


Properties with dashes in their names

Hello.  I was attempting to implement Epoxy earlier and had an error thrown once I had configured everything properly.  The error seems avoidable if you do not use the with operator within the bindElementToView function.
I outlined the issue a bit in this stack overflow post.
Essentially what occurs is that my model has a property, lets say background-color, which cannot exist as a variable within JavaScript.  When the parent object is passed into the with operator, it attempts to make background-color a block level local variable.
The following error gets thrown after attempting this above:
Uncaught Error parsing bindings: "value:background-color"
>> ReferenceError: background is not defined

Could the plugin accomplish this iteration manually or through some other means in order to avoid this issue cropping up?

I've modified some code to remove the with operator and I'm wondering if I've replicated everything properly in doing so.
var parserFunct = new Function('$f','$c','with($f){with($c){return{'+ declarations +'}}}'));
var bindings = parserFunct(filters, context);

Where $f and $c are passed objects (From what I could tell, $f shouldn't ever have a property of $c). The declarations variable is a string that has a colon in it (EX: "value:color") and available within the scope.
Here is my modified code:
var parserFunct = function($f, $c, declarations) {
        var result = {};
        var value = "";
        var split = declarations.split(":");
        if (split.length < 2) {
          throw new Error("Declaration is in an invalid format");
        }
        if ($f[$c] !== undefined && $f[$c][split[1]]) {
          value = $f[$c][split[1]];
        }
        else if ($c[split[1]]) {
          value =  $c[split[1]];
        }
        else if ($f[split[1]]) {
          value =  $f[split[1]];
        }
        else {
          value =  "" + split[1];
        }
        var key = split[0];
        result[key] = value;
        return result;
});
var bindings = parserFunct(filters, context, declarations);

Everything appears to work as it did previously, but this modification now handles the use case where the declarations variable could have a dash in it (EX: "value:background-color").  Additionally the declarations variable is passed into the function, to ensure it's defined.
Cross posted here:
http://codereview.stackexchange.com/questions/113403/javascript-with-operator-removal


Support babel transpilation options

Depends on DatenMetzgerX/babel-plugin-parallel-es#3

Coverage increased (+1.7%) to 95.455% when pulling 199ce370460f7e19f33432ed21c09ceca3b372f0 on support-babel-transpilation-options into 550c9b07e1301cdd623bc073e4e7c511af13f9f3 on master.


Link is not working

http://go.microsoft.com/fwlink/?LinkID=615859
https://github.com/dotnet/AspNetCore.Docs/blob/7e8a2966ef9b70418a4de3892ce17403183232e8/aspnetcore/fundamentals/localization/sample/2.x/Localization/Startup.cs#L74
https://github.com/dotnet/AspNetCore.Docs/blob/7e8a2966ef9b70418a4de3892ce17403183232e8/aspnetcore/fundamentals/localization/sample/3.x/Localization/Startup.cs#L66

Looks like the best cross-link is to this ...
https://docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/applying?tabs=dotnet-core-cli#apply-migrations-at-runtime
... so I'll put that in for this old link.


NVM Use Default does not persist - macos with zsh

Operating system and version:
macOS Big Sur
nvm debug output:

nvm --version: v0.37.0
$TERM_PROGRAM: iTerm.app
$SHELL: /bin/zsh
$SHLVL: 1
whoami: 'joshuasherman'
${HOME}: /Users/joshuasherman
${NVM_DIR}: '${HOME}/.nvm'
${PATH}: /usr/local/opt/mongodb-community@4.2/bin:/usr/local/opt/mongodb-community@4.0/bin:/usr/local/opt/mongodb-community@4.2/bin:/usr/local/opt/mongodb-community@3.6/bin:/usr/local/opt/rabbitmq/sbin:${NVM_DIR}/versions/node/v14.11.0/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin:/usr/local/opt/rabbitmq/sbin:/usr/local/opt/rabbitmq/sbin:${HOME}/.local/bin:${HOME}/.local/bin
$PREFIX: ''
${NPM_CONFIG_PREFIX}: ''
$NVM_NODEJS_ORG_MIRROR: ''
$NVM_IOJS_ORG_MIRROR: ''
shell version: 'zsh 5.8 (x86_64-apple-darwin20.0)'
uname -a: 'Darwin 20.6.0 Darwin Kernel Version 20.6.0: Mon Aug 30 06:12:21 PDT 2021; root:xnu-7195.141.6~3/RELEASE_X86_64 x86_64'
checksum binary: 'shasum'
OS version: macOS 11.6 20G165
curl: /usr/bin/curl, curl 7.64.1 (x86_64-apple-darwin20.0) libcurl/7.64.1 (SecureTransport) LibreSSL/2.8.3 zlib/1.2.11 nghttp2/1.41.0
wget: not found
sed: /usr/bin/sed
cut: /usr/bin/cut
basename: /usr/bin/basename
rm: /bin/rm
mkdir: /bin/mkdir
xargs: /usr/bin/xargs
git: /usr/bin/git, git version 2.30.1 (Apple Git-130)
ls: grep:: No such file or directory
grep: grep: aliased to grep --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn,.idea,.tox} (grep --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn,.idea,.tox}), grep (BSD grep) 2.5.1-FreeBSD
awk: /usr/bin/awk, awk version 20200816
nvm current: v14.11.0
which node: ${NVM_DIR}/versions/node/v14.11.0/bin/node
which iojs: iojs not found
which npm: ${NVM_DIR}/versions/node/v14.11.0/bin/npm
npm config get prefix: ${NVM_DIR}/versions/node/v14.11.0
npm root -g: ${NVM_DIR}/versions/node/v14.11.0/lib/node_modules

nvm ls output:

       v10.22.1
       v10.23.0
       v12.19.1
       v12.20.0
       v12.20.1
       v12.21.0
       v12.22.0
       v12.22.1
       v12.22.4
       v12.22.6
       v14.10.1
->     v14.11.0
       v14.12.0
       v14.13.0
       v14.13.1
       v14.14.0
       v14.15.0
       v14.15.1
       v14.18.0
       v14.18.1
       v14.18.2
        v15.0.0
        v15.0.1
        v15.2.1
        v16.8.0
       v16.10.0
       v16.13.0
        v17.0.0
default -> 14.18.2 (-> v14.18.2)
node -> stable (-> v17.0.0) (default)
stable -> 17.0 (-> v17.0.0) (default)
iojs -> N/A (default)
unstable -> N/A (default)
lts/* -> lts/gallium (-> v16.13.0)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.24.1 (-> N/A)
lts/erbium -> v12.22.7 (-> N/A)
lts/fermium -> v14.18.2
lts/gallium -> v16.13.0

How did you install nvm?
curl
What steps did you perform?
nvm alias default 14.18.2
nvm use default
then open a new terminal tab
node --version
and it is still 14.11.0
What happened?
does not persist default
What did you expect to happen?
14.18.2 should be the default version
Is there anything in any of your profile files that modifies the PATH?

I have this in my .zshrc
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

You're on an outdated nvm; what happens if you update to the latest?

upgrading to 0.39.0 did not fix

granted this is not really a big deal, I just have to remember to nvm use default whenever I start, but still, it would be nice if it persisted, thanks

Thanks for checking.
Is there anything in any of your profile files that hardcodes the PATH to have 14.11 in it?

The fact that nvm current says v14.11.0, and nvm use 14 sets it to v14.18.2, means nvm is working, so the issue is somewhere else.
Do you have an .nvmrc file in the current directory that sets v14.11.0?

No
On Wed, Dec 1, 2021, 12:22 PM Jordan Harband @.***>
wrote:

The fact that nvm current says v14.11.0, and nvm use 14 sets it to
v14.18.2, means nvm is working, so the issue is somewhere else.
Do you have an .nvmrc file in the current directory that sets v14.11.0?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/nvm-sh/nvm/issues/2669#issuecomment-983860927, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ADFY3WHMHHBWHCYBUNK4UC3UOZKUNANCNFSM5JEQF2YA
.

If you run nvm_find_nvmrc, is anything printed out?
If you run nvm use system && nvm_auto && nvm current what is printed out?

Hey guys, I'll join the conversation as I started experiencing something similar after upgrading to Monterey on mac. In my case I only have one version installed and when I boot up, node and all related commands are not found and nvm ls gives:

Running nvm_find_nvmrc logs nothing
Running nvm use system && nvm_auto && nvm current outputs: System version of node not found.
Basically I just added nvm use default to .zshrc as a temporary fix

@snigo i suspect merely rerunning xcode-select --install would have fixed it; glad you're all set.

I'm having this problem too.  Reinstalling xcode-select and nvm didn't fix it.
% nvm_find_nvmrc
% nvm use system && nvm_auto && nvm current
System version of node not found.
% nvm ls
       v16.15.1
        v18.7.0
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v18.7.0) (default)
stable -> 18.7 (-> v18.7.0) (default)
lts/* -> lts/gallium (-> N/A)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.24.1 (-> N/A)
lts/erbium -> v12.22.12 (-> N/A)
lts/fermium -> v14.20.0 (-> N/A)
lts/gallium -> v16.17.0 (-> N/A)

@NodeGuy you don't have a default version set. "(default)" there means it's a default/built-in alias. Try nvm alias default node.

Thank you, that fixed it!  I wasn't aware of the "default" distinction, only that NVM had been working for a long time and then stopped.

For what it’s worth, I’m running into a similar issue: nvm’s default is 18.11.0, but a new terminal is using 19.0.0. I tried xcode-select --install and also tried reinstalling nvm. Same result:
$ node --version
v19.0.0
$ nvm --version
0.39.2
$ nvm list
       v18.11.0
->      v19.0.0
default -> 18.11.0 (-> v18.11.0)
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v19.0.0) (default)
stable -> 19.0 (-> v19.0.0) (default)
lts/* -> lts/gallium (-> N/A)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.24.1 (-> N/A)
lts/erbium -> v12.22.12 (-> N/A)
lts/fermium -> v14.20.1 (-> N/A)
lts/gallium -> v16.18.0 (-> N/A)
$ xcode-select --install
xcode-select: error: command line tools are already installed, use "Software Update" to install updates

That said, I install nvm via Homebrew, so maybe that’s the issue 🤷

@leafac do you have an .nvmrc file anywhere that’s set to “stable”?

@ljharb First, thanks for the response. (And for all your work on open-source software 😁)
I’ve never created .nvmrc files myself. I also checked the following locations:

Project folder and parents.
$NVM_DIR.

And I couldn’t find any .nvmrc files lurking there either.
Do you think I should check anywhere else?

It could be in any folder up to /, but the only other likely place is $HOME.
If not that, then could you provide your nvm debug output?

@ljharb:
It could be in any folder up to /, but the only other likely place is $HOME.

Yes, I checked them. That’s what I meant by “Project folder and parents.” The project folder happens to be in my $HOME, so that’s covered.

If not that, then could you provide your nvm debug output?

$ nvm debug
nvm --version: v0.39.2
$TERM_PROGRAM: Apple_Terminal
$SHELL: /bin/zsh
$SHLVL: 1
whoami: 'leafac'
${HOME}: /Users/leafac
${NVM_DIR}: '${HOME}/.nvm'
${PATH}: /opt/homebrew/opt/python/libexec/bin:${NVM_DIR}/versions/node/v18.11.0/bin:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Apple/usr/bin
$PREFIX: ''
${NPM_CONFIG_PREFIX}: ''
$NVM_NODEJS_ORG_MIRROR: ''
$NVM_IOJS_ORG_MIRROR: ''
shell version: 'zsh 5.8.1 (x86_64-apple-darwin21.0)'
uname -a: 'Darwin 21.6.0 Darwin Kernel Version 21.6.0: Mon Aug 22 20:20:05 PDT 2022; root:xnu-8020.140.49~2/RELEASE_ARM64_T8101 arm64'
checksum binary: 'shasum'
OS version: macOS 12.6 21G115
curl: /usr/bin/curl, curl 7.79.1 (x86_64-apple-darwin21.0) libcurl/7.79.1 (SecureTransport) LibreSSL/3.3.6 zlib/1.2.11 nghttp2/1.45.1
wget: /opt/homebrew/bin/wget, GNU Wget 1.21.3 built on darwin21.3.0.
sed: /usr/bin/sed
cut: /usr/bin/cut
basename: /usr/bin/basename
rm: /bin/rm
mkdir: /bin/mkdir
xargs: /usr/bin/xargs
git: /opt/homebrew/bin/git, git version 2.36.1
grep: /usr/bin/grep, grep (BSD grep, GNU compatible) 2.6.0-FreeBSD
awk: /usr/bin/awk, awk version 20200816
nvm current: v18.11.0
which node: ${NVM_DIR}/versions/node/v18.11.0/bin/node
which iojs: iojs not found
which npm: ${NVM_DIR}/versions/node/v18.11.0/bin/npm
npm config get prefix: ${NVM_DIR}/versions/node/v18.11.0
npm root -g: ${NVM_DIR}/versions/node/v18.11.0/lib/node_modules

(And I’ll say this again just in case: I install nvm via Homebrew. If think that this may be the issue, I’m happy to test the official nvm installation method…)

That looks fine, and assuming that nvm use node or nvm use 19 work as expected, then that's not the issue either. There's nothing in your zsh profile files (.zprofile or .zshrc, afaik) that runs any nvm commands?
I doubt homebrew would affect this, but it's affected surprising things before, so it might be worth checking.

I am facing something similar as well. My nvm use <version> will say that I am now using the version of node I specified but then when I node -v it's not using the node version I wanted.
➜  ~ nvm -v
0.38.0
➜  ~ nvm use
No .nvmrc file found
Please see `nvm --help` or https://github.com/nvm-sh/nvm#nvmrc for more information.
➜  ~ nvm use 16
Now using node v16.4.2 (npm v7.18.1)
➜  ~ node -v
v14.17.1
➜  ~ nvm list
         v4.9.1
        v8.17.0
       v10.24.1
        v14.5.0
       v14.17.6
       v15.14.0
        v16.4.2
        v17.3.1
->       system
default -> 16 (-> v16.4.2)
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v17.3.1) (default)
stable -> 17.3 (-> v17.3.1) (default)
lts/* -> lts/gallium (-> N/A)
lts/argon -> v4.9.1
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0
lts/dubnium -> v10.24.1
lts/erbium -> v12.22.10 (-> N/A)
lts/fermium -> v14.19.0 (-> N/A)
lts/gallium -> v16.14.0 (-> N/A)

I have tried using nvm alias default <version> still have no luck. Every time I try switching node versions it will always be whatever system is set to.
The part I don't understand is how my which node and npm root -g is pointing to something else other than my NVM_DIR
➜  ~ nvm debug
nvm --version: v0.38.0
$TERM_PROGRAM: Apple_Terminal
$SHELL: /bin/zsh
$SHLVL: 1
whoami: 'rembrandt.reyes'
${HOME}: /Users/rembrandt.reyes
${NVM_DIR}: '${HOME}/.nvm'
${PATH}: ${HOME}/Library/Python/3.8/bin:${HOME}/.rvm/gems/ruby-2.7.2/bin:${HOME}/.rvm/gems/ruby-2.7.2@global/bin:${HOME}/.rvm/rubies/ruby-2.7.2/bin:/usr/local/opt/v8@3.15/bin:/usr/local/opt/scala@2.11/bin:/usr/local/opt/sbt@0.13/bin:${HOME}/.yarn/bin:${HOME}/.config/yarn/global/node_modules/.bin:${NVM_DIR}/versions/node/v16.4.2/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:${HOME}/.rvm/bin
$PREFIX: ''
${NPM_CONFIG_PREFIX}: ''
$NVM_NODEJS_ORG_MIRROR: ''
$NVM_IOJS_ORG_MIRROR: ''
shell version: 'zsh 5.8 (x86_64-apple-darwin20.0)'
uname -a: 'Darwin 20.6.0 Darwin Kernel Version 20.6.0: Mon Aug 29 04:31:06 PDT 2022; root:xnu-7195.141.39~2/RELEASE_X86_64 x86_64'
checksum binary: 'sha256sum'
OS version: macOS 11.7 20G817
curl: /usr/bin/curl, curl 7.64.1 (x86_64-apple-darwin20.0) libcurl/7.64.1 (SecureTransport) LibreSSL/2.8.3 zlib/1.2.11 nghttp2/1.41.0
wget: /usr/local/bin/wget, GNU Wget 1.21.3 built on darwin20.6.0.
sed: /usr/bin/sed
cut: /usr/bin/cut
basename: /usr/bin/basename
rm: /bin/rm
mkdir: /bin/mkdir
xargs: /usr/bin/xargs
git: /usr/local/bin/git, git version 2.33.0
ls: grep:: No such file or directory
grep: grep: aliased to grep --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn,.idea,.tox} (grep --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn,.idea,.tox}), grep (BSD grep) 2.5.1-FreeBSD
awk: /usr/bin/awk, awk version 20200816
nvm current: system
which node: ${HOME}/Library/Python/3.8/bin/node
which iojs: iojs not found
which npm: ${NVM_DIR}/versions/node/v16.4.2/bin/npm
npm config get prefix: ${HOME}/Library/Python/3.8
npm root -g: ${HOME}/Library/Python/3.8/lib/node_modules

@rembrandtreyes for you, it's because you have a "node" binary somehow installed under a Python 3.8 dir, and that directory appears sooner in your PATH than nvm's directories.

same bug here.
so frustrating.
I did use nvm alias default 18.13.0, but still node -v shows it's node14.
so, yeah, maybe i will have to add nvm use default in zshrc

@medmin same thing - make sure that sourcing nvm happens after any other PATH changes, so that nvm takes precedence over everything else.

yes i can confirm that reinstalling nvm solves the issue on mac os 13 ventura and zsh

I'm going to close this since it doesn't seem actionable for nvm, but please file a new issue with a filled-out template if you're still having problems.

had an exactly the same issue, re-installed nvm using curl, solved the issue. Thanks everyone.


pokemon farming walking logic wrong

Expected Behavior
the bot should walk in a pattern like a snail shell...just with corners and straight lines that are longer each turn...least this is how it was some time ago

Actual Behavior
at this moment it moves only like this:

Steps to Reproduce
use dev branch
Other Information
OS: win7/debian8
Git Commit: 6dd0fade877a4e5281156381e8d1eff4d17316b8

Increase max_steps

increase max_steps into ?

...bigger one

Well how big do you want that spiral to be? The one you wanted should equal 25 steps

But currently we are working on that, so 5 should be enough

i always used the default "max_steps": 5

Then wait for the PR to fix this.

that's why i opened the issue.so whoever knows how to fix it sees this :)

The team decided that we wont change that parameter. Currently max_steps describe the length of the spiral in cell widths.


[Bug]: Nuget - Error Updating from 5.1.2 to 5.1.3 Maui 8.0

What happened?
When updating the Nuget Package I get the following error:
Error		Could not find a part of the path 'C:\Users[UserName].nuget\packages\onesignalsdk.dotnet\5.1.3\res\ios\OneSignalFramework.xcframework\ios-arm64_x86_64-maccatalyst\OneSignalFramework.framework\Versions\Current\Modules\OneSignalFramework.swiftmodule\x86_64-apple-ios-macabi.private.swiftinterface'.
Steps to reproduce?
1.) Create a new Maui App.
2.) Use Plug-In version 5.1.2
<PackageReference Include="OneSignalSDK.DotNet" Version="5.1.2" />
3.) Go to Nuget Manager
4.) Update Plug-In to 5.1.3
5.) Will throw the above error and not do the Plug-In update

What did you expect to happen?
I expected to see the new package version of 5.1.3 to be installed.
Relevant log output
Severity	Code	Description	Project	File	Line	Suppression State
'C:\Users\[UserName]\.nuget\packages\onesignalsdk.dotnet\5.1.3\res\ios\OneSignalFramework.xcframework\ios-arm64_x86_64-maccatalyst\OneSignalFramework.framework\Versions\Current\Modules\OneSignalFramework.swiftmodule\x86_64-apple-ios-macabi.private.swiftinterface'.

Code of Conduct

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

I used the dotnet cli to do the update.

Documentation on how to do this with CLI would be great.

This is the same as #108 - I've put get round step in my response to the original report.


Connector HashKey Global exchange

Description
Bounty Request 1: Connection Hunter-HashKey Global exchange(Perp)
Requirement:

Integrate to HashKey Global's future market API and push it to Hummingbot.
Maintain the code for 2 months after the integration is completed.
Reward:
Integration Bonus: 2000 USDT
If the hunter meets the requirements of HashKey Group's Talent Program, he/she will have the opportunity to become an official employee of HashKey Group, mainly responsible for technical support and product operation of the API.
If the hunter does not meet the requirements of HashKey Group's Talent Program, he/she will have the opportunity to become a quantitative spokesperson for HashKey Group in the Hummingbot community.

_Note:

The total amount of bounty will be contributed to the Hummingbot official 20%, and the final acceptance will be confirmed by the Hummingbot official.
Reward will be distributed officially by Hummingbot._
3. Based on this request, we will launch an issue hunter after the integration is completed. For details, please refer to https://github.com/hummingbot/hummingbot/issues/7124
The hunter can choose between USDT or the equivalent in HSK(https://global.hashkey.com/) as a reward!

Bounty

Sponsor: Hashkey Global exchange
Bounty Request for connector Hashkey Global exchange(Perp)
Bounty amount: 2000 USDT
Developer portion: 80%

hello! I would be interested!

i'd like to accept this ticket

I would also be interested in this, would be my first perpetual but I’m confident I can deliver a quality connector ☺

I had finished the hashkey global and hashkey hk connector for the spot trades，can I submit it before I finish the connector for perp trades?

i'd like to accept this ticket

I have 10 years of experience in quantitative trading of financial derivatives, proficient in CEX-DEX arbitrage, and skilled in statistical arbitrage. I have been conducting quantitative trading on Binance for many years and have considerable experience in quantitative trading and programming.

hi @Arisqiu, are you affiliated with HashKey Global exchange?
we have default prices guide here for perpetual connectors:
https://hummingbot.org/bounties/prices/

I had finished the hashkey global and hashkey hk connector for the spot trades, and my strategies had ran by it since January this year in Hashkey HK. So I can complete the perp trades connector base on the spot connector.

This bounty is underpriced, from my discussion with sponsor that's a final price.
if you're okay with

Bounty amount (developer portion is 1600 USDT)
Will be paid after 2 month passed after PR merged
https://github.com/hummingbot/hummingbot/issues/7124 this could be additional if no bugs reported from what this bounty description said.

I agree it's underpriced and with the low rate limits it's even quite tricky:

Unless explicitly stated otherwise, each API Key has a default rate limit of 2 requests per second for query-related endpoints, while order-related endpoints allow 10 requests per second.

I've been having some fun with this the last few days and I do have it mostly working so if @dengyh doesn't want it, I'll be happy to take this on :-)

I had finished the hashkey global and hashkey hk connector for the spot trades, and my strategies had ran by it since January this year in Hashkey HK. So I can complete the perp trades connector base on the spot connector.

This bounty is underpriced, from my discussion with sponsor that's a final price. if you're okay with

Bounty amount (developer portion is 1600 USDT)
Will be paid after 2 month passed after PR merged

OK，I accept the price.

The bounty is funded and open now.
@dengyh do you want to be assigned?

The bounty is funded and open now. @dengyh do you want to be assigned?

Yes, I do.

Assigned to @dengyh , please be informed:

Since you’re assigned to this bounty exclusively, please keep us informed on your progress over the next few days
Please review and follow contribution guidelines (https://hummingbot.org/developers/contributions/)
Please review the checklist after PR submitted (https://hummingbot.org/developers/contributions/#checklist)
Let us know if you don’t have time, and we will unassigned and keep it open for other devs
Only one dev can be assigned to one bounty

Thanks for your contribution!

hi @dengyh Please submit the completed AML Policy form so we can process your payout. This is a one-time process for each wallet address. https://forms.gle/RpcA9rAZcMqmPi1TA

Please submit and inform here when ready @dengyh https://forms.gle/RpcA9rAZcMqmPi1TA

Please submit and inform here when ready @dengyh https://forms.gle/RpcA9rAZcMqmPi1TA

Done

Thanks for your participation, the bounty has been sent to @dengyh . The connector has been deployed on development branch and hummingbot version 2.1.0


Can't create a connection without a password

I'm trying to create a connection but when I leave the password field empty, I can't click "Connect":

I don't use passwords on my local machine so it would be great of a passwordless option can be made.

fixed with #10


How to use extension???

I'm on my trello board page and when I click on the icon it just takes me to the chrome extension page and it doesn't actually let me use the extension.

Do you mean that it takes you back to the Chrome Web Store page for the extension? Is there any error message on the page, possibly in a yellow bar at the top?
The extension should work as shown in the animation below:

I have the same issue: take me back to Chrome Web Store page for extension. I see the icon is grayed out , maybe I need to sign in?

Does clicking the grey icon immediately send you to the Chrome web store page, or does it open a menu like this?

And just to check, are you using Google Chrome as your browser? (It is possible to use Chrome extensions on some other web browsers, but this is known to cause bugs.)

Closing due to lack of communication. Please re-open if this issue persists.

Got it to work - thanks
Regards,
Ajay Vemuru
408.332.9708
iPhone. iTypos. iApologize.

On Sep 22, 2017, at 2:58 AM, Natalie Chouinard<EMAIL_ADDRESS>wrote:
Closing due to lack of communication. Please re-open if this issue persists.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

Hi @sudonatalie I'm having the same issue. I downloaded the zip and added this to my chrome but when I click on the icon it takes me back to the Chrome store webpage. My device and all is compatible. Could you please tell me how to make this work?
Thank you

I had to close Chrome then reopen to get it to work, but I can't figure out how to get the grid option.


offer other options for submitting proposals for GS sessions?

Pratham Books wants an offline document to download and submit a proposal for GS programming

I'd suggest we just allow people to email a submission and then we enter it into the system ourselves. Anything more than that seems like overkill. Presumably they're okay submitting a document by email, and don't intend to mail/fax.

@mattl yes i think that's fine. Do you want me to dump the info on https://donate.creativecommons.org/civicrm/event/register?reset=1&id=12 into a .doc and .odt and then you upload those with a short note about which email they should send in the completed doc?

Let's just make it a page on the website, they can copy that into an email,
complete it offline? Submitting it in an office document is going to
invariably lead to adding things we can't add to the form, like images or
other attachments.

Matt Lee
Creative Commons
Boston, MA, USA
On Tue, Jun 23, 2015 at 8:14 PM, Timothy Vollmer<EMAIL_ADDRESS>wrote:

@mattl https://github.com/mattl yes i think that's fine. Do you want me
to dump the info on
https://donate.creativecommons.org/civicrm/event/register?reset=1&id=12
into a .doc and .odt and then you upload those with a short note about
which email they should send in the completed doc?
—
Reply to this email directly or view it on GitHub
https://github.com/creativecommons/global-summit-/issues/34#issuecomment-114680468
.

@mattl :+1:

https://summit.creativecommons.org/cfp-offline/

Matt Lee
Creative Commons
Boston, MA, USA
On Tue, Jun 23, 2015 at 8:17 PM, Timothy Vollmer<EMAIL_ADDRESS>wrote:

@mattl https://github.com/mattl [image: :+1:]
—
Reply to this email directly or view it on GitHub
https://github.com/creativecommons/global-summit-/issues/34#issuecomment-114680785
.

looks fine. thanks. @mattl do you want to put a teeny tiny mention of that on the normal page at the bottom, or just dole out the offline URL to those who ask?

Give them the URL if they ask, and be sure to point out that the Date for
offline submissions is July 7th.

Matt Lee
Creative Commons
Boston, MA, USA
On Tue, Jun 23, 2015 at 8:36 PM, Timothy Vollmer<EMAIL_ADDRESS>wrote:

looks fine. thanks. @mattl https://github.com/mattl do you want to put
a teeny tiny mention of that on the normal page at the bottom, or just dole
out the offline URL to those who ask?
—
Reply to this email directly or view it on GitHub
https://github.com/creativecommons/global-summit-/issues/34#issuecomment-114683014
.

@mattl why 7 july?

To give us time to get them all in the system with the rest.

ok


ADR about discarding drafts

Trello: https://trello.com/c/mL5qzXSC

@VitalieMogoreanu  The change notes are dropped when the draft is discarded. See commit: https://github.com/alphagov/collections-publisher/commit/7992c0e4348062048ed9cffdf4aa977dd7552c5a
We don't populate the edition ID in the change notes until the draft is published, so it's easy to tell which change notes should be dropped.
Publishing-api only stores one draft for an edition. It doesn't matter how many times you edit and save it, the number of drafts remains 1.
I tried to explain that idea in this line: https://github.com/alphagov/collections-publisher/blame/master/docs/arch/adr-002-discarding-drafts.md#L28


Display the target virtual environment path if non-default

Supersedes https://github.com/astral-sh/uv/pull/4835
Closes https://github.com/astral-sh/uv/issues/2155
e.g.
❯ cargo run -q -- pip install --python ../../example httpx
Using Python 3.12.1 environment at /Users/zb/example
Resolved 7 packages in 561ms
Prepared 4 packages in 62ms
Installed 4 packages in 13ms
 + certifi==2024.8.30
 + h11==0.14.0
 + httpcore==1.0.5
 + httpx==0.27.2

❯ cargo run -q -- pip install httpx
Resolved 7 packages in 17ms
Installed 4 packages in 10ms
 + certifi==2024.8.30
 + h11==0.14.0
 + httpcore==1.0.5
 + httpx==0.27.2

Can this be disabled with a flag? In my case it creates a ton of noise.
When I use my wrapper to, for example, list installed versions of the 64 Python apps I have installed, I get 64 extra lines of this.

@AndydeCleyre there's a -q flag, does that work for you?

Thanks for the quick response.
No for two reasons:

pip list is just one of the bulk operations I do, and for others I want to see some output (which packages are upgraded, for example).
it completely hides the info I need:

$ uv pip list --format json
Using Python 3.12.2 environment at /home/andy/.local/share/venvs/d9521a6e560469d0860c4ddb9c9baaa9/venv
[{"name":"brotli","version":"1.1.0"},{"name":"certifi","version":"2024.8.30"},{"name":"charset-normalizer","version":"3.3.2"},{"name":"idna","version":"3.10"},{"name":"mutagen","version":"1.47.0"},{"name":"pycryptodomex","version":"3.21.0"},{"name":"requests","version":"2.32.3"},{"name":"urllib3","version":"2.2.3"},{"name":"websockets","version":"13.1"},{"name":"yt-dlp","version":"2024.9.27"}]

$ uv -q pip list --format json  # (no output here)

I think it's a bug if -q is silencing the pip list output.

But if you're wrapping uv I feel like you almost certainly do want -q? Who knows what we'll print in the future.

Who knows what we'll print in the future.

Even for the json-formatted output of uv pip list? I thought it was meant to match the json-formatted output of regular pip list.

Ah no, that should definitely follow an API contract! I'm more referring to the kind of output we'd suppress with -q, which wouldn't be covered by any API contract (it's just peripheral logging).

(Like, anything that's machine readable should still be shown under -q.)

FWIW I found I can solve my issue by directing stderr to /dev/null. 👍🏼