Krate#moshiPref - why using typeOf instead of class?

Recently we've done some tracing regarding our app start performance. What we noticed is that the very first time typeOf is invoked it takes a long time (~1 second). While we were able to eliminate those calls in our code base, we were noticing that the Moshi extension for Krate is doing it as well:
@OptIn(ExperimentalStdlibApi::class)
public inline fun <reified T : Any> Krate.moshiPref(
    key: String? = null,
): KeyedKratePropertyProvider<T?> {
    return moshiPrefImpl(key, typeOf<T>().javaType)
}

I'm wondering: Is there any good reason to use typeOf<T>().javaType over T::class.java?
Lastly a screenshot of the trace proving the point that typeOf really takes that long:

Unfortunately there is a good reason. typeOf can handle nested types being input as the T type parameter (such as List<String>), while ::class.java would erase that to just the List class with its nested parameter lost.
I go into detail on this in this talk: https://zsmb.co/talks/krate-ft-moshi/
That being said, if there are alternatives to typeOf that preserve full types (or if I'm doing something wrong in the library that's causing it to be this slow) I'd be open to improving this.

Thank you very much for the explanation and the link to your talk - very helpful. As far as I'm aware there is nothing wrong that the library is doing - the first invocation of typeOf just seems to be painfully slow no matter where it happens in the code and I'm not aware of any alternative unfortunately.

@zsmb13 After watching your talk and checking your slides I'm wondering whether it would be an option to bring back the old implementation that you were using before switching to typeOf?
We've compared both implementations and those are the results:
typeOf

makeType


2022100301

Closes #7648
Closes #7649
Closes #7651
Closes #7658
Closes #7659
Closes #7661
Closes #7604
Closes #6656
Closes #6557
Closes #6647
Closes #6648
Closes #6649
Closes #6650
Closes #6651
Closes #6595
Closes #6596
Closes #6597
Closes #6598
Closes #6599
Closes #6600
Closes #6601
Closes #6602
Closes #6603
Closes #6604
Closes #6605
Closes #6606
Closes #6607
Closes #6608
Closes #6610
Closes #6612
Closes #6618
Closes #6619
Closes #6620
Closes #6621
Closes #6622
Closes #6623
Closes #6624
Closes #6625
Closes #6626
Closes #6627
Closes #6628
Closes #6630
Closes #6636
Closes #7664
Closes #7665
Closes #6641
Closes #6643
Closes #7668
Closes #7669
Closes #6644
Closes #7671
Closes #7672
Closes #7673
Closes #7674
Closes #7675
Closes #6645
Closes #6655

Will this again take a week to merge? Oldest issue is almost three months old.

@6CornerDefender Can these 3 also be added with some more urgency? #7405 #7691 #7690
These 3 sets are all in the top 20 earners and traveling across the world abusing the H3Dex bug.

@6CornerDefender Can these 3 also be added with some more urgency? #7405 #7691 #7690
These 3 sets are all in the top 20 earners and traveling across the world abusing the H3Dex bug.

Even #7702

Wen merge?

Need to wait at least 3 reviews. No sense ask continuously

Wen merge?

Need to wait at least 3 reviews. No sense ask continuously

I will try...

Wen merge?

Need to wait at least 3 reviews. No sense ask continuously

I will try...

Now we already have 3 reviews...


examples/cra-ts does not work

Clone this project.
yarn
cd examples/cra-ts
yarn storybook
error:

Module parse failed: Unexpected token (7:20)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
| export default { title: 'Button' };
|
> export const Default: FC = () => (
|   {process.env.REACT_APP_TEST_VAR}
| );

