Inherit preview.js parameters handlers in stories

As per Storybook rules of parameter inheritance, using msw in stories should inherit/concat the handlers from the preview.js parameters.
Example:
The API I am using requires that I make a call for an oauth token before I can call any API call. In the current way this addon works, I have to duplicate this resolver in every single story that defines msw in its parameters because it overwrites the one from preview.js instead of merging with it.
preview.js
export const parameters = {
    actions: {argTypesRegex: '^on[A-Z].*'},
    msw: [
        rest.post('/oauth/token', (req, res, ctx) =>
            res(ctx.json({token_type: 'Bearer', access_token: 'test_token'}))
        ),
    ],
};

thing.stories.js
export default {
    component: Thing,
    parameters: {
        msw: [
            rest.get('/some/endpoint', (req, res, ctx) =>
                res(ctx.json([]))
            ),
        ],
    },
};

Both handlers should work in the story. Currently, the oauth/token handler is not included in the story.

This might be an issue internal to storybook with array parameters. I'll check with Shilman.

Storybook parameter semantics are:

Merge objects hierarchically
Replace arrays

Given these constraints, if you wanted inheritance I'd consider changing the API to something like:
  ...
  parameters: {
    msw: {
      token: rest.post('/oauth/token', (req, res, ctx) =>
        res(ctx.json({token_type: 'Bearer', access_token: 'test_token'}))
      ),
    }
  }

Got it! I'll submit a PR.

Thanks for raising this, @sklawren.
I wonder if we can implement the merge of lists internally in this add-on, would that be semantically appropriate for Storybook? We don't wish to introduce unexpected behaviors in regards to how users are used to Storybook handling story parameters.
That being said, using a map to declare/manage request handlers is not the best option. Here are a few reasons why:

MSW users are accustomed to request handlers being declared and handled as a list of handlers (functions).
Request handlers are accumulative by design, not exclusive. The list is a data structure of choice for this characteristic. You can have multiple request handlers for the same endpoint and utilize their declaration order to enable more complex use cases.

If I understand correctly, the suggested data structure change will be handled by Storybook automatically:
Story.parameters = {
  msw: {
    [handlersGroupName]: [...handlers]
  }
}

We should be able to get the initial handlers from preview.js and merge that list with any request handlers you assign to individual stories. I'd favor that approach.

Hey, @shilman. Thank you for the insights into how Storybook handles the parameters. May I learn more about the decision to replace arrays instead of accumulating them? I'm pretty sure there were some use-cases I'm not aware of that led to that design decision.

@kettanaito If you accumulate arrays then there's no natural way to override anything that's defined in a higher level in the hierarchy. The decision was made five years ago, so it's all a distant memory at this point. But my recollection is that initially we merged arrays and then we backed it out based on problems it caused.

I don’t think that there’s any difference between using an array and using an object with named arrays. It’s an irrelevant distinction. The only difference is that one can’t be merged by storybook and the other can.
{
  msw: {
    handlers: [one, two],
    // VS
    handlers: {
      0: one,
      1: two,
    },
    // VS
    handlers: {
      0: […foo, …bar],
      1: […baz],
    },
    // VS
    handlers: {
      groupA: […foo],
      other: […bar],
    }
  }
}

These are all functionally identical when you use a flattener like Object.values(msw.handlers).filter(Boolean).reduce(concatFn)

@sklawren this is an interesting pattern. i wasn't a fan initially because "object merge with array flattening" is harder to explain than "object merge", but if one really wants to use arrays, this gets that AND merge AND backwards compatibility, which is pretty cool. A+ for creativity. my vote would still be for the simplicity of object merge, but i've got no horse in this race! 🏇

MSW’s use() expects an array of handlers.
Storybook only merges objects.
With this PR, the addon seamlessly bridges the gap between MSW and Storybook.
The MSW “preferred practice” of using a composer function can still be used with this implementation. Or, you can opt for the “Storybook approach” of merging object parameters. Whether one is better than the other is open to opinion and differs based on the individual circumstances of the project.
Either way, both MSW and Storybook still get what they each expect.

It's been over a month since the last comment. Where do we stand on this?

