open-last-project disable "new file" feature

According to this issue I cretaed on the main Atom project, it seems like open-last-project disable the ability to create a new file.
When I disabled this package, it fixed my issue.

I rollbacked my package, replacing main.coffee and open-last-project.coffee files by their previous version and it now works fine.

Can you confirm this issue after opening
the dev tools (CTRL+SHIFT+I or Top Toolbar View->Developer->Toggle Developer Mode) and then running localStorage.removeItem('open-last-project') and restarting fixes your problem?

I've got the same problem, namely cannot create a new file with Atom 182 + 0.3.1 open-last-project. Just got an error when trying to create a new file. Disable open-last-project and can create files again (but not remember the project tabs).

@jeffmcneill That's interesting, I've been using Open-Last-Project for a lot of time without a problem, Can you confirm that you have the same problem with Atom v0.179?
Atom itself has been having some problems since v0.180

I've tried with Atom v0.179 and the same problem with open-last-project 0.3.1, I cannot create a new file. I moved back to 0.2.2 and it doesn't work (but I can create new files). Tried launching from browser and command line.
Attaching screenshots of 0.3.1 vs. 0.2.2 file differences:

@jeffmcneill Do you see any sort of error or something in Atom or the developer console?
Normally if an event handler throws error, it aborts further execution of the event.

@jeffmcneill @TouPye I've pushed a possible fix in my repo, They are in the Pull Request #27
Because I wasn't able to reproduce the issue myself, It would be great if you would try it for me and tell me how it goes
cd .atom/packages
rm -rf open-last-project
git clone https://github.com/steelbrain/atom-open-last-project open-last-project

Then Open Atom and try to create a new file again.

@steelbrain @TouPye I'm going to follow the directions from benogle where he discusses atom already remembering tabs when launching from directories with command atom .
see: https://github.com/atom/atom/issues/1603
This should be in core at some point.

@jeffmcneill He doesn't really discuss about atom remembering tabs, He discusses about Atom's [De]Serialization manager, Where you save your serialization state on exit and when you open atom within a directory, that directory's serialization state is then given back to the packages allowing them to re-open the same files.
I gave it a try once, but couldn't use it because it only works when you launch atom from that directory, and when you set the project path programatically (that's what open-last-project) does, You don't get that info, making it unusable.

@steelbrain I tried what you ask and here are the resultst :
In the dev tool, when I input localStorage.removeItem('open-last-project') console returns me undefined then when I restart Atom, nothing have changed.
Then, I cloned your repo as you said. I can create a new file, but it doesn't save the last project, and I can't open a new folder (treeview is locked on C:\Users\Pierre\AppData\Local\atom)
Once again, I rollbacked main.coffee and open-last-project.coffee to the (currently) 4days ago commit (called "Revert use of Atom Serialization") and it works perfectly.

@TouPye What If I told you that it's the latest commit in this repo, You only rolled back the package.json's version and no functionality.
This is super weird.

@steelbrain I'm talking about this one

@TouPye The only API related change after that is atom.project.setPath instead of atom.project.setPaths https://github.com/danielmahon/atom-open-last-project/pull/27/files#diff-6a556ba425d22e307675101c5806db06R19

Guys I think I just fixed it. Can someone confirm by checking out HEAD of my repo?

Im checking it out right now

this is still a problem, new files seems to be working but new file in new window activates open-last-project which it shouldnt, we need to check for something other than just atom.project.getPath

@danielmahon It's actually an Atom thing, They're working on adding support for multiple folders to tree view.
and Because it's a bit unstable at the moment, I am not sure what the problem. I added some verbosity and I found out that loadProject is not really executed when a new window is opened.
and about that atom.project.getPath I have added a timeout to it now so it'll wait for atom to initialize properly.

@steelbrain ok, figured it out, we were using atom.workspace.eachEditor as an iterator...its a disposable, so I changed that to atom.workspace.getTextEditors().forEach

there are definitely some quirky things going on with the new multiple project tree view, even with open-last-project disabled. for example cmd-shift-o now opens a new window with both the current project and the new one


WIP: findComponent edge cases

