Exhaustivity checking

Have an option that checks if the matching is exhaustive, and if it isn't then have it immediately throw an error that the matching isn't exhaustive.

@Risto-Stevcev What is your complain with the current way of only returning undefined instead throwing an error?

If the undefined value isn't handled or noticed then it will leak into other parts of the codebase and can lead to bugs that are hard to track down. You might actually think it's exhaustive and it isn't, and then much later on it could lead to nasty bugs. If it checks the cases and throws if it's not exhaustive then that won't happen. That's how haskell and elixir does it

@Risto-Stevcev yes indeed, at v0.x.x we was closer to these classical pattern matching specifications, however it wasn't well accepted since is too different from JS world. The decision to return undefined instead throwing error is to make familiar to JS programmers, which are used to check for undefined and prevent the mentioned bug prone behaviour.
I'll maintain that suggestion open for more people opine as well on that subject.

I'm against to throw an error on this case, because of the friction it causes. In this line, I would rather return an option.
Also, the check that it is "exhaustive" would be to ensure that there is always a x => ... in the end (matching everything). Given the nature of dynamic typing of javascript (way different from haskell).

In Haskell you can define partial pattern matching. In those cases if you hit a case that isn't handled it'll immediately throw an error, the value won't silently propagate into your program. Same with Elixir, it immediately throws.
Having it return an option will be less sound because of javascript's type system. What if that value gets used as a predicate? everything in javascript is truthy/falsy so it would break your business logic silently.
The duck typing will create problems there, same with undefined.
If it doesn't do exhaustivity checking then this is just syntactic sugar for a switch statement or if/else

Hey, I'm closing due inactivity, I truly understand the argument but we are aligned with JS community and JS "way of life" and we didn't get any complaints about that so far, any other news we reopen this issue, thanks for you all collaboration!

@leonardiwagner One other approach: you could make it optional, ie. a setting to make it 'stricter' and throw an exception, or to have the more lax/flexible version

@Risto-Stevcev sure, great idea!


Update imperative-command.md for zh

Relaled to #24104
/language zh

Pls rebase it to the master to resolve conflicts, @huchengze
Thanks.

@huchengze pls help resolve the conflicts.


Bump js agent loader version

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Feature Request: Add rainbow-parens Query Support for Vue

I'm requesting the addition of rainbow-parens support specifically for script blocks in Vue files within the rainbow-delimiters.nvim plugin. Currently, while there are good highlights for other languages, Vue files do not have consistent parentheses highlighting for script tags, which can lead to readability issues when working with complex JavaScript code.

Can you please elaborate? I don't understand what exactly the problem is.

The current query for Vue only includes rainbow-delimiters (which highlights tags in the  tag).
-> You can add a new query to apply rainbow colors only to parentheses in the  tag (without affecting the  tag).

If I understand you correctly what you want is to highlight delimiters inside the script tag only, but not inside template tag. Is that right?

I don't think I want to include this sort of thing with the plugin, but you can add it to your personal configuration.  In your Neovim configuration (e.g. ~/.config/nvim on Unix) create the file after/queries/vue/rainbow-script.scm (the name rainbow-script is arbitrary, you can call it whatever you want) with the following contents:
(script_element
  (start_tag
    "<" @delimiter
    (tag_name) @delimiter
    ">" @delimiter)
  (end_tag
    "</" @delimiter
    (tag_name) @delimiter
    ">" @delimiter @sentinel)) @container

This is a subset of the default query. Next in your rainbow delimiters configuration you need to tell the plugin to use your own custom query.
vim.g.rainbow_delimiters = {
	query = {
		vue = 'rainbow-script'
	},
}

Or if you prefer Vim script
let g:rainbow_delimiters = {
    \ 'query': {
        \ 'vue': 'rainbow-script'
    \ },
\ }

Note that your CSS will still be highlighted because it is not part of the Vue language.  You will have to blacklist CSS if you don't want to highlight it. For more information see :h g:rainbow_delimiters, :h rb-delimiters-query and :h rb-delimiters-custom-query.
If more people want this type of query I can make it official, but until then you can add it to your configuration.

Thank you for the recommendation. I applied that configuration, and it works well for me.
Evidence of the result:

Actually, now that I think about it you could leave the query completely empty. As it is right now the script tag is still getting highlighted, but maybe you don't want that.

Thanks for the help, I am happy with it now.


Slow API response on 'api/diagnostics/interface/getArp'

Describe the bug
After updating to 21.1 API requests for ARP tables became very slow to respond. This, for example, breaks pyopnsense library, because response isn't fulfilled within DEFAULT_TIMEOUT of 5 seconds.
To Reproduce
Steps to reproduce the behavior:
 curl --trace-time -k -v -u 'xxx:xxx' 'https://<IP_ADDRESS>/api/diagnostics/interface/getArp'