Maintainers of this repository were quite overwhelmed by personal and open-source work so it takes time to find a proper solution here. I'd gladly spend another month if it means deciding on the API that'd be comfortable for our users in the long run. Rushing is never an option.
At the moment, given more context over why object structure is beneficial, @yannbf and I have put down an incremental implementation plan that'd allow parameters merging. It will be developed in phases, ensuring backward compatibility. Please be patient while this is in progress.
Overall, I still find handlers-as-object redundant and unnecessarily verbose. It's de facto an escape hatch to enable Storybook internals to process parameters (merge in this case). I feel like asking our users to pay the price of aligning the MSW and Storybook internals isn't the right call.
Data incongruence upon reusing the handlers
One more argument to this would be the difficulty we impose to reuse existing handlers in Storybook. We recommend writing handlers in a list (once again, object structure is a special snowflake for Storybook, there's no practical value or reason to store handlers as a {name:handler} structure).
Consider a common MSW setup in an application:
export const handlers = [
  rest.post('/login', loginResolver),
  rest.get('/user', userResolver)
]

Now if the user wishes to reuse their handlers in Storybook, which is the main value of MSW, they'd have to access specific handlers by index in order to assign them as global/meta/story parameters:
import { handlers } from '../mocks/handlers'

MyStory.parameters = {
  msw: {
    handlers: {
      login: handlers[0],
      user: handlers[1]
    }
  }
}

Such reference is brittle and may easily lead to unexpected behaviors once you add/move/remove handlers. I wouldn't advise on restructuring handlers for Storybook alone, as it's still a rather specific use-case where MSW can be used.
Taking this into account, I'm currently considering having an internal mapping of the list of handlers to the object structure that supports parameter merging. Something along these lines:
// msw-storybook-addon
function toObject(handlers) {
  return handlers.reduce((obj, handler) => {
    const name = `${handler.info.method}+${handler.info.mask}`
    obj[name] = handler
    return obj
  }, {})
}

msw(args) {
  // Accept "args.handlers" as a list of handlers
  // and map them to an object to support parameter merging.
  const obj = toObject(args.handlers)
}

My main motivation to considering such an approach is:

Object structure is an internal requirement, not necessarily a public API change.
Managing objects is still cumbersome, given 1 key represents 1 handler (the nested list of handlers has the same merge issues as the entire handlers property being a list).
This makes the existing list of handlers immediately reusable with Storybook.

Such an approach also has some downsides, for instance, it becomes tedious to explicitly disable a certain handler for two reasons:

The user has no access to the generated name of the handler in the object.
The handlers property of the add-on is still a list, in this case, so they still cannot pass a value like { handleName: null } to implement explicit disable of the handler.

Frankly, I see this downside as a rather relative one, and I'll elaborate on why that is below.
Explicit vs Implicit
As I've stated previously, I'd always recommend our users favor explicit configurations. In this context, it implies composing the list of handlers for each Storybook configuration level (global/meta/story) individually:
MyStory.parameters = {
  msw: {
    handlers: [
      ...auth,
      ...user
    ]
  }
}

AnotherStory.parameters = {
  msw: {
    handlers: [
      // I don't wish to have "auth" handlers here.
      ...user
    ]
  }
}

The benefits of explicit configuration:

It's always easier to read because you don't need any external context to understand the applied values in their entirety.
It's easy to add/remove values for specific use cases (stories).

In a general context, there are no downsides to explicit configuration. Usually, when people see such recommendations, they have one main concern: it's too verbose. I disagree with that statement. The benefits that explicit imports and usage give you outweigh any kind of verboseness by a mile. The cost of import is virtually zero (especially considering module concatenation during the build). The only reason to think this setup is verbose is when you assume a lot of handlers are being imported. That on its own is an issue, as I doubt you'll have more than 5-8 groups of handlers at the same time for a story. If you do, I'd strongly recommend grouping your handlers by feature/domain—that'd be beneficial in general. You can also utilize functional composition as the last resort in the case of a justified large number of handlers.
In the context of this add-on, there's another downside to the explicit configuration: users' familiarity with parameter merging in Storybook. In no way do we wish to break the development flows the users of Storybook are accustomed to. At the same time, we wish to respect and support the development flows the users of MSW are accustomed to, so there are no "oh shoot" moments when integrating these tools. That's why I suggest combining the two experiences:

Keep the handlers as a list for the users.
Map the handlers to an object internally, so that parameter merging is functional as the users expect.

While the combination of these approaches has some difficulty on its own, I'd rather explore and solve that difficulty than ask our users to do an entirely different, unfamiliar setup when they switch to other tools.


Add Footer Section to Improve Site Navigation and Consistency

Describe the Issue
The current page design lacks a footer section, which can impact both user experience and site navigation. A well-designed footer would enhance accessibility and provide additional resources for users. Here are some suggested elements to include in the footer:
Navigation Links: Quick links to important sections like "Home," "About," "Contact Us," and "Get Involved" pages.
Social Media Links: Links to social media profiles for community engagement and updates.
Contact Information: Contact details or a link to a contact page for support inquiries.
Terms and Privacy Links: Links to "Privacy Policy" and "Terms of Service" to ensure legal compliance.
Back to Top Button: An optional button for users to quickly return to the top of the page.

Affected Page
.
Steps to Reproduce

Go to '...'
Click on '...'
Scroll down to '...'
See error

Expected behavior
.
Screenshots
No response
System

Device: [e.g. iPhone 6, Laptop]
OS: [e.g. iOS 14, Windows 10, Ubuntu 20.04]
Browser: [e.g. Chrome, Safari]
Version: [e.g. 22]

Additional context
No response

"The current page design lacks a footer section"
Which current page is this? Can you provide a URL?

https://contribute.freecodecamp.org/intro/


[Bug] Solve RefetchEndpointsByName Error

Error occures when Sysrtem is changedin Frontend

Estimated Story Points: 1

Real Story Points: 1


Onboard sv-tests as a graduated project

@tgorochowik and @kgugala could handle this.

This needs a bit more work, including extracting submodules and due dilligence with the CLA, but we have a green light from legal to do this. Once the PR with the application is opened, we will make sure everything is in place and then we can vote on this.

Done with #69 #70 #71


Network scan discovery: add ability to specify the network(s) to scan

This PR just adds the option to specify exactly which network(s) to scan, instead of depending on the default mechanism of interrogating the network adapters.

Coverage increased (+0.2%) to 57.839% when pulling 2bee12e1c7baf7c36c516ecc79ad31a039b4fcd8 on pwt:net_select into ecb9112c21218e83dd52b05576cde4213c2aaf68 on SoCo:master.

Coverage increased (+0.2%) to 57.839% when pulling 2bee12e1c7baf7c36c516ecc79ad31a039b4fcd8 on pwt:net_select into ecb9112c21218e83dd52b05576cde4213c2aaf68 on SoCo:master.


Enable CI

Related issue

#1

This repository dashboard in Travis CI
https://travis-ci.com/github/lerna-stack/akka-entity-replication
Steps to generate a encrypted environment variable I did
    # encrypted TRAVIS_ACCESS_TOKEN
    - secure: "cPvAep68ccZINFN39lhgN36hg0kz3owJJo8iXs8ek3c5JBtpBLu+johyqcXwK/TT0zZMIMmhrLKnRmlG4/NilFu9Z2IqIPLN43ZsZ5co0Awcz+q6qjuCuu6uJJt1i0n1wZlqY/muOifub2139tx6q6Kk7lm+WRG5AMX9NSc0KUweXxucsAjuBdQzSDI3vBiVFeQ21gzSM1QfBiQoDxZDqah/IifxrVSeB0ibSYVVbwmEc35MEt+oEXxC4j6TayUGGRNItqGidkZ45uVqDGltV/DCM498OlIBEzR4yHw1/NuCJNO0sLJ4GPJXfF7epJfAYwiHw2jHf1eXeQD80jHW3dped2kVYCUb3oBfGl9mGskpAPFwuiyQjZzQlXXMdWa5BIt8vTqYHcmzmdn36jshCJ8zIO/XUI9LCUUtblimJ4EkP26FD0E4nGAZTaE8+zhBvchORcSErZuI2p3qZ8HYntXIHXbeFbxsbOOSxnKdywPVFvGoNpGj/Ct2yhej2v/njNzqBVwVb7ABg98wLpTGYp6zi6hje7zKXLPKAxMNa/0fYB2d9ViKcFgLWsN7dBkNURfLUU9sPxZsllgE60xwqmcOHY2AwWe4san7VM3r1HMqr0Nc4qTtZ5S6BtEKXDvoWn1WMURe2rrWYFUlMioar1PQoGmFachnBobtbPnnOOU="

(This variable is used to print error summary in after_script)
Generate GitHub personal access token.

URL: https://github.com/settings/tokens
Checked: repo, user:email

Login with travis cli.
travis login --pro --github-token xxxxxx

Encrypt access token for Travis CI.
travis encrypt --pro -r lerna-stack/akka-entity-replication TRAVIS_ACCESS_TOKEN=xxxxxxx

CI settings I changed
https://travis-ci.com/github/lerna-stack/akka-entity-replication/settings
To avoid restriction of Travis CI OSS plan (the number of concurrent jobs is limited to 5), I changed the settings below.

Build pushed branches (off)
Auto cancel branch builds (on)
Auto cancel pull request builds (on)

GitHub settings I changed
https://github.com/lerna-stack/akka-entity-replication/settings/branch_protection_rules/17722558
To allow merge if all tests and checks are passed.

Require status checks to pass before merging (on)

Reference

sbt Reference Manual — Setting up Travis CI with sbt
Building a Scala project - Travis CI
Environment Variables - Travis CI
Build Stages - Travis CI
Job Lifecycle - Travis CI

We will use GitHub Actions instead of TravisCI: https://github.com/lerna-stack/akka-entity-replication/pull/8

We will use GitHub Actions instead of TravisCI: https://github.com/lerna-stack/akka-entity-replication/pull/8


arch: arm: builtin stack guard feature (for Non-Secure state)

Super-set of #6557

Codecov Report

Merging #7215 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #7215   +/-   ##
=======================================
  Coverage   55.02%   55.02%
=======================================
  Files         477      477
  Lines       51744    51744
  Branches     9949     9949
=======================================
  Hits        28474    28474
  Misses      19307    19307
  Partials     3963     3963

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 a12138d...1a7c572. Read the comment docs.


the configuration required for this project

Can you please tell me the configuration required for this project. I'm deploying on a 2 core 4g cloud server, but the switching between pages is very slow.

i run the "bun run build", still very slow


further memory optimization and decoupled updating the mesh from drawing

changed as described in
https://github.com/Yoooi0/vam-debug-utils/pull/1#issuecomment-1792234213
and exposed updating and drawing the mesh as separate methods to run them in Update() and FixedUpdate() or at different fps in general.

and exposed updating and drawing the mesh as separate methods to run them in Update() and FixedUpdate() or at different fps in general.

Why would you want that?

GetIndices returns a copy, Array.Resize creates another array and copies the content, the loop overwrites everything in the array anyway.

GetIndices returns a copy but it is also prefilled with previous indices, which could be used to optimize the for loop.
But you are right it should not be called on each call.

If the indices arrays size doesn't change there's no need to update the mesh's indices at all. Thus, Array.Resize always creates a new array when it's needed.

Why would you want that?

Because I'm drawing so many vertices that it has an impact on fps if it's refreshed every frame.

Reordered some stuff, should work the same


DUPLO-26226 TF:EKS: Terraform should not allow to add taints for Linux docker/ Native type hosts

Overview
Restricting taints on native host and docker
... (don't forget to put your clickup ticket ID in the title) ...
Summary of changes
Restricting taints to be applied on native host or docker in duplocloud_aws_host and duplocloud_asg_profile resources
This PR does the following:

Created a custom diff function which validate use of taints
...

Testing performed

[ ] Using unit tests
[✔ ] Manually, on my local system
[ ] Manually, on a remote test system

Describe any breaking changes

...

Task linked: DUPLO-26226 TF:EKS: Terraform should not allow to add taints for Linux docker/ Native type hosts


Package vagrant broken: camlp4 is not available for OCaml 4.09.1

Describe the bug
in job ‘vagrant.x86_64-linux’:
camlp4 is not available for OCaml 4.09.1

To Reproduce
Steps to reproduce the behavior:

Build vagrant on latest master
Get error

Expected behavior
Builds
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.
Metadata

system: "x86_64-linux"
host os: Linux 4.15.0-72-generic, Ubuntu, 18.04.4 LTS (Bionic Beaver)
multi-user?: no
sandbox: yes
version: nix-env (Nix) 2.3.3
channels(maciej): "nixos-20.09pre218613.ae6bdcc5358, nixpkgs-20.09pre218717.05f0934825c"
nixpkgs: /home/maciej/.nix-defexpr/channels/nixpkgs

Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute:
 - vagrant
# a list of nixos modules affected by the problem
module:

Broken in 4dd89ce0a0f72fc3608d33f9d9f7c23529d4c9aa. I don't know anything about ocaml, so I'm not well qualified to fix this. CC @vbgl

Apologies for breaking vagrant.
Thanks for reporting this issue; PR #84457 should fix it.


diagnose: fix disk used percent information (#7487)

Signed-off-by: crazycs<EMAIL_ADDRESS>
cherry-pick #7487 to release-4.0

/run-all-tests

/merge


Issue with Dracula less file error activating the theme

errors activating Dracula theme

---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
<ipython-input-14-f878353707fe> in <module>
      2 import jupyterthemes as jt
      3 from jupyterthemes.stylefx import set_nb_theme
----> 4 set_nb_theme('dracula')

C:\ProgramData\Anaconda3\lib\site-packages\jupyterthemes\stylefx.py in set_nb_theme(name)
    476     from IPython.core.display import HTML
    477     styles_dir = os.path.join(package_dir, 'styles/compiled/')
--> 478     css_path = glob('{0}/{1}.css'.format(styles_dir, name))[0]
    479     customcss = open(css_path, "r").read()
    480

IndexError: list index out of range

Well, theme in this repository is called darcula, not dracula.

Well, theme in this repository is called darcula, not dracula.
silly me


Warning: proc_open(): CreateProcess failed, error code - 2

First, thanks for taking to time to write this PHP wrapper class.
I'm in a bit of a bind and don't have a clue on how to fix this issue. My server is running Windows Server 2008 R2, PHP 5 and Tomcat Apache.
The error cites line 300 in the WkHtmlToPdf.php file:
$process = proc_open($command, $descriptors, $pipes, null, null,barray('bypass_shell'=>true));
I'm not quite sure what this error means, and after googling it there were no viable answers. I think this is more a Windows error than PHP error, but no idea how to resolve it. Any help is greatly appreciated.
Michael

Hi,
I am facing the same error even after when I have configured the bin option.Is there a way to solve this issue.Thanks.

Try to use exec() instead of proc_open(). You can set the useExec option:
$pdf = new Pdf(array(
    'commandOptions' => array(
        'useExec' => true,
    ),
));

Hi,
Thanks for the reply.Sorry for not properly elaborating my problem but now I have updated my problem.Actually I am still using version 1.2.6 on windows and facing this problem.

I think I can't help you with 1.2.6 version. Why don't you upgrade to the latest release?

Yeah I understand but the problem is that I had used the old release of wrapper in a module which I had developed some time back but now I need to upgrade module but still don't want to upgrade wrapper because it worked perfectly earlier.
Btw: In old release at present $pdf->saveAs("xyz.pdf"); is working perfectly but $pdf->send(); is causing a problem.Can you please atleast give me hint?
Thanks

I have no idea, sorry, so you have to find out for yourself. But please keep me updated, if you find something to fix.

Hi,
I decided to move to newer release but I am facing this error:
Fatal error: Uncaught exception 'Exception' with message 'Could not create PDF: 'wkhtmltopdf' is not recognized as an internal or external command, operable program or batch file.' in C:\xampp\htdocs\project\testpdf.php:27 Stack trace: #0 {main} thrown in C:\xampp\htdocs\project\testpdf.php on line 27
when I am using this code:
use mikehaertl\wkhtmlto\Pdf;
$pdf = new Pdf;
$pdf->addPage('....');
$pdf->saveAs('google.pdf');
if (!$pdf->send()) {
throw new Exception('Could not create PDF: '.$pdf->getError());
}
Thanks

wkhtmltopdf is not in your search PATH. You should configure the full path to the binary in the binary configuration option. See https://github.com/mikehaertl/phpwkhtmltopdf#special-global-options.

Hi, thanks for your previous reply.Sorry for constantly asking questions now the $pdf->saveAs() is working but if I try to do $pdf->send("save.pdf") the pdf is downloaded but when I try to open it says:
"failed to load pdf document ". Same thing is happening if try to load pdf as inline.
I tried to debug and I am facing this warning:
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\project\core\vendor\mikehaertl\php-tmpfile\src\File.php:77) in mikehaertl\tmp\File->send() (line 69 of C:\xampp\htdocs\project\core\vendor\mikehaertl\php-tmpfile\src\File.php)
Line 77 says this: readfile($this->_fileName);
Thanks.

@zealfire Discussed here: #74. One note: Please keep the issues free of discussion and focussed on one problem only.

I have such a problem was because .xml configuration file had specified an incorrect path to the Far

I have such a problem was because .xml configuration file had specified an incorrect path to the Far

I am getting this error while creating arc diff  EXCEPTION: (Exception) Failed to passthru proc_open(): proc_open(): CreateProcess failed, error
code - 5 at [\src\future\exec\PhutilExecPassthru.php:103].
Can any one please help


cached dynamic content

[ ] dynamic content options (compile options?)
[ ] check with hashes

All will be dynamic using an observer model so the "Static-ness" is down to whether a user updates the files on disk


YARN-10250 - find: File system loop detected - list debug force true

1997

 Quality gate: Failed
1 Issues

 1 Code issues

Details


Low complexity novel k-mers and contig assembly

The LinearPathAssembler kevlar has been using thus far to retrieve contigs from the assembly graph doesn’t handle non-branching cycles in the graph very well. As a stopgap solution, I added an option to kevlar collect to specify a list of k-mers to ignore when retrieving contigs from the graph. To find out which k-mers were problematic, I had to run kevlar collect a few dozen times with debugging print statements to find out which k-mers were causing it to choke. Luckily kevlar collect is pretty quick and this didn’t take a huge amount of time, even though it was tedious. For my latest run (results from 32 kevlar find runs with k-mer banding), there were 12 problematic k-mers. Adding these to the kevlar collect --ignore flag leads to a successful run.
Since all of these problematic k-mers were AT-rich and low-complexity, my first thought for a more robust solution was to filter out low-complexity novel k-mers. I poked around with this a bit, but I’m concerned that it will lack specificity, and it turned out complexity scores are not as trivial to compute as I initially thought.
And then of course I thought of the fact that we’ve been talking about using a less naive assembly approach for a long time and tried substituting the LinearPathAssembler with the JunctionCountAssembler. This was a straightforward substitution, and handled all of the previously problematic k-mers with finesse. I still need to evaluate the contigs assembled by the two different assemblers, but this seems like the best long-term solution, especially if it gives us longer contigs.

Closed now that the junction count assembler and k-mer skipping option have been integrated with #23.


confuse about the error return  in grpc call when ctx is Done

https://github.com/micro/go-micro/blob/956be5c59d28d2f437eb383783091a7604013540/client/grpc/grpc.go#L138
why doesn't the err from ctx wrapped by micro error?
i suppose i should look like below?
	select {
	case err := <-ch:
		grr = err
	case <-ctx.Done():
		grr = microError(ctx.Err())
	}

shouldn't it be like:
errors.New("go.micro.client", fmt.Sprintf("%v", ctx.Err()), 408)

Can you open a PR @lqczzz ?

fixed by #1166


Fix FindLeader to return ip:port.

This used to work previously because everything was on the same machine. Now we need IP:port.

@renga86 fyi

thanks @varks. I was adding debugs to find out, glad you fixed it already.


style: reduce bit misspelling README

see Content section.

Please use the right format.

Hello.
A paper in Adapter category is in lists.
Thanks in advance.


Missing Metadata on nodes prevent bootstraping

Bug Report
When using the no cloud talos image to deploy talos on various resources (BareMetal and openstack), the talos ccm fail to get the needed metadata to complete the bootstrap process
Description
I'm using the talos no cloud image to deploy talos to various platforms (openstack, baremetal and proxmox). When bootstrapping baremetal and OpenStack ressources, the bootstrap fails because Talos didn't generate the needed Metadata by talos CCM.
The nodes in question are still stuck with the taint : node.cloudprovider.kubernetes.io/uninitialized=true:NoSchedule
Logs
From CCM :
I0817 13:01:02.886637       1 node_controller.go:263] Update 8 nodes status took 10.228623ms.
I0817 13:02:19.371544       1 node_controller.go:427] Initializing node talos-staging-wn-04 with cloud provider
E0817 13:02:19.377186       1 node_controller.go:236] error syncing 'talos-staging-wn-04': failed to get instance metadata for node talos-staging-wn-04: error getting metadata from the node talos-staging-wn-04: rpc error: code = NotFound desc = resource PlatformMetadatas.talos.dev(runtime/platformmetadata@undefined) doesn't exist, requeuing
I0817 13:02:39.334546       1 node_controller.go:427] Initializing node talos-staging-cp-03 with cloud provider
E0817 13:02:39.337182       1 node_controller.go:236] error syncing 'talos-staging-cp-03': failed to get instance metadata for node talos-staging-cp-03: error getting metadata from the node talos-staging-cp-03: rpc error: code = NotFound desc = resource PlatformMetadatas.talos.dev(runtime/platformmetadata@undefined) doesn't exist, requeuing