Hi all! This is a bug write-up and I would like some feedback from everyone.
TL;DR is findComponent seems very difficult support. I could be wrong but either way here is my findings and some options.
The current implementation very buggy (to the point it isn't really useful). See this issue for some context: https://github.com/vuejs/vue-test-utils-next/issues/180
I rewrote the findVNodes function to covert some of the edge cases. How it works: basically all components have the concept of a subTree, which stores the components VDOM state. We recurse down each level via subTree or children. It works for some cases, but not for others. Here are the cases I cannot find a solution for:

functional components. No instance, so you cannot findComponent them, or at least when you do find them you cannot get the instance, which means no VueWrapper. I found a fix for this in this PR. But, since there is no instance, you cannot access .vm and all the stuff you would expect (like props etc). We could return a DOMWrapper, but this feels wrong. Users will expect findComponent to find a component. The whole point of splitting find and  findComponent` was to emphasis the difference in the two.
slots and inline templates. These is the real blocker here! You can see how I access slot content in this this PR.  Basically, when using slots and components with inline templates, the subTree is different and there seems not way to get the instance via recursing down.

Some (not all) these issues seem to go away when we use SFC (via vue-jest). I guess we need to dig deeper into how Vue compiles things. The original issue in #180 is fixed by using SFCs. 🤷♂ Interesting. Other are not.
Here are my proposed solutions:

add an additional wrapper. This would something like FunctionalWrapper that returns the non-instance with some limited methods we can support (eg, html() and attributes for static HTML attributes). Not ideal.
dive deeper and use @vue/compiler-sfc to compile all non-SFC components to SFCs. This seems it might work. This is how vue-jest works and pre-compiled SFCs seem not to have the same caveats. This would be a long term goal, at least if I need to write the code (I also need to focus on other bugs, vue-jest, VTU v1...).
(my favorite solution) until we figure out how to solve the problems for non SFC components, put a warning that says "findComponent currently only supports SFCs. Non SFC support is experimental. We are working on supporting all manner of components". The reason I like this is so I don't have to keep telling people about work-arounds and triaging issues about the same thing. I'd much prefer a library with limitations that works really well, than one without limitations that doesn't. It feels more polished.

Tagging all the people who have expressed interested in contributing to and improving VTU in the last few weeks. Please give me your input!
Here is a screenshot explaining the problem:

@afontcu @dobromir-hristov @JeremyWuuuuu @JessicaSachs @cexbrayat @Jokcy @AngeloGulina @AtofStryker

By now, I am trying to undestand the main logic of VTU, so I copied the findAllVnodes function to my demo code and debug it. I find in the ComponentA, ComponentB demo, if I add some logic to findAllVnodes I can find all vnode and proxy I needed:
 aggregateChildren(nodes, node.children)
    if (node.component) {
      // match children of the wrapping component
      aggregateChildren(nodes, node.component.subTree.children)
      aggregateChildren(nodes, [node.component.subTree])
      if (node.component.subTree.component) {
        aggregateChildren(
          nodes,
          node.component.subTree.component.subTree.children,
        )
      }
    }

the main difference is I tried  node.component.subTree.component.subTree.children and node.component.subTree, now I can find App, Main, Comp1 and Comp2.
I don't know whether it will help, I still trying hard to understand the code.

Interesting - you can't always assume component will exist, or subTree or children, but still good progress.
I think a recursive solution (like my PR) will make this much easier to understand. Either way - my next question is what do you get when you find Comp2? (I think ComponentB in your example? Are you using template, render or setup? It seems to make a difference).
If you can access the vnode, that is a good start. Did you try with an example using template and slots?

@lmiller1990 I try to explain it.
what we need to know is the difference between subTree and children
<Comp>
name
</Comp>

name
 is children of Comp
{
  name: 'Comp',
  render() {
    return
<slot />

  }
}

<slot />
 is subTree of Comp
So in the this demo:
const Comp1 = defineComponent({
  name: 'Comp1',
  setup() {
    return () =>
Comp1

  },
})

const Comp2 = defineComponent({
  name: 'Comp2',
  setup() {
    return () =>
Comp2

  },
})

const Main = defineComponent({
  name: 'Main',
  setup() {
    return () => (

        <Comp1 />
        <Comp2 />

    )
  },
})

const App = defineComponent({
  name: 'App',
  setup() {
    return () =>
  },
})

if we render App, Main is subTree of App, we won't find Main in any children of any vnode. And also Main has it's own subTree, the will be in the subTree of Main, so if we ignore subTree from vnode of App, we won't find and Component here.
I tried my demo with setup and jsx, I will try render later.

@lmiller1990 I try to explain it.
what we need to know is the difference between subTree and children
<Comp>
name
</Comp>

name
 is children of Comp
{
  name: 'Comp',
  render() {
    return
<slot />

  }
}

<slot />
 is subTree of Comp
So in the this demo:
const Comp1 = defineComponent({
  name: 'Comp1',
  setup() {
    return () =>
Comp1

  },
})

const Comp2 = defineComponent({
  name: 'Comp2',
  setup() {
    return () =>
Comp2

  },
})

const Main = defineComponent({
  name: 'Main',
  setup() {
    return () => (

        <Comp1 />
        <Comp2 />

    )
  },
})

const App = defineComponent({
  name: 'App',
  setup() {
    return () =>
  },
})

if we render App, Main is subTree of App, we won't find Main in any children of any vnode. And also Main has it's own subTree, they will be in the subTree of Main, so if we ignore subTree from vnode of App(which is vnode of Main), we won't find and Component here.
I tried my demo with setup and jsx, I will try render later.

forget it, it's not that simple...

It seems someone smarter than me has figured this out https://github.com/vuejs/vue-test-utils-next/pull/188
I will close this for now. I am sure we are likely still missing some edge cases. Anyway, this was very frustrating, but I am glad we are finding all these bugs before Vue 3 is official released. Great job everyone who was involved in this discussion and has contributed so far!


Word

This page mentions Word, but as far as I can see, Word doesn't support Content Add-ins.  Will this change?

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

ID: 39d23706-196e-a6e8-4323-c116de27ae2f
Version Independent ID: dd7cee92-5bc9-5bfe-1e2a-c05bc3810289
Content: Content Office Add-ins
Content Source: docs/design/content-add-ins.md
Product: office 365
GitHub Login: @o365devx
Microsoft Alias: o365devx

@dansoper thanks for reporting this; we'll look into it and update the docs accordingly.

@kbrandl Apologies for jumping on the thread but I'm after an answer to the second part of @dansoper 's question, appreciating that it may well have been rhetorical. Is there any prospect of content add-ins coming to Word? Would you or anyone else know if it is on the office dev roadmap?
As an aside does MSFT have any Developer Relations folks for office development? We are building out a capability based on content add-ins and task panels and we would love to engage with MSFT about our experiences so far and provide feedback on where we think it could be improved.

@sgmccli thanks for your interest in Office Add-ins development. We're unfortunately unable to provide any specifics about if/when Content Add-ins will be supported in Word, but we'd love to hear your feedback about your experience building upon the Office Add-ins platform. If you can please use this form to provide your contact info, I'll reach out to you at the email address you provide to coordinate logistics for an online meeting sometime soon.


Repository explore alphabetically order respect owner name

similar to #30784 but only for the repo explore page

@ silverwind - requested you as you did had a look at the mentoned pull too :)


feat: add delete method

Proposed Changes

add delete method

Readiness Checklist
Author/Contributor

[ ] If documentation is needed for this change, has that been included in this pull request
[ ] Remember to check if code coverage decrease, if so, please implement the necessary tests

Reviewing Maintainer

[ ] Label as breaking if this is a large fundamental change
[ ] Label as either automation, bug, documentation, enhancement, infrastructure, or performance

:tada: This PR is included in version 2.2.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


neo-storm compile avm testinvoke error on neo-python.

Description of the issue
neo-storm compile avm testinvoke error on neo-python.

avm:
https://cdn.discordapp.com/attachments/409613754016464907/495164763974926337/main.avm
golang:
https://cdn.discordapp.com/attachments/409613754016464907/495164733155180545/main.go
Type (put an x sign in the square brackets)

[ ] bug report

@BlackTrace This should now be fixed with the latest version rc-6


Request: Default tolerance settings

This may already be a thing, but I'm looking to globally configure tolerance settings for screenshots (either in the vrt.json or elsewhere.)
Is there any desire for a PR for something like that?

@RyKilleen thanks for the ticket!
yeah, I'm considering to add this kind of a global config
but not sure about diffTollerance in particular
tbh I believe it should always stay in 0
could you elaborate the case when you need this kind of a setting?


[firebase_core] new flutter app with latest won't build on iOS

Bug report
Describe the bug
Trying to build a flutter app.
Steps to reproduce
Steps to reproduce the behavior:
flutter run
Expected behavior
To build successfully with firebase_core: 2.10.0
Sample project
tonyblum@Tonys-MacBook-Pro crooked % flutter clean
flutter pub get
flutter run
Cleaning Xcode workspace...                                        11.0s
Cleaning Xcode workspace...                                      1,883ms
Deleting build...                                                   50ms
Deleting .dart_tool...                                               1ms
Deleting Generated.xcconfig...                                       0ms
Deleting flutter_export_environment.sh...                            0ms
Deleting Flutter.podspec...                                          0ms
Deleting ephemeral...                                                0ms
Deleting ephemeral...                                                0ms
Deleting ephemeral...                                                0ms
Deleting .flutter-plugins-dependencies...                            0ms
Deleting .flutter-plugins...                                         0ms
Running "flutter pub get" in crooked...
Resolving dependencies...

async 2.10.0 (2.11.0 available)
boolean_selector 2.1.1
characters 1.2.1 (1.3.0 available)
clock 1.1.1
collection 1.17.0 (1.17.1 available)
fake_async 1.3.1
firebase_core 2.10.0
firebase_core_platform_interface 4.6.0
firebase_core_web 2.3.0
flutter 0.0.0 from sdk flutter
flutter_lints 2.0.1
flutter_test 0.0.0 from sdk flutter
flutter_web_plugins 0.0.0 from sdk flutter
js 0.6.5 (0.6.7 available)
lints 2.0.1 (2.1.0 available)
matcher 0.12.13 (0.12.15 available)
material_color_utilities 0.2.0 (0.3.0 available)
meta 1.8.0 (1.9.1 available)
path 1.8.2 (1.8.3 available)
plugin_platform_interface 2.1.4
sky_engine 0.0.99 from sdk flutter
source_span 1.9.1 (1.10.0 available)
stack_trace 1.11.0
stream_channel 2.1.1
string_scanner 1.2.0
term_glyph 1.2.1
test_api 0.4.16 (0.5.2 available)
vector_math 2.1.4
Changed 28 dependencies!
Launching lib/main.dart on Tony’s iPhone (3) in debug mode...
Updating project for Xcode compatibility.
Upgrading Runner.xcscheme
Automatically signing iOS for device deployment using specified development team in Xcode project: 6XBF34DN79
Running pod install...                                             978ms
Running Xcode build...
└─Compiling, linking and signing...                        700ms
Xcode build done.                                           39.1s
Failed to build iOS app
Could not build the precompiled application for the device.
Error (Xcode): redefinition of module 'Firebase'
/Users/tonyblum/VSProjects/crooked/ios/Pods/Firebase/CoreOnly/Sources/module.modulemap:0:7

Error (Xcode): failed to emit precompiled header
'/Users/tonyblum/Library/Developer/Xcode/DerivedData/Runner-baradpfmqbgzuzftyxqqjqtsblgz/Build/Intermediates.noindex/PrecompiledHeaders/Runner-Bridging-Header-swift_1LM2OIKN6SA
1K-clang_3NZI4WFCBD9G3.pch' for bridging header '/Users/tonyblum/VSProjects/crooked/ios/Runner/Runner-Bridging-Header.h'
Error launching application on Tony’s iPhone (3).
tonyblum@Tonys-MacBook-Pro crooked % cd ios
tonyblum@Tonys-MacBook-Pro ios % pod cache clean —all
[!] No cache for pod named —all found
tonyblum@Tonys-MacBook-Pro ios % pod repo update
Updating spec repo cocoapods
Updating spec repo trunk
――― MARKDOWN TEMPLATE ―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
Command
/usr/local/bin/pod repo update

Report

What did you do?

What did you expect to happen?

What happened instead?

Stack
   CocoaPods : 1.12.1
        Ruby : ruby 2.6.10p210 (2022-04-12 revision 67958) [universal.arm64e-darwin22]
    RubyGems : <IP_ADDRESS>
        Host : macOS 13.3.1 (22E261)
       Xcode : 14.3 (14E222b)
         Git : git version 2.39.2 (Apple Git-143)
Ruby lib dir : /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib
Repositories : cocoapods - git - https://github.com/CocoaPods/Specs.git @ 74912ae0f4c7697b64c06ee27359864277a40370

               trunk - CDN - https://cdn.cocoapods.org/

Plugins
cocoapods-deintegrate : 1.0.5
cocoapods-plugins     : 1.0.0
cocoapods-search      : 1.0.1
cocoapods-trunk       : 1.6.0
cocoapods-try         : 1.2.0

Podfile
# Uncomment this line to define a global platform for your project
platform :ios, '12.0'

# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'

project 'Runner', {
  'Debug' => :debug,
  'Profile' => :release,
  'Release' => :release,
}

def flutter_root
  generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), __FILE__)
  unless File.exist?(generated_xcode_build_settings_path)
    raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
  end

  File.foreach(generated_xcode_build_settings_path) do |line|
    matches = line.match(/FLUTTER_ROOT\=(.*)/)
    return matches[1].strip if matches
  end
  raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
end

require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)

flutter_ios_podfile_setup

target 'Runner' do
  use_frameworks!
  use_modular_headers!

  flutter_install_all_ios_pods File.dirname(File.realpath(__FILE__))
end

post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
    target.build_configurations.each do |config|
      config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
        '$(inherited)',
        'FIR_PACKAGE='
      ]
    end
  end
end

Error
LoadError - dlopen(/Library/Ruby/Gems/2.6.0/gems/ffi-1.15.5/lib/ffi_c.bundle, 0x0009): tried: '/Library/Ruby/Gems/2.6.0/gems/ffi-1.15.5/lib/ffi_c.bundle' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')), '/System/Volumes/Preboot/Cryptexes/OS/Library/Ruby/Gems/2.6.0/gems/ffi-1.15.5/lib/ffi_c.bundle' (no such file), '/Library/Ruby/Gems/2.6.0/gems/ffi-1.15.5/lib/ffi_c.bundle' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64')) - /Library/Ruby/Gems/2.6.0/gems/ffi-1.15.5/lib/ffi_c.bundle
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
/Library/Ruby/Gems/2.6.0/gems/ffi-1.15.5/lib/ffi.rb:5:in `rescue in <top (required)>'
/Library/Ruby/Gems/2.6.0/gems/ffi-1.15.5/lib/ffi.rb:2:in `<top (required)>'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
/Library/Ruby/Gems/2.6.0/gems/ethon-0.16.0/lib/ethon.rb:3:in `<top (required)>'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
/Library/Ruby/Gems/2.6.0/gems/typhoeus-1.4.0/lib/typhoeus.rb:2:in `<top (required)>'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.12.1/lib/cocoapods-core/cdn_source.rb:440:in `download_typhoeus_impl_async'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.12.1/lib/cocoapods-core/cdn_source.rb:372:in `download_and_save_with_retries_async'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.12.1/lib/cocoapods-core/cdn_source.rb:365:in `download_file_async'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.12.1/lib/cocoapods-core/cdn_source.rb:338:in `download_file'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.12.1/lib/cocoapods-core/cdn_source.rb:78:in `deprecated_local_podspecs'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.12.1/lib/cocoapods-core/cdn_source.rb:60:in `preheat_existing_files'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-core-1.12.1/lib/cocoapods-core/cdn_source.rb:257:in `update'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.12.1/lib/cocoapods/sources_manager.rb:144:in `block (3 levels) in update'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.12.1/lib/cocoapods/user_interface.rb:64:in `section'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.12.1/lib/cocoapods/sources_manager.rb:143:in `block (2 levels) in update'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.12.1/lib/cocoapods/sources_manager.rb:142:in `each'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.12.1/lib/cocoapods/sources_manager.rb:142:in `block in update'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.12.1/lib/cocoapods/sources_manager.rb:140:in `open'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.12.1/lib/cocoapods/sources_manager.rb:140:in `update'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.12.1/lib/cocoapods/command/repo/update.rb:23:in `run'
/Library/Ruby/Gems/2.6.0/gems/claide-1.1.0/lib/claide/command.rb:334:in `run'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.12.1/lib/cocoapods/command.rb:52:in `run'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.12.1/bin/pod:55:in `<top (required)>'
/usr/local/bin/pod:23:in `load'
/usr/local/bin/pod:23:in `<main>'

――― TEMPLATE END ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
[!] Oh no, an error occurred.
Search for existing GitHub issues similar to yours:
https://github.com/CocoaPods/CocoaPods/search?q=dlopen(%2FLibrary%2FRuby%2FGems%2F2.6.0%2Fgems%2Fffi-1.15.5%2Flib%2Fffi_c.bundle%2C+0x0009)%3A+tried%3A+'%2FLibrary%2FRuby%2FGems%2F2.6.0%2Fgems%2Fffi-1.15.5%2Flib%2Fffi_c.bundle'+(mach-o+file%2C+but+is+an+incompatible+architecture+(have+'x86_64'%2C+need+'arm64'))%2C+'%2FSystem%2FVolumes%2FPreboot%2FCryptexes%2FOS%2FLibrary%2FRuby%2FGems%2F2.6.0%2Fgems%2Fffi-1.15.5%2Flib%2Fffi_c.bundle'+(no+such+file)%2C+'%2FLibrary%2FRuby%2FGems%2F2.6.0%2Fgems%2Fffi-1.15.5%2Flib%2Fffi_c.bundle'+(mach-o+file%2C+but+is+an+incompatible+architecture+(have+'x86_64'%2C+need+'arm64'))+-+%2FLibrary%2FRuby%2FGems%2F2.6.0%2Fgems%2Fffi-1.15.5%2Flib%2Fffi_c.bundle&type=Issues
If none exists, create a ticket, with the template displayed above, on:
https://github.com/CocoaPods/CocoaPods/issues/new
Be sure to first read the contributing guide for details on how to properly submit a ticket:
https://github.com/CocoaPods/CocoaPods/blob/master/CONTRIBUTING.md
Don't forget to anonymize any private data!
Looking for related issues on cocoapods/cocoapods...
Searching for inspections failed: undefined method `map' for nil:NilClass
tonyblum@Tonys-MacBook-Pro ios % pod install
Analyzing dependencies
firebase_core: Using Firebase SDK version '10.7.0' defined in 'firebase_core'
Downloading dependencies
Generating Pods project
Integrating client project
Pod installation complete! There are 2 dependencies from the Podfile and 7 total pods installed.
[!] CocoaPods did not set the base configuration of your project because your project already has a custom config set. In order for CocoaPods integration to work at all, please either set the base configurations of the target Runner to Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig or include the Target Support Files/Pods-Runner/Pods-Runner.profile.xcconfig in your build configuration (Flutter/Release.xcconfig).
[!] Your project does not explicitly specify the CocoaPods master specs repo. Since CDN is now used as the default, you may safely remove it from your repos directory via pod repo remove master. To suppress this warning please add warn_for_unused_master_specs_repo => false to your Podfile.
tonyblum@Tonys-MacBook-Pro ios % cd ..
tonyblum@Tonys-MacBook-Pro crooked % flutter pub cache clean
This will remove everything inside /Users/tonyblum/.pub-cache.
You will have to run flutter pub get again in each project.
Are you sure? (y/N)? y
Removing pub cache directory /Users/tonyblum/.pub-cache.
tonyblum@Tonys-MacBook-Pro crooked % flutter clean
Running "flutter pub get" in flutter_tools...

Resolving dependencies... (1.0s)
async 2.10.0 (2.11.0 available)
characters 1.2.1 (1.3.0 available)
collection 1.17.0 (1.17.1 available)
js 0.6.5 (0.6.7 available)
lints 2.0.1 (2.1.0 available)
matcher 0.12.13 (0.12.15 available)
material_color_utilities 0.2.0 (0.3.0 available)
meta 1.8.0 (1.9.1 available)
path 1.8.2 (1.8.3 available)
source_span 1.9.1 (1.10.0 available)
test_api 0.4.16 (0.5.2 available)
Got dependencies!
tonyblum@Tonys-MacBook-Pro crooked % flutter run
Launching lib/main.dart on Tony’s iPhone (3) in debug mode...
Automatically signing iOS for device deployment using specified development team in Xcode project: 6XBF34DN79
Running pod install...                                             969ms
Running Xcode build...
└─Compiling, linking and signing...                        565ms
Xcode build done.                                           50.4s
Failed to build iOS app
Could not build the precompiled application for the device.
Error (Xcode): redefinition of module 'Firebase'
/Users/tonyblum/VSProjects/crooked/ios/Pods/Firebase/CoreOnly/Sources/module.modulemap:0:7
Error (Xcode): failed to emit precompiled header
'/Users/tonyblum/Library/Developer/Xcode/DerivedData/Runner-baradpfmqbgzuzftyxqqjqtsblgz/Build/Intermediates.noindex/PrecompiledHeaders/Runner-Bridging-Header-swift_1LM2OIKN6SA
1K-clang_3NZI4WFCBD9G3.pch' for bridging header '/Users/tonyblum/VSProjects/crooked/ios/Runner/Runner-Bridging-Header.h'
Error launching application on Tony’s iPhone (3).

Additional context
Add any other context about the problem here.

Flutter doctor
Run flutter doctor and paste the output below:
tonyblum@Tonys-MacBook-Pro crooked % flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.7.12, on macOS 13.3.1 22E261 darwin-arm64, locale en-CA)
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2022.1)
[✓] VS Code (version 1.77.3)
[✓] Connected device (3 available)
[✓] HTTP Host Availability