I found that preset-create-react-app does not support tsx ?
Module parse failed: Unexpected token (62:4)
You may need an appropriate loader to handle this file type, currently no loaders are configured to process this file. See https://webpack.js.org/concepts#loaders
| storiesOf('react-photo-view', module)
|   .add('Example', () => (
>     <PhotoProvider>
|       <ImageList>
|         {photoImages.map((item, index) => (

I'm seeing a different error:
ERROR in ./src/App.css
[...]
SyntaxError

(2:1) Unknown word

  1 |
> 2 | var content = require("!!../../../node_modules/css-loader/dist/cjs.js??ref--11-1!../../../node_modules/postcss-loader/src/index.js??postcss!./App.css");

@mrmckeb any idea what's changed? this lines up with the postcss error in this comment: https://gist.github.com/shilman/bc9cbedb2a7efb5ec6710337cbd20c0c#gistcomment-3087039


Add cache

This lets the user specify that an expensive Shell computation should be cached so that repeated runs of the script go more quickly.  The type would be:
cache :: (Read a, Show a) => FilePath -> Shell a -> Shell a

If the given file is present the values are read from the file using the Read instance.  If the file is not present the Shell is run and the values are saved to the file using the Show instance.

This could be really helpful. It starts to feel like shake a bit. I wonder if "cache" is best term? That seems heavier duty than caching. I wouldn't expect a cache to be persisted across invocations normally. But that might just be me.

Yeah, it doesn't have to be called cache.  Maybe save?

I like save. persist could work too. cache is growing on me a bit, since it will always have a filename directly after it (e.g. cache "download.cache").

Perhaps even cached...

Or stash ?


Add color picker & input type

Added color picker

Added an option to the text input to specify the input type (e.g. number, email, url, etc.)

Very cool. Reviewing now.

@InventivetalentDev I think this is a great idea - thanks! Would you be willing to update so that when presented with a color selection field, the input resembles the SketchExample shown here? Rather than being shown the full picker by default, you'd simply have a button showing the presently selected color. Clicking the button would then display the full picker.
Unrelated - The range slider that you included in your last PR seems to have brought in a weird artifact when contents flow off the edge of the screen. See the number that's hanging out in the bottom-right-hand corner of the screen?

any updates on this? :)

I’m traveling. Expect this to get merged on Monday. Thanks!

Looking at this now.

This looks great, @InventivetalentDev. Merging.


Update UberURLs.java

API_URL should be "https://api.uber.com", because "v1" is added in the services.

when i make request using your sdk i get 401 error can you help me with
that? and this happens with authorization to.
please help me as soon as possible.
On Friday 20 November 2015, Ahmed Gamal<EMAIL_ADDRESS>wrote:

Merged #4 https://github.com/Neno0o/Uber-Android-SDK/pull/4.
—
Reply to this email directly or view it on GitHub
https://github.com/Neno0o/Uber-Android-SDK/pull/4#event-469788667.


Can not add SectionChanger after its removal

Technical
Section Changer is not removed from tree after delete (from keyboard) and can not be added again since it still exists.
Description
Steps to reproduce

Open Sample Tau Base Application (I was using Mobile profile).
Add SectionChanger widget.
Remove it by pressing delete from keyboard.
Add SectionChanger again.

Expected behaviour
SectionChanget should be added.
Actual behaviour
Can not add SectionChanger

Not reproducible on 0.7.1. DE release.
There is related bug which occurs after first selection of widget (not only SectionChanger but also ListView etc) and then it is not removed from UI tree. After changing currently selected item in UI tree, widget is successfully removed.


Problem with character swapping

Apparently the software doesn't support the "ã" symbol? I've tried several times swapping it, but it simply deletes it when I extract the text.
If I don't extract the text, and try to insert the text only in the translation box form, the game simply crashes when it needs to process any line with the "ã" symbol.
before I realize the extracting

after I realize the extracting

The charswap operation appears to work correctly for me.

Extracting the text pulls the translation from the existing script file - if you do this it will ovewrite your translation, so it makes sense that your changes disappear. Note that you need to actually tick the 'swap text' button if you are using the UI. When injecting, the character appears to be replaced correctly.
Note however that text swapping like this should no longer be necessary if you utilize the IPS patch also in our repo that alters the game engine to render extended ascii (ordinals 128-255, which should include most common European accent characters) as single-width characters.


Support streaming responses

A feature request: I'm playing with Twitter's Streaming API, which
requires OAuth for connecting. Problem is jsOAuth does not support
streaming responses.
The get method currently looks at readystate == 4, which is the
completed state. A streaming response never does complete. So I need to
write my own request method, that does that magic I want. Problem is,
the request method is HUGE, and while I only need to monkey patch a
small part of the code, the size of the request method makes me have to
copy/paste large chunks of code. So it all sums up to this: I would like
request method to be split up into several smaller methods, so I can
write a method that works with streaming.

To clarify my use-case even more:
I would like to listen to readystate == 3, and read the partial response from xhr.responseText. This does not work in IE, so I don't expect support for this in jsOAuth. What I would like, is a way to write the plumping for that myself, and somehow just use the OAuth signing from jsOAuth.

Here's a working example of what I'm trying to do: http://stackoverflow.com/a/8752044/117268 - I just need OAuth instead of Basic Auth now.

I'm sorry I don't understand. Can you be clearer? Please submit a pull request if you have code you would like to share.


Naming collision detected

#3558 is without a resolution and with some work arounds that may or may not work.

I have rn-cli.config.js and others the blacklist approach but they don't seem to do anything.
http://stackoverflow.com/questions/30049111/how-to-blacklist-specific-node-modules-of-my-packages-dependencies-in-react-nat
http://stackoverflow.com/questions/32798701/is-there-a-way-to-make-react-native-ignore-some-files-that-not-to-bundle-them

@satya164 Any movement on this?

cc @brentvatne

Hi there! This issue is being closed because it has been inactive for a while.
But don't worry, it will live on with ProductPains! Check out its new home: https://productpains.com/post/react-native/naming-collision-detected
ProductPains helps the community prioritize the most important issues thanks to its voting feature.
It is easy to use - just login with GitHub.
Also, if this issue is a bug, please consider sending a PR with a fix.
We're a small team and rely on the community for bug fixes of issues that don't affect fb apps.


small puppet-lint fixes

This is to obey style guide recommendations:

Defaults for Case Statements and Selectors
File modes / Ensure present on file resource

Looks good, can you rebase so the tests pass?

@jaxxstorm I've just rebased but some tests are still failing as mentioned in #533

@jaxxstorm I've just rabased again and all tests have passed.


Add Support for IGMP snooping on-off in eos_l3ls_evpn #315

Add a key to support to enable/disable igmp-snopping per SVI in tenant
section.
If variable is unset, we apply default EOS config (enable). Then we follow user definition
Types of changes

[x] New feature (non-breaking change which adds functionality)

Related Issue(s)
Fixes #315
Component(s) name
eos_l3ls_evpn
Proposed changes

l3leaf:
  node_groups:
    DC1_LEAF2:
      bgp_as: 65102
      igmp_snooping_enabled: false

[ ... output trunctaed ... ]

l2leaf:
  defaults:
    igmp_snooping_enabled: false

[ ... output trunctaed ... ]

tenants:
  Tenant_A:
    vrfs:
      TENANT_A_PROJECT01:
        svis:
          110:
            igmp_snooping_enabled: false
  Tenant_B:
    l2vlans:
      201:
        igmp_snooping_enabled: false

How to test
In group_vars:
l3leaf:
  defaults:
    # virtual router mac for VNIs assigned to Leaf switches
    # format: xx:xx:xx:xx:xx:xx
    virtual_router_mac_address: 00:1c:73:00:dc:01
    platform: vEOS-LAB
    bgp_as: 65100
    spines: [DC1-SPINE1, DC1-SPINE2]
    uplink_to_spine_interfaces: [Ethernet1, Ethernet2]
    mlag_interfaces: [Ethernet3, Ethernet4]
    spanning_tree_priority: 4096
    spanning_tree_mode: mstp
  node_groups:
    DC1_LEAF1:
      bgp_as: 65101
      filter:
        tenants: [ 'Tenant_A', 'Tenant_B' ]
        tags: [ 'POD01', 'DC1' ]
        # tags: [ border ]
      nodes:
        DC1-LEAF1A:
          id: 1
          mgmt_ip: <IP_ADDRESS>/24
          spine_interfaces: [Ethernet1, Ethernet1]
        DC1-LEAF1B:
          id: 2
          mgmt_ip: <IP_ADDRESS>/24
          spine_interfaces: [Ethernet2, Ethernet2]
    DC1_LEAF2:
      bgp_as: 65102
      igmp_snooping_enabled: false
      filter:
        tenants: [ 'Tenant_A', 'Tenant_B' ]
        tags: [ 'POD02', 'DC1' ]
        # tags: [ border ]
      nodes:
        DC1-LEAF2A:
          id: 3
          mgmt_ip: <IP_ADDRESS>/24
          spine_interfaces: [Ethernet3, Ethernet3]
        DC1-LEAF2B:
          id: 4
          mgmt_ip: <IP_ADDRESS>/24
          spine_interfaces: [Ethernet4, Ethernet4]

# DC1 Tenants Networks
# Documentation of Tenant specific information - Vlans/VRFs
tenants:
  # Tenant A Specific Information - VRFs / VLANs
  Tenant_A:
    mac_vrf_vni_base: 10000
    vrfs:
      TENANT_A_PROJECT01:
        vrf_vni: 11
        svis:
          110:
            name: 'PR01-DMZ'
            tags: [DC1]
            enabled: true
            ip_address_virtual: <IP_ADDRESS>/24
            igmp_snooping: false
          111:
            name: 'PR01-TRUST'
            tags: [POD02]
            enabled: true
            ip_address_virtual: <IP_ADDRESS>/24
  Tenant_B:
    mac_vrf_vni_base: 20000
    l2vlans:
      201:
        name: 'B-ELAN-201'
        tags: [DC1]
        igmp_snooping: false

Check output on EOS:
DC1-LEAF1A(config-if-Vl101)#show ip igmp snooping vlan 110
   Global IGMP Snooping configuration:
-------------------------------------------
IGMP snooping                  : Enabled
IGMPv2 immediate leave         : Enabled
Robustness variable            : 2
Report flooding                : Disabled

Vlan 110 :
----------
IGMP snooping                  : Disabled
IGMPv2 immediate leave         : Default
Multicast router learning mode : pim-dvmrp
IGMP max group limit           : No limit set
Recent attempt to exceed limit : No
Report flooding                : Default
IGMP snooping pruning active   : False
Flooding traffic to VLAN       : True
IGMP snooping proxy active     : False

Checklist:

[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[ ] I have updated molecule CI testing accordingly
[x] I have read the CONTRIBUTING document.
[x] All new and existing tests passed (pre-commit, make linting and make sanity-lint).

For the use case where we need this, we will need to disable igmp snooping globally. Could you add this as well, or should we submit a separate issue?

I will add a spcific key to activate/deactivate globally. Just searching for the correct variable to use.

Data model has new entries for IGMP in eos_l3ls_evpn and a new one under ip_igmp_snooping for eos_cli_config_gen
cc @carlbuchmann and @aphillipps for data-model review

Ready for review and testing


Bump Ruby to 3.3.0 and Alpine to 3.19

Related

https://github.com/alphagov/forms-api/pull/400
https://github.com/alphagov/forms-admin/pull/858
https://github.com/alphagov/forms-runner/pull/561
https://github.com/alphagov/forms-e2e-tests/pull/29
https://github.com/alphagov/forms-product-page/pull/181

What problem does this pull request solve?
Created using our forms-deploy update_app_versions script to bump ruby from 3.2.2 to 3.3.0 and alpine 3.18 to 3.19
Trello card:

Things to consider when reviewing

Ensure that you consider the wider context.
Does it work when run on your machine?
Is it clear what the code is doing?
Do the commit messages explain why the changes were made?
Are there all the unit tests needed?
Has all relevant documentation been updated?

🤔 I get a segmentation fault when trying to build this image in docker compose
% docker-compose build forms-product-page
[+] Building 292.3s (19/20)                                                                                docker:colima
 => [forms-product-page internal] load build definition from Dockerfile                                                                              0.0s
 => => transferring dockerfile: 1.75kB                                                                                0.0s
 => [forms-product-page internal] load .dockerignore                                                                                0.0s
 => => transferring context: 360B                                                                                0.0s
 => [forms-product-page internal] load metadata for docker.io/library/ruby:3.3.0-alpine3.19@sha256:203b3087530e9cb117d8aab9b49bb766253fd8a6606a0d75  4.0s
 => [forms-product-page build  1/16] FROM docker.io/library/ruby:3.3.0-alpine3.19@sha256:203b3087530e9cb117d8aab9b49bb766253fd8a6606a0d7520a591c7a  37.7s
 => => resolve docker.io/library/ruby:3.3.0-alpine3.19@sha256:203b3087530e9cb117d8aab9b49bb766253fd8a6606a0d7520a591c7a3d992f7                       0.0s
 => => sha256:281d3abc84f91c3bb695753c827ae2e6ca7c68e0c7229e56a199f3013342e9c9 224B / 224B                                                           0.3s
 => => sha256:203b3087530e9cb117d8aab9b49bb766253fd8a6606a0d7520a591c7a3d992f7 1.65kB / 1.65kB                                                       0.0s
 => => sha256:5a4bd81d36284fd9a15eca9300b183c2d25062f6d7651e0857265464e3f62a36 1.36kB / 1.36kB                                                       0.0s
 => => sha256:d7589d1c98fa5f3409ac0472e861902be9a2f9856c57e1be11bc568c6fc9bb51 7.36kB / 7.36kB                                                       0.0s
 => => sha256:c303524923177661067f7eb378c3dd5277088c2676ebd1cd78e68397bb80fdbf 3.35MB / 3.35MB                                                       3.9s
 => => sha256:8febe9514bcbbd8570accd06c02a88cb13576a56f1088f7a3364e7ba9506802e 6.73MB / 6.73MB                                                       7.4s
 => => sha256:e0917ae451a278931096604c1a7aa8b0baedcdb96477fab34286f6a99fcebd0f 33.80MB / 33.80MB                                                    36.4s
 => => extracting sha256:c303524923177661067f7eb378c3dd5277088c2676ebd1cd78e68397bb80fdbf                                                            0.2s
 => => sha256:fd823cfc7a04fa1a814a273cfaadc8faf6a9018024e18b0f1a72a648ed023698 173B / 173B                                                           4.2s
 => => extracting sha256:8febe9514bcbbd8570accd06c02a88cb13576a56f1088f7a3364e7ba9506802e                                                            0.5s
 => => extracting sha256:281d3abc84f91c3bb695753c827ae2e6ca7c68e0c7229e56a199f3013342e9c9                                                            0.0s
 => => extracting sha256:e0917ae451a278931096604c1a7aa8b0baedcdb96477fab34286f6a99fcebd0f                                                            1.2s
 => => extracting sha256:fd823cfc7a04fa1a814a273cfaadc8faf6a9018024e18b0f1a72a648ed023698                                                            0.0s
 => [forms-product-page internal] load build context                                                                                0.1s
 => => transferring context: 724.04kB                                                                                0.1s
 => [forms-product-page build  2/16] WORKDIR /app                                                                                0.1s
 => [forms-product-page build  3/16] RUN apk update                                                                                3.3s
 => [forms-product-page build  4/16] RUN apk upgrade --available                                                                                0.5s
 => [forms-product-page build  5/16] RUN apk add libc6-compat openssl-dev build-base libpq-dev nodejs=~20 npm git python3                          119.2s
 => [forms-product-page build  6/16] RUN adduser -D ruby                                                                                0.2s
 => [forms-product-page build  7/16] RUN mkdir /node_modules && chown ruby:ruby -R /node_modules /app                                                0.3s
 => [forms-product-page build  8/16] COPY --chown=ruby:ruby Gemfile* ./                                                                              0.0s
 => [forms-product-page build  9/16] RUN gem install bundler -v 2.4.10                                                                               2.3s
 => [forms-product-page build 10/16] RUN bundle config set --local without development:test   && bundle config set --local jobs "$(nproc)"           0.3s
 => [forms-product-page build 11/16] RUN bundle install                                                                                112.9s
 => [forms-product-page build 12/16] COPY --chown=ruby:ruby package.json package-lock.json ./                                                        0.1s
 => [forms-product-page build 13/16] RUN npm ci --ignore-scripts                                                                                10.7s
 => [forms-product-page build 14/16] COPY --chown=ruby:ruby . .                                                                                0.1s
 => ERROR [forms-product-page build 15/16] RUN SECRET_KEY_BASE=dummyvalue rails vite:build_all                                                       0.6s
------
 > [forms-product-page build 15/16] RUN SECRET_KEY_BASE=dummyvalue rails vite:build_all:
0.492 /usr/local/bundle/gems/concurrent-ruby-1.2.2/lib/concurrent-ruby/concurrent/atomic/lock_local_var.rb:14: [BUG] Segmentation fault at 0x0026ffff9a6affd0
0.492 ruby 3.3.0 (2023-12-25 revision 5124f9ac75) [aarch64-linux-musl]

🤔 I get a segmentation fault when trying to build this image with docker on my machine

Looks like this is a known issue in Ruby 3.3.0 on linux-aarch64, see https://bugs.ruby-lang.org/issues/20085 Fiber.new{ }.resume causes Segmentation fault for Ruby 3.3.0 on aarch64-linux (via https://github.com/ruby-concurrency/concurrent-ruby/issues/1023).

Closing this until ruby 3.3.1 is released


⚠ Fetchers has degraded performance

In 9de8c83, Fetchers ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 928 ms

Resolved: Fetchers performance has improved in 12b272b.

Resolved: Fetchers performance has improved in 12b272b.


EventTriggerBehavior not working as expected

Using the EventTriggerBehavior from a combobox with the SelectionChanged event doesn't work as WPF interactivity implementation.
For example:
<ComboBox x:Name="ComboBoxSelection">
      <interactivity:Interaction.Behaviors>
          <interactions:EventTriggerBehavior EventName="SelectionChanged"
                                             SourceObject="{Binding #ComboBoxSelection}">
              <interactions:InvokeCommandAction Command="{Binding Command}"
                                                CommandParameter="{Binding SelectedItem.Content, ElementName=ComboBoxSelection}"/>
          </interactions:EventTriggerBehavior>
      </interactivity:Interaction.Behaviors>
      <ComboBoxItem Content="1" />
      <ComboBoxItem Content="2" />
  </ComboBox>

In this case SelectedItem is not properly updated, so the value is always the previous selection.

The Behaviors are port of UWP version.

Might be related to https://github.com/AvaloniaUI/Avalonia.Xaml.Behaviors/issues/127 and https://github.com/AvaloniaUI/Avalonia/issues/11006

I think this might be Avalonia related issue.

I just created a pull request that fixes this issue. As wieslawsoltes suggested it was Avalonia control's issue. Please see AvaloniaUI/Avalonia pull request #13503


[useNumberInput][base-ui] Fix onInputChange passed through slotProps

Fixes https://github.com/mui/material-ui/issues/39408
After the fix, both ways of using onInputChange works:
<NumberInput
  onInputChange={() => console.log('onInputChange 1')}
/>

<NumberInput
  slotProps={{
    input: {
      onInputChange: () => console.log('onInputChange 2'),
    },
  }}
/>

Demo: https://codesandbox.io/s/https-github-com-mui-material-ui-pull-39407-yd2vsm?file=/src/App.tsx
Some smaller changes also included:

Aligned various patterns with the hook contributing guide

Aligned externalProps handling and naming with https://github.com/mui/material-ui/issues/38186

All event handler creators support MuiCancellableEvent/event.defaultMuiCancelled

useNumberInput includes inputRef in the return value

[x] I have followed (at least) the PR section of the contributing guide.

I would expect it to be onChange rather than onInputChange when provided through slots:

I agree this looks most intuitive, though I wonder if it may be (more or less) confusing if the same callback was named differently depending on whether it was passed as a normal prop or passed into slotProps, i.e.
const handleInputChange = (ev) => console.log('i am a native input onChange')

<NumberInput
  slotProps={{
    input: {
      onChange: handleInputChange,
    },
  }}
/>

<NumberInput onInputChange={handleInputChange}/>

A related issue is NumberInput's onChange prop (not a native onChange, it's (event, newValue) => void) currently also doesn't work in any slot via slotProps
However it also doesn't intuitively belong in any one slot, as this onChange fires when the input is blurred (after the clamp logic is applied), or when the stepper buttons are clicked
For some background, onChange/onInputChange was kind of based on Autocomplete, which could have a similar problem if it used all the Base UI patterns - onInputChange would go to the input slot, but there really isn't one slot that would intuitively take onChange (root?) 🤔
<Autocomplete
  slotProps={{
    root: {},
    input: {},
    popper: {},
    listbox: {},
    // maybe more
  }}
/>

I agree with Diego, slots.input should have onChange, not onInputChange. It should look like we're just passing the fields of slots.input directly to the underlying slot component (which, by default, is plain HTML input) and `onInputChange is not a standard HTML attribute.

I wonder if it may be (more or less) confusing if the same callback was named differently depending on whether it was passed as a normal prop or passed into slotProps

And what about not having onInputChange for the component? Only having slotProps.input.onChange. I think the onInputChange name makes more sense for the hook version as there are no slots (which makes sense if this was inspired by Autocomplete, which only has a hook). That would avoid confusion and having two ways of achieving the same.

Ok, I agree it makes sense for slotProps to (generally) not accept custom event handlers
Then for the custom onChange callback, we should keep it as-is and only accept it as a normal prop, and not via slotProps (at least in this case because it doesn't intuitively belong to any slot) – what do you think?

And what about not having onInputChange for the component?

I think it's a nice convenience to have, and allows you to do a lot without having to use slotProps which is a bit more verbose, e.g. relatively simple customizations: <NumberInput onChange={ ... } onInputChange={ ... } className="my-num-input">

Then for the custom onChange callback, we should keep it as-is and only accept it as a normal prop, and not via slotProps (at least in this case because it doesn't intuitively belong to any slot) – what do you think?

Agreed ✅

I think it's a nice convenience to have, and allows you to do a lot without having to use slotProps which is a bit more verbose

Fair point 👍🏼 agreed as well 😊 ✅

Looping in @samuelsycamore to have a look at the docs update 🙏
Docs preview: https://deploy-preview-39407--material-ui.netlify.app/base-ui/react-number-input/#events

@samuelsycamore @michaldudak I've fixed all the comments, just wanted to bump this for rereview ~

Thanks everyone for the reviews ~ excited to move this component and  https://github.com/mui/material-ui/pull/39378 forward!


Refactor webpack configuration

updated concurrently and electron packages
added dotenv package (and support)
refactor webpack configurations
use webpack-merge to combine the common configuration with any extra configuration
updated README for pixi support
update script convention

npm run build:electron
npm run build:electron:pixi

npm run web
npm run web:pixi

npm run package:win32
npm run package:win32:pixi

looks good overall! only thing I'd change is the display type name 'default' for the unicode tiles visuals. I'm thinking it should be 'unicodetiles' instead since they should be on equal level (I even think, in the future, the default visuals will be pixi probably).
In any case, not a blocker for merging; will don once I verify it works well.

I like that idea - renamed!
I did notice that target still doesn't quite come through "cleanly" due to electron-renderer which I identified as a thing to deprecate. I'm thinking the default target should be web, then we apply electron when required

I've got ONE more very very minor webpack config cleanup to pursue (not renaming anything), and then I'll stop to look at other things to work on here...code, etc.

Note that there are still issues with concurrency for the npm run electron:* tasks.

Agreed - created https://github.com/slashman/jsrl/issues/13


Fix setup.sh/env.sh filename

Filenames setup.sh and env.sh get .sh after https://github.com/ros/catkin/pull/982.
This seems to cause test failures of pure cmake packages on the buildfarm.
Following builds on the buildfarm looks affected by this bug.
http://build.ros.org/view/Mdev/job/Mdev__yp-spur__ubuntu_bionic_amd64/18/console
02:29:23 Invoking '. /opt/ros/melodic/setup.sh && . /tmp/ws/devel_isolated/setup.sh && PYTHONIOENCODING=utf_8 PYTHONUNBUFFERED=1 catkin_make_isolated --force-cmake --cmake-args -DBUILD_TESTING=1 -DCATKIN_ENABLE_TESTING=1 -DCATKIN_SKIP_TESTING=0 -DCATKIN_TEST_RESULTS_DIR=/tmp/ws/test_results --catkin-make-args run_tests' in '/tmp/ws'
02:29:23 /bin/sh: 9: .: Can't open /tmp/ws/devel_isolated/ypspur/setup.sh

http://build.ros.org/view/Mdev/job/Mdev__rc_genicam_api__ubuntu_bionic_amd64/17/console
09:42:52 Invoking '. /opt/ros/melodic/setup.sh && . /tmp/ws/devel_isolated/setup.sh && PYTHONIOENCODING=utf_8 PYTHONUNBUFFERED=1 catkin_make_isolated --force-cmake --cmake-args -DBUILD_TESTING=1 -DCATKIN_ENABLE_TESTING=1 -DCATKIN_SKIP_TESTING=0 -DCATKIN_TEST_RESULTS_DIR=/tmp/ws/test_results --catkin-make-args run_tests' in '/tmp/ws'
09:42:52 /bin/sh: 4: .: Can't open /tmp/ws/devel_isolated/rc_genicam_api/setup.sh

Expression evaluation order of python:
>>> 'a' + 'b' if True else 'c'
'ab'
>>> 'a' + 'b' if False else 'c'
'c'

Thanks for the fix, my apologies for the regression!

Thank you for fixing the regression. I will make a new patch release right away.

@dirk-thomas When can we expect 0.7.17 to be available via apt?
Thanks!

When can we expect 0.7.17 to be available via apt?

Yes, atm it is only in the building repos. As soon as the rebuild of downstream packages has finished it will become available in the testing repo (~ within a day). After that it will arrive in main as soon as a new Melodic sync is manually triggered which is also announced on Discourse (I would guess in a couple of weeks): http://repositories.ros.org/status_page/ros_melodic_default.html?q=catkin

When can we expect 0.7.17 to be available via apt?

Yes, atm it is only in the building repos. As soon as the rebuild of downstream packages has finished it will become available in the testing repo (~ within a day). After that it will arrive in main as soon as a new Melodic sync is manually triggered which is also announced on Discourse (I would guess in a couple of weeks): http://repositories.ros.org/status_page/ros_melodic_default.html?q=catkin

Would it be possible to perform a one-off sync in order to get this fix out?  This is blocking prerelease testing for Melodic packages (Not an issue on Kinetic since ros-kinetic-catkin is still @ 0.7.14...). If it's too much trouble we'll have to look into injecting an updated catkin into the docker during the build.

This is blocking prerelease testing for Melodic packages (Not an issue on Kinetic since ros-kinetic-catkin is still @ 0.7.14...).

As mentioned 0.7.17 will be in testing within the next 24h - there is no way to speed this process up since downstream packages have to be rebuild for that. The Melodic version in main is still 0.7.14. None of the in between versions have been merged into main.
Based on your comment I don't see what the problem is. Please provide more context / details.

Oh, my confusion, missed the fact that the 0.7.16 version was pulled from testing. Sounds good then, thanks.

missed the fact that the 0.7.16 version was pulled from testing

It wasn't "pulled" from testing - it got replaced with the newly build 0.7.17 (the ROS apt repos only store the latest version of a package).

With the new catkin version in the testing repo the latest devel builds passed again.

With the new catkin version in the testing repo the latest devel builds passed again:
http://build.ros.org/view/Mdev/job/Mdev__yp-spur__ubuntu_bionic_amd64/19/
http://build.ros.org/view/Mdev/job/Mdev__rc_genicam_api__ubuntu_bionic_amd64/18/

Thanks for the fix @at-wat, and thanks so much for organizing and getting everything working again @dirk-thomas!


WIP: Transaction API syntax improvements

Coverage increased (+1.4%) to 94.563% when pulling 31d23b337a01d9e06795e827326c789b883e6250 on boguslavsky:tx-syntax-changes into 2a53c76dde60bd845580424698fe6c4803e0d0c1 on exonum:master.


Command Line Emailer

Have you read the Contributing Guidelines ?
I have read the contributing guidelines
Description
The python app automates the task of sending emails via the command line. It's especially useful if you have to send the same email to more than one recipient.
Fixes #313
Checklist

[x] I've read the contribution guidelines.
[x] I've checked the issue list before deciding what to submit.
[x] I've edited the README.md and link to my code.

@devgirlcodes Nice Project. Just a minor change required , add output SS in your README file. No Duplicity ✅

I attached the screenshots in the readme. Could you have a look?

@devgirlcodes Do the requires changes .

I have made the requested changes.


Displayed chart length is wrong if .ssc file has separate BPM's per chart

Some .ssc stepfiles have different BPM's for each chart. That means that there is no general BPM information in the .ssc header. Etterna seemingly handles this by wrongly assuming 60 BPM for every chart with this gimmick. This causes the displayed chart length to be wrong as well.
To Reproduce
Steps to reproduce the behavior (every file from Thirdstyle Pack also has this):

Find a .ssc stepfile
Move the BPM tag from the header into the chart section
Load the file in Etterna and see wrong BPM and chart length

Expected behavior
I expect the game to show the correct BPM and chart length, depending on which chart is selected.
Screenshots

https://github.com/etternagame/etterna/pull/827
takes care of the length display
split bpms use a bpm range to display instead of a single value which i guess is technically still wrong and should be changed

I think this can be safely closed now unless I'm missing anything else(?)

superceded by #1218


Segmentation fault when using custom Yolov8 model

Good Morning,
I'm trying to run my custom trained model and I keep getting segmentation fault.
I saw the other issue on this repo with a similar problem, and tried everything to modify the head.py and module.py in ultralytics files and regenerate the model, but nothing works

Tried to follow this tutorial and other modification recommended on github but didnt get any result. the model in the repo works fine
https://portrait.gitee.com/FunXiaoYuZhou/YOLOv8-Custom-Object-Detection-Android
https://github.com/s1091845/yolov8ncnn?tab=readme-ov-file
attached is my original model .pt file and my failed conversion bin and param.
https://drive.google.com/drive/folders/1bN1Uo4Dpje-OMFR2bxTbPL7_YkyA6sWj?usp=sharing
Appreciate any help.
Thanks

figured it out, needed to modify number of classes


Db property is missing from MigrationStrategy.beforeOpen

I was following the documentation on migration. It was suggesting to populate the database on the beforeOpen method. But while in the documentation the method looks like beforeOpen: (db, details) in version 2.0.0 the db is missing.
Is this intentional? Where should I populate the database?
the documentation: https://moor.simonbinder.eu/docs/advanced-features/migrations/

Thanks for the report, the documentation is outdated. I've fixed the docs on develop and just cherry-picked that commit to master, so the site should update soon. The beforeOpen callback is still the right place to populate data.
The parameter has been removed in moor 2.0, you can just remove it:
beforeOpen((db, details) async {
  await db.into(...); // old
}

would now be
beforeOpen((details) async {
  await into(...); // new - just don't use db
}


Clean up commit history

#30 addressed lack of Git LFS for the large dataset files. It makes sense to remove these from the commit history, as well. The main affect is reducing the size of the repository when cloned, but it also has other beneficial side effects such as making the commit history easier to browse and navigate.
Aside from removing large dataset files from the history, is there anything else we can/should clean up?

Used bfg-repo-cleaner to remove all blobs containing .gz and .html files from the history (the most recent commit is untouched).
For example, no .tsv.gz source file is present in the following directory: https://github.com/EpistasisLab/penn-ml-benchmarks/tree/51207e96ce3ccb047908fd0d2532344d77573fc6/datasets/1027_ESL
All users should re-clone the repository to avoid adding 'dirty' files back in when new features are merged into master. For the short future, new pull-requests should be inspected to make sure old database or profiling reports haven't been reintroduced (however, this should be fairly obvious).


Google Docs Download(s)

Google Doc files, in the drive.File entity, have an empty DownloadUrl field as they are not stored in Drive. However, they do have an ExportLinks map field which has a similar url to download and export Google Doc files. [source]
This patch assigns the ExportLinks field if the file url was empty after assigning the DownloadUrl to it.
Should resolve google/skicka#26.
Inadvertently, vim-go ran gofmt on the project when I exited the file and the end result was simply the re-alphabetization of the imports.

how can I export google spreadsheet file, let's say as a *.csv using skicka?
$ skicka download filename doesn't works for me

skicka download -download-google-apps-files filename
On Mon, Nov 7, 2016 at 4:11 AM, Stanislav Baranovskiy <
<EMAIL_ADDRESS>wrote:

how can I export google spreadsheet file, let's say as a *.csv using
skicka?
$ skicka download filename doesn't works for me
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/google/skicka/pull/36#issuecomment-258820201, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAGQp3riU8fKF7cRHVGu9aJONn9d_l2Qks5q7xVpgaJpZM4DJbmr
.

@mmp thanks


Proper way to handle a dashboard without a sidebar?

Hey there,
some parts of the dashboard that I'm building don't have a sidebar. However, when simply leaving the HTML code for the sidebar out, I'm encountering several JS bugs, which I have listed below.
Firefox

TypeError: sidenav is null
TypeError: referenceButtons is null

Chrome

TypeError: Cannot read properties of null (reading 'classList')

So, what is the proper way to use the design system without a sidebar?
You can check my site for testing here.

About the form, I'm sorry, but this is neither a Feature Request nor a Bug, just a question for clarification.

Hello @JoLoZ,
Thank you for using our products, for those pages that you want to create without the sidebar, you can start from this page structure: https://demos.creative-tim.com/soft-ui-dashboard/pages/sign-in.html for example.
Or to fix the issue, you can change the imported script with un-minified one:
<script src="../assets/js/soft-ui-dashboard.js?v=1.0.5"></script>
Hope this information helps you.
All the best,
Stefan


Testing CDK version to 1.106.1

Codecov Report

Merging #241 (e4e4d51) into master (5659a9b) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head e4e4d51 differs from pull request most recent head 2d48f28. Consider uploading reports for the commit 2d48f28 to get more accurate results

@@           Coverage Diff           @@
##           master     #241   +/-   ##
=======================================
  Coverage   97.29%   97.29%
=======================================
  Files           3        3
  Lines          74       74
  Branches       15       15
=======================================
  Hits           72       72
  Misses          2        2

Continue to review full report at Codecov.

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


issue

Does this occur consistently?
Repro steps:

Action: azureFunctions.deploy
Error type: ServerTimeout
Error Message: The request timed out. Diagnostic information: timestamp '20201019T213333Z', subscription id '', tracking id 'ade73edc-986c-425a-8c94-3e119d4a434a', request correlation id 'ade73edc-986c-425a-8c94-3e119d4a434a'.
Version: 0.24.1
OS: win32
OS Release: 10.0.18362
Product: Visual Studio Code
Product Version: 1.50.1
Language: en

Call Stack
new t extension.js:16:40769
extension.js:166:90140extension.js:166:90140
processTicksAndRejections task_queues.js:94:5

Please add repro steps


feat(drag-drop): prevent a item be removed when it into another container

Feature Description
CDK(V9) provide [cdkDropListEnterPredicate] to prevent a item into another container, provide (cdkDropListDropped) to determine how to do when user drop the item.
I found when user drag the item into another container but not to release, the item is removed in origin container. When I release it, I didn't add (cdkDropListDropped), so the item is recovered. But what I want is the item can into another container but not to be removed in any time.
In summary, can you provide (cdkDragLeaved) to determine how to deal with the item when the item into another container?
Use Case
Just imaging you are ordering foods from menu in the restaurant. You need to drag the food into your shopping cart. But the item of the menu should't be removed.

Hi @Mr-Eve. great issue! thanks. I think what you are trying to achieve should be partially possible already by just not using the move or transfer utilities the drag-drop provides, but rather by "copying" the element. For example:
    if (event.previousContainer.id === 'menu') {
      event.container.data.splice(event.currentIndex, 0,
        event.previousContainer.data[event.previousIndex]);
    }

The only problem I see here is that the drag placeholder from the menu list is temporarily removed when the item is being dragged over the Shopping cart drop list. cc. @crisbeto

Sorry, I'm not clear your meaning. The problem is , I have to use the way of drag to pick up the item of menu. I can't determine how to deal with the item when it into another container. The item is temporarily removed is default action.

Same Problem, When multiple cdkDropList exist, and those list are connected each other with droplist group or list connection.
After starting drag on source-list it generate placeholder, and when dragging item enter into destination-list,
placeholder also move to destination-list.
how can prevent placeholder disappear in source-list while dragging over other connected-list?

When multiple cdkDropList exist, and those list are connected each other with droplist group or list connection.
After starting drag on source-list it generate placeholder, and when dragging item enter into destination-list,
placeholder also move to destination-list.
how can prevent placeholder disappear in source-list while dragging over other connected-list?
there are some messy way that save placeholder element and insert it after exit source-list,
but i hope there are a new way like stop list DOM manipulation by cdk when drag exited list.

I solved it by a hack way. I think there is a long time during the CDK add this feature, if your really nedd it, you can try below code

something1...

something2...

something3...

something1...

something2...

something3...

@Mr-Eve is what you want a copy feature? somethink like here?
https://jsbin.com/bifuyab/edit?js,output

@andreElrico yes, but it looks not under angular enviroment?

I also would like to have this feature.

#13906

It's almost a year.

Why close this issue?


Create nav bar

This adds a navbar and all the logic needed to secure the client side.
Closes #90

This is a good start but we need more styling for this. Perhaps the final styling could be when we got a more functional server-side.

Yes I agree. I thought the scope of the issue got a bit too big so I figured it would be best to just merge it.


TypeError: can't compare offset-naive and offset-aware datetimes

I get this error when I update the user profile using angular-realworld-example-app

hello @nikhilkul I'm not sure why but I can't reproduce the problem, either ways can paste the error traceback ?

Sure. Here you go.
<IP_ADDRESS> - - [26/Jul/2017 16:18:49] "PUT /api/user HTTP/1.1" 500 -
Traceback (most recent call last):
  File "/Users/github/.virtualenvs/spinn/lib/python2.7/site-packages/flask/app.py", line 1997, in __call__
    return self.wsgi_app(environ, start_response)
  File "/Users/github/.virtualenvs/spinn/lib/python2.7/site-packages/flask/app.py", line 1985, in wsgi_app
    response = self.handle_exception(e)
  File "/Users/github/.virtualenvs/spinn/lib/python2.7/site-packages/flask/app.py", line 1540, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/Users/github/.virtualenvs/spinn/lib/python2.7/site-packages/flask/app.py", line 1982, in wsgi_app
    response = self.full_dispatch_request()
  File "/Users/github/.virtualenvs/spinn/lib/python2.7/site-packages/flask/app.py", line 1614, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/Users/github/.virtualenvs/spinn/lib/python2.7/site-packages/flask/app.py", line 1517, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/Users/github/.virtualenvs/spinn/lib/python2.7/site-packages/flask/app.py", line 1612, in full_dispatch_request
    rv = self.dispatch_request()
  File "/Users/github/.virtualenvs/spinn/lib/python2.7/site-packages/flask/app.py", line 1598, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/Users/github/.virtualenvs/spinn/lib/python2.7/site-packages/flask_jwt/__init__.py", line 177, in decorator
    return fn(*args, **kwargs)
  File "/Users/github/.virtualenvs/spinn/lib/python2.7/site-packages/flask_apispec/annotations.py", line 115, in wrapped
    return wrapper(*args, **kwargs)
  File "/Users/github/.virtualenvs/spinn/lib/python2.7/site-packages/flask_apispec/wrapper.py", line 23, in __call__
    response = self.call_view(*args, **kwargs)
  File "/Users/github/.virtualenvs/spinn/lib/python2.7/site-packages/flask_apispec/wrapper.py", line 39, in call_view
    return self.func(*args, **kwargs)
  File "/Users/github/gitdir/flask-realworld-example-app/conduit/user/views.py", line 61, in update_user
    user.update(**kwargs)
  File "/Users/github/gitdir/flask-realworld-example-app/conduit/extensions.py", line 25, in update
    return commit and self.save() or self
  File "/Users/github/gitdir/flask-realworld-example-app/conduit/extensions.py", line 31, in save
    db.session.commit()
  File "/Users/github/.virtualenvs/spinn/lib/python2.7/site-packages/sqlalchemy/orm/scoping.py", line 157, in do
    return getattr(self.registry(), name)(*args, **kwargs)
  File "/Users/github/.virtualenvs/spinn/lib/python2.7/site-packages/sqlalchemy/orm/session.py", line 874, in commit
    self.transaction.commit()
  File "/Users/github/.virtualenvs/spinn/lib/python2.7/site-packages/sqlalchemy/orm/session.py", line 461, in commit
    self._prepare_impl()
  File "/Users/github/.virtualenvs/spinn/lib/python2.7/site-packages/sqlalchemy/orm/session.py", line 441, in _prepare_impl
    self.session.flush()
  File "/Users/github/.virtualenvs/spinn/lib/python2.7/site-packages/sqlalchemy/orm/session.py", line 2139, in flush
    self._flush(objects)
  File "/Users/github/.virtualenvs/spinn/lib/python2.7/site-packages/sqlalchemy/orm/session.py", line 2259, in _flush
    transaction.rollback(_capture_exception=True)
  File "/Users/github/.virtualenvs/spinn/lib/python2.7/site-packages/sqlalchemy/util/langhelpers.py", line 66, in __exit__
    compat.reraise(exc_type, exc_value, exc_tb)
  File "/Users/github/.virtualenvs/spinn/lib/python2.7/site-packages/sqlalchemy/orm/session.py", line 2223, in _flush
    flush_context.execute()
  File "/Users/github/.virtualenvs/spinn/lib/python2.7/site-packages/sqlalchemy/orm/unitofwork.py", line 389, in execute
    rec.execute(self)
  File "/Users/github/.virtualenvs/spinn/lib/python2.7/site-packages/sqlalchemy/orm/unitofwork.py", line 548, in execute
    uow
  File "/Users/github/.virtualenvs/spinn/lib/python2.7/site-packages/sqlalchemy/orm/persistence.py", line 177, in save_obj
    mapper, table, update)
  File "/Users/github/.virtualenvs/spinn/lib/python2.7/site-packages/sqlalchemy/orm/persistence.py", line 659, in _emit_update_statements
    lambda rec: (
  File "/Users/github/.virtualenvs/spinn/lib/python2.7/site-packages/sqlalchemy/orm/persistence.py", line 485, in _collect_update_commands
    value, state.committed_state[propkey]) is not True:
  File "/Users/github/.virtualenvs/spinn/lib/python2.7/site-packages/sqlalchemy/sql/type_api.py", line 359, in compare_values
    return x == y
TypeError: can't compare offset-naive and offset-aware datetimes

sorry my bad I didn't test with python2, 5ffc9e693c5f89759bc15e8cc8528922082fb511 fixes it, just rerun your migrations because I fixed actually added the updatedAt column now.
(if the migration fails run
$ rm -fr migrations/ && rm dev.db && flask db init && flask db migrate && flask db upgrade

thanks for bearing with me.


KNOX-2626. Support MySQL in JDBCTokenStateService (amagyar)

What changes were proposed in this pull request?
Until now, JDBCTokenStateService only supported Postgres and Derby databases. This patch adds MySql support. There are two ways to define a MySql data source, either via a full connection string or by individual properties.
How was this patch tested?
Tested with a local MySql with and without SSL. I used the following images:
$ docker pull mysql/mysql-server:latest
$ docker pull cyprien/mysql-tls:5.7

In gateway-site, I set gateway.database.type=mysql plus added the connection properties/connection url.
I created a token at https://localhost:8443/gateway/homepage/tokengen/index.html and inspected the KNOX_TOKENS and KNOX_TOKEN_METADATA tables in the database.

For the SSL test I used the following MySql config:
[client]
protocol=tcp
port=3306
[mysqld]
bind-address=<IP_ADDRESS>
port=3306
ssl-ca=/Users/attilamagyar/tools/mysql-8.0.25-macos11-x86_64/certs/ca.pem
ssl-cert=/Users/attilamagyar/tools/mysql-8.0.25-macos11-x86_64/certs/server-cert.pem
ssl-key=/Users/attilamagyar/tools/mysql-8.0.25-macos11-x86_64/certs/server-key.pem
ssl=true
require_secure_transport = ON

I created a truststore with and without ca.pem, and enabled certificate validation gateway.database.ssl.verify.server.cert. Verified that it only worked with the proper truststore.

I used the following API calls to validate revoke and renew functionality.
curl -H "X-XSRF-Header: admin" -d <tokenId>  -X POST --cookie "hadoop-jwt=..." -vvv -k -u admin:admin-password https://localhost:8443/knoxtoken/api/v1/token/revoke

curl -H "X-XSRF-Header: admin" -d <tokenId>  -X POST --cookie "hadoop-jwt=..." -vvv -k -u admin:admin-password https://localhost:8443/knoxtoken/api/v1/token/renew```

retest this please


High-order component example does not return the enhanced component

In the High-order example, it seems we forget to return the enhanced component.
var enhanceComponent = (Component) => {
  class Enhance extends React.Component {
    render () {
      return (
        <Component {...this.props} />
      )
    }
  }

  // should we return the component here?
  return Enhance;
}

Actually, the example don't have the brackets after the => as you mentioned

So, the class is being returned correctly by the arrow function!
@dennisXZX There are any other example that I didn´t find?
If not, I think you can close this issue...

@infertux good call. I was going to work on this issue today but you were first. @dennisXZX is that example that you are referring to?

@infertux thanks guys! Sorry, I am new to React I didn't know that would return the class. TIL~ Thanks again. I will close the issue.


"Power" menu value is not saved.

"Power" menu option is saved, and after turn off, turn on, it restore old value.

The reason is : in memory mode, power is a "per channel" parameter. You can change it from the radio. But if you want this change to persist (after changing channel, restarting the pocket, etc.), you need to save the memory channel again (via menu 16/64, ChSave).
Regards,
Armel F4HWN.

I see.
Thank you.


vm vmdk add  gets undefined method `each' for nil:NilClass (NoMethodError)

Worked few days ago but now we came across this issue,  tried new version , old but nothing really helps  , appreciate your assistance.
Versions:

Version of knife-vsphere: Tried latest (2.1.1) and 1.2.23
Version of chef:  chef-client 12.12 and chefdk 2.4.17

Platform Details

Version of vSphere: 6.5.0
Version of ESXi: 6.5.0

Scenario:
knife vsphere vm vmdk add
Please paste the command and output (run with -VV). Don't forget to X out any passwords or sensitive information:
2018-07-17T16:36:58.5881285Z INFO: Using configuration from D:/Agents/Agent2/_work/87/s/knife.rb
2018-07-17T16:36:58.6662514Z DEBUG: value for config item vsphere_host: *******
2018-07-17T16:36:58.6662514Z DEBUG: value for config item vsphere_path: /sdk
2018-07-17T16:36:58.6662514Z DEBUG: value for config item vsphere_port: 443
2018-07-17T16:36:58.6662514Z DEBUG: value for config item vsphere_nossl:
2018-07-17T16:36:58.6662514Z DEBUG: value for config item vsphere_user: ********
2018-07-17T16:36:58.6662514Z DEBUG: value for config item vsphere_pass: ********
2018-07-17T16:36:58.6662514Z DEBUG: value for config item vsphere_pass: ********
2018-07-17T16:36:58.6662514Z DEBUG: value for config item vsphere_pass: ********
2018-07-17T16:36:58.6662514Z DEBUG: value for config item vsphere_insecure: true
2018-07-17T16:36:58.6662514Z DEBUG: value for config item proxy_host:
2018-07-17T16:36:58.6662514Z DEBUG: value for config item proxy_port:
2018-07-17T16:36:58.9687282Z DEBUG: value for config item folder:
2018-07-17T16:36:58.9687282Z DEBUG: value for config item vsphere_dc: QA and DEV
2018-07-17T16:37:00.1574818Z DEBUG: value for config item target_lun:
2018-07-17T16:37:00.2325364Z Datastore: K2-QA-3 (2.45 TB(2697227927552) / 8.00 TB)
2018-07-17T16:37:00.2991042Z Choosing: K2-QA-3
2018-07-17T16:37:01.6030146Z C:/Users/tfsagent/AppData/Local/chefdk/gem/ruby/2.4.0/gems/knife-vsphere-1.2.23/lib/chef/knife/vsphere_vm_vmdk_add.rb:80:in block in run': undefined method each' for nil:NilClass (NoMethodError)
2018-07-17T16:37:01.6030146Z 	from C:/Users/tfsagent/AppData/Local/chefdk/gem/ruby/2.4.0/gems/knife-vsphere-1.2.23/lib/chef/knife/vsphere_vm_vmdk_add.rb:79:in each' 2018-07-17T16:37:01.6030146Z 	from C:/Users/tfsagent/AppData/Local/chefdk/gem/ruby/2.4.0/gems/knife-vsphere-1.2.23/lib/chef/knife/vsphere_vm_vmdk_add.rb:79:in run'
2018-07-17T16:37:01.6030146Z 	from C:/opscode/chefdk/embedded/lib/ruby/gems/2.4.0/gems/chef-13.6.4-universal-mingw32/lib/chef/knife.rb:442:in block in run_with_pretty_exceptions' 2018-07-17T16:37:01.6030146Z 	from C:/opscode/chefdk/embedded/lib/ruby/gems/2.4.0/gems/chef-13.6.4-universal-mingw32/lib/chef/local_mode.rb:44:in with_server_connectivity'
2018-07-17T16:37:01.6030146Z 	from C:/opscode/chefdk/embedded/lib/ruby/gems/2.4.0/gems/chef-13.6.4-universal-mingw32/lib/chef/knife.rb:441:in run_with_pretty_exceptions' 2018-07-17T16:37:01.6030146Z 	from C:/opscode/chefdk/embedded/lib/ruby/gems/2.4.0/gems/chef-13.6.4-universal-mingw32/lib/chef/knife.rb:219:in run'
2018-07-17T16:37:01.6030146Z 	from C:/opscode/chefdk/embedded/lib/ruby/gems/2.4.0/gems/chef-13.6.4-universal-mingw32/lib/chef/application/knife.rb:156:in run' 2018-07-17T16:37:01.6030146Z 	from C:/opscode/chefdk/embedded/lib/ruby/gems/2.4.0/gems/chef-13.6.4-universal-mingw32/bin/knife:25:in <top (required)>'
2018-07-17T16:37:01.6030146Z 	from C:/opscode/chefdk/bin/knife:267:in load' 2018-07-17T16:37:01.6030146Z 	from C:/opscode/chefdk/bin/knife:267:in '

Hi, thanks for providing a stack trace. It looks like it's from the older 1.2.23 though, can you re-run using the latest and paste the stack trace please?

Hi,
@swalberg
Below is the stack trace from 2.1.1 ,  thanks for the quick response and waiting for a solution its really useful tool and our provisioning flow is stuck at the moment -
WARNING: No knife configuration file found
DEBUG: value for config item vsphere_host: **************
DEBUG: value for config item vsphere_path: /sdk
DEBUG: value for config item vsphere_port: 443
DEBUG: value for config item vsphere_nossl:
DEBUG: value for config item vsphere_user: **************
DEBUG: value for config item vsphere_pass: **************
DEBUG: value for config item vsphere_pass: **************
DEBUG: value for config item vsphere_pass: **************
DEBUG: value for config item vsphere_insecure: true
DEBUG: value for config item proxy_host:
DEBUG: value for config item proxy_port:
DEBUG: value for config item folder:
DEBUG: value for config item vsphere_dc: QA and DEV
DEBUG: value for config item target_lun:
Datastore: K2-QA-3 (2.45 TB(2697227927552) / 8.00 TB)
Choosing: K2-QA-3
C:/Users/tfsagent/AppData/Local/chefdk/gem/ruby/2.4.0/gems/knife-vsphere-2.1.1/lib/chef/k
nife/vsphere_vm_vmdk_add.rb:86:in block in run ':  undefined method each' for nil:NilClass
(NoMethodError)
from C:/Users/tfsagent/AppData/Local/chefdk/gem/ruby/2.4.0/gems/knife-vsphere-2.1.1/lib/
chef/knife/vsphere_vm_vmdk_add.rb:85:in each' 	from C:/Users/tfsagent/AppData/Local/chefdk/gem/ruby/2.4.0/gems/knife-vsphere-2.1.1/lib/ chef/knife/vsphere_vm_vmdk_add.rb:85:in run'
from C:/opscode/chefdk/embedded/lib/ruby/gems/2.4.0/gems/chef-13.6.4-universal-mingw32/l
ib/chef/knife.rb:442:in block in run_with_pretty_exceptions' 	from C:/opscode/chefdk/embedded/lib/ruby/gems/2.4.0/gems/chef-13.6.4-universal-mingw32/l ib/chef/local_mode.rb:44:in with_server_connectivity'
from C:/opscode/chefdk/embedded/lib/ruby/gems/2.4.0/gems/chef-13.6.4-universal-mingw32/l
ib/chef/knife.rb:441:in `run_with_pretty_exceptions'
from C:/opscode/chefdk/embedded/lib/ruby/gems/2.4.0/gems/chef-13.6.4-universal-mingw32/l

ib/chef/knife.rb:219:in `run'
from C:/opscode/chefdk/embedded/lib/ruby/gems/2.4.0/gems/chef-13.6.4-universal-mingw32/l

ib/chef/application/knife.rb:156:in `run'
from C:/opscode/chefdk/embedded/lib/ruby/gems/2.4.0/gems/chef-13.6.4-universal-mingw32/b

in/knife:25:in `<top (required)>'
from C:/opscode/chefdk/bin/knife:267:in `load'

from C:/opscode/chefdk/bin/knife:267:in `<main>'

@swalberg
The workaround works!
changing (vm_files.keys || []).each do |vmFile| was not enough ,  i had to change this one also
(vm_files[vmFile]['layoutEx.file'] || []).each do |layout|
However, i don't think i understood what is the impact of this workaround  ?
We moved to this new vCenter few days ago and our provisioning worked for 2-3 first machines (same datastore was picked according to logs )   , the datastore itself was used before for testing and some machine creation before we moved.. so i can't say its really new.
Thanks again for the quick response and solution and please let us know if we can keep it this way.

Hi, the code as is makes certain assumptions that when it asks for files it gets back a list of files, but in your case, it's getting nothing and then treating that nothing as if it were a list of zero files. That (foo || []) just makes foo into an Array (I guess you could have also done Array(foo)).
The changes will go away if you update. I'll try to understand what's happening here and come up with a cleaner way of doing it. That section of code happens to be on my hit list as it's asking VMWare for all the files on all the VMs on the datastore, only to filter out for the ones to do with the VM it already has. There has to be a more efficient way.


Revert http resilience upgrade

There is a breaking change with Grpc clients in this version.
InvalidOperationException: The ConfigureHttpClient method is not supported when creating gRPC clients. Unable to create client with name 'BasketClient'.
Grpc.Net.ClientFactory.Internal.GrpcCallInvokerFactory.CreateInvoker(EntryKey key)
System.Collections.Concurrent.ConcurrentDictionary<TKey, TValue>.GetOrAdd(TKey key, Func<TKey, TValue> valueFactory)
Grpc.Net.ClientFactory.Internal.GrpcCallInvokerFactory.CreateInvoker(string name, Type type)
Grpc.Net.ClientFactory.Internal.DefaultGrpcClientFactory.CreateClient<TClient>(string name)
Microsoft.Extensions.DependencyInjection.GrpcClientServiceExtensions+<>c__DisplayClass7_0<TClient>.<AddGrpcHttpClient>b__2(IServiceProvider s)
Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor<TArgument, TResult>.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument)
Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitDisposeCache(ServiceCallSite transientCallSite, RuntimeResolverContext context)
Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor<TArgument, TResult>.VisitCallSite(ServiceCallSite callSite, TArgument argument)
Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, RuntimeResolverContext context)
Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor<TArgument, TResult>.VisitCallSiteMain(ServiceCallSite callSite, TArgument argument)
Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite callSite, RuntimeResolverContext context)
Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteVisitor<TArgument, TResult>.VisitCallSite(ServiceCallSite callSite, TArgument argument)
Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.Resolve(ServiceCallSite callSite, ServiceProviderEngineScope scope)
Microsoft.Extensions.DependencyInjection.ServiceProvider.CreateServiceAccessor(ServiceIdentifier serviceIdentifier)
System.Collections.Concurrent.ConcurrentDictionary<TKey, TValue>.GetOrAdd(TKey key, Func<TKey, TValue> valueFactory)
Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(ServiceIdentifier serviceIdentifier, ServiceProviderEngineScope serviceProviderEngineScope)
Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope.GetService(Type serviceType)

Microsoft Reviewers: Open in CodeFlow

Would it be possible to also add an explicit unit test for this, so it doesn't depend on running the actual app to catch it?

Would it be possible to also add an explicit unit test for this, so ~it doesn't~ we don't depend on running the actual app to catch it?

What exactly do you imagine us testing? This is a break between Http.Resilience (in dotnet/extensions) and gRPC client (which we don't own). .NET Aspire doesn't do anything with gRPC by default, we just happen to use it in one of our "playground apps".

Would it be possible to also add an explicit unit test for this, so ~it doesn't~ we don't depend on running the actual app to catch it?

What exactly do you imagine us testing? This is a break between Http.Resilience (in dotnet/extensions) and gRPC client (which we don't own). .NET Aspire doesn't do anything with gRPC by default, we just happen to use it in one of our "playground apps".

ah, ok. nvm then!

FWIW, the issue will be fixed in extensions for 8.2, either by fixing the code that introduced the regression or by reverting the change entirely.

FWIW, the issue will be fixed in extensions for 8.2, either by fixing the code that introduced the regression or by reverting the change entirely.

We need to fix this sooner because our playground/eShopLite app is broken in main.


add meta tags for ios PWA

The icon doesn't seem to be displaying on my iOS PWA, I think the missing sizes property may be to blame.
This needs to be installed from an https origin, so I'll test it using the vercel deployment

Before -> After

Ahhh gracias


check length minimum and maximum but dont retun the message for tooShort and tooLarge

i use
  {
    presence: {
      message: gettext("The Phonenumber is required")
    },
    length: {
      minimum: 8,
      maximum: 20,
      tooLong: gettext("The Phonenumber is too long (maximum is %{count} characters)"),
      tooShort: gettext("The Phonenumber is too short (minimum is %{count} characters)"),

    }
  }

i except that if i use a to short number my text, but get only 'is too short (minimum is 8 characters)'
Where is my Failure?

Which version of validate.js are you using?

The last one
Von meinem iPhone gesendet

Am 10.06.2016 um 15:33 schrieb Nicklas Ansman Giertz<EMAIL_ADDRESS>Which version of validate.js are you using?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Could gettext be returning null?

No, it works for all others.
If i set a message: it works but for both the same massage. Or do i need to make each length in an array?
Von meinem iPhone gesendet

Am 10.06.2016 um 15:35 schrieb Nicklas Ansman Giertz<EMAIL_ADDRESS>Could gettext be returning null?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

I used this exact code and it works fine:
function gettext(s) { return s; }
var constraints = {}
constraints.phone =   {
    presence: {
      message: gettext("The Phonenumber is required")
    },
    length: {
      minimum: 8,
      maximum: 20,
      tooLong: gettext("The Phonenumber is too long (maximum is %{count} characters)"),
      tooShort: gettext("The Phonenumber is too short (minimum is %{count} characters)"),

    }
  }

validate({phone: "123"}, constraints)
validate({phone: "123456873827893437289472398457293"}, constraints)

function gettext(s) { return s; }
var constraints = {}
constraints.phone =   {
    presence: {
      message: gettext("The Phonenumber is required")
    },
    length: {
      minimum: 8,
      maximum: 20,
      tooLong: gettext("The Phonenumber is too long (maximum is %{count} characters)"),
      tooShort: gettext("The Phonenumber is too short (minimum is %{count} characters)"),

    }
  }

validate({phone: "123"}, constraints, {format: "flat", fullMessages: false})
validate({phone: "123456873827893437289472398457293"}, constraints, {format: "flat", fullMessages: false})

and that?
i get only the default message...

No worries :)


Domain activation is Failed - [BRIEF DESCRIPTION]

App Id: dfgmxft5n21w7
Region: us-east-1
Step: Domain activation
Status: Failed
Issue/question
Why I cannot assign a custom sub domain to AWS Amplify?
Error message
One or more of the CNAMEs you provided are already associated with a different resource.

Refer to our documentation to troubleshoot domain setup.

https://docs.aws.amazon.com/amplify/latest/userguide/custom-domain-troubleshoot-guide.html
https://docs.aws.amazon.com/amplify/latest/userguide/custom-domain-troubleshoot-guide.html#i-get-a-cnamealreadyexistsexception-error

Let us know if you're still facing issues.

Worked Thanks, there was a wildcard *.domainname.com and I just removed


Py3k unicode slicers

A step towards an alternative version of #1782 which conserves existing Python 2 behaviour : see comment there
An adjusted version of @QuLogic "b759876 py3k: Correctly handle string input to slicers. "
The implementation is somewhat rewritten, as I previously suggested : comment on #1782
This should make no functional difference.
TO TEST :
python3 -m unittest iris.tests.unit.cube.test_Cube fails before this, succeeds after
NOTE :
As the second commit efffectively reverts some changes from the first one,  it probably makes good sense to squish before merging.

Makes sense to me.

Is this ok, shall I skwish it ?

Sure (you can even claim authorship on this one; it's mostly your work.)

Done that.
Thanks @QuLogic

:+1: ... I'll leave it till tomorrow to see if @pp-mo would rather the "one-line" version of the helper function, but unless anything else comes up I'll merge either way.


ccacheStdenv does not pass libc tests

I'm trying to use ccacheStdenv. I use max-jobs 6, cores 6, use-chroot true, and the following .nixpkgs/config.nix for my user:
{ pkgs }:

{
  replaceStdenv = { pkgs }: pkgs.ccacheStdenv;

  packageOverrides = pkgs: {
    ccacheWrapper = pkgs.ccacheWrapper.override {
      extraConfig = ''
        CCACHE_COMPRESS=1
        CCACHE_DIR=/bin/.ccache
      '';
    };
  };
}

I ran nix-shell ~/nixpkgs/ -A ccacheStdenv as user.
Only showing the failed tests below:
=====================================================
   GNU coreutils 8.21: gnulib-tests/test-suite.log
=====================================================

3 of 289 tests failed.  (28 tests were not run).

.. contents:: :depth: 2

FAIL: test-fdutimensat (exit: 134)
==================================

test-utimens.h:103: assertion failed

FAIL: test-utimens (exit: 134)
==============================

test-utimens.h:130: assertion failed

FAIL: test-utimensat (exit: 134)
================================

test-utimens.h:119: assertion failed

======================================
3 of 289 tests failed
(28 tests were not run)
See gnulib-tests/test-suite.log
Please report to<EMAIL_ADDRESS>======================================
make[6]: *** [test-suite.log] Error 1
make[6]: Leaving directory `/tmp/nix-build-coreutils-8.21.drv-1/coreutils-8.21/gnulib-tests'
make[5]: *** [check-TESTS] Error 2
make[5]: Leaving directory `/tmp/nix-build-coreutils-8.21.drv-1/coreutils-8.21/gnulib-tests'
make[4]: *** [check-am] Error 2
make[4]: Leaving directory `/tmp/nix-build-coreutils-8.21.drv-1/coreutils-8.21/gnulib-tests'
make[3]: *** [check-recursive] Error 1
make[3]: Leaving directory `/tmp/nix-build-coreutils-8.21.drv-1/coreutils-8.21/gnulib-tests'
make[2]: *** [check] Error 2
make[2]: Leaving directory `/tmp/nix-build-coreutils-8.21.drv-1/coreutils-8.21/gnulib-tests'
make[1]: *** [check-recursive] Error 1
make[1]: Leaving directory `/tmp/nix-build-coreutils-8.21.drv-1/coreutils-8.21'
make: *** [check] Error 2

ccache is erroring with ccache: error: Failed to create directory /nix/var/ccache/tmp: Permission denied (chroot disabled) using @wmertens's config for me

@fread2281, I suspect you didn't follow:

@lethalman When you opened this issue, were you using ZFS, by any chance? If so, you were probably running into #5652, which caused the exact same failures.

@vcunat I did. /etc/nix/nix.conf has build-use-chroot = false and /var/cache/ccache in build-chroot-dirs. So does /etc/nixos/configuration.nix, and I'm using --option build-extra-chroot-dirs /var/cache/ccache=/var/cache/ccache/ --option build-use-chroot false (I switched to /var/cache/ccache).

As I suspected, I had to rebuild to get nix to take either build-use-chroot or build-extra-chroot-dirs (--option on nixos-rebuild didn't work, copying and editing /etc/nix/nix.conf didn't work)

@lethalman were you running ZFS this on ZFS? looks like this might be related to that as @wizeman pointed out.

triage: what’s the status?


No requirements.txt

At a first glace, I couldn't find the requirements.txt file. Did you forget to produce that file or is there another wayto install the dependencies?

Because of the long dependencies of yolov5, I added all the required packages for this repo inside the readme file itself. However, the requirements.txt is placed in the repo now.


Intermittent "errors" logged when importing toolkit

Reality Collective - Reality Toolkit Bug Report
Describe the bug

The console is lit up with two types of errors that are not errors when importing the project:

Asset copy errors (even though the asset has copied)
Missing meta file for the Runtime\Features folder (even though one exists in source)

Needs investigation
To Reproduce

Main Test

Create a Blank Unity project
Use OpenUPM to install the Core package
Open Unity
See error

Alternate 1

Create a Blank project and Open project
Use OpenUPM to install the Core package
Return to Unity and let it refresh
See error

Alternate 2

Create a Blank project and Open project
Manually add OpenUPM package reference and install core
Return to Editor and let it refresh
See error

Expected behavior

Should not see any errors / issues reported when importing the toolkit

The meta file error is due to a meta file (features.meta) existing but no folder exists.  Just needs cleaning up


docs: translation for architecture.md

Signed-off-by: xian-jie.shen<EMAIL_ADDRESS>Pre-Checklist
Note: please complete ALL items in the following checklist.

[x] I have read through the CONTRIBUTING.md documentation.
[x] My code has the necessary comments and documentation (if needed).
[x] I have added relevant tests

Description
translate a Chinese version for architecture.md
Related Issues
N/A
New Behavior (screenshots if needed)
Documents updated only.
@daniel-hutao  Please help to review this change.

Hi @jxs1211, thanks for the contribution.
Please consider joining our slack channel :)
Also, a kind reminder on the [DCO])(https://docs.devstream.io/en/latest/contributing_guide/#sign-your-commits). Please remember to do so in your future commits :)


Cherrypick commit 1fa778726fc149088fa9f9a5c694835bf9dd712c back to master

This commit is not relevant for master, the file modify_values was deleted from master and content was copied to helm_charts file.

Thanks for the clarification @utka!


Updated autocomplete for Docker version 1.3

Docker has changed quite a lot since lastest update of this plugin.
And as @sanga resquested in #2803, I also was in huge need of containers name autocomplete.

@bobmaerten Can you rebase this? Thanks in advance!

Here it is, rebased from master.

Here it is @robbyrussell, rebased from master.

This should be closed in favor of #5060

Small & quick commits/PR not quickly merged enough ends up like this. Glad to hand up to someone else.

Sorry for the delay @bobmaerten!


Document Manual Bridging Process

This PR adds a guide for manually bridging funds to Immutable zkEVM from Ethereum through direct interaction with the bridge contracts. This method serves as an alternative to the recommended Immutable Toolkit user interface. The document also provides details about registering (mapping) new tokens.

📃CI Report
Compiling 156 files with 0.8.19
Solc 0.8.19 finished in 14.27s
Compiler run successful with warnings:
Warning (9302): Return value of low-level calls not used.
    |
361 |             user.call{value: amount}("");
    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Warning (9302): Return value of low-level calls not used.
    |
174 |             user.call{value: amount}("");
    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Analysing contracts...
Running tests...


Move websocket headers to opt function 'WithWebsocketHeaders'

Follow-up up on the discussion in https://github.com/Khan/genqlient/pull/360#pullrequestreview-2471038655.
Move websocket headers to and opt function 'WithWebsocketHeaders'.
I have:

[x] Written a clear PR title and description (above)
[x] Signed the Khan Academy CLA
[x] Added tests covering my changes, if applicable
[x] Included a link to the issue fixed, if applicable
[x] Included documentation, for new features
[x] Added an entry to the changelog

@benjaminjkraft Here is a follow-up PR regarding our discussion here: https://github.com/Khan/genqlient/pull/360#pullrequestreview-2471038655
This is without tests now, which is not great. I'm struggling to find an easy way to test this.
Normally I would set up a middleware and set the authentication ctx key for the header. But it seems that the httptest server does not have middleware support out-of-the-box. Maybe I'm wrong?
Could be wise to hold off merging this until tests have been added 🤗

Thanks!
I think you should be able to do middleware? gqlgenServer is just an http.Handler, so if you have a middleware that's func(http.Handler) http.Handler you can just do NewServer(middleware(gqlgenServer)).

@benjaminjkraft Thanks! Tests added now!


API Test - Get aggregated information about namespaces

Get the user session token to pass it as authorization token to make the API call
1.1 authenticates Janis (api owner) to get the user session token
API Tests for Namespace Report
2.1 Prepare the Request Specification for the API
2.2 Get the resource and verify the success code in the response
API Tests for Namespace List
3.1 Prepare the Request Specification for the API
3.2 Get the resource and verify the success code in the response
3.3 Verify that the selected Namespace is displayed in the Response list in the response
API Tests for Namespace Activities
4.1 Prepare the Request Specification for the API
4.2 Get the resource and verify the success code in the response
API Tests for Deleting Namespace
5.1 Prepare the Request Specification for the API
5.2 Delete the namespace and verify the success code in the response
5.3 Verify that deleted namespace does not display in Get namespace list

blocked due to two defects


Implementation of map-backtrace for Lispworks

I've got this implementation of map-backtrace for Lispworks in my cl-sentry-client library:
#+lispworks
(defun trivial-backtrace::impl-map-backtrace (fn)
  "On Lispworks, trivial-backtrace:map-backtrace is unavailable. Maybe
move this to trivial-backtrace in the future"
  (mp:map-process-backtrace
   mp:*current-process*
   (lambda (frame)
     (funcall
      fn
      (trivial-backtrace::make-frame
       :func frame
       :source-filename (let* ((locations (dspec:find-dspec-locations frame))
                               (loc (cadr (car locations))))
                          (if (symbolp loc)
                              loc
                              (namestring loc)))
       :source-pos "unknown"
       ;; In theory, we can implement vars. mp:map-process-backtrace
       ;; takes one more undocumented keyword argument :frame-func
       ;; that gets a frame object. In practice it's hard to get
       ;; right, because the objects can have loops.
       :vars nil)))))

You can add, or I can make a pull-request if you are interested.
Thanks.

If you could submit a pull request, that would be great. I’m not actively Lisping right now.

It would also be awesome if you wanted to take over the library completely :-).


Add quick fix for avoid_unnecessary_containers

The fix should remove the unnecessary Container from the widget structure.

Note that this is effectively FlutterRemoveWidget, which is currently only exposed as an assist.


Line chart axes do not handle negative values

Values are rendered in the line, but axis doesn't adjust to fit the values

#12 fixes this (and more!)


Explanation for choosing the label

Discussed in https://github.com/nikpivkin/auto-label/discussions/2

Originally posted by nikpivkin November 29, 2023
The action should leave a comment under issue/PR/discussion why this or that label was choosing. To do this, change the prompt and ask ChatGPT to return json with labels and comments.
Example json:
{
  "labels": [
    {
      "id": 1,
      "name": "bug",
      "justification": "Found a bug in the code."
    },
    {
      "id": 2,
      "name": "enhancement",
      "justification": "Proposing an enhancement to the functionality."
    },
    {
      "id": 3,
      "name": "question",
      "justification": "A question that requires clarification."
    }
  ],
  "justification": "General justification for the label choices by ChatGPT."
}

Closed via #9


Cannot use UIApplicationShortcutItemIconFile in PGB

Hi,
First of all - great plugin. Works great, also via PGB.
However, one thing which does not work (or I am not managing to get it working) is the definition of custom icons via UIApplicationShortcutItemIconFile.
I include the plugin via my config.xml:
<plugin name="cordova-plugin-privacyscreen" spec="https://github.com/devgeeks/PrivacyScreenPlugin.git" source="git" />
Furthermore I adjust the .plist (again via  config.xml):
<gap:config-file platform="ios" parent="UIApplicationShortcutItems"> 	<array> 		<dict> 			<key>UIApplicationShortcutItemIconType</key> 			<string>UIApplicationShortcutIconTypeCloud</string> 			<key>UIApplicationShortcutItemTitle</key> 			<string>Cloud</string> 			<key>UIApplicationShortcutItemSubtitle</key> 			<string>Awesome subtitle</string> 			<key>UIApplicationShortcutItemType</key> 			<string>eyefromplist</string> 		</dict> 		<dict> 			<key>UIApplicationShortcutItemIconType</key> 			<string>UIApplicationShortcutIconTypeCompose</string> 			<key>UIApplicationShortcutItemTitle</key> 			<string>Compose</string> 			<key>UIApplicationShortcutItemSubtitle</key> 			<string>Foo bar</string> 			<key>UIApplicationShortcutItemType</key> 			<string>compose</string> 		</dict> 		<dict> 			<key>UIApplicationShortcutItemIconFile</key> 			<string>VIP</string> 			<key>UIApplicationShortcutItemTitle</key> 			<string>Virtual Promoter</string> 			<key>UIApplicationShortcutItemSubtitle</key> 			<string>Pin a picture</string> 			<key>UIApplicationShortcutItemType</key> 			<string>pinpicture</string> 		</dict> 	</array> </gap:config-file>
The file VIP.png is stored in the root folder of the PGB zip - however the shortcut menu does not show the image (it shows the entry in general but not the image).
Any ideas?
Thanks in advance.

It doesn't work when in the www folder, it needs to be in the resources bundle which AFAIK is not possible on PhoneGap Build.


Proto documentation needed

Just wanted to get a heads up on when we can expect documentation for using the Proto files directly?
I know that protos just came out last week, however given the timeline to deprecation of reg commands and given that a lot of vehicles now only accept signed commands is important to get this documentation available to developers as soon as possible, especially those who have 3rd party apps with large existing user-base/fleet.

Any update to this?

Draft is in internal review.

Any updates @sethterashima ?

Protocol spec added in https://github.com/teslamotors/vehicle-command/pull/142. Feedback is welcome.


:dojo should retain buffer until request finishes

I remember at some point a crash would leave your input where it was to let you fix it, instead of accepting the input into the history.
Similarly, a blocked dojo request should show a spinner over the entered command, making it obvious why your shell is rejecting input. And perhaps accept ^C instead of backspace to cancel, @cgyarvin?

I guess a specific thing this is blocked on is deferred %nice.

Closing this one as I think it's a bit too idiosyncratic to be useful more broadly.

Disagree that this is idiosyncratic, it concerns all asynchronous shell commands.

"deferred %nice" (nowadays, %coup) is still not a thing, though there's been recent interest in reviving it.


Zeus crashes on start

Using
zeus v0.15.4
rvm 1.26.11
ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-darwin14]
When I try to run Zeus Start, the following happens:

When I run zeus s to see backtrace I get the following
/Users/DN/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/psych/parser.rb:33:in `<class:Parser>': superclass mismatch for class Mark (TypeError)
	from /Users/DN/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/psych/parser.rb:32:in `<module:Psych>'
	from /Users/DN/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/psych/parser.rb:1:in `<top (required)>'
	from /Users/DN/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/psych.rb:7:in `require'
	from /Users/DN/.rvm/rubies/ruby-2.2.2/lib/ruby/2.2.0/psych.rb:7:in `<top (required)>'
	from /Users/DN/.rvm/gems/ruby-2.2.2@viewthespace/gems/activesupport-3.2.22/lib/active_support/ordered_hash.rb:2:in `require'
	from /Users/DN/.rvm/gems/ruby-2.2.2@viewthespace/gems/activesupport-3.2.22/lib/active_support/ordered_hash.rb:2:in `<top (required)>'
	from /Users/DN/.rvm/gems/ruby-2.2.2@viewthespace/gems/activesupport-3.2.22/lib/active_support/ordered_options.rb:1:in `require'
	from /Users/DN/.rvm/gems/ruby-2.2.2@viewthespace/gems/activesupport-3.2.22/lib/active_support/ordered_options.rb:1:in `<top (required)>'
	from /Users/DN/.rvm/gems/ruby-2.2.2@viewthespace/gems/railties-3.2.22/lib/rails/configuration.rb:2:in `require'
	from /Users/DN/.rvm/gems/ruby-2.2.2@viewthespace/gems/railties-3.2.22/lib/rails/configuration.rb:2:in `<top (required)>'
	from /Users/DN/.rvm/gems/ruby-2.2.2@viewthespace/gems/railties-3.2.22/lib/rails/railtie.rb:2:in `require'
	from /Users/DN/.rvm/gems/ruby-2.2.2@viewthespace/gems/railties-3.2.22/lib/rails/railtie.rb:2:in `<top (required)>'
	from /Users/DN/.rvm/gems/ruby-2.2.2@viewthespace/gems/railties-3.2.22/lib/rails/engine.rb:1:in `require'
	from /Users/DN/.rvm/gems/ruby-2.2.2@viewthespace/gems/railties-3.2.22/lib/rails/engine.rb:1:in `<top (required)>'
	from /Users/DN/.rvm/gems/ruby-2.2.2@viewthespace/gems/railties-3.2.22/lib/rails/plugin.rb:1:in `require'
	from /Users/DN/.rvm/gems/ruby-2.2.2@viewthespace/gems/railties-3.2.22/lib/rails/plugin.rb:1:in `<top (required)>'
	from /Users/DN/.rvm/gems/ruby-2.2.2@viewthespace/gems/railties-3.2.22/lib/rails/application.rb:3:in `require'
	from /Users/DN/.rvm/gems/ruby-2.2.2@viewthespace/gems/railties-3.2.22/lib/rails/application.rb:3:in `<top (required)>'
	from /Users/DN/.rvm/gems/ruby-2.2.2@viewthespace/gems/railties-3.2.22/lib/rails.rb:10:in `require'
	from /Users/DN/.rvm/gems/ruby-2.2.2@viewthespace/gems/railties-3.2.22/lib/rails.rb:10:in `<top (required)>'
	from /Users/DN/.rvm/gems/ruby-2.2.2@viewthespace/gems/railties-3.2.22/lib/rails/all.rb:1:in `require'
	from /Users/DN/.rvm/gems/ruby-2.2.2@viewthespace/gems/railties-3.2.22/lib/rails/all.rb:1:in `<top (required)>'
	from /Users/DN/.rvm/gems/ruby-2.2.2@viewthespace/gems/zeus-0.15.4/lib/zeus/rails.rb:92:in `require'
	from /Users/DN/.rvm/gems/ruby-2.2.2@viewthespace/gems/zeus-0.15.4/lib/zeus/rails.rb:92:in `block in boot'
	from /Users/DN/.rvm/gems/ruby-2.2.2@viewthespace/gems/zeus-0.15.4/lib/zeus/rails.rb:91:in `each'
	from /Users/DN/.rvm/gems/ruby-2.2.2@viewthespace/gems/zeus-0.15.4/lib/zeus/rails.rb:91:in `boot'
	from /Users/DN/.rvm/gems/ruby-2.2.2@viewthespace/gems/zeus-0.15.4/lib/zeus.rb:200:in `run_action'
	from /Users/DN/.rvm/gems/ruby-2.2.2@viewthespace/gems/zeus-0.15.4/lib/zeus.rb:74:in `block (2 levels) in boot_steps'
	from /Users/DN/.rvm/gems/ruby-2.2.2@viewthespace/gems/zeus-0.15.4/lib/zeus/load_tracking.rb:7:in `features_loaded_by'
	from /Users/DN/.rvm/gems/ruby-2.2.2@viewthespace/gems/zeus-0.15.4/lib/zeus.rb:73:in `block in boot_steps'
	from /Users/DN/.rvm/gems/ruby-2.2.2@viewthespace/gems/zeus-0.15.4/lib/zeus.rb:56:in `catch'
	from /Users/DN/.rvm/gems/ruby-2.2.2@viewthespace/gems/zeus-0.15.4/lib/zeus.rb:56:in `boot_steps'
	from /Users/DN/.rvm/gems/ruby-2.2.2@viewthespace/gems/zeus-0.15.4/lib/zeus.rb:48:in `go'
	from -e:1:in `<main>'

I've been trying to figure this out for a while. Any help would be greatly appreciated.

Just a hunch, but can you check what YAML versions zeus and the rails app are loading? You can check the version used by Rails by running rails console (without zeus) and checking puts YAML::VERSION. The global ruby version of YAML can be obtained by checking gem list psych using the same version that was used to install/run zeus.

@kgrz the version used by rails is 2.0.8
Running gem list psych in the same directory lists two versions. Here is the output:
*** LOCAL GEMS ***
psych (2.0.15, 2.0.8)

uninstalling psych 2.0.15 did the trick! Thanks @kgrz !

🎉

This should be fixed by https://github.com/burke/zeus/pull/530/files

I'm getting the same issue, but I only have one version installed.  I have the latest version of Zeus installed and the latest version of Psych

Since this is quite old and I can't reproduce anymore I'm gonna close this, feel free to reopen if needed.