When running "talosctl -n $IP get platformmetadatas.talos.dev" from a working (proxmox) node i do have some metadatas :
NODE          NAMESPACE   TYPE               ID                 VERSION   PLATFORM   TYPE   REGION   ZONE <IP_ADDRESS>   runtime     PlatformMetadata   platformmetadata   1         nocloud
And on a non working node (baremetal/  i have an empty return
Environment

Talos CCM version: 1.4.0
Talos version: 1.5.0 or 1.4.5
Kubernetes version: v1.27.3
CNI: Cilium without KubeProxy
Platform: amd64 on baremetal/openstack

Hello, the bast way to understand what wrong happened:

check the Talos PlatformMetadata resource talosctl -n $IP get platformmetadatas.talos.dev -oyaml, (-oyaml is required). By this command you will see that Talos figured out about current planform.
check the dmesg logs (first 150 line should enough)

resource PlatformMetadatas.talos.dev(runtime/platformmetadata@undefined) doesn't exist, requeuing

i think, Talos cannot call the metadata server (no route to host) or have issue with parsing the response.


Support IPFS URI protocol

Initial implementation done. Should probably take a multi address for the gateway rather than a url.


Common method accessors don't send any auth credentials

const sdk = require('api')('@developers/v2.0#README_REGISTRY_UUID');

sdk.auth('MY_API_KEY');

(async () => {
  await sdk.get('/docs/MY_DOC_SLUG')
    .then(console.log)
    .catch(async err => {
      const res = await err.json()
      console.log(res)
    })
})()

The simple HTTP method accessors right now call spec.operation(path, method) but that's always going to return an empty Operation object because oas doesn't know where in the spec this path is at. Instead of doing spec.operation() it should do spec.findOperation() and if it can't find the operation fallback to an empty Operation object as it currently is.

These are being removed in https://github.com/readmeio/api/pull/539.


Restructure docs pages

Summary

Make headings capital case
Move pages

Change Type
Mark the type of change your PR introduces:

[ ] Bug fix (resolves an issue without affecting existing features)
[ ] Feature (adds new functionality without breaking changes)
[ ] Breaking change (may impact existing functionalities or require documentation updates)
[x] Documentation (updates or additions to documentation)
[ ] Refactoring or test improvements (no bug fixes or new functionality)

Testing
Outline how the changes were tested, including steps to reproduce and any relevant configurations.
Attach screenshots if helpful.
Review Checklist:

[x] Reviewed my own code for quality and clarity.
[ ] Added comments to complex or tricky code sections.
[ ] Updated any affected documentation.
[ ] Included tests that validate the fix or feature.
[ ] Checked that related changes are merged.

coverage: 47.938%. remained the same
when pulling 60ae555a74f0f6adb4e850b624a2478a59867962 on eleftherias:docs-structure
into d2035c27a2cb06600f5d1ebfb683df539b37d830 on stacklok:main.


remove procps

the blockchain-k-plugin is updated to no longer use this dependency, so it is no longer required to be passed anywhere.

It's beyond obnoxious that I've run the integration tests on this PR four times and it's failed four times even though the failures have absolutely nothing to do with this pr. I don't have time to keep trying, so you'll have to fix this yourselves later.


Render not effect in reading mode

When I highlight some line in edit mode, it effect immediately, but not effect in reading mode. I should click another document and then back to, it's normally.
Test in obsidian 1.6.7, sandbox
CodeblockCustomizer 1.2.7

Yes, I know, I haven't found a solution for this. This happens, because this is how Obsidian works. Changing the highlight parameters, does not trigger a rerender for reading mode, because Obsidian doesn't recognize that text as parameters.

@mugiwara85 Thanks for reply, I also have a question. Why the first line left align default, even i add some space(only in reading mode).
edit mode

reading mode

@yifan0414 That is probably a bug. It has probably to do something with the fold indicator in reading view. I am already working on a new version. I will fix this also before the next release.

It is fixed now. I want to do 1-2 other things, and then it gets released.

Fixed in version 1.2.8


Add badge and integration for Dependency CI

This PR updates the README to include a badge for Dependency CI (replaces VersionEye).

Coverage remained the same at 78.089% when pulling 8482f6f5112a2eeb24a6bffde4afcd3d6c5a0955 on dependency-ci into 0a05fe25107dd64a3de3e7b6ff50ebb9d20571d0 on master.


Initial commit.

Task/Issue URL:
Description
Steps to test this PR
Feature 1

[ ]
[ ]

UI changes

Before
After

!(Upload before screenshot)
(Upload after screenshot)

#5019
#5018  👈
develop

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @anikiki and the rest of your teammates on  Graphite


helpers: isError: strict type comparison instead of implementing check

Closes https://github.com/Antonboom/testifylint/issues/95

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 94.183%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1878

Relevant Lines:
1994

💛  - Coveralls

I'll try to perform the same analysis I made here
https://github.com/Antonboom/testifylint/issues/93#issuecomment-2133226047
And I will tell you if something change

I'll try to perform the same analysis I made here
#93 (comment)
And I will tell you if something change

Nothing changes on the code I have (number of error reported, and error reported), so I would say it's OK


History doesn't seem to work

Hi,
First of all, thank you for what you've done. I seem to have problems making history work. This is my config:
history_file=~/.config/splatmoji/history
history_length=10
rofi_command=rofi -dmenu -p splatmoji -i -theme purple -columns 2 -drun-match-fields categories -matching fuzzy -sorting-method levenshtein
xdotool_command=xdotool sleep 0.2 type --delay 100
xsel_command=xsel -b -i

I think the history is supposed to be shown at the top, but I don't see anything.

Whoops! Sorry, this is my fault - a bad example provided inside the config file.
Fix is simple: be explicit for the history file path, as the tilde will not be expanded. E.g. history_file=/home/myusername/path/to/thing
Let it be noted that @WPettersson was 100% when he pointed this out as a problem and I just failed to clean it up before it caught you. I'll be pushing a correction shortly! 😇

Thank @cspeterson  for your reply. I tried to full path, and it doesn't seem to change anything :slightly_frowning_face:
I guess there's no need for a "restart" or something, right? Every time I start splatmoji, it should read the updated config file, right?
I also tried to create the file manually, but the history isn't showing up

The config file should be freshly read every time, yes. I'm trying to work out what could be going wrong, but I'm not sure. Depending on how comfortable you are with the idea, you could add echo ${history_file} lines to collect_data_files() in the lib/functions file to begin with, to make sure the config file is read properly.

I'm good with the idea 🙂
So, I added this line to there:
  echo history_file = "'${history_file}'"

And this is the output when I do splatmoji type:
history_file = ''

That's disconcerting. What if you use splatmoji -v type in a terminal? It should still not store history, but it'll show the config in the terminal.

Yup, it shows this:
# Config:
# Config:
'history_length': '10'
'xdotool_command': 'xdotool sleep 0.2 type --delay 100'
'history_file': '/home/farzad/.config/splatmoji/history'
'xsel_command': 'xsel -b -i'
'rofi_command': 'rofi -dmenu -p splatmoji -i -theme DarkBlue -columns 2 -drun-match-fields categories -matching fuzzy -sorting-method levenshtein'
h

Okay ... I don't know why history_file wouldn't work then. Can you try either applying https://gist.github.com/WPettersson/3f1e2384e029aeb8044221779c1b6da0, or adding debug prints to both branches of the if on line 41?
Actually, just to check, are you running the latest git version of splatmoji, or a packaged version from somewhere?

I'm gonna try the patch in a bit, but about the package, I'm using the splatmoji-git AUR package, so I'm guessing it should be the latest git version

That does sound like an old version. If you re-build the AUR package (run makepkg again with appropriate options) it should download the latest git once more.

Hey @WPettersson , I re-installed the package, and the history seems to be working fine now 🙂
Just one suggestion: I think it's a good idea to have a history similar to what rofimoji has, where it shows a separate row of history, along with shortcuts alt + 0 ... 9 to enter them
I'm gonna close this since it doesn't seem to be an issue with the latest result

@farzadmf first of all I didn't know about rofimoji before this moment so thanks for sharing! 🙂
So I'll make myself more familiar and have a think about changing the UI operations, thanks!

PS I have no idea how AUR works nor do I know who created that out-of-date one
I'm totally open to making Pacman packages though, as it appears that it is a supported for fpm (by the packing tool I'm currently using) so lemmee see what I can do 😉