• No issues found!

Flutter dependencies
Run flutter pub deps -- --style=compact and paste the output below:
Click To Expand
tonyblum@Tonys-MacBook-Pro crooked % flutter pub deps -- --style=compact
Dart SDK 2.19.6
Flutter SDK 3.7.12
crooked 0.1.0

dependencies:
- firebase_core 2.10.0 [firebase_core_platform_interface firebase_core_web flutter meta]
- flutter 0.0.0 [characters collection js material_color_utilities meta vector_math sky_engine]

dev dependencies:
- flutter_lints 2.0.1 [lints]
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters collection js matcher material_color_utilities meta source_span stream_channel string_scanner term_glyph]

transitive dependencies:
- async 2.10.0 [collection meta]
- boolean_selector 2.1.1 [source_span string_scanner]
- characters 1.2.1
- clock 1.1.1
- collection 1.17.0
- fake_async 1.3.1 [clock collection]
- firebase_core_platform_interface 4.6.0 [collection flutter flutter_test meta plugin_platform_interface]
- firebase_core_web 2.3.0 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- flutter_web_plugins 0.0.0 [flutter js characters collection material_color_utilities meta vector_math]
- js 0.6.5 [meta]
- lints 2.0.1
- matcher 0.12.13 [meta stack_trace]
- material_color_utilities 0.2.0
- meta 1.8.0
- path 1.8.2
- plugin_platform_interface 2.1.4 [meta]
- sky_engine 0.0.99
- source_span 1.9.1 [collection path term_glyph]
- stack_trace 1.11.0 [path]
- stream_channel 2.1.1 [async]
- string_scanner 1.2.0 [source_span]
- term_glyph 1.2.1
- test_api 0.4.16 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph matcher]
- vector_math 2.1.4

Hi @Emaren, did you manually add the block below to your podfile?
target.build_configurations.each do |config|
      config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
        '$(inherited)',
        'FIR_PACKAGE='
      ]
    end

If so, why did you add it?

Hi @Emaren, did you manually add the block below to your podfile?
target.build_configurations.each do |config|
      config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
        '$(inherited)',
        'FIR_PACKAGE='
      ]
    end

If so, why did you add it?

ChatGPT must've led me there as we attempted to troubleshoot why I couldn't build a simple flutter app with firebase. I still can't. And I have 2 apps on the app store. This is my latest attempt:
tonyblum@Tonys-MacBook-Pro crooked % flutter run
Launching lib/main.dart on Tony’s iPhone (2) in debug mode...
Automatically signing iOS for device deployment using specified development team in Xcode project: 6XBF34DN79
Running pod install...                                             962ms
Running Xcode build...
└─Compiling, linking and signing...                        623ms
Xcode build done.                                           29.9s
Failed to build iOS app
Could not build the precompiled application for the device.
Error (Xcode): redefinition of module 'Firebase'
/Users/tonyblum/VSProjects/crooked/ios/Pods/Firebase/CoreOnly/Sources/module.modulemap:0:7
Error (Xcode): could not build module 'Flutter'
/Users/tonyblum/VSProjects/crooked/ios/Runner/GeneratedPluginRegistrant.h:9:8
Error (Xcode): failed to emit precompiled header
'/Users/tonyblum/Library/Developer/Xcode/DerivedData/Runner-baradpfmqbgzuzftyxqqjqtsblgz/Build/Intermediates.noindex/PrecompiledHeaders/Runner-Bridging-Header-swift_1LM2
OIKN6SA1K-clang_3NZI4WFCBD9G3.pch' for bridging header '/Users/tonyblum/VSProjects/crooked/ios/Runner/Runner-Bridging-Header.h'
Error launching application on Tony’s iPhone (2).
and my Podfile:
Uncomment this line to define a global platform for your project
platform :ios, '11.0'
CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'
project 'Runner', {
'Debug' => :debug,
'Profile' => :release,
'Release' => :release,
}
def flutter_root
generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), FILE)
unless File.exist?(generated_xcode_build_settings_path)
raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
end
File.foreach(generated_xcode_build_settings_path) do |line|
matches = line.match(/FLUTTER_ROOT=(.*)/)
return matches[1].strip if matches
end
raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
end
require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)
flutter_ios_podfile_setup
target 'Runner' do
use_frameworks!
use_modular_headers!
flutter_install_all_ios_pods File.dirname(File.realpath(FILE))
end
post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
end
end

Hi @Emaren, please share the sample project that you're facing this issue with so that we can investigate.
Thank you

https://github.com/Emaren/crooked

I ran the code sample that you provided and it worked just fine for me. I also built it for release and it worked with no issues either. I can't see any issue with the iOS files and I have run out ideas on what to check.
Labeling for further insight from the team.


Added new custom cursor for the home page

Fixes Issue🛠
#1051
Closes #
#Added a custom cursor for the home page
Type of Change📄

[x] New feature (non-breaking change which adds functionality)
[x] Style (non-breaking change which improves website style or formatting)

Checklist✅

[x] I am an Open Source contributor
[x] I have performed a self-review of my code

@CodiumAI-Agent /review

Do not create a PR if you are not assigned to an issue @Max3796


Filter blog posts by tag #152

Added filter tag component

Hey @ninman27, is this ready for review and testing?

@stoimenov95  This is paused for now. The focus is on getting the first version of the website ready. The blog section won't be part of it.