15:10:17.828000 *   Trying <IP_ADDRESS>...
15:10:17.843000 * TCP_NODELAY set
15:10:17.859000 * Connected to <IP_ADDRESS> (<IP_ADDRESS>) port 443 (#0)
15:10:17.859000 * schannel: SSL/TLS connection with <IP_ADDRESS> port 443 (step 1/3)
15:10:17.859000 * schannel: disabled server certificate revocation checks
15:10:17.875000 * schannel: verifyhost setting prevents Schannel from comparing the supplied target name with the subject names in server certificates.
15:10:17.875000 * schannel: using IP address, SNI is not supported by OS.
15:10:17.875000 * schannel: sending initial handshake data: sending 153 bytes...
15:10:17.875000 * schannel: sent initial handshake data: sent 153 bytes
15:10:17.890000 * schannel: SSL/TLS connection with <IP_ADDRESS> port 443 (step 2/3)
15:10:17.890000 * schannel: failed to receive handshake, need more data
15:10:17.937000 * schannel: SSL/TLS connection with <IP_ADDRESS> port 443 (step 2/3)
15:10:17.937000 * schannel: encrypted data got 2287
15:10:17.937000 * schannel: encrypted data buffer: offset 2287 length 4096
15:10:17.953000 * schannel: sending next handshake data: sending 93 bytes...
15:10:17.953000 * schannel: SSL/TLS connection with <IP_ADDRESS> port 443 (step 2/3)
15:10:17.953000 * schannel: encrypted data got 242
15:10:17.953000 * schannel: encrypted data buffer: offset 242 length 4096
15:10:17.968000 * schannel: SSL/TLS handshake complete
15:10:17.968000 * schannel: SSL/TLS connection with <IP_ADDRESS> port 443 (step 3/3)
15:10:17.968000 * schannel: stored credential handle in session cache
15:10:17.968000 * Server auth using Basic with user 'xxx'
15:10:17.984000 > GET /api/diagnostics/interface/getArp HTTP/1.1
15:10:17.984000 > Host: <IP_ADDRESS>
15:10:17.984000 > Authorization: Basic xxxxxx
15:10:17.984000 > User-Agent: curl/7.55.1
15:10:17.984000 > Accept: */*
15:10:17.984000 >
15:10:30.156000 * schannel: client wants to read 102400 bytes
15:10:30.156000 * schannel: encdata_buffer resized 103424
15:10:30.171000 * schannel: encrypted data buffer: offset 0 length 103424
15:10:30.171000 * schannel: encrypted data got 8173
15:10:30.171000 * schannel: encrypted data buffer: offset 8173 length 103424
15:10:30.171000 * schannel: decrypted data length: 8144
15:10:30.171000 * schannel: decrypted data added: 8144
15:10:30.171000 * schannel: decrypted data cached: offset 8144 length 102400
15:10:30.171000 * schannel: encrypted data buffer: offset 0 length 103424
15:10:30.187000 * schannel: decrypted data buffer: offset 8144 length 102400
15:10:30.187000 * schannel: schannel_recv cleanup
15:10:30.187000 * schannel: decrypted data returned 8144
15:10:30.187000 * schannel: decrypted data buffer: offset 0 length 102400
15:10:30.187000 < HTTP/1.1 200 OK
15:10:30.187000 < Content-Type: application/json; charset=UTF-8
15:10:30.203000 < Expires: Fri, 05 Feb 2021 14:10:29 GMT
15:10:30.203000 < Cache-Control: max-age=180000
15:10:30.203000 < Content-Length: 7930
15:10:30.203000 < Date: Wed, 03 Feb 2021 12:10:29 GMT
15:10:30.203000 < Server: OPNsense
15:10:30.203000 <
[{"mac":"58:2d:34:00:cb:a6","ip":"<IP_ADDRESS>","intf":"bridge0","expired":false,"expires":588,"permanent":false,"type":"bridge","manufacturer":"Qingping Electronics (Suzhou) Co., Ltd","hostname":"","intf_description":"LAN"}...]

Some of the output is redacted.
Expected behavior
Previous version 20.7 responded within 5 second interval.
Environment
Software version used and hardware type if relevant, e.g.:
OPNsense 21.1 (amd64, OpenSSL).
Intel(R) Celeron(R) CPU J3160 @ 1.60GHz (4 cores)

Affected as well after the upgrade, the consequence of pyopnsense breaking is that the Home Assistant Integration for device / presence tracking stops working too.
To be clear - this is affecting the GUI as well, the table takes a very long time to load :thinking:
I guess if this is the result of a necessary change to the underlying code which can't be sped up we could pass this along to the downstream projects for them to increase the timeouts and grace periods for requests.
Still hope that this isn't intentional though.

looks like an upstream issue in py-netaddr after upgrading to 0.8.0, oui.registration lookups are probably slower in the new version, since the lookup itself isn't really rocket science,  I temporary wrote an alternative version using their mac database which is part of the library. can you try https://github.com/opnsense/core/commit/dd2231ee54bfc414291f4e1d362e453eea29013c?
From the console, patch using:
opnsense-patch dd2231e

looks like an upstream issue in py-netaddr after upgrading to 0.8.0, oui.registration lookups are probably slower in the new version, since the lookup itself isn't really rocket science, I temporary wrote an alternative version using their mac database which is part of the library. can you try dd2231e?
From the console, patch using:
opnsense-patch dd2231e

Applied the patch, the table loads quickly again in the UI, currently testing with Home Assistant :+1:

I'll ask @fichtner if we can stuff this in 21.1.2, it's not a very huge change on our end, if we're already to far in the release process it will likely make it into 21.1.3

Lovely! The Home Assistant / pyopnsense integration seems to be working fine again.
Thank you very much! :smile:

I'm having this same issue and when I try using the patch above I get the following:
Fetched dd2231e via https://github.com/opnsense/core
2 out of 2 hunks failed while patching opnsense/scripts/interfaces/list_arp.py

Home Assistant integration still errors out for me.


Changing Dataset

Is it fine that I change midi files of classical music to music of Hans Zimmer, Alan Walker, Billie EIlish etc.?

Yes, the parsing scripts are not content sensitive so any MIDI file input should work, even your own. Be sure to update data-collecter.py and other filename-dependent scripts with your filenames.


Server Side Rendering Fail due timestamp

Server Side Rendering Fail due to use toLocaleTimeString()
which can produce different formats depending on the locale and settings of the server and the client

I can fixed this using date-fns module, shall I do it @Sayak-Bhunia ?

Yes 👍🏻

@Sayak-Bhunia add labels


Remove yellow border in notebooks

I had intentionally added in the yellow border to clearly show the bounds of the control so users are aware that the content might be cut off (requiring scrolling) due to the control being fixed-height. Since #37 requests that the default for our notebook control should have its height increasing as needed, I'll remove the yellow border after addressing #37

Feedback from meeting: remove the border now


Don't parse with all extensions enabled at all times

Hi, sometimes parsing seems to fail even when ghc would happily compile file. For example, in my file I have
f rec x = do
  y <- g x
  rec y

and recursive do extension is not enabled, so ghc accepts file while shm flags this code as errorneous.
Conversely, shm may happily parse GADT definition even when relevant extension is not enabled in file.
Therefore I propose to detect which extensions are specified in file LANGUAGE pragmas and passing them to structured-haskell-mode executable. Of course extensions can be specified in cabal files or on ghc command line so detecting them becomes harder, but maybe it's still a good idea to try?

I've changed extensions to match hlint's default extensions which excludes Arrows and recursive do. Now the executable can be passed additional arguments to enable or disable extensions:
$ structured-haskell-mode
structured-haskell-mode: (parse|check) (decl|stmt) [-X<...>]*
$ echo 'proc rec = return ()' | structured-haskell-mode parse stmt
structured-haskell-mode: parseImport
$ echo 'proc rec = return ()' | structured-haskell-mode parse decl
[["Decl SrcSpanInfo" FunBind 1 1 1 21]["Mat…
$ echo 'proc rec = return ()' | structured-haskell-mode parse decl -XArrows
structured-haskell-mode: Parse error: rec
$ echo 'proc rec = return ()' | structured-haskell-mode parse decl -XArrows -XNoArrows
[["Decl SrcSpanInfo" FunBind 1 1 1 21]["Mat…


error~

what node version are you using?

v4.4.5.
hi , can I get your email?  I have some questions  and hope your help .

That node version doesn't support ES2015 destructuration. Just update node and the problem will go away.
My email is here.


Only check for flux upgrades once a week

We will realistically only upgrade flux once per release, and we release every two weeks. A once-a-week check should be fine. This cron expression is At 00:00 on Sunday.

I feel like you are missing some changes.

I feel like you are missing some changes.

 Nice catch. Updated.


bug: number operations with greater-than or equals throws error

When using the output as a boolean, the following error is thrown in console:
Traceback (most recent call last):
  File "/stable-diffusion/execution.py", line 184, in execute
    executed += recursive_execute(self.server, prompt, self.outputs, x, extra_data)
  File "/stable-diffusion/execution.py", line 60, in recursive_execute
    executed += recursive_execute(server, prompt, outputs, input_unique_id, extra_data)
  File "/stable-diffusion/execution.py", line 70, in recursive_execute
    if "ui" in outputs[unique_id]:
TypeError: argument of type 'float' is not iterable

Input types don't matter. Doesn't throw an error when using greater-than.
Also, there's a typo for this option. (equels)

Example:
greaterthanerror.zip
Workaround:
Use greater than and adjust the inputs accordingly.

Oh yep, that's the issue. "equels", so it was default to output number_a, but number_a wasn't being output as a tuple. Thanks for catching that honestly lol. Should be patched now.

Great, thanks for patching that quickly! I was making a tangled mess of nodes earlier and suddenly got that error.
I think there's another bug with the Number Input Condition Switch too and the values it outputs when using greater-than. Instead of return true/false as 0/1 it was returning the greater of the value or something like that. I'll reproduce it when I get a chance and post it here.

Hmm, yeah let me know if you see something. I don't see any issues with it at a glance
        if comparison:
            if comparison == 'greater-than':
                result = number_a if number_a > number_b else number_b
            elif comparison == 'greater-than or equals':
                result = number_a if number_a >= number_b else number_b
            elif comparison == 'less-than':
                result = number_a if number_a < number_b else number_b
            elif comparison == 'less-than or equals':
                result = number_a if number_a <= number_b else number_b
            elif comparison == 'equals':
                result = number_a if number_a == number_b else number_b
            elif comparison == 'does not equal':
                result = number_a if number_a != number_b else number_b
            elif comparison == 'divisible by':
                result = number_a if number_b % number_a == 0 else number_b
            elif comparison == 'if A odd':
                result = number_a if number_a % 2 != 0 else number_b
            elif comparison == 'if A even':
                result = number_a if number_a % 2 == 0 else number_b
            elif comparison == 'if A prime':
                result = number_a if self.is_prime(number_a) else number_b
            elif comparison == 'factor of':
                result = number_a if number_b % number_a == 0 else number_b
            else:
                result = number_a

Has it been corrected on your end?

I don't know if it's by design, but I originally expected the Number Input Condition to return a boolean value instead of the larger of the two values (Max Value functionality).
I guess the Number Input Condition functions all work like that though where either A or B is returned based on the code above. Aside from my initial confusion yep it works great, thanks! I've been running through most of the nodes in your library and if I find any more bugs I'll make a new issue.

I didn't know it was by design, but I originally expected the Number Input Condition to return a boolean value instead of the larger of the two values (Max Value functionality).
I guess the Number Input Condition functions all work like that though where either A or B is returned based on the code above. Aside from my initial confusion yep it works great, thanks! I've been running through most of the nodes in your library and if I find any more bugs I'll make a new issue.

That is a good point though, so: https://github.com/WASasquatch/was-node-suite-comfyui/commit/391adf9b24b0ce8f78a612729a3cfb55c3c7bb54

Thanks! Some other functions I might suggest is AND / OR / etc, with any non-zero number acting as true. Right now I've gotta pipe some different nodes together to achieve some of those and sometimes it isn't as clear as a single input that read "if A and B" or "if A or B"

I'm not sure how that'd work? ComfyUI always requires an output. So can't really do a "A or B" cause they both would contain something and be "True". Additionally "A and B" assumes a computation that A or B is resulting in True with?

Something like:
if comparison == 'and':
                result = number_a if number_a > 0 and number_b > 0 else number_b
elif comparison == 'or':
                result = number_a if number_a > 0 or number_b > 0 else number_b

I am not brushed up on python syntax so that might not be right. Here's what I'm thinking in JS:
if (comparison === 'if A and B') {
   return (a > 0 && b > 0) ? a : b;
} else if (comparison === 'if A or B') {
   return (a > 0 || b >0 ) ? a : b;
} else if (comparison === 'if A nor B') {
   return (a === 0 && b === 0 ) ? a : b;
}

Of course also taking respect to the "return a boolean" result.


Change in requirements (ajax) and solving Issue #89

In cruds_adminlte/crud.py a route was added by default in case it does not find the one that the user changes

Hi, "/" always be there because by default is called with
        basename + '/create.html'
        basename + '/detail.html'
        basename + '/update.html'
        basename + '/list.html'
        basename + '/delete.html'

It's good idea when works with Inline Cruds, and overwrite some the base so we guaranties that always run as expected.
About djangoajax 3.0.2, the maintainer drop de support of js so inline is broken with this version,  2.3.7 is the last version with static on djangoajax so we suggest 2 things:

downgrade djangoajax to 2.3.7
Include the static js files of djangoajax in our statics.
Find other way to support inline management

Ok with me, merged!


dhparam says we don't support X9.42

The documentation says:
OpenSSL currently only supports the older PKCS#3 DH, not the newer X9.42 DH.
We now generate a X9.42 file by default. The wiki says that 1.0.2 and 1.1.0 support it.

We now generate a X9.42 file by default.

This bit is a bug in master (fixed by #13138).

dhparam(1) is the errant man page.


corebird: init at 1.3.1

Motivation for this change
Corebird is a Twitter client for Linux.
Things done

[x] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] OS X
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

This is my first contribution to nixpkgs. Feedback welcome and appreciated.

@rasendubi @groxxda Comments addressed and rebased against master.


Bug: don't invoke this.focusInput in mousetrap callback

When calling this.focusInput() in the moustrap callback it is possible for this.commandPaletteInput.input (as used in this.focusInput()) to be null since this.commandPaletteInput is set during the render which is not guaranteed to happen first. This creates a race condition that can lead to an error being logged on the console in some cases.
this.focusInput() is still called by afterOpenModal and thus the desired effect is preserved.
I have published a package published that just bumps to react 18 and fixes this bug if you want to test out the changes really quickly. https://www.npmjs.com/package/react18-react-command-palette
Thank you for the awesome package. It saved me a ton of time and allowed me to put together a what would otherwise be complicated feature with extreme ease!

@DAlperin thanks so much!


Allow :const forwarding

Labels are forwarded automatically
jump foo
: foo

but consts are not
00 foo 00
: const foo 1

Undefined names: foo

Note that
: const foo 1
00 foo 00

Probably doesn't do what you expect it to, either. A constant referenced outside an instruction does the same as referencing a label: compile a subroutine call.
In the near-ish future we may be adding macros to Octo, which will be usable for expressing constant bytes, among a variety of other things.

Got it, thanks.

I think this is still an issue.
Sometimes it's really convenient to have consts close to data, e.g tiles:
va := tile_width //undefined names: tile_width

///resources at the end of the file
: const tile_width 12
: tile_data
00 11 22 33 ...

implemented in PR #83

As I noted in my response for PR #83, I don't think that constant forwarding is tractable, given the semantics of macro features, so I will not be implementing this or merging the suggested implementation. Nonetheless, I do appreciate your ideas and feedback.
It is possible to use :org to assemble programs non-sequentially, which I think can address the underlying concern in this ticket.


Scaffolder workspace serialization

Hey, I just made a Pull Request!
Implemented the proposal described in https://github.com/backstage/backstage/tree/master/beps/0004-scaffolder-task-idempotency#serialization-of-workspace.
:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[x] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

Hi! A conflict has crept in, and changesets are needed.

Hi @acierto, not sure what happened but I don't think these package.json changes are needed, at least for DevTools they are not. 🤔

Hi @acierto, not sure what happened but I don't think these package.json changes are needed, at least for DevTools they are not. 🤔

Hey @awanlin, yeah i know, merge with master messed it up.
I'll create a new MR, and will close this one.
Don't know how to recover it properly based on this one

Closing in favour of https://github.com/backstage/backstage/pull/24570


HDDS-9195. TestOzoneFileSystem - Handle inconsistency in Create, Delete operations of same key before cache flush.

What changes were proposed in this pull request?
There could be possible issue of getting wrong key listStatus if a key is created, deleted and flushed to DB, but then again before cache gets  flushed, same key is created, current cache map get overwritten with DB.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-9195
How was this patch tested?
This patch is tested by running existing test cases in multiple counts of Job runs.

@sumitagrawl - pls review

@ChenSammi  Pls review


WIP: Add for option to template triggers

Description:
Add option to use for: with template triggers.
Related issue (if applicable): N/A
Pull request with documentation for home-assistant.io (if applicable): home-assistant/home-assistant.io#9572
Example entry for configuration.yaml (if applicable):
automation:
  - alias: Template trigger with for option
    trigger:
      platform: template
      value_template: "{{ is_state('sensor.abc', '123') }}"
      for:
        minutes: 3

Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.
[x] I have followed the development checklist

If user exposed functionality or configuration variables are added/changed:

[x] Documentation added/updated in home-assistant.io

If the code does not interact with devices:

[x] Tests have been added to verify that the new code works.

Just noticed I need to make a slight change. Will push a new commit soon.

Sorry, probably messed up the review history by rebasing and force pushing, but I wasn't sure how else to back out the changes I made to homeassistant/helpers/event.py and tests/helpers/test_event.py. (Still learning git.)


python

What is this ?

Dear sir,
What's happened now? I just download Github and want to practice python.
Did I do something by accident?
Best,
Xuemeng
XB0230<EMAIL_ADDRESS>于 2020年9月8日周二 下午12:44写道：

What is this ?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/geekcomputers/Python/issues/807#issuecomment-689065607,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AO2PBXY3HZK55KKBG2LO6YTSEZ3SBANCNFSM4RALJZJQ
.

What is this really


Typescript Support

Do you support generating Typescript type annotations based on the models?

No we don't. FOAM doesn't actually generate JS code. Instead it dynamically builds JS prototype and class objects using object and function composition. I realize this is a tricky thing for people to grasp if they aren't familiar with the concept. For Java and Swift we statically generate code which is easy to understand, but for JS we just build up the class and prototype directly by setting slots and using defineProperty. This is much faster as it doesn't involve having to generate and then parse code. You could add a typescript outputter, but then this would decrease the size advantages you get from FOAM (which you might be okay with, given you're not using FOAM now). As way of example, the FOAM Gmail client is almost exactly 100 times smaller than the non-FOAM version. This is because JS is powerful enough to let us expand the models on the client side rather than on the server or as part of the build. However, FOAM does have run-time type-checking where it will check types of arguments and properties if you annotate this information in your model. If you're interested in trying this type of type support instead or, or in addition to, Typescript, then let me know and I'll provide you with some documentation on how to use it.

It's worth pointing out that for compatibility with other, handwritten TS code, you could generate Typescript code from FOAM models that is "weightless". Interfaces and some other type declarations in TS are only used in the TS compiler, and don't survive to the JS output.

@kgrgreer Thank you for the explanation, this is very interesting. I haven't seen this pattern before in JS so I will have to look into it more to understand it. It actually does make some sense, I am used to this pattern in Python, i.e. using metaprogramming to build useful classes at runtime without having to pre-process.
In Python-land to integrate these kinds of features with static typing requires adding an extension to MyPy (example adding Dataclasses support). Do you think something similar would be required to have this framework integrate nicely with TypeScript?

It's been many years since I looked at TypeScript, but doesn't it convert the type checks to run-time asserts using a small library? FOAM does the same thing if you provide types. You can see this done in debug.js. You could do the same thing but call out to the typescript assertion library instead. Although, that wouldn't help your typescript code calling into FOAM. For that you could follow @shepheb's idea above. Or just use FOAM's type checking instead of TypeScript (but you may already have a large investment in TypeScript).

I was thinking about this more, recently.
TypeScript has excellent support for adding compile-time-only types to an existing JavaScript library, since that's a common use case.
Since FOAM already has a type system, and ~all of (user-visible) FOAM is modeled, we could add .d.ts TypeScript declaration files as a codegen target.
Then you could work with FOAM from TypeScript by using the same JS code that builds things dynamically at runtime, but your TS code is statically checked against the generated type declarations. That yields the best of both worlds, with strong type-checking and no added runtime overhead.


:seedling: add a verify rule for golang files import order

Summary
This PR uses the gci tool to make all go files' import section with a specific order, it will organize import with group with order：

standard library modules
3rd party modules
modules in OCM org, like the open-cluster-management.io/api
current project open-cluster-management.io/ocm modules

developers can use the make fmt-imports to format the import automatically and the make verify-fmt-imports to check for any violation.
Related issue(s)
Fixes #

Do this mean developers need to depend on gci in the future? And what's the relationship between gci and goimports?

Maybe we can import this indirectly by depending on golangci-lint https://golangci-lint.run/usage/linters/#gci, it's like a more commonly used linter tool integrated with more features including gci.

Thanks @xuezhaojun yes, I have considered using golangci-lint, but once enable the lint check, there are so many errors that need to fix, which makes the PR hard to review, so I will add the lint check in another PR.

/hold

/approve
/lgtm

/unhold


Add benchmarking for tests

Adds an automation to make test_yul that benchmarks the number of steps per function invocation for each contract in a markdown called stats.md
I've switched the number of workers in the MakeFile to 1 for the yul tests. This is to prevent concurrent writes to stats.json through stepsInFunction(). Will find a fix for this.
Will be adding support for benchmarking contract sizes.

This creates sort of an API that can be used in benchmarking tests for logging the results.
stepsInFunction(contractName, functionName, resultObject)
bytecodeDetails(contractName, bytecode)
sizeOfFile(contractName, file)

To see an example of these functions, please have a look at tests/benchmark

Regarding WETH10:

test for receive() is commented out because warp does not support this special function yet.
tests for withdraw and related functions are commented out because they were failing for the compiled cairo with an error saying address out of range. I believe this is because of the (bool success, ) = to.call{value: value}(""); statements in these functions.

Regarding IntegralMath:
Handwritten Cairo:

Test for ceilSqrt fails due to uint256_exp with a Starknet exception saying "not yet implemented"
Similarly, tests for roundDiv, mulDivF, 'mulDivC', mul512' fail with the same Starknet exception because of functions like uint256_mod` and others.

Compiled Cairo:
Strangely, for the compiled cairo, the call to compile_starknet_files fails with a PreProcessorError while importing files.

Configuration for Github Action:
The plan for this PR is to implement a Github Action that will automatically use the benchmarking utilities and generate a markdown file that will be pushed to a separate repository.
As of now, the action is configured to target a receiving repository with the name "NethermindEth/warp-benchmark"

I'm not sure why the CI isn't starting, maybe it's because you are doing a PR from a separate repo? Could you please create a branch in this repo and make a PR from here?

As of now, the action is configured to target a receiving repository with the name "NethermindEth/warp-benchmark"

I can't access that repository

I'm not sure why the CI isn't starting, maybe it's because you are doing a PR from a separate repo? Could you please create a branch in this repo and make a PR from here?

Ah I see the error. It says a step cannot have both the 'uses' and 'run' keys I'll fix this and update my PR.

I can't access that repository

So after my previous comment mentioning "NethermindEth/warp-benchmark", I updated the action to pick up the target repository name from a variable in github secrets. We can set this variable once we've created the benchmark repository.

The Github UI is confusing me a bit, but did you mean to delete warp/bin/linuxkudu

The Github UI is confusing me a bit, but did you mean to delete warp/bin/linuxkudu

Now that I look at it, the Github UI does seem confusing. But I haven't deleted the binary. I replaced it with a newer version of it that I got from artifacts of the kudu repository.

Can you please fix the CI issue?

The CI issue above has been fixed.
As of now, everything for this PR is complete except for a minor issue where running the following test errors out:
python -m pytest scripts/yul/transpile_test.py -v --tb=short --workers=auto
All other tests work fine. I'm looking into this right now and will upload a fix soon.

I've figured out why python -m pytest scripts/yul/transpile_test.py -v --tb=short --workers=auto is failing with my changes. This is because I'm using an updated binary of kudu.
I need to use the newer kudu as it translates stop to revert(0,0) without which the WETH10 contract fails with the following error upon encountering stop:
E               starkware.cairo.lang.compiler.preprocessor.preprocessor_error.PreprocessorError: /home/glitch/Github/warp/tests/benchmark/WETH10_compiled.cairo:3016:9: Unknown identifier 'stop'.
E                       stop()
E                       ^**^

The Github UI is confusing me a bit, but did you mean to delete warp/bin/linuxkudu

Now that I look at it, the Github UI does seem confusing. But I haven't deleted the binary. I replaced it with a newer version of it that I got from artifacts of the kudu repository.

Can you update the macos kudus as well, we should keep them in sync.

The Github UI is confusing me a bit, but did you mean to delete warp/bin/linuxkudu

Now that I look at it, the Github UI does seem confusing. But I haven't deleted the binary. I replaced it with a newer version of it that I got from artifacts of the kudu repository.

Can you update the macos kudus as well, we should keep them in sync.

We've decided that since building kudus for macos is a pain, we only do it for PRs to master. For develop it's fine to only update the linux ones

Continuing in #146


Start from the past?

does this have a feature to start from a specific period of time from the past? I was thinking I could use this for time tracking for tickets for our in house project management tool, and we need to load the timer for a ticket from when the user started it if whenever he closed the browser

Hi @isaac-manubag
Thanks for your feedback. Right now it starts from the moment you call the timer.start(). but it's something I can add for sure! Which would be an additional param for start like .start(timestamp) when provided it can calculate time from the past timestamp (ms since Jan 1, 1970) to now timestamp then add that to the current running time. Can you confirm that this is your use case?

Hi @isaac-manubag
I have released a new major version of the timer. please check it out
https://github.com/eyas-ranjous/timer-node
It now accepts starting the timer from a past timestamp, as well allowing to serialize the timer in its current state.


python-twisted-core on yakkety and zesty

Required to release rosbridge_suite in lunar

@jihoonl can you please collapse the ubuntu rules into a single one? ubuntu: [python-twisted-core]
That will allow to not have to add each platform individually in the future

Done.


CASMPET-7080 update metallb chart for k8s 1.24

Summary and Scope
Update metallb chart for k8s 1.24.
These changes include

using the docker-kubectl:1.24.17 container image
adding the 'node-role.kubernetes.io/control-plane' toleration to the speaker pods

Issues and Related PRs

Resolves CASMPET-7086

Testing
Deployed chart on Beau. Toleration were the following.
For speaker pods...
tolerations:
  - effect: NoSchedule
    key: node-role.kubernetes.io/master
    operator: Exists
  - effect: NoSchedule
    key: node-role.kubernetes.io/control-plane
    operator: Exists
  - effect: NoExecute
    key: node.kubernetes.io/not-ready
    operator: Exists
  - effect: NoExecute
    key: node.kubernetes.io/unreachable
    operator: Exists
  - effect: NoSchedule
    key: node.kubernetes.io/disk-pressure
    operator: Exists
  - effect: NoSchedule
    key: node.kubernetes.io/memory-pressure
    operator: Exists
  - effect: NoSchedule
    key: node.kubernetes.io/pid-pressure
    operator: Exists
  - effect: NoSchedule
    key: node.kubernetes.io/unschedulable
    operator: Exists
  - effect: NoSchedule
    key: node.kubernetes.io/network-unavailable
    operator: Exists

For the controller pod...
tolerations:
  - effect: NoExecute
    key: node.kubernetes.io/not-ready
    operator: Exists
    tolerationSeconds: 300
  - effect: NoExecute
    key: node.kubernetes.io/unreachable
    operator: Exists
    tolerationSeconds: 300

Risks and Mitigations
Low risk.
Pull Request Checklist

[x] Version number(s) incremented, if applicable
[ ] Copyrights updated
[ ] License file intact
[x] Target branch correct
[ ] CHANGELOG.md updated
[x] Testing is appropriate and complete, if applicable
[ ] HPC Product Announcement prepared, if applicable

Ticket for metallb upgrade in CSM 1.6: https://jira-pro.it.hpe.com:8443/browse/CASMPET-7120


Upload Images for People to UW Server

Related issue: #344
Some people are missing images for themselves. The x's in this table indicate that the image type  doesn't exist for this person yet.

Status
Name
Regular
Star Wars

Current
Dhruv Jain (PhD)
x
x

Current
Simran Chawla
x
x

Current
Sarah Smolen
x
x

Current
Johann Miller
x
x

Alumni
Steven Bower
x
x

Alumni
Aditya Dash
x
x

Alumni
Chirag Shankar
x
x

Alumni
Jason McPeak

x

Alumni
Andrew Matuza
x

Alumni
Gideon Popkin
x

Alumni
Andrew Lake
x

Past Collaborators
Cody Buntain
x
x

Past Collaborators
Amy Green
x
x

Do the images exist on the server? We used to have images for Aditya, Jason, Gideon, etc. Can you check the media dir?

@jonfroehlich I'm looking around in /cse/web/research/makelab/www/person/, which is where all the people images seem to be stored. I tried to find the images for maybe 5 people (matched up the path from the admin interface) and they didn't seem to be there

Weird. And now none of the people are showing up here: https://makeabilitylab.umiacs.umd.edu/people/. I'll need to ssh into the UMIACS servers and check out the media directory there...

Turns out that the fileserver on the UMIACS server needed to be rebooted. So, the media directory is back online. You can see all of the images of people here: https://makeabilitylab.umiacs.umd.edu/people/

@jonfroehlich Ooh okay - this is great! I can probably take care of these upload issues then since I can access all the images from Chrome's Dev tools.

Most of the regular images have been re-uploaded. I didn't find any face images for Andrew Matuza, Gideon, or Andrew Lake on the UMIACs site.
There currently isn't a way to choose an existing lego image for a user, so I decided not to upload any of those for now. I believe this was posted as an issue somewhere (but I can't seem to find it at the moment).

This is great. Thanks!

Finished adding in Lego Pictures for everybody else - closing now!


Support for win32 array parameters

Hi, I'm trying out the Direct 3D Api in conjunction with VLC. I'm pretty much following an example provided by VLC here.
When creating the Direct 3D related things, I need to use the method/function ID3D11DeviceContext::OMSetRenderTargets. In the documentation from Microsoft in C++, the second parameter ppRenderTargetViews is a pointer to an array.
This is the generated documentation for this method.
Generated bindings
pub fn OMSetRenderTargets<
    'a,
    T1__: ::std::convert::Into<::windows::Param<'a, ID3D11RenderTargetView>>,
    T2__: ::std::convert::Into<::windows::Param<'a, ID3D11DepthStencilView>>,
>(
    &self,
    num_views: u32,
    pp_render_target_views: T1__,
    p_depth_stencil_view: T2__,
) {
    unsafe {
        (::windows::Interface::vtable(self).33)(
            ::windows::Abi::abi(self),
            num_views,
            pp_render_target_views.into().abi(),
            p_depth_stencil_view.into().abi(),
        )
    }
}

In the C++ version, the method is called like this:
// swapchainRenderTarget is declared like this: ID3D11RenderTargetView *swapchainRenderTarget
 ctx->d3dctx->OMSetRenderTargets(1, &ctx->swapchainRenderTarget, NULL);

Now when I try to call the method like in the following example, the program just sleeps/waits until it's stopped. So there's something wrong.
// swapchain_render_target: ID3D11RenderTargetView
device_context.OMSetRenderTargets(1, &swapchain_render_target, None);

How do I call the method with the correct argument?
My code
let scd = DXGI_SWAP_CHAIN_DESC {
    buffer_count: 1,
    buffer_desc: DXGI_MODE_DESC {
        width: dimensions.x as u32,
        height: dimensions.y as u32,
        format: DXGI_FORMAT::DXGI_FORMAT_R8G8B8A8_UNORM,
        ..Default::default()
    },
    buffer_usage: DXGI_USAGE_RENDER_TARGET_OUTPUT,
    output_window: hwnd,
    sample_desc: DXGI_SAMPLE_DESC {
        count: 1,
        ..Default::default()
    },
    windowed: true.into(),
    flags: DXGI_SWAP_CHAIN_FLAG::DXGI_SWAP_CHAIN_FLAG_ALLOW_MODE_SWITCH.0 as u32,
    ..Default::default()
};

let (device, device_context, swapchain) = unsafe {
    let mut device = None;
    let mut swapchain = None;
    let mut device_context = None;
    let hr = D3D11CreateDeviceAndSwapChain(
        None,
        D3D_DRIVER_TYPE::D3D_DRIVER_TYPE_HARDWARE,
        0,
         D3D11_CREATE_DEVICE_FLAG::D3D11_CREATE_DEVICE_DEBUG.0 as u32,
        ptr::null(),
        0,
        D3D11_SDK_VERSION as u32,
        &scd,
        &mut swapchain,
        &mut device,
        ptr::null_mut(),
        &mut device_context,
    );
    match (device, device_context, swapchain) {
        (Some(device), Some(ctx), Some(swap)) => (device, ctx, swap),
        _ => return Err(bindings::windows::Error::new(
            hr,
            "Failed to create device/ctx/swapchain",
        ))
    }
};
println!("Created Device & Ctx & Swapchain");

if let Ok(mt) = device.cast::<ID3D10Multithread>() {
    mt.SetMultithreadProtected(true.into());
}
println!("Set Multithread protection");

let viewport = D3D11_VIEWPORT {
    width: dimensions.x,
    height: dimensions.y,
    max_depth: 0.0,
    min_depth: 0.0,
    top_leftx: 0.0,
    top_lefty: 0.0,
};

device_context.RSSetViewports(1, &viewport);
println!("Set Viewport");

let mut back_buffer: Option<ID3D11Texture2D> = None;
let hr = swapchain.GetBuffer(0, &ID3D11Texture2D::IID, &mut back_buffer as *mut _ as _);
let back_buffer = back_buffer.ok_or_else(|| bindings::windows::Error::new(
    hr,
    "Failed to create back buffer",
))?;
println!("Created BackBuffer");

let mut swapchain_render_target = None;
let hr = device.CreateRenderTargetView(back_buffer, ptr::null(), &mut swapchain_render_target);
let swapchain_render_target = swapchain_render_target.ok_or_else(|| bindings::windows::Error::new(
    hr,
    "Failed to create render target",
))?;
println!("Created RenderTarget");

device_context.OMSetRenderTargets(1, &swapchain_render_target, None);

// This is never logged
println!("Set RenderTarget");

Sorry for the delay in responding. Array support is coming soon. That should address this issue.

Windows::Win32::Graphics::Imaging::IWICBitmapSource's CopyPixels is another example.

Sorry for the delay, #1562 adds support for Win32 array parameters and fixes this issue.


Remove-Module doesn't care about casing, but Import-Module does care

PowerShell Core on Linux.
Steps to reproduce
# this works
Remove-Module psreadline
# this fails
Import-Module psreadline
# you need to run
Import-Module PSReadLine

Expected behavior
Consistent behavior for both cmdlets.
Actual behavior
# this works
Remove-Module psreadline
# this fails
Import-Module psreadline

Environment data

PS /home/aleksandar> $PSVersionTable

Name                           Value
----                           -----
PSVersion                      6.0.0-alpha
PSEdition                      Core
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   <IP_ADDRESS>
GitCommitId                    v6.0.0-alpha.18
CLRVersion
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>

@alexandair Thanks for your report!
I believe if on Unix we allow import different modules modulename and Modulename we should be case-sensitive in Remove-Module and Get-Module too.

Is it a good idea to allow case-sensitive module names considering that Windows will not support such module names as its file system is case-insensitive?  Seems like PowerShell should treat modules as case-insensitive.  I don't see any value in allowing posh-git, Posh-Git and Posh-GIT to be different modules.  I think that would just lead to confusion.  IMO all of the module-related commands should be case-insensitive.  And if on Linux someone has both mymodule and MyModule dirs. and is trying to import Mymodule, PowerShell should warn the user about the conflict.

If we consider the module names as case-insensitive, then should we do the same in relation to the names of scripts and other PowerShell files?

I don't think so.  Script filename casing should following the OS's casing rules.  That said, the PowerShell Gallery should consider warning (or rejecting) when publishing scripts that would stomp a different script with the same name on a case-insensitive file system.  Either that or use some other means of disambiguation (author name, pub-date, version, etc).

I expect that this will amaze users that .psm1 is case-insensitive and .ps1 case-sensitive.

I believe this is an application of the question raised in #706. Ideally, we should address this all up.

agree rkeithhill
Today, case sensitive, let me cry:
Net or net
install-module winscp #   normal
Import-Module WinSCP
Import-Module : Could not load file or assembly '/opt/microsoft/powershell/6.0.0-beta.2/Modules/WinSCP/<IP_ADDRESS>/lib\WinSCPNet.dll' or one of its d
ependencies. The system cannot find the file specified.
At line:1 char:1
+ Import-Module WinSCP
+ ~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Import-Module], FileNotFoundException
    + FullyQualifiedErrorId : FormatXmlUpdateException,Microsoft.PowerShell.Commands.ImportModuleCommand

PS /root> test-path /opt/microsoft/powershell/6.0.0-beta.2/Modules/WinSCP/<IP_ADDRESS>/lib/WinSCPnet.dll
True

PS /root> test-path /opt/microsoft/powershell/6.0.0-beta.2/Modules/WinSCP/<IP_ADDRESS>/lib\WinSCPnet.dll
True

PS /root> test-path /opt/microsoft/powershell/6.0.0-beta.2/Modules/WinSCP/<IP_ADDRESS>/lib\WinSCPNet.dll
False
PS /root> test-path /opt/microsoft/powershell/6.0.0-beta.2/Modules/WinSCP/<IP_ADDRESS>/lib/WinSCPNet.dll
False

Dupe of https://github.com/PowerShell/PowerShell/issues/1621


HPA auto scaling fails with pet store sample.

Description:
Followed the sample steps in https://github.com/wso2-cellery/samples/blob/master/docs/pet-store/scale-cell.md
I was using the image which is in Cellery Hub (https://hub.cellery.io/images/wso2cellery/pet-be-auto-scale-cell/latest-dev)
controller starts to autoscale. But immediately pods go to terminating state.
pet-be--controller-deployment-57747c6654-7pggz                  0/2       Terminating   0          7s
pet-be--controller-deployment-57747c6654-992k7                  2/2       Running       0          23m
As per observations this is due to having replicas count as 1 in controller. When the scaling starts cellery controller brings it back to replicas 1.

Closing since this should be resolved by https://github.com/wso2-cellery/mesh-controller/pull/132. Please re-open if required.


Feat/116 java model name change

For the Java Language binding, updated the path name to include the gbfs file name in the package. This will be available in<EMAIL_ADDRESS>#116
old
import org.mobilitydata.gbfs.v3_0.GBFSVehicleStatus

new
import org.mobilitydata.gbfs.v3_0.vehicle_status.GBFSVehicleStatus

Changes

Added script that takes existing schema and takes all the files and ads them into subfolders so that the type generator includes that in the package name
Updated the existing imports

Something to note
Imports such as
import org.mobilitydata.gbfs.v2_2.vehicle_types.GBFSData;
import org.mobilitydata.gbfs.v2_2.system_alerts.GBFSData;
import org.mobilitydata.gbfs.v3_0.vehicle_types.GBFSData;

will have naming collisions. Some jvm languages such as Groovy support naming aliasing but default Java does not. I know there is always the options to do
org.entur.gbfs.v3_0.vehicle_types.GBFSData variableName;

to avoid name conflicts but I'm wondering if there are another solutions 🤔

@testower I'm on the same page for vehicle_types.GBFSData being more clear than GBFS_1, just trying to consider name collisions
Heads up the new version is published on Maven Central as 1.0.6 🎉


Refactor: compute WeekView width dinamically

Main changes:

Remove hard-coded CONTAINER_WIDTH variable
Calculate dynamically dimensions = { dayWidth, pageWidth, timeLabelsWidth } to define the widths of the views

This refactor will allow solving later:

issues #128, #185, and #186 (already solved in upcoming PRs)
responsiveness (#38, #142) (in the future)

So this PR is a baseline for later improvements, @pdpino ?

So is this PR a baseline for the later improvements

Yes @hoangnm

Thank @pdpino , it looks promising!

I have noticed the component is not displayed properly on a browser when using react-native-web. Have you checked it?

@rdewolff We haven't checked in react-native-web.
Could you open a different issue with this, and show a screenshot or video with the error?

Will do!


Remove StreamQuery from API Playground

Modified the OAS and sidebar to remove stream-query. The process I followed was running the job in bitbucket (thank you Shane), running the openapispec-gen script in Docker, and then I took the changes from this script and modified the yaml and js.

I left this PR in draft because I want to ensure that I followed the correct process.

This change is manual based on the discussion this morning. When I made the changes the error went away and the doc site was able to build

Thanks!  LGTM!


Fix binary-prefixed double-quoted strings to single quotes

nice catch,
we should really make a fixer to ditch the b at some point, it will never have any value since PHP6 didn't work out as planned ;)

Thank you @ntzm.


Book DAC test for new features added since last audit for census

Features needing an accessibility audit include:
Session timeout warning
Checkboxes/radios
Conditionally revealed checkboxes and radios (issues around aria-extended and complexity)
Select all button
Borderless
Errors (not putting first option in focus after selecting error summary link)
Sticky table of contents nav
Download button
Mutually exclusive (check if we should announce that selecting a checkbox will uncheck the mutually exclusive checkbox. See: Checkboxes)
Sortable tables (buttons styled as links?)
Date/duration (label/legend changes)
legendIsQuestionTitle
Send/reply to messages
DS site search
Accordions/collapsible (links with button behaviour, button context)
Link hover styling
Textarea character counter audio feedback
Character limit on input
Warning panels (panel hidden prefix text)
Cookies
Table of contents (skip over nav)
Suffix/prefix inputs with descriptions (title not read out on Voiceover)

Gather updated requirements from Sarah Brooks (eQ) and contact<EMAIL_ADDRESS>and/or<EMAIL_ADDRESS>


热更新无效

Related plugins

[X] plugin-vue

[ ] plugin-vue-jsx

Describe the bug
1.http://localhost:5173/#/ContentManagement/TrainingLibrary
使用el-table,data使用响应式附值时，vite热更新报错如下：
runtime-core.esm-bundler.js:557 TypeError: Cannot set properties of null (setting 'textContent')
Reproduction
https://github.com/daiyuelin/dts-background-management1
Steps to reproduce
npm install
npm run dev
谷歌浏览器打开http://localhost:5173/#/ContentManagement/TrainingLibrary，然后修改TrainingLibrary.vue代码，热更新报错，如下：runtime-core.esm-bundler.js:557 TypeError: Cannot set properties of null (setting 'textContent')
System Info
"@vitejs/plugin-vue": "^4.0.0",
"vite": "^4.0.4",
"element-plus": "^2.2.28",
"vue": "^3.2.25",
node/16.15.1

Used Package Manager
npm
Logs
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to vuejs/core instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

I guess this is fixed by https://github.com/vuejs/core/pull/4077 that landed in Vue 3.2.38.
If it's still happening, please create a new issue with minimal reproduction using the latest Vue, Thanks.


Contributed buttons not showing up on Notebook files

Version: 1.50.0-insider
Commit: 9e505675670d65138405321a60b0df4ddec28799
Date: 2020-09-16T05:43:58.570Z (22 hrs ago)
Electron: 9.3.0
Chrome: 83.0.4103.122
Node.js: 12.14.1
V8: <IP_ADDRESS>-electron.0
OS: Darwin x64 19.6.0
In the PowerShell extension, we contribute this button on Notebook editors:

this has disappeared in today's insider build.
Here's the code in our package.json:
    {
          "when": "resourceLangId == powershell && notebookEditorFocused",
          "command": "PowerShell.DisableNotebookMode",
          "group": "navigation@102"
    }

I checked the context and it looks fine. It has both of those:

Did something change? Unfortunately, this hurts our customers a bit since we rely on that button to let the user exit the Notebook experience so I hope we can get this sorted.

Sorry for the slow response. This seems to work for me today, can you verify?

It's back! Thanks!


Haxe 4.0.0-preview.3 errors

record-macros/1,0,0-alpha/src/sys/db/RecordMacros.hx:736: characters 12-14 : Unmatched patterns: OpIn

record-macros/1,0,0-alpha/src/sys/db/RecordMacros.hx:902: characters 8-11 : Identifier 'EIn' is not part of haxe.macro.ExprDef (Suggestion: EIf)

record-macros/1,0,0-alpha/src/sys/db/RecordMacros.hx:902: characters 8-17 : Unrecognized pattern: EIn(e, v)

master already has fixes for those errors (unless something else has changed).
@nadako: it would be nice if we could have a new haxelib release.  Is there anything I can do to help?


GT730M DX11 /GL/Vulkan issues crashing after first frame.

Error in surface::configure: Validation Error
caused by  : Parent device is lost
failed to create device requestdevice error { inner: Core(limitexcee(Faillimit { Name: "Max_compute_workougroups_pe
_dimensions, requested: 65535, allowed : 0
Hardware :
i7 3610QM
16gb ddr3 1600
mPCI-SSD
GT730m 2GB
Windows: 10

Related to line 62 render.rs limits, I gotta change it to downgrade or give option to do so


feat: implement expanded-mode route

Summary
Implemented expanded-mode route.
It doesn't have a loading state & and a hover for each step yet.
And its dark theme might be changed.
How did you test this change?
It can be tested in the storybook.
For testing dark mode in the storybook, you can change the defaultValue of globalTypes
Or you can easily pass darkTheme as a storyTheme in withTheme
both in in widget/ui/.storybook/preview.tsx
Checklist:

[x] I have performed a self-review of my code
[x] Implemented a user interface (UI) change, referencing our Figma design to ensure pixel-perfect precision.

small size seems to be correct instead of xmedium

It seems that some text sizes are not correct.

The color in the parentheses does not match the figma

The color of the error icon does not match the figma


feat(anvil): Support newer (Paris, Shanghai) hard forks

Anvil wasn't updated to support newer hard forks from the merge onwards—with the shanghai upgrade this has caused some bug reports when forking. This updates it.

test needs updating
can_get_node_info

hello! i have two questions:

i did foundryup and noticed that i didn't get the latest nightly (which this PR was included in)--it's all fine, I just downloaded the tarball from github releases, and ran the anvil binary which i needed. but i'm curious why did this happen, does foundryup take a little while longer to catch the latest nightly?

is this command expected to be valid: anvil --hardfork shanghai? i'm using the 638bd2e nightly, and i'm getting this error: error: invalid value 'shanghai' for '--hardfork ': Unknown hardfork shanghai. also, when i run cast block against anvil with no --hardfork params, i notice there is no withdrawalsRoot in the block data, so i'm thinking it might not be running a shanghai node.

thanks!


Pycromanager converter v2

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@845f304). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #148   +/-   ##
=======================================
  Coverage        ?   11.14%
=======================================
  Files           ?       44
  Lines           ?     5969
  Branches        ?        0
=======================================
  Hits            ?      665
  Misses          ?     5304
  Partials        ?        0

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


feat: Add tests for Sudoku Solver

Checklist:

[X] I have read freeCodeCamp's contribution guidelines.
[X] My pull request has a descriptive title (not a vague title like Update index.md)
[X] My pull request targets the master branch of freeCodeCamp.
[X] All the files I changed are in the same world language, for example: only English changes, or only Chinese changes, etc.

Closes #XXXXX

@SaintPeter and I hopped on a call together to bang out some tests. The tests are based on the new boilerplate proposed in boilerplate-project-sudoku-solver #8 and #39692.
Rex also (amazingly) put together an example application against which we ran these tests. 😀

I keep going back and fourth about what the scope of these PR's should be. What do you think about adding the stuff I suggested here @nhcarrigan? The updated description and changing the user stories to use "you" instead of "I". I feel like we might as well add it on this.

Sure, I can poke at those 🙂

Okay @moT01 I think I hit all of the points in your linked comment. 🙂

I have tested these changes against the demo project PR for this project and also validated the instructions removed from the README.md in the associated boilerplate PR have been incorporated per the guidelines stated in issue https://github.com/freeCodeCamp/freeCodeCamp/issues/39721
@moT01 If you want to take one final look at this and approve, then I think we can merge it now.

Kindly share your code work of sudoku solver please, I am having issues so for reference I need it please

Kindly share your code work of sudoku solver please, I am having issues so for reference I need it please


None Type error for swda datasets

Describe the bug
I got 'NoneType' object is not callable error while calling the swda datasets.
Steps to reproduce the bug
from datasets import load_dataset
dataset = load_dataset("swda")

Expected results
Run without error
Environment info

datasets version: 2.4.0
Python version: 3.8.10

Thanks for reporting @hannan72 ! I couldn't reproduce the error on my side, can you share the full stack trace please ?

Thanks a lot for your response @lhoestq
The problem is solved accidentally today and I don't know exactly why it was happened yesterday.
The issue can be closed.

Ok, let us know if you encounter the issue again ;)


[Feature Request] wallet_addEthereumChain support

It's really important to be able to add new chains, either by using wallet_addEthereumChain or doing it manually, because there are new Layer 2 chains popping up all the time. Waiting for app updates to add each new chain would just be too slow.

+1 on this one
adding wallet_addEthereumChain and wallet_switchEthereumChain would be a deal-breaker

hey @xiao99xiao @dmytrotkk, sorry for the delay.
i'll ship it right after completing the app store account migration.


Tensorboard conda envs not working

Hi guys,
I am having a rather weird problem, which I hope someone here can solve. I am currently using the newest version of anaconda to create a python 3.5 environment with Tensorflow r1.0 installed. Inside my script I am perfectly able to create event files that should contain my Tensorflow graph, the script opens a writer that uses the tf.session graph as the graph and I create namescopes for the layers, weights and biases (Neural Network).
Upon running an event file gets generated that also can be used to open up tensorboard from my command prompt. This generates an localhost:6006 which can be opened perfectly fine but there is no graph where it should be. Additionally when I use the tensorboard inspect logdir command it tells me the event file is found. Now I have no idea if it is a tensorboard problem, an installation problem or a script problem.
Does this perhaps sound familiar to anyone? Or is anyone perhaps able to open my event file? Would love to figure this out.
events.out.tfevents.1489598042.EH39G4DC.zip
If needed i can upload my script! Thanks alot!

Please provide details about what platform you are using  (operating system, architecture). Also include your TensorFlow version. In addition, include a simple reproducible test case. We ask for this in the issue submission template, because    it is really difficult to help without that information. Thanks!

Automatically closing due to lack of recent activity. Please update the issue when new information becomes available, and we will reopen the issue. Thanks!

I have the exact same problem! Does anyone know how to fix this problem?


HDR10 Support for UE4

https://www.pcgamingwiki.com/wiki/Engine:Unreal_Engine_4#High_dynamic_range_.28HDR.29
I love the work you are doing here, thanks for all of your effort.  Currently. I am using Special K for Fracepacing and HDR10 tonemapping, but I was curious if SMVfix would create a better use of HDR by enabling it natively within UE4.  As with most things HDR, it can be a real can of worms so I would understand if it's not something that you wanted to look into.
Thanks for making SMTVFix, the current state of things has made big improvements to the experience.
Edit: Looks like I can buy you a coffee.

I'm not sure how much help I could be with this given that I don't have access to an HDR display, so testing it properly is not an option for me. Have you tried experimenting with those CVARs in-game through the console?

Not yet, as I am using Special K, I can enable HDR with its injection, it works pretty well, I will see if can test this out sometime this evening, potentially enabling this with cvar could produce a more accurate use of luminosity with more insight from UE4 and with less overhead.

The cvars do affect the color gamut and luminance in some ways and enables HDR, but it doesn't seem to be best solution for this.  I was able to product some results, but the color was either heavily over exposed or heavily under exposed.  Some elements product better luminance than Special K, but the result was all around worse in just about every way.  I really feel like this issue is not one that needs to be explored for SMTVfix, considering that tools like Special K exist, I recommend that folks use that instead, so much it requires specific tuning on a display by display basis.
Potentially, a very crafty person might be able to iterate thru all the available combinations of cvars and produce a good result, but that just didn't seem to be in the cards for me today.

I'm getting really good results with RTX HDR (NvTrueHDR). FYI if anyone is using the TrueHDRTweaks, do not use their DLL, the DLL from SMTVFix will also load the asi of the tweaks.


Adding additional projects?

I'm new to msbuild and project organization with .NET projects, so please excuse what feels like a simple question :)
Once I've used the project scaffold to initialize my project, what's the best way to add additional projects under the src/ directory? Ultimately, I would like to be able to do F# development without the aid of an IDE, as I'm more comfortable in a unix environment, but it doesn't seem like the project scaffold bootstrapping scripts help with this. Should I just use something like monodevelop to manipulate the top-level .sln file and src/ directory contents, while doing the majority of my development in vim?

Bump

Answering my own bump.  I used Forge:
http://fsprojects.github.io/Forge/index.html

to create the project folder itself, but still had to edit the .sln file to add the project to the solution (which is slightly non-obvious how to do).

I was hoping that there would be an easier way to manipulate the sln file programmatically, but maybe using an IDE is the best option right now.

I'll take a look at forge, thanks for the pointer.


Don't download neo4j plugin on every container start

I noticed that when I have slow internet (<100kb/s) it takes me eternity to start neo4j using docker. I found out that it comes from the fact that neo4j downloads plugins from github each time I start/restart neo4j.
The problem is in load_plugin_from_github function - it doesn't cache downloaded file.

Hi @alexlitvinenko
Unfortunately there's nothing I can do about that. It's in Docker's nature to be ephemeral and not persist data between containers. There's no way to cache the plugin files like you requested unless you mount a host folder/volume.
When you use NEO4JLABS_PLUGINS, it downloads the files to the /plugins folder in the container. If you mount a host folder to /plugins the plugin files will get cached for you there.


⚠ Samsung has degraded performance

In 2722c41, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 1839 ms

Resolved: Samsung performance has improved in d4ea9ab.


[Bug] Mention User Overlay doesn't dismiss properly and stays on every screen sometimes.

I was checking out the example app provider by the team and when I try mentions feature there is unexpected behaviour from the overlay, it doesn't get closed properly ans stays through every screen.
It works fine when :

If I select any name from the list
If I type @abc then continue typing.

Fails when:

type @absc and press backspace , then overlay don't get dismised and there's this issue as in screenshot.
unexpectedly sometimes when writing mentioning names not in list or even names from the list (see video for ref )

To Reproduce
Steps to reproduce the behavior:

Compile example app.
go to mentions page
type @anyName not in user list and dismiss keyboard without inputting any other character.
or
@(any name not in list or even from list and then continue typing) , try multiple times (see the attached video for ref)

Expected behavior
Overlay should get dismissed when keyboard is dismissed and when no user is selected from the list typing is going on.
Screenshots

simulator screens

This happened a lot while testing (sometimes it happens and sometimes not)
https://user-images.githubusercontent.com/61776980/190411386-f4fe0dd5-4797-4725-96b6-7ced300b574a.mp4
Environment

OS: [e.g. Mac m1 pro 2021]
Device: [e.g. moto edge 20 fusion] | Emulator - pixel 4 a API 31
Language Version: [e.g 3.3.0]
Software/library Version [dash_chat_2 0.0.14]

Additional context
Suggestion - on mention callback should be called when trigger character is typed, so that we can show all user list.

I could not exactly reproduce it but I improved multiple things and pushed it to the main branch, can you try again using the main branch and let me know if it solved the issue?


Skydive integration with NSM

#490 is being worked by @haiodo to expose the MonitorCrossConnect API.  This API is intended to be usable to feed skydive.network.
It should be possible to start working on the skydive integration in parallel because there is a library for creating a new generic MonitorCrossConnect server
Basically, you can write a very very simple 'mock' MonitorCrossConnect server to start working against roughly like:
ln, err := net.Listen("tcp", "<IP_ADDRESS>:9999")
if err != nil {
	logrus.Fatalf("Error listening on socket %s: %s ", dataplaneSocket, err)
}

monitor := monitor_crossconnect_server.NewMonitorCrossConnectServer()
monitor.UpdateCrossConnect(xcon1)
monitor.UpdateCrossConnect(xcon2)
monitor.DeleteCrossConnect(xcon1)

server := grpc.NewServer()
crossconnect.RegisterMonitorCrossConnectServer(server, monitor)
go server.Serve(ln)

Note, the above is the substantive part, you probably want to dress it up with:
// Capture signals to cleanup before exiting
c := make(chan os.Signal, 1)
signal.Notify(c,
	syscall.SIGHUP,
	syscall.SIGINT,
	syscall.SIGTERM,
	syscall.SIGQUIT)
ln, err := net.Listen("tcp", "<IP_ADDRESS>:9999")
if err != nil {
	logrus.Fatalf("Error listening on socket %s: %s ", dataplaneSocket, err)
}

monitor := monitor_crossconnect_server.NewMonitorCrossConnectServer()
monitor.UpdateCrossConnect(xcon1)
monitor.UpdateCrossConnect(xcon2)
monitor.DeleteCrossConnect(xcon1)

server := grpc.NewServer()
crossconnect.RegisterMonitorCrossConnectServer(server, monitor)
go server.Serve(ln)

select {
    case <-c:
	logrus.Info("Closing Dataplane Registration")
	server.Stop()
}

to manage to have a server that hangs out until killed

These slides that were drawn while chatting with @yf-yang may also be helpful to others:

@matrohon
Status Update:
I rearranged server/client into examples/skydive/[server|client] respectively, .monitor.mk is also changed accordingly.
In Client, I removed ctx.withBlock, so that it will raise Error when server is not available. I also added some comments, so that we can make this part better when move the client into SD probe.
In Server, I added fake CrossConnect generation mechanisms. I'm not sure how to fill some of the data fields, so feel free to change the generation process if the values are not accurate or the names are confusing.
I also did some trivial test to make sure the communication mechanism between Client and Server shown in the picture above is working. Now the client could receive values, so I think the next step is unpacking values from it.
All these updates are in branch fake-monitors in https://github.com/yf-yang/networkservicemesh, I've added you as collaborator. I'd suggest that we develop these code there for the time being, since there is no need to make PRs in the main repo and test it every time we make some slight progress. What's your opinion?

@yf-yang great, I totally agree, let's submit a PR if necessary once the code is mature.
I just discussed with the skydive team. They told me that the simplest approach would be to add a NSM probe in the analyzer. It has a full view of the skydive graph, so the probe would be notified when any element is added into it.
They also gave me a link of a "dumb" probe which we can use as a skeleton for the NSM probe:
https://github.com/safchain/skydive/commit/67eea02074311a1cb720e3833b82a4338b47e652
The NSM probe would use the NSMMonitorClient to connect to every nsmd and to be notified of any event related to  CrossConnects.

@matrohon Before that, may I ask you some questions about the architecture?
To be specific, it could be split into several questions:

Since Skydive is a service, should each node has a pod of SD or in the whole cluster there is only one pod?
If there are multiple pods, since there is only one frontend server, where should we put that server? In the cluster or out of the cluster? Which node and which pod? Is there some intermediate entity in charge of gathering information from multiple MonitorClient on multiple pods then pass them to the frontend server?
How to set those configurations in that skydive configuration yml?
I don't quite understand the architecture picture here, so when it comes to deploying SD in K8s, I'm always confused. Could you please explain the architecture? Then I'd like to draw a diagram before we start to move the code into SD.
Thanks!

for deploying skydive in k8s you will have 2 main components :

agents which run on each node in a pod (k8s daemonset): they are hosting some probes to monitor what is happening in terms of networking on each node, and they create the local graph. This graph is periodically sent to an analyzer

one (or several when deployed in cluster mode) analyzer which run in a pod: it receives every local graph from the agents and build the global graph. It also optionally send this global graph to a storage backend (typically elasticsearch). some probes can be run at the analyzer level, typically probes that fetch datas from controllers (neutron, k8s api...).

For a deployment of skydive in a k8s cluster, you can use k8s configmap to store configuration used by each skydive components, as done in:
https://github.com/ligato/networkservicemesh/blob/2f7acd0c1de706022c431e258fbf13e990956aaa/scripts/vagrant/skydive.yaml#L24

@matrohon @yf-yang As of last night, on master, we have working remote cross connects :)
So if you do
make k8s-deploy
you should get a somewhat interesting topology that spans two nodes :)

It is working fine for local links, and @yf-yang as written the skeleton for the remote connections

As you can see in the screenshot, we can highligth nsm crossconnect link by selecting the correct metadata, added by our probe along with the link, in the skydive highlight box
the WIP code is hosted here for now: https://github.com/Orange-OpenSource/skydive/tree/nsm
It still needs a lot of refactoring and hardening, though.
@yf-yang  there was no issue with the inodes number, but our probe needed to listen at skydive graph events, because it was receiving nsm monitoring events before it even knew about inodes.
I also included a skydive patch submitted by @safchain, to mitigate the UI behavior, and allow highlighting of Edges.

@matrohon Is it possible to get these visualizations to be a bit less busy so its easier to see the NSM links?

@edwarnicke I think we are unable to make changes with other nodes since they are provided by other of probes (Or we can do it in a brute way, but it will destruct modules). One possible way to achieve this is to remove some probes so that those nodes are less. Not sure which probes are utilized in the picture, so this may not work if they are already the minimum requirement. The most possible way is to make the nsm links as obtrusive as possible

@yf-yang @edwarnicke there is a way to write filter in order to just have a subset of the graph. It is available on the web UI (tiny top left icon). One can write such filter in the config file in order to have it applied by default. I think there is no need to disable something.

@safchain @yf-yang @matrohon Could we lead with such a config file?  Its super cool that Skydive can show us the interrelationship of different topologies, but it would be awesome to start focused on the NSM topology :)

@safchain When I apply a filter on vertexes, the dark grey polygon that shows the node disappears. How to tell the filter to keep some backgrounds?

@yf-yang Looking quite a bit better :)  Question, in addition to getting the node highlighting back, is it possible to filter out the nodes in K8s namespace "kube-system" ?

I would use something which is not (yet) documented which allows you to do like an union. I would select netns that you are interrested in and the host nodes. This can be done with something like this.
G.V().Has('Type', 'netns', regex('K8S.namespace', '.*aaa.*')).as('mynetns').G.V().Has('Type', 'host').as('myhost').select('mynetns', 'myhost')

Basically you do 2 requests, the result is stored in two variables 'mynetns', 'myhost', then you select them as a final result. Of course you can use more than two.
I'm not sure about the "K8S.namespace" key, you need to check with the metadata available on the node.

@safchain Cool, you get what we are trying to do wrt the namespace key right?  Suppress the nodes from the kube-system namespace :)

I think this issue is now almost totally fixed by #576
We now need to submit the probe to skydive, and update docker/Dockerfile.skydive to use 'FROM skydive/skydive'.

@matrohon  @yf-yang have a look at #580
It does two things:

It provides make skydive-url to output the skydive url
Rather than building a new container to get the skydive.yml config file, its now in a config map.

It would be nice if in the 'Metatdata' for the link we could have an expandable tree like:

Id - CrossConnect.Id
NetworkService - Same as now
Payload
Source
** IP - Connection.ConnectionContext.SrcIP
** MechanismType - Connection.Mechanism.Type
** MechanismParameters - Connection.Mechanism.Parameters as a tree of key value pairs
** Labels - Connection.Labels
** SourceNSM - Connection.SourceNetworkServiceManager (if remote.Connection)
** DestinationNSM - Connection.DestionationNetworkServiceManager (if remote.Connection)
** NetworkServiceEndpoint - Connection.NetworkServiceEndpointName (if remote.Connection)
Destination
** IP - Connection.ConnectionContext.DstIp
** MechanismType - Connection.Mechanism.Type
** MechanismParameters - Connection.Mechanism.Parameters as a tree of key value pairs
** Labels - Connection.Labels
** SourceNSM - Connection.SourceNetworkServiceManager (if remote.Connection)
** DestinationNSM - Connection.DestionationNetworkServiceManager (if remote.Connection)
** NetworkServiceEndpoint - Connection.NetworkServiceEndpointName (if remote.Connection)

@matrohon I've made a PR to nsm branch, by the way Ed suggests to make the metadata collapsable and default to collapsed. Now it is only supported for arrays, but not mappings. I guess the source is collapse.js and object-detail.js respectively in static/js/components, but I failed to modify them because I know almost nothing about js. Could you please take care of that?

@yf-yang I'll take care of this.

@safchain Many thanks :)

@safchain I was thinking having a dedicated collapsable menu in the right panel, like the docker menu. Thoughs?

I just pushed a new image (matrohon/skydive:nsm.0.5) with :

arrows;
more distance between hosts;
more nsm crossconnect details in the metadatas;

Thanks @safchain and @yf-yang
@safchain is taking care of the collapsable mappings. We'll see if a dedicated nsm panel is really needed.

it is working great thanks @safchain
your patch is avalaible in my latest image: matrohon/skydive:nsm.0.6

@yf-yang thanks to your patch, we now have more information on the crossconnect links in the metadatas.
However, since you're using a map, those metadatas are displayed in alphabetical order.
As discussed with @edwarnicke it would be nice to have those metadatas displayed in a strict order:
CrossConnectId
NetworkService
Payload
Source
Destination
As discussed with @safchain, using an array instead of a a map would be the option to force the order of the keys of displayed metadatas.

We also have to connect interfaces instead of  namespaces when the Type is a KERNEL_INTERFACE.

In looking at:

I noticed that Source/Destination panels are only showing the local information for the Source and Destination for remote links.
As far as this goes, this is the correct behavior.
For Remote Links, could we add a 'Via' Panel in between Source and Destination showing the information for the remote.Connection between the two CrossConnects?


fix datastore for file

Seems, that we broke loading of local files
Signed-off-by: Petr Fedchenkov<EMAIL_ADDRESS>

So we fix it.

So we fix it.


fix problem with invalid time if no rtc

I noticed, that I cannot onboard RPi with Adam and the same problem for defined rtc base = "1970-01-01" in QEMU.
The problem, was in certificate time mismatch with local inside EVE.
So, we need to remove SenderStatusCertInvalid because it is not remoteTemporaryFailure and depends on ntpd response.
Signed-off-by: Petr Fedchenkov<EMAIL_ADDRESS>

Yes, RPi4 have no RTC module, so it think, that it is 1970. And yes, ntp do its work fine, time change on my RPi during device-steps ntp starting.
My QEMU with EVE also can think, that it is 1970. I do it manually for testing via:
[rtc]
  base = "1970-01-01"
  clock = "vm"

And in both variants I cannot see any attempts of calling /register endpoint of Adam.
I see comment about it here: https://github.com/lf-edge/eve/blob/788d85fa879806f6f4a36b127508c61711abee32/pkg/pillar/cmd/nim/nim.go#L907-L911
We are forced to launch nim before ntp. And we give up upon receiving an answer SenderStatusCertInvalid.

I added a workaround to device-steps.sh to set the date based on the last modified time of root-certificate.pem.

We are forced to launch nim before ntp. And we give up upon receiving an answer SenderStatusCertInvalid.

But thedevice cert isn't created until we have gotten out of 1970.
Are you seeing an error due to the server cert not being valid (NotBefore check)?
The root certificate might still be issued in 2018 and the server cert have a NotBefore of 2020, thus the fix doesn't work in all cases.
I think a better approach would be to have VerifyDevicePortConfig() treat DPC_REMOTE_WAIT as DPC_SUCCESS (i.e., log as error, but proceed as if it was a success because we did manage to connect to the controller). This assumes that we don't have a bad https proxy which causes the CertInvalid error - in such a case we'd want to try a network path which does not have that bad proxy.)

Thanks for pointing out the direction of the modifications! Made edits.

This is simple and will get us going on RPi4.

If we are going to use the device-steps.sh timestamp as the initial timestamp (https://github.com/itmo-eve/eve/commit/d3b9df0c9dc1d5be031a35b06cbd76ff3e056580), we need to change the Eden logic to issue certificates from NotBefore in the past (before the moment of building the pillar of EVE).


Style: Header

Apply the gist of the styles from Melissa's comps to the header for integration

Remove


implement Element#text! with nokogiri

Element#text! should be implemented with nokogiri, not JavaScript. The main use case for this (for good or for bad) is doing a bunch of text verification on a page.
Rather than a bunch of wire calls for each element, this will grab the page source once and allow you to continue to use it for every #text! method you call.
The cached source is reset with an After Hook (which is only added if #text! is used) to prevent user from accessing old data.
@element is also reset after #text!, since the element needs to be relocated for any non-#text! method.
Gets rid of the extensions/nokogiri.rb file, since that is now accomplished with browser.text!
This feature does not support elements nested more than one layer below the browser or an iframe.
Implementation uses #find_first_by_multiple to force the selector to return XPath (or CSS) that Nokogiri can use. The only tricky part was pulling out the #locate_element & #locate_elements code. The rest of the locator logic is exactly correct, just need to override the actual location mechanism.
I ran the specs with #text! aliased on #text. Other than the nested elements, and the text that is not visible still showing up, there were only a couple edge cases that I don't think will matter to users who might want to take advantage of this feature.
It did cause me to add afterhooks.run after several more methods when it was obvious that the doc needed to be updated but was not.

What bothers me most in this is that location is different based on methods you use, so it's possible that #text and #text! will produce different behavior.
I do understand that there is a need for people parsing a lot of text, but it seems too much to have a custom locator strategy that works for only 1 method. Why do we want this to be a part of Watir? It fits more into watir-nokogiri gem.

I started trying to re-write the Watir-Nokogiri gem as a driver instead. My hope is then to monkey patch a method into the Browser and Element that allows for switching to static HTML parsing. For example, it might be:
element.static.text

The code is a bit of a mess since I am still unfamiliar with the Selenium code base and webdriver specs. However, I do believe that it will be a more consistent and maintainable static HTML parsing approach than my original hacking of the Watir-Nokogiri.

But that's the thing, I don't want to use a separate nokogiri driver. Doing a custom locator strategy also doesn't work if I only want it to apply to one method. All other options would require monkey patching, which is specifically what the location code extensibility was designed to prevent.
I want to do all of the normal Watir things with the normal Watir code, I just sometimes want to get text via nokogiri. I don't think it is a big deal that different methods (#text and #text!) sometimes return different things; we already know that some of our location strategies are off in just this way (#342), this would actually be more explicit about the fact that there is a difference. In fact based on how our Regex matching works right now, it might make more sense for *it to use this nokogiri implementation since it should return the same thing as current with a huge speed boost...
What if we used #static_text instead of #text!? I just thought rolling everything out with bangs would be symmetric and such. The reason it belongs in the Watir project is the same reason the javascript would belong there. I don't see any real difference in the approach to non-default non-selenium implemented performance enhancing code.

As a weekend exercise I decided to implement this with a separate gem: Watigiri (you know to match "Watizzle"). Anyway.
Overall I'm pleased with it, but my implementation requires monkey patching several things onto Watir that I'm not super excited about. (Also, this is what the code from #630 uses).
That gem would essentially let people just do Element#text! without needing to do anything more than gem 'watigiri' & require 'watigiri' in their code. No instantiating Nokogiri objects, no re-implementing a ton of Watir code. It's essentially just 4 methods in Locator class
So, this solves my use case, but not @jkotests's where the concern is speed of element location especially with regular expressions. I have an idea for implementing this. I thought perhaps Watizzle might be a better solution for handling this, but @p0deje expressed concerns with the universal compatibility of Ruby -> JS Regular Expressions.
I'm thinking we could something like this...
noko_elements = @query_scope.browser.doc.xpath(what).to_a
index = noko_elements.find_index { |e| matching_function(e) }
watir_element = @query_scope.elements(xpath: what)[index]

Issues would be:

does #matching_function include checking for visibility?
Do we implement a separate locator for this gem? (I'm thinking :html as I referenced in #631)
Does it only apply to selectors that include regular expressions? All selectors with regex or a subset?

@titusfortner the goal of Watir-Nokogiri was to provide static HTML parsing using the Watir syntax. Watir(-WebDriver) can be slow for a number of things, not just locating by Regexp. The example that got me started is parsing large tables. In the application I work with, we generate some large table reports - eg 2,500 cells. Parsing the table, eg table.strings takes several minutes to execute. A number of years back, Zeljko had suggested using Nokogiri to solve the problem. However, this meant learning XPath/CSS, which we tend to avoid with Watir. Watir-Nokogiri was meant to solve this problem.
Anyways, I am open to any collaboration (whether it be just making Regexp searching faster or full HTML parsing).

@jkotests - yeah I saw Zeljko's post from after the talk given at the Test Automation Bazaar in 2012.
Oh weird I didn't know #strings existed. Why is it in RowContainer instead of a method on the Table class? Oh huh, so it will work with TableSection as well. Interesting.
Right, so my thought was to implement any and all repeated text heavy stuff using Watigiri. So, at this point that looks like implementing & monkey patching in: Element#text!, Table#string! and Table#hashes!. These would all just use #text_content instead of #text. Plus the overriding of the default regex parsing for location. Would this address all of your use cases, or am I missing something?
Or... should using this gem override the default #text/#string/#hashes without the bangs?
Do you currently use Watir-Nokogiri in production for anything right now? Hard to see who else might be using it since there's only one release of it 4 years ago. :-D

I don't currently use Watir-Nokogiri. At the time I created it, I didn't have a use for it since Watir-Classic was quite fast. When I finally ran into a scenario that would benefit from it, Watir-Nokogiri was too out-of-date with Watir that I just used Nokogiri. But in terms of usage, I know it's come up as a request for using it with Cheezy's Page-Object gem. Apparently a wiki page was even written.
Interesting. The wiki suggests that Capybara might have a static HTML parsing capability -https://github.com/teamcapybara/capybara/blob/master/lib/capybara/node/simple.rb
I think monkey-patching in a couple of methods is still a bit short of where I would want to go. If you take the large table example again, what if I want to get an attribute value from each row of a 100 row table? That's a minimum of 100 wire calls. Watir-Nokogiri (or the newer static HTML driver) would be just a single wire call to get the element HTML.

Then we can create a #value! and/or #attribute! method? That's what I'm looking to figure out, what all makes sense to add, because I don't think it is actually that many methods that make sense to implement like this.
I guess I'm trying to find a solution that:

Provides a simple interface that abstracts away the implementation details (i.e. same interface could be used by Watizzle, or another JS implementation, etc). User is *always working with a Watir element, never a Nokogiri node directly.
Takes advantage of Watir's existing Selector engine so everything supported by Watir is supported by the ~giri implementation
Takes advantage of after hooks to minimize likelihood of using stale document
Focused so that it is only used in the places that make sense (e.g. used for regex location, but not id location; called from a text method but not a click method, etc)

Interesting on the page_object_watir_nokogiri. It isn't on rubygems so it looks like it is "single use?" :)

Would the solution allow locating nested elements without wire calls?

I hadn't considered that (it would only save a couple wire calls), but I think it is doable.

In that case, sounds like Watirgiri might achieve the same thing. Give me some time to better understand the code, but I still feel like there's more duplication required than faking out a driver.


New Failure: End2endTest.ChannelState

Test: End2endTest.ChannelState
Poll Strategy: poll
URL: https://kokoro2.corp.google.com/job/grpc/job/ubuntu/job/sanitizer/job/grpc_cpp_asan/168

The poller is actually poll-cv

Cannot repro...

Not enough info available, closing.


Update deprecated lifecycle method

Hello,
componentWillMount and componentWillReceiveProps  will be removed in future version, it's required to use the new methods with UNSAFE_ prefix in order to use it.

@DCKT This didn't work when updated in my project. I still get those deprecated warnings. Grateful if you could help with this problem?
@ascoders Till when can we expect this to be merged?

Don't forget to update the .ts files
Can you do another find search for those two deprecated methods? I believe you've left a few out, reason the warnings are still there.
@ascoders can we get this merged asap once it's finished?

+1 @ascoders

@DCKT Instead of UNSAFE prefix we can replace deprecated lifecycle methods with componentDidMount and componentDidUpdate

@DCKT Instead of UNSAFE prefix we can replace deprecated lifecycle methods with componentDidMount and componentDidUpdate

This is not entirely true. Keep mind those methods are semantically different, so such change would need to be tested (e.g., didUpdate fires on every render regardless of props change)

@DCKT Instead of UNSAFE prefix we can replace deprecated lifecycle methods with componentDidMount and componentDidUpdate

This is not entirely true. Keep mind those methods are semantically different, so such change would need to be tested (e.g., didUpdate fires on every render regardless of props change)

In this case, the componentDidUpdate compares previous props with the new ones and will not do anything if the centerOn prop did not change, so this logic can be safely moved to the componentDidUpdate method.
As for the componentWillMount method, the actions performed in this method can be moved in the constructor.
See my PR for this approach #127

UNSAFE is not great, yeah.
PR #130 will handle that. (Also check out #129 if you're interested what's going on with this package)


DS-4194 Use lazy fetching iterator for long query results

Solves: DS-4194
This moves away from reading every result into memory during the Discovery indexing process.

NOTE: This only affects master (pre-7.0) as the behavior seems to have changed after we did Hibernate deprecation fixes in #2111.  So, this PR seems to be fixing an accidental side-effect of #2111.

Thanks @AndrewZWood !


Delete icinga_slack_webhook from the list of repos.

Better to just remove this one than keep it around cluttering up search results.

Cheers!


Any command that opens a browser, hangs in command prompt

Summary
Any time I run a command that opens a browser (i.e. force:org:open or force:auth:web:login), the command prompt just hangs and does not exit the process. I have to then manually kill the process (Ctrl+C).
Steps To Reproduce:

Run sfdx force:org:open

Expected result
Process opens browser and command prompt is ready for next command
Actual result
Process opens browser and command prompt is hanging. Need to Terminate batch (Ctrl+C) to run next command
Additional information

Windows 7 64 Bit

@banderson5144, I've had this problem and still do once in a while. I was able to trace my problems back to SentinalOne, even with all the engines disabled I still saw the problem. Only went away when it was uninstalled.
I was also able to prove mine was unrelated to SFDX and was about asking the command prompt to open something, even just opening the explorer to the C: drive caused the problem. I'm on Windows 10 and updating to newer versions of Windows 10 made this happen much less often but I still have occasional problems a few times a month (still have the anti-virus installed).
Don't know if that helps but I can dig up some of my testing notes if this rings any bells for you.

@aheber this is on my personal machine so no enterprise software in the way.

Too bad, hope you can find an answer.

@banderson5144 are you still experiencing this issue with the most recent CLI version?

Correct yes:
sfdx-cli/7.81.0 win32-x64 node-v12.19.0 is the version that I am on

@banderson5144 are you still seeing this on recent releases?

@mshanemc no, but I also just recently upgraded to Windows 10 so I can't be sure if this is still  happening on Windows 7

we don't support windows 7 (node dropped support for it since MSFT dropped support for it).  If win10 is good, I'm gonna close.  Thanks for the update.


UnhandledPromiseRejectionWarning

Receiving the following when trying to run the trader.
? Enter the Trailing Loss Percentage: 1 ? Start the trade now? Yes (node:14223) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'toString' of undefined     at start_trading (/home/tony/dev/node-binance-trader/index.js:319:28)     at inquirer.prompt.then.answers (/home/tony/dev/node-binance-trader/index.js:309:7)     at process.internalTickCallback (internal/process/next_tick.js:77:7) (node:14223) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1) (node:14223) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

I am also receiving the same error on node v10

Same issue.

Solution?

issue gone with the new version