and @WPettersson ty for sorting this out! 😅


Can connect but don't see any workspace

My config:
    "abapfs.remote": {
        "tst": {
            "url": "http://sapdev.server.local:8000",
            "username": "MYUSERNAME",
            "password":  "some...!",
            "language": "EN",
            "client": "200",
            "allowSelfSigned": true
        }
    },

Vscode output is this
activating ABAPfs...
creating language client...
starting language client...
Activated,pid=74700, activation time(ms):5
Error in stat of adt://tst/pom.xml
adt://tst/pom.xml
Error in stat of adt://tst/build.gradle
adt://tst/build.gradle
Error in stat of adt://tst/pyproject.toml
adt://tst/pyproject.toml
Error in stat of adt://tst/setup.cfg
adt://tst/setup.cfg
Error in stat of adt://tst/tox.ini
adt://tst/tox.ini
Error in stat of adt://tst/pylintrc
adt://tst/pylintrc
Error in stat of adt://tst/node_modules
adt://tst/node_modules
Error in stat of adt://tst/pom.xml
adt://tst/pom.xml
Error in stat of adt://tst/app/src/main/AndroidManifest.xml
adt://tst/app/src/main/AndroidManifest.xml
...

Workspace was not under extension tab but in files 😓

Hi there,
could you please let me know how exactly you solved this issue as I am having the exact same problem. Unfortunately your comment about 'workplace was not under extension' is not a 100% clear to me.
Thank you.
Kind regards
Christoph

Workspace was not under extension tab but in files

Hi there,
could you please let me know how exactly you solved this issue as I am having the exact same problem. Unfortunately your comment about 'workplace was not under extension' is not a 100% clear to me.
Thank you.
Kind regards
Christoph

No need to open "abap fs" in sidebar. You will see remote files under "explorer" sidebar after restart.
However due to a lot of locking problems with files this extension was unusable to me. Had to switch to eclipse 👎

Sorry to read that

If you know any solution, you are welcome. Vscode keeps reverting my changes on save. while no error is output to abap fs console. I believe this is some locking issues :|

Ok, that's another story.
This si the highest priority bug right now, and affects one of my dev systems too.
Worked quite a bit on it but couldn't find a way to fix yet


Appsignal.Phoenix.Instrumenter

According to: http://docs.appsignal.com/elixir/integrations/phoenix.html#phoenix-instrumentation-hooks, Appsignal.Phoenix.Instrumenter should exist somewhere in the library. I can't find it.
Probably related it,  and I get an error here: https://github.com/appsignal/appsignal-elixir/blob/9124eb8b33d07c225007dcca50ca494461df2cfc/lib/appsignal/instrumentation/helpers.ex#L57 because it looks like there isn't a conn = assign(conn, :app_signal_transaction, ...)
e.g.
** (exit) an exception was raised:
     ** (KeyError) key :appsignal_transaction not found in: %{}
         (appsignal) lib/appsignal/instrumentation/helpers.ex:57: Appsignal.Instrumentation.Helpers.instrument/6

On a side note, the number of errors I've found is maddening. I used the library before it hit 1.0 and things went smoothly. Now, it's just breaking left and right. It feels like you haven't actually tried to set up an app by following your documentation. It could just be me, though. I really want to like AppSignal and I'm hoping I've run into all these problems because you've just been so overwhelmed by the positive response to the Elixir integration, you haven't had a time to go back to the docs. If so, congrats! AppSignal seems pretty sweet and I look forward to getting it up and working soon.

Hi again @scottmessinger ! Thanks for reporting these issues 👍  Sorry to hear your experience hasn't been that great. It's true that our docs are lagging behind a bit. And I'll admit I screwed up some of the examples in the rush to get it live. I'll give it another good review today and fix any issues I find.
About the Appsignal.Phoenix.Instrumenter module: It should exist here: https://github.com/appsignal/appsignal-elixir/blob/b38077e6abebc3b05334c700fba32da572c7b48d/lib/appsignal/phoenix/instrumenter.ex
Are you running into an error while trying to use it?
About the instrumentation function for Phoenix: Looks like there is still some old code expecting that assignment. We rewrote that pretty recently and I've personally never actually used that instrumentation function using the Phoenix connection. I'll have a look and see what's going wrong there. You can always use the alternative way by looking up the transaction manually, but seeing as you reported issue #99 I'm assuming you already tried that 😞
Do let us know when you run into issues like this. It will help us improve our docs a lot, something we're trying to do a lot more actively right now, but it's a lengthy process

Thanks for being so responsive. I've been really impressed by both AppSignal and how it works with Phoenix (back when it was working for me) so I'm excited to see the bugs worked out! Also, docs are hard and time consuming -- I don't envy the task! Good luck and let me know if you want me to test out a branch or anything.

Hi @scottmessinger,
So far I've reviewed most of the Elixir docs on the documentation website, http://docs.appsignal.com/elixir/. I can't guarantee it's a 100% accurate right now, but we'll continue to update it and also reflect any updates back to the package docs on https://hexdocs.pm/appsignal/
I've created an issue for the broken Phoenix based instrument helper function in https://github.com/appsignal/appsignal-elixir/issues/174
We're going to look at why that function (still) exists. It's probably going to be removed, because that's not longer how we keep track of the current transaction.
The alternative for that helper is to use the instrument helper function using the transaction directly: http://docs.appsignal.com/elixir/instrumentation/instrumentation.html#helper-instrument-helper
Are you still encountering an issue with the Appsignal.Phoenix.Instrumenter not being found?
Did you run into any other bugs you've so far not reported?
Do you need any other help getting the AppSignal integration set up? It could be that some of the issues you're still encountering is because we rewrote parts and it no longer behaves the same way.
Let me know what issues you're having so we know what's broken and where :)
Tom

Hey @scottmessinger,
Thanks a lot for reporting this issue in our documentation, and sorry for the inconvenience. The instument/1 issue (#174) has been fixed and we've updated the documentation. I'm closing this, please open a new issue when you run into any other errors in the documentation. Thanks again!


How do you merge two dictionaries and override values?

kclcode
_image = option("image", help="镜像地址", required=True)
_app : str = option("app", help="应用名称", required=True)
_namespace : str = option("namespace", help="命名空间") or "default"
# https://github.com/kcl-lang/kcl-go/issues/271
# envs = option(key="envs",type="dict", help="环境变量")
_envs = option("envs",type="dict", help="环境变量")
_MQTT_BROKER_URL = option("MQTT_BROKER_URL", help="MQTT_BROKER_URL", required=False) or "tcp://1111"
_EDGEMANAGER__CLOUDBROKERADDR = option("__EDGEMANAGER__CLOUDBROKERADDR", help="__EDGEMANAGER__CLOUDBROKERADDR", required=False) or "tcp://1111"
_EDGEMANAGER__NODEID = option("__EDGEMANAGER__NODEID", help="__EDGEMANAGER__NODEID", required=False) or "tcp://1111"
_EDGEMANAGER__CACERTHTTPSERVER = option("__EDGEMANAGER__CACERTHTTPSERVER", help="__EDGEMANAGER__CACERTHTTPSERVER", required=False) or "tcp://1111"
_static_env_map = {
    "MQTT_BROKER_URL": _MQTT_BROKER_URL,
    "__EDGEMANAGER__CLOUDBROKERADDR": _EDGEMANAGER__CLOUDBROKERADDR,
    "__EDGEMANAGER__NODEID": _EDGEMANAGER__NODEID,
    "__EDGEMANAGER__CACERTHTTPSERVER": _EDGEMANAGER__CACERTHTTPSERVER

}
# _static_envs = [
#                             {
#                                 name = "MQTT_BROKER_URL"
#                                 value = _MQTT_BROKER_URL
#                             }
#                             {
#                                 name = "__EDGEMANAGER__CLOUDBROKERADDR"
#                                 value = _EDGEMANAGER__CLOUDBROKERADDR
#                             }
#                             {
#                                 name = "__EDGEMANAGER__NODEID"
#                                 value = _EDGEMANAGER__NODEID
#                             }
#                             {
#                                 name = "__EDGEMANAGER__CACERTHTTPSERVER"
#                                 value = _EDGEMANAGER__CACERTHTTPSERVER
#                             }
# ]
# print(envs)
# print(_app)
assert _envs != None , "envs is required"
if _envs:
    _dy_env = [{
        name: k
        value: v
    } for k,v in   _static_env_map | _envs]
else:
    _dy_env = []
{
    apiVersion = "apps/v1"
    kind = "Deployment"
    metadata = {
        name = _app
        namespace = _namespace
    }
    spec = {
        replicas = 1
        selector = {
            matchLabels = {
                app = _app
            }
        }
        template = {
            metadata = {
                labels = {
                    app = _app
                }
            }
            spec = {
                containers = [
                    {
                        name = _app
                        image = _image
                        # env = _static_envs +  _dy_env
                        env = _dy_env
                        ports = [
                            {
                                containerPort = 80
                            }
                        ]
                        volumeMounts = [
                            {
                                mountPath = "/data"
                                name = "data"
                            }
                        ]
                    }
                ]
                volumes = [
                    {
                        name = "data"
                        persistentVolumeClaim = {
                            claimName = _app
                        }
                    }
                ]
            }
        }
    }
}
if _envs:
    _b = [{name: k, value: _envs[k]} for k in _envs]

go code
	a, _ := json.Marshal(map[string]string{"aa": "bb","MQTT_BROKER_URL":"tcp://aaaaaaaaaaaa"})
	fmt.Println(kcl.MustRun("amd64.k", kcl.WithOptions("app=nginx", "image=aaa", fmt.Sprintf("envs=%s", string(a)))).GetRawYamlResult())

errors
43 |     } for k,v in   _static_env_map | _envs]
   |  conflicting values on the attribute 'MQTT_BROKER_URL' between :
    "tcp://1111"
and
    "tcp://aaaaaaaaaaaa"
with union path :
    MQTT_BROKER_URL
try operator '=' to override the attribute, like:
    {...} | {
            ...
            MQTT_BROKER_URL = "tcp://aaaaaaaaaaaa"
            ...
    }