Outdated


ResponseBuilder.Example() not outputting indented JSON

Expected Behavior
When I don't use r.Example, I get a correctly formatted string, but it does have the default values that I would like to show the user. I want it to look something like this:
{
"location": {
"latitude": 0,
"longitude": 0,
"name": "string",
"radius": 0
 },
"options": {
"groupByID": false,
"groupByType": false,
"makeSingleID": true,
 "makeSingleType": true,
 "site": "Center",
 "useFlag": true
 }
}
Actual Behavior
If I add my example object like so r.Example("", myObject) I get the following:
{"location":{"name":"Bullseye","latitude":38,"longitude":-120,"radius":250},"options":{"makeSingleID":true,"makeSingleType":true,"groupByID":false,"groupByType":false,"groupBySameWeapon":false,"useFlag":false,"site":"Center"}}
I'm not sure if I am doing wrong but I have tried to use different forms of formatting but it continues to come out flat.
Steps to Reproduce the Problem

Create an Object
Add to ResponseBuilder Example(string myType, object example)

Specifications

Version: 2.2.51-alpha
Project: Nancy.Swagger

I'm not sure I understand. Is the problem that you're passing an object with real data in to the swagger? Because if you don't want it to have real data then just pass an object with the default values?
Is the problem with the formatting? I'm not sure why that would be a concern, json doesn't need to be formatted for readability to be well formed. If you really need to look at the direct json without using swagger-ui or similar, then your browser should be able to render it well enough. If it can't then I find http://jsonviewer.stack.hu/ comes in handy

I am trying to get into a more readable format when it displays on the page. When I don't add example at all it shows up formatted correctly but with the basic data that the user would have to change. I would like for my users to be able to copy and paste the example with some real data but also be able to see it in a good format. This is the part that shows under Response area on swagger-ui.

Is your swagger-ui up to date? It looks like they merged this feature in last year to handle that.

Right now I have the files from dist/ in my project. Should I be doing something else as well?
One thing that I did notice, when I don't add example myself it seems to be put in an array like so
[
...Json example
]
I'm not getting then when injecting my example.

I just tried adding a example, and it was formatted correctly.

The presentation of the data is handled by swagger-ui. The json blob we create doesn't use indentations at all - it's minimized.
Try this url:
http://petstore.swagger.io/?url=http://[YOUR_DOMAIN]/api-docs#
With [YOUR_DOMAIN] being your server name and port. When I tested mine, my url was: http://petstore.swagger.io/?url=http://localhost:52232/api-docs#/Users/PostUsers
If you don't see the problem there, then you should maybe think about getting the latest version of Swagger-UI. (What version do you currently have?).
If it does happen there, share a screen shot please!


Add &self parameter to PolynomialCommitment trait methods

Summary

Problem Definition
LigeroPCS requires the prover & the verifier to do some Merkle tree operations in the non-interactive setting.
Specifically, the prover's commitment is a Merkle root, and the verifier should check well-formedness of such a commitment against the provider proofs (MT paths) for a couple of leaf indices.
We are trying to use a Merkle Tree from crypto-primitives inside the commit method (and equivalently, Path in the check method) - which requires the parties to provide a concrete instantiation of a CRHScheme and TwoToOneCRHScheme.
Currently we can do it like:
impl<..., C> PolynomialCommitment<F, P, S>
    for Ligero<F, C, ...>
where
    ...,
    C: merkle_tree::Config + 'static,
{
...
    fn check<'a>(
        vk: &Self::VerifierKey,
        ...,
        rng: Option<&mut dyn RngCore>,
    ) -> Result<bool, Self::Error>
    where
        Self::Commitment: 'a,
    {
        let mut rng = rng.unwrap();
        // take the first committment
        let labeled_commitment = commitments.into_iter().next().unwrap();
        // IS THERE A BETTER WAY?
        let leaf_hash_params = C::LeafHash::setup(&mut rng).unwrap();
        let two_to_one_params = C::TwoToOneHash::setup(&mut rng).unwrap();
        // well-formedness check internally verifies some merkle paths, which requires passing the params
        Self::well_formedness_check(
            labeled_commitment.commitment(),
            &leaf_hash_params,
            &two_to_one_params,
        );

This looks a bit hacky, because probably the rng parameter wasn't meant to be used for constructing structs that are part of the setup.
A more natural way to do this would be to have
pub struct LigeroPCS<
    F: PrimeField,
    C: Config,
    ...,
> {
    leaf_hash_params: C::LeafHash,
    two_to_one_params: C::TwoToOneHash,
}

and then when we need either of the params, we'd call self.leaf_hash_params, for example. The problem is of course that neither the interface for commit nor check exposes a &self parameter, so there's no way to access parameters from the struct implementing PolynomialCommitment.
Proposal
I propose changing the method signature of the associated PolynomialCommitment methods to include a (non-mutable) &self, e.g.
    /// check but with individual challenges
    fn check<'a>(
        &self,
        vk: &Self::VerifierKey,
        commitments: impl IntoIterator<Item = &'a LabeledCommitment<Self::Commitment>>,
        point: &'a P::Point,
        values: impl IntoIterator<Item = F>,
        proof: &Self::Proof,
        challenge_generator: &mut ChallengeGenerator<F, S>,
        rng: Option<&mut dyn RngCore>,
    ) -> Result<bool, Self::Error>
    where
        Self::Commitment: 'a;

The alternative for this Ligero PC is to have the merkle tree parameters be part of Self::{Verifier,.Commiter}Key, but that introduces a great deal of additional constraints (serialization, Sync etc.) which are cumbersome to enforce on C::LeafHash etc.
@antonio95

For Admin Use

[ ] Not duplicate issue
[ ] Appropriate labels applied
[ ] Appropriate contributors tagged
[ ] Contributor assigned/self-assigned

Why not pass it in the public parameters/commitment/verifying keys?

They impose trait bounds which are not guaranteed on e.g. CRHScheme:
pub trait PCCommitterKey:
    Clone + core::fmt::Debug + CanonicalSerialize + CanonicalDeserialize

You can write a custom impl of those traits for those functions, right? I don't think you need to store CRHScheme inside PCCommitterKey, but rather only CRHScheme::Params, right?

It sort of goes against how we construct every other cryptographic primitive, where we pass in parameters explicitly. The other way to do this would be to add the trait bounds to the CRH traits

Besides, I think that if I want to implement CanonicalSerialize for PCCommitterKey, I'd need to assume that CRHScheme::Params has a CanonicalSerialize trait bound:
#[derive(CanonicalSerialize, CanonicalDeserialize)]
struct LigeroPCVerifierKey<C>
where
    C: Config,
    <<C as Config>::TwoToOneHash as TwoToOneCRHScheme>::Parameters: CanonicalSerialize + other_stuff,
    <<C as Config>::LeafHash as CRHScheme>::Parameters: ...,

or without the derives, if I impl CanonicalSerialize myself, I'd still need to somehow assume I have a way to serialize the Parameters.

