Replace Clap with a simpler crate

Out of all our dependencies, Clap takes the longest to compile according to cargo +nightly build -Z timings --package libnewsboat-ffi --release on my machine. We already disable all the Cargo features of this crate, but it's still too big. And we probably don't need  it at all: we only use it to parse the arguments, while all the validation and help messages are handled by our code.
There must be simpler crates for this, something closer to C's getopt(). We should migrate to that.
The module to edit is rust/libnewsboat/src/cliargsparser.rs.
Be mindful of #1357. The new crate should support OsString, maybe even use it by default.
This sounds like an easy issue: pick a crate, change our module to use it, check that the tests still pass. So I'm adding a "good first issue" label. Please drop a comment below if you need some advice or run into problems — I'm glad to help!

lexopt supports OsString but is very new. Lexopt also provided a handy table at the bottom of the README comparing other parsers.

Thanks! Have you looked at the code of those two? Does they inspire confidence? I'll try to take a look tomorrow.

I have taken a look at both, but my understanding of Rust is limited (currently learning). They are both minimal, thus easy for a Rust programmer to audit.

i spent about an hour trying to understand what the real difference between those two is, and failed. They aren't as simple as I expected them to be :) I'll make another go at them tomorrow.
I also noticed that our test suite for CliArgsParser doesn't check the behaviour for combined short arguments (.e.g. -vc /path/to/cache.db), unseparated options (e.g. -c/path/to/cache.db), and short options with = (e.g. -c=/path/to/cache.db). It's just a matter for adding new assertions to existing tests, so shouldn't be hard to do while replacing Clap.

I now reviewed both crates and I like lexopt slightly better. It's less mature, but OsString support is much better: in lexopt it's built-in, in pico-args you have to roll your own handling of -ovalue and --option=value.
@amritbrar, please add the tests I mentioned in the previous comment, and let's try lexopt!

I'll get a PR ready with lexopt. If something pops up later, we can always change the parser back.

I had a look at the crate and didn't find any issues with it, it's well documented and small enough for me to slowly get through. I was thinking that the crate is super new, has very few downloads, but that probably doesn't matter since it's fairly small.

lexopt was also posted on r/rust. Good engagement going on, with author of pico-args also involved.
Reddit thread

Ah, cool! This comment and this document are particularly insightful.

I will be investigating, crates other than clap. As far as I was aware, it was a wrapper around getopt, but at first glance it seems I was wrong in that asssumption (I am still pretty sure there is a thin wrapper crate around getopts though, out there).

Okay, okay, calm down :) I'm not sure I understand the problem just yet. If I had to guess, you might be calling lexopt::Parser::from_args(opts.iter()) in CliArgsParser::new(); if that's the case, try opts.into_iter() instead. If there's something else going on, please make a draft PR, comment on the line that causes all this grief, and let me think what to be done here. Hopefully we can get out of this without forking lexopt :)

Okay, okay, calm down :) I'm not sure I understand the problem just yet. If I had to guess, you might be calling lexopt::Parser::from_args(opts.iter()) in CliArgsParser::new(); if that's the case, try opts.into_iter() instead. If there's something else going on, please make a draft PR, comment on the line that causes all this grief, and let me think what to be done here. Hopefully we can get out of this without forking lexopt :)

I'm calm and good now after a good night's sleep :) I was obviously way, way too tired and confused 😆 from_args should obviously work, I just saw errors involving "static" and thought "omg" - but using into_iter will obviously work. Lifetimes in Rust is  something that never quite sticks with me to the degree that I feel comfortable knowing that I "got it right".
None the less though, hacking on it to make it accept -o=value types would be nice. I suppose I could file an issue with the repo, it's not exactly needed right now.
The code is going to look rather convoluted though/one big massive pattern match, but that's the price we pay for using lexopt - I still think it's the right choice though. I'll get back to you later today with what I got so far, once I get home.