See the FAQ: https://www.kcl-lang.io/docs/user_docs/support/faq-kcl#37-how-to-modify-existing-configuration-blocks-in-kcl
The specific reason is that the envs input from external sources uses a merge operator, which checks for conflicts. If you want to completely overwrite it, you can use a new envs and use the overwrite operator e.g. need_to_merge_envs={k=v for k, v in envs} Note that I've used = here.

magic
if _envs:
    _dy_env = [{
        name: k
        value: v
    } for k,v in   _static_env_map | {k=v for k,v in _envs}]
else:
    _dy_env = []


proposal: move API to gRPC with gRPC-gateway proxy

low priority

Define admin and worker APIs as gRPC services.
Have dex listen for gRPC requests on high port.
Register gRPC-gateway proxy on HTTP traffic to maintain compatibility with front end JavaScript.

Proof of concept here.

Do you really think we'll be able to maintain wire compatibility via the gateway? That would be awesome...but I'm skeptical.
Also, do we have to listen on separate ports?

Do you really think we'll be able to maintain wire compatibility via the gateway? That would be awesome...but I'm skeptical.

With our limited API, yes.

Also, do we have to listen on separate ports?

I'm sure there are clever ways we could have them listen on the same port.

Awesome.

Note that grpc-gateway currently uses encoding/json which is problematic because generated gRPC structs have omitempty on every field. For example here's a struct from rkt's api.
// Network describes the network information of a pod.
type Network struct {
	// Name of the network that a pod belongs to, required.
	Name string `protobuf:"bytes,1,opt,name=name" json:"name,omitempty"`
	// Pod's IPv4 address within the network, optional if IPv6 address is given.
	Ipv4 string `protobuf:"bytes,2,opt,name=ipv4" json:"ipv4,omitempty"`
	// Pod's IPv6 address within the network, optional if IPv4 address is given.
	Ipv6 string `protobuf:"bytes,3,opt,name=ipv6" json:"ipv6,omitempty"`
}

So for instance when the following message has AdminUserCreated as false
message State {
    bool AdminUserCreated = 1;
}

grpc-gateway will respond with an empty object ({}) rather than {"AdminUserCreated":false}. Similar cases might brake JavaScript code that expects keys.
This is fixed if grpc-gateway uses a JSON encoder which complies with the protobuf -> JSON spec. I've opened an issue for this at gengo/grpc-gateway#79.

another thing to consider is authentication

omitempty on everything was a huge annoyance for our team too. If you go this route you may want to consider using https://github.com/gogo/protobuf. It offers much more flexibility WRT defining tags on the generated structs.

@bobbyrullo grpc supports authentication.
Here it shows the support of TLS and JWT authentication. Using grpc.WithPerRPCCredentials() we can also implement the Basic or Bearer auth support with the metadata of context.

Closing this. It's going to be a lot of work to get this up and running smoothly, and I'm not convinced of the benefit.


Room announcement message needs special logic to handle

Seems like room announcement message is different from the regular messages, calling mention or mentionSelf function on the announcement message will throw out errors, we need to fix this.
More info refer to: https://github.com/Chatie/wechaty/issues/1816

Resolved with commit https://github.com/botorange/wechaty-puppet-padpro/commit/2cd23573e5bc6ce66d8e129e3ed8d8f8a203129d

Related to https://github.com/Chatie/wechaty/issues/1816


Update engine and temporarily get rid of custom build directories in flutter build ios

cc @devoncarew This was part of a previous PR that was closed. This is a temporary revert till I fix this correctly. The dylibs for the service and the Dart application expect to be in a particular spot right now.

lgtm


terraform aws use spot instances

So far we pay for on demand instances, and it takes money.
Using spot instances - cheeper and allow to run more server for the same money :)
Need spot instances configuration for aws.
Thanks :)

@industral @Arriven wasn't it implemented here https://github.com/Arriven/db1000n/pull/213 ?

Many thanks! You guys do changes too fast :)


[FR] Auto indent for bullet list formatting

Feature Description
indent according to the order of different bullet symbol
Example
Selection:
lllll
• aaaa
• bbbbb
• dddd
– pppp

Result:
- lllll
  - aaaa
  - bbbbb
  - dddd
- pppp

It is confusing, the result below is also reasonable
- lllll
- aaaa
- bbbbb
- dddd
  - pppp


odb distributed setup using docker

Greetings.
I would like to ask some questions for our current odb distributed setup which is using docker. I couldn't find the exact information that I needed from the official odb documentation and the important/additional entries regarding the hazelcast configuration, plus some bits and pieces for importing/firing up the cluster, which where found via google.
For starters, our setup utilizes three servers that are using the dockerized version of 2.2.0 odb. We have a specific pipeline for installing it using jenkins and docker-compose. Here are the insides of the docker-compose file:
datanode:
  image: orientdb:2.2.0
  ports:
    - "2480:2480"
    - "2424:2424"
    - "2434:2434"
  environment:
    ORIENTDB_ROOT_PASSWORD: whatever
  command: "/orientdb/bin/dserver.sh -Dnetwork.maxConcurrentSessions=2000 -Dstorage.diskCache.bufferSize=6000"
  volumes:
    - /opt/data:/orientdb/databases
    - /opt/backup:/orientdb/backup
    - /opt/config:/orientdb/config
  log_driver: syslog
  restart: always
  net: "host"

Now, here are my questions:

The last steps that we took in order to make the distributed setup working were the following:

shut down server 02/03 and run 01 in a non-distributed mode with the default configuration (using server.sh)
import the database to this node (successfully)
shutdown 01
tar the imported database and copy it manually to 02/03
fire up the docker containers on all three servers with all the configuration that is necessary in order to start in a distributed mode (I will provide our conf files below) using dserver.sh this time

Right now the state of the cluster is the following:
+------------------------+------+----------------------+-----+---------+----------------+----------------+--------------------------+
|Name                    |Status|Databases             |Conns|StartedOn|Binary          |HTTP            |UsedMemory                |
+------------------------+------+----------------------+-----+---------+----------------+----------------+--------------------------+
|prd-bestcheck-db-ber-03 |ONLINE|pubnet=ONLINE (MASTER)|5    |09:41:26 |<IP_ADDRESS>:2424|<IP_ADDRESS>:2480|102.35MB/491.00MB (20.85%)|
|prd-bestcheck-db-ber-02 |ONLINE|pubnet=ONLINE (MASTER)|4    |09:41:13 |<IP_ADDRESS>:2424|<IP_ADDRESS>:2480|168.72MB/491.00MB (34.36%)|
|prd-bestcheck-db-ber-01*|ONLINE|pubnet=ONLINE (MASTER)|4    |09:41:00 |10.76.0
.123:2424|<IP_ADDRESS>:2480|47.46MB/484.00MB (9.81%)  |
+------------------------+------+----------------------+-----+---------+----------------+----------------+--------------------------+

Let me note here that if you start the database in a distributed mode and you try to import the database unfortunately it doesn't work. It brings up exceptions such as:
"Error during saving of record with rid #0:0", "nodes are not available" plus issues with the communication between the nodes (socket errors on the logs). These errors occur with the exact same configuration files that I used for the manual setup process that I mentioned above (the one at the bullets).
Here is our hazelcast.xml file:
?xml version="1.0" encoding="UTF-8"?>
<!-- ~ Copyright (c) 2008-2012, Hazel Bilisim Ltd. All Rights Reserved. ~
        ~ Licensed under the Apache License, Version 2.0 (the "License"); ~ you may
        not use this file except in compliance with the License. ~ You may obtain
        a copy of the License at ~ ~ http://www.apache.org/licenses/LICENSE-2.0 ~
        ~ Unless required by applicable law or agreed to in writing, software ~ distributed
        under the License is distributed on an "AS IS" BASIS, ~ WITHOUT WARRANTIES
        OR CONDITIONS OF ANY KIND, either express or implied. ~ See the License for
        the specific language governing permissions and ~ limitations under the License. -->

<hazelcast
        xsi:schemaLocation="http://www.hazelcast.com/schema/config hazelcast-config-3.3.xsd"
        xmlns="http://www.hazelcast.com/schema/config" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

    <properties>
        <property name="hazelcast.mancenter.enabled">false</property>
        <property name="hazelcast.memcache.enabled">false</property>
        <property name="hazelcast.rest.enabled">false</property>
        <property name="hazelcast.wait.seconds.before.join">0</property>
        <property name="hazelcast.logging.type">jdk</property>
        <property name="hazelcast.local.localAddress"><IP_ADDRESS></property>
    </properties>

        <group>
                <name>bc-orientdb</name>
                <password>bc-orientdb</password>
        </group>

        <network>
            <public-address><IP_ADDRESS>:2434</public-address>
            <port auto-increment="true">2434</port>
                <join>
                        <multicast enabled="false">
                                <multicast-group><IP_ADDRESS></multicast-group>
                                <multicast-port>2434</multicast-port>
                        </multicast>
              <tcp-ip enabled="true">
                              <member><IP_ADDRESS>:2434</member>
                              <member><IP_ADDRESS>:2434</member>
                              <member><IP_ADDRESS>:2434</member>
                        </tcp-ip>
                </join>
        </network>
        <executor-service>
                <pool-size>16</pool-size>
        </executor-service>
</hazelcast>

The only thing that is added on orientdb-server-config.xml is the following line:
<parameter value="prd-01" name="nodeName"/>

Obviously node two is named "prd-02" and node three "prd-03".
Finally, here's what default-distributed-db-config.json contains:
{
  "autoDeploy": true,
  "readQuorum": 1,
  "writeQuorum": 2,
  "executionMode": "undefined",
  "readYourWrites": true,
  "servers": {
    "*": "master"
  },
  "clusters": {
    "internal": {
    },
    "*": {
      "servers": ["<NEW_NODE>"]
    }
  }
}

So basically, are the above steps the ones that should be taken in order to make the data available to all nodes and have odb running in distributed mode ? Is this the only way of doing it ? We need to make sure what is the specific/right way to fire up a cluster in a distributed mode using docker.

We would like specific information for the enterprise version of odb. Are there any specific features that could make the maintenance of our cluster easier ? Which are those ?

Lastly, for some reason I cannot see the chat button, I would like to have it for direct communication.

Best Regards,
--
Akis
System Administrator
CHIP Digital GmbH

The contents of the configuration files are missing after saving the description, how can I paste them correctly?

Nvm, I've pasted them.

Hi @sobchak About that problem I suggest you to upgrade OrientDB to v2.2.4.

In Hazelcast file the properties should go after the group (it raises a XSD validation error to me). Then I suggest to use '"majority"' as writeQuorum' instead of 2`, so the configuration is dynamic and allows you to work even when the server is 1 only (at the startup for example).
if you run the EE, once connected with Studio you can see all the Enterprise features from there
About the chat, I've checked and your account is registered. Please try to logout and re-login.

Alright thanks.
I've applied the above changed that you've suggested. My only question is, I guess the configuration files that I have already deployed should work with 2.2.4 as well right?

I guess we can close this one since I had my answers via the support chat.

Could you close it?


Substituting Get for Bind in Configure throws NRE

