Configuration options and scopping test execution in Ruby

Today, if I have to use capybara or rspec-matchers with gauge ruby, I have two options:

Include it in each of the step implementation files
Include it in the global space at the suite level hook

Both of these issues are problematic.
First one makes changing the libraries difficult. If I have to use a different matcher /assertion library, I will have to make the changes in all the step implementation file.
In the second one, global namespace gets polluted and all the objects lives in the global namespace making garbage collection improper for long running tests suits.
To solve this, we need to scope the execution of steps into an object. This object will be instantiated and destroyed after executing a scenario or a specification. All the instance level objects which are used inside step implementation will be scopped to this object. A config option will be provided which can be used to scope includes and requires. Something like:
Gauge.config do |config|
   config.include [Rspec::Matchers, FactoryGirl::SyntaxHelpers]
end

We need to do more research on implementation possibilities of this. Cucumber has a similar one which they call world. If you define a world in cucumber, they scope execution to the world instance.
Without this, I don't think having a big, long running test suite with Gauge is possible today.
thoughts?

How does scoped inclusion of matchers help in this case? I mean, how would it be any different if you include the matchers at suite vs specification level?
PS - I like the DSL approach of inclusion, +1 on having a config block.

I didn't get your point well. But are you saying what difference it makes on whether we include it at each step implementation file separately than doing it at the hooks using the config option provided above?

Nope, :-1: for having to include at each step implementation file.
I am trying to understand - what is the benefit of having a scoped include, v/s global include, particularly for matchers. The includes themselves are stateless (I hope), so would it not be enough to include once per run?
In essence, gauge could could include the helpers once before the run. I am trying to understand the need for scoping the include at a granular level.

Scoping is good to manage names. Since ruby is very loose, multiple libraries using the same name can overwrite code and cause confusion. So it is better to avoid doing anything at global scope. Before test runs, instantiate the object, do all the includes, execute the test, throw the object away.
It is also not safe to assume include is stateless. Ruby fires a included block for modules which can do any nasty stuffs.

I see what you mean, I was drawing parallel to what RSpec does in such config blocks. Although it supports scoping, it isn't mandatory. I suppose it doesn't harm us to scope includes.
I am guessing there needs to be a way to specify which include is valid for which scope? I.e. name the scopes in some format?

Not really. You specify all the includes and they all will be included in all the step implementation classes. Filtering includes for each step implementation will be too much, I guess.

Partial fix via https://github.com/getgauge/gauge-ruby/commit/1649dbc41bf97c42c106a08eeb566900ecdca674
getgauge/gauge-ruby#7 should address the scoping of includes.

Nice. How is the API looking like?

It looks like this at the moment:
Gauge.configure do |c|
    c.include Foo, Bar
end

This should include Foo and Bar modules.
Note to us: We need to improve the docs, possibly use rdoc like something for API docs.


Add support for masked enemies

Can try doing a very similar thing here to what the CosmeticPatch in MoreCompany is doing.
Basically, they set the hook when the masked enemy is spawned (and synced between client/host) and then update it:
https://github.com/notnotnotswipez/MoreCompany/blob/56b03f74d2ca41349f8a667c7c43a47056ddbfe1/MoreCompany/CosmeticPatches.cs#L58
In this instance, we would just be adding a hook here also and checking if the mimicking player is a dog before hiding the human model and spawning the dog model for them, similar to what's in the replacer already or what is there for ragdoll support:
https://github.com/wongnata/PlayerDogModel_Plus/blob/599d26c7ac5e27704d355fea1845e0a5d7b35f4b/Plugin.cs#L108
You probably won't need to update the existing MoreCompany patch for CloneCosmeticsToNonPlayer, but make sure to test that first also. From my recent playtesting, this already works as intended for both the dead body and the mimic scenarios: in other words, when a dog player is killed by a mimic right now, the mimic that spawns does not have their cosmetics cloned.
https://github.com/wongnata/PlayerDogModel_Plus/blob/599d26c7ac5e27704d355fea1845e0a5d7b35f4b/Patches/MoreCompanyPatch.cs#L69
Another thing to check that I haven't looked into yet is checking if there's any additional hooks needed for the kill animation.
 Note that this video's hosted on streamable and will be gone in 2 days...
Despite this success, it still needs to be tested with other scenarios and masked enemy mods (namely qwbarch-Mirage which is my personal favorite). I have a hunch that this should be mostly okay, since we're not really doing anything crazy to the actual enemy itself, but I want to make sure there aren't any weird things happening with patch order.


formula display issue in markdown split editor

I can't preview math formula in in markdown split editor(good for markdown editor)
I wonder it is normal for others?
ps:
markdown editor version 1.9

"Markdown Split Editor" is not provided by this plugin, the editor name provided by this plugin is "Markdown Editor"

@shuzijun
Thanks for your reply, Markdown Split Editor is one of tab below pycharm(next to markdown editor) when i using markdown editor plugin.
Moreover, you can check it in the following figure:

"Markdown Split Editor" is provided by the default markdown plugin,Markdown

Thanks mate! That's the reason why it just got 2.3/5 for default markdown plugin:)


CLOUDSTACK-9044: Add RBD Primary Storage to the Zone Wizard.

Added to option to use RBD as primary storage in the Zone Wizard.
Pure UI change.

though this is a needed change, would we want to solve it more generally so there will be only point of maintenance?

@DaanHoogland I share the same opinion. I would actually like to see the UI be a separate project. But in my opinion that supersedes this PR.

@DaanHoogland @borisroman Fully agree, the UI is currently not the best, but this change can go in.
I want to LGTM, but it's hard to test. The code seems fine to me. I'll give my LGTM after @borisroman shows me it works.

@davidamorimfaria If we need to reinstoll a devcloud this week, can we verify as well?

I will have a chance to test it this week

The code looks fine to me.
@DaanHoogland @borisroman I agree decoupling the UI from the main Cloudstack project would be the better choice. Development on the main Cloudstack project wouldn't be halted by the frontend and the end user would have more choice in what frontend they would use. It would also be a great moment to look at all the frontend code and make a list of all the things that should be changed or improved. (Like testing...)

@davidamorimfaria @borisroman Took the commit for a spin, looks like it does what it suppose to do. (Adding form elements when certain conditions are met.)

I saw this in action today. LGTM

I added a RBD pool using the ZoneWizard:

Ping @remibergsma @borisroman
This PR LGTM :+1:
I reviewed the code and read the comments in the PR, also looking at the tests @borisroman did and the screenshots he shared.
@remibergsma, you can proceed with the merge.
Cheers,
Wilder


Extract theme property names for localization

Uses TTRC to mark the manually created group name Theme Overrides.
Extracts theme property names from default_theme.cpp.
Adds some capitalization remaps.

These are extracted by matching function calls such as set_icon, set_color, and set_constant in default_theme.cpp.

Thanks!


Documentation update list

A few items I have spotted. By no means exclusive!
ToDo:

[ ] Privacy Policy #1560 security.md is due for an update
[ ] Available match options https://github.com/espanso/website/issues/10 - all these are now present in the documentation in appropriate sections - I'm not sure a separate list would be useful?
[ ] Usage of use_standard_includes?

Done:

