Compile hundreds of plain text messages

For my web site I want to take advantage of compiling my formatters and messages. My web site contains:

6 different formaters (e.g. dateFormatter({ date: "long" }, numberFormatter({ style: 'decimal', minimumFractionDigits: 0, maximumFractionDigits: 2 } etc.)
10 complicated messages with plural and gender
more than 200 plain text messages

Sorry for this stupid question: What is the strategy for design time compilation of such app?
Every compiled plain text messages produced complicated JS code, e.g.
Globalize.b1130668030 = messageFormatterFn((function(  ) {  return function (d) { return "My plain text message 1"; }})(), Globalize("en").pluralGenerator({}));
Plain text message compilation cancels positive effect of 6 formatters and 10 messages compilation.

Please, can you define "cancels positive effect"? Are you talking about size and spead?

Exactly (and sorry for my bad English).
I like design time compilation but cannot find feasible solution for my case. Large web sites could contain thousands of messages, only few of them needs compilation (due to plural etc.)

Ok, I got your point: basically, the compiled output has unnecessary complexity for the plain text messages.
I agree and perhaps a better optimization could be done there, but keep in mind it doesn't affect size as it looks like because of gzip will take care of the identical duplicate "boilerplate" around the plain text messages.

Ideas are welcome.
PS: Please, just let me know if you have any additional comments.

Hi rxaviers,
what do you thing about following? Globalize.messageFormatter could return or string (for plain message) or formatter (for complex message).
plain message:
en: { plain: 'My plain text message' }
compiled output:
Globalize.a356165611 = "My plain text message";
using in the web page:
let translatedMessage = new Globalize('en').messageFormatter('plain')
Hint: is hash for messages necessary? There could occurs collision for large site with huge amount of locales. Compiled output without hash:
Globalize["en/plain"] = "My plain text message";

... or another approach:
messages:
    let enMessages = { en: {
      plain1: 'My plain text message 1',
      plain2: 'My plain text message 2',
      complex: 'Hello, {0}'
    }};

code to compile all messages:
    globalize.loadMessages(enMessages);
    // messageFormatter without key means "compile all messages"
    compiler.compile([new Globalize('en').messageFormatter()])

compiled output:
    Globalize.en.plainMessages = {
      plain1: 'My plain text message 1',
      plain2: 'My plain text message 2'
    };
    Globalize.b1130668030 = ... //compiled 'complex' message

using in the web page:
    let translatedMessage = new Globalize('en').plainMessages('plain');
    if (!translatedMessage) translatedMessage = new Globalize('en').messageFormatter('plain')();

Would love to see simpler compiled output, especially if it speeds up compile time and runtime performance

@PavelPZ, I believe the approach of using Globalize.a356165611 = "My plain text message" is viable and simpler than using the dictionary of translations. In that case, the change is: Instead of returning the cached function directly (code), (i) check whether the cached function is actually a function or string, (ii) if it's a function, return it, (iii) if it's a string, return a function that returns it. Feel free to submit a PR or let me know if you have any questions. Also consider updating/adding tests.
@necolas, thanks for your input. Do you have anything specific in mind please?


Proposal: use specific types for file and folder instead of aliases

Right now we use these aliases for typing:
FilePathType = TypeVar("FilePathType", str, Path)
FolderPathType = TypeVar("FolderPathType", str, Path)
OptionalFilePathType = Optional[FilePathType]
OptionalFolderPathType = Optional[FolderPathType]

https://github.com/catalystneuro/neuroconv/blob/fbd7caf376c1f4ddf624bf9dca7da48bf74b3bcf/src/neuroconv/utils/types.py#LL6C1-L9C50
I have the vague memory that @bendichter was removing the Optional versions of them in some of the interfaces at the end of the last year. Not sure if there was a reversal of the approach.
I think it will be better if we removed this aliases and instead use the types expliclity ("Explicit is better than implicit").  That is, in the following:
    # First alternative
    def __init__(self, file_path: FilePathType, verbose: bool = True):

     # Second alternative
    def __init__(self, file_path: Union[str, Path], verbose: bool=True):

I think the second alternative is better. Why? I have some points:

An important use of type hints is for static analysis and linterns so they help detect bugs. They are failing me here in that regard:

That is, they are producing a false positive.

Another use of typing is to work as self-documentation and improve readability. I really don't think that FilePathType is a better self-documentation than the Union[str, Path] ( or str | Path). I think that users who see the signature and know what a type is will understand that the argument expects either a str or a type. Plus, our consistent use of the name folder_path and file_path is clear enough for that semantic distinction as well, no need for an extra type. Why ofuscate this by having a definition somewhere else? This maybe would make sense if the object was something complicated like the numpy array type which we expected to change and we wanted to abstract that away from the users but str | Path is unlikely to change.

They also have the small friction that I need to remember where to import them from. Specially when I am doing projects outside of neuroconv such as in conversion projects. Importing directly from typing in the standard library is easy and less friction. Less friction is good.

This is a low priority issue. But I was working on https://github.com/catalystneuro/neuroconv/pulls and this came up. I have been thinking about if for a while so I wanted to write it down.

duplicate of https://github.com/catalystneuro/neuroconv/issues/261
Already WIP on https://github.com/catalystneuro/neuroconv/pull/264, which would also validate that files/folders exist on the system
Only thing holding it up is extensive testing that it wouldn't completely disrupt the existing source validation workflow but if you're motivated to check out the PR, try it out in practice, and try to find issues that would be great

Oh, great, thanks for pointing that out @CodyCBakerPhD. I might after we are done with the current conversion.


faulty/buggy client could lock the daemon

As described at https://github.com/zero-os/0-db/blob/14df03ca33da20d2fdbe0c6458a334c0177d6ba0/src/socket_epoll.c#L68-L74
and
https://github.com/zero-os/0-db/blob/14df03ca33da20d2fdbe0c6458a334c0177d6ba0/src/socket_kqueue.c#L61-L67

Thanks to have linked this to the issues. This will need some thinking later.

I saw some fix attempt at 3bae99c80d9712aa8de315e701cfc90d3b124886, what is your plan to fix it @maxux ?

The idea I had is keeping one buffer per client, and keeping each client in non-blocking mode.
The remaining problem with this approche is how to keep the exact status of the client (is it in the middle of a argv parsing, etc.)

This need to be tested, but latest commit fix this issue. Will close when tested a little bit more.

but latest commit fix this issue.

did a quick check and added few comments to that commit

Fixed and closed by #30 and #29


parent node_modules not picked up by the bundle

Basically I'm trying to use the new yarn workspaces feature (https://yarnpkg.com/blog/2017/08/02/introducing-workspaces/) that will basically move all "shared" node_modules across many sub-packages to the parent node_modules, but fusebox seems to be ignoring the parent node_modules folder if something cannot be found in the "sub-package" node_modules folder.
Is there a way to tell fusebox to actually look into two node_modules folders? (the one at home plus the one one directory above home)?

just to clarify, my current project structure is
/
--/package1/
--/package2/ with fuse.js
--/package3/
yarn workspaces will create on the root a node_modules with stuff that is shared across package1, 2 and 3
/
--/node_modules/
--/package1/
----/node_modules/
--/package2/ with fuse.js
----/node_modules/
--/package3/
----/node_modules/
when running fusebox inside package2/ it picks up package2/node_modules/ correctly, but it ignores /node_modules/

we have that but it works only with 1 custom folder, we could technically extend it to support multple

that'd be awesome!


Add syntax highlighting to README

Same as: https://github.com/gsuitedevs/apps-script-oauth2/pull/63

Thanks!


Display more PRs?

First of all, very cool and small project :+1:
Have you thought about displaying more than the first PR? :) ..I would have loved being able to have more history and really like the design and simplicity of what you have created.

@briannelson any thoughts on how we could fit this into the design? Perhaps we could add a link to the search results so you can browse all of your previous pull requests?

@andrew what do you think about this?

Speedy :ship: by @briannelson!

Nice, thanks guys! :+1:


Rouge to rogue

What is the context of this PR?
Fix an annoying spelling error.
How to review
Check we now reference a film, not a colour.
Who worked on the PR
@iwootten

Current coverage is 78.42% (diff: 100%)

Merging #428 into master will not change coverage

@@             master       #428   diff @@
==========================================
  Files           131        131
  Lines          4844       4844
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits           3799       3799
  Misses         1045       1045
  Partials          0          0

Powered by Codecov. Last update c5ed6dd...b2d2c26

What is this related to? story? issue?, There is nothing on the board on in Git issues. The code is actually frozen whilst the story around confirmation page was pushed back to  research

@LJBabbage can no PR can be merged to master at the moment then? If so, no ones highlighted that fact to me.
Am I expected to create an issue that there are spelling mistakes each time I find one then? Seemed like an easy change that doesn't impact anything else and didn't need to be part of any larger design refactor.

Current coverage is 78.42% (diff: 100%)

Merging #428 into master will not change coverage

@@             master       #428   diff @@
==========================================
  Files           131        131
  Lines          4844       4844
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits           3799       3799
  Misses         1045       1045
  Partials          0          0

Powered by Codecov. Last update 35311ac...b2d2c26

Current coverage is 78.42% (diff: 100%)

Merging #428 into master will not change coverage

@@             master       #428   diff @@
==========================================
  Files           131        131
  Lines          4844       4844
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits           3799       3799
  Misses         1045       1045
  Partials          0          0

Powered by Codecov. Last update 35311ac...1fb95b2

Current coverage is 78.42% (diff: 100%)

Merging #428 into master will not change coverage

@@             master       #428   diff @@
==========================================
  Files           131        131
  Lines          4844       4844
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits           3799       3799
  Misses         1045       1045
  Partials          0          0

Powered by Codecov. Last update 35311ac...1fb95b2


refactor(clippy): apply single_match_else lint

Description
Apply single_match_else clippy lint from the pedantic group.
Motivation and Context
Some of the checks from pedantic group are very useful to apply into the project. I will select the useful ones, and apply each to own MR, for maintainer to easy see the changes and easier decided which he want to apply and which not.
I think it's useful to apply them every once in a while, but not to use them by default.
I use the refactor(clippy) format for my commits, which is omitted from the changelog report.
How Has This Been Tested?
I ran the specific lint checks and solved the problem until the linter no longer told me any issue.
Command:
cargo clippy --all-targets -- -D warnings -W clippy::single_match_else

Types of Changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation (no code change)
[x] Refactor (refactoring production code)
[ ] Other

Checklist:

[x] My code follows the code style of this project.
[x] I have updated the documentation accordingly.
[x] I have formatted the code with rustfmt.
[x] I checked the lints with clippy.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.

Codecov Report
Attention: Patch coverage is 83.33333% with 4 lines in your changes missing coverage. Please review.

Project coverage is 39.97%. Comparing base (37fb43d) to head (88da8e2).

Files with missing lines
Patch %
Lines

git-cliff-core/src/commit.rs
89.48%
2 Missing :warning:

git-cliff-core/src/config.rs
60.00%
2 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #878      +/-   ##
==========================================
+ Coverage   39.96%   39.97%   +0.02%
==========================================
  Files          21       21
  Lines        1677     1674       -3
==========================================
- Hits          670      669       -1
+ Misses       1007     1005       -2

Flag
Coverage Δ

unit-tests
39.97% <83.34%> (+0.02%)
:arrow_up:

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.


Memory requirements

Hello,
I have been trying to run pLM-BLAST on a "real" scenario, using the ECOD30 database. I have also tried with a custom database of just 10K protein sequences. I have been unable to run a one-vs-all with plmblast.py, getting a Segmentation fault. I'm using a RTX3090 24gb, 10 CPU. Is this enough?
$ python scripts/plmblast.py ECOD30 ross out.hits.csv -cpc 70 -workers 10

OMP: Info #277: omp_set_nested routine deprecated, please use omp_set_max_active_levels instead.
num cores:  10
loaded database: ECOD30 - in dir mode
/home/projects/pLM-BLAST/alntools/filehandle.py:135: UserWarning: Id column is not unique, using index as id
  warnings.warn("Id column is not unique, using index as id")
loaded query: ross - in dir mode
Pre-screening params: 70.0 quantile, kernel size: 30, stride: 10
Segmentation fault

Many thanks

@dc2211  I see that the issue is marked as resolved, although we would appreciate a note about what the problem was and how you fixed it.


Install Issues -> Add Devcontainer

System Info
- `lerobot` version: unknown
- Platform: Linux-6.8.0-39-generic-x86_64-with-glibc2.39
- Python version: 3.12.5
- Huggingface_hub version: N/A
- Dataset version: N/A
- Numpy version: 2.0.0
- PyTorch version (GPU?): N/A (N/A)
- Cuda version: N/A
- Using GPU in script?: n/a

Information

[ ] One of the scripts in the examples/ folder of LeRobot
[ ] My own task or dataset (give details below)

Reproduction
poetry install --sync --extras "dynamixel"
 - Installing evdev (1.7.1): Failed

  ChefBuildError

  Backend subprocess exited when trying to invoke build_wheel

  running bdist_wheel
  running build
  running build_py
  creating build
...

Running the OpenCV install instructions also fails
conda install -c conda-forge ffmpeg
pip uninstall opencv-python
conda install -c conda-forge opencv>=4.10.0

Error:
conda install -c conda-forge ffmpeg
pip uninstall opencv-python
conda install -c conda-forge opencv>=4.10.0
Error while loading conda entry point: conda-libmamba-solver (libarchive.so.19: cannot open shared object file: No such file or directory)

CondaValueError: You have chosen a non-default solver backend (libmamba) but it was not recognized. Choose one of: classic

WARNING: Skipping opencv-python as it is not installed.
Error while loading conda entry point: conda-libmamba-solver (libarchive.so.19: cannot open shared object file: No such file or directory)

CondaValueError: You have chosen a non-default solver backend (libmamba) but it was not recognized. Choose one of: classic

Expected behavior
Rather than try to debug this particular issue and N others like, I'd like to suggest adding a docker dev container to sidestep these problems. It looks like you already have the docker files.

Hi there,

- Installing evdev (1.7.1): Failed

Yes I've also had issues with evdev previously. Depending on your distribution, some header files are sometimes not in the correct location which make building the wheel fail (might be the issue). Take a look at their install doc, it can probably help

Running the OpenCV install instructions also fails

Can you try this? (with classic solver and no version constraint)
conda install --solver classic -c conda-forge opencv

Rather than try to debug this particular issue and N others like, I'd like to suggest adding a docker dev container to sidestep these problems. It looks like you already have the docker files.

We do have a dev docker file that is tailored for us to use on our cluster. We can still try to use it though, the image is available here. Unfortunately in general we've had a lot of issues making some of our dependencies (Mujoco in particular) work in containers.

Feel free to also try https://github.com/huggingface/lerobot/pull/519, which is what I've been using to develop after giving up on trying to fix dependencies on linux.


Relax app metadata requirement for authenticated Zed service

At the time of the filing of this issue, Zed is at commit fc622b6.
A zync community user expressed interest in setting up authenticated access with Auth0 for their own internal zed serve similar to what we've done with the public Zed cloud service described at https://github.com/brimdata/cloud. In reviewing the necessary steps, a bit of complexity we confronted is that Zed currently requires the inclusion of some "app metadata" in the claim in the form of a brim_tenant_id and brim_user_id, without which authentication fails. Currently, to have these included in the claim requires an additional config step on the Auth0 side to  in the form of a "rule"of custom JavaScript code in the Auth Pipeline. Rather than document this and requiring users to add this to their Auth0 configs, we're instead investigating relaxing this requirement.

The doc at https://zed.brimdata.io/docs/next/integrations/zed-lake-auth walks through an example of how this currently works. The "app metadata" is no longer required to be included.


Write Unit Tests

Need to develop a test mode that lets me fake a headscale server, so I can put in dummy data and test different use cases in the API.

Create a test flag in the settings (maybe sub flags for different test varities)
Create a test document that prefills the stores with various data
Add test checks in the API functions to perform dummy changes on existing data

In hind sight the work to reward ratio seems off. Test driven development means that the tests should mirror actual prod as much as possible, which making fake api returns doesn't.
Maybe come back to this with a think on how to expand the test docker test environment to cover more use cases. Maybe headscale has its own test capabilities?

Gonna park this one until I have a plan for automated testing. Honestly given the small scope of the UI, manual tests aren't overly cumbersome.


Update README.md

Types of changes
Put an x in the boxes that apply

[x] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Description
Fixed typographical error in Readme.md

Related Issue: #340

Thanks!


feat: restricted peer list

What is the feature you would like to implement?
Have a hardcoded list of peers that Hubble will listen to for updates by default. It's ok if we broadcast updates and respond to grpc calls from non-trusted peers, we just don't want to consume data from them.
Why is this feature important?
In Phase III, we should only ingest messages from trusted peers and validate that things work correctly before opening up access.
Will the protocol spec need to be updated??
No

worth prioritizing this in phase 2, so that someone running a hub doesn't dump a bunch of data into one of our hubs and mess up our integrity checks that we will build in #584

Fixed in #595


Update transmit to 5.0.1

After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.
[x] The commit message includes the cask’s name and version.

Additionally, if updating a cask:

[ ] If the sha256 changed but the version didn’t,
provide public confirmation (How?): {{link}}

Merged as 195f7b3707e21cd060b2a0be9327340e0e74c031.

@commitay Can you confirm the appcast URL and sha256 values in this PR? When I curl the URL provided appcast URL (which I infer works out to https://library.panic.com/releasenotes/transmit#5 since 5 is the major version), I get this:
$ curl --verbose -L https://library.panic.com/releasenotes/transmit#5
*   Trying <IP_ADDRESS>...
* TCP_NODELAY set
* Connected to library.panic.com (<IP_ADDRESS>) port 443 (#0)
* TLS 1.2 connection using TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
* Server certificate: *.panic.com
* Server certificate: RapidSSL SHA256 CA
* Server certificate: GeoTrust Global CA
> GET /releasenotes/transmit HTTP/1.1
> Host: library.panic.com
> User-Agent: curl/7.54.0
> Accept: */*
>
< HTTP/1.1 301 Moved Permanently
< Date: Thu, 10 Aug 2017 18:17:32 GMT
< Server: Apache
< Location: http://library.panic.com/releasenotes/transmit/
< Content-Length: 255
< Content-Type: text/html; charset=iso-8859-1
< Strict-Transport-Security: max-age=15552000;
<
* Ignoring the response-body
* Connection #0 to host library.panic.com left intact
* Issue another request to this URL: 'http://library.panic.com/releasenotes/transmit/'
*   Trying <IP_ADDRESS>...
* TCP_NODELAY set
* Connected to library.panic.com (<IP_ADDRESS>) port 80 (#1)
> GET /releasenotes/transmit/ HTTP/1.1
> Host: library.panic.com
> User-Agent: curl/7.54.0
> Accept: */*
>
< HTTP/1.1 308 Unknown
< Date: Thu, 10 Aug 2017 18:17:32 GMT
< Content-Length: 0
< Location: https://library.panic.com/releasenotes/transmit/
< Keep-Alive: 60
< Via: HTTP/1.1 proxy10213
<
* Connection #1 to host library.panic.com left intact
* Issue another request to this URL: 'https://library.panic.com/releasenotes/transmit/'
* Found bundle for host library.panic.com: 0x7fdc2840bb50 [can pipeline]
* Re-using existing connection! (#0) with host library.panic.com
* Connected to library.panic.com (<IP_ADDRESS>) port 443 (#0)
> GET /releasenotes/transmit/ HTTP/1.1
> Host: library.panic.com
> User-Agent: curl/7.54.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Date: Thu, 10 Aug 2017 18:17:32 GMT
< Server: Apache
< Last-Modified: Thu, 10 Aug 2017 00:15:13 GMT
< ETag: "15e-5565b171d961e"
< Accept-Ranges: bytes
< Content-Length: 350
< Vary: Accept-Encoding
< X-Content-Type-Options: nosniff
< X-Frame-Options: sameorigin
< Content-Type: text/html
< Strict-Transport-Security: max-age=15552000;
<
* Connection #0 to host library.panic.com left intact
<!DOCTYPE html><title>https://library.panic.com/releasenotes/transmit5/</title><link rel="canonical" href="https://library.panic.com/releasenotes/transmit5/"/><meta http-equiv="content-type" content="text/html; charset=utf-8" /><meta http-equiv="refresh" content="0; url=https://library.panic.com/releasenotes/transmit5/" />

Needless to say, there is nothing here that is specific to the 5.0.1 release.
Given this, should we switch to the URL where the release notes live, e.g., https://library.panic.com/releasenotes/transmit5/?
If you agree, I'll be happy to file a PR.

$ brew cask _stanza appcast transmit
https://library.panic.com/releasenotes/transmit5

The # is not included in the appcast URL.

Oh, I see, #{ marks the beginning of the substitution/variable, not {. Sorry for the noise!


Does not work with electron 14+ anymore

The module can't be used with electron 14 or higher. Electron 14 has no remote module anymore, we need to use @electron/remote instead, but the library still depends on the existance of electron.remote.
The alpha version also seems to be affected, at least I can't find @electron/remote listed in the package.json.
Uncaught TypeError: Cannot read properties of undefined (reading 'getGlobal')
    at getInitialStateRenderer (C:\...\node_modules\electron-redux\dist\helpers\getInitialStateRenderer.js:11)

https://github.com/klarna/electron-redux/pull/314 seems to fix it. The ipc channel name there should probably be changed to some UUID  or get-redux-state-<shortuuid> to further reduce the risk of channel name clashes, just in case a user has a channel with the same name already (also electron will report an error, if a channel is created twice for the same name)

@seanmacisaac - it works with the 2.x version. I migrated my project and I'm on electron 14 since a while (with electron-redux)

@seanmacisaac - it works with the 2.x version. I migrated my project and I'm on electron 14 since a while (with electron-redux)

Does the electron-redux usage change?
I tried to upgrade to version 2 (alpha), and none of the usual functions can be found:

forwardToMain
replayActionRenderer
forwardToRenderer
replayActionMain

Yes, the API has changed (hence this is breaking version update) - You can see examples how to use new api in the examples / tests

Yes, the API has changed (hence this is breaking version update) - You can see examples how to use new api in the examples / tests

Thanks!
I did check the examples and tests at first, but I had forgotten to change the branch from master to alpha. :D
I'll look into this tonight.

hey, i was also interested on react-redux but the fact that it wasn’t being maintained nor compatible with latest electron versions motivated me to write a really thin library that could replace it (started from scratch, so it didn’t made much sense to back-port it to here)
it’s called reduxtron and i’ve just wrote a blog post about the journey and my motivations behind it

hey, i was also interested on react-redux but the fact that it wasn’t being maintained nor compatible with latest electron versions motivated me to write a really thin library that could replace it (started from scratch, so it didn’t made much sense to back-port it to here)
it’s called reduxtron and i’ve just wrote a blog post about the journey and my motivations behind it

I will definitely check it out.


Any ZAC content for SHARE 2022?

The submission deadline is Friday, October 8, so plan accordingly and forward this invitation to colleagues as appropriate.
https://www.share.org/Events/Submit-a-Presentation
Note: All speakers will be required to present in-person for SHARE Dallas.

Cleaning up on issues


Update ImageResize.php for vertical images

If you want resize your image to a given measure (long side or short side) regardingless the image orientation. (resizeToLongSide and resizeToShortSide)

I'm sorry. I'm a newbie and i did "Pull request" when i just want to Commit. Next Pull request will be a tested version


Updated Readme for 2016

@leepelser Thanks for the update. We've already added a more comprehensive update to the README. Would you mind giving it a proof read.


This operation is not supported because interface cannot be instantiated.

I'm not sure if the following is entirely related to https://github.com/msgpack/msgpack-cli/issues/47, but I am wondering if this is a supported usage scenario
Following is the test class, as you can see, we have an interface ITest that is attached as part of the generic dictionary

    public interface ITest
    {
        int TestId { get; set; }
    }

    public class TestClass : ITest
    {
        public int TestId { get; set; }
    }

    public class TestBase
    {
        public int Id { get; set; }
        public IDictionary<int, ITest> Tests { get; set; }

        public TestBase ()
        {
            Tests = new Dictionary<int, ITest>();
        }
    }

When trying to serialize the TestBase, it gives the following error
This operation is not supported because 'ITest' cannot be instantiated.
When getting the serializer for TestBase
var obj = new TestBase();
var serializer = MessagePackSerializer.Get(obj.GetType());

Yes, you must use new feature of 0.6 to enable non-collection interface to be serialized because type info will be needed in deserialization.
Although it is still beta, you can try with [MessagePackRuntimeType] in the Tests property.

@bluefox
Additional questions? You can try the feature by updating NuGet package now (>= 0.6.0).

Close because of no activities.


Current development updates

work in progress, let's start the Travis tests...
Included changes:

[x] use o2r-meta in container, closes #71
[x] add checker, closes #72
[x] implement https://github.com/o2r-project/o2r-web-api/pull/63
[x] close https://github.com/o2r-project/o2r-web-api/pull/62

This deprecates #67 (version logging not needed anymore)

All tests work locally, let's merge to test out o2rproject/o2r-muncher-integration-testing image


Logger extensibility

This PR address following work

Loggers with name *.TestLogger.dll" will be discover from source directory
Loggers with name *.TestLogger.dll" will be discover from/TestAdapterPath
Loggers from source directory will be discovered only when DesignMode is false

@Faizan2304,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


Fails to inject on many programs

I believe it's due to the type differences between python and C, the python types need to be fully switched to C.

Added argtypes and restype for kernel32 functions


Works pages: v2 design and layout

Who it's for

People doing research, to help them scan for relevant information and comprehend information about the work

Problem to be solved
The works page was initially designed only with v1 API/Miro metadata in hand. We now have 1+ year's usage data and additional metadata fields from Sierra (MARC) that we need to accommodate and enhance.
Considerations

Ordering and grouping of metadata
Move/restyle the 'We're improving...' message
Group work type with title?
Positioning of 'Using this image' section - potentially grouping with Download
Positioning of Download actions, especially on mobile
Test flipping title and image positions
Add search field to top of work page (this work will be related to site-wide search)
Spacing of image viewer controls

Dependencies and Constraints

Some data from the Sierra record still not available in API - (reference numbers for citation purposes, location information for on-shelf items, some notes fields)
User research / card sorting to prioritise order of information https://github.com/wellcometrust/wellcomecollection.org/issues/3693

@jennpb has this been duplicated in #3801?

@jamesgorrie Yes!


Should the audio be normed to [-1, 1]?

Should the audio be normed to [-1, 1]?

There is not need to normalize audio if your audio is a standard .wav file with singed int 16.


Support updating consumers

Overview
Consumers now support updating  description, ack_wait, max_deliver, sample_freq, max_ack_pending, max_waiting and headers_only.
Clients and Tools

[x] CLI @ripienaar
[x] Terraform @ripienaar
[x] Go @wallyqs
[x] Java @scottf
[x] JavaScript @aricart
[x] .Net @ColinSullivan1 @scottf
[x] C @kozlovic
[x] Python @wallyqs
[ ] Ruby @wallyqs (not supported at this time)
[x] Rust @Jarema

Other Tasks

[x] docs.nats.io updated
[x] Update client features spreadsheet

Client authors please update with your progress. If you open issues in your own repositories as a result of this request, please link them to this one by pasting the issue URL in a comment or main issue description.

Checked off the docs as @jnmoyne did this in https://github.com/nats-io/nats.docs/pull/478


Not working with bem preset

Example repo: https://github.com/SeanFree/bem-stylelint-example
Node Version: 20.11.1
Stylelint Version: 16.2.1
Plugin Version: 4.0.0
Stylelint Config
{
  "plugins": ["stylelint-selector-bem-pattern"],
  "rules": {
    "plugin/selector-bem-pattern": {
      "preset": "bem"
    }
  }
}

Example invalid classes (not being caught by lint rules)
.ThisClassShouldNotBeAllowed {}

.this_class-should_not-be_allowed {}

.This-Class_should__not_______be_______---------------------allowed {}

Am I missing something in my setup? I initially set this up with stylelint-config-standard which enforces selector-class-pattern seemingly in conflict with what should be enforced by the plugin, so I removed the standard config and only have the bem plugin applied. Still no stylelint errors in VSCode or terminal.

For anyone having issues with linting, be sure to define a component
https://github.com/postcss/postcss-bem-linter?tab=readme-ov-file#defining-a-component-and-utilities
You can either have components defined:

implicitly based on filename by using the implicitComponents plugin option
with a comment as shown:

/** @define header **/
.header {
  margin: 10px 10px 0;
  padding: 6px;
  ...
}


How can i get this to work with react native?

I'm able to get this to work with implementing this with geofire. I'd like to use Geofirestore because I'm using firestore within my application.(I figured it would be a better choice).
This works for react native.
const geofire = require('geofire');
I keep getting 'geofirestore is not a constructor' error message. Can you assist me with getting this to work in react native?

i just saw another post that had the answer. Sorry to bother you. i'm closing this out.

@kingtross88 could you tell me which post you saw the answer/solution in? If my docs aren't clear I should probably update them based on what works!

I saw it in the below post.
https://github.com/MichaelSolati/geofirestore/issues/3
I had to put use import { GeoFirestore } from "geofirestore";. This is the only way I didn't get an error. I'm adding info to my firestore database now. I didn't pull the info as of yet but I'll let you know if I'm able to figure that out. Other than that I think your documentation is pretty well detailed.
Thank you for responding!

I am writing a goodle cloud function which uses GeoFirestore.
The init code looks like this
const admin = require('firebase-admin'); const functions = require('firebase-functions'); const GeoFireStore = require('geofirestore'); //Initialize Firebase admin.initializeApp(functions.config().firebase); const db = admin.firestore();
Have written a https trigger that looks like the following
exports.helloWorldOK = functions.https.onRequest((request, response) => {     const userQRObject = db.collection('UserQRObject');     var ref = new GeoFireStore(userQRObject);     response.status(200).json({data:'geoFirestore'}); });
I get the error GeoFireStore is not a constructor. Please help me resolve.

thank you @MichaelSolati , it worked.
I could move to the next level but stuck here.
My query looks like this
   const geoQuery = geoFirestore.query({         center: new firebase.firestore.GeoPoint(17.500362, 78.587374),         radius: 1         //,         // query: (ref) => ref.where('d.count', '==', 1)     });
How do I iterate the results now ?

@rajeshgadepalli you'll have to store the results into an array and when the ready listener fires saying the query is done you can sort and order the results.

@MichaelSolati this is what i have done basing on your suggestion. Is this a proper implementation to get the nearby locations ?
    const geoQuery = geoFirestore.query({         center: new firebase.firestore.GeoPoint(17.500362, 78.587374),         radius: 1     });     geoQuery.on('ready', () => {         console.log('GeoFirestoreQuery has loaded and fired all other events for initial data');         var locations = geoQuery._locationsTracked;         var keys = [];         locations.forEach(function (locationMap, key) {             if (typeof locationMap !== 'undefined' && locationMap.isInQuery) {                 console.log('key', key);                 keys.push(locationMap);             }         });         response.status(200).json(keys);       });

@rajeshgadepalli the formatting is difficult to read, and this isn't really an issue with the library. I'd advise possibly asking this question on Stack Overflow. (I check there too)


Issue with Search Bar in Resources

-Search bar for tags in "Resources" malfunctions when a non-textual character is encountered

Resolved in #57. Thanks @Stealthy-CodeWalker.


Metaclass values and initial graph explorer

Adds the initial graph explorer node selection widgets, which uses the metaclass structure with SPARQLQueryFramer in order to populate query results dynamically.
Test Procedure:

Run the GraphExplorer.ipynb notebook
Review the code (most changes are just copyright year)
checkout and doit if feeling thourough.

Blocked by #68
Closes #61

TODO
SelectMultiple UI widgets need a mapping that allows the values (which are custom class instances) to be specified via an ID. For example, if we want to mimic a user selecting two values (both a CustomURI), the user would specify the ID of each, and the mapping would convert that into the selected objects.

Looks good to me.

Looks good to me.

@sanbales I can't request a re-review because you did not accept your invite to the repo, but it is ready with the latest changes that you requested if you have a chance to take a second look.

@sanbales I can't request a re-review because you did not accept your invite to the repo, but it is ready with the latest changes that you requested if you have a chance to take a second look.

TODO need to pull improved_vis before merge.

TODO need to pull improved_vis before merge.

Merging with verbal approval from @lnijhawan

Merging with verbal approval from @lnijhawan


refactor: backup sub context for resources

Current pr is on top of changes for resources: #650. With this we will add support for backup of resources provided in the request.
The backup api now takes a list of resources to backup and backs them up in the data store. Currently the only implementation is for bigquery.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

1708 of 1917 (89.1%)  changed or added relevant lines in 25 files are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage increased (+1.1%) to 79.623%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

ext/store/bigquery/client.go
33
35
94.29%

ext/store/bigquery/job.go
10
12
83.33%

core/tenant/tenant.go
0
3
0.0%

ext/store/bigquery/backup.go
107
111
96.4%

ext/store/bigquery/batch.go
100
104
96.15%

core/resource/service/resource_service.go
224
238
94.12%

core/resource/handler/v1beta1/resource.go
212
227
93.39%

core/resource/service/backup_service.go
34
59
57.63%

core/resource/resource.go
137
166
82.53%

internal/errors/errors.go
4
41
9.76%

Files with Coverage Reduction
New Missed Lines
%

ext/notify/pagerduty/pagerdutynotifier.go
2
93.75%

Totals

Change from base Build<PHONE_NUMBER>:
1.1%

Covered Lines:
9257

Relevant Lines:
11626

💛  - Coveralls


Add MessageChannel implementation to improve performance

The description says that it is "Simple setImmediate module".
And people use it (over 2kk installations). They think that it's simple and good one, but in fact it's simple and slow one. But there is no any note about it. A lot of people do not check the code of modules that they install, they expect that the creator spent time to investigate the problem to create the best decision, but it is not about this repo. The word "simple" is not the correct description, but "simple and naive", or "simple and slow" are.
Using this code in the browser leads to a performance hit. It's a fact. For some cases the impact is significant.
For example: https://github.com/Stuk/jszip/issues/617
Here is the example of using of the properly created setImmediate:
https://jphpsf.github.io/setImmediate-shim-demo/
296ms (setImmediate) vs 12617ms (setTimeout === your implementation)
Node.js has setImmediate. Using your implementation in the browser is the same thing as using setTimeout, but with the misleading name.

You're right. My use-case for making this was not in hot code, so the setInterval overhead didn't matter. When I made this, the shims were all bloated and buggy. What is currently the best shim? I'm happy to recommend that instead.

Here is the examples of setImmediate implementation:
[1] https://github.com/YuzuJS/setImmediate/blob/master/setImmediate.js
and from core-js:
[2] https://github.com/zloirock/core-js/blob/master/packages/core-js/internals/task.js
I think it will be enough if you just add the implementation via MessageChannel (it will work in WebWorkers too (in comparison with postMessage) for the browsers (with setTimeous as a fallback).
It has the good browser support: https://caniuse.com/#search=MessageChannel
In this case your implementation will be really simple (in comparison with others) and works well in most of cases.
Also: https://github.com/Stuk/jszip/pull/619#issuecomment-530724686

I think it would be enough if you just add the implementation via MessageChannel (it will work in WebWorkers too (in comparison with postMessage) for the browsers (with setTimeous as a fallback).

I agree. That's a good plan. I don't have time to work on this right now. Contributions are of course welcome. In the meantime, I added a note to the readme.

Still not fixed?
Okay...
export const setImmediate = /*#__PURE__*/ (function() {
    const {port1, port2} = new MessageChannel();
    const queue = [];

    port1.onmessage = function() {
        const callback = queue.shift();
        callback();
    };

    return function(callback) {
        port2.postMessage(null);
        queue.push(callback);
    };
})();

This implementation is only for browsers, to use it in Node.js it requires to call ref/unref for the proper process exit, but Node.js already has setImmediate, so in Node use the native setImmediate.

I don't know why @Stuk still not changed setImmediate library to an other one while a lot of people ask him to do it. Okay, the other way to fix JSZip library is to fix this library if he do not want to use any other.

I'm sorry, but why not?
"use strict";
module.exports = /*#__PURE__*/ (function() {
    require("setimmediate");
    return setImmediate;
}());

It's better to do a wrapper for the other properly working library, than misname setTimeout with setImmediate for millions of people.
People specially use this library to get setImmediate instead of just using of setTimeout, but they get setTimeout anyway. I think it's not OK, it's wrong.
In any case "setimmediate" library adds setImmediate function to the global scope, but that wrapper just is a module. So it makes sense to have it.

UPD.
Ops, it's not working (as a module).
It should be OK:
"use strict";
module.exports = /*#__PURE__*/ (function() {
    return require("./setImmediate-fixed.js").setImmediate;
}());

But it requires to modify the original file
This:
    if (global.setImmediate) {
        return;
    }

replace with
    if (global.setImmediate) {
        module.exports = {
            setImmediate: global.setImmediate,
            clearImmediate: global.clearImmediate
        };
        return;
    }

and this:
    attachTo.setImmediate = setImmediate;
    attachTo.clearImmediate = clearImmediate;

replace with
    module.exports = {setImmediate, clearImmediate};


ca: fix TestCreateSelfSignedIstioCAWithSecret caused by expired cert.

The old cert expired at Sep 20 23:18:40 2018 GMT, the new cert is generated with the following command, this should fix the immediate test failure.
$ cat req.conf
[req]
distinguished_name = req_distinguished_name
x509_extensions = v3_req
prompt = no
[req_distinguished_name]
O = k8s.cluster.local
[v3_req]
keyUsage = critical,keyCertSign
basicConstraints = critical,CA:true
$ openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout key.pem -out cert.crt -config req.conf -extensions 'v3_req'

@yangminzhu: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
19be75066848f83ede167fe3ef749adf7e5b9c20
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test istio-unit-tests

Can you regenerate with a longer expiration time, 10 years is not long enough.

/lgtm
since this is a blocker, any one can approve?

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: hzxuzhonghu
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: myidpt
If they are not already assigned, you can assign the PR to them by writing /assign @myidpt in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

security/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Can we have a better solution that this going forward?

I'm running into this problem. Do I regenerate the cert on each master node?


fix(Local Storage) Catch and manage exception when local storage size is reached

"capacity" does not prevent from having a maximum size reached exception with the local storage.
Here, the idea is to catch this exception (around setItem), compute the size of the item that is provoking the exception. Then, removing from the cache oldest item until there are enough space for adding this new item.

I can't merge this PR, I think it needs to be updated with master.

+1 for this.
Could you explain how is the behavior when localStorage explodes?
Data will not be cached anymore? It will use memory?

With this PR, if the max LS size is reached during a put, I remove 30% of the cache do the put.
We can imaginate relying on memory in this case, but I think it's can confuse the user by having some data in memory (flushable by F5) and others in LS... only based on technical considerations.

was this issue ever resolved?

@bdkent https://github.com/jmdobry/angular-cache/issues/180#issuecomment-159095766


Endless rerendering when Checkbox is used with react-select multi select

Bug report
Current Behavior
https://github.com/radix-ui/primitives/assets/117262402/70d652d7-17b5-4b5b-8911-fa20633befcf
White screen is shown because of endless rerendering
Expected behavior
Should not trigger endless rerendering
Reproducible example
https://codesandbox.io/p/sandbox/thirsty-hill-2rl4qx?file=%2Fpackage.json%3A16%2C23
Suggested solution
The issue is because that the BubbleInput inside the Checkbox dispatches a click event whenever the checked prop changes.
Event sequence is:

user clicks an option
option is now selected
checked prop of Checkbox updates to true
BubbleInput dispatches a click event and bubbles up
option is now unselected
checked prop of Checkbox updates to false
goes to 4

Suggestion would be: Bubble input inside the Checkbox only dispatches click event when user really clicks on the checkbox or the label.
Current workaround
Wrap the checkbox with a div
<div onClick={ev => ev.stopPropagation()} style={{pointerEvents: 'none'}} >
 <Checkbox checked={isSelected} />
</div>

Your environment
see code sandbox

You shouldn't use a checkbox inside a select, the select already provides a part for the indicator, it doesn't need to be an actual checkbox.


[Feature Request] Bump "vscode-json-languageservice" to 5.3.1

Context

[X] This issue is not a bug report. (please use a different template for reporting a bug)
[X] This issue is not a duplicate of an existing issue. (please use the search to find existing issues)

Description
Would it be possible to bump the version of the json languageservice to 5.3.1? Right now it has an old version that does not validate any of the "newer" json schemas. With this new version (I have tested locally) it validates fine .
Monaco Editor Playground Link
No response
Monaco Editor Playground Code
No response

Any chance of getting this updated?

Yeah I'm still waiting too. In the meantime I patched a version I can use while waiting. No guarantees, only needed it for a small project https://www.npmjs.com/package/@fhareide/monaco-editor


Consider upgrading netty version to 4.0.34.Final

Upgrading to Netty 4.0.34.Final fixes two netty bugs (that I know of) that impacts littleproxy users -

Fix for https:// requests failing on Android 5.0 - https://github.com/netty/netty/issues/4718 - Fixed in 4.0.34.Final
Fix for netty throwing an unexpected TooLongFrameException when a large HTTP header is used (which is still below the configured maxHeaderSize in HttpRequestDecoder/HttpResponseDecoder) - https://github.com/netty/netty/issues/3445 - Fixed in 4.0.26.Final

netty/netty#4116 an Android 5.0.x only issue (ups, it's not closed)
Fix for netty/netty#3905 Out Of Memory with SSL on Android devices - 4.0.31.Final

@jekh I would like to see a recent Netty version in LittleProxy too. Of course I can define the dependencies in my application myself.

Finally catching up on some long overdue LP and BMP maintenance! I think this is a great idea, and I've created PR #279 to implement it.

Adam merged 279, so I'll go ahead and close.


math/big: non-deterministic behaviour of big.Rand

What version of Go are you using (go version)?

$ go version
go version go1.15.5 linux/amd64

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/user/.cache/go-build"
GOENV="/home/user/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/home/user/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/user/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/home/user/go/src/github.com/ethereum/go-ethereum/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build512723341=/tmp/go-build -gno-record-gcc-switches"

What did you do?
main.go (edit: I added the wrong code first):
package main

import (
	"fmt"
	"math/big"
	"math/rand"
)

type rndTest struct{
	count int
	src rand.Source
}

func (r *rndTest) Int63() int64 {
	r.count++
	return r.src.Int63()
}

func (r *rndTest) Seed(seed int64) {
	r.src.Seed(seed)
}

func main(){
	shim := &rndTest{0, rand.NewSource(0)}
	random := rand.New(shim)
	max := new(big.Int).Exp(big.NewInt(2), big.NewInt(256), nil)
	fmt.Printf("%v (%d reads)\n",  new(big.Int).Rand(random, max), shim.count)
	fmt.Printf("%v (%d reads)\n",  new(big.Int).Rand(random, max), shim.count)
}

output:
$ go run .
75882278871742073348705908634037840808905895098001936781526057361623699972085 (10 reads)
32980378865574341698424589833777768979918116503443097246085029326460293060374 (30 reads)
$ GOOS=linux GOARCH=386 go run .
75882278871742073348705908634037840808905895098001936781526057361623699972085 (9 reads)
80252028366164880526544510430800498761927255387255296632111478555188670606789 (27 reads)

What did you expect to see?
I expected the big.Rand to perform deterministic amount of reads from the source, regardless of whether it was executed on a 32-bit or 64-bit platform
What did you see instead?
That different amounts of read was performed.
In my case, this caused certain testcases to fail on 32-bit platforms, since although the exact random steps were unimportant, the differing amounts of reads caused  the source to go "out of sync", thus turning what should have been a deterministic process into two different deterministic processes (one for 64-bit and one for 32-bit).
This seems wrong to me, but there are obviously ways to work around it, so can't really say it's a biggie. Maybe there are other projects bit by this in other ways though, so the behaviour should at least be documented.

/cc @griesemer @FiloSottile

Hmm, things that work differently just on different platforms are not good. However, per Hyrum's Law, just like you came to rely on this algorithm being stable without that being documented, changing the 32-bit algorithm might break anyone who expected it to stay the same.
Not really sure what people use this method for, so I don't know how to weight those two concerns.


how to update or delete subscription of client by build in rest-api

Environment

Erlang/OTP: 2.3.9

Description
for this document REST-API create-subscriptions
it has list and create function. Did Emq have a delete subscription of client or unsubscription ?
If Emt has no this function in this version 2.3.9, Will it have in next version?

Emqttd support to perform unsubscription by using rest-api ,  something important haven't been written into the document. Sorry for that and we would add related instruction into the document as soon as possible.

Hi, Krittanon-w! The rest api doc has been updated, you can read this doc on official site. The  rest api which get configs has bugs in emqtt v2.3.9 and it has been fixed. It will run correctly in  the release of v2.3.10.


Bindings in Python, JavaScript, Or PHP / SchnauzerUI Server

SchnauzerUI scripts are really simple. They cover entirely procedural, UI based testing. Basically, you should be able to translate a use case to a SchnauzerUI script.
But people want to be able to opt into complexity. So, much like TagUI has bindings for Python, I think it would be useful for SchnauzerUI to have bindings in one or more popular programming languages for more complex use cases. The main use case here is "mixed tests", where you do some stuff in the browser, make an api request or two, maybe validate some info in the database, etc. Since we're talking about web development, the language should probably be JavaScript or PHP. Rather than dealing with ffi or webassembly, I think the simplest way to do this will be to create a SchnauzerUI server (much like the Selenium server), which can take requests. This is gonna be a lot of work, and a lot of fun :)

@dmgolembiowski
Tagging you on this since you said it was your personal favorite idea, in case you have comments :)

Sounds fun! I'll be returning from a vacation in 2 days and will have better tools to tinker around with these ideas.


Source distribution

It would be nice to get a source distribution for version 2.0.0 in either PyPI or GitHub. As of now there is only wheels on PyPI.

woops, sorry about that! done

Thanks!


add SOA samples

I edited two SOA sample docs provided by Samba and located them among the Elastic Stack samples. I have several top level questions and comments about these docs:

In the "Publish logs to Elasticsearch" sample, are you publishing operator AND WebLogic Server logs?  (There are conflicting statements, such as "Publish operator and WebLogic Server logs into Elasticsearch" and "This documents provides the steps to publish WebLogic Server logs into Elasticsearch and interact with them in Kibana.")
In the "Publish logs to Elasticsearch" sample, are you directing users to interact with the logs in Kibana or just view them? ("Create an index pattern wls* in Kibana > Management. After the servers are started, you will see the log data in the Kibana dashboard.")
Although I included your image files in this PR, I didn't use any of them for two reasons:
-we generally don't include screenshots in user documentation (because screens change).
-your images were not of high quality.
We have several blogs about using the Elastic Stack to collect logs and using Prometheus and Grafana to monitor WebLogic domains, see https://blogs.oracle.com/weblogicserver/how-to-weblogic-server-on-kubernetes. They include screen shots. You might want to consider publishing your samples there.

I edited two SOA sample docs provided by Samba and located them among the Elastic Stack samples. I have several top level questions and comments about these docs:
* In the "Publish logs to Elasticsearch" sample, are you publishing operator AND WebLogic Server logs?  (There are conflicting statements, such as "Publish operator and WebLogic Server logs into Elasticsearch" and "This documents provides the steps to publish WebLogic Server logs into Elasticsearch and interact with them in Kibana.")

* In the "Publish logs to Elasticsearch" sample, are you directing users to _interact_ with the logs in Kibana or just view them? ("Create an index pattern wls* in Kibana > Management. After the servers are started, you will see the log data in the Kibana dashboard.")

* Although I included your image files in this PR, I didn't use any of them for two reasons:
  -we generally don't include screenshots in user documentation (because screens change).
  -your images were not of high quality.

* We have several blogs about using the Elastic Stack to collect logs and using Prometheus and Grafana to monitor WebLogic domains, see https://blogs.oracle.com/weblogicserver/how-to-weblogic-server-on-kubernetes. They include screen shots. You might want to consider publishing your samples there.

Hi Rosemary,
Thanks for putting up this documentation for Logging and Monitoring Exporter.
Please find below the answers for the above questions.

Yes, we can publish Operator and WebLogic Server logs.
For publishing the Operator logs, there is a document (https://oracle.github.io/weblogic-kubernetes-operator/samples/simple/elastic-stack/operator/) available. In the current document we can link to that document.
Rest of the documentation in this page, talks about publishing the WebLogic Server logs.

Interacting with the logs in Kibana means, the users can filter the log messages, create a dashboard etc.....This interaction is possible once we push the logs to Kibana.

We are fine with Logging and Monitoring docs to be in Operator's documentation (without images). As long as we describe the steps effectively, then the images are not mandatory.

For putting the below "Additional Resources" in the oracle blogs, can you please let me know the process ? At this page "https://blogs.oracle.com/weblogicserver/"  I don't see any edit options as such for me.
Using JDeveloper to Deploy Composites
Expose T3 protocol for Managed Servers in SOA Domain
Persisting SOA Adapters Customizations

Thanks for your feedback, @sbattagi. Regarding:

I will make sure that the doc title, abstract, and contents accurately describe what the sample shows users how to do. Also, I can put in a cross-reference to the sample for publishing the operator logs.
Got it about Kibana.
I will remove the images from the PR.
@mriccell can help you publish your blogs on the "How to... WebLogic Server on Kubernetes" site.

Hi Samba,
I have incorporated your review comments. If they are acceptable to you, please approve this PR.
Rosemary

Thanks for the quick resolution Rosemary.
Content looks fine now.


Hallow's Treat bot is semi-frozen.

The bot (in multiple servers) is posting candy drops and boss battles, but all interactions are failing. None of the commands are responding either.
It's possible I broke it somehow, I renamed the bot in one server for fun, and this started very shortly after. I put the nickname back, but it's still stuck.
Hopefully you can see this and help us out. Thanks!!

Thanks for your issue post!
The cloudflare part of the bot connecting to both the API and the Internal API had some issues with the migration.

Thanks! I was gonna be super impressed if I broke it everywhere from that, lol!

Closing gig.

If i can do it right anyway


Implement a "convert" action in the loctool

Converts one resource file format to another. Resource files are files that contain a collection of translations for a product in a particular programming language. Examples include xliff, po, json, strings, or properties files.
Additionally, the convert action can transform the input files into translation memory tmx files. Tmx files cannot be input files, only output.
Note that conversion of files is not guaranteed to preserve all data. For example, strings files for iOS can contain comments whereas json files cannot. If you convert a strings file into a json file, any comments will be lost.

Command-line usage:
loctool convert output-file input-file [input-file ...]

I was trying to test how it works, I ran the command below
node loctool.js convert strings.json ko-KR.xliff
I got
10:09:38 INFO loctool.loctool: Command: convert
10:09:38 INFO loctool.lib.convert: Reading from input files ko-KR.xliff
10:09:38 ERROR loctool.lib.convert: No File Type available to handle output file strings.json

What things that I missed?

json file support is in the plugin I just made. Try:
npm install ilib-loctool-json
node loctool.js convert --plugins json strings.json ko-KR.xliff

json file support is in the plugin I just made. Try:
npm install ilib-loctool-json
node loctool.js convert --plugins json strings.json ko-KR.xliff

I've got an error below after installing json plugin.
Long term, I'd like to convert xliff to json with my webos-json-resource   and xliff to excel(new plugin candidate) plugin.
so I want to understand it clearly.
 node loctool.js convert --plugins json strings.json ko-KR.xliff
14:09:39 INFO loctool.loctool: loctool - extract strings from source code and localize them.

14:09:39 INFO loctool.loctool: Command: convert
14:09:40 INFO loctool.lib.convert: Reading from input files ko-KR.xliff
14:09:40 ERROR loctool.loctool: caught exception: TypeError: file.addResource is not a function
14:09:40 ERROR loctool.loctool: TypeError: file.addResource is not a function
    at /home/goun/Source/opensource_iLib/loctool/lib/convert.js:75:18
    at Array.forEach (<anonymous>)
    at /home/goun/Source/opensource_iLib/loctool/lib/convert.js:74:22
    at CustomProject.<anonymous> (/home/goun/Source/opensource_iLib/loctool/lib/Project.js:211:17)
    at LocalRepository.getLocales (/home/goun/Source/opensource_iLib/loctool/lib/LocalRepository.js:219:5)
    at CustomProject.<anonymous> (/home/goun/Source/opensource_iLib/loctool/lib/Project.js:198:21)
    at LocalRepository.init (/home/goun/Source/opensource_iLib/loctool/lib/LocalRepository.js:107:5)
    at CustomProject.<anonymous> (/home/goun/Source/opensource_iLib/loctool/lib/Project.js:194:17)
    at CustomProject.Project.initFileTypes (/home/goun/Source/opensource_iLib/loctool/lib/Project.js:154:9)
    at CustomProject.<anonymous> (/home/goun/Source/opensource_iLib/loctool/lib/Project.js:148:22)
14:09:40 INFO loctool.loctool: Done

Actually, I got that wrong. The json plugin I wrote is not a resource file type. You could try your own ilib-loctool-webos-json-resource:
node loctool.js convert --plugins webos-json-resource strings.json ko-KR.xliff

Actually, I got that wrong. The json plugin I wrote is not a resource file type. You could try your own ilib-loctool-webos-json-resource:
node loctool.js convert --plugins webos-json-resource strings.json ko-KR.xliff

I did that try too. With running the command above, it finished without error. but it didn't generate the strings.json


ui5 buttons

Description
Changes proposed in this pull request:

change Buttons from fundamental-react to ui5

Related issue(s)

Tests have to be fixed
and these Buttons aren't working yet


whats new feed to user

show changes after upgrade or changes which we have released on dashboard

Customer:
Updates will be pushed by devtron, so customers will be always running the latest available version.
Thus, there won't be version diff (current version/latest version)
OS user:
Open-source users should be notified when a new version is available, the upgrade will happen manually.
Thus, there would be version diff (current version/latest version)

UI
What's New modal (https://zpl.io/VkQWL0W)
New version available banner on app list (https://zpl.io/b6GBp0g)

[ ] UI (modal, nav)
[ ] Explore Github API
[ ] Integrate API


[AvSet] Fix stack issue with AvailSet create

Fix #4508.

This checklist is used to make sure that common guidelines for a pull request are followed.
General Guidelines

[X] The PR has modified HISTORY.rst describing any customer-facing, functional changes. Note that this does not include changes only to help content. (see Modifying change log).

Command Guidelines

[N/A] Each command and parameter has a meaningful description.
[N/A] Each new command has a test.

(see Authoring Command Modules)

@derekbekoe


Switching default client image pull policy as true

The reason for the PR is that if testnets use the same image tag, then the image is definitely updated. I'm not sure if there was a reason for it to have been false, but usually on our setup it wouldn't matter since we use unique tags. But we had an issue where I left it at the default and then deposit-devnets was handed over to an external party who reused the same tags. That led to a ton of wasted time debugging issues where the image was never updated.
Switching the default to true shouldn't affect our setup since we use the new tags everywhere, but at the same time would help out external entities with a sane default.

Moving this PR change to the template-testnet repo, its the same effect but moving the flag one step downstream


Why does owo auto farm replit mobile

open console and type npm i if this didnt work type npm i<EMAIL_ADDRESS>


Cannot use JVMCI compiler: No JVMCI compiler found

Thank you for taking the time to help improve Corretto.
If your issue is specific to the Amazon Linux image these containers are built upon, please, consider opening an issue on the Amazon Linux Docker github repository
If your issue is specific to Corretto docker images,
then you are in the right place.
Please proceed with the following.
Describe the bug
Launching a jar with options for using JVMCI compiler results in an error
To Reproduce
build an image from corretto:21
then log in to a bash and run:
java -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler -Dlogback.configurationFile=logback-$ENV_NAME.xml -jar any.jar
Source code of the jar is not relevant
Got the error:
Cannot use JVMCI compiler: No JVMCI compiler found
Expected behavior
Should run the submitted jar
Screenshots
If applicable, add screenshots to help explain your problem.
Platform information
Repository: [e.g. dockerhub, ECR]
Image tag: [e.g. 8-al2-full, latest]

Additional context
Add any other context about the problem here.
Thanks a lot!

Never mind just discovered this:
[(https://github.com/dwijnand/sbt-extras/pull/332)]
Hope this could help other people
thanks


Fix Choice Dictionary returning wrong values on unitialized fields

Fix get() operation sometimes returning 1 if used on an index within an unitialized field

Coverage increased (+0.03%) to 77.96% when pulling 38ce9e8bf6ecf13b1eeb13a7f2346a34a949cab0 on dappels:cd_fix_unitialized into 2eb9cf01146a3d9a5c7855acabfaf214b3c8d56e on thm-mni-ii:master.

Coverage increased (+0.03%) to 77.96% when pulling 38ce9e8bf6ecf13b1eeb13a7f2346a34a949cab0 on dappels:cd_fix_unitialized into 2eb9cf01146a3d9a5c7855acabfaf214b3c8d56e on thm-mni-ii:master.


Allow to customize form titles.

Use a registry rather than passing yet another prop to children.
r? @n1k0

Note: This will break BC for consumers of the current API, because you now have to pass a registry object instead of a SchemaField. We need to document this change in the release notes with a big red warning.

Note: This will break BC for consumers of the current API, because you now have to pass a registry object instead of a SchemaField. We need to document this change in the release notes with a big red warning.
This won't, you still pass SchemaField, the registry is only exposed internally.

Ah right, cool. So we only need to update the docs and we're good to go with nits addressed.

Docs updated.

LGTM, r+

Could you take care of releasing v0.11.0?

Did this:
npm run dist
vim package.json
npm publish
git commit -am "Bump v0.11.0"
git tag v0.11.0
git push

No npm run build? Did you test installing the package after the release?

In the package.json file, I see "dist": "npm run build:lib && npm run build:dist && npm run build:css",.
Despite that, I still need to run npm run build?

Ah no it's fine then :)


Generalize Annotators

The EarthSim project is explicitly designed to be a sandbox where we work out initial solutions to problems in earth-related simulation, first in a very specific form in example notebooks (in examples/topics), then with somewhat generalized code pulled out into a python module  (in earthsim) and documented in the user guide.  Wherever possible, code should then eventually migrate out of earthsim and into a more general purpose library, as long as the code can be expressed in a way that is no longer specific to the particular earth-simulation use case where it originated.
The GeoAnnotators classes in earthsim/annotators.py are currently in the middle of such a trajectory, as they can be used as-is for a variety of different purposes but are fundamentally limited in that they require a map to be present and that each such class has a certain fixed number of drawing tools and associated streams, each with hard-coded configuration parameters tied to them at the annotator class level.
From a brief survey of the code involved, it looks to me like it might be possible to generalize this approach so that it supports any number of associated tools with matching data streams, provided as a list, rather than having a fixed supported set of such tools.  Each tool/stream would be configured individually, not at the Annotator class level, and the Annotator would iterate through them, link them up as appropriate, and so on.  I have not tested this approach, and there are likely to be some tricky issues involved, but it seems like something along these lines could eventually move into HoloViews (if not geo-specific) or at least GeoViews (if the coordinate-system support needs to be handled within these classes) (or maybe one in each project).
Making such a change would not only minimize the code needed to be maintained in EarthSim, but would also likely reduce the amount of user code needed in their own applications, because right now users are likely to have to copy the Annotator classes and edit them for their own use, and a general approach might avoid the need for such minor variations.

I REALLY like this idea and it would help me out a ton! Right now I'm doing exactly what you mention - copying the Annotator classes and modifying them. I'm trying to keep all ducks in a row, but I'm having issues. A more generalized approach would definitely be helpful.

Great; thanks for the motivation! It will be really helpful for us to see what you come up with so that we can generalize this approach in the right way to cover whatever it is you ended up needing to do.

I'm still struggling with adapting the annotators - specifically with dynamic tables. I think separating out the table generation from the basic annotator would be helpful to me. @jbednar - any updates on generalization?

I'm still struggling with adapting the annotators - specifically with dynamic tables. I think separating out the table generation from the basic annotator would be helpful to me

That's definitely the trickiest part, I'm still brainstorming about ideas that would allow the datasource to be shared between the polygons and the table, like it is for the points. Then all of this complexity just disappears.

@philippjfr Is this still blocked?


code cleanup

some formatting updates, report added to the docs-section, code cleaned up for better compilation

I just updated to Jim Plank's 1.2A, which mostly just updated the headers to reflect the new license (GPL -> BSD).  He did some of the "%" fixes that you did, although he did them a bit strangely.  I left those fixes the way he did them to make future merges easier.  If you're ok with the header changes (not sure if you care about committing to a BSD project vs a GPL one), then I'll merge your stuff into master.  Until then, it's in a branch here called tpltnt.

BSD is fine by me. The "%" fixes are indeed a bit strange, but also ok with me. Just merge everything, i don't see a need for an extra branch (now).

merging would still be nice, so i can merge it with my repo and you will get more documentation.


Add Vector2.from_angle() method

3.x version of #48237 by @KoBeWi. I will update this PR once #48237 is finally merged.

Did you test it? :)
There's no support for static methods in GDScript in 3.x.

There's no support for static methods in GDScript in 3.x.

You can test Color.from_hsv():
extends Node2D

func _ready():
	var c = Color.from_hsv(1, 0.5, 1)
	print(c)
	var v = Vector2.from_angle(PI)
	print(v)

Vector2.from_angle is implemented similarly here. 🙂

You can test Color.from_hsv()

Color::from_hsv isn't static though (both in 3.x and master) and is const.
Not sure exactly how this works but TIL these (for example) also seem to "work" in GDScript (at least in 3.3):
print(Vector2.ceil())               # (0, 0)
print(Vector2.floor())              # (0, 0)
print(Vector2.round())              # (0, 0)
print(Vector2.sign())               # (1, 1)
print(Vector2.posmod(1))            # (0, 0)
print(Transform2D.inverse())        # ((1, 0), (0, 1), (-0, -0))
print(Transform2D.affine_inverse()) # ((1, -0), (-0, 1), (0, 0))

Quite interesting. :smile:

I guess this mostly boils down to run-time behavior, since constructs like const on C++ level have syntactic meaning. Not necessarily the same case with static, but I think it's just about memory access at the end of the day, so this would work regardless. Probably it just allocates memory to hold a "static" internal instance of Color and binds directly to function address of that instance.
My stance on this: if that's already a feature in 3.x, then it should be safe to merge, especially if (when?) the same feature is going to be merged in 4.x (with "proper" way of doing this, but likely master branch just has a refactored version of the same feature).


feat(ngTranscludeSelect): add ng-transclude-select directive for multi-transclusion

I've updated the PR to make the syntax closer to <content select> tags (and thus make migration to Angular 2 a bit easier).  To transclude in multiple points, you simply:

set transclude to true
use ng-transclude-select directives in your template to mark transcludable sections
when using the directive, add the appropriate selectors to match the template's ng-transclude-select selectors.

Example usage:
index.html
<my-container>

This is head content.

This is body content.

This is foot content.

</my-container>

myContainer.js
angular.module('app', [])
.directive('myContainer', function() {
   return {
      transclude: true,
      template: [
         '',
         '',
        ''
      ].join('')
   };
});

The output in the DOM would be something like:

This is head content.

This is body content.

This is foot content.

The implementation needs work.  There are some hacks like wrapping the clone to use querySelector - would love to replace that with something better.  Another implementation option would be to do all the matching at once - so you could throw an error at any unused clone elements (currently, they are just being cleaned up).

Hi @kara. Sorry I haven't got round to this yet. Trying to finish up the 1.4.0 issues.
Next week I promise!

@petebacondarwin No problem! Know you've been busy with 1.4.
Whenever you have a chance, let me know if you have any suggested changes.  There is at least one notable hack (regarding wrapping the clone) that I would love to replace with something better if possible.

I have added this to the list of things to discuss in our 1.5 planning

@IgorMinar is going to take a look this week. There have been developments in the WebComponents API that we ought to take into account for this PR perhaps.

We should consider making the API similar to the SLOT proposal for ShadowDOM: See https://github.com/w3c/webcomponents/blob/gh-pages/proposals/Slots-Proposal.md.

The thing is that the slotting api style makes the implementation as well as usage of this feature more cumbersome. The only thing we'd gain is similarity with an evolving standard. I don't think that it is worth it in Angular 1.
One significant drawback of the current implementation is that it will transclude as many times as many instance of ngTranscludeSelect we find in the components template. This is pretty wasteful and will become a perf issue for bigger apps. Could we address this?
It's quite hard to find a good way for this transcluded dom to be shared, since it needs to be accessible from any child node that triggers the ngTranscludeSelect directive, but how about we monkey-patch the $transclude service in this case using a private ($$-prefixed) field?

After talking with @IgorMinar we agreed that some form of slot based algorithm would make it easier to avoid the performance problems. I am going to make a quick spike this week. I can't remember if this is close to what @kara had in her previous PR. If we agree it is viable then perhaps, @kara, you would have time to work on the full implementation?
The idea would be that some directive say ng-slot would be used to provide a slot name to nodes in the HTML that is to be transcluded. When the compiler is compiling a directive that requests transclusion, it would remove these nodes, and provide named transclusion functions to the post link function, and so also to the ng-transclude directive:
Example:
<my-container>

This is head content.

This is body content.

This is foot content.

</my-container>

angular.module('app', [])
.directive('myContainer', function() {
   return {
      transclude: true,
      link: function(scope, element, attr, controller, transclude) {
        // here the transclude parameter will look like:
        // { head: headTranscludeFn, foot: footTranscludeFn, "*": defaultTranscludeFn }
        // where each function is a pre-bound (to its own transclusion scope) transclude function
      },
      template: [
         '',
         '',
        ''
      ].join('')
   };
});

@IgorMinar @petebacondarwin Thanks for taking a look! The changes you're suggesting make a lot of sense. Yeah, I can definitely make time to rewrite the functionality with the slot implementation you outlined.


auditor fails to parse valid image references

During the backfill https://github.com/kubernetes/k8s.io/pull/632, a buggy behavior was observed where the auditor could not parse certain image references.
The following images all triggered a TRANSACTION REJECTED: could not determine source registry: error:
gcr.io/k8s-artifacts-prod/cluster-api-aws/cluster-api-aws-controller@sha256:050848d5a92c8c794af31726b982e8c29aff67e6043e9861e6c71d22d282aa6d
gcr.io/k8s-artifacts-prod/cluster-api-aws/cluster-api-aws-controller@sha256:465842186bfa79cf037163d2c632f544bf8ef0f42065351e6fef7fca7ae58fde
gcr.io/k8s-artifacts-prod/cluster-api-aws/cluster-api-aws-controller@sha256:6600f3e68b8139babd91d52339103c2f9cf0f61d87abcfb08140059047a05f50
gcr.io/k8s-artifacts-prod/cluster-api-aws/cluster-api-aws-controller@sha256:cdf2581188c5de863f6e3bf3180c4d537e5bac25998ceb17f38076d7a28d08ad
gcr.io/k8s-artifacts-prod/cluster-api-aws/cluster-api-aws-controller@sha256:dc5d27778cb5e341d7703001e6009c34ddd89ddcdcf63efaf8edeef22b2aa8ee
gcr.io/k8s-artifacts-prod/e2e-test-images/agnhost@sha256:1dfec5637a7010d6c0955c26f0a752266fa2646ed2bf8e6ad745cdcfcb611db8
gcr.io/k8s-artifacts-prod/e2e-test-images/agnhost@sha256:435e92e8fa45c3bfadb2c12374ea5bea2173d1afbeff572cdca4ffee115a1be7
gcr.io/k8s-artifacts-prod/e2e-test-images/agnhost@sha256:bfd170a7683c58cb23c08a8ed3516fcfaa3180503be43a2be9a9deb0e1dfb0f2
gcr.io/k8s-artifacts-prod/e2e-test-images/agnhost@sha256:d3c06db4ef3ac9f309819e52a401ce2393aef76d2e9657e60daab9027c281855
gcr.io/k8s-artifacts-prod/e2e-test-images/agnhost@sha256:d9d5a169f27bac0c58cce541eeef3db7c2ddd70eca09b48da484a04564a6b1f9
gcr.io/k8s-artifacts-prod/kas-network-proxy/proxy-agent@sha256:43273b274ee48f7fd7fc09bc82e7e75ddc596ca219fd9b522b1701bebec6ceff
gcr.io/k8s-artifacts-prod/kas-network-proxy/proxy-agent@sha256:7bcbdf4cb26400ac576b33718000f0b630290dcf6380be3f60e33e5ba0461d31
gcr.io/k8s-artifacts-prod/kas-network-proxy/proxy-agent@sha256:8735603bbd7153b8bfc8d2460481282bb44e2e830e5b237738e5c3e2a58c8f45
gcr.io/k8s-artifacts-prod/kas-network-proxy/proxy-agent@sha256:99bade313218f3e6e63fdeb87bcddbf3a134aaa9e45e633be5ee5e60ddaac667
gcr.io/k8s-artifacts-prod/kas-network-proxy/proxy-agent@sha256:c1ccf44d6b6fe49fc8506f7571f4a988ad69eb00c7747cd2b307b5e5b125a1f1
gcr.io/k8s-artifacts-prod/kas-network-proxy/proxy-server@sha256:101863ca4affcb2121b785ab34f87321a3f954dd2146ae7069eea87ce1bd7059
gcr.io/k8s-artifacts-prod/kas-network-proxy/proxy-server@sha256:504a5296bbe2d84b22bd15be13cc9cc0ef1c9f1f841ad1965bcf544d4f8246a0
gcr.io/k8s-artifacts-prod/kas-network-proxy/proxy-server@sha256:aa225a770fb144d26c341b0918cd35ca402658135b850f0857b88b4925e17426
gcr.io/k8s-artifacts-prod/kas-network-proxy/proxy-server@sha256:cecee42a9997c0ea06dfcaddfc6a940e4faf52ca31f8dc44f4e7e454c3c8d957
gcr.io/k8s-artifacts-prod/kas-network-proxy/proxy-server@sha256:e65695c53ad76b0b7c24e6df6954afbc6d7454197215149b29670af30304f26c

correction: the images are located in the {asia,eu,us} regions --- but they have been removed from the above paste for simplicity

So the right way to fix this is to inject some much-needed unit-tests for the Audit() function. The problem with the existing implementation is that there is no way to test it without actually going over the network (to log things, etc). I'll need to break it up and add some unit tests along the way.

/reopen
This isn't fixed yet.

Hi @listx. I see you are working on fixing the issue, but could you maybe give few words of summary why parsing this image references was failing?

Hi @listx. I see you are working on fixing the issue, but could you maybe give few words of summary why parsing this image references was failing?

The parsing logic was too limited (very brittle!) and didn't cover enough cases. #199 makes the parsing more robust, mainly by empowering the Contains() method to better gauge whether a given promoter manifest is responsible for the child manifest digest in the Pub/Sub payload.

I created #200 to add more tests, including an e2e test. I then made #201 to just make sure I could reproduce the behavior discussed in this bug (which I did), so #199 and #200 are ripe for merging. See https://github.com/kubernetes-sigs/k8s-container-image-promoter/pull/201#issuecomment-598987390 for more info.
After we get those changes merged, I think I will create 1 more PR to fix #183. Then it should be ready for being deployed into prod.


Unbreak build on GNU/Hurd

The GNU/Hurd does not define IP_ADD_SOURCE_MEMBERSHIP, IP_DROP_SOURCE_MEMBERSHIP, MCAST_JOIN_SOURCE_GROUP and MCAST_LEAVE_SOURCE_GROUP

I've compiled and run the test suite on my Hurd VM. 312 tests pass, 88 fail.

I've compiled and run the test suite on my Hurd VM. 312 tests pass, 88 fail.

Can you paste the output somewhere?

Here is the output of make check on the Hurd
make_check_output.txt

With the last fixes, 345 tests pass, 55 fail
make_check_output.txt

352 vs 48
make_check_output.txt

Thank you for your review @bnoordhuis ! I've addressed your point and added a few comments to the code in the process

Can we just merge this? It is pretty much self contained so it will not break things that are not already broken. Having the test suite runnable on Hurd will eventually allow more people to implement the missing pieces

I don't think that the unsuccessful CI is related to the work


if_ and for_ utility functions

Suggested to add two utility functions for conditional and loops
if_(True)[
    p("This is rendered")
]

if_(False)[
    p("This is not rendered")
]

ul[
    for_(["Cat", "Dog", "Horse"], lambda animal: li[animal])
]

More information in this discussion: #14

For future reference, a major drawback of if_ like this is that the result is always evaluated regardless of whether the value will be used or not. Depending on the particular code, the result could be slow and/or raise exceptions which would not be desired since it is not even used:
if_(False)[f"Hi {very_expensive_database_query()}"]

To work around that, one could wrap the result in lambda but then it does not look as nice anymore:
if_(False)[lambda: f"Hi {very_expensive_database_query()}"]


Paragraph Color Support

I've already got this code and much of the explanation in my pull request #20 but I have a feeling I'll need to probably redo that as it contains a multiple enhancements and that wasn't intended and I'm still learning. This allows the enhancement to receive some better discussion as well I think.
Overview
What I'm after is the ability for the Paragraph entity to support different colored text, defined by the programmer as needed. I want to retain the current way it works and just use the FillColor without issue and then extend it so that if desired the programmer can place inline the various colors they want various bits of text to be colored all the way down to single characters. The scheme would follow a convention like the following:
Examples
string sText = "Hi, my name is {{blue}}Jonah{{default}} what is your name?";
This would simply render 'Hi, my name is' as the default FillColor, 'Jonah' in blue and the text after Jonah back to the default FillColor. Here's another example for clarity:
string sText = "My favorite colors are {{red}}red{{default}},{{blue}}blue{{default}}, and {{orange}}orange{{default}}.
This would render the words red, blue and orange in their respective colors and everything else as the default FillColor.
Implementation
The way I've implemented this in my pull request is a simple scheme where if any of these 'color instructions' are encountered in a Paragraph entity, we pull out all the instructions with a simple regular expression, then we store in a dictionary of instructions the index in the parsed text where the color begins. This is only done at time of instantiation or whenever the .Text property changes for efficiency.
Later when actual rendering of the Paragraph takes place, if any color instructions are found, the text is processed character by character using the current color, starting with the default FillColor, as the index in the text is processed, the current color changes and that character is rendered in that color. This is done until all the text is rendered. This takes into account character spacing and wrapping and all that logic that is done as part of the Paragraph class. Additionally I've tested with anchors and offsets as well and everything looks good. Lastly I ensured this worked well with styles for things like headers, etc so it doesn't interfere with those styles, simply overrides where desired.
I've tested this on various entities, buttons, dropdowns, headers, panels, etc. The only place I found an issue is with the TextInput entity, due to the way it is implemented. It breaks up the text on the input for purposes of using the scrollbar so with my changes, this entity does not support the coloring of text. I don't think it's a huge deal as most of the time it's the player inputting text so there's no need for multiple colors I wouldn't expect. However the trick where if you lock it and it can scroll through text, admittedly that would be useful to allow the text to be colored as desired. With the changes making use of the RenderTargets, I think this would again be possible. Ideally I'd like to see all uses of Paragraph simply work with this enhancement.
Efficiency
As stated, the parsing of the text is a one time operation that occurs on instantiation or whenever the .Text property changes. The actual rendering however is done character by character to ensure the programmer has full control down to the character of what bits of text receive different colors. This is obviously less efficient than drawing a single string but I haven't noticed it to be an issue. If it is, if there is a better way we should explore that.
Colors
Currently I've added support for a variety of standard basic named colors. It wouldn't take much more work to allow for RGB values in a designation like {{255 0 255}}, that would open up the entire color spectrum to the programmer, however tedious it may be. Ideally if we could import System.Drawing, we could access a lot more named color options. I didn't do this because I figured there was a good reason it hasn't been included in the library to begin with, but if there isn't it would open a lot of things up in terms of colors. Regardless, with a little time, we could include all the named colors in XNA into this system, would just require a pretty large switch statement :)

Sorry for not checking this out yet, I hand't forgot I was just busy with other things..
I will keep you updated once I'm on it.
Thanks!

No problem, I understand :)

Awesome! I finally got around to updating my project with Monogame 3.6 as well as latest GeonBit.UI, all is well.
I noticed this has been implemented as the MulticolorParagraph, is there any intention of replacing the standard Paragraph with the MulticolorParagraph entity? I ask because it was my intention to upgrade the existing Paragraph so that it simply had support for multiple colors, which would then naturally extend to every other entity that makes use of paragraphs (buttons, labels, anything with text really).
Either way, great to have this in place, I'll be making use of it very soon. Thank you! :)

Glad to here the update went smoothly :)
Currently I have no intention replacing the default paragraph with the multicolor one because the multicolor requires a lot more draw calls and it can affect performance on long texts. Maybe one day I'll optimize this but its not currently on plan.
Thanks again for this awesome feature, it really upgraded GeonBit.UI!

If you don't actually use the color features of the MulticolorParagraph then there shouldn't be any noticeable performance issues as it just draws the text in a single DrawString() call, it's just doing that one check for whether or not there are color instructions, if there aren't, it's doing the same thing as the existing Paragraph entity. This check here in the draw routine...
if (_colorInstructions.Count > 0)
{
...
}
So really it's only potentially not performant for paragraphs that are actually utilizing the colored text features and the text is really long; so I'm thinking, it should be fine to adapt it into the standard Paragraph class used throughout the framework, then accessing and using the color features becomes incredibly intuitive for all existing entities.
Thanks I agree :)

I'll look into it.

@MrCapitalG done (in dev branch), plus check out this cool thing I could implement with it:
http://imgur.com/a/NJBhs
I made it as a generator function you can replace, so users can actually make their own paragraphs and force the built-in entities adapt their paragraphs instead of the default type (which is now multicolor).
Cheers!

Well this is all kinds of awesome! Outstanding!! I'm gonna have to take advantage of lists like this, that's incredibly useful :)

Curious, I'm using a non-monospaced font, because it's all pixely and awesome for my needs, but when I try to take advantage of the color features, the black silhouette behind the text isn't lining up properly. Is this because I'm using a non-monospaced font or is there some other reason? Additionally I'm scaling the entire UI down by 50% as well, although I tested at normal 100% scale and it's the same result so I don't think that's the issue.

If I don't use the color instruction feature it works fine. When I originally implemented this I just used the default GeonBit.UI example to test, I didn't think about other fonts. Any recommendations or ideas?

It's because of the scaling, there was a bug there I found and already fixed in dev. I'll release a version really soon so my advice is to ignore it for now and wait for the update.
https://github.com/RonenNess/GeonBit.UI/commit/846e5d69b0a5a8e0da571cbe637162e1464d98b6
Btw there's a good chance the text input won't work properly if using non monospace font..

This is a quick screenshot of how it looks if I use the default font, it definitely looks better but it is still off when going to the next line. This paragraph itself isn't scaled in any way from the default, I'm just scaling the entire UI via:
GeonBit.UI.UserInterface.Active.GlobalScale = 0.5f;

I tested with:
GeonBit.UI.UserInterface.Active.GlobalScale = 1;
and everything looks perfect for monospaced font, and still is all wonky with non-monospaced font. If I should only be considering monospaced fonts I can work around that :)

The messed up alignment on Y axis is the bug I solved in last version (btw I just released it if you want to update, it also comes with a brand new built-in theme ;)) but the alignment on X axis appears to be related to monospace / non-monospace fonts.
Thank you for the report and helpful screenshots. I will upload an issue about it and solve it some day in the future..

Awesome, I grabbed latest and tested with the default font, everything looks perfect even when the UI is scaled down as you stated. I tested with the non-monospaced font and it's all wonky also as expected.
I hadn't thought to just turn off the outlines, I could do that for the time being since I really like this font, otherwise I'll go in search of a monospaced font; I noticed in another discussion you stated that in order to properly create the fancy table/list you created, a monospaced font was needed so I suspect it will still be an issue if the outline piece is fixed or are they related? Anyway good stuff, thank you for the recent release!

Thanks :)

so I suspect it will still be an issue if the outline piece is fixed or are they related?

Fixing the outline bug won't help with the table. The table 'hack' uses standard string formatting and spaces to align the words into a table-like structure, and that technique only works with monospace.

Okay very good, I'm going to move to a monospaced font then, it actually makes a lot more sense for the style of my game anyway I've learned (researching and learning a lot more about fonts and typography than I ever wanted to know!). Thanks again!


Add constrains to namespace size

Fix issue #1094.
This adds constrains size of namespace, following rfc1035 2.3.4. That
limits labels less than 63 and name less than 255 characters.
Current golang version doesn't support zero-width assertion of reg-exp.
So I have to use len() to verify.
Signed-off-by: xiekeyang<EMAIL_ADDRESS>

Codecov Report

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

@@           Coverage Diff           @@
##           master    #1102   +/-   ##
=======================================
  Coverage   54.51%   54.51%
=======================================
  Files          16       16
  Lines        1229     1229
=======================================
  Hits          670      670
  Misses        386      386
  Partials      173      173

Continue to review full report at Codecov.

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

While I think that namespace names should have a limit, I don't think this PR goes about the problem correctly. It would be good to bench mark it but capture groups are probably way to expensive to solve this. There should probably just be a length.
Also, these don't need to match RFC1035 in structure exactly. The goal was to reference a common character set. We have already seen some problems with this choice, so we may relax it.

@stevvooe

While I think that namespace names should have a limit, I don't think this PR goes about the problem correctly. It would be good to bench mark it but capture groups are probably way to expensive to solve this. There should probably just be a length.

I  agree it is expensive way. However as I said, golang regexp package doesn't support zero-width assertion, which can limit length in regexp line (for complex case). And I don't figure out better way yet. If you have good hint, just put out and I will try it.

Also, these don't need to match RFC1035 in structure exactly. The goal was to reference a common character set. We have already seen some problems with this choice, so we may relax it.

Understood. But both label and total name size limitation seems to be necessary. Do you think 63 and 255 is reasonable?

@stevvooe This seems to be duplicated to #1108 . Should close this?


Bug 2263476:[release-4.11] bundle: Modify the name and reference of the sample storagesystem

This is an manual cherry-pick of #370

/override ci/prow/odf-operator-bundle-e2e-aws

4.11 is EOL


Error during cargo tauri build

Describe the bug
cargo tauri build
thread 'main' panicked at 'Couldn't recognize the current folder as a Tauri project. It must contain a tauri.conf.json, tauri.conf.json5 or Tauri.toml file in any subfolder.', C:\Users\User.cargo\registry\src\index.crates.io-6f17d22bba15001f\tauri-cli-1.4.0\src\helpers\app_paths.rs:74:5
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace
To Reproduce
running on windows 11, conda env

Same on ubuntu 23.

verify you have the tauri branch checked out.
git clone git@github.com:Stability-AI/StableStudio.git
cd StableStudio
git checkout tauri

then get rust, node and yarn installed

node -v
# v18.17.0

cargo --version
# cargo 1.71.1 (7f1d04c00 2023-07-29)

yarn
# install spam

cargo install tauri-cli
# install spam

cargo tauri build

for the mac and linux people add the following to the root of the project:
setup.sh

from this gist https://gist.github.com/airtonix/1031cd7b4e9745c73b385204f7a9688d

.tool-versions
nodejs 18.17.0
rust 1.71.1
yarn 1.22.19

then run
chmod +x ./setup.sh
./setup.sh

It'll download and install nodejs, rust and yarn making those versions available when you're in this directory.
then:
node -v
# v18.17.0

cargo --version
# cargo 1.71.1 (7f1d04c00 2023-07-29)

yarn
# install spam

cargo install tauri-cli
# install spam

cargo tauri build