So you're saying to add CanonicalSerialize bound etc. to CRHScheme::Parameters: https://github.com/arkworks-rs/crypto-primitives/blob/4b3bdac16443096b26426673bff409d4e78eec94/src/crh/mod.rs#L32:
pub trait CRHScheme {
    type Input: ?Sized;
    type Output: Clone
        + Eq
        + core::fmt::Debug
        + Hash
        + Default
        + CanonicalSerialize
        + CanonicalDeserialize;
    type Parameters: Clone + CanonicalSerialize + others;

Is that what you mean? I could do that, we don't have that many implementors anyway so shouldn't be too much work overhead.

Yes, I think it makes sense because those are things that need to be serialized and deserialized anyway

Ok thanks @Pratyush! Will do that then


Allow multiplying bools

Prerequisites

[X] Write a descriptive title.
[X] Make sure you are able to repro it on the latest released version
[X] Search the existing issues.
[X] Refer to the FAQ.
[X] Refer to Differences between Windows PowerShell 5.1 and PowerShell.

Steps to reproduce
I'd expect multiplying bools to work as another way to do a logical and operation. Esp. because the logical or with "+" already works and when we start with int and multiply the int with bools also works. Just multiplying bools on their own or starting with a bool does not work. This is not just useful in shellgolf, but also to represent a mask or flags.
Expected behavior
PS> $a = $true
PS> $a *= $true
True

Actual behavior
PS> $a = $true
PS> $a *= $true
InvalidOperation: The operation '[System.Boolean] * [System.Boolean]' is not defined.

Error details
Exception             :
    Type        : System.Management.Automation.RuntimeException
    ErrorRecord :
        Exception             :
            Type    : System.Management.Automation.ParentContainsErrorRecordException
            Message : The operation '[System.Boolean] * [System.Boolean]' is not defined.
            HResult : -2146233087
        TargetObject          : True
        CategoryInfo          : InvalidOperation: (True:Boolean) [], ParentContainsErrorRecordException
        FullyQualifiedErrorId : NotADefinedOperationForType
        InvocationInfo        :
            ScriptLineNumber : 1
            OffsetInLine     : 1
            HistoryId        : -1
            Line             : $a *= $true
            PositionMessage  : At line:1 char:1
                               + $a *= $true
                               + ~~~~~~~~~~~
            CommandOrigin    : Internal
        ScriptStackTrace      : at <ScriptBlock>, <No file>: line 1
    TargetSite  :
        Name          : ImplicitOp
        DeclaringType : System.Management.Automation.ParserOps, System.Management.Automation, Version=<IP_ADDRESS>0,
Culture=neutral, PublicKeyToken=31bf3856ad364e35
        MemberType    : Method
        Module        : System.Management.Automation.dll
    Message     : The operation '[System.Boolean] * [System.Boolean]' is not defined.
    Data        : System.Collections.ListDictionaryInternal
    Source      : System.Management.Automation
    HResult     : -2146233087
    StackTrace  :
   at System.Management.Automation.ParserOps.ImplicitOp(Object lval, Object rval, String op, IScriptExtent
errorPosition, String errorOp)
   at CallSite.Target(Closure, CallSite, Object, Boolean)
   at System.Dynamic.UpdateDelegates.UpdateAndExecute2[T0,T1,TRet](CallSite site, T0 arg0, T1 arg1)
   at System.Management.Automation.Interpreter.DynamicInstruction`3.Run(InterpretedFrame frame)
   at System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.Run(InterpretedFrame frame)
TargetObject          : True
CategoryInfo          : InvalidOperation: (True:Boolean) [], RuntimeException
FullyQualifiedErrorId : NotADefinedOperationForType
InvocationInfo        :
    ScriptLineNumber : 1
    OffsetInLine     : 1
    HistoryId        : -1
    Line             : $a *= $true
    PositionMessage  : At line:1 char:1
                       + $a *= $true
                       + ~~~~~~~~~~~
    CommandOrigin    : Internal
ScriptStackTrace      : at <ScriptBlock>, <No file>: line 1

Environment data
Name                           Value
----                           -----
PSVersion                      7.4.0
PSEdition                      Core
GitCommitId                    7.4.0
OS                             Microsoft Windows 10.0.17763
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

Visuals
No response

[bool] instances are consistently treated as [int] in arithmetic operations - $true becomes 1, $false becomes 0, except - surprisingly - in multiplication (*).
Therefore, to resolve this issue in a manner consistent with the  other operators, * should exhibit the same behavior, i.e., behave like [int] $bool1 * [int] $bool2; to spell it out:
$true * $true # -> 1 - same as: 1 * 1
$true * $false # -> 0 - same as: 1 * 0
$false * $true # -> 0 - same as: 0 * 1
$false * $false # -> 0 - same as: 0 * 0

@agowa, I've opened a feature request to get * implemented for [bool] operands as outlined above:

#20831

Unless you disagree with my analysis and my clarification in #20817 (now more completely fleshed out in https://github.com/MicrosoftDocs/PowerShell-Docs/issues/10688), I suggest closing both issues.

closing this in favour of #20831 as a duplicate as that issue is more fleshed out than this one


Fix variable usage in increment_build_number call

Checklist

[ ] I've run bundle exec rspec from the root directory to see all new and existing tests pass
[ ] I've followed the fastlane code style and run bundle exec rubocop -a to ensure the code style is valid
[x] I've read the Contribution Guidelines
[x] I've updated the documentation if necessary.

Motivation and Context

Fix variable usage in the docs

Description

The example provides a way to captures commit count from all branches but in the subsequent call does not use this variable. This changes fixes that so that others reading this code can just copy paste this example code and have it work without any changes.

Signed the CLA


Error after updating happy dom dependency

After updating happy-dom to the latest version 10.5.2 ,
I have this error when I run my app :
Error while requiring module vitest-environment-nuxt/module: Error: Cannot find module '/Users/<user>/<folderpath>/vitest-environment-nuxt/module'
Does anyone have a solution ?

Does it make a difference if you add vitest-environment-nuxt as an explicit dependency?

@morgan-massamba, add the happy-dom manually using yarn add -D happy-dom or npm install --save-dev happy-dom.
@danielroe, the happy-dom isn't installed by default with the package.

No, it's deliberately no longer installed by default. You can choose to install either happy-dom or jsdom.

After updating nuxt-vitest to 0.10.2 , I no longer have this issue.
I think this solved it https://github.com/danielroe/nuxt-vitest/commit/94e0768c27b076ed5faed7faa79327428991918e
Thanks for your help 👍


Alingment issue in feature section homepage

Fixes    #1118
Describe the changes you have made in this PR - I have solved alingment issue of feature section of homepage
Screenshots of the changes (If any) -
Before:

After:

Coverage remained the same at 84.266% when pulling db0a2cd63759c36a782c909a3d7aa40e363b3756 on harshgujrati:Alingment/homepage into d7b831b5f29d05e8a0aa6250d4d9449f31a631cc on CircuitVerse:master.

@nitin10s @aayush-05 please review it

@tachyons


Issue #1329 Add manual compilation to Swift 3 action

This PR changes Swift 3 GA runtime to use swiftc rather than SPM to speedup up init times.  It also bumps the Swift version to Preview-1.  Updates associated container tests for Swift 2 and Swift 3.   Fixes #1329. PG 292

Updated Docker file due to new change in dependency version for watson sdk.

Tests failing, will re-open after investigating issue.


Query: Possible performance issues with async

We are currently investigating results from the reliability testing based on MusicStore that seem to show significant overhead in async scenarios.

Resolved with https://github.com/aspnet/MusicStore/commit/fb4fadb0b10301b09326b8a9f78b6f1893210cb3


Full sharing flow

Lots of UI work to be done now, but the flow is working. Feels about right...

Slick! Looks way nicer. Related thoughts...

Could list contacts under the thread list in your flow ^... pick one and it creates the thread (or uses existing 1-1)
From wallet view, select 1 or more photos, landing you in your flow... add caption to each, choose thread(s) / contact(s)

Totally, the first bullet was the motivation for the whole thing. I was thinking how 1to1 sharing was a bit broken in the old thread flow. So this should be pretty cool now.
Also, gives a really nice 'home' for receiving a 1v1 share, which is just your full stream. You could drill into a Contact and then see just photos shared from that contact (but they could be mixed 1v1 and other threads they are part of where they shared with you).
Anyway. Just pushed cleanup so this all works.
Next step I think is to resort the onboarding text stuff.

Oh... another benefit. We can make that "comment / pick thread or user" view much nicer and it fills the same role we'll need in the Native Share dialog

Okay, since this was still open I went ahead and pushed updates here

Onboarding screens are fixed to match
You now can create a thread even while just adding a photo to the main feed, see:

(i removed that list sort you see though)

@andrewxhill looks like you need to update a snapshot. Want to do that? Or let me know if you want me to.

oop fixed


getSerialNumberSync api error?

Bug report
when android SDK < 26, getSerialNumberSync() always return "unknown"?
 public String getSerialNumberSync() {
     try {
       if (Build.VERSION.SDK_INT >= 26) {
         if (getReactApplicationContext().checkCallingOrSelfPermission(Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED) {
           return Build.getSerial();
         }
       }
     } catch (Exception e) {
       // This is almost always a PermissionException. We will log it but return unknown
       System.err.println("getSerialNumber failed, it probably should not be used: " + e.getMessage());
     }
     return "unknown";
   }

Environment info

react-native info output:
# "react-native": "0.62.2",
# "react-native-device-info": "^5.5.7",

I fixed your code block so it was readable - triple-backticks are your friend https://www.markdownguide.org/extended-syntax#syntax-highlighting
The API is only available from API26 on. https://developer.android.com/reference/android/os/Build#getSerial()

this is better?
if (Build.VERSION.SDK_INT >= 26) {
...
} else {
     return Build.SERIAL;
}

Please read the docs for the API you propose: https://developer.android.com/reference/android/os/Build#SERIAL

A hardware serial number, if available. Alphanumeric only, case-insensitive. This field is always set to Build#UNKNOWN.

So, no, that won't help. Getting hardware identifiers is a losing proposition, you're fighting the operating systems now. They don't want to give you hardware identifiers. My best advice is to stop trying. Use something like Firebase Instance ID or similar

ok, thanks

We're deploying a lot of Sunmi V2 devices, which allow access to the serial number via BUILD.SERIAL. I don't see a reason to not have the else statement and return BUILD.SERIAL if it isn't unknown?

In case someone stumbles across this from Google and is in the same very specific sitation:
Add this topatches/react-native-device-info+7.0.2.patch:
--- a/node_modules/react-native-device-info/android/src/main/java/com/learnium/RNDeviceInfo/RNDeviceModule.java
+++ b/node_modules/react-native-device-info/android/src/main/java/com/learnium/RNDeviceInfo/RNDeviceModule.java
@@ -655,6 +655,8 @@
         if (getReactApplicationContext().checkCallingOrSelfPermission(Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED) {
           return Build.getSerial();
         }
+      } else {
+        return Build.SERIAL;
       }
     } catch (Exception e) {
       // This is almost always a PermissionException. We will log it but return unknown

Grab these two packages:
"patch-package": "^6.2.2",
"postinstall-postinstall": "^2.1.0",

Then add a postinstall script:
"scripts": {
   ...,
  "postinstall": "patch-package"
}

Fascinating, I suppose if some hardware is actually returning it (quite unexpected / contrary to the API docs...) adding an else would be acceptable. If you PR it I'll merge it @stewartmcgown

I should add that this is specifically on Android 7, which the devices are stuck on. I understand this is the last version where BUILD.SERIAL was populated Vs getSerial

@mikehardy tiny pr submitted!

all PRs are might! :laughing: - thanks


Redis::connection causes segmentation fault

Larastan Version: 2.9.2
--level used: 6
Pull request with failing test: N/A private code

Description
Interacting with Redis::connection causes segmentation fault
This seems to be related to https://github.com/phpstan/phpstan/issues/6300 which was fixed in
https://github.com/phpstan/phpstan-src/commit/9ab4e6fd8ef29d7bf7b0b729250e04f3dd5ad75d
Running tests with just phpstan pass fine, but with the larastan extension included it causes a segmentation fault anywhere that Redis::connection is used.
I'm using phpstan 1.10.62
Laravel code where the issue was found
        $redis = Redis::connection('session');
        $redis->del($basket->redisName . ':' . Session()->get('accountUser')->id);

can you run with xdebug enabled and the --debug flag as mentioned in the issue you linked and provide the stack trace? it's likely another infinite recursion bug in a larastan extension and that would make it easier to track down

Yes of course.
Running with xdebug it does indeed say infinite recursion has been detected.
The stack trace is huge, so attaching as a file
stacktrace.txt
I've taken out the base path as it relates to a project under NDA, hope this helps though

So you don't have to manually parse through the stack trace, here's what the gpt has to say:

The recurring pattern involves these components:

PHPStan\Type\ObjectType->hasMethod() calls leading to
PHPStan\Reflection\Mixin\MixinMethodsClassReflectionExtension->findMethod() and back to
PHPStan\Type\ObjectType->hasMethod()
This cycle suggests that there's an issue within the handling of method existence checks and finding methods in mixed types or extensions, likely causing the infinite loop.

More specifically, the loop seems to start around entries #474 to #489, where you have:

PHPStan\Reflection\ClassReflection->hasMethod() calling
PHPStan\Type\ObjectType->hasMethod(), which then calls
PHPStan\Reflection\Mixin\MixinMethodsClassReflectionExtension->findMethod(), and the process repeats.
The recursion might be due to the way MixinMethodsClassReflectionExtension interacts with ObjectType when trying to resolve whether a class has a specific method. This could be triggered by a complex type hierarchy or misuse of mixins that PHPStan tries to analyze, leading to a loop.

Not only Redis::connection, but Redis::sIsMember or Redis::sMembers or any other static method cause this error.
I had to move all Redis methods to a trait file so I could exclude just that file from stan.
@Phil-Barker this should of course be fixed upstream, but in the meanwhile you can fix your stan like this;
includes:
    - ./vendor/larastan/larastan/extension.neon

parameters:

    paths:
        - ...
    excludePaths:
        - app/Models/Traits/RedisTrait.php

RedisTrait.php
use Illuminate\Support\Facades\Redis;

trait RedisTrait
{
    private function redisIsMember(string $key, string|int $value): bool
    {
        return Redis::sIsMember($key, (string) $value);
    }

    private function redisMembers(string $key): array
    {
        return Redis::sMembers($key);
    }
}

@Phil-Barker,
PHPStan v1.11.1 includes a couple of fixes for recursion, could you check if this is still an issue?

@calebdw

PHPStan v1.11.1 includes a couple of fixes for recursion, could you check if this is still an issue?

I tried with the latest php 8.3, and phpstan 1.11.1 and it still times out...
Note: Using configuration file phpstan.neon.
 1073/1113 [==========================>-]  96%The following exception is caused by a process timeout
Check https://getcomposer.org/doc/06-config.md#process-timeout for details

Same issue here, here is the stack trace
error.txt


Foundation: remove unnecessary -DDEPLOYMENT_ENABLE_LIBDISPATCH

libdispatch is required by Foundation.  Remove the single case where we
depended on the flag to be set when building Foundation.

@swift-ci please test

CC: @millenomi


infra: Use SWC builder

Pull Request Template
Type of PR

[x] Feature - Platform
[ ] Feature - Game
[ ] Fix - Bug

Description of PR
Changed to use SWC Builder when building.

time taken for build

tsc : 4.84s user 0.14s system 277% cpu 1.798 total
swc : 0.29s user 0.06s system 116% cpu 0.300 total

time taken for test

tsc : 9.34s user 1.09s system 198% cpu 5.265 total
swc : 4.65s user 0.83s system 183% cpu 2.992 total

Changes Made
Add .swcrc. This is configuration file.
Add dependency @swc/core, @swc/cli
Testing Method
time npm run test or time npm run compile
Checklist

[x] Prepared for code review (Assignees set, Labels applied, etc.)
[x] Checked that changes do not negatively affect existing features
[ ] Documentation completed for new features
[ ] All unit tests passed
[ ] Testing in the test environment completed
[ ] Linked this PR in the related issue
[ ] Communicated sufficiently with the relevant team or person before submitting PR

Nice one!
I will approve this pr after merging 0.2.0 pr #22


Add possibility to add tolerations to the ops-pod script

What would you like to be added:
possibility to add tolerations in key/value format to the ops-pod script or to set generic tolerations
Why is this needed:
Otherwise it is not possible to create an ops pod in tainted nodes.

/assign


LinkedIn API doesn't retrun any response

I  created a new app on linkedin and Under the mobile section, pasted package name then generated hash using the following command:
keytool -exportcert -keystore C:\Users\Sadok\.android\debug.keystore -alias androiddebugkey | openssl sha1 -binary | openssl base64
and pasted the hash in the package hash.
Now when I am trying to call login(), it's not firing up at all, also no response from the linkedin API
I used the code from your example

Same here !
hasActiveSession() is fired, but login() freeze the app.

I have almost a similar issue.
I do login() and the linkedin App opens and asks for permission. I grant access. but nothing happens and I get redirected to the login/signup page. In the console log I get a response OK.
How to get the access token and profile info?


Favicon

Change the Favicon.

something like https://www.flaticon.com/premium-icon/filter_4183396?term=air&related_id=4183396&origin=style?

@AshInformatics created a new favicon, and we merged #73 for this and deployed it to staging.


Rewrite CSS

But do we really want to ;(
Answer: no.

I'm going to be honest, I think the CSS is decently clean as-is.


examples: add kiosk

@7flying ptal (we should make sure this still work and verify greenboot too and later add it as well)


GTA V, cant map buttons

I'm trying to map the share button to the M key which works fine in any other application other than GTA V. Will not work with any key.

you're trying to set the share button as the interaction menu key? (i don't have the answer only curious to how you're using yours)


Updated Stats

Changed the Stat links
@sanjay-kv, updated the status
Please view this PR and if you need any changes, let me know
Otherwise kindly merge into main
Fixes #362 issue

Updated Status
@sanjay-kv view this PR


create_test_files.sh output warning

When try to run ./trtools/testsupport/sample_vcfs/mergeSTR_vcfs/create_test_files.sh, it output the warning message like:
RuntimeWarning: 'trtools.mergeSTR.mergeSTR' found in sys.modules after import of package 'trtools.mergeSTR', but prior to execution of 'trtools.mergeSTR.mergeSTR'; this may result in unpredictable behaviour
It seems due to the reference path in the init.py when load module.

The error happens because I run the test.sh wrong way. Not an issue.


Add analysisSuitable annotation for search index

Same idea as the previous PR, just one more annotation.

It should work now.


Fixes #61 Error when grunt.config has a circular dependency.

I encountered the issue webpack/grunt-webpack#61 today and set about
debugging. The BrowserSyncPlugin works fine when called directly from
webpack-dev-server on the command line, but throws an error when
called using grunt-karma. It appears the grunt.config function throws
an error if the the object has a nested circular dep.
Using lodash's _.get seems like the cleanest way to get this without
causing an error, and has a similar argument pattern to grunt.config.
Added a unit test for verification.

I tried using your version, but still have the problem with circular dependencies.

I'm closing this now, as this fix does not work with the latest version of grunt, as grunt now always throws even if the task does not access the config. Will think about how to solve this.


Unify all canvas classes

refactor grid drawing approach, such that we can get rid of grid_canvas
implement a grid drawable (drawing the grid structure)
implement a draw_onto method in grid that draws all its fields by calling draw_onto on a field instance.

partially achieved in PR #17 (exterminated GridCanvas).


Check the possibility to remove Role reource management from Charon

Describe the issue:
Role resource is a custom SCIM resource defined by WSO2 IS. Since the charon is the core library for SCIM spec, Role resource management should be ideally moved out.
Try to use the custom resource defining extensibility of charon and move this to SCIM management component in IS.

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


Why not make a sum loss of (cls, box, pts) ?

Hi wangbm,
Thank you for your good work, it does me a favor!
I have a question as title, because I find that you train the three losses in a random mode.
Thanks again.

Sorry for replying late.
The author gets classification and regression data, namely positive, negative, part data, according to different IOU only from widerface, which has no annotation for landmarks. So, if we put these data into network, there is no localization loss.
Similarly, positive and negative data are used for classification loss, while positive and part data for bounding box regression loss. Therefore, one negative sample would only result in classification loss, and a part sample only results in detection loss. Although, there exists one exception that positive data occupy with both classification and detection loss. You can try using one positive data to generate both loss. But considering all the training data are cropped randomly, applying different sets of positive data for classification and regression is preferable. As a result, each training data only serves one loss, which seems to 'train the three losses in a random mode'.

Hi there, I got the configuration of random training process:
train_Onet(training_data=training_data,                base_lr=0.0001,                loss_weight=[1.0, 0.5, 1.0],                train_mode=2,                num_epochs=[100, None, None],                load_model=False,                load_filename=load_filename,                save_model=True,                save_filename=save_filename,                num_iter_to_save=50000,                device=device,                gpu_memory_fraction=0.6)
The train_mode=2 refers no training over the pts, is this designed or I missed the pts training part? Do I have to modify the train_mode during the R and O net training process?

Hi there, I got the configuration of random training process:
train_Onet(training_data=training_data, base_lr=0.0001, loss_weight=[1.0, 0.5, 1.0], train_mode=2, num_epochs=[100, None, None], load_model=False, load_filename=load_filename, save_model=True, save_filename=save_filename, num_iter_to_save=50000, device=device, gpu_memory_fraction=0.6)
The train_mode=2 refers no training over the pts, is this designed or I missed the pts training part? Do I have to modify the train_mode during the R and O net training process?

this version no need landmark data，so does the train part,  I think
and I want ask what is the mean by num_epochs=[100, None, None],

The paper also controlled the loss based on the type of each sample, which is beta in the formula. It is correct to not simply make a sum of (cls, box, pts).


Question about service discovery a la Microphone

Hello,
I came across this project after researching microservices, specially service discovery in C#, which led me to the Microphone project and from there to here.
My ultimate aim is to use something like Owin-self-hosting, TopShelf, ILRepack and Consul to build small console exes that behave as RESTful microservices and that can simply be deployed onto boxes by copying one exe and have it "just work" - configuration and discovery being automatic.. It would be great for scalability and reliability too.
Microphone looked like a great start, but then I discovered that it doesn't actually use your Consul.Net library. That is not a show-stopper in itself, but that project also seems to be heading towards being agnostic about its back end and providing lots of options (Nancy, ETCD etc.) whereas my feeling is, if you're going to pick Consul, use it, and build something small and targeted at Consul. Too many options just makes for developer confusion and extra maintenance burden. Plus, it seems to be written using DotNetCore which means it pulls in about 40 dependencies and is hard to ILRepack.
So I was wondering about taking the principles and design expressed in Microphone and and just creating (let's say) Consul.Net.ServiceDiscovery.
I have had a look over the Microphone source and there is not a lot of code there, it doesn't feel like a massive job, though I'll need to get my employer to let me do it on their time.
I noted your question here, to which you never got a reply: https://github.com/rogeralsing/Microphone/issues/21
Have you thought about this at all, and do you have any particular direction in mind for Consul.Net?

Service discovery beyond the primitives Consul provides is not something I have planned for this project, but I know @lvermeulen has created a service discovery library called Nanophone that uses Consul.NET and is "heavily inspired" by Microphone.
The deps for that project seem very small and self-contained as well even in netcore, so that might be a good thing to check out. If you want to create a library that uses Consul.NET for service discovery, I'm happy to provide best-effort help, but as I said, my scope for this project is entirely on exposing the API primitives that Consul itself provides in a safe and .NET-idiomatic way.

@PhilipDaniels You're welcome to have a look at Nanophone - thanks for the shout-out @highlyunavailable ! It uses Consul.NET for the Consul registry host (which is the only one I have right now) and supports Nancy and AspNetCore for .net 451 and netstandard 1.6 platforms. I will be releasing an update in the next few days which includes a.o. discovering the entire Consul service catalog (in passing state).
I'm in the process of trying to write something like fabio to load balance instances discovered with Nanophone. I called it Equalizer; hope to have something working this week, but the configurable routing is already there.

@lvermeulen and @highlyunavailable Thanks for the feedback. Yes, Nanophone looks much more like what I am after, nice to know it is under active development.


Side Nav  - fullscreen should make the side nav full screen only when its open

Feature Description
The fullscreen api of mat-sidenav-container allow us to show the side nav with height set to 100% of the viewport. And this probably is the most followed way to achieve this as proposed by these answers on stack overflow:
https://stackoverflow.com/questions/37334853/cant-get-angular-material-md-sidenav-to-be-100-height
https://stackoverflow.com/questions/46666381/unable-to-set-the-height-of-a-angular-material-sidenav-to-100
fullscreen option sets the below css properties on mat-sidenav-container:
  top: 0!important;
  left: 0!important;
  right: 0!important;
  bottom: 0!important;
  position: absolute!important;

As a side effect I believe this blocks the scroll events and as a result it breaks the functionality of components/directives that relies on scroll events. For example, ngx-infinite-scroll is one of the commonly used plugins (87k weekly downloads) that allow loading contents as soon as user reaches to the bottom of the page. When we set fullscreen on mat-sidenav-container , ngx-infinite-scroll no longer works. As reported here
https://stackoverflow.com/questions/50377502/angular-material-and-ngx-infinite-scroll?rq=1
and
https://github.com/orizens/ngx-infinite-scroll/issues/182
What if we apply the below styles of fullscreen mode only when the side nav is opened:
  top: 0!important;
  left: 0!important;
  right: 0!important;
  bottom: 0!important;
  position: absolute!important;

This way it wont affect the other portion of the application. Because when the nav bar is open user wont be scrolling the page contents, so if the scroll events are blocked it wont be a issue.

FWIW the sidenav is going to be redone a bit as part of incorporating the primitives from MDC web.


compile error ubuntu 17.04

$ make
cc  injector.o -O3 -Wall -l:libcapstone.a -o injector -pthread
/usr/bin/ld: injector.o: relocation R_X86_64_32S against undefined symbol `dummy_stack' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Nonrepresentable section on output
collect2: error: ld returned 1 exit status
Makefile:35: recipe for target 'injector' failed
make: *** [injector] Error 1

Solution:
make CFLAGS=-no-pie


Re-add AWS logs release note

PLEASE READ
Following a recent back-end update, all contributors with a local clone or fork of our repository are required to run yarn install. This does not apply to direct page edits.

[x] Yes, I've run yarn install
[ ] No, does not apply to me

Purpose of this pull request
This pull request re-adds a release note originally added by PR #3339 (but reverted by PR #3341). The release note will be published here:
https://help.sumologic.com/release-notes-service/2023/11/28/observability/

Select the type of change:

[ ] Minor Changes - Typos, formatting, slight revisions, .clabot
[ ] Update Content - Revisions, updating sections
[x] New Content - New features, sections, pages, tutorials
[ ] Site and Tools - Updates, maintenance, dependencies, new packages for the site (Docusaurus, Gatsby, React, etc.)

@kimsauce, could you review this PR?


Redo IModelValidator to not depend on ModelMetadata hierarchy

For some reason, ModelMetadata has a Model property that is the actual instance. This seems to conflate the notions of model and value and runs into issues with caching. IModelValidator seems to be the only thing that uses this hierarchy to walk the object graph
| 112 | 10212 | Reported By: Pranav K |

We already removed ModelMetadata.Model, so this is stale.


Fix abi_serializer to encode optional non-built_in types

Change Description
Fixes #7450.
Current version of _variant_to_binary doesn't handle optional of non-built_in types.
Consensus Changes

[ ] Consensus Changes

API Changes

[ ] API Changes

Documentation Additions

[ ] Documentation Additions

It's strange. In local build and unit_test execution, I didn't encounter any errors, but automated checks by buildkite seem to be failed. I don't have permission to look into buildkite results, can you tell me what the problem is?

@conr2d Sorry for the confusion, these PRs fail because our build infrastructure cannot trust your fork of the repository.  We are working to resolve this


Handsontable 0.12 support

Btw, this includes the commit from #2

hello guys, I found out this project recently so I am not so into it. I need to have dropdown with multiple selection (so I can select more than one value). I followed the comments and I changed the code accordingly, but still does not work. any suggestions? tnx
var dataSet = [
	['yellow'],
	[ 'red'],
	[ 'orange'],
	[ 'green'],
	[ 'blue'],
	[ 'gray'],
	[ 'black'],
	[ 'white']
];
    var dataList = ['yellow', 'red', 'orange', 'green', 'blue', 'gray', 'black', 'white'];
    var columnsList = [{},
	{
	editor: 'select2',
	    select2Options: { // these options are the select2 initialization options
	        data: dataList,
	        dropdownAutoWidth: true,
	        allowClear: true,
	        width: 'resolve'
	    }
        }];

script:
https://github.com/motin/Handsontable-select2-editor/blob/4ec18ace630816f00e7275ea04a2019f23ccf432/select2-editor.js

@lucidBug Try creating a new issue: https://github.com/trebuchetty/Handsontable-select2-editor/issues
You may link to this PR in your new issue.

Does no seem to work for me in the latest version of HOT - no errors - just no dropdown appearing?


IE8 throws an error if there is a tab character after @media

Here's a control demo that works in IE8
http://nick-evans.com/clients/demos/works/index.html
and the following fails
http://nick-evans.com/clients/demos/fails/index.html
The only difference is a tab character in line 273 of styles.css

Chiming in way late here but I think this is working now, due to a fix that landed a while back. Pretty similar to @stevelove's example. Let me know if not!


[SPARK-42956][CONNECT] Support avro functions for Scala client

What changes were proposed in this pull request?
This pr aims to support avro functions for Scala client.
Why are the changes needed?
Add Spark connect jvm client api coverage.
Does this PR introduce any user-facing change?
No
How was this patch tested?

Add new test
Checked Scala 2.13

cc @HyukjinKwon @hvanhovell

avro/functions not in sql module, so CheckConnectJvmClientCompatibility cannot perform mima check between client.jar and avro.jar, created SPARK-42958 to tracking this

GA passed

Merged to master.

Thanks @HyukjinKwon @yaooqinn


Stronger YAML support in ksonnet

/kind feature / proposal
jsonnet and libsonnet is a huge barrier for ksonnet adoption for developers who work on k8s - yaml is their bread and butter. I am really excited to see drop in yaml support for ksonnet!
It will be great to have stronger support for yaml components in ksonnet. Let's take an example of a workflow which a k8s app developer uses. I want to deploy a mysql database for my wordpress application. I start by using an example from the kubernetes examples repo : mysql-deployment.yaml
Here is what my ideal experience with ksonnet would look like:

I already have a ksonnet app and I want to use ksonnet to manage environments and parameters, so I just download this to my-ks-app/components/mysql-deployment.yaml.
I want to use different images for staging environment and production environment. So I parametrize the image field in Deployment.
I also want to avoid repetetion in the component, so I parametrize the metadata.labels field for all three objects.
So my final yaml would look something like this

apiVersion: v1
kind: Service
metadata:
  name: wordpress-mysql
  labels: {{ .Labels }}
spec:
  ports:
    - port: 3306
  selector:
    app: wordpress
    tier: mysql
  clusterIP: None
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: mysql-pv-claim
  labels: {{ .Labels }}
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 20Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: wordpress-mysql
  labels: {{ .Labels }}
spec:
  selector:
    matchLabels:
      app: wordpress
      tier: mysql
  strategy:
    type: Recreate
  template:
    metadata:
      labels:
        app: wordpress
        tier: mysql
    spec:
      containers:
      - image: {{ .Image }}
        name: mysql
        ports:
        - containerPort: 3306
          name: mysql
        volumeMounts:
        - name: mysql-persistent-storage
          mountPath: /var/lib/mysql
      volumes:
      - name: mysql-persistent-storage
        persistentVolumeClaim:
          claimName: mysql-pv-claim

Once I have done this, I use ks to set the params for this component for staging and prod

ks param set mysql-deployment Labels '{"app": "mysql"}'
ks param set mysql-deployment Image 'mysql-image:5.7' --env=prod
ks param set mysql-deployment Image 'mysql-image:dirty' --env=staging

and then deploy to my staging env

ks apply staging -c mysql-devel

Here is how my workflow looks like in the current version of ksonnet

An existing ksonnet prototype does not exist for a mysql deployment with PV, so I cannot use ks generate ...
ks now supports importing yaml components, so now I can use ks import -f https://raw.githubusercontent.com/kubernetes/website/master/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume/mysql-deployment.yaml. This creates 3 components in my ks app, I just wanted one.
I parametrize Labels using ks param set, but I would have to do this for all the three components separately.

ks param set service-wordpress-mysql metadata.labels '{"app": "mysql"}'
ks param set persistentvolumeclaim-mysql-pv-claim metadata.labels '{"app": "mysql"}'
ks param set deployment-wordpress-mysql metadata.labels '{"app": "mysql"}'

I also cannot parametrize Image since it is part of the containers array.
I would have to convert my app manifest to a jsonnet / libsonnet file - Here is where a lot of people have difficulty.

While jsonnet has a lot of advantages in being able to write very sophisticated configs, it is not a very human friendly lanuage. For example: here is a hand-written jsonnet file in kubeflow. It is very challenging to read and make sense of this.
The point that I'm trying to drive is that having stronger support for yaml components will make life much easier for adoption of ksonnet for k8s developers.
/cc @bryanl @jessesuen since this has been discussed partially in https://github.com/ksonnet/ksonnet/issues/426

Why does it matter how many components are created? In your mysql example, you wanted one, but there are three objects. They will all get applied with ks apply. Are you looking for more flexibility around what's applied at any given time?
I don't believe we'll be supporting go templating. ksonnet exists to avoid that. 0.10 has env global support. You can set env globals (e.g. ks param set metadata.labels '{"project":"test2"}'  --env default). YAML/JSON components will automatically pick them up. Jsonnet based components can access them, with a small code change.
Images are more difficult since they live in an array. 0.11 will add support for overlays, and you could use an overlay to change values in container definitions.
There has not been much work on making our registry more robust. We have very basic support for projects like nginx and mysql, but it isn't production grade. Lots of the work in 0.10 was to pave the way to support Helm Charts as another component type. Their charts are more robust than what we provide. I'm focusing ksonnet on making it easier to configure applications with Kubernetes and to embrace other community projects for specific application support.

I've given some feedback to @bryanl offline, but wanted to record my 2c since I got a @ mention in this bug.
As someone who is helping helping with the kubernetes transition, as well as pushing ksonnet adoption in my org, I agree with the point that there is both a jsonnet learning curve, and even steeper ksonnet-lib learning curve, which can make ksonnet a bit of a hard sell at times. Features like drop-in YAML support goes a long way into easing that transition gap. It allows us from trying to sell GitOps + ksonnet + jsonnet + ksonnet-lib simultaneously, to just GitOps + ksonnet.
My approach has been to advise people to write their manifests in plain jsonnet without using ksonnet-lib, because so far, that abstraction has been more of a hindrance than it has been helpful. There's few examples, it's not well documented, which makes it hard for users to figure out how to do things (e.g. pod affinity and anti-affinity has been one example). On the contrary, there's no shortage of kubernetes yaml examples, and it's simple for people to translate yaml to json/jsonnet. It's possible that people will realize the benefits ksonnet-lib sometime in the future, but it's just not there yet.
As soon as users understand they can just convert yaml to json, and paste the json into a .jsonnet file whenever they need to do some parameterization, they have been much more receptive to ksonnet. Unfortunately, all the ksonnet tutorials, getting started, etc, have been pushing ksonnet-lib, which undersells the value of ksonnet + plain jsonnet.
With regards to drop-in YAML support, I am not in favor of text templating. I believe this to be an anti-pattern to jsonnet.  In my mind, the silver bullet feature, would be the ability to drop-in a deployment spec written entirely in valid YAML, but with some hook/opportunity to perform post-processing and manipulation of the YAML object during the ks show pipeline. This would allow a user to massage something like the container image, which ideally could be obtained from a ksonnet string parameter. I'm not sure if this is something that would be provided with the 0.11 overlay feature, but I am cautiously optimistic!

Is overlay supported now?
Any doc or example?

+1 about the overlays! Is it implemented?


connection: Add TCP_FASTOPEN listener option

connection: Add TCP_FASTOPEN listener option
This allows accepting TCP_FASTOPEN based connections. Works on both Linux and OSX.
Feedback on this is very welcome. It was tested manually on Linux and OSX.
API Changes: https://github.com/envoyproxy/data-plane-api/pull/539
Signed-off-by: Bjoern Metzdorf<EMAIL_ADDRESS>Risk Level: Low

@dnoe This is related to the other socket-option work you're looking at.

Per new release note policy please add a release note with any applicable feature docs to https://github.com/envoyproxy/data-plane-api/blob/master/docs/root/intro/version_history.rst. Thank you!

@mattklein123 I've added a note in https://github.com/envoyproxy/data-plane-api/pull/539

@bmetzdorf #2734 is in - are you up for pulling and merging?

@alyssawilk yep! Will do in the next couple of days!

@alyssawilk I think I need to wait for #2719 to be merged.

@htuch Please let me know how this looks for now. I'll work on setTcpSocketOption() next..

@htuch Please let me know if ListenerSocketOptionImplTest is now inheriting the way you envisioned.


Reduce removeListener complexity add test for removed once listeners…

Discussed in #10

Sorry for the wait @ozjd


Nested Syntax Support

The HTML syntax (seems) to include other syntaxes, which would make sense. I assume we don't support that since we get this:

Right now, where styling drops off when we hit the style tags. Removing that section returns it to normal (except the script tag, which I'm assuming is the same issue again).

We actually have nested syntax support:

but it happened that this same bug impacting #1933  (fixed in #2301): https://github.com/onivim/oni2/pull/2301 happened to affect nested syntaxes also (they were more likely to hit the issue in #1933 )
The main thing we're missing, though, is injection grammar support - tracked in https://github.com/onivim/oni2/issues/2118

I'll close this out as a duplicate of #1933, and use #2118 to track the injection grammar work


Add RPC requests limits & implement centralized subscription handler

What ?
This PR addresses two separate issues:

It adds RPC handlers size limits.
Implement a single subscription handler for higher efficiency.

RPC Requests Limits
This PR adds the following requests limits to the RPC handlers:
	// maxTopicsPerRequest defines the maximum number of topics that can be queried in a single request.
	maxTopicsPerRequest = 1024

	// maxTopicsPerBatch defines the maximum number of topics that can be queried in a batch query. This
	// limit is imposed in additional to the per-query limit maxTopicsPerRequest.
	maxTopicsPerBatch = 4096

On its own, it would "only" prevent DDoS attacks on the server; however, at scale, it would ensure the server could provide sufficient amount of resources per client.
Separately of this change, we need to update the monitoring system to detect the situations where we exceeded the thresholds and generate an alert.
Subscription handler
The existing subscription model was quite naive; it would create a separate subscription for each topic. This was working well for small number of topics, but would completely fail with high number of topics.
To address that, I've created a subscription dispatcher, which is the only message subscriber. That handler compares each received message to any of the requested topics, and dispatch the message over a buffered channel.
Performance testing
Before
Benchmark_SubscribePublishQuery-10    	       1<PHONE_NUMBER>7 ns/op	87927504 B/op	 1346703 allocs/op

After
Benchmark_SubscribePublishQuery-10    	       1<PHONE_NUMBER> ns/op	60801280 B/op	 1014429 allocs/op

As a summary, you'd notice that there is a notable reduction in memory consumption ( 30% ).

@snormore could you please review the above briefly to see if I'm on the right track ? if so, I'll go ahead and create some unit tests for these changes.

With this model, do we actually need nats at all? It seems like the subscriptionDispatcher has a lot of overlap with what we were previously using nats for.
We would need support for MLS subscriptions to be integrated here as well, before we could outright shut nats down.

With this model, do we actually need nats at all? It seems like the subscriptionDispatcher has a lot of overlap with what we were previously using nats for.
We would need support for MLS subscriptions to be integrated here as well, before we could outright shut nats down.

I think that we'll still need it as long as we have multiple node instances, since it's the message synchronization layer, right ?
Even with MLS, we might want to keep it ( or its functional equivalent ) to support horizontal scaling. ( am I missing something ? )

I think that we'll still need it as long as we have multiple node instances, since it's the message synchronization layer, right ?

The way we use nats here is just as a local subscription dispatcher. Message synchronization between nodes happens via Waku Relay (which we are going to need to keep)

I think that we'll still need it as long as we have multiple node instances, since it's the message synchronization layer, right ?

The way we use nats here is just as a local subscription dispatcher. Message synchronization between nodes happens via Waku Relay (which we are going to need to keep)

Oh.. yes. I wouldn't have found that if not being told.. it's quite a spaghetti path.
Mind if we'll do that on a separate PR ? this one seems to be big enough already, and I want to avoid monster PRs.

Given the scope of the changes here, I'd suggest we push this up as a docker image and try running one of our client SDK's test suites against it (maybe xmtp-js). That should validate that things are at least roughly working as expected.

Mind if we'll do that on a separate PR ? this one seems to be big enough already, and I want to avoid monster PRs.

Absolutely. That one is going to be delicate, since we need to make sure that messages still make it from Waku Relay -> apiV1 AND the MLS API, which nats is currently facilitating.

Given the scope of the changes here, I'd suggest we push this up as a docker image and try running one of our client SDK's test suites against it (maybe xmtp-js). That should validate that things are at least roughly working as expected.

That makes sense, and I'd like to pursue that.. but not sure how to. Is there any pipeline/github action that does that ?

The lint error in the CI pipeline for this PR is completely unrelated to your changes. I'm not sure how it made it's way into a green main tbh, but you can fix with https://github.com/xmtp/xmtp-node-go/pull/351/commits/cf16a9528604664caa119ecd125b04c83eef5834 (which I pushed to one of my open PRs too).

You can repurpose this github workflow if you want to build+push the image with another tag from this branch.


Remove dependency on m2r (use MyST instead)

Description
We can use MyST to include the README.md into a rst file, thus getting rid of the dependency on m2r (which provides mdinclude that was used before).
As this makes different include commands necessary, depending on the format of the README ("md" or "rst"), move the code for handling the README to its own function and generate the appropriate include directive there.  This is then added to index.rst using a template variable.
Apply equivalent changes for including the license file.  Since the license is always expected to be plain text, no format distinction is needed here.  Simply using standard .. include:: instead of .. mdinclude:: results in the same output, at least for our BSD license files.
Note that there is a minor difference to using m2r, the section headers of the included README are one level lower now (left is with m2r, right with MyST):

However, I don't think this is a problem.  Apart from this the result looks exactly the same.
Closes #2.
How I Tested
By building the documentation for blmc_drivers (which has a README.md) and robot_fingers (which has README.rst).
I fulfilled the following requirements

[x] All new code is formatted according to our style guide (for C++ run clang-format, for Python, run flake8 and fix all warnings).
[x] All new functions/classes are documented and existing documentation is updated according to changes.
[x] No commented code from testing/debugging is kept (unless there is a good reason to keep it).

@MaximilienNaveau Sorry, I forgot to add you as reviewer...


NameError: name 'MyTypes' is not defined

$ ipython Alternative-Combos-Of-Parameter-Values.py
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
~/projects/econ-ark/DemARK/notebooks/Alternative-Combos-Of-Parameter-Values.py in <module>
    114
    115 # + {"collapsed": true}
--> 116 for ThisType in tqdm(MyTypes):
    117     ThisType.solve()
    118     ThisType.initializeSim()

NameError: name 'MyTypes' is not defined

This is still broken for me on master

This is supposed to be broken as this is an exercise DemARK, students need to define MyTypes.
Should we move to this out to another repo?

We should modify any exercises like this so that they run without error, which is easy enough by just giving the variables values that students will need to replace with the correct answers.  I've done that with a couple of DemARKs already, but not this one.  @MridulS, could you put some dummy answers in that will prevent it from breaking Travis?


feat(FormField): make form field error accessible

Fixes #3821
Form fields should have an id attribute in order for it to work (since aria-describedby needs an id).

Codecov Report

Merging #3822 into master will increase coverage by <.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #3822      +/-   ##
==========================================
+ Coverage   99.83%   99.84%   +<.01%
==========================================
  Files         172      177       +5
  Lines        3101     3145      +44
==========================================
+ Hits         3096     3140      +44
  Misses          5        5

Impacted Files
Coverage Δ

src/collections/Form/FormField.js
100% <100%> (ø)
:arrow_up:

src/lib/createPaginationItems/suffixFactories.js
100% <0%> (ø)

src/lib/createPaginationItems/itemFactories.js
100% <0%> (ø)

...lib/createPaginationItems/createPaginationItems.js
100% <0%> (ø)

src/lib/createPaginationItems/paginationUtils.js
100% <0%> (ø)

src/lib/createPaginationItems/rangeFactories.js
100% <0%> (ø)

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 72c4508...bec026f. Read the comment docs.

Thanks much and happy holidays 🎄 ☃