In my Startup.Configure, when I substitute ConfigurationBinder.Get for ConfigurationBinder.Bind as follows:
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    // ...

    // RuntimeSettings runtimeSettings = new RuntimeSettings();
    // this.Configuration.GetSection(nameof(RuntimeSettings)).Bind(runtimeSettings);
    RuntimeSettings runtimeSettings = this.Configuration.GetSection(nameof(RuntimeSettings)).Get<RuntimeSettings>();

    // ...
}

In some environments (Win 10 / Server 2016), this works reliably, whereas one of my environments (Server 2012 R2) always throws the following:
dotnet .\MyApp.Web.dll
Application startup exception: System.NullReferenceException: Object reference not set to an instance of an object.
   at DataCollectionService.Web.Startup.Configure(IApplicationBuilder app, IHostingEnvironment env) in C:\scm\...\Startup.cs:line 42
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.AspNetCore.Hosting.ConventionBasedStartup.Configure(IApplicationBuilder app)
   at Microsoft.AspNetCore.HostFilteringStartupFilter.<>c__DisplayClass0_0.<Configure>b__0(IApplicationBuilder app)
   at Microsoft.AspNetCore.Hosting.Internal.AutoRequestServicesStartupFilter.<>c__DisplayClass0_0.<Configure>b__0(IApplicationBuilder builder)
   at Microsoft.AspNetCore.Hosting.Internal.WebHost.BuildApplication()

What causes the difference between environments and why is Get any different than Bind here?
Both my server environments use dotnet-hosting-2.1.4-win.exe, my Win 10 dev host has the following:
dotnet --info
.NET Core SDK (reflecting any global.json):
 Version:   2.1.402
 Commit:    3599f217f4

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.17134
 OS Platform: Windows
 RID:         win10-x64
 Base Path:   C:\Program Files\dotnet\sdk\2.1.402\

Host (useful for support):
  Version: 2.1.4
  Commit:  85255dde3e

.NET Core SDKs installed:
  2.1.202 [C:\Program Files\dotnet\sdk]
  2.1.402 [C:\Program Files\dotnet\sdk]

.NET Core runtimes installed:
  Microsoft.AspNetCore.All 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.1.4 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.1.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.1.4 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.0.9 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.1.4 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]

@HaoK any thoughts on this?

@jcasale which line is line 12 in Startup.cs? Ultimately it's a NullRef in your app's code. You might consider splitting the line into multiple lines or running it in a debugger to isolate the source of the error.

Yeah Bind is a no-op if binding fails (the object passed in is just unchanged) while Get<T> returns null if it fails to find anything

Naturally, this only manifests in prod and I don't have the luxury of attaching a debugger to it. Line 42 is somewhat ambiguous, I have WriteLines after each line and the class that is retrieved from configuration is correctly populated. If it matters, my Main looks like:
public static async Task Main(string[] args)
{
    var logger = NLogBuilder.ConfigureNLog("nlog.config").GetCurrentClassLogger();

    try
    {
        logger.Debug("...");

        var host = CreateWebHostBuilder(args).Build().RunAsync();

        // ...

        await host;

        logger.Debug("...");
    }
    catch (Exception e)
    {
        logger.Error(e, "...");

        throw;
    }
    finally
    {
        NLog.LogManager.Shutdown();
    }
}

The commented out call in between RunAsync and await is where I initialize some code that needs the host up. That is commented out at the moment but the failing environment works fine once Get is reverted back to Bind. Is this a timing issue resulting from my async main that is environment sensitive?

@jcasale prod-only errors are the best kind 😄
The pattern shown there is not a common one - getting the Task back, doing some work, and then doing the await. So, yes, it's possible that there's some code in the commented-out section that is dependent on the builder having run. What code is in there?

If its prod specific, you probably have something that only exists in your debug config that makes the runtime settings return something.  Look at the inputs into your configuration builder and likely there's some config that only exists in the debug that is the main difference

@Eilon, The code in between the task and the await is some Hangfire work, that and all the internally related Hangfire code remains commented out though and the issue persists. Regarding @HaoK's comment about the difference between Get and Bind, I threw a console write under the Get against one of the objects properties and it was populated?
@HaoK, I will check that and try to repro this tonight or tomorrow, thanks for the suggestion.

Can you put the code into Startup.cs instead? That's generally where most initialization logic goes.

@Eilon In this case, I am submitting a one-off job to Hangfire and it must be running. This is the only time I have ever had to modify Main from the template to be honest. I think @HaoK nailed it though:) I am just waiting to jump in and test.

@jcasale got it, let us know!

@HaoK you're assumption was correct, and there was a missing configuration parameter. The exception shown wasn't immediately evident to me as a result of the issue (although now it makes sense). I'll add some validation, thank you both for the instant attention and guidance!


T1485 -- unbounded dd overwrite fills disk

atomics/T1485/T1485.yaml
dd of=#{file_to_overwrite} if=#{overwrite_source}

has neither timeout nor size limit, and will fill the disk (T1499) vs just wiping the file

doh wrong repo


ARROW-11581: [Packaging][C++] Formalize distribution through vcpkg

10378

 Quality gate: Passed
 Everything looks good
Details

 Quality gate: NA
Details


ClientLoader: Cache the patched jar

This works by checking the mtime in the first file in the vanilla jar against what was it was when the client was last patched. This adds a small amount of time to the slow (patching) path, but saves much more when we are able to hit the cache.
Depends on !80

This functionality was added as part of a60d0f1a217c84fad98d61f270231103d4a62ff5


How to get rich text of cell

I have text in cell. It's Bold Italic and Underline. I need get rich text of cell.

You can get plain text from the cell with rich text by GetCellValue as normal.

I can get style of text? I

This lib doesn't support get rich text style currently, its storage at share string table. I will add this feature support later.


semaphore: update to new gobpf-ci image (bcc v0.7.0)

CI fails due to SemaphoreCI issue with qemu-kvm.


Is onSuggestionFocused actually working?

I need to know when and which suggestion is focused (not selected yet). I read in old issues that there was a onSuggestionFocused property, but It's not documented and I wasn't able to use it.

onSuggestionFocused and onSuggestionUnfocused were removed in v3.0.
Can I ask what's your use case for onSuggestionFocused?

Hi, @moroshko. I'm using autosuggest to render a search song input.

When a suggestion is focused, I need to toggle a property on it to display a play button (indicating that the song will play when suggestion is selected).

Can't you use the suggestionFocused style to show/hide the play button? You already have a grey background style for the focused suggestion, so you should be able to do something like this:
.playButton {
  display: none;
}
.react-autosuggest__suggestion--focused .playButton {
  display: inline;
}

The .playButton is actually something like .SongListItem__SongControl. It's in another component. I can do that, but I would not feel comfortable trespassing its scope. I would like to just toggle a property in my suggestion component. Do you have another solution?

To be more specific, the "display play button" do more than a display: inline. It's something like:

.control {
  transform: scale(0);
  transition: transform 100ms ease-in-out;
}

.control.focused {
  transform: scale(1);
}

It's a specific rule for this component, and if it changes someday, would be nice to just change this component.

@diegohaz Sorry, I'm not sure I understand the relationship between the Autosuggest component and the "play button". Could you create a Codepen that demonstrates the issue?

i also need to know which suggestion is focused, how would you recommend doing that?
i'm attaching a preview component next to the @autosuggest component, and i need to know which suggestion is focused so i can render its preview.

ok I've found a workaround for now, but it feels a little hacky.
i'm using getSuggestionValue or renderSuggestion which is called when a suggestion is focused to render the preview component when the user moves between suggestions with up and down arrows.
any plan to add the onSuggestionFocuesd callback?

Howdy, I also have a use case for this, but also when mouseover causes an item to be "focused". Specifically, I have some meta data sent along with each suggestion object (for example, some extra text to show next to the input box). I want to update that text each time a user focuses on the suggestion. And also remove it when there is nothing focused.
Currently, I can get around this by also doing the getSuggestionValue workaround and adding onMouseEnter in renderSuggestion. And a mouseOut of my container component, but would be awesome if this was built in to react-autosuggest. Let me know if you still need a codepen example.

@emersonyu I hope to free up some time in the next couple of weeks to implement this. This is something I was planning to add to react-autosuggest for ages.

Awesome, thanks @moroshko! I may have some time to take a look in the coming weeks too if you aren't able to get around to it. I also noticed some misc (possible) bugs which I'll file a separate issue for.

I have use case for this, it's same as this http://istarkov.github.io/google-map-react/map/main/
when hover on a suggestion, I want to draw a marker on map which is lat/lng is contained in hovered item

I was added onSuggestionFocused callback on a fork. Would you accept if i make a pull request?

I have problems with a scrollable dropdown. I have:
  max-height: 200px;
  overflow: scroll;

on theme.suggestionsList. When the user presses arrow down eventually the focused item goes in the hidden part of the overflow and the list does not automatically scroll.
I could fix it with onSuggestionFocused even if it will take a bunch of code to check if the item is visible and scroll it when necessary.


Add the ability to change the readout logic for sliders easily.

With this PR you can change the readout logic by overriding the new valueToString and stringToValue methods in Javascript.
closes #172

Broken, do not merge yet

Ok this is working now. @SylvainCorlay

@jdfreder can you explain a bit what this does?

@jgoad desired the ability to change the readout format from numbers to dates.  Specifically he wants to use the IntRangeSlider to allow the user to select a range of dates.  This requires him to subclass the JS which is fine; however, the readout logic is tightly coupled to the other properties of the widgets, so he'd have to re-implement a lot of functionality he shouldn't have to.  This PR just decouples the readout parsing and formatting code, so it can be easily replaced.

This is related to the Date trait type work then.


Fixes K->C conversion in initial_condition

This might be related to issues emerging in https://github.com/COSIMA/cosima-recipes/pull/338
But regardless, I believe that numpy.nanmin is more robust and better choice here. What do other reckon?

Do we have any tests that exercise this K -> C conversion?

Let's see if the issues discussed in https://github.com/COSIMA/cosima-recipes/pull/338 are healed with this change. If so, we should tag a patch release but also we should add a test that would fail on current main but pass after this PR.

Do we have any tests that exercise this K -> C conversion?

I doubt! But if we do, I'll modify them to have "masked" inputs!

Here, using np.nanmin did not solve the problem. When I run the notebook using modified regional_mom6.py in my home directory with the following lines:
        if np.nanmin(tracers_out["temp"].isel({"zl": 0})) < 100:
            print(" nanmin temp: ", np.nanmin(tracers_out["temp"].isel({"zl": 0})))
            print("    min temp: ", np.min(tracers_out["temp"].isel({"zl": 0})))
            print(" temp unit conversion from K to C not working!      ")
            # tracers_out["temp"] -= 273.15

I got these lines printed:

nanmin temp:  0.0
min temp:  <xarray.DataArray 'temp' ()>
array(0.)
Coordinates:
zl       float64 0.5413
temp unit conversion from K to C not working!

So NaNs have been filled with zeros! Any thoughts how?

interesting @luweiyang! thanks!
could you upload somewhere your notebook so I reproduce your result? I want to load whatever temperature you are loading...