So that was what I came up with - if you think this code is ok enough to send a PR for (so we can discuss possible changes), let me know. I managed to reduce some of the verbosity and as stated in the commit, if/when the feature is implemented that I requested of the maintainer, some more verbosity / double checking can be removed with ease (since then, we don't have to ask for stripping the equal signs out of option values).
The compile time in comparison for lexopt is 0.7s on my machine compared to the 9.1s for clap, so quite a large reduction in compile time, with a total rebuild of the rust side reduced with more than 1.4s.

Worth to note here; we're not saying anything about erroneous values. We're just setting "should print usage" and exit code EXIT_FAILURE and returning args. I think clap, kind of automatically did stuff before (or maybe not? It looks as though the prior code didn't let clap do much validation, since we checked "does this exist? does that exist?" and so forth).
In each pattern match, we can handle messages specifically, saying something like "this argument requires a value" or something like that, but I figured I would commit this first, before adding more code, in case you would find this commit undesirable.


Ignore alreadyExist error in usermanager

Problem:
CreateNewUserClusterRoleBinding attempts to create the role and binding
for a user, under a race this can error and return an alreadyExists
Solution:
Ignore alreadyExists errors here and continue

https://github.com/rancher/rancher/issues/15233

https://github.com/rancher/rancher/issues/15233


BCRS UI Framework

Issue #: /bcgov/entity#1895
This is an initial PR for the UI Framework. Can add of remove anything based off of team preference. Please let me know if i missed anything!
Description of changes:

Implements directory structure & Typescript related directories.
Router set up ( Auth Not Included ).
Store structure set up ( Examples for State Included, Actions and Mutation Examples to come ).
Utilities methods to initialize the env variables.
Libraries and dependencies Set up.
Typescript Store/State examples.
Typescript Mixin example.
Linting & Unit testing.

Not Included:

Peters POC for static values
Launch Darkley
Actions and mutations examples with typescript

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the bcrs-entities-create-ui license (Apache 2.0).

Please use the bcgov favicon from coops-ui (instead of the default Vue favicon).

Are we using bcrs-ui/src/assets/logo.png? If not please delete it.

Do we want to use models and services that we discussed in one of the retros? Models can be used to define the request/response structure and services can have one Service file for each API and that will list all the operations of that specific API that we are using in the UI.
Also do we have multiple unrelated functionalities that uses different APIs? I can't think of any at the moment. If we come across that it would be a good idea to organize the store into modules

Great idea! Do you think this should be part of the "template" for future BCR apps or should we just move that way for this app at the moment?

Are we using bcrs-ui/src/assets/logo.png? If not please delete it.

Just for the splash page. Same as above i suppose, would like me to just remove the splash page from the framework?

Are we using bcrs-ui/src/assets/logo.png? If not please delete it.

Just for the splash page. Same as above i suppose, would like me to just remove the splash page from the framework?

I didn't originally notice it in Home.vue.
The initial app should have a landing page -- Home -- so just leave it all as-is. And promise me we'll delete the logo when we rewrite Home :)

Are we using bcrs-ui/src/assets/logo.png? If not please delete it.

Just for the splash page. Same as above i suppose, would like me to just remove the splash page from the framework?

I didn't originally notice it in Home.vue.
The initial app should have a landing page -- Home -- so just leave it all as-is. And promise me we'll delete the logo when we rewrite Home :)

I promise! ( fingers crossed behind my back )

It would be good to add the request response interceptor utility. e.g axios-auth.ts in coops-ui

Good idea, definitely goes hand in hand with the Auth. So the plan is now to Add in Auth, Token refresh and the interceptor. Thanks!

Do we want to use models and services that we discussed in one of the retros? Models can be used to define the request/response structure and services can have one Service file for each API and that will list all the operations of that specific API that we are using in the UI.
Also do we have multiple unrelated functionalities that uses different APIs? I can't think of any at the moment. If we come across that it would be a good idea to organize the store into modules

Great idea, i feel like now is a good time to incorporate with an example. As long as this framework isn't blocking any other work from being done, lets do it!


Performance issues with swiCleanup

Following up on some traces that @wanderview performed on navigation requests to https://chromeos.dev/, it looks like there's a synchronous JS microtask delay of ~1.5s (on desktop Chrome), with much of it attributable to the swiCleanup callback function's usage of [Symbol.split]: https://github.com/chromeos/static-site-scaffold-modules/blob/e1cd1cd0620c64e665a9f64292f58e0b63d80b43/modules/service-worker-includes/index.js#L84-L115
This might be due to the complexity of the RegExps being passed to .split(), the size of the source string that the RegExps are being run against, or something else regarding the algorithm in that function.
If it turns out to be correlated to the complexity of the RegExps, it might be worth checking whether the related serviceWorkerInclude function could be sped up in a similar way, since that's using a similar set of RegExps.

Note, this also shows up in firefox.  Here is the firefox nightly profile:
https://share.firefox.dev/31FGqyY

In an attempt to isolate just the code that might potentially be slow from the larger service worker code, I put together https://gist.github.com/jeffposnick/e0f6a1bc48d66bf118deb908e442188a
It's runnable by copying and pasting into your browser's console, and the input HTML that the RegExps are being run against is taken from the https://chromeos.dev pages-cache.
I see swiCleanup: 2254.2080078125ms when I run it using the real-world HTML, but that drops down to maybe 500ms or so when run against a very small HTML string. So performance definitely degrades as the size of the HTML increases, but even for a trivial string, it still does take a potentially noticeable amount of time.

After poking at this a bit more, I think that some of the overhead is due to https://github.com/chromeos/static-site-scaffold-modules/blob/e1cd1cd0620c64e665a9f64292f58e0b63d80b43/modules/service-worker-includes/index.js#L38
If I change that [\s\S]* from the start of that RegExp into a .*, then the execution time goes from around 2200ms down to 20ms(!). You can try that out by comparing https://gist.github.com/jeffposnick/e0f6a1bc48d66bf118deb908e442188a#file-faster-js to https://gist.github.com/jeffposnick/e0f6a1bc48d66bf118deb908e442188a#file-original-js
@Snugug, what's the significance of using [\s\S]* in your original RegExp? I'm not 100% sure that [\s\S\]* is directly equivalent to .*, but based on what I know about RegExps, I think they're fairly close.
There's no test suite for service-worker-includes, so I don't feel comfortable enough making that change myself and ensuring that it doesn't break anything. But that at least seems like a promising place to investigate.

I'm not 100% sure that [\s\S]* is directly equivalent to .*

It's not. But try adding the dotAll s flag instead of [\s\S]* so . matches newline characters as well.

const endIncludeWithLeadingRegExp = /.*<!--\s*#endinclude\s*-->/gms;

Switching to .* with the s flag takes it back to swiCleanup: 2224.31591796875ms.
At least it's obvious what the expensive bit is now!

I've been looking into the service-worker-includes codebase a bit more, and I just wanted to clarify something with @Snugug:
Does the swiCleanup code just "undo" the serviceWorkerInclude code, getting the HTML body back to the "pristine" state matching what's returned from the network?
If so, I think a way forward that will be lighter-weight would be to just save the "pristine" HTML in the serviceWorkerInclude somewhere in your module's state, keyed to the incoming request URL, and then read that "pristine" HTML from memory inside of swiCleanup and use that to write to the cache, clearing out the in-memory cache when that's done. That way, you could avoid the expensive RegExps that undo your templating.
The service worker should be automatically kept alive via waitUntil() during this interval, so I don't think there's much risk of losing the state in between the time you read the network response and the time you write to cache. The worst-case scenario would be that you skip writing to cache if there was missing in-memory state.
(This will actually be cleaner to do in v6, as plugins now get their own request-scoped state, so you wouldn't have to use a static Map on the module.)
I'm happy to do a little refactoring of the code to accomplish this if you think it sounds good, @Snugug.

@jeffposnick Yah, you nailed it. swiCleanup takes the incoming request, removes the bits that are handled by the include code, and responds with the pristine code. Your solution sounds like it'll work. The things that need to hold true through your refactor are:

The page being served to the user has the proper includes placed in
The cleaned version is saved to the cache
We don't fall into a state where there are cache misses for something that's already been hit via a staleWhileRevalidate, for instance, or into a state where what's in the cache hasn't been cleaned.

If these need to be weighted, properly swapping in the precached includes is most important (even if it means not cleaning them before they hit the cache), followed by properly cleaning them before they hit cache because the former is the core bit of functionality of the module while the later is for reducing cache size.

Oh, I think I am misinterpreting something then
I was under the impression that the network response would already be "pristine" and could just be used as-is to populate the cache, but based on what you say (and on looking at https://chromeos.dev traffic), that's not the case. The network response needs to have bits stripped out before it could be saved to the cache, and stripping out those bits is what the expensive RegExp is doing.
So... I think we're back to figuring out how to speed up the logic in swiCleanup().

Can the server provide a different representation that's easier to process?

(FWIW, this expensive RegExp processing would be a perfect candidate for offloading to a Worker, but browsers don't support spinning up a new Worker from inside of the ServiceWorkerGlobalScope.)

@Snugug, here's a potential refactoring for which I'd appreciate a correctness check.
The one breaking change (beyond some minor differences about being more strict about extraneous space characters, which is just a slight optimization) is that this won't work if there are nested includes, or any other scenario where there might be more than one <!--include virtual='...'--> before a <!--#endinclude-->.
I'm assuming you don't need nested includes (https://github.com/chromeos/static-site-scaffold-modules/tree/master/modules/service-worker-includes#service-worker-includes doesn't indicate one way or another), but I do want to make sure that they're clearly documented as not being supported in that case.
async function swiCleanup({ response }) {
  const templatedContent = await response.text();

  const newBody = [];
  // We don't want <!--#endinclude--> to be included in the new body, so just
  // split on it and don't add it back.
  for (const part of templatedContent.split('<!--#endinclude-->')) {
    const match = part.match(/<!--#include virtual=['"][^'"]+['"]-->/);
    if (match) {
      // If there's a match, add all of the HTML, up to and including the first
      // <!--#include virtual="..."-->, but excluding anything that follows the
      // first include tag.
      // Note: This won't work as expected if there are multiple include tags
      // before an <!--#endinclude-->, e.g. in nested-include scenarios.
      newBody.push(part.substring(0, match.index + match[0].length));
    } else {
      // If this happens, it means that there was an <!--#endinclude--> without
      // a corresponding <!--#include virtual="..."-->
      // Safest thing to do is just to use all the HTML for that part, as-is.
      newBody.push(part);
    }
  }

  return new Response(newBody.join(''), { headers: response.headers });
}

Also, here's a new gist with a better test case and comparison of the output of both the original code and this revised code: https://gist.github.com/jeffposnick/fd33ce98a32973b2ca738293744101b6
My original gist was processing HTML from the cache (which had already been cleaned), and this new gist uses HTML from the network (which still needs to be cleaned, and therefore more closely matches what the service worker will be doing).
oldCleanup: 1421.18017578125ms
newCleanup: 0.81689453125ms

@jeffposnick I do not believe we need to support removing multiple includes if they're nested, as the highest-level one will be the one that gets replaced ultimately, but someone should be able to nest multiple includes; consider a logo being reused in a header and a footer, with all three being includes.

someone should be able to nest multiple includes; consider a logo being reused in a header and a footer, with all three being includes.

The code complexity increases quite a bit if you have to supported nested includes, unfortunately 😒
Perhaps you could get away with not supported nesting?
For those playing along at home, I've been trying out the nested scenarios with
<head>
  <!--#include virtual="/_components/en/b.txt"-->
  <b>
    <!--#include virtual="/_components/en/c.txt"-->c<!--#endinclude-->
    <!--#include virtual="/_components/en/c.txt"-->c<!--#endinclude-->
    <!--#include virtual="/_components/en/c.txt"-->c<!--#endinclude-->
  <b>
  <!--#endinclude-->
</head>
<footer>
  <!--#include virtual="/_components/en/d.txt"-->d<!--#endinclude-->
</footer>

as a sample input test case, and the expected result is
<head>
  <!--#include virtual="/_components/en/b.txt"-->

</head>
<footer>
  <!--#include virtual="/_components/en/d.txt"-->
</footer>


Rely on 'podman system migrate' always being present

The 'podman system migrate' command was added in Podman 1.3.0, which is
within the current minimum required Podman version of 1.4.0.

Merged via commit 2c77778f04e883895d760eb2cd7ced336fbb8674


getting IP returns no result

wanip=$(/usr/bin/dig +short myip.opendns.com @resolver1.opendns.com) does not return results on my VPS, when using the actual IP for resolver1.opendns.com it does work
wanip=$(/usr/bin/dig +short myip.opendns.com @<IP_ADDRESS>)
https://github.com/adeptio-project/adeptio/blob/8811bb977928614510342a2a665db0343eb9d551/scripts/setup_adeptio_hot_masternode_ipv4_latest.sh#L36

In addition, perhaps allow a user to input the address by hand instead of exiting the script... Now you have to manually change the installation script, allowing for manual input would make it easier for some people to continue the installation process

$ dig -v
DiG 9.10.6

Can you copy all the line above and paste the output?
I am wondering why the result is completely empty.

$ which dig ; wanip=$(/usr/bin/dig +short myip.opendns.com @resolver1.opendns.com) ; echo $wanip
/usr/bin/dig
The dig command has no result, looks like @resolver1.opendns.com is not correctly routed

Intresting situation. Perhaps your VPS or ISP somehow blocking the origin.
How about this alternative?
wanip=$(curl -s 4.ipquail.com/ip) ; echo $wanip


Required property is not detected in Request Views

Describe the bug
Given a request body view, when an item within a property was made required, no breaking changes are detected.
In the example below, "Id" and "IPAddress" are made required and this is captured in change_report but not flagged as breaking.

          IPAddress:
            pattern: "^((25[0-5]|(2[0-4]|1\\d|[1-9]|)\\d)(\\.(?!$)|$)){4}|([0-9a-f]{1,4}{7}[0-9a-f]{1,4}$"
            type: string
            description: IPv4 address

With change_report.html

POST /api/Example

- Request body changed
  - Content changed
    - Modified media type: application/json
      - Schema changed
        - Property 'OneOf' changed
          - Schema #/components/schemas/ExampleRequestView1 modified
            - Required changed
              - New required property: id
          - Schema #/components/schemas/ExampleRequestView modified
            - Required changed
              - New required property: id
              - New required property: IPAddress
          - Schema #/components/schemas/ExampleRequestView2 modified
            - Required changed
              - New required property: Name
              - New required property: Id

Receive: Empty breaking_changes

Expected behavior
Expect the changes to be detected as breaking and appear in breaking_changes_report.diff
Desktop (please complete the following information):

OS: MacOS

Hi @swattyT,
I think the location of 'required' is wrong in revision.yaml. It should be under the inner object which has properties, id and IPAddress. And if you put it there you will get a breaking-change error as expected.
If you still think there is a bug here, could you please provide complete specs to replicate the problem.
Thanks,
Reuven


Fix serialization of AnimationChannel::target_node when it is zero

Fix serialization of AnimationChannel::target_node when it is zero.

Good catch! Thanks! Merged!


Cfin Setup inconsistently fails

Setting up an SSH sometimes causes a "socket error".
This is caused both by server unavailability and setup error.
The solution step is more transparent error messages, if possible

Hasn't happend in a while, and is now unrepeatable


centos 8 Image and CommandLine  returned in null values

I want to install sysmon on Centos 8 . for centos 8 i did the following steps but Null values are returned in /var/log/messages. How did you do? can you help me?
Centos 8
Register Microsoft key and feed
sudo rpm -Uvh https://packages.microsoft.com/config/centos/8/packages-microsoft-prod.rpm
Install SysmonForLinux
sudo dnf install sysmonforlinux
example log from /var/log/messages
Jan  6 09:58:15 localhost sysmon[1861664]: <Event><System><Provider Name="Linux-Sysmon" Guid="{fd293-a1d3-4f13-b0d6-01fc80f97}"/><EventID>5</EventID><Version>3</Version><Level>4</Level><Task>5</Task><Opcode>0</Opcode><Keywords>0x800000000000000</Keywords><TimeCreated SystemTime="2022-01-06T09:51:15.175756000Z"/><EventRecordID>358070</EventRecordID><Correlation/><Execution ProcessID="1861664" ThreadID="1861664"/><Channel>Linux-Sysmon/Operational</Channel><Computer>localhost.localdomain</Computer><Security UserId="0"/></System><EventData><Data Name="RuleName">-</Data><Data Name="UtcTime">2022-01-06 06:58:15.177</Data><Data Name="ProcessGuid">{4f20d11a-4478-61d5-0000-000000000000}</Data><Data Name="ProcessId">188</Data><Data Name="Image">(null)</Data><Data Name="User">-</Data></EventData></Event>

I have been experiencing this issue on most RHEL-compatible distributions I've tried (the exception being Oracle Linux, which works). Fresh installs of Rocky Linux, CentOS 8, and CentOS Stream 8 all experience this same behavior of not populating most fields. One thing these also have in common is that the get_offsets module must be compiled and run manually to start sysmon

@Djent-  thank u for thank you for answering. Can you help me compiled and run  the get_offset module manually?
cd  /opt/sysinternalsEBPF/getOffsets/
make

@frkn4129 It's no use. It doesn't help. RHEL and derivatives are included in the INSTALL.md, but are not supported https://github.com/Sysinternals/SysinternalsEBPF/issues/2#issuecomment-954290414

Is there any other solution method?

Hey all,  just FYI Centos 8 has been EOLed since 21st Dec 2021 - https://www.centos.org/news-and-events/1322-october-centos-dojo-videos/
CentOS 7, will not be EOL until 2024. It makes more sense to support CentOS 7 and CentOS Stream.

Thanks for reporting this. We are aware that there are issues with Centos8/Stream (fails eBPF verification) and it is on our backlog. Centos7 is not supported as it runs a pretty old kernel that doesn't have the eBPF capabilities that we need for Sysmon.

On some systems we are unable to auto discover the offsets required to populate the fields. On those systems, you need to run getOffsets which will create a config file that sysmon will use with the correct offsets.
https://github.com/Sysinternals/SysinternalsEBPF/blob/main/getOffsets/README.md

Closing as I've pushed a fix that should resolve the issue. Please make sure to run getOffsets (https://github.com/Sysinternals/SysinternalsEBPF/tree/main/getOffsets) to get this to work on CentOS8.
Please note that you will have to build Sysmon until we get new packages out.


r60 compatibility

The template package use needs to be reworked to use the new stuff in r60 going forward.

fixed awhile ago. closing.


API key is invalid when used in secret

Output of the info page (if this is a bug)
(Paste the output of the info page here)

Describe what happened:
I am running datadog on eks cluster and It's running fine. Below is the way I provided api key:
    - name:  DD_API_KEY
      value: <api-key>

Describe what you expected:
When I am creating secret and referred to dd-agent as shown below. It's giving invalid key error.
         - name: DD_API_KEY
            valueFrom:
              secretKeyRef:
                name: datadog-secret
                key: api-key

Steps to reproduce the issue:
create a secret for dd-agent api-key.
Additional environment details (Operating System, Cloud provider, etc):
Amazon EKS, Kubernetes

Hey @salimuddin87
There's not much info here to work on but I can confirm that that approach does work. Generally, I would check these things:

make sure the API secret and Datadog agent are on the same namespace
the secret name is correct. you used datadog-secret while our templates has datadog-agent. Speaking of templates, you can find them here.
make sure that the value of api-key is the base64-encoded api key.

Lastly, just looking at the env config you posted at face value, it does not seem to be indented properly (valueFrom should be the same column as name).
Hope this helps. If the issue persists, you can open a support ticket by emailing<EMAIL_ADDRESS>to troubleshoot this further with our support team.
JM

@JM-Lazaro , Thanks for the advice. I resolved all the issues.


LoRa operational false

My hotspot is showing LoRa operational false , resulting in endless sync and never reaching 100% sync , attached is full diagnostic report ,
Ps I tried removing the LoRa module and connect it again but the issue is not solved. Can you help me please ? Thank you
{"AN":"recumbent-ebony-coyote","APPNAME":"Indoor","BA":"HELIUM-INDOOR-868","BCH":1026254,"BN":"spring-thunder","BSP":99.319,"BT":true,"BUTTON":26,"CELLULAR":false,"E0":"F0:4C:D5:03:84:BF","ECC":true,"ECCOB":true,"FR":"868","FRIENDLY":"Nebra Indoor Hotspot Gen 1","FW":"2<IP_ADDRESS>","ID":"7c0cc6fd603ee1e3fa2d8c9f612c6259","LOR":false,"LTE":false,"MAC":"eth0","MC":"yes","MD":"yes","MH":"1019261","MN":"none","MR":false,"MS":false,"OK":"11tG6rrVJ7LQWNQdVxt9uXMgAJMFjhyATRAjcE12gkYXBZG7gNx","PF":false,"PK":"11tG6rrVJ7LQWNQdVxt9uXMgAJMFjhyATRAjcE12gkYXBZG7gNx","RE":"EU868","RESET":38,"RPI":"00000000f401739a","SPIBUS":"spidev1.2","STATUS":25,"TYPE":"Full","VA":"NEBHNT-IN1","W0":"00:11:7F:BB:AA:79","last_updated":"16:15 UTC 25 Sep 2021"}

LoRa operational false would not effect the syncing.
Also I just checked your device and the LoRa is working fine.
Lastly, this is not a support channel. If you need support please email<EMAIL_ADDRESS>


trentwirth_dev1

lab work from AUG 8 2022

reconstructed unity project on version 2021.3...
rebuilt and positioned game objects
started reconnecting scripts to game objects

to do: finish the connections between scripts and game objects

(FYI - Apparently the typical practice is that the person who submits the PR should be the one to merge it. So now that I've submitted my review, you can go ahead and merge. Don't forget to delete the branch)

Oh also - in the future, try to give your branches meaningful names. I think this one is called like 'trent_dev_1' or something like that
Also - if you name your branch something like trent/do_thing, a lot of git tracking methods will treat it as if it is in a folder called trent.
Not particularly useful here because you'll likely be the only person working on this, but a helpful thing to know!


Conditionally ignore timing-reliant proxy unit tests on CI

Right now, there are a handful of proxy unit tests that are annotated with #[ignore], as they rely on timing and may be flaky on CI.  The #[ignore] annotation means they will always be skipped. We should change this so that the tests are run locally, but skipped on CI --- possibly by using #[cfg_attr(...)] and a feature that's only passed on Travis?

We need to create a mock timer and use the mock timer in the tests so that there are no timing-dependent tests in CI. In particular, the tests for these kinds of things definitely shouldn't be skipped in CI.
/cc @olix0r

See https://github.com/tokio-rs/tokio/issues/127

From reading that, it seems like it is going to be a while before Tokio implements anything that will help us with our testing needs.
Although parameterizing every timer over a timer trait might not be appropriate for the lower level libraries like Tokio, can't we parameterize Conduit's fairly limited use of timers and build the mock timer in Conduit's test framework for now?

@briansmith A lot of our current code for timers in the proxy are due to be rewritten soon (#412), so --- while I agree we ought to write our own mock timer --- I think we ought to go ahead with #441 for now (especially since it's blocking the testing of other PRs like #436), as writing a mock timer will require more time and is probably not worth doing until our timeout code is slightly more stable.


Plan: Update Workbook proxy

Tasks:

Add AfterEach to teardown workbook after each test
Add instance to BeforeEach and AfterEach methods to allow passing in workbook helper instance
Separate from core into extensions (WBProxy and Scenario)
Use copy of workbook in case it's already open or unexpected things happen
Explore using standard WBProxy in other IWBProxy implementations. (lots of overlap currently)

BeforeEach and AfterEach goal:
Dim Proxy As New WBProxy
' Initial setup/mapping...

Suite.BeforeEach "Setup", Instance:=Proxy
Suite.AfterEach "Teardown", Instance:=Proxy

Causes an issue with current arguments implementation, since ParamArray cannot be used with other Optional variables (Instance), but ByRef with BeforeEach and AfterEach is a goal, so ParamArray might not be useful anyways.

This seems much more likely with the evented approach used in v2 and the Context object proposed in #23 so this is seeming much more straightforward. Basically, it will open / copy the workbook before each test, pass it in as .Context("workbook"), and close the workbook without saving after each test.
Dim Suite As New TestSuite

Dim Fixture As New WorkbookFixture
Fixture.Open "path/to/workbook.xlsm"
Fixture.ListenTo Suite

With Suite.Test("should open workbook")
  .IsEqual .Context("workbook").Name, "workbook"
End With


Choose which file types previewed with Glance

I prefer to preview zip file with BetterZip, because it's my main archiver manager. So I think maybe it's more friendly to give options to user to select with types associated with Glance.

Glance's UTI list is static, this isn't something I can make configurable in the app.
If you go to System Preferences → Extensions → Quick Look, you can rearrange your plugins. Maybe this allows you to specify which plugin should be given priority?


[Bug]: error while loading EfficientAd model

Describe the bug
The error message is "RuntimeError: Expected hasRecord("version") to be true, but got false."
It happens at line
"self.model.teacher.load_state_dict(torch.load(teacher_path, map_location=torch.device(self.device)))"
in function prepare_pretrained_model
I've tried torch lightning from 1.7 to 1.10, and this error presists.
Dataset
MVTec
Model
Other (please specify in the field below)
Steps to reproduce the behavior
Model:EfficientAd model
just run "python3 tools/train.py --model efficient_ad" and i get this error
OS information
OS information:
Ubuntu 20.0
python 3.9.12
Anomalib version: 0.7.0

PyTorch version: 1.12.1+cu116

Expected behavior
Load model weight.
Screenshots
No response
Pip/GitHub
pip
What version/branch did you use?
No response
Configuration YAML
The original YAML, with changed dataset path

Logs
File "/opt/anaconda3/lib/python3.9/site-packages/anomalib/models/efficient_ad/lightning_model.py", line 105, in prepare_pretrained_model
self.model.teacher.load_state_dict(torch.load(teacher_path, map_location=torch.device(self.device)))
File "/opt/anaconda3/lib/python3.9/site-packages/torch/serialization.py", line 705, in loadwith _open_zipfile_reader(opened_file) as opened_zipfile:
File "/opt/anaconda3/lib/python3.9/site-packages/torch/serialization.py", line 242, in __init__
    super(_open_zipfile_reader, self).__init__(torch._C.PyTorchFileReader(name_or_buffer))
RuntimeError: Expected hasRecord("version") to be true, but got false.  (Could this error message be improved?  If so, please report an enhancement request to PyTorch.)

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Hello. I can't reproduce this. I recommend that you follow the getting started guide and get a fresh environment. If you are sure that your env is properly setup, something might be wrong with the weights. Try deleting the pre_trained\efficientad_pretrained_weights inside root folder so they are downloaded again.

Hi @Rkoy145, moving this to Q&A as this does not seem to be an issue. Let's discuss this there.


Kafka SSL options from env if available

if Kafka SSL is enabled on podified as indicated by ENV["MESSAGING_KEYSTORE_PASSWORD"], set the necessary SSL options to be used by messaging client
updated object definition with `ENV["MESSAGING_KEYSTORE_PASSWORD"] and keystore mount

Depends on:

[ ] https://github.com/ManageIQ/manageiq-pods/pull/951
[ ] https://github.com/ManageIQ/manageiq-messaging/pull/77

Ref:

https://github.com/ManageIQ/manageiq-pods/issues/789

@miq-bot assign @agrare
@miq-bot add_reviewer @bdunne
@miq-bot add_labels core, enhancement

Nice!

@nasark can you also bump the version requirement on manageiq-messaging to v1.3.0 in the Gemfile?

added MESSAGING_SSL_CA and MESSAGING_KEYSTORE env vars
added spec test

This looks good as-is and I don't think has any dependencies on https://github.com/ManageIQ/manageiq-pods/pull/951 so I'll merge


minor: Fix double API doc

This minor patch fixes the incorrect double API doc and includes a few doc change too.

Thank you @Fokko @liurenjie1024 @Xuanwo


add icons-smarthome to latest

RE-CHECK!

RE-CHECK!

First of all - THANK YOU for the time and effort you spend to maintain this adapter.
I would like to give some (preliminary) feedback based on my personal oppinion. This is NOT an offical review and @Apollon77 might have several additional suggestions or even a different oppinion to one or the other statement. Please feel free to contact him (or wait for a response from him) if you cannot follow my suggestsions or before you spend major effort.

[ ] Readme.md should contain a link to the original location of the icons
The README.md should contain a reference link to the original place where the author of the icons has published them. If there is no such place, please state this and add a reference to the location those icons have been copied from.

[ ] Readme.md should contain a reference to the original license
Please add a link to the original license the icons have been published with by the authgor and check whether this license is compatible with the MIT license used at this adapter. If no link is possible, please indicate how you verified the license to meet MIT, i.e. by pointing to some document or webseites which explicitly allow public use of these icons withoiut further restrictions.

[ ] add credits
Even if not required by original author some credit section to state who (person, organisation, ...) has been created the icons and has allowed public use whould be appropiate (in my oppinion).

[ ] package.json contains invalid main attribute
"main": "README.md",
The main field is a module ID that is the primary entry point to your program. README.md is for sure no java script module.
Please remove the incorrect and unused parameter.

Thanks for reading and evaluating this suggestions.
McM1957
Please add a comment when you have reviewed and fixed the suggestionsor at least commented the suggestions and you think the adapter is ready for a re-review!

@Apollon77
Please check especially the license situation. (Maybe ist all ok anyway but witghout a clear reference to an original license I cannot decide)

should be fine now, i've linked the original licences

this now also should be fixed. correct licence, links etc...

@Apollon77 - please chcke if licensing is OK

@Apollon77 - ping, this adapter is waiting for a review by you


Skip upload of segments_N file

Description

Currently, while uploading segments to remote segment store, we upload existing segments_N file as well.
But we don't use the segments_N file in the download flow as we commit SegmentInfosSnapshot that is stored in the form of bytes in remote segment metadata.
In this change, we skip uploading the segments_N file.

Related Issues
Resolves https://github.com/opensearch-project/OpenSearch/issues/9433
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[x] Commits are signed per the DCO using --signoff
[ ] Commit changes are listed out in CHANGELOG.md file (See: Changelog)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

I think this is a good simplification but would like to clarify the behavior for restore within syncSegmentsFromGivenRemoteSegmentStore where a pterm/gen is specified.  This method states * Downloads segments from given remote segment store for a specific commit.  Would this now fetch the latest checkpoint within the commit gen?  Or did it already do this by invoking listFilesByPrefixInLexicographicOrder ?

Curious would segments_N be needed by other flows like CCR?

I would think CCR restore flow we'd want to reuse segrep mechanisms used within a cluster, which do not depend on the commit file.

This will also resolve the flakiness with https://github.com/opensearch-project/OpenSearch/issues/8059 - where it is failing because the listener is trying to upload a segments_n deleted on disk by a concurrent flush.

Looking into failed tests

Hi @sachinpkale, the PR is stalled. Is this being worked upon? Feel free to reach out to maintainers for further reviews.

Not going ahead with this change as of now. We will revisit this once we get rid of explicit flush for segment replication + remote store.


Expose docker-compose services with a single standard endpoint URL

When running Astarte services via docker-compose, e.g. when following the Astarte in 5 minutes guide, the services are exposed via different dedicated endpoints.
This kind of setup could be improved to address the following points:

The experience of using Astarte with docker-compose differs from the experience of usual deployments, e.g. with Kubernetes. This difference requires additional operational cost when migrating from a development environment to a production one.
Integrating external services with Astarte could be an easier task if they could rely on a standard interface for Astarte services and if configuring a single endpoint would suffice to query all Astarte APIs.

Closed by #768.


docker example not working

Hi,
the container example is not working
docker run -d --name rundeck-test -p <IP_ADDRESS>:4440:4440 -e RDECK_ADMIN_PASS=SUPER_SECRET -v pwd:/data batix/rundeck-ansible
and then open curl or browser to  localhost:4440 does not respond.
Any ideas?
thanks in advance

I had the same issue, I didn't dive in too far. I ended up just installing rundeck locally and manually configuring everything instead of using this docker build :/


Add support for silverstripe 5

@satrun77 hey thanks for submitting the PR! We're going to close this one in favor of #43 as I rolled some other changes into it for testing. I'll be releasing 3.0.0 sometime later today. Thanks again!


implement authentication for NUser model

Currently,
/user rounter is exported,
and allow POST(or PUT? not sure) to add a new user, GET to access user infomation.
However, no authentication is performed. That means, every POST can modify every users' infomation... which is not suitable.

See ViewSet'spermissiom_class.
I think a good start is:
...
from rest_framework.permissions import IsAuthenticatedOrReadOnly
class NUserViewSet(ModelViewSet):
    ...
    permission_classes = [IsAuthenticatedOrReadOnly]

...

Though simply adding permission_classes is not enough...
For example, we need to provide a way for frontend to login/register, etc.

Almost done,
except for the password,
which is plaintext stored and more importantly, accessable to ANYONE!

Token-auth is done.
See
impl&export token-auth url, support token login
and
support register url


Remove grunt task: run

As you can see here: https://github.com/localForage/localForage/pull/608#issuecomment-252993609 running grunt is unnecessary hard.
This PR removes the dependency of global installed npm packages: rimraf, ncp, and derequire.

Sounds good, but this doesn't pass the tests. Could you change the tests as well so they work without these global modules? Thanks! 😄


Remove: AnyDeskSoftwareGmbH.AnyDesk version 8.0.9

Vanity URL - New version (8.0.10) is available in repo
Checklist for Pull Requests

[x] Have you signed the Contributor License Agreement?
[ ] Is there a linked Issue?

Manifests

[x] Have you checked that there aren't other open pull requests for the same manifest update/change?
[x] This PR only modifies one (1) manifest
[x] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[ ] Does your manifest conform to the 1.6 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

URL: https://download.anydesk.com/AnyDesk.exe
OK
(Automated message - build 818)


[DISCUSS]Orchestration 5.x Design

Orchestration Design
[TOC]
This document focuses on the design of the new orchestration module of shardingsphere version 5.0.0.
Overview
Orchestration is designed as the distributed governance module of shardingsphere platform.
In the future, it will be renamed as governance or governor module, according to the development and improvement of the module.
Planning
This module includes the following sub modules:

Config Center: manage system configuration paramters
Registry center: manage the service registration, discovery and coordination capabilities of the system
Metadata Center: manage core metadata information used by each node (todo)

There are several governance components in other modules:

Circuit break: in the Sharding-JDBC orchestration module, it can disable a library instance or break a node's access.
APM integration: in the Sharding-Openingtracing module, it integrates with APM.
Data Masking: in the Encrypt-Core module, it provides the function of encrypting to output sensitive data.
Shadow table: in the Shadow-Core module, it provide some specified tables as shadow tables. This is a new feature.

Features of cluster management and distributed coordinator in further planning.
The current version of orchestration focuses on the capability design and implementation of the above three centers.

Structure
Current projects structure of orchestration module:
- sharding-orchestration
  - sharding-orchestration-center
    - sharding-orchestration-center-api
    - sharding-orchestration-center-apollo
    - sharding-orchestration-center-nacos
    - sharding-orchestration-center-zookeeper-curator
  - sharding-orchestration-core

New structure:
- sharding-orchestration
  - sharding-orchestration-center
    - sharding-orchestration-center-spi
    - sharding-orchestration-center-model
    - sharding-orchestration-center-configuration
    - sharding-orchestration-center-apollo
    - sharding-orchestration-center-nacos
    - sharding-orchestration-center-zookeeper(-curator) *
    - sharding-orchestration-center-etcd
  - sharding-orchestration-core
    - sharding-orchestration-core-configuration
    - sharding-orchestration-core-model * #may be moved to underly project
    - sharding-orchestration-core-common
-...

We need clarify several concepts here:

The config in Config-Center is related to the configuration read from the configuration file into XXConfiguration class instance in runtime, but the two things are not the same. That should be clarified clearly. The configuration is only used once when the configuration file is used to launch our node, proxy etc. The config is used dynamically during the system runtime, and needs to maintain the state and own behavior all the time in system lifecycle.

There are three types of centers, config-center,registry-center and metadata-center. We can use zookeeper, etcd, nacos and other thirdparty library to implement one or all of them. But in practice, we can only use one implementation for the certain center. Therefore, we can provide two base implementations supported by default, for long term maintenance.

How to choose the implementation of curator and native client for zookeeper center?
Is the thirdparty library allowed to be configured independently(so that more than one modules can reference it), rather than inside the center?

Center Design
Based on the above analysis, our design principles for centers can be summarized as follows:

Flexibility: the design of each center is independent of the specific implement library, so the implementation can be replaced flexibly.
Encapsulation: we need to encapsulate the domain models and core logic, which can be used by different implementations of each center.

Therefore, we propose that what needs to implement a common base, not a complete and specific config center. It can be an adapter with some behavioral capabilities. In this way, we need to distinguish the domain models from the adapter instance. On another side, a unified set of domain models should be defined and maintained, the common operating logic of modules is the same.
Note that there maybe more and more centers later, they just need implement the SPI: CenterRepository. Contributors who implements centers don't need learn the domain models details and how many centers there are. They can focus on integration with thirdparty library only.
Domain models
The preliminary design is that domain model includes three main objects:

ShardingSphereConfig -> ConfigCenter
ShardingSphereState -> RegistryCenter
ShardingSphereMetadata - > MetadataCenter

Let's explains them:

ShardingSphereConfig corresponds to the configuration model of the configuration center. These config parameters are used when the system starts and are updated or adjusted when parameters changed. The config parameters are that they have no impact on the core business capabilities of the system, and the requirements for consistency and real-time are not so high (relatively to others).
ShardingSphereState corresponds to the state model of the whole system. For example, when a new node starts/stops completed, joins a cluster/group, it can show us which nodes are available now. This model is useful to manage and control the behavior of the whole cluster. The state data is that they are continuously generated in the process with system running. Generally, they don't need to be saved before cluster stop/restart. If they are missing/lost, cluster will take a consistent recovery in time.
ShardingSphereMetadata corresponds to the core metadata information of whole system/cluster. If they are wrong or out of date, will cause whole system/cluster error or critical data error. High consistency requirements.

CenterRepository implememt
We extract an interface of adapter concept: CenterRepository, adapt the integration libraries, and provide several capabilities:

The ability to get configuration data from the outter services by key: get/getchildren method
The ability to persist data to a outter service: persist method
The ability to notify and invoke callback when related data changed: watch method

Runtime

When Sharding-Proxy starting, loading the configuration from the local yaml files, or Java/Spring config, and then construct the runtime data model in memory based on those configuration.
If there is a ConfigCenter configured, the proxy will serialize the runtime data model into yaml format, store it in ConfigCenter(via CenterRepository get/persist method). And then retrieve the configuration data, monitor data changes through ConfigCenter(via CenterRepository watch method).
Each proxy node will register itself as an instance to the registry center, and it could be managed and controlled when state changed (such as enabling and disabling).

Parameter configuration
For existing parameters, see the Haoran's list.

Organize and optimize parameters(todo)

Task list
1.API design

[x] 1.1 CenterRepository design (#4468 #4492  )

Extract CenterRepository interface
Refactoring ConfigCenterRepository
Refactoring the RegistryCenterRepository
Adjust unit tests and UI backend references

[x] 1.2 distributed_lock_manager and leaf removal (#4425 #4436 )

Integrate third-party leaf and migrated to opensharding
Remove the distributed_lock_manager and leaf implementation
Optimize the CenterRepository interface
Sync examples and documents

[x] 1.3 config domain object design (#4682 )
[x] 1.4 registry domain object design(#4682 )

Project structure design

[x] 2.1 configuration project(#4682 #4687 )

Add configuration project
Extract existing code to configuration project
Improve unit tests

[x] 2.2 model design (#4699 #4733 #4745  )

Add model project
Extract existing code to model project
Refactoring model project code and design
Improve unit tests
Update references to other projects

[ ] 3. Metadata design (todo)
[x] 4. Center etcd implements or migration (#4635 )
[ ] 5. Optimize parameter config in zk&etcd(todo)
[ ] 6. Update examples for orchestration-refactoring  #4736
[ ] 7. Update documents for orchestration-refactoring #4736


[stable/openvpn] Enable CRL

This PR enables the Certificate Revocation List for offboarding users, starting with an empty list.

I just discovered some issues with this PR.  Closing, and will open anew when resolved.


Remove superfluous advice from --tx-proxy description

Tx-proxy for tor network is able to function without manually adding onion seed nodes.  Monerod finds outgoing onion peers during the initial block download even without manually adding onion peers.  This is seemingly the case since monerod v0.18

Here's another monerod.conf file: https://old.reddit.com/r/monerosupport/comments/z8n04u/can_someone_post_a_working_example_of_a/iyhztg3/
See the line,
# Note: add-peer= and add-priority-node= directives aren't needed since monerod v0.18


Bug in parsing # token in TOML

Hi,
Thanks for a great library.
I use nanoserde to load configuration from a TOML file. That file contains some comments but nanoserde does not support comments in TOML yet.
Could you please add it? Or let me know if you want a PR.
Thanks

So it's a bug, not a missing feature :)


JPEGmini is not installed

Steps To Reproduce The Error
Run imageoptim with the --jpegmini option.
Expected Behaviour
JPEG mini should run...
Actual Behaviour
I see the following error message:
⮀ imageoptim --jpegmini  figures/live_used/**/*jpg
! JPEGmini is not installed (https://itunes.apple.com/us/app/jpegmini/id498944723)
⮀ which jpegmini
jpegmini not found
⮀ ls /Applications/JPEGmini\ Pro.app
Contents

Version Numbers or N/A
ImageOptim CLI Version: 3.0.2
ImageOptim.app: 1.8.8
JPEGmini Pro.app: 3.1.0
Help Needed
I brought JPEGmini from https://www.jpegmini.com/ - since the app store link in the help text does not open in the UK...
Looking inside /Applications/JPEGmini\ Pro.app/Contents/Info.plist, I see that the bundle ID is:
	<key>CFBundleIdentifier</key>
	<string>com.beamr.jpegminipro.app</string>

From the code base, I see that it expects one of the following (which does not include the above):
https://github.com/JamieMason/ImageOptim-CLI/blob/e65bb4a24c23975297aac716cf77fc4b87827ef9/src/constants.ts#L68-L103

This should hopefully be fixed in 3.0.7


fix: update goreleaser install link to use gist

What does this PR do?
Since the recent release of goreleaser v1.2.1, the script to install it was removed.
This PR update the script to install goreleaser to use a gist instead.
Motivation
Have a working CI.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

/sem-approve


'Import-Module GoogleCloud' fails when PowerShell ExecutionPolicy is set to 'AllSigned'

We recently changed our PowerShell Execution Policy domain wide to AllSigned.
Some GCP PowerShell scripts - such as the Compute Engine auto updater are digitally signed and work fine with this policy.  For example: C:\Program Files\Google\Compute Engine\tools\auto_updater.ps1
However, after setting this policy we are unable to run Import-Module GoogleCloud. Doing so yields this error.
Import-Module : Errors occurred while loading the format data file:
C:\Program Files (x86)\Google\Cloud
SDK\google-cloud-sdk\platform\PowerShell\GoogleCloud\<IP_ADDRESS>\GoogleCloudPlatform.Format.ps1xml, , C:\Program Files
(x86)\Google\Cloud SDK\google-cloud-sdk\platform\PowerShell\GoogleCloud\<IP_ADDRESS>\GoogleCloudPlatform.Format.ps1xml: The
file was skipped because of the following validation exception: File C:\Program Files (x86)\Google\Cloud
SDK\google-cloud-sdk\platform\PowerShell\GoogleCloud\<IP_ADDRESS>\GoogleCloudPlatform.Format.ps1xml cannot be loaded. The
file C:\Program Files (x86)\Google\Cloud
SDK\google-cloud-sdk\platform\PowerShell\GoogleCloud\<IP_ADDRESS>\GoogleCloudPlatform.Format.ps1xml is not digitally
signed. You cannot run this script on the current system. For more information about running scripts and setting
execution policy, see about_Execution_Policies at http://go.microsoft.com/fwlink/?LinkID=135170..
At line:1 char:1
+ Import-Module GoogleCloud
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Import-Module], RuntimeException
    + FullyQualifiedErrorId : FormatXmlUpdateException,Microsoft.PowerShell.Commands.ImportModuleCommand

Is this something you all could resolve?

@wdwinslow Did you have any problem before changing the Policy to AllSigned? We can look into signing the scripts and I think this will solve the problem.

@quoctruong Everything works perfectly with PowerShell Execution set to RemoteSigned.  Thanks for your help!


Subscription search - invalid encrypted UDAs indexing

[Version]
16.1 fix4 2017/10/01
[How to reproduce]

Define one encrypted subscription UDA with value "dog" and one unencrypted with value "cat"
Create a subscription with defined UDAs
Check subscription index in master indexer domain

[Expected result]
Subscription UDA values are indexed as "cat" and the encrypted "dog" is not indexed.
[Observed result]
UDA values are indexed as "cat" and "null". "null" is a searchable term in subscription search, and returns all subscriptions with UDAs with encrypted values.

For security reasons, encrypted UDAs must not be searchable and therefore excluded from search index.
However, Sylvia has the assumption there is still an issue with UDA search that sometimes leads to too many search results.
To sort out the effects of this issue, some reproduction steps would be helpful here. Therefore, I propose the following procedure.
@grubskim

Implement the indexer to filter password UDAs.
Provide build with implementation of 1.

@SylviaDehn

Delete index from test data
Test UDA search with the provided build
a) If the issue can be reproduced, please describes the steps and/or provide a database dump.
b) If is not reproduced after enough testing, close this issue with resolution WORKSFORME.

[Fixed version]
16.1 fix 5
[Details of fix]
A single indexed uda.value field in subscriptions consist of all assigned UDA values separated by spaces. The previous behaviour was that the encrypted values were set to "null" (string), and they could be searched by typing "null". Now they are not included in the index. Unencrypted UDAs work correctly.

[Version] 16.1 fix6 2017/02/17

recreate search index
as customer log in at marketplace and enter "null" in subscription search
three of 46 subscriptions are listed. No encrypted values exist for these subscriptions. The 3 subscriptions
listed do not have "null" attributes or names or description.
whoever is working on this, please ask for a db dump.


Moving Platforms

Describe the extension
Enable Platforms  to move vertical or horizontals . Useful for jump through platforms.
Just like the platforms in mario game , upward - downward , forward - backward
This behavior can be attached to any sprite.
Checklist

[x] Extension has a proper name and description.
[x] Extension has tags (for example: "platform, brick, breakable").
[x] All behaviors have a description.
[x] All functions (actions, conditions, expressions) have descriptions.
[x] I confirm that this extension can be intergrated to this GitHub repository, distributed and MIT licensed.

Extension file
Moving Platforms_1.0.1.json.zip

A more complete extension for that is SineMovement.
It's actually available in extension list.
Thank for your time!


modify parser to reflect UI (e.g., adapt types)

Closing, as the displayed types in parser are now handled by metavar=Metavar.<type> following the conversion to argparse in #1548.


Item vanishes if you pick it up in the offhand while your inventory is full

If you pick up an item stack while your inventory is full but your offhand slot is empty, the item will show up in the offhand on the client side, but if you try to use it or relog, it vanishes.

Fixed! Thanks for pointing this out!


Dynamically fetch the latest version of Terraform and k9s

Description
Added some functionality to dynamically pull in the latest versions of Terraform (arm64) and K9S based on Github's tagging structure. This should hopefully minimize maintenance effort by avoiding hardcoding releases/versions.

Ah, oops. I'll change it to arm64.


Create a CAPA Migration timeline

migration sync discussion:

sec components are in 19.1.1
PSP updates for apps still need to be added
once all apps are compliant, we can cut 19.3.0 (different security bundle sets enforce mode via configuration)
flatcar SSH CVE fix (for vodafone) in 19.2.0 (which will roll nodes)

to be considered for timeline:

all team PSP updates
honeybadger: how we handle migrations of apps from vintage to CAPI
phoenix: when is CAPA stable

An initial proposal for the timeline is available on our public roadmap: https://github.com/orgs/giantswarm/projects/273/views/28?filterQuery=-Availability%3A"Rejected+🛑"+working-group%3A"CAPA+Migration"+ .
It's probably wrong and it needs to be discussed in the workgroup and with the POs / teams.


(core) refactor resource config

Describe the solution you'd like
Remove copy-pasted config handling from resource factories. Delegate all data types conversion etc to the schema class.
P.S. Don't attach files. Please, prefer add code snippets directly in the message body.

Will be handled differently in TS.


Add flag to install into recommended namespaces

Allow the user to specify a flag to install all the objects into the recommended namespaces. This makes it significantly easier to install in a production environment without needing external values.

This prototype has served its purpose. Closing in favor of:

https://github.com/spiffe/helm-charts-hardened/pull/127


request: svn integration

svn integration for consulo.

U tryed install plugin - Apache Subversion?

didn't see it... thanks

Last builds dont tested - it may throw exceptions, notify me about it, at https://github.com/consulo/consulo-apache-subversion


When will the code be open source?

Hello, I'm very interested in your improvements in the Head section. When will the code be open source?
Thanks!

Thanks for your interests! The code is released now. Please check it out.

Ok！ Thank you very much！
------------------ 原始邮件 ------------------
发件人:                                                                                "microsoft/DynamicHead"                                                                                @.>;
发送时间: 2021年11月1日(星期一) 上午6:08
@.>;
抄送: "Hide on<EMAIL_ADDRESS>主题: Re: [microsoft/DynamicHead] When will the code be open source? (#5)
Thanks for your interests! The code is released now. Please check it out.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.


AppDef: unable to add ref field to View

Problem
IViewBuilder doesn't support:

Ref fields
String/bytes fields with restrictions

Solution
We will have to abandon the inheritance of IViewBuilder from IView. This will enable the IViewBuilder to create the Key() IViewKeyBuilder and Value() IFieldsBuilder members.
The IViewKeyBuilder interface will have Partition() IPartKeyBuilder and ClustCols() IClustColsBuilder members.
type IViewBuilder interface {
  Key() IViewKeyBuilder
  Value() IViewValueBuilder
}

type IViewKeyBuilder interface {
  Partition() IViewPartKeyBuilder
  ClustCols() IViewClustColsBuilder
}

type IViewValueBuilder interface {
  ICommentBuilder
  IFieldsBuilder
}

The key builder interfaces IViewPartKeyBuilder and IViewClustColsBuilder should be similar to the IFieldsBuilder interface, but taking into account the peculiarities of partitioning and sorting.
type IViewPartKeyBuilder interface {
  ICommentBuilder
  AddField(name string, kind DataKind, comment ...string) IViewKeyBuilder
  AddRefField(name string, ref ...QName) IViewKeyBuilder
  SetFieldComment(name string, comment ...string) IViewPartKeyBuilder
}

type IViewClustColsBuilder interface {
  ICommentBuilder
  AddField(name string, kind DataKind, comment ...string) IViewClustColsBuilder
  AddRefField(name string, ref ...QName) IViewClustColsBuilder
  AddStringField(name string, maxLen uint16) IViewClustColsBuilder
  AddBytesField(name string, maxLen uint16) IViewClustColsBuilder
  SetFieldComment(name string, comment ...string) IViewClustColsBuilder
}

Usage example
  app := appdef.New()
  …
  view := app.AddView(appdef.NewQName("pkg", "view"))
  view.Key().Partition().
    AddField("pk_int", appdef.DataKind_int64).
    AddRefField("pk_ref", appdef.NewQName("pkg", "doc"))
  view.Key().ClustCols().
    AddField("cc_int", appdef.DataKind_int64).
    AddRefField("cc_ref", appdef.NewQName("pkg", "rec")).
    AddStringField("cc_name", 100)
  view.Value().
    AddField("vv_int", appdef.DataKind_int64, true).
    AddRefField("vv_ref", true, appdef.NewQName("pkg", "rec")).
    AddStringField("vv_code", false, appdef.MaxLen(10), appdef.Pattern(`^\w+$`)).
    AddBytesField("vv_data", false, appdef.MaxLen(1024))
  …

Exists interface
type IViewBuilder interface
  AddPartField(name string, kind DataKind, comment ...string) IViewBuilder
  AddClustColumn(name string, kind DataKind, comment ...string) IViewBuilder
  AddValueField(name string, kind DataKind, required bool, comment ...string) IViewBuilder
end

Questions

Are verified fields necessary in view?
Do you need comments separately for the key, for the value, or is it enough for the view and for the fields?


⚠ WSINGRESOS - GENERICO has degraded performance

In 4d7f09a, WSINGRESOS - GENERICO (https://srvshyweb.yucatan.gob.mx/cgi-bin/wspd_cgi.sh/WService=wsingresos/internet/servicios/wsGenericoPagosWeb.r) experienced degraded performance:

HTTP code: 200
Response time: 2212 ms

Resolved: WSINGRESOS - GENERICO performance has improved in d1780c9.


Safety by design challenges

Read the story https://medium.com/@6unpnp/safety-by-design-an-intro-856eef425724
Accept the challenges at the end of the story
Write here and also in the comment of the story

Your NIM
Link to your story

Attachment safety-by-design.xlsx (if necessary)

Here is my reply to the story, hope can give other point of view about reactor evolution by safety design
https://medium.com/@aszmukhsin/next-nuclear-reactor-generation-evolution-by-safety-design-5b777448a2ae
Muksin Aji S_24922003

Airine Hijrah Handayani_24922004
https://medium.com/@airinesaputro/pressurized-water-reactors-pwrs-and-high-temperature-gas-cooled-reactors-htgrs-from-different-f48b560a42b3


Selecting a sample in audio widgets automatically plays the audio

For example, open https://huggingface.co/facebook/wav2vec2-base-960h, and  click sample dropdown. When selecting one, the audio automatically plays

It was a feature, not a bug 😊
Please let me know if I should disable it

Imo auto-play for audio is not great, it's a bit unexpected. For audio to audio it can get confusing as a user might now know if they are hearing the output audio or input audio.


modified emailRegex to handle format @ with no tld

Not modifying the email regex. We use a standard.


Deploy test suite at supported sites

Set up automated testing on supported machines at

#264

Bebop
Theta
Polaris

#265
#266

Lassen

#267

Cori
Perlmutter

Test should run daily and report to the testing dashboard. Create a new issue for every site and/or machine to report setup, point of contact, special configuration, etc.

If you need to use a special configuration, please record in the issue so we can track it.


support  registry multi-user logic, and tmp secrect

support  alibaba cloud container service multi-user logic
- registry: registry.cn-shanghai.aliyuncs.com
  username: user1
  password: pw
  images:
    - registry.cn-shanghai.aliyuncs.com/xxx/xxx1:v1.1
    - registry.cn-shanghai.aliyuncs.com/xxx/xxx2:v1.1
- registry: registry.cn-shanghai.aliyuncs.com
  username: user2
  password: pw
  images:
    - registry.cn-shanghai.aliyuncs.com/xxx/xxx3:v1.1
    - registry.cn-shanghai.aliyuncs.com/xxx/xxx4:v1.1

sealer login hub.docker.com --username A
sealer login hub.docker.com --username B

A CloudImage may be need multiuser auth info to pull all the images.

FROM kubernetes:v1.19.8
COPY imageListWithAuth manifests

@fanux ，could we read the "imageListWithAuth.yaml " file from build ocntext dir by default. Because ,this file contains sensitive info and not a build layer used when start the cloudimage.

@kakaZhou719 that fine.


Revert "Install MSYS2 to Windows."

Reverts actions/virtual-environments#585

Why reverting to it back on https://github.com/actions/virtual-environments/pull/632?

Hi @evandrocoan !
Currently we are trying to minimize the possible impact on customers while pandemic is on, MSYS2 is  a pretty significant change and it will be deployed after the crysis is going down.
Thanks for your patience.


Fix collapsing b-form-select in navbar #139

I've also tried to emulate Pixel 3, but this bug was reproduced on every display navbar was displayed on.

Hi @dz-s thank you for sending this PR. I will merge it, before it allows me to do so, we will need you to explicitly sign the CLA by replying
@googlebot I signed it!

@googlebot I signed it!

@dz-s it seems the CLA bot has not yet verified the signature, I am unsure why (sorry for this additional work needed, but I am pretty sure you will only do it once.) could you do me another favor double check if you have done this

Please visit https://cla.developers.google.com/ to sign.

@googlebot I signed it!

@xinbenlv np, the issue was i've signed it before but with different email (not i had in this commit). Thx.


"Brânzari", "Păuleasca", "Purcăreni" are listed in the drop-down menu

Description:
When user writes "Brânzari", "Păuleasca" and "Purcăreni" the locations appear in the drop-down menu next to the comune and the county witch is a part according to the law
Precondition:
The website is up an running.

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Write in the search bar "Păuleasca"

Expected results
The location appears in the drop-down menu as "Păuleasca, Argeș (Micești)"

Step 3
Write in the search bar "Purcăreni"

Expected results
The location appears in the drop-down menu as "Purcăreni, Argeș (Micești)"


chore(master): release 0.36.0

:robot: I have created a release beep boop
0.36.0 (2024-08-23)
Features

add external data resolver config node (1dbef98)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v0.36.0
:sunflower:


[FEATURE] TYPO3 13 support

Just as info, #53 provides TYPO3 v13 compatibility and testing functionality in the backend is welcome.
Any hints for improvements are naturally welcome too.

There is now a TYPO3_13 branch where you can find the version for TYPO3 13: https://github.com/Kephson/paste_reference/tree/TYPO3_13
You can also find the version on packgist now to install it with Composer: https://packagist.org/packages/ehaerer/paste-reference#dev-TYPO3_13

Great, actually I planned to spend still some time on it :D
Will check if it's even required ;-)

@DavidBruchmann I have installed the extension and tested it in TYPO3 13 (branch TYPO3_13).
Here is some feedback:

The context menu does not appear consistent with the past reference. As far as I have observed so far only when copying directly, the page is no longer reloaded, which is visible in the positioning of the buttons ‘t3js-paste-copy’ and ‘t3js-paste-new’.

The "t3skin_override.css" is not compatible with dark mode. I made a attempt to fix this here: https://github.com/Kleini13/paste_reference/blob/main/Resources/Public/Backend/Css/Skin/t3skin_override.css

Changed the Button Edit in the "ShortcutPreviewRenderer.php". You can find the code here: https://github.com/Kleini13/paste_reference/blob/main/Classes/PageLayoutView/ShortcutPreviewRenderer.php

Here how it looks ind dark mode:

@Kleini13 thanks a lot for testing, the issues are similar to those I fixed in the v12 branch, and I expected them already.
About your code adjustments I'll have a look, thanks a lot for spending your efforts on it!
I hope I'm finding the time still this weekend, so that v13 can be released soon too.

For those who "can't wait" :-) I've a new PR with adjustments in the JavaScript: #66

Branch TYPO3_13 ist updated with the PR

I released the first version 4.0.0 for TYPO3 version 13 now.
The main branch is now the base branch for TYPO3 13 and above.
There are additional branches for other versions and tests: TYPO3_13, TYPO3_12, TYPO3_11-5 and TYPO3_10-4 if needed.


Allow None for sender field in CoversableAgent.generate_reply

Why are these changes needed?
Currently, if we do:
agent = ConversableAgent("name", llm_config=False, human_input_mode="ALWAYS")
reply = agent.generate_reply(messages=[{"role": "user", "content": "hello"}])

We get
AttributeError: 'NoneType' object has no attribute 'name'

After fixing this bug it addresses potential issue with sender being None and using sender_name correctly throughout the method. This ensures that our method handles different scenarios robustly, including when sender might not be provided, and makes our method more resilient to various input conditions.
autogen@17295b29b93a:~/autogen$ python3
Python 3.11.8 (main, Feb 13 2024, 10:08:31) [GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from autogen.agentchat.conversable_agent import ConversableAgent
>>> agent = ConversableAgent("name", llm_config=False, human_input_mode="ALWAYS")
>>> reply = agent.generate_reply(messages=[{"role": "user", "content": "hello"}])
Provide feedback to the sender. Press enter to skip and use auto-reply, or type 'exit' to end the conversation: hello
>>> print(reply)
{'role': 'user', 'content': 'hello'}
>>> reply = agent.generate_reply(messages=[{"role": "user", "content": "hello"}])
Provide feedback to the sender. Press enter to skip and use auto-reply, or type 'exit' to end the conversation: exit
>>> print(reply)
None

Related issue number
Closes #1708

Checks

[ ] I've included any doc changes needed for https://microsoft.github.io/autogen/. See https://microsoft.github.io/autogen/docs/Contribute#documentation to build and test documentation locally.
[X] I've added tests (if relevant) corresponding to the changes introduced in this PR.
[X] I've made sure all auto checks have passed.

@microsoft-github-policy-service agree

Please fix the code formatting error. You can use pre-commit to help.

Codecov Report
Attention: 4 lines in your changes are missing coverage. Please review.

Comparison is base (c7d9fef) 39.21% compared to head (ec3bd39) 21.28%.
Report is 1 commits behind head on main.

Files
Patch %
Lines

autogen/agentchat/conversable_agent.py
20.00%
4 Missing :warning:

Additional details and impacted files
@@             Coverage Diff             @@
##             main    #1725       +/-   ##
===========================================
- Coverage   39.21%   21.28%   -17.93%
===========================================
  Files          57       57
  Lines        6082     6098       +16
  Branches     1363     1484      +121
===========================================
- Hits         2385     1298     -1087
- Misses       3502     4644     +1142
+ Partials      195      156       -39

Flag
Coverage Δ

unittests
21.28% <20.00%> (-17.93%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Please fix the code formatting error. You can use pre-commit to help.

Thanks for the review! I have made the required changes.

@RohitRathore1  Thanks for the fix. I am thinking about a different approach, which might be easier: if a name is not provided or set to None, we could create an agent id in string and use it as the name. With this approach, we only need to make revisions in the constructor of the ConversableAgent.  What do you think?

@RohitRathore1 thanks for the fix. I am thinking about a different approach, which involves fewer changes in the code: In generate_reply check if sender is None, if it is None, set the sender to self.

The fix looks good! Could you add a test about this? Thank you!

Thanks for the review! It seems test cases are already present in our test suite, which are verifying the scenario where messages and sender are None for both synchronous and asynchronous versions of generate_reply.
https://github.com/microsoft/autogen/blob/2750391f847b7168d842dfcb815ac37bd94c9a0e/test/agentchat/test_conversable_agent.py#L464-L472

The fix looks good! Could you add a test about this? Thank you!

Thanks for the review! It seems test cases are already present in our test suite, which are verifying the scenario where messages and sender are None for both synchronous and asynchronous versions of generate_reply.
https://github.com/microsoft/autogen/blob/2750391f847b7168d842dfcb815ac37bd94c9a0e/test/agentchat/test_conversable_agent.py#L464-L472

Thanks! These tests are indeed relevant but I think we should add an additional test in which the message is provided and the sender is None.

The fix looks good! Could you add a test about this? Thank you!

Thanks for the review! It seems test cases are already present in our test suite, which are verifying the scenario where messages and sender are None for both synchronous and asynchronous versions of generate_reply.
https://github.com/microsoft/autogen/blob/2750391f847b7168d842dfcb815ac37bd94c9a0e/test/agentchat/test_conversable_agent.py#L464-L472

Thanks! These tests are indeed relevant but I think we should add an additional test in which the message is provided and the sender is None.

Thanks, done!

@RohitRathore1 What's your discord name? We can add you to an appropriate role.

@RohitRathore1 What's your discord name? We can add you to an appropriate role.

Hi @ekzhu sure, my username is rohitrathaur1. Let me know if you encounter any issues.


Add Slovak language support

 Issue by ZatkovaV
Tue Mar  5 11:48:26 2019
Originally opened as https://github.com/codelucas/newspaper/pull/684

Add support for Slovak language.

ZatkovaV included the following code: https://github.com/codelucas/newspaper/pull/684/commits

Added 0.9.3


Fix domain/port discernment for transfers routed through epicbox

This PR includes 3 distinct fixes for epic-wallet usage when routing through epicbox.
1. Silent overwriting of epicbox address domain & port

EpicboxAddress::from_str() was being called twice prior to sending. This function validates and parses our user-provided epicbox destination
Calling this function a second time on the same data caused a silent overwrite of domain and port in str portion of request (which includes our actual destination, after being parsed by regex)
Result of all of this was some transactions being routed to epicbox.epic.tech unintentionally.

2. User-provided port was not being passed through to JSON request

This was occurring due to a combination of no.1 above, and Option type not being unwrapped properly prior to sending to epicbox
Default port of 443 was always substituted, so never created any noticeable problems

3. EpicboxAddress::stripped() member function was written in such a way that default domain epicbox.epic.tech is removed from address

This has been fixed (with no real impact to epicbox), such that full <pubkey>@<domain> is always passed through in-full.

FYI, should give this two small changes tomorrow, upon a closer look.  Reviews will become stale once I push those, and they'll need re-approved.


[Feature request] MistraL-7B support

feature
Hi! Mistral-7B seems to be a great opensource LLM, do you have plans on integrating it into LLAVA? Thanks!

Yes, we are working on integrating Mistral-7B to the code base, and since it requires a later transformers version, we are working to make sure that the existing code does not break when we upgrade, as there is a major change in terms of tokenization after we upgrade.

There seems to be a problem with directly using the current tokenization to train Mistral-7B.
Can you elaborate on what aspects need to be modified for Mistral-7B or when the code for training Mistral-7B can be open-sourced?
Thanks!

Can we exchange WeChat for further convenience communication in Mistral or Zephyr training?  ID：tiancaili7

any update？

https://huggingface.co/SkunkworksAI/BakLLaVA-1


Custom portfolio which accepts list of optimizers

Feature Request
This is less of an issue and more of a feature request. While running my code, I was thinking it would be nice to have a portfolio that could be easily customized by simply passing in a list of registered optimizers (similar to using the chaining method).
I find this is useful on my end to combine several sampling/random searches and a TBPSA etc.
Relevant Code
A rudimentary implementation that seems to work on my end:
class CustomPortfolio(ng.optimizers.Portfolio):
  """"""

  def __init__(self, parametrization, budget = None, num_workers = 1, optimizers = None) -> None:
      super().__init__(parametrization, budget=budget, num_workers=num_workers)
      assert budget is not None

      if optimizers  is None:
          optimizers = [
          ng.optimizers.CMA,
          ng.optimizers.TwoPointsDE,
          ng.optimizers.PSO,
          ng.optimizers.TBPSA,
          ng.optimizers.ScrHammersleySearch,
      ]

      def intshare(n: int, m: int):
          x = [n // m] * m
          i = 0
          while sum(x) < n:
              x[i] += 1
              i += 1
          return tuple(x)

      nws = intshare(num_workers, len(optimizers))
      self.which_optim = []
      for i, nw in enumerate(nws): #Using List comprehension did not work for whatever reason
          self.which_optim += [i] * nw

      assert len(self.which_optim) == num_workers
      self.optims: tp.List[base.Optimizer] = [opt(self.parametrization, num_workers=nw, budget=(budget // len(self.which_optim)) * nw) for opt, nw in zip(optimizers, nws)]

Then the user could use it as such.
opt = CustomPortfolio(params, budget=200, num_workers=20,
                                    optimizers = [ng.optimizers.CMA, ng.optimizers.CMA, ng.optimizers.ScrHammersleySearch])

granted this implementation will not work with optimizers that do not accept >1 num_workers (e.g. SQP). This trusts the user knows enough to not do this. Although, there might be a way to determine if a user pushes one through and handle it on the backend.

Hi @smestern
Indeed, it's a good point, there are many Portfolio based optims that should be merge into one "ConfiguredOptimizer" which should solve a few problems in the process: allow budget=None, deal specifically with non-parallelizable optimizers (SQP as you mentioned) etc.
I can give it a go (with a few weeks I guess) but I'm happy to try and merge your contribution if you want to give it a try. I would not expect it to solve everything at once though, which would be hard, I'll build on it afterwards if need be.

@smestern, it took some time sorry but it's now merged


Optimize new Ores when using furnace enchantment

copper_ore is an ore
furnace enchantment should drop copper ingot
deepslate blocks should also be effected by furnace enchantment
nether gold ore is an ore
nether gold ore should drop gold_ingot when furnace is applied

With the latest hot fix an duplication bug is fixed by which it is possible to use the furnace enchantment with luck and get unlimited depilate ores like diamond_deepslate_ore and therefore unlimited diamonds


run project

good day. follow your instruction and got error:
git clone https://github.com/anvaka/time.git
cd time
npm install
npm run dev

my config:

Did you have any errors during npm install? How do you access that page? Seems like for some reason it is not built correctly...


Add some tests for the LengthUtils class

Currently the LengthUtils class has no tests. This commit
adds some basic tests for the distance computations.

@tobias47n9e there is an issue with the Travis build - dependency problems


Invalid keyscope name reported

Our QA engineer is French so he defined a @keyscope attribute like:
<topicref .... keyscope="chrysanthèmes"

which seems to be flagged as invalid by the DITA OT 2.x processing:

Invalid key scope name "chrysanthèmes".

Looking in the specs, I cannot find a place where the allowed keyscope composing characters are defined.

The DITA 1.3 spec says

Key names consist of characters that are legal in a URI. The case of key names is significant.

And the RFC 3986 says:

... ALPHA (%41-%5A and %61-%7A), DIGIT (%30-%39), hyphen (%2D), period (%2E), underscore (%5F), or tilde (%7E)

Since the DITA spec is not exact here, this can mean either

unreserved characters in URI, or
data that can be encoded into a URI, for example by UTF-8 encoding it first and then percent-encoding it.

@robander @drmacro @keberlein which is the correct interpretation of the spec?

The part of the specification you quoted refers to the @keys attribute, there seems to be nothing stated about @keyscope value restrictions.
I just noticed that creating a java.net.URI works over a "chrysanthèmes".

@raducoravu Yes, you can create a URI with those characters, but those non-ASCII characters are UTF-8 escaped

A character is encoded by replacing it with the sequence of escaped octets that represent that character in the UTF-8 character set. The Euro currency symbol ('\u20AC'), for example, is encoded as "%E2%82%AC". (Deviation from RFC 2396, which does not specify any particular character set.)

@raducoravu, quite right, I mixed @keys with @keyscope. The spec doesn't seem to say anything about @keyscope values, just that it's a space separated list of key scopes. So, we can assume it's just "something that has no space characters". Per spec, keyscope can then contain e.g. line feed character since it's not explicitly stated anywhere.

This is probably just a fault of the specs not stating that the @keyscope should have the same encoding rules as @keys.

Let's let TC members comment on what is the value space for @keyscope. If it's the same as for @keys, then we need to clarify what does the spec says/means WRT the "characters that are legal in a URI".

Since key scope names are used in key references they must have the same restrictions.

I'm surprised that we don't explicitly state what characters are allowed. I'd expect the same limitation that we have on key names. I shudder to think about scope names that include a period. @ctnitchie do you remember any explicit discussion of values allowed as part of a key scope name?

Note that these key scopes are valid:

Unicode REPLACEMENT CHARACTERs, not mangled encoding:
<topicref keyscope="�����"/>

One key scope that has a line feed and a non-breaking space:
<topicref keyscope="foo
bar baz"/>

FULLWIDTH FULL STOP, not a normal dot:
<topicref keyscope="．"/>

Nothing wrong with those if authors choose, but I just want to be certain that we use the correct value space to validate the @keys and @keyscope values.

The language about URIs comes from DITA 1.2 so this ambiguity has always been there.
I'm pretty sure our intent with that language was to limit key names to unescaped characters allowed in URIs.
RFC 3986 says:
"A URI is composed from a limited set of characters consisting of
digits, letters, and a few graphic symbols.  A reserved subset of
those characters may be used to delimit syntax components within a
URI while the remaining characters, including both the unreserved set
and those reserved characters not acting as delimiters, define each
component's identifying data."
It is definitely that "limited set of characters" that we intended to be the restriction for key names (and by implication, key scope names).
https://tools.ietf.org/html/rfc3986#page-11

In order to be as clear as possible, could @dita-ot/tc members actually list all Unicode character ranges that are allowed in key names and key scope names. That is, not reference other specs, but define the value space explicitly.

RFC 3986 defines the following terms, the union of which define the characters that can directly occur in a URI string (that is, the string as evaluated before resolving escaped characters above character 128):
   pct-encoded   = "%" HEXDIG HEXDIG

   unreserved    = ALPHA / DIGIT / "-" / "." / "_" / "~"
   reserved      = gen-delims / sub-delims
   gen-delims    = ":" / "/" / "?" / "#" / "[" / "]" / "@"
   sub-delims    = "!" / "$" / "&" / "'" / "(" / ")"
                 / "*" / "+" / "," / ";" / "="

The terms HEXDIG, ALPHA, and DIGIT are defined in RFC 2234 as:
HEXDIG         =  DIGIT / "A" / "B" / "C" / "D" / "E" / "F"
ALPHA          =  %x41-5A / %x61-7A   ; A-Z / a-z
DIGIT          =  %x30-39    ; 0-9

I think we can take this to be the full "limited set of characters" since the key names do no explicitly define a way to interpret percent-encoded characters (meaning that key names are not URIs).
The DITA spec explicitly disallows:
"{", "}", "[", "]", "/", "#", "?" and whitespace (so \u0A and \uA0 are not valid key name characters)
So if we remove the disallowed characters from the RFC 3986 definition, the allowed characters in key names is:
 %x41-5A, %x61-7A, "%", "-", ".", "_", "~", ":", "@", "!",  "$",  "&",  "'", "(", ")", "*", "+", ",", ";", "="

Does the spec actually specify what "whitespace" characters are?

The current implementation is https://github.com/dita-ot/dita-ot/blob/develop/src/main/java/org/dita/dost/writer/ValidationFilter.java#L306
Percent cannot be allowed to be an allowed character, since it's the escape character for percent encoding.

I don't see how that follows.
Key names are not URIs therefore percent encoding has no meaning (because the DITA specification does not otherwise say anything about applying any kind of decoding semantics to key names).

Yes, but the DITA specification says the characters allowed in key names are those allowed in URIs. In URIs % is not allowed character, since it's a reserved character.

% is allowed in URI strings, which is what we're talking about, not URIs post URI decoding.

The challenge is what did we mean by "allowed in"? I take it to mean "the undecoded string representation of URIs", in which case all the characters in the ABNF terminals are allowed, which includes the characters in the "reserved" non-terminal.
Because key names are not URIs and are not decoded having "%12" in your key name doesn't hurt anything but it doesn't mean anything either.

Otherwise I think the code you linked to is correct per my analysis of what the DITA spec language implies.

I do not understand the reasoning behind this restriction on key names and implicitly key scope names... Imagine someone from Japan, they will not be able to use familiar names for keys or key scopes. I guess there was an idea that the key names may be used for file names, and thus they can be part of an URL, but then, in this case, the URL could have escaped the characters that cannot appear directly, so not a real problem... Is there a reason why DITA-OT cannot be a little more relaxed on accepting keys and key scopes and maybe just issue a warning in such a case?

It's been long enough (DITA 1.2 time) that I don't remember our deliberations on this issue--maybe Robert has a better memory?
In general I agree with George and my dim memory is that we generally felt the same way: we didn't want to unnecessarily limit the characters that could be used for key names.
On the other hand, I know we (the TC members and tool implementors) tend to think of them as more like XML IDs and so naturally limit the characters we would think to use. Since we don't have any actively-participating members from Asian countries or from countries that don't use latin-based writing systems, nobody pressed on this too hard.
As Jarno points out there are probably practical reasons for disallowing some specific characters, like non-breaking space.
Since the language of the spec is both underspecified and in place since 2010 I'm not sure what we can do definitively at this point.
The fact that nobody considered this a problem in the last 5 years means that either not enough people were using keys or it's not a typical requirement (or both). Which is not to say it's not a problem, just observing that it's taken 5 years for somebody to push this hard on it.

If we want DITA 1.2 keys and 1.3 key scopes to be used in Japan and other countries I guess we need to seriously consider relaxing this, at least from a practical point of view, that is in the DITA-OT processing :).

My main concern would be the implications for combining characters in writing systems where there are several ways to compose the same character (e.g., diacritical marks). I don't think that's much of a concern for CJK languages but could be for European and Middle Eastern languages.
I'll be in Japan starting Monday, I could ask how they feel about using non-latin characters for key names.

I don't remember too well (Michael was the main voice on the keys/keyref feature for IBM). I have a vague memory that we started out with a list of characters, which then became more complicated with exclusions, and then more complicated, and then finally somebody advocated a return to simplicity by saying "Just use what can go in an URI, with a short list of exceptions."

@dita-ot/tc Could the whole TC take this up in a call, to raise as an issue for interoperability and clarification to the spec.

If you discuss that, maybe one option will be to allow a name token:
https://www.w3.org/TR/xml11/#NT-Nmtoken

We can do that. In order for me to add this to the agenda, I'd want
someone to either:

  Send an e-mail to the dita-comment list that summarizes what
    the TC needs to discuss and why

  Send an e-mail to the DITA TC list that summarizes what the TC
    needs to discuss and why

TC members can post to the DITA TC list; non-members can post to
  the dita-comment list.
Best,
  Kris

  Kristen James Eberlein
  Chair, OASIS DITA Technical Committee
  Principal consultant, Eberlein Consulting
  www.eberleinconsulting.com
  +1<PHONE_NUMBER>; kriseberlein (skype)

On 2/26/2016 1:06 AM, Jarno Elovirta
  wrote:

  @dita-ot/tc
    Could the whole TC take this up in a call, to raise as an issue
    for interoperability and clarification to the spec.
  —
    Reply to this email directly or view
      it on GitHub.

I will bring this to TC

The problem with NMTOKEN exclusively is that it disallows characters that are allowed in URI strings (e.g., the current OT validator), so we can't use NMTOKEN by itself--we'd have to explicitly add those characters that are allowed in URI strings. But I think that might be the best solution overall and it's what I've proposed to the TC.


tweak(client/cl_player_mode): make Ped/Player have no collision durin…

…g noclip

I tested this locally and couldn't find a difference.
Can someone else double test it?

I tested this locally and couldn't find a difference. Can someone else double test it?

No I would say there is no difference. At least I didn't find any. I tested it on two people and we found no difference that was demonstrable or visible. On the other hand, maybe the 3 natives will help something and in the future this problem will not have to be solved.


When it will be published stable release for live apps?

Dear,
When it will be published stable release for live apps?
Best,
Milan

Hi Milan, we do not intend to publish a stable release for this project, as it is being used for experimental purposes only. We're working on some exciting new projects that will borrow a lot of the same concepts you've seen used here. Thanks for checking it out.


Added IAsyncEnumerable implementations for various API calls

Implemented a new syntax leveraging IAsyncEnumerable to let users choose between callbacks and stream enumerations.
The new calls allowing for IAsyncEnumerable instead of an action callback are:
IAsyncEnumerable<CreateStatus?> CreateModel(CreateModelRequest request, [EnumeratorCancellation] CancellationToken cancellationToken = default);

IAsyncEnumerable<PullStatus?> PullModel(PullModelRequest request, [EnumeratorCancellation] CancellationToken cancellationToken = default);

IAsyncEnumerable<PushStatus?> PushModel(PushRequest request, [EnumeratorCancellation] CancellationToken cancellationToken = default);

IAsyncEnumerable<ChatResponseStream?> StreamChat(ChatRequest chatRequest, [EnumeratorCancellation] CancellationToken cancellationToken = default)

IAsyncEnumerable<GenerateCompletionResponseStream?> StreamCompletion(GenerateCompletionRequest request, [EnumeratorCancellation] CancellationToken cancellationToken = default);

This is some premium pull request - I wanted to implement the IAsyncEnumerable by myself, too. Thanks a lot, really means much to me.


Settings search tweaks

Changes

search dialog is kept in memory of window
dialog changes context on tab change and root entity refresh
changed columns count to 3 (key was duplicated)
model is QStandardItemModel with different display roles per column

@BigRoy with these changes we can merge search in settings.

Haven't tested the code but the changes appear fine for me. :)


HDDS-4718. Bootstrap new SCM node

What changes were proposed in this pull request?
Implemented sequence for adding new SCMs to existing cluster.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-4718
How was this patch tested?
Added UT

Overall LGTM. One comment regarding usage of clientID and callID usage need to be set from Server API's that looks missing.
And also getting localNodeID need to be fetched, as setNodeSpecificConfigKeys does not ozone.scm.node.id.

There is only one central place of submitting ratis requests and there is only client Id which will be same for all requests submitted to the server on each node. I don't think , we need to get the clientId from server here as there is only one client.
Same goes for "callId" as well.
However, this change is not related to the patch. We can discuss it further and make change accordingly, in a different jira.

@bharatviswa504 , i have filed https://issues.apache.org/jira/browse/HDDS-4877 and https://issues.apache.org/jira/browse/HDDS-4878 to address the issues discussed.

Thanks @bshashikant , @vivekratnavel . @GlenGeng for the reviews. I have committed this.


Add .gitattributes

Exclude anything in the src/dep folder from contributing to the language statistics since it is code from libraries. This way ZT will show up as a Zig project instead of a C project on GitHub. :)

I remember complaining about this being the case. I didn't think to find out if it was fixable. Thanks!


Very slow download speed

Please fix youtube throttling
from a long time youtube limiting download speed
I found there is /n improvement done by newpipe and youtube-dl

@nhCoder @KaustubhPatange @hhyeok1026

#52


Create russian.json

add Russian translation. I hope there will be no problems with the encoding.

Thank you, looks good! How can I credit you?

Credit me by nickname as you have already done.