[x] Usage of search_terms:
[x] Other options listed here: x11_use_xdotool_backend, emulate_alt_codes, post_search_delay, post_form_delay.
[x] emulate_alt_codes: true see here
[x] filter_os: rule
[x] Autofix in the documentation seems to be outdated #1767
[x] Update links to federico-terzi/espanso to espanso/espanso?
[x] MacOS brew installation docs should be updated #1804
[x] ?add Discord server to the docs header
[x] Plain scalar Regex triggers are easier to debug if we don't have to escape every “\”. I'll add a note about this.
[x] force_mode: clipboard|keys and force_clipboard: true (possible duplicate of the first) #1690 Are there other undocumented controls? (See parse.rs.)
[x] left_word: ord right_word: controls. See here.
[x] Document markdown & html #1806
[x] paragraph: prevents markdown: starting a new paragraph. See here.
[x] Factors determining size of forms - [Discord conversation] (https://discord.com/channels/884163483409731584/1013916990760554608/1185019971185692682) & [Reddit] (https://www.reddit.com/r/espanso/comments/18ibpbi/help_with_making_forms_better/) summary
[x] Output of UTF8 foreign characters (in Windows?) #1736 #1749 #1698
[x] Ability to output Unicode characters, e.g. replace: "\u0105" (UTF-16), or "\U00000105" (UTF-32) or "\xC4" (UTF-8?)
[x] Multiple filters, need to apply alphabetically by filename to determine application order #1269
[x] CTRL-character triggers are possible but likely to cause problems in editors, and over-delete characters on triggering #383

Moved from espanso/espanso Issue #1788.


Overlapping rectangles are not spaced apart

Take a static long wall, then use AddForce on a dynamic cube to push it into that wall. It will slide down and hit the bottom, where it is marked as a collision because they're "overlapping".

Fixed in newest commit


Add Recommendations/Notes for Scheme Implementations and Editor Plugins

I put together some notes/links I think would be helpful for getting setup with a nice Scheme+REPL environment. Lemme know if there's something I missed or if you take issue with anything!

Looks great. Thanks for all of this additional info!


chore: fix trivvy vulnerabilities

Codecov Report

Merging #352 (644efb0) into develop (475f30b) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           develop     #352   +/-   ##
========================================
  Coverage    43.03%   43.03%
========================================
  Files           23       23
  Lines         1645     1645
========================================
  Hits           708      708
  Misses         937      937


have problem connecting to ssl micro services

I am using Spring Cloud, and RestTemplate to connect to micro services using SSL.
when I do: restTemplate.exchange("https://myservice/properties", HttpMethod.GET,null, String.class), it is using RibbonClientHttpRequestFactory
I got: javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated at sun.security.ssl.SSLSessionImpl.getPeerCertificates(SSLSessionImpl.java:421) ~[na:1.7.0_72]
when I tried to use FeignClient, it cannot even be able to find the service although the service is clearly showing up on Eureka.

if using https, have to specify "https" in FeignClient definition and now it works like a charm


Add CI gh-action

Summary
Closes: #16
Tasks:

Add node version default (same as fronted-next) [DONE]
Add codeowners and PR template [DONE]
Linter [DONE]
Tests [DONE]
Compile each module (client-ts and codegen) [DONE]
In PRs, publish canary build to NPM [DONE]
In main, publish beta build to NPM [Moving to #17]

Notes
I've disabled the npm cache temporarily, because it makes act to not run the action. Will enable it before merging.
☠  GitHub configuration pending
Environment variables
We need to add the environment variables for integration tests in GitHub config. Not sure if we want to have a xata workspace shared with the team for that? (Useful for debugging)
PR checks
Also we need to configure that PRs cannot be merged if the actions fail. This can be done, after merging but we need to remember to do it.
Codeowners
The codeowners is giving a warning but it shouldn't right?

Environment variables pending to be set:

INTEGRATION_TEST_DATABASE_URL
INTEGRATION_TEST_API_KEY
INTEGRATION_TEST_BRANCH
NPM_TOKEN
GITHUB_TOKEN (Should be set automatically)

Haven't tried the comment step (unable locally). It's nothing fancy, if it works we keep it, if it doesn't I'll remove it.

Cool, but why Lerna instead of something like Nx or TurboRepo?

Fabien had experience with it and it was very simple to set up. We don't really have a complex build system or dependencies right now so most benefits of nx or turborepo are not needed (yet).

We need to add the environment variables for integration tests in GitHub config. Not sure if we want to have a xata workspace shared with the team for that? (Useful for debugging)

Yeah, I think we should do that. Go ahead and create a workspace and try to share with at least the people in the frontenders team.

@SferaDev I've configured the GitHub Actions secrets and I've created the database and its structure here https://app.xata.io/workspaces/sdk-integration-tests-19v8n2/dbs/test/main/tables/teams

I re-ran an old job and pushed a new commit but it still fails on the integration test.
Notice I named the secrets slightly different than the actual env variables:
          XATA_DATABASE_URL: ${{ secrets.INTEGRATION_TEST_DATABASE_URL }}
          XATA_API_KEY: ${{ secrets.INTEGRATION_TEST_API_KEY }}
          XATA_BRANCH: ${{ secrets.INTEGRATION_TEST_BRANCH }}

@SferaDev I think it's because test/integration.test.ts is using XATA_DATABASE_BRANCH and the workflow file is using XATA_BRANCH.
For reference, these are the secrets we have


Using Mason with hidden elements

Since Mason does what Isotope/Packery seems unable to do, I switched to using this library. Thanks for the great work. However, I'm trying to implement some filtering and keep running into issues.
Whenever I hide elements with a certain class and run Mason, I get TypeError: Cannot set property 'x' of undefined, where x seems to be a semi-random number. I was hoping implementing my filter would be as simple as hiding the elements I don't need (thus only showing the elements I want in view) and running Mason again to get the positioning correct.
This is my config (CS):
@$el.mason
    itemSelector: @itemSelector
    ratio: 1.5,
    sizes: [
      [1, 2],
      [1, 1],
      [2, 2]
    ],
    promoted: [
      [1, 2, 'medium']
      [1, 1, 'small']
      [2, 2, 'large']
    ]
    layout: 'fluid',
    gutter: 0

All the elements I have are 'promoted', if I did not set that, I couldn't get the correct layout. Not sure about the ratio, I just stole that from somewhere :8ball:
Any help would be great. Thanks a lot.

Check out the v2 branch to see if this has fixed your issues. Also note that the order of promoted items has changed. it is now ['class_name', w, h]
https://github.com/DrewDahlman/Mason/tree/2.0


Added ISerializerFactory + implementation

The idea is that this what you will take a dependency on, instead of IEnumerable<ISerializer>, and it will give you the serializer that matches the provided MediaRange.
The default implementation will take the default serializers into account and only return them if no other match could be made.
If there are multiple matched (not counting the defaults) then it will throw an InvalidOperationException with a detailed error message, telling you about the types of the implementations that it matched.
I have also updated the ISerializer.CanSerialize and Serialize methods to accept a MediaRange instance, instead of string, for the contentType parameter. This works fine since it can implicitly be case to/from a string.
--
Except for adding this in to NancyInternalConfiguration I've not made any use of this yet. I wanted to get some feedback before I started ripping stuff apart and plugging this in. The idea is that this both makes things more testable, but also reduces the need for all ISerializer users to do the matching themselves. We currently have a couple of places (like the AsXml and AsJson extension methods) where we explicitly new up instances of DefaultXmlSerializer and DefaultJsonSerializer, creating hidden dependencies in the code.
This is a bit of yakshaving before migrating the JsonSettings and XmlSettings into the new unified configuration API.

Seems to work. All tests are green, demo project runs and json/xml serializer routes works :)

I assume that meant it was good to merge :smile:

Now time to update the serializers :wink:


Meteor 1.2 Compatibility

Explicit targets when including packages and files (server, client, etc).
Resolves #168 and possibly #169
Minimum Meteor version bumped from 0.9.0 to <IP_ADDRESS>. Meteor 1.2 has breaking
changes so this is not compatible with versions lower than this. I'm not sure
how backwards compatibility should be handled.
Updated versions.json files with versions required by Meteor 1.2
Removed hardcoded versions in the build plugin. Rationale is to use the versions
used by Meteor 1.2 or versions set by the developer.
Added underscore and jquery to the tests as these are no longer global.
Bumped package version up to 0.4.4

Thank you!

Anytime! Only concern is backwards compatibility, but I'll leave that up to you.


Imperva API gives error  "operation" is missing","error-code":"IMP-10015"

{"errors":[{"description":"Can not create "applyTo" since the body parameter "operation" is missing","error-code":"IMP-10015"}]}
While adding the IP address to any IP groups or putting any parameters in the custom policy as well. It can not create ApplyTO since the Operation is missing but there is no operation parameter in applyTO section.

Hi, this repository is deprecated.
please download the script from https://github.com/imperva/incapsula-logs-downloader


primary crontab erased after installing and using crontab-ui on QNAP QTS

Hello all,
I don't know if someone can help, but I'm attempting.
I tried to install and use crontab-ui (CrontabUI_0.3.16_arm_64.qpkg) on my nas qnap (qts 5.1.8). For installing in the qts App Center, I use an administrator account MyName (not the admin account which is desactivated). On the surface in the interface it looks good : I can create et run some tests jobs.
BUT

using this crontabui tool allows the creation of scheduled tasks, but by ... overwriting the contents of the system crontab (all standard tasks have disappeared)! So, after creating 2 jobs, the crontab of the user MyName contains only these 2 jobs (and all the standard jobs have disappeared).
and when the system is restarted, the system crontab is back in place (so the crontab of the user MyName contains the standard jobs), but the tasks generated by the crontabui tool have disappeared...

What did I do wrong in this case? And How could I resolve this issue?
Thank you for any idea...
Arnaud

Hi @Arnaud1110  🤓
This is something you'll need to raise with the package maintainer (Qoolbox aka QNAP_Stephane). He will need to adjust the installation parameters for this package. You can do this through the myqnap.org repo, or on the QNAP Community forum.

Hi @OneCDOnly
Ok thank you for your advice.
Arnaud


volar inlay hints

Discussed in https://github.com/johnsoncodehk/volar/discussions/2066

Originally posted by Kabuda-czh October 27, 2022
when i open vscode's typescript > inlay hints and use volar.

After some times, there will be repeated.

if restart Vue Server it will fixed , is this volar's bug?

Duplicate of #1807


Add docs explaining logged metrics

As the title says. There are also some naming issues:

Inconsistent naming, queries_dist should be tokens/queries_len_dist, responses_dist should be tokens/responses_len_dist.
We should remove ppo/mean_scores and ppo/std_scores. They are aliases it means?
Inconsistent naming, some have mean, var but some do not. E.g., objective/kl could be objective/kl_mean, but this is ok.
Inconsistent naming, some have dist some do not. ppo/policy/ratio should be ppo/policy/ratio_dist, ppo/policy/advantages should be ppo/policy/advantages_dist
off naming, objective/logprobs is not an objective and should be tokens/logprobs_dist and objective/ref_logprobs should be tokens/ref_logprobs_dist

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Installation with tag 0.1.0 is failing

Hello when I'm running pre-commit run -a with  .pre-commit-config.yaml:
repos:
  - repo: https://github.com/jumanjihouse/pre-commit-hook-yamlfmt
    rev: 0.1.0
    hooks:
      - id: yamlfmt
        args: [--mapping, "2", --sequence, "4", --offset, "2", --implicit_start, --preserve]

I got an error:
pre-commit run --all-files
[INFO] Installing environment for https://github.com/jumanjihouse/pre-commit-hook-yamlfmt.
[INFO] Once installed this environment will be reused.
[INFO] This may take a few minutes...
An unexpected error has occurred: CalledProcessError: command: ('/home/andrzej/.cache/pre-commit/repojun84su0/py_env-python3.8/bin/python', '-mpip', 'install', '.')
return code: 1
expected return code: 0
stdout:
    Looking in indexes: <Obfuscated link>, https://pypi.org/simple
    Processing /home/andrzej/.cache/pre-commit/repojun84su0
      Preparing metadata (setup.py): started
      Preparing metadata (setup.py): finished with status 'error'

stderr:
      error: subprocess-exited-with-error

      × python setup.py egg_info did not run successfully.
      │ exit code: 1
      ╰─> [14 lines of output]
          error: Multiple top-level packages discovered in a flat-layout: ['assets', 'pre_commit_hooks'].

          To avoid accidental inclusion of unwanted files or directories,
          setuptools will not proceed with this build.

          If you are trying to create a single distribution with multiple packages
          on purpose, you should not rely on automatic discovery.
          Instead, consider the following options:

          1. set up custom discovery (`find` directive with `include` or `exclude`)
          2. use a `src-layout`
          3. explicitly set `py_modules` or `packages` with a list of names

          To find more information, look for "package discovery" on setuptools docs.
          [end of output]

      note: This error originates from a subprocess, and is likely not a problem with pip.
    error: metadata-generation-failed

    × Encountered error while generating package metadata.
    ╰─> See above for output.

    note: This is an issue with the package mentioned above, not pip.
    hint: See above for details.

Check the log at /home/andrzej/.cache/pre-commit/pre-commit.log

Changing the ref from 0.1.0 to 0.1.1 solves the problem. I think both of tag should work. The problem appeared 5-6 hours ago on my CI

How did you resolve that?


在linux 中运行出错了

An unhandled exception was thrown by the application.
System.TypeInitializationException: The type initializer for 'OpenCvSharp.Internal.NativeMethods' threw an exception.
---> System.DllNotFoundException: Unable to load shared library 'OpenCvSharpExtern' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: libOpenCvSharpExtern: cannot open shared object file: No such file or directory
at OpenCvSharp.Internal.NativeMethods.redirectError(CvErrorCallback errCallback, IntPtr userdata, IntPtr& prevUserdata)
at OpenCvSharp.Internal.ExceptionHandler.RegisterExceptionCallback()
at OpenCvSharp.Internal.NativeMethods.LoadLibraries(IEnumerable`1 additionalPaths)
at OpenCvSharp.Internal.NativeMethods..cctor()
--- End of inner exception stack trace ---
at OpenCvSharp.Internal.NativeMethods.imgcodecs_imread(String fileName, Int32 flags, IntPtr& returnValue)
at OpenCvSharp.Mat..ctor(String fileName, ImreadModes flags)
at Lt.Service.VerifyCode.DdddOcr_Hepper.ClassifyBeta(VerifyCodeParms parms) in D:\GitCode\LotteryV2\Lottery.Service\Lt.Servic

OpenCvSharp你的lib需要用对应的linux版本。


Terraform inventory groups contain invalid characters.

Terraform Inventory seems to create groups with '.' characters in the groups.  This delimiter in turn generates warnings from Ansible because they are invalid characters and produces a warning.
[WARNING]: Invalid characters were found in group names but not replaced
This is an example shell output when I provision with Ansible in Terraform.
module.workstation.null_resource.workstation_pcoip (local-exec): + ansible-playbook -i ansible/inventory ansible/node-centos-init-users.yaml -v --extra-vars variable_host=role_workstation_centos hostname=cloud_workstation1.example.com pcoip=true
module.workstation.null_resource.workstation_pcoip (local-exec): Using /vagrant/ansible.cfg as config file
module.workstation.null_resource.workstation_pcoip (local-exec): [DEPRECATION WARNING]: The TRANSFORM_INVALID_GROUP_CHARS settings is set to
module.workstation.null_resource.workstation_pcoip (local-exec): allow bad characters in group names by default, this will change, but still be
module.workstation.null_resource.workstation_pcoip (local-exec): user configurable on deprecation. This feature will be removed in version 2.10.
module.workstation.null_resource.workstation_pcoip (local-exec):  Deprecation warnings can be disabled by setting deprecation_warnings=False in
module.workstation.null_resource.workstation_pcoip (local-exec): ansible.cfg.
module.workstation.null_resource.workstation_pcoip (local-exec):  [WARNING]: Invalid characters were found in group names but not replaced, use
module.workstation.null_resource.workstation_pcoip (local-exec): -vvvv to see details

A workaround:
terraform-inventory "$@" | jq 'with_entries(.key |= sub("\\."; "_"))'

Problematic code is here: https://github.com/adammck/terraform-inventory/blob/94a66e3c5e56afe02f93ef1c765f6de6d25c0103/cli.go#L167-L168
But I'm not sure if changing the . to a _ is a sufficient fix.

Tentative PR available here: #128

I have published a new "dev" release from my fork:
https://github.com/jpmat296/terraform-inventory/releases
It includes PR #128. This issue is fixed at least for me.

I have published a new "dev" release from my fork:
https://github.com/jpmat296/terraform-inventory/releases
It includes PR #128. This issue is fixed at least for me.

Hi,
The merged PR only fix presence of dots in the the inventory groups, but my infrastructure on AWS generates system tags with hyphens, also illegal  , so I have to filter out that group (as I don't need them):
terraform-inventory $@ ./ | jq 'with_entries(select([.key] | inside(["system_t3_micro-centos8"])|not))'

which I've generalised as
terraform-inventory $@ ./ | jq 'with_entries(select([.key] | contains(["system_"])|not))'


typesecript-peer-dependency

Fix for https://github.com/deamme/ts-transform-inferno/issues/8

I wonder if you could just delete typescript from devDependencies?

Mhhh I don't think so, because it is needed to build the package. TypeScript being a peerDependency will not be installed, so it should be both a devDependency and a peerDependency

By the way, also the other ts-transformer you have (and again, very good job with that) suffers of the same issue, so they are bound to a specific version of TypeScript and can cause problems when mixed with other TS versions. ts-transform-css-modules-next ,
ts-transform-classcat (that I would like to use). Would you like a pull request on these packages too?

@SalvatorePreviti Ah, I see! Would be awesome if you could make a PR for the other packages too. Thank you!


Code Example: Denoising diffusion implicit models + generated files

This PR continues #932 , and adds the generated files on top. I also had to reupload the GIFs to make them loop.

I believe this PR is ready now.


cli: add --yes flag to uninstall command

Currently, the uninstall cli command prompt the user for confirmation:
odigos uninstall
About to uninstall Odigos from namespace odigos-system
Are you sure? [Y/n]:

It could be nice if this command had a flag --yes/-y cli flag, that the user can set to disable the confirmation and apply the uninstall without asking the user for anything.
The change needs to be applied both in code and in the docs here

I would like to work on this issue


Question about usage

Usually we need breakpoints through all app (in all components and places), so should I wrap whole site in your component?🤔
Can you give real life example of usage? Or just wrap separate html where I need media queries?

Did you go through the docs? you define the breakpoints once for all <v-breakpoint> instances using the Ctor class. See example below (it also appears in the docs).
Then, you can compose it everywhere you need to access the state. It's also optimized so the detection itself is a singleton, no matter how many instances of <v-breakpoint> exist.
To be able to use it in a way where you wrap <App>, I have to implement provide/inject, so you right now you can't use it like that. However, I will consider adding this feature in the next version.
This how you configure the component with your own breakpoints:
import Vue from 'vue'
import { Ctor } from 'vue-breakpoint-component'

export { Model } from 'vue-breakpoint-component'

const config = {
  debounceTime: 50,
  experimental: false,
  breakpoints: {
    small: '(min-width: 576px)',
    medium: '(min-width: 768px)',
    large: '(min-width: 992px)',
    xlarge: '(min-width: 1200px)'
    ...
  }
}

const components = { ...new Ctor(Vue, config) }

export const VShowAt = components.VShowAt
export const VHideAt = components.VHideAt
export const VBreakpoint = components.VBreakpoint

export default VBreakpoint


Add SQIP alternative to LQIP

Hi,
I love your project which is very convenient to group mutiple image optimizations.
I'm currently looking to use SQIP instead of LQIP for some images.
There is also a SQIP loader available.
Could it be integrated to your project in a near future ?
If not, how could I use sqip-loader with nuxt-optimized-images ?

Hi, @willdante. SQIP seems to be pretty awesome, we will consider to support it.
But, in the meantime you can use it this way: disable the images you want to exclude from nuxt-optimized-images, then follow these instructions considering this example from Nuxt.

Hi Julio,
Thanks a lot, I will give it a try.
Best regards.
Marc FILLEUL
Le lun. 8 avr. 2019 à 14:23, Julio Marquez<EMAIL_ADDRESS>a
écrit :

Hi, @willdante https://github.com/willdante. SQIP
https://github.com/axe312ger/sqip seems to be pretty awesome, we will
consider to support it.
But, in the meantime you can use it this way: disable the images you want
to exclude from nuxt-optimized-images
https://www.bazzite.com/docs/nuxt-optimized-images/configuration/#handleimages,
then follow these instructions
https://github.com/EmilTholin/sqip-loader#usage considering this
example from Nuxt
https://github.com/nuxt/nuxt.js/blob/b83b5675043ebdfec3398bd83fd27dfe77cdd620/examples/web-worker/nuxt.config.js#L44
.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/bazzite/nuxt-optimized-images/issues/5#issuecomment-480809437,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADP7YB4OEshzDO6BLWDV7-jsnSggVQYLks5vezTdgaJpZM4cZwKl
.

Hi @willdante. SQIP support is now available in the latest version (v0.2.0) 🎉.


Allow replacing ingress network

Please see docker/docker/pull/31714 for details.
Signed-off-by: Alessandro Boch<EMAIL_ADDRESS>

This will now need a rebase, but wanted the review process to start.

@aaronlehmann Updated. Tested reelection with the new logic you suggested, it works fine.

Design LGTM

Thanks @dongluochen . I reworked the code to avoid the goto, via a switch, and added some comments.
I think the code is easier to follow now. PTAL.

LGTM

Was this intended to prevent service connections to any "Internal" network at all, or merely the ingress network? From documentation, I assumed internal was a generic network type that application developers could use to place sensitive services in.

@archisgore I am not sure I follow, I am adding some more background so that we are on the same page for further clarifications.
This change is to allow user to remove and/or replace the swarm ingress network. It gives interested user control over the ingress network configuration. The ingress network is the infrastructure network which provides the routing mesh for traffic ingressing the host.
In the swarmkit code this network was previously marked with a ...swarm.internal label, just for identification purpose.
In docker networking model, there is also an internal top level operator option which can be used when creating a network. It does isolate the containers on that network from the outside world.
This internal option cannot be accepted for the ingress network, they are conflicting concepts.

Oh okay. I see. I'm seeing some strange behavior with the latest builds where:
docker network create --driver=overlay --internal foobar

Followed by a RemoteAPI call to start a service connected to that network returns:
"Error":"Error response from daemon: rpc error: code = 3 desc = Service cannot be explicitly attached to \"foobar\" network which is a swarm internal network"

But if I do:
docker network create --driver=overlay foobar

The same call works. I searched for that error string and found this commit.

Thank you @archisgore What you found is a bug. Will take care of it.


Some SB16 and PC Speaker improvements

Reduces hearing loss. The PC speaker sounded much louder than everything else.
(Volume will be adjustable later when the mixer chip gets implemented.)
Addresses exceptions: overlapped IO reads and non-finite / out-of-range oscillator frequencies.
Addresses some bugs and some sound stuttering.

Thanks!


V2.1.0

Codecov Report

Merging #121 (2fdd72c) into main (2532228) will decrease coverage by 5.25%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #121      +/-   ##
==========================================
- Coverage   96.29%   91.04%   -5.26%
==========================================
  Files           2        2
  Lines          27       67      +40
  Branches        6       22      +16
==========================================
+ Hits           26       61      +35
- Misses          1        6       +5

Impacted Files
Coverage Δ

src/middleware.ts
81.25% <0.00%> (-11.61%)
:arrow_down:

src/helper.ts
100.00% <0.00%> (ø)

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 2532228...2fdd72c. Read the comment docs.


[Bug]: Display the data source when opening the search box to view the database within the data source

ODC version
odc430
OB version

What happened?

What did you expect to happen?

How can we reproduce it (as minimally and precisely as possible)?
Open the search box in the data source and click on all databases
Anything else we need to know?
No response

Fixed In Commit d35bc4e7ac6ea2e3b751a8393690ab6f43d98dd0
------
畅晚
Thu May 23 09:58:17 2024 +0800

pass


Update analyzer and dart_style dependencies to allow upper versions

dart_style formatting changed and tests fails 😢

merged  Thanks for the contribution.


More examples

Hi:
Range query in 0.5.0, is there an example about how to use it?

It s not big but there is an example in the docs.
https://tantivy-search.github.io/tantivy/tantivy/query/struct.RangeQuery.html
Note that if the nightly feature is enabled you can use ... for inclusive ranges.

very appreciate

@fulmicoton is the range query still nightly? I was thinking you went through and made tantivy available on stable.

Tantivy is stable in master, (yet unreleased) . The inclusive range syntax
will be deprecated. (Inclusive range will still be still be possible with a
different syntax)
Le mar. 1 mai 2018 à 5:47 AM, Dru Sellers<EMAIL_ADDRESS>a
écrit :

@fulmicoton https://github.com/fulmicoton is the range query still
nightly? I was thinking you went through and made tantivy available on
stable.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tantivy-search/tantivy/issues/251#issuecomment-385663134,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA-WQoB13n0hNBoJzltz2Gma3zl8tIO4ks5tuFl_gaJpZM4SWLWq
.


GQA submission

I generated the submit_predict.json and submited it to GQA evaluation server. However, I got an accuracy of 0 in test phase, but the result in dev phase makes sense. Is it possible that I predict all wrong answers in test split?
What is wrong with the submission file?

Are you submitting to GQA 2020 or GQA 2019? The code was built based on GQA2019, the organizer might change the data in 2020.

Have you checked the ques_id inside the json file? Is it consistent with the challenge they provided? Is the format of the ques_id / answer correct (int/str)?

Please also check the size of submit_predict.json. It should be very large to include the answers to all questions.

@zaynmi
Have you solved the problem? I encountered the same problem. If you solved it, could you please tell me the reason?

@runzeer Sorry, I haven't solve it. The organizer did release a new test set. However, I checked the submission_all_questions.json in GQA questions v1.3 and v1.1 and they are the same.
I think probably, there are bugs in GQA 2020 server or they change the rules.

The GQA test server would provide the testing log here, could you try to find some more info there?
.
I am not attending the GQA challenge this year so I am not aware of all the details. For the challenge last year (GQA 2019), I followed the instruction in this README to submit the prediction file and the results could be checked on the leaderboard.

@airsplay  I checked the testing log. It has nothing with the results. And the evaluation is finished but the accuracy is 0. So if convenient, could you help find the issues? Thanks a lot!!

Would you mind to share the log files on the GQA testing servers? And could you share the test-dev test results with its logs? Thus it would be easy to figure out.

@airsplay Thanks for your reply!
The results and logs for test are listed as below:
{"Accuracy": 0, "Binary": 0, "Open": 0, "Validity": 0, "Plausibility": 0, "Distribution": -0.01}
Starting Evaluation.....
Loading questions...
Loading predictions...
Completed evaluation for test2020 Phase
The results and logs for test-dev are listed as below:
{"Accuracy": 56.77368833202819, "Binary": 73.13664596273291, "Open": 40.12638230647709, "Validity": 97.5724353954581, "Plausibility": 88.9584964761159, "Distribution": 0.31118867544640394}
Starting Evaluation.....
Loading questions...
Loading predictions...
Completed evaluation for dev2020 Phase
I can not figure out the results from the logs.

Thanks! It's hard to tell why... But at least we found an impossible number in this results: "Distribution": -0.01. It seems to be some error in the online evaluation scripts / submitted result files.
Could you also share Stdout File & Stderr File?
By the way, have you modified the code?  If the code and dev set are all the same, the results of dev2020 should be around 58~59%, but it seems that the dev2020 here is 56%.

The  content for the Stdout File  is  below
Starting Evaluation.....
Loading questions...
Loading predictions...
Completed evaluation for dev2020 Phase
The Stderr File is None.
For the different results, I just modified some codes and randomly selected one result for check. It seemed normal lower than thr original

It's strange...
Is it possible to check whether the original code suffering from the same issue? The weight is available here: https://github.com/airsplay/lxmert/issues/16

My colleage have tested this. It is also the same.

That's crazy... I will try to figure it out soon. My servers are all running now for some long experiments...

Thanks very much ！ I also emailed the author but received no reply.

Thanks. I think that it is a common issue in GQA 2020 this year... Currently, the leaderboard of test 2020 was still empty (I am not sure whether it is intended or not).
In the first time of submission, I tested the results and get some error logs here:
Traceback (most recent call last):
  File "/code/scripts/workers/submission_worker.py", line 426, in run_submission
    submission_metadata=submission_serializer.data,
  File "/tmp/tmpbxpi00ad/compute/challenge_data/challenge_541/main.py", line 76, in evaluate
    with open(user_submission_file) as f:
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/tmpbxpi00ad/compute/submission_files/submission_71692/2673de7d-77d1-4477-ae12-1a265892bcf0.json'

And on the second time, I get the same results as you:
{"Accuracy": 0, "Binary": 0, "Open": 0, "Validity": 0, "Plausibility": 0, "Distribution": -0.01}

It seems that it is a problem of evaluation servers. I believe that there would be some explanations soon.

Thanks very much! I would continue contacting the author and hope to find the issues.

Are there any updates on GQA 2020 @runzeer @airsplay?

@j-min No news on my side :(...

Hello everybody!
Thank you very much for the interest in the dataset and the challenge, and I would like to begin by the most honest and sincere apology for replying so late. Due to an unexpected personal difficulty in recent months I wasn't available in email and couldn't run the challenge over the spring. I do  apologize a lot for any inconvenience this might have caused.
In case you might be interested in that, I'm happy and excited to let you know that the 2020 GQA competition has been accordingly rescheduled and will take place over the summer. I'm actively working currently to release the updated test set that will be used for evaluation (training and dev sets remain the same, as well as the data distribution). See http://visualreasoning.org/challenge.html for further details and timeline, hope to see you there!
To respond to your questions above, there was a technical issue with the settings of the 2020 challenge, and I therefore locked it for now. I will work to fix them and reopen it in the next few weeks. In the meantime, please feel free to develop your models over the 2019 version, which is also open on evalAI.
The differences between 2019 and 2020 will only be in the test set, rather than training/dev with the data distribution remaining exactly the same. The only difference between them will be that we will evaluate the models by having less questions per each image (3 as in VQA, rather then dozens per image). This change therefore shouldn't be expected to alter your performance beyond a minor randomly statistical impact (different randomly sampled questions/images), so until it's online you should feel confident developing and evaluating your models using the currently open 2019 portal!


Added TintedFramePlus title card

Added TintedFramePlus title card

The top element is not logo by default now, unless a change you just made did that? In my example config if I delete the top_element: logo line the top element default is omit and there is just a gap there when I regenerate.

Yes I changed that to logo because the default being title would never do anything (you commented that out). If you want the default to stay title (and leave a blank space) then I'd update your preview cards so people can see what a default card looks like.

Yes this was my intention, because this is the default for StandardTitleCard

Did you still want the frame color to be adjustable? Or always black

The top element is not logo by default now, unless a change you just made did that? In my example config if I delete the top_element: logo line the top element default is omit and there is just a gap there when I regenerate.

Yes I changed that to logo because the default being title would never do anything (you commented that out). If you want the default to stay title (and leave a blank space) then I'd update your preview cards so people can see what a default card looks like.

Yes this was my intention, because this is the default for StandardTitleCard

Did you still want the frame color to be adjustable? Or always black

Ah okay. Yea logo by default is good, the idea was to remove title because the title is always going to be shown below anyways and you wouldn't want it two places.
My intention was for the frame color to be adjustable, and the stroke color to default to black (but be adjustable as well)

Okay then I believe all the pending changes should be it. You will probably want to update the example to have the default frame color white

Okay then I believe all the pending changes should be it. You will probably want to update the example to have the default frame color white

okay done, I downloaded and tested the new modified file (found a typo that I resolved in last commit). Updated the readme description & image, so I think that should be it now?

Perfect, thanks for making those changes. I'll test out the card again real quick

Okay I did some quick test and looks like it worked - I'll merge this now. Thanks for making this! Looks really good.


[BugFix] Avoid using the same host name with another existed fe node

…into an existing host
What type of PR is this：

[x] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Which issues of this PR fixes ：

Fixes #14249
Problem Summary(Required) ：

When modifying the host of a fe node, we should avoid using the same host name with another existed fe node
Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[x] I have checked the version labels which the pr will be auto backported to target branch

[x] 2.5
[x] 2.4
[ ] 2.3
[ ] 2.2

When modifying the host of node, it should be forbidden to modify it into an existing host

how about "When modifying the host of a fe node, we should aovoid using the same host name with another existed fe node."
And please refine the title of this pr, with simple title and put the details in the problem summary section.

run starrocks_admit_test

run starrocks_fe_unittest

run starrocks_fe_unittest

run starrocks_fe_unittest

run starrocks_fe_unittest

[FE PR Coverage Check]
:disappointed: fail : 2 / 3 (66.67%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/server/NodeMgr.java
2
3
66.67%
[728]

run starrocks_admit_test

@Mergifyio backport branch-2.5

@Mergifyio backport branch-2.4


DInput Filters no longer work

Hey jackun, Racer_S here. Had a quick play around in DInput with the newest build today.
Noticed the steering/throttle/brake filters no longer save or work correctly in-game.
Also you can assign keyboard controls to Steering Axes, but they don't work in-game.  The other mappings work fine with keyboard.
Great work man love seeing it being updated after all these years, just some minor issues have cropped up since my first implementation and I'm sure you will get around to fixing it up.

Well, that's what you get if you stretch refactoring over a year+ 🤦
Also, dunno if it was before like this or a new issue with float conversion but linear filter creates weird sudden jumps to left/right in the center 😕

Also PCSX2 team might want to know if you're OK with plugin getting added to core PCSX2?

Well, that's what you get if you stretch refactoring over a year+ 🤦

Understandable.

Also, dunno if it was before like this or a new issue with float conversion but linear filter creates weird sudden jumps to left/right in the center 😕
E: seems it is GT4 itself with weird dead zone or something

Could be an off-by-one case, it used to work ok, the deadzone may not be zero'd correctly. It should behave just like it does on the graphic chart.
The negative deadzone was important to have in some games like Initial D where there is an in-game deadzone you cant remove.

Also you can assign keyboard controls to Steering Axes, but they don't work in-game.

Hmm, J/K worked for me.
Should be fixed in 0ec87bc

Sounds good!  And yeah I'm fine with them adding to PCSX2 Core.
EC Sim Hardware no longer exists and the code was all written by me so you could remove that from the title if you'd like.


Rewrite WebSocket request

Hi,
How can I rewrite WebSocket requests using the SharpReverseProxy?
My scenario is that I have an ASP.NET website and I want to redirect to specific url only if a user is authenticated. I have managed to redirect the WebSocket request in one way, but cannot handle the incoming request from the WebSocket to relay it back to the client.
Is this possible?

Hi @YavorTelerik,
Currently, not :(
As the actual communication after the handshake is done via a raw socket, you would have configure your app to use websockets (Microsoft.AspNetCore.WebSockets, app.UseWebSockets()) and write a middleware to start a socket connection to the configured proxied server and copy data from/to it.
The good: you would be able to do anything with the payloads, log, change, etc.
The bad: a little delay will be added to every connection and the client would think it is connected to the final server already before the second connection is actually completed.
It's definitely something we could add to SharpReverseProxy.
Here are some links to help:
https://radu-matei.github.io/blog/aspnet-core-websockets-middleware/
https://www.softfluent.com/blog/dev/2016/12/11/Using-Web-Sockets-with-ASP-NET-Core

Hi Andre,
Thank you for the detailed information. The articles are great. I was on the right direction but have an incomplete web socket handling.
What I understood from you is that once I receive a message from the client in my proxy middleware, I have to create new web socket client to the actual web socket server, relaying the message to it and simultaneously relay back the messages to the client. Is that correct?

Yes, that's it.
Unfortunately we're not in a network level to do that directly (like a firewall or gateway). Don't forget to check and notify both sides for disconnections :)

Hi again,
Thank you for your further directions.
I have issues with the connection state indeed when trying to redirect the received data to the web socket server. The communication breaks at some point but maybe it is something specific to my scenario, so I will continue investigating it.

Nice, let me know if you get it working or if you hit some wall :)

Hi @YavorTelerik ,
Did you manage to make it work?

@andrecarlucci Can we expect "native" ws support in SharpReverseProxy in the near future?


UI: Improved adopt page

Resolves #508
Updated:
             1. Added designs to the form
             2. Added a div and image to fill the page
             3. Used icons/svgs to make it more user friendly
             4. Used colors and theme according to the website

before changes:

after changes:

Are you still working on this @rishuraj1?

@Nayanika-12  this PR is ready to merge and I have completed my work on this. Waiting for merge or feedbacks from the Project admin


Deep Reinforcement Learning Demo: Quadcopter Drone (Take-off)

Issue Template
Context
User Story:
As a manager of a robot fleet, I would like to ultimately have my devices leverage federated learning on Grid. For the first step towards that goal, a demo using Udacity's quadcopter RL project will be used to show that it can learn the take-off task via OpenMined's backend for Keras.
Acceptance Criteria:

[ ] Drone is able to learn to takeoff perfectly vertically and reach at least 10.0 on the z-axis from an idealized flat surface simulated environment.

Test Configuration:

CPU:
GPU: NVIDIA Titan X (Pascal)
PySyft Version:
Unity Version:
OpenMined Unity App Version:
Robot Operating System (ROS) version:

Relevant Literature or Examples (for features)

https://github.com/udacity/RL-Quadcopter

This is sooooooooo coooooooooooooool.  Let me know what I can do to help!!!

This is freaking amazing.

I am personally inclined towards a project with swarm robots too (because of my last job)! This is an awesome idea!

@jvmancuso @sahiljuneja Several of the needed Keras classes do not yet have a OpenMined backend implementation -- layers.Add, layers.Activation('relu'), layers.BatchNormalization, backend.mean(), backend.function() -- so, contributions would be very welcome for those!


Fix misc small

Apply changes to development branch too. Same as #76

Current coverage is 38.57%

Merging #77 into devel will decrease coverage by -0.07% as of 665762e

@@            devel     #77   diff @@
=====================================
  Files           2       2
  Stmts         885     884     -1
  Branches        0       0
  Methods         0       0
=====================================
- Hit           342     341     -1
  Partial         0       0
  Missed        543     543

Review entire Coverage Diff as of 665762e

Uncovered Suggestions

+1.92% via src/mpi/mpi_caf.c#1892...1908
+1.58% via src/mpi/mpi_caf.c#1990...2003
+1.58% via src/mpi/mpi_caf.c#1557...1570
See 7 more...

Powered by Codecov. Updated on successful CI builds.


Crash on simple transaction

How frequently does the bug occur?
Sometimes
Description
After updating from 10.20.0 to 10.22.0, this particular transaction (old code) is crashing for some users.
let realm: RLMRealm = try .init(configuration: aRealmConfiguration)
object = getObject(in: realm)
try realm.transaction {
      object.lastOpen = Date()
}
...

Those several users are blocked and unable to use the app because of this issue. For them this is happening repetitively. We're calling this transaction at some point soon after the app is either launched or transitioned from background, but it's not the first Realm access (although it's possible to be the first write on Realm). The object is retrieved in the same realm and everything happens on main thread.
One thing to mention, we are using ObjC models, lastOpen is a non-nullable propert, but has a default value (we also have this object's property since the initial schema).
Stacktrace & log output
Crashed: com.apple.main-thread
0  libsystem_kernel.dylib         0x7964 __pthread_kill + 8
1  libsystem_pthread.dylib        0x7378 pthread_kill + 268
2  libsystem_c.dylib              0x1ff50 abort + 164
3  Realm                          0x2f07fc please_report_this_issue_in_github_realm_realm_core + 10
4  Realm                          0x2f0afc realm::util::terminate_internal(std::__1::basic_stringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) + 328
5  Realm                          0x2f0c74 realm::util::terminate(char const*, char const*, long, std::initializer_list<realm::util::Printable>&&) + 328
6  Realm                          0x5bc34 void realm::util::terminate<unsigned long, unsigned char>(char const*, char const*, long, unsigned long, unsigned char) + 46
7  Realm                          0x151310 realm::Array::set(unsigned long, long long) + 234
8  Realm                          0x2191bc realm::Node::do_copy_on_write(unsigned long) + 232
9  Realm                          0x1512a0 realm::Array::set(unsigned long, long long) + 124
10 Realm                          0x21ad9c realm::Obj& realm::Obj::set<realm::Timestamp>(realm::ColKey, realm::Timestamp, bool) + 468
11 Realm                          0x7dfc void (anonymous namespace)::kvoSetValue<NSDate* __strong, NSDate* __strong>(RLMObjectBase*, unsigned long, NSDate* __strong) + 144
12 Realm                          0x1299c ___ZN12_GLOBAL__N_110makeSetterIU8__strongP6NSDateS3_EEP11objc_objectP11RLMProperty_block_invoke_2 + 24

Can you reproduce the bug?
Not yet
Reproduction Steps
We are unable to reproduce, however the crash is visible on crashlytics reports.
Version
10.22.0
What SDK flavour are you using?
Local Database only
Are you using encryption?
No, not using encryption
Platform OS and version(s)
different iOS versions
Build environment
Xcode version: 13.2.1, but not sure if it's relevant.
Dependency manager and version: Carthage

Hi @Bodnar-Dan , thank you for the report.
Can you show aRealmConfiguration?
Sometimes you can reproduce issues on Release build.

Hello @pavel-ship-it
We use ObjC for that.
+ (instancetype)realmConfiguration {
    static dispatch_once_t onceRealmConfigurationToken;
    dispatch_once(&onceRealmConfigurationToken, ^{
        __block uint64_t newSchemaVersion = 200;
        path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).firstObject;
        NSString *realmDirectoryPath = [path stringByAppendingPathComponent:@"realm"];
        NSString *realmFilePath = [realmDirectoryPath<EMAIL_ADDRESS>
        RLMRealmConfiguration *configuration = [[RLMRealmConfiguration alloc] init];
        configuration.fileURL = [NSURL URLWithString:realmFilePath];
        configuration.schemaVersion = newSchemaVersion;
        configuration.objectClasses = @[
            ...
        ];
        configuration.migrationBlock = ^(RLMMigration *migration, uint64_t oldSchemaVersion) {
            ...
        };
        aStaticConfiguration = configuration;
        [RLMRealmConfiguration prepareRealmDirectoryAtPath:realmDirectoryPath]; // This only creates the directories (if not existing) with attributes `@{NSFileProtectionKey: NSFileProtectionNone}`
    });
    return aStaticConfiguration;
}

Supposed to be fixed. I'll get back to that after release.

This might be fixed in 10.24.0. 10.22.0 pulled in some internal changes to how write transactions work which had some bugs. 10.24.0 fixes all the problems we were able to hit.

I am still seeing this with 10.24.0 :(


Good proxys?

Any site with good proxies?

@XtremePlayzCODE I can't find proxies that are working with this bot too

Where are you getting your proxies from? Try searching "Public Daily Http Proxies" on google

@dahquan Maybe you know a good proxie scraper/checker?

I get a list of 35 working proxys but get only 7 bots...

How many snakes are you using per proxy, your connection might not be able to handle it. I'm looking into another low bot count problem though.

2

my bots are in the negatives now...

@XtremePlayzCODE here http://www.gatherproxy.com/proxylistbycountry
http://proxyorca.com/unchecked-proxy-list/
http://newfreshproxies24.blogspot.com/
http://proxyorca.com/forum/forumdisplay.php?fid=4
http://free-anonymous-proxy-lists-daily.blogspot.com/
http://proxyserverlist-24.blogspot.com/
http://proxy-heaven.blogspot.com/

@sandor111 A good proxy scraper and checker is: http://www.mediafire.com/download/52357z77yeh6xh2/Gather_Proxy_8.7.rar
Some websites for proxies to check with the proxy checker in Gather Proxy are
http://www.gatherproxy.com/proxylistbycountry
http://proxyserverlist-24.blogspot.com/
http://free-anonymous-proxy-lists-daily.blogspot.com/

Number of bots alive aren't work perfectly.

I have some very good Proxy scrapers setup on my website if anyone wants to use them. They are 100% free, and you can get a lot of proxies with them.
My website: http://megascouts.ml/

Thx @ravyn120

@ravyn120
gatherproxy = virius
https://www.virustotal.com/en/file/e11c4ae80231de98f244e534cb113f65ef4d5c9fff66dd28c4474abe61926a6d/analysis/1464217313/

@HappyRocketwheel The virus in there is the gatherproxy updater scan again without it

Close this issue?

I will when I feel like it.


Scrolling issues

Can't scroll on student page.
 We also cannot scroll down.

The current working solution has been to set overflow: scroll !important on DOM elements.  We might need to add this property to more classes within the CSS.


improve user feedback for the repair and deploy buttons.

Description
Disabling and adding an indication on the Repair and Deploy buttons when they are being clicked. I didn't want to affect too much the current implementation of the ActionDisabledTooltip component, hence the two different outputs for the ActionButton for the ResourcePage. Normal Tooltip component from Paternfly doesn't show on disabled items.
closes #4349
https://github.com/inmanta/web-console/assets/44098050/78785e7d-12f0-47cc-8705-33812fb99bac

Merged into branches iso6, master in 989898c081084ea70298bb887e5d2cc800097316


Allow setting difficulty on a per-world basis

We've noticed that /difficutly will override our settings for specific worlds (set when originally running the createworld command. It would be helpful to change a worlds difficulty without re-creating it.

I will add this ability soon.


[Vmware/VRO] UI Package creation

Is this a BUG REPORT or FEATURE REQUEST?:

/kind feature

What happened:
VRO UI pakcage is a libraray of workflows, which has to be designed and implemented
What you expected to happen:
UI package created and merged to nbp.
Environment:

NBP version:
OS (e.g. from /etc/os-release):
Kernel (e.g. uname -a):
Install tools:
Others:

First PR rasied https://github.com/opensds/nbp/pull/288 . This includes 4 workflows

register opensds
unregister opensds
create volume
delete volume


config: fix max concurrent retries circuit breaker

Description: while investigating retry scenarios I noticed that some retries were not getting performed due to overflow. This PR updates the circuit breaker to use max retries instead of the retry budget. More information can be found in the PR comments.
Risk Level: med - this change actually allows higher retry concurrency.
Testing: local testing
Signed-off-by: Jose Nino<EMAIL_ADDRESS>

I had previously merged #774, with a configuration I believed would essentially allow "unlimited" retries for all practical purposes. However, I just actually read the retry budget code and realized that the budget is based on upstream requests. In the scenario where a mobile device goes offline, we expect all currently live upstream requests to fail and potentially retry. However, as requests start becoming retries the upstream request count diminishes thus making the retry budget smaller and smaller. For example:
t0: device has 6 concurrent upstream requests.
t1: device goes offline
t2: envoy starts terminating upstream requests with connection termination and checking if it can retry.
t3: for the 1st request being reset the retry budget is 5. The retry is allowed. Count is now 1.
t4: for the 2nd request being reset the retry budget is 4. The retry is allowed. Count is now 2.
t5: for the 3rd request being reset the retry budget is 3. The retry is allowed. Count is now 3.
t6: for the 4th request being reset the retry budget is 3. The retry is not allowed.
This is not the behavior we want for mobile devices because during an offline event we want all requests to "transform" to retries.
Internally at Lyft we have seen retry overflows since we started our production experiment, this PR should fix that.
cc @tonya11en

Would you mind including your explanatory comment in the final commit message as well?

Mainly because we are looking to make the retry budgets default and it
might save you from having to change this down the line. They’re both
equivalent, so I don’t feel strongly about which I’d used.
Tony Allen
Software Engineer
https://www.lyft.com/

I'm not going to update the commit description with the long form comment, as I think it is too verbose.


[monitoring] Update telegraf configuration to show swarm service name and replica id

Won't fix - switching to k8 dev


Vickel: Watch hmedicreviews.com

Vickel requests the watch of the watch_keyword hmedicreviews\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

hmedicreviews\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Jeff Schaller in Charcoal HQ


Edits to PyMotorCAD cheat sheets

@Revathyvenugopal162 and @pvinod13 Here are my edits to the PyMotorCAD cheat sheet files. I do know that you changed \texttt to \textt when you did your alignment stuff. I do want to point out that the PyAEDT cheat sheets use \texttt and seem to be fine. This repo uses \textit I assume the i is for italics, which we don't want. If I'm correct, what should I change the tag to? One of these: \texttt to \textt?
I'll add the boiler plate content for "Documentation and issues" in the README file and overall index.rst file for PyMotor doc now in https://github.com/ansys/pymotorcad/pull/163.

@Revathyvenugopal162 Would you please review and merge this PR? Thanks for making the monospace tagging consistent in all the cheat sheets in your PR #64


Remove NextState in favor of commands.set_state

Second thoughts, I'd like this to be the standard way of updating states.
Using commands:

implies the deferred nature of this operation
reduces clutter associated with NextState, especially when many are used
does not make problems with system ambiguities worse
allows for falliable operations with a warning, which we will need when the traits get unified and not everything will use NextState
with a different command you can force the transition to happen immediately without writing an exclusive system

I don't think this change has to happen now, but it looks like a better API overall to me
Originally posted by @MiniaczQ in https://github.com/bevyengine/bevy/issues/15083#issuecomment-2338608883

@Shatur @MiniaczQ, pulling the discussion into an issue here.
I'm personally on the fence about it. I like exposing users to the "states are resources" model, but I think that the way that this implies the deferred nature of state transitions is really nice.
IMO swapping state transitions to use observers and swapping purely to a command or event-based model while removing NextState and the dedicated state transition schedule is a good direction.

I like being transparent with users too, I think merging NextState into State may be a good direction.
On the offtopic, I'd like a few more fields:
struct State {
  current: S
  /// Never exposed for mutability, only commands
  next: Option<S>,
  /// Previous (different!) S value, does not update on re-enters
  previous: Option<S>,
  /// How many times did this state re-enter into itself
  repeats: usize,
}

I think merging NextState into State may be a good direction

FYI, the reason we didn't do this initially is because it mucks with change detection. Being able to ask is the state has changed is moderately useful, and if next_state is a field on State, this has surprising false positives.

FYI, the reason we didn't do this initially is because it mucks with change detection. Being able to ask is the state has changed is moderately useful, and if next_state is a field on State, this has surprising false positives.

Fair, but state transitions are the main way of reacting to state changes

Back onto topic, what's the intended scope of this issue?
Updating examples and docs?

Personally, I don't think we should update examples and docs unless we decide to fully remove NextState. I think doing that + moving to observers for state transitions is the right choice, but my confidence level there is still quite low.

Yeah, if we want to break states API again it should be a larger chunk, refactored until completion and in the form of a swap-in crate.

I'm personally opposed to this because it's incompatible with the "direct mutation" feature, e.g. level.0 += 1 or color_mode.red = false, which allows multiple systems to mutate the next state for the same state type on the same frame without fully overwriting each other.

I'm still of the opinion that partial mutation not something we want.
In case of the color example it's an architecture issue, each part should be it's own state.
In case of level, there is nothing wrong with next_state.set(current_state.0 + 1) in fact making next state additive is more of a footgun if someone accidentally increments it twice.

And yes, trait unification can be done at any point in time, but it's a breaking change.

Also reminder that states are state machines, which are a function of current state (Dependencies, we don't have self available yet) and input signal (NextState).
Adding complexity to NextState can happen through an abstraction, it doesn't have to complicate the core architecture.

You can add your own NextState, increment it and issue commands if you want.

If each part of the color mode is its own state, how would you e.g. schedule a system to run on a transition from yellow to black? It would not make sense to have each field as its own state, because they cannot be interpreted separately in this example.

Use 2 RGB/enum fields instead of hardcoded color flags.
Still an architectural issue.

I can come up with more examples where direct mutation is desirable, if the examples I've provided are not convincing.

No and yes.
Now that we noticed this can be implemented on top of NextState any potential use case doesn't justify this.

Use 2 RGB/enum fields instead of hardcoded color flags. Still an architectural issue.

I'm not sure what you mean by this, but it's definitely not an architectural issue.

Now that we noticed this can be implemented on top of NextState any potential use case doesn't justify this.

FWIW same-state transitions can be implemented on top of bevy_state 0.14 but users are clearly not eager to do so, and all of bevy_state can be implemented on top of bevy_ecs etc., so this doesn't necessarily follow.

If we keep NextState, we will have two ways of changing the state out of the box. And I think that command-based way is much better.
Since it's trivial to implement NextState on your own some esoteric use case is needed, I would removed it.

Use 2 RGB/enum fields instead of hardcoded color flags. Still an architectural issue.

I'm not sure what you mean by this, but it's definitely not an architectural issue.

It's an issue caused by improperly structuring data.

FWIW same-state transitions can be implemented on top of bevy_state 0.14 but users are clearly not eager to do so, and all of bevy_state can be implemented on top of bevy_ecs etc., so this doesn't necessarily follow. But sure, removing NextState from bevy_state is not strictly incompatible because a user could reimplement it for their own state types.

Same state transitions cannot be implemented without major overhead, it'd need to re-simulate the state transitions.
That's why it was implemented at the core, where we'd rather ignore them if unnecessary than re-simulate everything.
bevy_state literally builds on bevy_ecs what's the point here.
It's meant to be on top of ECS, not a part of it, exactly what we want.
NextState is not being removed, it's being obfuscated by commands which are more ergonomic for the typical use case.
What you want is a fold-like NextState which combines various requests.
This is a niche use case and be built on top of the existing NextState by introducing a new abstraction that feeds into NextState when it collected all the data.

NextState is not being removed, it's being obfuscated by commands which are more ergonomic for the typical use case.
What you want is a fold-like NextState which combines various requests.
This is a niche use case and be built on top of the existing NextState by introducing a new abstraction that feeds into NextState when it collected all the data.

Could you elaborate? We currently have commands.set_state and NextState. Why keep the latter?
If someone needs to combine multiple requests, it's possible for user to introduce a custom resource that accumulates changes and issues a command in the end with the desired state.

Could you elaborate? We currently have commands.set_state and NextState. Why keep the latter?

We still need to buffer NextState until the StateTransition schedule.
The command will set the value of NextState in a cleaner way than requesting another resource in the system.
Flushing state transitions immediately may cause invalid entities to form, so as a default they should happen at known intervals.
You can still flush them by hand if you have the confidence to do it right

If someone needs to combine multiple requests, it's possible for user to introduce a custom resource that accumulates changes and issues a command in the end with the desired state.

Yeah

If we keep NextState, we will have two ways of changing the state out of the box.

There are three ways of sending an event (not counting observer events): commands.send_event, EventWriter, and ResMut<Events>.

And I think that command-based way is much better. Since it's trivial to implement NextState on your own some esoteric use case is needed, I would removed it.

I'll agree to disagree.

It's an issue caused by improperly structuring data.

Nothing improper about ColorMode { red: bool, green: bool, blue: bool } with systems mutating each individual field and state transitions looking at the value holistically.

Same state transitions cannot be implemented without major overhead, it'd need to re-simulate all the state transitions.

Well they can be, since I've done it in pyri_state. I assume you mean it can't be done without major overhead in bevy_state's current design? Even then, it can be, and I've made PRs with approaches that can natively support same-state transitions without major overhead.

bevy_state literally builds on bevy_ecs what's the point here.
It's meant to be on top of ECS, not a part of it, exactly what we want.

Yes of course. The point is that just because it's built on top of something that's already provided by bevy, doesn't mean it shouldn't also be provided by bevy. I brought up same-state transitions as part of the same argument.

It's an issue caused by improperly structuring data.

Nothing improper about ColorMode { red: bool, green: bool, blue: bool } with systems mutating each individual field and state transitions looking at the value holistically.

If you need to modify the existing solution to make it work then clearly something isn't done right.
I'm not saying this is incorrect in other scenarios, but you could find a solution that works, but you'd much rather advocate for complicating the existing solution.

Same state transitions cannot be implemented without major overhead, it'd need to re-simulate all the state transitions.

Well they can be, since I've done it in pyri_state. I assume you mean it can't be done without major overhead in bevy_state's current design? Even then, it can be, and I've made PRs with approaches that can natively support same-state transitions without major overhead.

It's the difference between being able to do it as purely additive feature (NextState and derivatives) and a feature that only works well if integrated into the core (identity transitions).
If you had a bevy_state without identity transitions and wanted to add them, you'd need to calculate the entire state graph again, not very good for performance or maintenance.
What we did was add the identity transitions internally with negligible overhead and allowed users to opt-in.
Most people don't even know it's a feature.
If you have bevy_state without NextState, but there exists a way to "set the next state" you can still very easily add NextState or anything similar.
But if we remade NextState to fold many values provided by the user, we're adding complexity which we really don't need at that low of a level and users can't opt out of it.
Those are on the opposite type of spectrum.
One add a new feature which is hard to add additively, but is non-default, so it doesn't bother everyone.
The other can very easily be additive, but you'd rather make life harder for everyone by forcing it into existing NextState.

Exchanging walls of text isn't very productive, we can switch over to discord if you want.
I feel like we're missing something, because I'm pretty sure you'd come to the same conclusion maybe under different circumstances.

Okay, I discussed with @MiniaczQ on Discord for a bit. Here is my conclusion from the discussion:

This issue would be better titled "Direct users to commands.set_state instead of NextState".
This issue is not incompatible with direct mutation. The feature requires changing the structure of NextState, which is not being removed.
NextState must be kept around because commands.set_state only defers until the next sync point, not until the next state flush point (aka the StateTransitions schedule) which generally runs in the next frame.
commands.set_state may allude to the fact that state transitions are deferred until later, whereas for commands.send_event that is undesirable because events can be read immediately after they're written (although there will probably still be a sync point in-between so that the system writing the event is not ambiguous with the system reading it, since it's a write followed by a read of the same resource).
commands.set_state has the ergonomic benefit of not requiring a new system param for each state type.
commands.set_state + system ordering will add a sync point if the system was not already using Commands, which has performance implications.

@MiniaczQ was not 100% sold on direct mutation as a feature, but said that the implementation details don't look too bad. However, that discussion is now off-topic for this issue as it's a separate feature and still compatible.
My only remaining concern is in the discrepancy between commands.set_state and commands.send_event. The latter is not suggested as the de facto way to send events, while the former would be for setting states with this issue. I'm not convinced that the difference is significant enough. IMO the docs should definitely mention commands.set_state as an option, and just make it clear that state transitions happen later.

commands.send_event is much less generally useful than the state equivalent IMO: there's likely to be far more events, which means the performance overhead matters more, and events are not inherently deferred like state transitions. I'm strongly opposed to encouraging its general use.


Cannot inspect Node.js app after reading request body

Hi,
First of all, thanks for the great library. I found this strange issue that is not directly a bug but significantly affects the development workflow. When I run my webserver using uWebSockets.js, it works fine processing requests. But when I add a breakpoint to debug the program, it crashes after loading the body. Here is my dev environment info:
OS: macOS 10.14.6
Node.js: 12.9.0
uWebSockets.js: 15.11.0
Code
import Logger from "console";
import { App, HttpResponse } from "uWebSockets.js";

const app = App();

app.post("/user/:id", async (res, req) => {
    const userId = req.getParameter(0);

    const body = await loadDataAsync(res);
    const data = {
        body,
        userId,
    };

    res.writeHeader("Content-Type", "application/json; charset=utf-8");
    const outout = JSON.stringify(data);

    res.end(outout);

});

app.listen("<IP_ADDRESS>", 3000, () => {
    Logger.log("server started");
});

export function loadDataAsync(res: HttpResponse): Promise<any> {
    return new Promise((resolve, reject) => {
        let buffer: Buffer = Buffer.alloc(0);

        res.onData((chunk, isLast) => {
            const chunkBuffer = Buffer.from(chunk);

            if (isLast) {
                try {
                    return resolve(JSON.parse(Buffer.concat([buffer, chunkBuffer]).toString()));
                } catch (e) {
                    res.close();
                    return reject(e);
                }
            } else {
                buffer = Buffer.concat([buffer, chunkBuffer]);
            }
        });

        res.onAborted((e) => {
            reject(e);
        });
    });
}

Execution
node --inspect-brk dist/index.js
Then, using Chrome or Visual Studio Code try to inspect. Once I step over line 9 const body = await loadDataAsync(res);, the program crashes with the following error. If I do not add any breaking points, it works just fine.
Error
/usr/local/bin/node[90827]: ../src/api/callback.cc:109:void node::InternalCallbackScope::Close(): Assertion `(env_->execution_async_id()) == (0)' failed.
 1: 0x10007a3a8 node::Abort() [/usr/local/bin/node]
 2: 0x10007a155 node::AppendExceptionLine(node::Environment*, v8::Local<v8::Value>, v8::Local<v8::Message>, node::ErrorHandlingMode) [/usr/local/bin/node]
 3: 0x100003999 node::InternalCallbackScope::Close() [/usr/local/bin/node]
 4: 0x1000034aa node::InternalCallbackScope::~InternalCallbackScope() [/usr/local/bin/node]
 5: 0x1000cf169 node::PerIsolatePlatformData::RunForegroundTask(std::__1::unique_ptr<v8::Task, std::__1::default_delete<v8::Task> >) [/usr/local/bin/node]
 6: 0x1000ce46f node::PerIsolatePlatformData::FlushForegroundTasksInternal() [/usr/local/bin/node]
 7: 0x1000cf46d node::NodePlatform::FlushForegroundTasks(v8::Isolate*) [/usr/local/bin/node]
 8: 0x100110b02 node::inspector::NodeInspectorClient::runMessageLoop() [/usr/local/bin/node]
 9: 0x1005b7ea7 v8_inspector::V8Debugger::handleProgramBreak(v8::Local<v8::Context>, v8::Local<v8::Value>, std::__1::vector<int, std::__1::allocator<int> > const&, v8::debug::ExceptionType, bool) [/usr/local/bin/node]
10: 0x100223d45 v8::internal::Debug::OnDebugBreak(v8::internal::Handle<v8::internal::FixedArray>) [/usr/local/bin/node]
11: 0x100223555 v8::internal::Debug::Break(v8::internal::JavaScriptFrame*, v8::internal::Handle<v8::internal::JSFunction>) [/usr/local/bin/node]
12: 0x100495001 v8::internal::Runtime_DebugBreakOnBytecode(int, unsigned long*, v8::internal::Isolate*) [/usr/local/bin/node]
13: 0x100717919 Builtins_CEntry_Return2_DontSaveFPRegs_ArgvOnStack_NoBuiltinExit [/usr/local/bin/node]
Abort trap: 6

Any help would be appreciated.

Perhaps it's related : when I try to inspect the post body parsing in vscode, an error occurs (but it works fine in non-debug mode) :
OS: Windows 10 64 bits
Node.js: 12.9.0
uWebSockets.js: 15.11.0
MINGW64:/c/projects/payroll-app[12964]: c:\ws\src\api\callback.cc:109: Assertion `(env_->execution_async_id()) == (0)' failed.
 1: 00007FF655F9F0DF napi_wrap+121039
 2: 00007FF655F451D6 v8::base::CPU::has_sse+34470
 3: 00007FF655F454F3 v8::base::CPU::has_sse+35267
 4: 00007FF655FBA867 node::CallbackScope::~CallbackScope+903
 5: 00007FF655FBA54E node::CallbackScope::~CallbackScope+110
 6: 00007FF655EF1776 v8::internal::wasm::SignatureMap::Freeze+121702
 7: 00007FF655EF06F0 v8::internal::wasm::SignatureMap::Freeze+117472
 8: 00007FF655EF039A v8::internal::wasm::SignatureMap::Freeze+116618
 9: 00007FF655EA9D89 std::basic_ios<char,std::char_traits<char> >::imbue+90313
10: 00007FF65622AB76 v8_inspector::V8Inspector::create+97798
11: 00007FF65622640C v8_inspector::V8Inspector::create+79516
12: 00007FF656669919 v8::internal::Debug::OnDebugBreak+665
13: 00007FF6566649F3 v8::internal::Debug::Break+691
14: 00007FF65638A9E6 v8::internal::OrderedHashSet::Is+1910
15: 00007FF656B52872 v8::internal::SetupIsolateDelegate::SetupHeap+577138
16: 00007FF656B9FFB2 v8::internal::SetupIsolateDelegate::SetupHeap+894386
17: 00007FF656ACFCFC v8::internal::SetupIsolateDelegate::SetupHeap+41724
18: 00007FF656AFC837 v8::internal::SetupIsolateDelegate::SetupHeap+224823
19: 00007FF656B21622 v8::internal::SetupIsolateDelegate::SetupHeap+375842
20: 00007FF656AEE652 v8::internal::SetupIsolateDelegate::SetupHeap+166994
21: 00007FF656ACD53C v8::internal::SetupIsolateDelegate::SetupHeap+31548
22: 00007FF656646604 v8::internal::StackGuard::InitThread+1156
23: 00007FF656646703 v8::internal::StackGuard::InitThread+1411
24: 00007FF656646DD2 v8::internal::Execution::TryCall+354
25: 00007FF6566281F5 v8::internal::MicrotaskQueue::RunMicrotasks+517
26: 00007FF656634CD0 v8::internal::Isolate::FindCodeObject+496
27: 00007FF65671582C v8::ValueSerializer::ValueSerializer+220
28: 00007FF65671763A v8::Function::Call+730
29: 00007FFF665EDA04 us_poll_resize+40756
30: 00007FFF666069C0 uWS::WebSocketProtocol<1,uWS::WebSocketContext<0,1> >::getOpCode+6800
31: 00007FFF665ED8BE us_poll_resize+40430
32: 00007FFF66606949 uWS::WebSocketProtocol<1,uWS::WebSocketContext<0,1> >::getOpCode+6681
33: 00007FFF665EBE15 us_poll_resize+33605
34: 00007FFF66602E7B uWS::WebSocketProtocol<1,uWS::WebSocketContext<0,1> >::consumeContinuation+827
35: 00007FFF665E6E85 us_poll_resize+13237
36: 00007FFF665E2258 us_loop_iteration_number+1560
37: 00007FF655FD7776 uv_spawn+2022
38: 00007FF655FE6E5C uv_loop_init+1244
39: 00007FF655FE7004 uv_run+244
40: 00007FF655F0E2B2 v8::internal::AsmJsScanner::GetIdentifierString+29362
41: 00007FF655F69C63 node::Start+275
42: 00007FF655E2C91C AES_cbc_encrypt+15180
43: 00007FF656C00218 v8::internal::SetupIsolateDelegate::SetupHeap+1288216
44: 00007FFF95197974 BaseThreadInitThunk+20
45: 00007FFF95BCA271 RtlUserThreadStart+33

I also catch this error in debug mode. All async function executed after reading body may cause that error.

Basically the rule is "hitting a breakpoint inside any callback from uWS, after first await crashes the debugger".
You mind trying this rule a bit more? Can you trigger the issue any other way?
Btw, the debugging session works just fine if you don't put a breakpoint, so this issue is really only for certain cases.

This is due to uWS not being a real Node.js addon rather a vanilla V8 extension. This issue is old, and basically boils down to preferring vanilla V8 calls, not slow and bloated Node.js calls.
Node.js is a heap of hacks and bloat, slapped to V8 and then addons are required to use Node.js functions making calls, which is slow because you know, Node.js is not exactly written by Google.
One could make a version which is a proper Node.js addon but it would be much much slower. If breaking the debugger is the only issue I rather prefer speed.

You could have "debug binaries" built for debugging, though.

If breaking the debugger is the only issue I rather prefer speed.

+1000

Debug builds - one binary that is debuggable and slower and one that is not. That's one solution. It needs to be simple though

I see these errors when I run TS-Jest in debug mode. No matter when I use breakpoint, debugger statement or nothing. It just fails somewhere in the middle. But it generates a different error.
C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe[9060]: c:\ws\src\callback_scope.cc:110: Assertion `(env_->execution_async_id()) == (0)' failed.
 1: 00007FF610AFC6AA v8::internal::GCIdleTimeHandler::GCIdleTimeHandler+4506
 2: 00007FF610AD7416 node::MakeCallback+4534
 3: 00007FF610AD74CF node::MakeCallback+4719
 4: 00007FF610B0AAF6 node::CallbackScope::~CallbackScope+1158
 5: 00007FF610A5ED4C v8::internal::StackGuard::ArchiveSpacePerThread+52252
 6: 00007FF610A5F403 v8::internal::StackGuard::ArchiveSpacePerThread+53971
 7: 00007FF610A5F75C v8::internal::StackGuard::ArchiveSpacePerThread+54828
 8: 00007FF610A07BF8 std::basic_ostream<char,std::char_traits<char> >::operator<<+41912
 9: 00007FF611157E00 v8::internal::interpreter::BytecodeArrayIterator::done+70768
10: 00007FF611158256 v8::internal::interpreter::BytecodeArrayIterator::done+71878
11: 00007FF610EB936F v8::internal::StackGuard::HandleInterrupts+53199
12: 00007FF610EB3D76 v8::internal::StackGuard::HandleInterrupts+31190
13: 00007FF610ED44A1 v8::internal::wasm::WasmInterpreter::Thread::Step+1873
14: 000000833E25CE26

C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe[8284]: c:\ws\src\callback_scope.cc:110: Assertion `(env_->execution_async_id()) == (0)' failed.
 1: 00007FF610AFC6AA v8::internal::GCIdleTimeHandler::GCIdleTimeHandler+4506
 2: 00007FF610AD7416 node::MakeCallback+4534
 3: 00007FF610AD74CF node::MakeCallback+4719
 4: 00007FF610B0AAF6 node::CallbackScope::~CallbackScope+1158
 5: 00007FF610AD5C5C node::RemoveEnvironmentCleanupHook+556
 6: 00007FF610AF6DE8 node::WinapiErrnoException+37016
 7: 00007FF610B40E48 uv_run+744
 8: 00007FFB14E51BD7
 9: 00007FFB14E525B2
10: 00007FFB14E52453
11: 00007FF610AC8D29 node::Buffer::New+38505
12: 00007FF611004382 std::vector<v8::internal::compiler::MoveOperands * __ptr64,v8::internal::ZoneAllocator<v8::internal::compiler::MoveOperands * __ptr64> >::_Umove+79442
13: 00007FF61100580D std::vector<v8::internal::compiler::MoveOperands * __ptr64,v8::internal::ZoneAllocator<v8::internal::compiler::MoveOperands * __ptr64> >::_Umove+84701
14: 00007FF611004866 std::vector<v8::internal::compiler::MoveOperands * __ptr64,v8::internal::ZoneAllocator<v8::internal::compiler::MoveOperands * __ptr64> >::_Umove+80694
15: 00007FF61100474B std::vector<v8::internal::compiler::MoveOperands * __ptr64,v8::internal::ZoneAllocator<v8::internal::compiler::MoveOperands * __ptr64> >::_Umove+80411
16: 000001E977B5C5C1

> process.versions
{ http_parser: '2.8.0',
  node: '10.16.0',
  v8: '6.8.275.32-node.52',
  uv: '1.28.0',
  zlib: '1.2.11',
  brotli: '1.0.7',
  ares: '1.15.0',
  modules: '64',
  nghttp2: '1.34.0',
  napi: '4',
  openssl: '1.1.1b',
  icu: '64.2',
  unicode: '12.1',
  cldr: '35.1',
  tz: '2019a' }

Windows 10 - uWebSockets 16.2.0

So I checked my callstack and I found that I have a lot of nested callbacks inside "onmessage" event. Also I had async callback in it. So I replaced it with setImmediate and now it works fine for me.

Node.js crashes in debug because we set
isolate->SetMicrotasksPolicy(MicrotasksPolicy::kAuto);
Maybe they want to fix this, maybe not. I bet they will argue they don't care.

It crashes just by calling isolate->RunMicrotasks(); after returning from the JS callback, with or without MicrotasksPolicy::kAuto.
It makes sense, MicrotasksPolicy::kAuto is essentially like calling RunMicrotasks() afterwards immediately.
Node.js is a complete mess in this regard, and it's never going to change.

through dumb luck (definitely wasn't smart) found an easy fix was to wait a tick before resolving the body parser.
const parseBody = (res: HttpResponse) => {
  return new Promise<Buffer>((resolve) => {
    let buffer: Buffer
    res.onAborted(() => {})
    res.onData((ab, isLast) => {
      const curBuf = Buffer.from(ab)
     // don't bother cloning the last one
      buffer = buffer ? Buffer.concat([buffer, curBuf]) : isLast ? curBuf : Buffer.concat([curBuf])
      if (isLast) {
        setImmediate(() => {
          resolve(buffer)
        })
      }
    })
  })
}

  const buffer = await parseBody(res)
• putBreakpointHere()

I'm still curious why this works (as well as the similar monkeypatch uWS uses on process.nextTick!)

 So any vanilla V8 addon will work in some cases, and in other cases it will crash Node.js since their assumptions are broken when you enter their JavaScript without going through their insanity wrappers. This is tightly connected with the process.nextTick nonsense and that is why I have to replace that function.
This whole issue is not about the addon crashing - it's about Node.js crashing when it's not finding itself in its own monopoly state. It's sad but at the same time, this addon wouldn't exist if Node.js wasn't this big pile of garbage in the first place, so we have to take the good with the bad and make the best of the situation.

If Node.js actually performed decently, like say, Rust or Golang, the whole point of this addon would disappear. What's great is that the incompetence keeps on flowing and soon we'll have Deno to fix up. Unless I lose my mind.


[Feature]: Recommended way to handle dynamic nested fields in forms

What is the new or updated feature that you are suggesting?
Is there a recommended way to handle dynamic nested fields in forms, similar to what the (fields_for helper)[https://apidock.com/rails/v<IP_ADDRESS>/ActionView/Helpers/FormHelper/fields_for] does in Rails or (express.bodyParser middleware)[http://expressjs.com/en/resources/middleware/body-parser.html] in express?
Why should this feature be included?
There is no clear way, without writing a custom parser, to implement a nested form working without javascript, which as far as I understand, is a pivotal principle in the  implementation in remix.

I have a couple ideas.
First Idea
If you're aiming for a no JS based solution:
Split your forms up wherever the conditional boundaries lie.
In your form action handler, capture each submission and return some data indicating if the next part of the form should be shown given the selections made.
In the component, use the action hook to retrieve that same data and conditionally render the next form as appropriate.
My other idea
If you want to do it via JS on the client, store responses to the questions in a useState value and conditionally render other forms based on the state variables.


/usr/bin/env python -> /usr/bin/env python2.7

Unless there's some reason that I've missed not to?

Can one of the admins verify this patch?

Can one of the admins verify this patch?


Remove glog. Use standard log package

Logging within the library is only for critical issues. We don't need glog for this. It causes more pain than necessary. Replace with standard log package. Take note of cmd flags set to make glog work in the first place. We don't want to break existing apps.

https://github.com/micro/go-micro/pull/57

Done yay!


Mirror Admin Assignment

Current Mirror Admin must teach new joins how to host a mirror.

Just give them a walkthrough of how it is done
General Process is written here: https://github.com/CPHub-NITC/chapter/issues/6
You can add more points in the comments below

@Aakash-2111  pls schedule a meet and share details


Beyond Earth armors still cause crashes

latest.log
P.S. I used the latest version of Beyond Earth (7.0), trying to use 6.2 crashes the game at loading.

and yes, i used the last 0.14 build

What did you do to cause the crash?

What did you do to cause the crash?

wore the spacesuit

latest.log
this happens when i try to launch the game with Beyond Earth 6.2

6.2 crashes because I mis-configured the mixin remap (since it was a minecraft render function).
7.0 crashes because it renames both the model's class.


Merged coverage report not generated

Describe the bug
Running e.g. koverXmlReportRelease doesn't generate merged xml report, like koverXmlReport does.
Expected behavior
I expect that koverXmlReportRelease and koverXmlReportDebug would generate report.xml.
Reproducer
My setup is pretty basic. I have a few android submodules, let's say :A1, :A2, ...

All of them have basic configuration, with no flavors. Meaning, they only have variants Debug and Release.
All of them have kover plugin applied, with no special additional configuration

// Convention gradle script for submodules
plugins {
     id("com.android.library")
     id("kotlin-android")
     id("org.jetbrains.kotlinx.kover") version "0.8.0"
}

configure<KoverProjectExtension> {
    reports {
        total {
            verify {
                rule {
                    minBound(80)
                }
            }
        }
        filters {
            excludes {
                classes("*.BuildConfig")
            }
        }
    }
}

And my root gradle script is:
plugins {
     id("org.jetbrains.kotlinx.kover") version "0.8.0"
}

dependencies {
    kover(project(":library-a1"))
    kover(project(":library-a2"))
}

kover {
    reports {
        filters {
            excludes {
                classes("*.BuildConfig")
            }
        }
    }
}

Environment

Kover Gradle Plugin version: [0.8.0]
Gradle version: [8.2.2]
Kotlin version: [1.9.23]
Kotlin project type: [Kotlin/Android]

Hi,
could you clarify that you have only one app module and several library modules, while in all these modules the set of build variants is the same (debug and release)?
If so, add kover dependencies to all library modules in the app module configuration
dependencies {
    kover(project(":library1"))
    kover(project(":library2"))
    ...
}

and generate a report using the :app:koverXmlReportDebug or :app:koverXmlReportRelease commands

Also, in this case, the setting
    reports {
        // reports configurations
    }

should be specified only in the app module, it is not necessary to configure it in all other modules

Ah, sorry for not making it more clear.
There is no :app module. The whole project is a library project, that produces multiple artifacts (one per module). We use it to share logic between multiple Android projects in other repositories.
Atm all modules are Android modules and they all have release and debug variant.
I presumed I can merge reports, by adding kover configuration on the root build gradle file.

Yes, no debug/release defined on root project, only on sub-modules. Do you think this is the issue?

Do you think this is the issue?

No, in this case you need to act as described in the documentation.

create a custom version in the root project

kover {
    currentProject {
        createVariant("main") {
            // no sources and tests
        }
    }
}

add kover dependencies to all subprojects

dependencies {
    kover(project(":moduleA"))
    kover(project(":moduleB"))
    // all subprojects
}

in all subprojects, create a custom variant and add the necessary Android build variants to it

kover {
    currentProject {
        createVariant("main") {
            add("debug") // or `release`
        }
    }
}

add report filters only in the root project

kover {
    reports {
        // other report settings
        filters {
            // filters
        }
    }
}

generate report by calling Gradle task :koverXmlReportMain

Ah, I see. That solves my issue, thank you.
One more question. Is there a way to have report filters per submodule, while still having a merged report?

@WildOrangutan,

Is there a way to have report filters per submodule, while still having a merged report?

Yes, you can specify the code from which modules will be included in the report:
kover {
    reports {
        variant("main") {
            filters {
                includes {
                    projects.add(":submodule1")
                }
            }
        }
    }
}

If you need to generate reports on different modules at the same time, then you should wait for the release of improvements on copying variants that are convenient just for such cases.