@luweiyang, why min temp: <xarray.DataArray 'temp' ()> ?

So I think I found an error in the logic.
On main, here the mask from the initial condition is removed!! With .bfill and .ffill!
https://github.com/COSIMA/regional-mom6/blob/a0c1fb4c7964b9e1b8ae1b39e25d71e1a4165027/regional_mom6/regional_mom6.py#L726-L736
(There is a comment that promises that is later reinstated... but I doubt that is true.)
So there is no NaNs to begin with so the numpy.nanmin wasn't making any sense.
So, one thing at a time. First, the conversion from K -> C is irrelevant of any interpolation, masks or not, so it's the first thing that should happen. That's what I did with edc29ee.
Now, @ashjbarnes what happens with that promise? Because now, as you can see in the notebook, after I call expt.initial_condition and then I plot expt.ic_tracers["temp"].isel(zl=0).plot(), the initial condition seems to not have a mask for land! See

@ashjbarnes, any idea about the masking issue I'm asking above?

Hi Navid, This might be an issue with the regridding, possibly the change to buffer we did a while back! Look at the IC as plotted in your notebook. The Eastward boundary is all zeros. This can happen because there wasn't enough space on this edge to interpolate.
What's confusing me though is that in the notebook it looks like now the temperature is correctly converting to C from K?

What's confusing me though is that in the notebook it looks like now the temperature is correctly converting to C from K?

Why is it confusing? I fixed the K to C conversion as I explained above. The notebook loads and uses this branch of the package if you notice at the top cells.

This might be an issue with the regridding, possibly the change to buffer we did a while back! Look at the IC as plotted in your notebook. The Eastward boundary is all zeros.

I don't see that tbh from the notebook. How do you see that they are all zeros? Or did you run the notebook and double checked?

This can happen because there wasn't enough space on this edge to interpolate.

How can we be sure or what's the solution? Could you suggest how to fix it?

When cutting out the initial condition of access om2 forcing, just add extra room around the edges before passing this on to the package. Then check if there's still a band of zeros

What's confusing me though is that in the notebook it looks like now the temperature is correctly converting to C from K?

Why is it confusing? I fixed the K to C conversion as I explained above. The notebook loads and uses this branch of the package if you notice at the top cells.

Ok so the only remaining issue is actually about the comment not the code? It can be deleted. There's no need to re-add the NaNs onto the properly re-interpolated boundary condition

When cutting out the initial condition of access om2 forcing, just add extra room around the edges before passing this on to the package. Then check if there's still a band of zeros

Sorry I'm a bit overwhelmed with many things. Could you help me here? Could you fix the notebook?

Ok so the only remaining issue is actually about the comment not the code? It can be deleted. There's no need to re-add the NaNs onto the properly re-interpolated boundary condition

If the comment is deprecated then we should delete. If the comment was there for a reason but somehow the NaNs were not re-introduced then we should do that. I wasn't sure what was the case... I just noticed the inconsistency between the comment and what followed.

OK, @ashjbarnes I think we are good here!
Just officially you need to approve since I opened the PR. But unofficially I approve what has happened and what you brought to this PR.


how to configure spring cloud config server properties for a client from program level instead of properties file.

I am able to fetch properties values from clientName.properties file which is located inside spring cloud config server as expected.   But here I want to configure "clientName.properties" values at programmatic level instead of properties file i.e. properties and values are moving to java level instead of properties file in config server.
do we have any approach for my requirement?

Config server was not designed for this. Can you expand on why you think you need config server to do this.

Please don't cross post. Answer on stack overflow https://stackoverflow.com/questions/54984592/how-to-configure-spring-cloud-config-server-properties-for-a-client-from-program


Add prioritySequence option

Summary
This PR implement feature mention in #6194.
prioritySequence configuration can run some tests first by giving sequence.

Test plan

Unit test
e2e test

Codecov Report

Merging #8209 into master will increase coverage by 0.01%.
The diff coverage is 90.9%.

@@            Coverage Diff             @@
##           master    #8209      +/-   ##
==========================================
+ Coverage   62.31%   62.32%   +0.01%
==========================================
  Files         265      265
  Lines       10534    10482      -52
  Branches     2555     2547       -8
==========================================
- Hits         6564     6533      -31
+ Misses       3387     3366      -21
  Partials      583      583

Impacted Files
Coverage Δ

packages/jest-config/src/Defaults.ts
100% <ø> (ø)
:arrow_up:

packages/jest-config/src/normalize.ts
79.52% <ø> (ø)
:arrow_up:

packages/jest-core/src/TestScheduler.ts
62.12% <ø> (ø)
:arrow_up:

packages/jest-config/src/index.ts
12.5% <ø> (ø)
:arrow_up:

packages/jest-config/src/ValidConfig.ts
100% <ø> (ø)
:arrow_up:

packages/jest-core/src/runJest.ts
33.78% <100%> (ø)
:arrow_up:

packages/jest-core/src/testSchedulerHelper.ts
100% <100%> (ø)
:arrow_up:

packages/jest-core/src/TestSequencer.ts
88.88% <87.5%> (-0.48%)
:arrow_down:

packages/jest-snapshot/src/inline_snapshots.ts
73.33% <0%> (-7.52%)
:arrow_down:

packages/jest-runner/src/index.ts
63.63% <0%> (-4.37%)
:arrow_down:

... and 3 more

Continue to review full report at Codecov.

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

Open new PR #8223.


/etc/bash_completion.d/yum-utils.bash: line 2: /yum: No such file or directory

On RHEL/CentOS 7.4, after following the directions for installation, I get this error whenever I try to complete a command:
/etc/bash_completion.d/yum-utils.bash: line 2: /yum: No such file or directory

Clearly, this is a bug in /etc/bash_completion.d/yum-utils.bash, which is outside your purview, but I was wondering if there's any workaround I could employ? I tried commenting the yum-related lines in ~/.tcsh-completion.tcsh, but that didn't help.

Well, here's what I ended up doing:
I created a bash-completion.pc that looks like this:
prefix=/usr
completionsdir=/usr/share/bash-completion/completions
helpersdir=/usr/share/bash-completion/helpers

Name: bash-completion
Description: programmable completion for the bash shell
URL: http://bash-completion.alioth.debian.org/
Version: 2.1

And then I setenv PKG_CONFIG_PATH /usr/lib/pkgconfig:/path/to/location/of/that/pc/file. That eliminated this error. I wonder if there's a better solution though? Thanks!


Start Nearby map zoomed in

I had a conversation with User:Jim Henderson at https://commons.wikimedia.org/wiki/Commons_talk:Mobile_app#Wish_list , and a concern of his (that I agree with) is that the map frequently auto-zooms out to display an unusable dense cluster of pins, which requires the user to keep zooming back in.
I think that whenever the user starts Nearby, the map should be zoomed in to a reasonable distance (perhaps with the screen width corresponding to 1km)? The reason is that nobody can use the map while it is zoomed out the way it currently is. In order to use it, everyone will have to zoom in - so we should do that work for them.
The Nearby items (pins) however, should be loaded and populate the map to a larger radius (the way it currently works). It is just the initial display to the user that should change.
(Currently we also zoom out whenever the user taps the Nearby list button. That should be fixed too. ;))
This will need to work alongside #591 , but there should hopefully be minimal conflict.

Possibly also rather than just have a fixed scale factor it could depend on pin density i.e.. start more zoomed in if lots of pins on screen - although this could be over-complicating it.

@misaochan   Just to make sure all of us are on the same page. The following changes needs to be done

Nearby is by default zoomed out to a level making a lot of pins cluster together and we need to make sure that when nearby is loaded initially, it should be zoomed in to a possible radius of 1 km.


[Improvement][datasophon-service]The rack information displayed in the host management shows the actual name instead of the rack

Purpose of the pull request

Brief change log

Verify this pull request

This pull request is code cleanup without any test coverage.
(or)
This pull request is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:

(or)
If your pull request contains incompatible changes, you should also pull request the documentation to https://github.com/datasophon/datasophon-website

add link #437


[BUG] fix recursion error in mac for numba equi join

PR Description
Please describe the changes proposed in the pull request:

fixes recursion bug in mac for numba
resolved by running only loopy code within numba
if it can be done in pandas/numpy and perf is ok then do it there (note to self)

This PR resolves #1328 .

PR Checklist

Please ensure that you have done the following:

[x] PR in from a fork off your branch. Do not PR from <your_username>:dev, but rather from <your_username>:<feature-branch_name>.

[x] If you're not on the contributors list, add yourself to AUTHORS.md.

[ ] Add a line to CHANGELOG.md under the latest version header (i.e. the one that is "on deck") describing the contribution.

Do use some discretion here; if there are multiple PRs that are related, keep them in a single line.

Automatic checks
There will be automatic checks run on the PR. These include:

Building a preview of the docs on Netlify
Automatically linting the code
Making sure the code is documented
Making sure that all tests are passed
Making sure that code coverage doesn't go down.

Relevant Reviewers

Please tag maintainers to review.

@ericmjl

🚀 Deployed on https://deploy-preview-1329--pyjanitor.netlify.app

Pre-approving, @samukweku! Thank you for fixing this bug.

merged!


Is it possible to stop the sliding of the items?

I could not find a way to have the slider stopped to the first item. I need to slide to the second item only if I click a button "next" but I could not find a way to do it. Thanks.

Hi @silversonicaxel ,
You can able to stop the auto slider by removing interval from inputs. If you want to stop touch then remove touch too
Thanks

Ah, ok, I would make it more visible in the documentation. Thanks!


Yup string transformations are not forwarded

Bug report

[x] I have checked other issues to make sure this is not a duplicate.

Describe the bug
Transformations made with yup inside inputRole are not forwarded.
To Reproduce
const permissions = shield({
  Query: {
  },
  Mutation: {
      addUser: inputRule( yup => yup.object({
          name: yup.string().lowercase()
      }))
  }
})

Expected behavior
GraphQL should save the user with a lowercased name, even when we run this mutation with uppercased characters.
Actual behaviour
If you run this mutation with an uppercased name, GraphQL returns a user with that uppercased name.

Hey @janwo 👋,
I have given this a lot of thought over the past couple of days and here's what I've thought of so far. At first sight, having Yup transformations forwarded to your resolvers seems like a dream come true. It does, genuinely. When I first saw your issue, I started working on the fix right away because it sounded fantastic. Nevertheless, after struggling with "fixing" it and thinking about the downsides it brings along, I believe we are not there yet.
The initial motto of GraphQL Shield is that it doesn't interfere with your business logic. I believe this is crucial for two reasons; 1) It makes testing your applications a lot easier; 2) there's a single source of truth.
I haven't yet stumbled upon a project which would significantly benefit from such functionality in the long run, and it doesn't prove very beneficial either to me or people who are backing this project.
Taking into account the increase in feature requests for a rule type that would support side-effects, I am considering creating a new, effect rule which would differentiate from other rules by forwarding side effects to the resolvers. That's where we could implement such side-effect-agnostic-validation types.
I would be willing to start working on it in case enough people back this project and explain why this is important to them sooner, otherwise, I will probably leave it until I found a situation where my project would benefit from such functionality.

PS.: PRs are very welcome 🙂

Imo the inputRule should not alter the args object.
Why would you need such a feature?
The args object already gets transformed to the correct scalar type by the graphql server, because the types are specified in the schema. So a number is already a number and a boolean is already a boolean. If you need further transformation this should be done in a custom rule I think.


add some warnings and errors for the metadata

Currently, changes to metadata delivery will break the code (e.g., LANDSAT_SCENE_ID was changed to LANDSAT_PRODUCT_ID and broke code; #2 #3).
We should add some warnings and default values to allow the code to proceed better with changes in the metadata.

addressed some of this with 49b0f193815f309884a1f9aa16eb1e2ff71bbde8 and e8b43be8852b78712b712e646a80446b9ec2adcb.
Leaving open to remind us to add more.


AMS realize dubbo Proxy

What is the purpose of the change
For high performance（为了高的性能）
Brief changelog
See the unit tests in the test directory（请看test 目录下的单元测试）
Verifying this change
See the unit tests in the test directory（请看test 目录下的单元测试）
A couple of questions

When the formal parameters of the method exceed 6, it will be abnormal.
Exception setting. There are multiple exception points in asm implementation.

有几个问题

当方法的形参超过6个就会异常，怎么比对都没有发现问题在哪里。
异常设定，asm实现里面有多个异常点，请问这些异常有异常类的提供吗？
请问有eclipse的代码样式吗？

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.0 out of 2 committers have signed the CLA.:x:<PHONE_NUMBER>@qq.com:x<EMAIL_ADDRESS>seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

提交记录比较混乱，重新提交。


drop legacy Go support

Go 1.9 was released in August 2017 so it's safe to make a claim that projects
are already using new enough Go version.
Tested with:
$ go version
go version go1.13.8 linux/amd64
$ GO111MODULE=off ./test.sh
ok      github.com/modern-go/reflect2-tests     0.005s  coverage: 12.3% of statements in github.com/modern-go/reflect2
ok      github.com/modern-go/reflect2-tests/test15      0.004s  coverage: 6.4% of statements in github.com/modern-go/reflect2
ok      github.com/modern-go/reflect2-tests/tests       0.010s  coverage: 65.4% of statements in github.com/modern-go/reflect2

Signed-off-by: Mikko Ylinen<EMAIL_ADDRESS>

Codecov Report

Merging #11 into master will increase coverage by 2.27%.
The diff coverage is 60%.

@@            Coverage Diff             @@
##           master      #11      +/-   ##
==========================================
+ Coverage   60.58%   62.86%   +2.27%
==========================================
  Files          20       19       -1
  Lines         751      719      -32
==========================================
- Hits          455      452       -3
+ Misses        280      254      -26
+ Partials       16       13       -3

Impacted Files
Coverage Δ

go_above_19.go
100% <ø> (ø)
:arrow_up:

type_map.go
93.1% <100%> (+45.64%)
:arrow_up:

reflect2.go
65.04% <33.33%> (ø)
:arrow_up:

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 94122c3...5553e52. Read the comment docs.

any comments?

rebased to resolve conflicts, force pushed.


imported file causes BorrowError crash

run.metta:
(= (maketrouble $C $T) (add-atom &self crash))
!(import! &self moretrouble.metta)

moretrouble.metta:
(= ($A realtrouble $A) $A)

metta run.metta causes:
thread '<unnamed>' panicked at 'already mutably borrowed: BorrowError', /Users/paha9538/hyperon-experimental/lib/src/space/mod.rs:296:34
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
fatal runtime error: Rust panics must be rethrown
Abort trap: 6

Very strange behavior. I minimized run.metta :
(= (maketrouble $C $T) &self)
!(import! &self crash.metta)

No Rust panic if we replace &self with anything else. No panic if we replace (= ($A realtrouble $A) $A) with (= (realtrouble $A $A) $A). No panic if we replace (= (maketrouble $C $T) &self) with (= (maketrouble C $T) &self)... Apparently, the first expression in run.metta somehow interferes with the expression in moretrouble.metta , which is strange, because these expressions are not evaluated. Maybe, there is a problem with hashing (e.g. hashing function tries to address &self in the expression while importing in &self), but this is a non-informed guess. Rust logs should be examined to understand the reason...

This doesn't occur with import.  I'm going to keep this open to see if the problem happens with include

Don't see it is reproducible with both import! and include


Adding a new host through UI throws an error "Name is required"

**Rancher Version:**Master
**Docker Version:**1.12.3
**OS and where are the hosts located? (cloud, bare metal, etc):**Ubuntu, Cloud
Setup Details: (single node rancher vs. HA rancher, internal DB vs. external DB) Single node
Steps to Reproduce:

Create a Cattle/Kubernetes environment.
Add a digital ocean/AWS host using the UI
Clicking on 'create' gives an error "Name is required".
Host addition is not successful.

Looks like Vincent fix it.

Tested with master. The issue above is not seen. Able to create one and multiple hosts successfully.


Crash on World Load with both Additional Placements and Supplementaries installed

with both installed, the game will crash shortly after loading into a world.
crash-2024-02-28_23.53.51-server.txt

Looking at the crash log, it seems most likely to be an issue on either Supplementaries' end or Porting Lib. Try sending the crashlog over to Supplemenataries and see what they say.

upon further testing, i've found the crash is between supplementaries and porting lib, with no connection to additional placements.

upon further testing, i've found the crash is between supplementaries and porting lib, with no connection to additional placements.

did you report it to them?

just made a bug report to porting lib


esp_http_client_read causes buffer overread (IDFGH-4303)

Environment

IDF version:
v4.3-dev-1721-g9bcf8ad19
Build System:
idf.py
Compiler version:
xtensa-esp32-elf-gcc (crosstool-NG esp-2020r3) 8.4.0

Problem Description
Context: This is for OTA. I'm calling an endpoint that returns a version string (that looks like: "0.1.3"), after which I wanna call another endpoint which is supposed to return the OTA file - so instead of _perform I call _open, while reusing the same esp_http_client handle (so just calling esp_http_client_set_url before the _open call) - but I kept getting VALIDATE errors that magically went away after I removed the _perform call.
Calling _read after a _perform call, even if separated by esp_http_client_close or esp_http_client_flush_response returns a length that is too big (by exactly the same number of bytes, as the data length I received from the _perform call) but without appending or prefixing the previous data. This essentially leads to a overread in my code, because even though the content length is, for example 1245, the _read call returns 1252 (as the _perform call received data with the content length of 7).
It's really hard to explain, but I hope I did a good enough job. If need, then on request I could create a MWE code that would use Pipedream to simulate our internal servers, but this would possibly take me hours so I hope my explanation is good enough :)
I also cannot make sense of the http_client code enough to write a proper fix...
Debug Logs
Short, but I hope descriptive, internally, the _read ("web_services: [read()]") function correctly determines the content length, but for some reason, returns a larger number ("rx length"), by exactly the number of bytes that was received in the previous _perform call
The code used in this demonstration is as follows:
esp_http_client_perform
esp_http_client_close
esp_http_client_open
esp_http_client_read
esp_http_client_read
The URL in this demonstration is the same across all requests.
D (3227) HTTP_CLIENT: set post file length = 30
D (3227) HTTP_CLIENT: Begin connect to: <redacted>
D (3257) TRANS_TCP: [sock=54] Connecting to server.  IP: <redacted>, Port: <redacted>
D (3597) HTTP_CLIENT: Write header[5]: POST /api/sensors/app-version?api-version=2.0 HTTP/1.1
User-Agent: ESP32 HTTP Client/1.0
Host: <redacted>
Client: <redacted>
Content-Type: application/json
Content-Length: 30

D (7117) HTTP_CLIENT: on_message_begin
D (7117) HTTP_CLIENT: HEADER=Cache-Control:no-cache
D (7117) HTTP_CLIENT: HEADER=Pragma:no-cache
D (7137) HTTP_CLIENT: HEADER=Content-Type:application/json; charset=utf-8
D (7147) HTTP_CLIENT: HEADER=Expires:-1
D (7157) HTTP_CLIENT: HEADER=X-Powered-By:ASP.NET
D (7187) HTTP_CLIENT: HEADER=Content-Length:7
D (7197) HTTP_CLIENT: http_on_headers_complete, status=200, offset=201, nread=201
D (7197) HTTP_CLIENT: http_on_body 7
V (7207) web_services: [eventHandler]: Rx: data {
        data: "0.1.4"
        length: 7
}
D (7217) HTTP_CLIENT: http_on_message_complete, parser=3ffca34c
D (7217) HTTP_CLIENT: content_length = 7
V (7227) web_services: [open]: Status code: 200
V (7227) web_services: [read()]
D (7227) HTTP_CLIENT: is_data_remain=0, is_chunked=0, content_length=7
D (7237) web_services: [read]: rx length: 14
V (7237) web_services: [read]: {
        data: "0.1.4"�
                      ��-_�
        length: 14
}
V (7247) web_services: [read()]
D (7257) HTTP_CLIENT: is_data_remain=0, is_chunked=0, content_length=7
D (7257) web_services: [read]: rx length: 0
I (7267) web_services: [read]: Data received
V (7267) web_services: [read]: {
        data:
        length: 0
}

Thanks for reporting and the detailed issue summary, we will look into.

Hi @istokm,
From the description you mean performing first request using esp_http_client_perform and then with esp_http_client_read, content length for both the requests add up.
I tried to reproduce this issue but content length looks correct at my end.
Can you share a code snippet to reproduce this issue?

You need to close and reopen the connection, then read. Just reading after a perform works as expected. I'll try to share the code asap, but I'm using a very large web service library I wrote over last few months, so I'll have to write that from scratch.

I've been taking for granted that one calls esp_http_client_fetch_headers after open - this is what actually causes the mismatch between the returned length and buffer contents - otherwise the content lengths still add up, but the buffer does so too (which I think is still unintended, especially with close & flush_response calls in between the requests).
I've made a self-contained MWE example of this issue, feel free to use the pipedream URL as well - I'll disable it when this issue closes.
https://github.com/istokm/esp-idf-http-buffer-overread
Only thing you need to change is the EXAMPLE_ESP_WIFI_SSID & EXAMPLE_ESP_WIFI_PASS to connect to your wifi
All other details about the behaviour of various function calls can be found in the code itself
https://github.com/istokm/esp-idf-http-buffer-overread/blob/3165359ac5f3694372e26dd56b155db2a9e0877d/main/main.cpp#L165-L178
Here is the output I receive when I run this code on my ESPs with the latest ESP-IDF version: https://gist.github.com/istokm/26afb735a23281059ff98cd94bd2085b
Let me know if there is anything else you need to replicate this, I don't have much free time to work on this, so I'm trying to spend it well :)
Note: as the fix for #6163 hasn't been merged into master as of writing this, you'll have to apply the tls.diff patch that I've included in the repo itself - otherwise the esp_http_close calls will always return -1 with https URLs.

Hi @istokm, Thanks for providing the code, I could reproduce this issue.
We are working on the fix and will keep you posted.