[Bug] create routine load for kafka with SASL_PLAINTEXT, ERROR:  Failed to get all partitions of kafka topic

Search before asking

[X] I had searched in the issues and found no similar issues.

Version
doris: 1.2.0
kafka: 2.8.0
What's Wrong?
When I create a routine load job for kafka with SASL_PLAIN_TEXT like this below:
CREATE ROUTINE LOAD mysy2_eco.td_user_unique ON log_625_s_eco_td_user_unique
PROPERTIES
(
    "max_batch_interval" = "5",
    "max_batch_rows" = "300000",
    "max_batch_size" = "209715200",
    "format" = "json",
    "strip_outer_array" = "false"
)
FROM KAFKA
(
    "kafka_broker_list" = "ip:port",
    "kafka_topic" = "log-625-s-eco-td-user-cdc",
    "property.security.protocal" = "sasl_plaintext",
    "property.sasl.mechanisms" = "SCRAM-SHA-256",
    "property.sasl.username" = "admin",
    "property.sasl.password" = "password",
    "property.group.id" = "doris_625_s_eco_td2",
    "property.kafka_default_offsets" = "OFFSET_BEGINNING"
);

The sasl.username admin is the superadmin of kafka.
Report the error:
mysql> show routine load\G;
*************************** 1. row ***************************
                  Id: 61927
                Name: td_user_unique
          CreateTime: 2023-01-09 23:29:40
           PauseTime: 2023-01-09 23:29:49
             EndTime: NULL
              DbName: default_cluster:mysy2_eco
           TableName: log_625_s_eco_td_user_unique
               State: PAUSED
      DataSourceType: KAFKA
      CurrentTaskNum: 0
       JobProperties: {"timezone":"Asia/Shanghai","send_batch_parallelism":"1","load_to_single_tablet":"false","maxBatchSizeBytes":"209715200","exec_mem_limit":"2147483648","strict_mode":"false","jsonpaths":"","currentTaskConcurrentNum":"0","fuzzy_parse":"false","partitions":"*","columnToColumnExpr":"","maxBatchIntervalS":"5","whereExpr":"*","dataFormat":"json","precedingFilter":"*","mergeType":"APPEND","format":"json","json_root":"","deleteCondition":"*","desireTaskConcurrentNum":"5","maxErrorNum":"0","strip_outer_array":"false","execMemLimit":"2147483648","num_as_string":"false","maxBatchRows":"300000"}
DataSourceProperties: {"topic":"log-625-s-eco-td-user-cdc","currentKafkaPartitions":"","brokerList":"ip:port"}
    CustomProperties: {"security.protocal":"sasl_plaintext","sasl.username":"admin","kafka_default_offsets":"OFFSET_BEGINNING","group.id":"doris_625_s_eco_td2","sasl.mechanisms":"SCRAM-SHA-256","sasl.password":"password"}
           Statistic: {"receivedBytes":0,"runningTxns":[],"errorRows":0,"committedTaskNum":0,"loadedRows":0,"loadRowsRate":0,"abortedTaskNum":0,"errorRowsAfterResumed":0,"totalRows":0,"unselectedRows":0,"receivedBytesRate":0,"taskExecuteTimeMs":1}
            Progress: {}
                 Lag: {}
ReasonOfStateChanged: ErrorReason{code=errCode = 4, msg='Job failed to fetch all current partition with error errCode = 2, detailMessage = Failed to get all partitions of kafka topic: log-625-s-eco-td-user-cdc. error: Waited 5 seconds (plus 116834 nanoseconds delay) for io.grpc.stub.ClientCalls$GrpcFuture@4111d94[status=PENDING, info=[GrpcFuture{clientCall={delegate=ClientCallImpl{method=MethodDescriptor{fullMethodName=doris.PBackendService/get_info, type=UNARY, idempotent=false, safe=false, sampledToLocalTracing=true, requestMarshaller=io.grpc.protobuf.lite.ProtoLiteUtils$MessageMarshaller@34eb5d1d, responseMarshaller=io.grpc.protobuf.lite.ProtoLiteUtils$MessageMarshaller@6928bbd7, schemaDescriptor=org.apache.doris.proto.PBackendServiceGrpc$PBackendServiceMethodDescriptorSupplier@4439490f}}}}]]'}
        ErrorLogUrls:
            OtherMsg:
1 row in set (0.01 sec)

What You Expected?
Proceed successfully, please.
How to Reproduce?
No response
Anything Else?
No response
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

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

Here is the kafka log:
[2023-01-09 23:03:57,172] WARN Attempting to send response via channel for which there is no open connection, connection id <IP_ADDRESS>:5011-<IP_ADDRESS>:59830-11827268 (kafka.network.Processor)
[2023-01-09 23:06:29,698] INFO [SocketServer listenerType=ZK_BROKER, nodeId=23] Failed authentication with /<IP_ADDRESS> (Unexpected Kafka request of type METADATA during SASL handshake.) (org.apache.kafka.common.network.Selector)
[2023-01-09 23:06:29,901] INFO [SocketServer listenerType=ZK_BROKER, nodeId=23] Failed authentication with /<IP_ADDRESS> (Unexpected Kafka request of type METADATA during SASL handshake.) (org.apache.kafka.common.network.Selector)
[2023-01-09 23:06:30,166] INFO [SocketServer listenerType=ZK_BROKER, nodeId=23] Failed authentication with /<IP_ADDRESS> (Unexpected Kafka request of type METADATA during SASL handshake.) (org.apache.kafka.common.network.Selector)
[2023-01-09 23:06:30,635] INFO [SocketServer listenerType=ZK_BROKER, nodeId=23] Failed authentication with /<IP_ADDRESS> (Unexpected Kafka request of type METADATA during SASL handshake.) (org.apache.kafka.common.network.Selector)
[2023-01-09 23:06:31,374] INFO [SocketServer listenerType=ZK_BROKER, nodeId=23] Failed authentication with /<IP_ADDRESS> (Unexpected Kafka request of type METADATA during SASL handshake.) (org.apache.kafka.common.network.Selector)
[2023-01-09 23:06:33,401] INFO [SocketServer listenerType=ZK_BROKER, nodeId=23] Failed authentication with /<IP_ADDRESS> (Unexpected Kafka request of type METADATA during SASL handshake.) (org.apache.kafka.common.network.Selector)
[2023-01-09 23:08:01,565] INFO [GroupMetadataManager brokerId=23] Group console-consumer-48913 transitioned to Dead in generation 2 (kafka.coordinator.group.GroupMetadataManager)
[2023-01-09 23:13:59,830] WARN Attempting to send response via channel for which there is no open connection, connection id <IP_ADDRESS>:5011-<IP_ADDRESS>:34244-11828482 (kafka.network.Processor)
[2023-01-09 23:24:02,341] WARN Attempting to send response via channel for which there is no open connection, connection id <IP_ADDRESS>:5011-<IP_ADDRESS>:35982-11829691 (kafka.network.Processor)
[2023-01-09 23:26:26,474] WARN Attempting to send response via channel for which there is no open connection, connection id <IP_ADDRESS>:5011-<IP_ADDRESS>:59824-11846251 (kafka.network.Processor)
[2023-01-09 23:29:45,232] INFO [SocketServer listenerType=ZK_BROKER, nodeId=23] Failed authentication with /<IP_ADDRESS> (Unexpected Kafka request of type METADATA during SASL handshake.) (org.apache.kafka.common.network.Selector)
[2023-01-09 23:29:45,448] INFO [SocketServer listenerType=ZK_BROKER, nodeId=23] Failed authentication with /<IP_ADDRESS> (Unexpected Kafka request of type METADATA during SASL handshake.) (org.apache.kafka.common.network.Selector)
[2023-01-09 23:29:45,674] INFO [SocketServer listenerType=ZK_BROKER, nodeId=23] Failed authentication with /<IP_ADDRESS> (Unexpected Kafka request of type METADATA during SASL handshake.) (org.apache.kafka.common.network.Selector)
[2023-01-09 23:29:46,071] INFO [SocketServer listenerType=ZK_BROKER, nodeId=23] Failed authentication with /<IP_ADDRESS> (Unexpected Kafka request of type METADATA during SASL handshake.) (org.apache.kafka.common.network.Selector)
[2023-01-09 23:29:47,228] INFO [SocketServer listenerType=ZK_BROKER, nodeId=23] Failed authentication with /<IP_ADDRESS> (Unexpected Kafka request of type METADATA during SASL handshake.) (org.apache.kafka.common.network.Selector)
[2023-01-09 23:29:48,956] INFO [SocketServer listenerType=ZK_BROKER, nodeId=23] Failed authentication with /<IP_ADDRESS> (Unexpected Kafka request of type METADATA during SASL handshake.) (org.apache.kafka.common.network.Selector)
[2023-01-09 23:34:04,961] WARN Attempting to send response via channel for which there is no open connection, connection id <IP_ADDRESS>:5011-<IP_ADDRESS>:37722-11830898 (kafka.network.Processor)
[2023-01-09 23:44:07,490] WARN Attempting to send response via channel for which there is no open connection, connection id <IP_ADDRESS>:5011-<IP_ADDRESS>:39434-11832105 (kafka.network.Processor)


[Bug]

Describe the bug
Okay, soo... Discord crashes everytime i install it.
To Reproduce
Steps to reproduce the behavior:

Install it.
Then i literally crash it.

Expected behavior
It said that i had to install it manually,
Screenshots

System Information:

OS: Windows
Discord Version: Stable ver.

I'm having the same issue. Why is everyone booing him?

Try installing with Discord closed.

Why did you dislike this in the first place then give me the solution?


Odd behaviour where permissions are not set using remote_file with file:// path

Description
If you write a resource like the following:
remote_file "/tmp/blah" do
  source "file:////usr/bin/true"
  mode '4755'
  owner 0
  group 0
end

If the destination file does not exist, it is copied and the sticky bit is correctly set.
If the destination file does exist and the contents have not changed, Chef has nothing to do, so everything is good.
If the destination file does exist and the contents have changed, the source is copied to the destination file but the sticky bit is missing
If the destination file does exist and the contents have not changed but the permissions are wrong (because of the above situation), the sticky bit is then set on the file.
Essentially, if you copy a file using the above method with a sticky bit, the first Chef after the source has changed will copy the file, but miss the sticky bit. The second Chef run will fix the sticky bit.
Chef Version
chef-client (14.2.0), seen also in 12.17.44
Platform Version
RHEL 7.3
Replication Case
(all of the below can be replicated via chef-shell)
Create a recipe like:
remote_file "/tmp/blah" do
  source "file:////usr/bin/true"
  mode '4755'
  owner 0
  group 0
end

Run it so the file exists. From here on, you can now replicate behaviour.
Observe the correct permissions after running the above:
# ls -laht /tmp/blah
-rwsr-xr-x 1 root root 29K Oct  2 13:58 /tmp/blah

Now run the following:
remote_file "/tmp/blah" do
  source "file:////usr/bin/false"
  mode '4755'
  owner 0
  group 0
end

Note the source file has changed, but perms have not.
The following output is printed:
chef:recipe (14.2.0)> run_chef
[2018-10-02T14:06:02-04:00] INFO: Processing remote_file[/tmp/blah] action create ((irb#3) line 1)
[2018-10-02T14:06:02-04:00] INFO: remote_file[/tmp/blah] backed up to /var/chef/backup/tmp/blah.chef-20181002140602.096783
[2018-10-02T14:06:02-04:00] INFO: remote_file[/tmp/blah] removed backup at /var/chef/backup/tmp/blah.chef-20181002134823.201924
[2018-10-02T14:06:02-04:00] INFO: remote_file[/tmp/blah] updated file contents /tmp/blah

Note there is no line about setting or updating permissions.
Observe the permissions on disk are now incorrect, missing sticky bit:
# ls -laht /tmp/blah
-rwxr-xr-x 1 root root 29K Oct  2 14:06 /tmp/blah

If you re-run the above exactly the same without changing the recipe, the sticky bit is re-added!
chef:recipe (14.2.0)> run_chef
[2018-10-02T14:07:29-04:00] INFO: Processing remote_file[/tmp/blah] action create ((irb#3) line 1)
[2018-10-02T14:07:29-04:00] INFO: remote_file[/tmp/blah] mode changed to 4755

This is demonstrated quite nicely if you now change the source back to /bin/true (so the source has once again changed) and put the same exact resource twice:
remote_file "/tmp/blah" do
  source "file:////usr/bin/true"
  mode '4755'
  owner 0
  group 0
end
remote_file "/tmp/blah" do
  source "file:////usr/bin/true"
  mode '4755'
  owner 0
  group 0
end

Now run the recipe:
chef:recipe (14.2.0)> run_chef
[2018-10-02T14:09:37-04:00] INFO: Processing remote_file[/tmp/blah] action create ((irb#1) line 1)
[2018-10-02T14:09:37-04:00] INFO: remote_file[/tmp/blah] backed up to /var/chef/backup/tmp/blah.chef-20181002140937.800594
[2018-10-02T14:09:37-04:00] INFO: remote_file[/tmp/blah] removed backup at /var/chef/backup/tmp/blah.chef-20181002134916.944724
[2018-10-02T14:09:37-04:00] INFO: remote_file[/tmp/blah] updated file contents /tmp/blah
[2018-10-02T14:09:37-04:00] INFO: Processing remote_file[/tmp/blah] action create ((irb#1) line 7)
[2018-10-02T14:09:37-04:00] INFO: remote_file[/tmp/blah] mode changed to 4755

Note the first time around (resource starting line 1) it copies the source to the destination, as it's changed, but perms aren't touched. The exact same resource a second time (line 7) then corrects the permissions. This demonstrates the lack of idempotence.
It may be the case that this is related to the behaviour of sticky bits, specifically:
When  the  owner  or  group  of  an  executable file are changed by an
  unprivileged user the S_ISUID  and  S_ISGID  mode  bits  are  cleared.
  POSIX  does not specify whether this also should happen when root does
  the chown(); the Linux behavior depends on  the  kernel  version.

it's unclear if Chef is doing a chown() on that first file copy when the source file changes - perhaps if it is, the sticky bit is being cleared on purpose and then Chef is able to set it back again on the second run (but why would it not notice the first time?)

That is happening here:
https://github.com/chef/chef/blob/master/lib/chef/file_content_management/deploy/mv_unix.rb#L37-L72
chmod happens before chgrp/chown, so it gets stripped.
also i wonder if the mv also helpfully strips sticky bits or not...  shockingly it looks like it does not...

Many thanks! ❤


nbdev_docs fails

when running nbdev_docs on the nbdev repo, it doesn't completely fail (although we need to install the svg.py library by doing pip install -e .[dev], and quarto ends up complaining with some error messages).
However, when running nbdev_docs on my repo, it fails as follows:
Traceback (most recent call last):
  File "/anaconda/envs/dsblocksn2/bin/nbdev_filter", line 33, in <module>
    sys.exit(load_entry_point('nbdev', 'console_scripts', 'nbdev_filter')())
  File "/home/jcidatascience/jaume/workspace/other/nbdevv2/fastcore/fastcore/script.py", line 119, in _f
    return tfunc(**merge(args, args_from_prog(func, xtra)))
  File "/home/jcidatascience/jaume/workspace/other/nbdevv2/nbdev/nbdev/cli.py", line 46, in nbdev_filter
    with redirect_stdout(dn): filt(nb)
  File "/home/jcidatascience/jaume/workspace/other/nbdevv2/nbdev/nbdev/processors.py", line 243, in __call__
    def __call__(self, nb): return self.nb_proc(nb).process()
  File "/home/jcidatascience/jaume/workspace/other/nbdevv2/nbdev/nbdev/process.py", line 126, in process
    for proc in self.procs: self._proc(proc)
  File "/home/jcidatascience/jaume/workspace/other/nbdevv2/nbdev/nbdev/process.py", line 120, in _proc
    if hasattr(proc,'end'): proc.end()
  File "/home/jcidatascience/jaume/workspace/other/nbdevv2/nbdev/nbdev/frontmatter.py", line 66, in end
    self.fm.update({'output-file': _nbpath2html(Path(self.nb.path_)).name})
  File "/home/jcidatascience/jaume/workspace/other/nbdevv2/fastcore/fastcore/basics.py", line 247, in __getattr__
    def __getattr__(self,k): return self[k] if k in self else stop(AttributeError(k))
  File "/home/jcidatascience/jaume/workspace/other/nbdevv2/fastcore/fastcore/basics.py", line 216, in stop
    raise e
AttributeError: path_

I digged a bit and found the error happens on this command:
quarto render "<my_repo>/_proc/index.ipynb" -o README.md -t gfm --no-execute"

If I run this command separately from command line, it doesn't work either. I tried to set breakpoints in nbdev_filter () to dig more, but didn't succeed unfortunately.

Are you using the latest versions of quarto and nbdev?  Install nbdev pip install git+https://github.com/fastai/nbdev.git from git and also use the latest pre-release of quarto
You have not provided a way for us to reproduce your error, so it will be impossible to help you.  Can you provide a reproducible example?

Thank you for your response! I just pulled the latest commit from nbdev and installed in dev mode (pip install -e ). I also installed the pre-release you indicated (do  you know if there is a way to check that my conda env is using this pre-release and not the one installed by nbdev originally?). I still get the same error.
In order to reproduce, I followed these steps from scratch:
yes | conda create -n reproduce pip
conda activate reproduce
pip install git+https://github.com/fastai/nbdev.git
wget https://github.com/quarto-dev/quarto-cli/releases/download/v1.2.262/quarto-1.2.262-linux-amd64.deb
sudo apt install ./quarto-1.2.262-linux-amd64.deb
git clone https://github.com/Jaume-JCI/ds-blocks.git -b reproduce
cd ds-blocks
pip install -e .[dev]
nbdev_docs

Please let me know if this is good enough. Thanks!

I am running into the same issue when I set recursive = True in settings.ini
This is consistent with @Jaume-JCI's sample repo, which has recursive = 1

Thanks @seeM. I double-checked, but there are no ipynb-filters in any of the '_quarto.yml' files. You may check that if you want in the repo I have indicated when describing how to reproduce this issue above.


ENH: update package version

Hi! This is the friendly automated conda-forge-webservice.
I've started a version update as instructed in #89.
I'm currently searching for new versions and will update this PR shortly if I find one! Thank you for waiting!
Fixes #89

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe/meta.yaml) and found it was in an excellent condition.
I do have some suggestions for making it better though...
For recipe/meta.yaml:

Use importlib-metadata instead of importlib_metadata

No dep changes:
$ git diff 8.3.4 8.3.5 setup.cfg
diff --git a/setup.cfg b/setup.cfg
index d2a66c1b4..4e3b2f652 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -113,6 +113,7 @@ tests =
     flake8-builtins>=1.5.0
     flake8-comprehensions>=3.5.0
     flake8-debugger>=4.0.0
+    flake8-implicit-str-concat>=0.4
     flake8-mutable>=1.2.0
     flake8-simplify>=0.14.0
     flake8-type-checking; python_version > "3.7"


[release/1.6] *: enable ARM64 runner

There are many Kubernetes clusters running on ARM64. Enable ARM64 runner is to commit to support ARM64 platform officially.
runc.v1 and runtime.v1 runtime tests are skipped on arm64 runners because they doesnot support cgroupv2; arm64 nodes has only ubuntu22.04 at the moment, and ubuntu22.04 has cgroupv2 enabled and cgroupv1 disabled by default.
(cherry picked from commit cb5a48e6453da65c4b8e5694ec5ed88f72b19737)
Not a clean cherry-pick of #9456

/retest

/close
As the change with test fixes has been made in PR #9636


Mismatched results for C++ project

Hi, when I search for projects in C++ the result on webpage is correct but the result in the download file is not correct. The file seems to only shows projects written in C.

I can confirm I could reproduce the bug. Thanks for reporting. We'll look into it.


Autocomplete Disabled property not working properly

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Steps to reproduce 🕹
When I try to click on dropdown right corner but somehow disabled not working and it is showing me dropdown and allow user to select which by suppose should be "disabled".
I added below code: where isdisabled is dynamic which can be true or false.
<Autocomplete
id="Action User"
disableClearable
options={Userlist.map((option) => option?.value)}
className="actionuser"
value={user}
disabled={isdisabled=== "Approve" ? true : false}
onChange={(e, newValue) => {
setUser(newValue);
}}
renderInput={(params) => (
<TextField
placeholder="Select User"
{...params}
InputProps={{
...params.InputProps,
type: "Action User",
}}
/>
)}
/>
Current behavior 😯
It allow user to show and select options from dropdown even though it set "disabled" as false.
Expected behavior 🤔
It should not show dropdown values.
Context 🔦
No response
Your environment 🌎

npx @mui/envinfo
  Don't forget to mention which browser you used.
  Output from `npx @mui/envinfo` goes here.

ticket number I opened for this issue : #8442

It doesn't look like this bug report has enough info for one of us to reproduce it.
Please provide a CodeSandbox (https://mui.com/r/issue-template), a link to a repository on GitHub, or provide a minimal code example that reproduces the problem.
Here are some tips for providing a minimal example: https://stackoverflow.com/help/mcve


Implement multiple upstream to envoy

Contour now passes the set of upstreams to envoy and calculates even distribution across.
Signed-off-by: Steve Sloka<EMAIL_ADDRESS>

@alexbrand added a test to cover multiple upstreams

LGTM


open a localhost webserver

I remember the old version before nerfstudio in training on two address, https://viewer.nerf.studio/versions/22-10-07-0/xxxx and https://localhost:5000/xxxxxxxx, I would like to ask whether the local service of localhost is still available and how to open it.

Is this what you are looking for? https://docs.nerf.studio/en/latest/developer_guides/viewer/viewer_overview.html#installing-and-running-locally It will run by default on port 4000.

Yes, that's right! Thank you


Windows support

Can the library be used on Windows?

Nope, tested it and SQLite3 seems to be missing

The GRDB.swift SQLite toolkit can run on Windows, so probably this library can as well: https://github.com/groue/GRDB.swift/discussions/1498

GRDB does not run on Windows, it's missing CSQLite as well

It will build on windows at least if you provide CSQLite as a dependency and adjust the imports to also account for windows. I'm not sure yet about usage, however.


fix wrong descriptions in readme

close #13
@0xedb @riccardoscalco Please check this. Sorry for the confusion.

Thank you @dai-shi, the example is clear.


Remove: Unity.Unity.6000.UWP version 6000.0.12f1

Microsoft Reviewers: Open in CodeFlow

URL: https://download.unity3d.com/download_unity/7defd84cdab8/TargetSupportInstaller/UnitySetup-Universal-Windows-Platform-Support-for-Editor-6000.0.12f1.exe
OK
(Automated message - build 923)

https://github.com/microsoft/winget-pkgs/pull/186121#issuecomment-2445759087


Update the minio to the last version with the Apache license

Description
Changes proposed in this pull request:

Update the minio to the version RELEASE.2021-04-22T15-44-28Z which is the last version before new license

/retest

/test all

/test all

/retest


TS 3.7rc regression on intersected union types

TypeScript Version:  3.6.3 VS 3.7-beta/nightly (from playground)
Search Terms: discriminated union, intersection type, tag in intersection, extract by tag
Code
We tried the new TS 3.7rc in our project and encountered a problem with our generated types. The types are generated by GraphQLCodegen.
Our code compiles without errors or warning in TS 3.6.3 but has compile errors in 3.7rc and in the nightly build of the playground.
We reduced the code to get the following situation in the playground:
http://www.typescriptlang.org/play/?ts=3.7-Beta#code/DYUwLgBAngXBCiAPMAnAhgYzAHgEoHtQAaCAbwgH0KwoAHEAOzQFsQB+OAclxAHMBLfAwKhOEAL4A+CAF4IDAK7BgENAGdVDKAFgAUKEgAvWdAB0KPoIZ6bugPR2IPNZH4bejEOjAgAJhAAzFHxmCABxdFoACwBFYD0aeidLIRNSPQhKajpGFnY4ACIeASECgG4MiH5fOBcUfgZeCt1MplYOCDqGpr1xZsSQZJLhQkG5dJasgbb8iCKUkdByyura1G7mzIthuGKrZr6EnIgAQV9mBpExsimcmY6Cs4vFkHKqms71xolmo6Sr2SVAA+EAAFOQqNM8g8npdRgUJBAAGQQAAK-AwAGtsLCXiQCtUCpIAJTAsEQ7L0e6FPZCK4I8TE5FojHY2l4ubbKxE366IA
The error seems to occur, when I try to use the Extract type on a field that is added in an intersection type.
Expected behavior:
No errors in TS 3.7

Minimal repro:
type U = { kind?: 'A', a: string } | { kind?: 'B' } & { b: string };
declare let x: Extract<U, { kind?: 'A' }>
x.a;

Notable criteria:

If kind is not optional, no error
If the non-matching union constituent is not an intersection, no error

While instantiating this usage of Extract, the checker basically comes to this:
type Source = { kind?: 'B' } & { b: string };
type Target = { kind?: 'A' }
// Source is assignable to Target if any constituents of Source are.
// 1. Is `{ kind?: 'B' }` assignable to `{ kind?: 'A' }`? Nope.
// 2. Is `{ b : string }` assignable to `{ kind?: 'B' }`?
// Actually yes, because `kind` is optional in Target, and we don’t care that
// these have no overlapping members because we’re comparing an intersection
// constituent—that check will be performed at the top level.

Not sure yet how this was avoided previously / what introduced this regression, because the fix wasn’t obvious while discovering the problem. Going back to 3.6 to see what happened there.

Caused by https://github.com/microsoft/TypeScript/pull/33213

Seems like a pretty serious bug. Should it really be part of 3.8, and not 3.7?

I'd guess that every user of GraphQL codegen should be affected when they are using Extract in the __typename as this is generated in ts as an optional property.

@andreasgruenh as a workaround, could graphql stop generating an optional discriminant?

It looks like you can make __typename non-optional with an existing config option: https://github.com/dotansimha/graphql-code-generator/blob/4529aae3277b5cc7c0f7c4d19f4b4769c0710381/packages/plugins/other/visitor-plugin-common/src/base-visitor.ts#L100-L113

Yes, that's true, you can add nonOptionalTypename: true to the codegen.yml
For new projects this might be a solution. When using this flag in our codebase, 110 new errors appear, because various places assume the typename to be optional :/

I think I found a workaround by writing a special mapped type ExtractByOptionalTag which can be used for our typename usecase.
Code:
type U = ({ kind?: "A" } & { a: string }) | ({ kind?: "B" } & { b: string });
declare let x: ExtractByOptionalTag<"kind", U, "A">;
x.a

type SingleRequired<T extends Object, TKey extends keyof T> = T &
    Required<Pick<T, TKey>>;

type SingleOptional<T extends Object, TKey extends keyof T> = Omit<T, TKey> &
    Partial<Pick<T, TKey>>;

type ExtractByOptionalTag<
    TTagKey extends string,
    TObject extends { [key in TTagKey]?: string },
    TTagValue extends TObject[TTagKey]
    > = SingleOptional<
        Extract<SingleRequired<TObject, TTagKey>, { [key in TTagKey]: TTagValue }>,
        TTagKey
    >;

Playground link: http://www.typescriptlang.org/play/?ts=3.7-Beta#code/C4TwDgpgBAqlC8UAUBvKBrAlgOwCYH4AuKAIgEESoBfKAMijQENiBnYAJxwHNqBKKAD7I0WPEVIAhSjXpoARqw7c+AbgCwAKFwQAxgBtG7aHojAoAD2IBRcx0Y7gEkAHkwwTAHtsjPQBVGXAA8JKK4JAA0sJHkJAB86hrmAHSMmpqgkFAAytwmAEoQAI4ArphGuIG+UBC2EHgsUM5yAFa6wJG+ANIQINW19Rg9HgBmUL6xCGN0mlCzUAUlZRAVAAqYOuiVHd0gsfFpGhnQOdhcJq7uXj6VfcB1uA1NrQ7bPbf3DehDo+OTzgC2mGAWzGOwmtBmcxWhnc1zWGxBXR6ewS6XA0BsdgcTgunm8fgCgUhs18-i4O3eAzYnFO4WJYyebUpDwYUAA2l9ejgxmSdgBdcTU5RUOkaOY8gIANR8xWgNTuA18jIcbNJAX59ImiBOZwguKueiJYvFc0x7HswJ1+SKpXKlWV7Ql5ORkTQHLe3LVzpAfOIXulell1FiopNcy9O01CSAA


" The number of connections to this computer is limited..." despite rdpwrap running

I'm running into an issue trying to log on to a Windows 10 Pro system (1709 / 16299.251) with termsrv.dll 10.0.16299.15.
rdpwrap 1.6.2 is installed and when I run RDPConf, everything checks out (running, listening, etc.).

If I try to log in with more than one user, I get the "The number of connections to this computer is limited..." error you would get if rdpwrap wasn't running.
I've tried uninstalling and reinstalling a number of times, and a number other random tweaks/fixes to Windows itself, but nothing seems to work. Is this possibly a bug or is something just wrong with my machine?

something just wrong with my machine?

This.
I have no problems using concurrent sessions with this termsrv build.

I had the same problem.
I deleted the program. installed again. and it all worked

When you say you deleted the program, did you just use the uninstall script? Or did you do any manual removal of anything? I ask because I've used the uninstall script and re-installed a number of times.
Is it possible that the install got corrupted somehow and the uninstall isn't working correctly? Is there a way/directions to manually remove what needs removing?

i run uninstall.bat as admin
and next run install.bat as admin

Same problem here.
Two Windows Server 2012 R2 Standard.
Problem since the most current Windows Updates (installed 13.03.2018/14.03.2018)
RDPwrapper 1.6.1 and 1.6.2
Wrapper state: Installed ver. <IP_ADDRESS>
Service state: Running ver. 6.3.9600.18928
Listener state: Listening [not supported]
RDP.ini:  2017.12.27
Reinstall of RDPWrapper doesnt help.

vaya, tengo el mismo problema. Que habrá ocurrido?

Same here.

Some one got a solution ?

@andydld @lalogago you are posting offtopic here, your issue is #418.

Well, for some unknown reason this randomly started working again today. I was able to log in with multiple users and did not get the error. I didn't do anything, so I'm not exactly sure what happened. But I'll take it!

Windows Server 2012 R2

solution ?

I had the same problem as @abagarella My solution was to uninstall, then install with proxy settings set, update with proxy settings set, so the configuration file could have been downloaded. Then everything worked without the annoying text "The number of connections to this computer is limited".

I had the same problem as @abagarella My solution was to uninstall, then install with proxy settings set, update with proxy settings set, so the configuration file could have been downloaded. Then everything worked without the annoying text "The number of connections to this computer is limited".

Proxy settings? What are u talking about bro, don’t know what is that, having same issue here!

What helped to me was either a combination of running the update.bat, I also manually removed the directory 'C:\Program Files\RDP Wrapper' and run update.bat again. And followed by running by myself alone commands 'net stop termservice' and 'net start termservice' , though  who knows if running these commands alone did not solve it alone, but removing the Rdp Wrapper folder mentioned might had been needed to. Anyway now it works after some time of troubleshooting here.
Also I needed the newest INI file from the #999 issue.

I again struggled with it a little/considerably, but it is achievable. I had the same state as @Wajahat234  in his picture with the not supported message and the listener state listening. When you turn off the service 'net stop termservice' the listener state goes to "off" from "Listening" (I dont remember exactly but the state is changed from it to turned off or some like that state).
It seems like the provided configuration ini file, must be placed into the 'C:\Program Files\RDP Wrapper' , not to the directory with the application, as the installation actually updates that system directory. At this step I dont remember exactly but I think I had to turn off that service 'net stop termservice', but at some step it somehow complained about the service being disabled. But after having the attached configuration file in that Program Files Rdp directory, and subsequently running the uninstall.bat and install.bat/update.bat file afterwards, it started to work somehow. Just it looks like as if it could not install /update the library at some stage. But trying out various combinations of this steps should turn out well in the end.


Mention driver in Centrifugo docs

Hello @AlexHnydiuk
Just found your driver - looks good! I am going to mention it in Centrifugo documentation - but just wanted to ask your permission and about status of this lib - have you already used it in real project?

Hi @FZambia
Of course you could mention it in Centrifugo docs. But I wanna check it on last laravel version before this.
Answering your question - yes, I'm using it in my pet-project, based on laravel (actually, I've updated old version of the driver, which I mentioned in README.md, specially for my pet-project). And it works just fine. Only after that I decided to post it here.
If you really interested - just drop me a line, and I'll give you link and credentials (my pet-project is still not finised, therefore it can be accesed only with login and pass)

But I wanna check it on last laravel version before this.

OK, just let me know here.

I'll give you link and credentials

If it's not very difficult to you then yeah - I am curious to look at, especially on real-time part :) You can send me over email (available on my profile page).

Hello again, @FZambia
Sorry for such a delay, but only today I had enough time to check compability of laracent with new version of laravel.
I've checked it both with laravel 5.7 and 5.8  using php 7.2 and 7.3 - all green. So you could mention it  Centrifugo documentation, if you wish 😃
And I discovered, that previosly for tests laravel 5.5 was used 😄  Unexpected backwards compability :gift:
Now minimum version of laravel 5.7 clearly specified in composer.json

Hi, great, thanks! Just added link to https://centrifugal.github.io/centrifugo/libraries/api/ page. Centrifugo is quite popular in Laravel community as far as I know so having a working integration for Centrifugo v2 is pretty cool.


Using npx to run Jest from CLI

Summary
Using npx allows to not install Jest globally

Test plan
npx jest my-test --notify --config=config.json

I would suggest against this as this does not guarantee running the same version between runs, so tests that passed one day could suddenly fail another day

allows to not install Jest globally

You shouldn't do that anyways, should install it in each project so that the last known good state is preserved.

this does not guarantee running the same version between runs

@merceyz why? npx uses the same package version as installed locally, am I wrong?
Oh, I see, I suggested just run npx without installing package locally before it.


raise ValueError('Optimizer must have a "lr" attribute.') - Colab works, VS code doesn't

I ran 5 models successfully in Google Colab (where I assume they use TF 2.5), but when I try and run on my local CPU in VS code in a conda env (where I can't seem to get the TF version to be above 2.0?) a ValueError is raised (in the title of this issue).
Here is the pertinent code; I suspect it's a stupid mistake on my end, but I can't seem to figure it out
import tensorflow as tf
from tensorflow import keras
from keras.datasets import cifar10
from keras.datasets import cifar10
from keras.callbacks import LearningRateScheduler
from keras.callbacks import ReduceLROnPlateau
import numpy as np
import pickle
import matplotlib.pyplot as plot
from ResNet import *
from plain import *
from Vgg19 import *

print(tf.__version__)

# Load the CIFAR10 dataset. It comes with training and validation sets.
(trainX, trainY), (validX, validY) = cifar10.load_data()

# Preprocess the X side of the data. ImageNet trained on (224,224,3), we have (32,32,3)
trainX = tf.keras.applications.resnet50.preprocess_input(trainX)
validX = tf.keras.applications.resnet50.preprocess_input(validX)
# Preprocess the Y side of the data. Make it into a one-hot 10-class output.
trainY = tf.keras.utils.to_categorical(trainY, num_classes=10, dtype='int')
validY = tf.keras.utils.to_categorical(validY, num_classes=10, dtype='int')

def lr_schedule(epoch):
    lr = 1e-2
    if epoch > 82:
        lr *= 0.1
    elif epoch > 123:
        lr *= 0.1
    return lr

# To match Figure 3, we need error%. We have accuracy%. 1 - accuracy = error.
# histories is a list of the history-objects returned from model.fit()
# colorCodes and iterLabels are lists of strings, e.g. ['blue','red'] and ['RN50','RN101']
def plotAccuracies(histories, epochCount, colorCodes, iterLabels):
    for i, history in enumerate(histories):
        train_acc = history.history['accuracy']
        val_acc = history.history['val_accuracy']
        epochs = range(epochCount)
        plot.plot(epochs, [1 - x for x in train_acc], color = colorCodes[i], markersize = 12, linewidth = 1, label = iterLabels[i] + ' T Error')
        plot.plot(epochs, [1 - x for x in val_acc], color = colorCodes[i], markersize = 12, linewidth = 2, label = iterLabels[i] + ' V Error')
    plot.legend()
    plot.show()

# Define ResNet-20 for Cifar10 -- input shape is 32 x 32 x 3, number of classes is 10
# Define ResNet-32 for Cifar10 -- input shape is 32 x 32 x 3, number of classes is 10
rn20 = rn(input_shape = [32,32,3], classes = 10, n = 3)
rn32 = rn(input_shape = [32,32,3], classes = 10, n = 5)

# Define plain-20 for Cifar10 -- input shape is 32 x 32 x 3, number of classes is 10
# Define plain-32 for Cifar10 -- input shape is 32 x 32 x 3, number of classes is 10
plain20 = plain(input_shape = [32,32,3], classes = 10, n = 3)
plain32 = plain(input_shape = [32,32,3], classes = 10, n = 5)

# Define Vgg19
Vgg = Vgg19(input_shape = [32,32,3], classes = 10)

epochToRun = 1
batchSize = 128

#### Taken from Keras Website
lr_scheduler = LearningRateScheduler(lr_schedule)

lr_reducer = ReduceLROnPlateau(factor=np.sqrt(0.1),
                               cooldown=0,
                               patience=5,
                               min_lr=0.5e-6)

callbacks = [lr_reducer, lr_scheduler]
####

# Build an instance of the loss measure
# - Normal CategoricalCrossentropy wants your Y shapes to be of the from [?, NUM_OF_CLASSES]
cce = tf.keras.losses.CategoricalCrossentropy()
# Build an instance of the optimizer. (plain / ResNet)
# -- Adam with lr_schedule
opt = tf.keras.optimizers.Adam(learning_rate = lr_schedule(0))
# Build an instance of the optimizer. (Vgg)
# - Stochastic Gradient Descent with momentum
sgdv = tf.keras.optimizers.SGD(learning_rate = 0.01, decay=1e-6, momentum=0.9, nesterov=True)

# Compile Models
rn20.compile(loss = cce, optimizer = opt, metrics = ['accuracy'])
rn32.compile(loss = cce, optimizer = opt, metrics = ['accuracy'])
plain20.compile(loss = cce, optimizer = opt, metrics = ['accuracy'])
plain32.compile(loss = cce, optimizer = opt, metrics = ['accuracy'])
Vgg.compile(loss = cce, optimizer = sgdv, metrics = ['accuracy'])

# Train Models
rn20_train    = rn20.fit(trainX, trainY, batch_size=batchSize, epochs = epochToRun, validation_data = (validX, validY), callbacks = callbacks, shuffle = True)
rn32_train    = rn32.fit(trainX, trainY, batch_size=batchSize, epochs = epochToRun, validation_data = (validX, validY), callbacks = callbacks, shuffle = True)
plain20_train = plain20.fit(trainX, trainY, batch_size=batchSize, epochs = epochToRun, validation_data = (validX, validY), callbacks = callbacks, shuffle = True)
plain32_train = plain32.fit(trainX, trainY, batch_size=batchSize, epochs = epochToRun, validation_data = (validX, validY), callbacks = callbacks, shuffle = True)
Vgg_train     = Vgg.fit(trainX, trainY, batch_size = batchSize, epochs = epochToRun, validation_data = (validX, validY), shuffle = True)

# Save Histories
with open('/trainHistoryDict_20', 'wb') as file_pi:
    pickle.dump(rn20_train.history, file_pi)

with open('/trainHistoryDict_32', 'wb') as file_pi:
    pickle.dump(rn32_train.history, file_pi)

with open('/trainHistoryDict_p20', 'wb') as file_pi:
    pickle.dump(plain20_train.history, file_pi)

with open('/trainHistoryDict_p32', 'wb') as file_pi:
    pickle.dump(plain32_train.history, file_pi)

with open('/trainHistoryDict_v32', 'wb') as file_pi:
    pickle.dump(Vgg_train.history, file_pi)

# Plot results
plotAccuracies([rn20_train, rn32_train], epochToRun, ['aqua', 'red'], ['RN20','RN32'])
plotAccuracies([plain20_train, plain32_train], epochToRun, ['aqua', 'red'], ['plain20','plain32'])

# Save Models + Weights
tf.keras.models.save_model(
    rn20, 'rn20', overwrite=True, include_optimizer=True
)

tf.keras.models.save_model(
    rn32, 'rn32', overwrite=True, include_optimizer=True
)

tf.keras.models.save_model(
    plain20, 'plain20', overwrite=True, include_optimizer=True
)

tf.keras.models.save_model(
    plain32, 'plain32', overwrite=True, include_optimizer=True
)

tf.keras.models.save_model(
    Vgg, 'Vgg19', overwrite=True, include_optimizer=True
)

in the tensorflow.keras version you're using learning_rate was not yet the argument that is used for the learning_rate in earlier versions lr was used -- which is now deprecated.
there are two ways to fix your bug.
number 1 would be to change your code as follows:
sgdv = tf.keras.optimizers.SGD(learning_rate = 0.01, decay=1e-6, momentum=0.9, nesterov=True)
sgdv = tf.keras.optimizers.SGD(lr= 0.01, decay=1e-6, momentum=0.9, nesterov=True)
the other, and probably more sustainable, would be to update your tensorflow version in your conda environment


Why does this code work? What is the purpose of Locale?

I ran into the problem that I only have the country name and not the Locale, so reading the code among other things in the end I don't understand what is the purpose of Locale in this package?
Why if I do this don't I get any errors or an empty output?
locale := currency.NewLocale(" ")
package main

import (
	"fmt"

	"github.com/bojanz/currency"
)

func main() {
	locale := currency.NewLocale(" ")
	formatter := currency.NewFormatter(locale)
	amount, err := currency.NewAmount("1245.988", "JPY")

	fmt.Println(err, formatter.Format(amount))

	formatter.MaxDigits = 2
	fmt.Println(formatter.Format(amount))

	formatter.NoGrouping = true
	amount, _ = currency.NewAmount("1245", "EUR")
	fmt.Println(formatter.Format(amount))

	formatter.MinDigits = 0
	fmt.Println(formatter.Format(amount))

	formatter.CurrencyDisplay = currency.DisplayNone
	fmt.Println(formatter.Format(amount))
}

Output:
<nil> ¥1,245.988
¥1,245.99
€1245.00
€1245
1245

We fall back to en if the specified locale is not found, that's why it works.

I've made two commits to improve the current behavior and ensure " " is always treated the same as "en".
https://github.com/bojanz/currency/commit/d662aacf43040d4e5703dc0770504d1fc96d8de3
https://github.com/bojanz/currency/commit/6f1903fa66a3a07941b8271a561ae1bfa230c2f1


Integration of 3D Guizmos in RAYX-UI Using ImGuizmo Library

As part of our ongoing efforts to enhance the user interface and interaction capabilities within RAYX-ui, I am proposing the integration of 3D guizmos through the third-party library, ImGuizmo. This feature aims to provide users with intuitive tools for manipulating objects directly within the 3D viewport, such as translation, rotation, and scaling, thereby significantly enhancing the user experience for scene editing and configuration.
Given the current development status, particularly the pending implementation of mouse picking as discussed in issue #251, we plan to initially tie the guizmo functionality to the beamline outliner. Specifically, clicking on an element within the beamline outliner would not only move the camera to the element's position (as per the current behavior) but also spawn a guizmo for direct manipulation of the selected element.
Considerations for Implementation:
Current Click Behavior: The existing functionality, where clicking an element in the beamline outliner moves the camera to the element's position, will need to be augmented also to spawn the corresponding guizmo. This implies modifications to the event-handling logic to support both actions without introducing conflicts.
Integration with ImGuizmo: ImGuizmo is a well-established library designed to work seamlessly with ImGui for rendering 3D guizmos. Our integration efforts will ensure compatibility with our Vulkan-based rendering pipeline and adapt the library to our specific needs, including visual customization of guizmos to fit RAYX-ui's UI/UX design principles.
Guizmo Manipulation via Beamline Outliner: Until mouse picking is fully implemented, guizmo interaction will be initiated through the beamline outliner.
User Experience Considerations: Introducing guizmos will significantly change how users interact with 3D objects in RAYX-ui. We need to ensure that this addition enhances the user experience, offering intuitive and responsive controls, while also providing sufficient documentation and tooltips to guide users through the new functionality.
Future Integration with Mouse Picking: While the initial implementation will rely on the beamline outliner for guizmo activation, we must design this feature with future integration with mouse picking in mind. This foresight will facilitate a smooth transition to direct viewport selection once mouse picking becomes available, enhancing workflow efficiency and user engagement.

Transforming RAYX-UI into a beamline design tool is currently blocked by a refactor in our backend. There is a refactor happening to work on the inner representation of beamline objects as DesignObjects.


Add CKEditor editor class

What
Support CKEditor
Related Issue
yuku-t/jquery-textcomplete#90

Should be done in external repository. Like yuku-t/textcomplete.codemirror

What is the plan for this? Any work already done by you? I am having a look at #90 again and hope to be of help

Why not fixing the ContentEditable class? Is the issue only specific to CKEditor?

@amenk

Why not fixing the ContentEditable class?

I'm not sure CKEditor is exactly using pure content editable elements. If it is true, fixing the ContentEditable class makes sense.

Is the issue only specific to CKEditor?

I don't know about it because I've never used CKEditor. How do you think? Fixing ContentEditable may fixes the issue as well?

See also https://github.com/yuku-t/jquery-textcomplete/issues/90#issuecomment-210448599
It does look to me in the moment, that specific CK Editor code is needed to intercept the keystrokes correctly, so using an own class might be the correct approach.
Also please regard "What do you think, how much effort is it to fix this for you? Are you available for hire?" :-)

What do you think, how much effort is it to fix this for you?

It depends on whether CKEditor provides proper APIs:

Insert a string to the current cursor position.
Get cursor position.
Get a string from head to cursor.

I read API documents last weekend, but I could not find what I need to implement. :(
(Codemirror has such things so I could implement yuku-t/textcomplete.codemirror)

Are you available for hire?

Thanks. but I'm not. :)

As I wrote in https://github.com/yuku-t/jquery-textcomplete/issues/90#issuecomment-210448599 there is an API for the keypress.
During my tests (without using that API), inserting and so on seams to work using the standard ContentEditable code. So maybe we do not need a special API for this?
Or should we then go the way using the normal jquery-textcomplete and add some special-case code for CKEditor? What do you think?

Are you available for hire?
Thanks. but I'm not. :)

I am only talking about some monetary motivation for fixing that issue, as it is really important for us and I am a bit lost ... so in case you are nevertheless interested, drop me a line at a.menk AT imi.de
Of course I would also be okay if you could fix the CK compatibility for free :)

I think the basic problem is, that Jquery and CKEditor use different event systems.
What do you think about some kind of hybrid class? Jquery Textcomplete with some additions for the CKEditor event system? Would that be very unclean? Or should I extend it?

First draft of the CKEditor class is done:
https://github.com/iMi-digital/jquery-textcomplete/tree/feature-ckeditor
@yuku-t You might want to have a look?
Todos:

Correct detection + initialization (currently I do that outside of the plugin)
The space is not inserted after completion

@amenk Were you able to get CKEditor working with this repository (not the jquery-textcomplete one)?

I am just coming back to this, I think I was making CKeditor working on the jquery-textcomplete one - not the new repo.
@sathoro Did you make any progress?


Do you plan to support kramdown attributes?

http://kramdown.gettalong.org/syntax.html#inline-attribute-lists
example:
A simple paragraph with an ID attribute.
{: #para-one}

> A blockquote with a title
{:title="The blockquote title"}
{: #myid}

{:.ruby}
    Some code here

+1

@Nedudi @mattaylor This is definitely planned.
The next release modularizes kramed's code making it easier to add kramdown support and for people to contribute.
So after this release, I'll start working kramdown support :)

:+1:


User should be able to export wallet sync data

Apps should implement export of sync data so that it can be imported by other apps.


Align Helm/Ansible plugins with the changes made for Golang ( go/v3 )

Describe the problem you need a feature to resolve.
Currently, Helm/Ansible plugins have been scaffolding the files common files ( config, makefile ) which are not aligned with the latest changes for Golang go/v3.
The main bad side effects regarding Helm/Ansible starts to deviate from Golang are:

The common docs start not to work for all and no longer be common
Starts to be harder to know what is expected and troubleshooting the issues raised as to help the users
Starts to be more challenging to keep the projects maintained and compatible with KB and SDK common features across the board.
Starts to be hard for users and maintainers use and collab with them since each type will have a specific behaviour and workflow and they are no longer homogeneous in the project.
Starts to be more challenging to learn how to work with the tool and switch between the available types to attend to specific needs. ( for example, a user might see that is better to address a requirement with helm or ansible and another with Golang. Then, they would expect a similar/closer behaviour and steps to do the configuration with changes and caveats which are only specific to type/language. Also,  for example, to run locally the project and to use the CLI features they would expect to have the same flags for all that is common between them.  )
The complexity to do this sync/update has been increasing exponentially. I mean, how long more we wait to do that more changes will be addressed to golang and harder and challenging will be this process.

Describe the solution you'd like.

Align/update Helm/Ansible common configuration files with Golang
By checking the changes made shows not required to create a new plugin version for helm/ansible. The changes can be addressed in the v1 version and without breaking changes.
Note that one of the changes made in Golang is: The manager flags --metrics-addr and enable-leader-election now are named --metrics-bind-address and --leader-elect to be more aligned with core Kubernetes Components. More info: #1839. So, it is required to deprecated the old flags for Ansible/Helm and add the new ones and use them by default in the scaffold. It requires changes in the internal code for Ansible/Helm and scaffolds.

Other significant changes to be addressed are:

A new option to create the projects using ComponentConfig is introduced. For more info see its enhancement proposal and the Component config tutorial
Makefile Help for Ansible/Helm and its refractories ( see  that  it was refactored for golang and we might have changes  to apply for them as well.)
Manager manifests now use SecurityContext to address security concerns.

Aditional Context
How to check the differences to do this sync/update?

diff internal/plugins/ansible/v1/scaffolds/internal/templates/config with https://github.com/kubernetes-sigs/kubebuilder/tree/master/pkg/plugins/golang/v3/scaffolds/internal/templates/config (kb bumped version)
diff internal/plugins/helm/v1/scaffolds/internal/templates/config with https://github.com/kubernetes-sigs/kubebuilder/tree/master/pkg/plugins/golang/v3/scaffolds/internal/templates/config (kb bumped version)
diff helm/ansible Makefile with go/v3 Makefile

NOTE: See Plugins Ecosystem Next - Meta issue #2016. Note that the design proposed in Extract config/base plugin valid for any language/type from Golang #2015 can solve this current problem to keep the projects maintainable and aligned in the future.

@camilamacedo86 can you please make separate issues for these things you think need aligning between Go and Ansible/Helm? It's hard to address issues like this because they have so many components, making discussion disjointed. Please close this issue once done.
/triage support

Hi @estroz,

@camilamacedo86 can you please make separate issues for these things you think need aligning between Go and Ansible/Helm?

The issue/task is : Ensure that ansible/v1 and helm/v1 is aligned with go/v3 as described. I raised a few points that I know that they are not. However, I understand that is part of this issue/task do the diffs and identify all diffs as well. So. I am not sure how to split it. Is it make sense?
Then, note that the fact of tt be a hard job as its complexity only grows is one of the reasons in pov of view which makes it be required to get done as soon as possible as well.

The issue/task is : To ensure that ansible/v1 and helm/v1 is aligned with go/v3 as described

This isn't actionable or triage-able since there is no fix for this, and the requirements are ever-changing as each of the Go, Ansible, and Helm plugins adopts changes/fixes/features.

I am not sure how to split it

Take each one of the bullet points above in "Describe the solution you'd like" and make an issue if one doesn't exist already. Be sure to list the changes you're talking about so whoever works on the issue knows what to do. If you don't have a concrete example of what needs changing in Ansible/Helm plugins to align with existing changes in the Go plugin, then I don't see a reason to have an issue in the first place.

HI @estroz,
See that in the first comment you will find a list of The main bad side effects regarding Helm/Ansible starts to deviate from Golang are: where I try described all reasons and motivations why it is required. And that the task here is:

Diff the plugins and check what are differences
Very changes that were done for go that required to be applied for Ansible/Helm
Then, do the required updates.

I assigned that to me too do this first steps at least.

As part of this task we have tracked now:

[ ] - Ansible/Helm add help to the Makefile #4628
[ ] - Ansible/Helm providing the same flags as Go #4627
[ ] -


Add ServerWorld#saveAndFlush() method

SpongeAPI |  Sponge
Add separate method for saving world with forced flushing.
Required to avoid memory leaks during intensive modification of a huge number of chunks.
By analogy with the /save-all [flush] command, you can perform both simple save and save with flush here and now.

Need a lot more docs on this method to explain exactly what it will do and exactly what implementations are expected to honor.
Further, I'd prefer just a single save method that is given a SaveMode (name not final) (which could be an enum, similar to SerializationBehavior). The current save method can be deprecated and default implemented to call the new version with a value that is just save.


Release changelogs are broken

Changelogs for v2.2.1-RC1 and v2.2.0 are broken. The tags should be in reverse order.

My bad. Thank you for the quick issue.


Toggle for Bot Following Along

In the new settings GUI, have a toggle for if the Bot should tag along with you joining other channels. As of right now, the bot account only joins the main user's chat, and stays.
Off by default, but could be helpful for smaller streamers if they want some text commands in other people's chats.

Update to this, the bot is going to follow along no matter what, but this toggle is going to only affect it talking as if it were in the main user's chat.

Have you thought about having a setting where only the owner can issue botnak commands when in other people’s chats (in case the other streamer doesn’t want their chat spammed from your bot)?
From: Nick K<EMAIL_ADDRESS>Sent: Wednesday, June 10, 2015 1:44 PM
To: Gocnak/Botnak
Subject: Re: [Botnak] Toggle for Bot Following Along (#76)
Update to this, the bot is going to follow along no matter what, but this toggle is going to only affect it talking as if it were in the main user's chat.
—
Reply to this email directly or view it on GitHub https://github.com/Gocnak/Botnak/issues/76#issuecomment-110873804 .  https://github.com/notifications/beacon/ALo_gMy0tLwiHHDXb7J3nunJr9Cl8dd2ks5oSHz4gaJpZM4EI4nK.gif

Oh that can work, I can make it a REPLY_TYPE or something where the bot doesn't respond at all, responds to just the Botnak user, or responds to everyone.

Footnote: This only changes how Botnak replies to text commands and links pasted in chat. If you want to edit Botnak, do so in your own stream's chat. Furthermore, sounds have no reason to play from somebody else's chat.
I can always change these if need be, but for now, I have allowed text commands and link parsing requests to be the only response in others' chats.


Added fullscreen and distraction free modes

Added fullscreen and distraction free modes.
Shift+F11 to enter fullscreen mode.
Ctrl+Shift+F11 to enter distraction free mode
Distraction free mode hide everything apart from the 2D, 3D  and Script panel.
Full Screen mode hides the side panels and the bottom panel (output, debug, animation bar).

Sneak peaks:

It's just awesome :D


MNT: Re-rendered with conda-build 3.17.8, conda-smithy 3.3.2, and conda-forge-pinning 2019.03.17; bumped build to 1001

MNT: Re-rendered with conda-build 3.17.8, conda-smithy 3.3.2, and conda-forge-pinning 2019.03.17; bumped build to 1001

Checklist

[X] Used a fork of the feedstock to propose changes
[X] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[X] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[X] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


[wsl2] localhost/<IP_ADDRESS> doesn't see local services

Environment
Win32NT             10.0.19041.0 Microsoft Windows NT 10.0.19041.0
Microsoft Windows [Version 10.0.19041.329]

Release:        20.04

Linux version 4.19.104-microsoft-standard (oe-user@oe-host) (gcc version 8.2.0 (GCC)) #1 SMP Wed Feb 19 06:37:35 UTC 2020

Steps to reproduce

Install smbclient.
Ensure Windows File Sharing Server is set up with at least one share to test.
Try to connect to localhost (<IP_ADDRESS>) using smbclient, with proper username and password.
Notice that the Window File Sharing Server is not reachable at all via localhost in WSL 2.

Expected behavior
localhost/<IP_ADDRESS> (and related loopback addresses) in WSL 2 should see whatever the Windows system sees, like locally running servers, in this case, the Windows File Sharing Server (Port 445 (also called "samba")).
Actual behavior
localhost/<IP_ADDRESS> (and related loopback addresses) in WSL 2 don't see the services that run locally on the Windows system, in this case, the Windows File Sharing Server (port 445).
An exotic but nonetheless valid example:
Remote forward the local Windows File Sharing Server through SSH so the SSH server can connect to it on its localhost. This allows to easily mount some local files on a remote server (e.g. for development purposes).
The upside in WSL 2 is that I can now indeed run a samba server and let it share the local files!

/dupe #4619


Install ST-Link drivers solution is broken

This section proposes either installing drivers from the maker, which requires a totally unnecessary email registration, or downloading directly from a sharepoint site that is private.
Please provide an alternative

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 0cf9b53c-0438-f23c-fd2e-d57481d57e85
Version Independent ID: f01afd66-d093-ac44-2b20-df225530b39e
Content: IoT DevKit to cloud -- Connect IoT DevKit AZ3166 to Azure IoT Hub
Content Source: articles/iot-hub/iot-hub-arduino-iot-devkit-az3166-get-started.md
Service: iot-hub
GitHub Login: @wesmc7777
Microsoft Alias: wesmc

@flaxed Thanks for your valuable feedback! I have assigned the issue to the content author to evaluate and update as appropriate.

@flaxed, you can now download from a direct link on the doc which is a way we try to mitigate the email registration process.

#reassign JimacoMS3

The direct link appears to be working. Closing this issue. @flaxed Thanks, again, for your feedback. If you still experience problems, you can open a new GitHub issue and link this one.

#please-close


Recreated service shall connect new with existing ports

Brief feature description
When a service object (PortFactory) goes out of scope, the service can no longer be found, but all existing ports are able to continue communication. When now at the same service is created again, it fails since old ports and the dynamic service info is still existing.
Two approaches are possible.

Remove the dynamic service info and create new ports that no longer are connected to the old existing ports - may surprise the user.
Verify that the dynamic service info belongs to a former service with the identical configuration, and reuse it again. Would allow the newly created service to create ports that can communicate with the existing ones.

Detailed information
To verify that the service has the identical static service configuration, we need to hash the object and compare the hashes. If they are equal, the dynamic service info can be reused.
This also means that the hash must be stored in the dynamic service info.

Philosophical question, when is a service the same. Let's assume there is a semantic update and the f64 does now mean m/s instead of km/s or the distance is now in m instead of km. It's an edge case and might be solved by adding semantic context to the data types.

@elBoberido A service is the same when the hash of the static service information is equal. This is the case when the message type is equal. When now a service has the same message type does interpret the data differently, you have a problem.
But somehow it feels that this problem is not just restricted to recreating services, but also when a publisher or subscriber in the middle misinterpret the data - like the Mars Climate Orbiter. This is for me a bug in the code that can be fixed by using strong types.


Use the engine's TextOverflow API to implement ellipsizing

Fixes https://github.com/flutter/flutter/issues/4478

@abarth

in general i'd like to now see ui.OverflowEffect anywhere in the framework code.

TextOverflow is provided by the framework and includes overflow effects that are rendered on the framework side (i.e. fade).
ui.TextOverflow only covers overflow policies that are implemented within the engine

Is ui.TextOverflow only used at the lowest levels, like ui.TextStyle? It looks like you have some classes in the framework that take ui.TextOverflow.

I think the best way to resolve this really is to have the engine take a string instead of this enum. That would remove any API conflict.

(the framework would then just pass in the ellipsis character as the string value when its enum is set to the ellipsis value.)

ui.TextOverflow is used by low-level text painting APIs that talk to the engine API (TextPainter and TextStyle/ParagraphStyle)
TextOverflow is used by widgets and render objects (RichText and RenderParagraph)

TextPainter is not a low-level API. It's the API you use when you paint on a canvas from user code. It shouldn't use any non-reexported dart:ui types in its API.

Updated for the new engine API.
PTAL


why i am getting openai.error.InvalidRequestError: This model's maximum context length is 4097 tokens.However, your messages resulted in 16762 tokens.

hello i am getting this error any idea to fix this :
2023-05-02 16:58:57.051 label got an empty value. This is discouraged for accessibility reasons and may be disallowed in the future by raising an exception. Please provide a non-empty label and hide it with label_visibility if needed. 2023-05-02 16:59:06.633 Uncaught app exception Traceback (most recent call last):   File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/streamlit/runtime/scriptrunner/script_runner.py", line 565, in _run_script     exec(code, module.__dict__)   File "/Users/xfocus/Downloads/chatRepo/Chat-with-Github-Repo/chat.py", line 104, in <module>     output = search_db(user_input)   File "/Users/xfocus/Downloads/chatRepo/Chat-with-Github-Repo/chat.py", line 85, in search_db     result = qa({"query": query})   File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/langchain/chains/base.py", line 116, in __call__     raise e   File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/langchain/chains/base.py", line 113, in __call__     outputs = self._call(inputs)   File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/langchain/chains/retrieval_qa/base.py", line 110, in _call     answer = self.combine_documents_chain.run(   File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/langchain/chains/base.py", line 216, in run     return self(kwargs)[self.output_keys[0]]   File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/langchain/chains/base.py", line 116, in __call__     raise e   File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/langchain/chains/base.py", line 113, in __call__     outputs = self._call(inputs)   File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/langchain/chains/combine_documents/base.py", line 75, in _call     output, extra_return_dict = self.combine_docs(docs, **other_keys)   File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/langchain/chains/combine_documents/stuff.py", line 82, in combine_docs     return self.llm_chain.predict(**inputs), {}   File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/langchain/chains/llm.py", line 151, in predict     return self(kwargs)[self.output_key]   File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/langchain/chains/base.py", line 116, in __call__     raise e   File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/langchain/chains/base.py", line 113, in __call__     outputs = self._call(inputs)   File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/langchain/chains/llm.py", line 57, in _call     return self.apply([inputs])[0]   File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/langchain/chains/llm.py", line 118, in apply     response = self.generate(input_list)   File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/langchain/chains/llm.py", line 62, in generate     return self.llm.generate_prompt(prompts, stop)   File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/langchain/chat_models/base.py", line 82, in generate_prompt     raise e   File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/langchain/chat_models/base.py", line 79, in generate_prompt     output = self.generate(prompt_messages, stop=stop)   File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/langchain/chat_models/base.py", line 54, in generate     results = [self._generate(m, stop=stop) for m in messages]   File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/langchain/chat_models/base.py", line 54, in <listcomp>     results = [self._generate(m, stop=stop) for m in messages]   File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/langchain/chat_models/openai.py", line 266, in _generate     response = self.completion_with_retry(messages=message_dicts, **params)   File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/langchain/chat_models/openai.py", line 228, in completion_with_retry     return _completion_with_retry(**kwargs)   File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/tenacity/__init__.py", line 289, in wrapped_f     return self(f, *args, **kw)   File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/tenacity/__init__.py", line 379, in __call__     do = self.iter(retry_state=retry_state)   File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/tenacity/__init__.py", line 314, in iter     return fut.result()   File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/concurrent/futures/_base.py", line 451, in result     return self.__get_result()   File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/concurrent/futures/_base.py", line 403, in __get_result     raise self._exception   File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/tenacity/__init__.py", line 382, in __call__     result = fn(*args, **kwargs)   File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/langchain/chat_models/openai.py", line 226, in _completion_with_retry     return self.client.create(**kwargs)   File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/openai/api_resources/chat_completion.py", line 25, in create     return super().create(*args, **kwargs)   File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/openai/api_resources/abstract/engine_api_resource.py", line 153, in create     response, _, api_key = requestor.request(   File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/openai/api_requestor.py", line 226, in request     resp, got_stream = self._interpret_response(result, stream)   File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/openai/api_requestor.py", line 619, in _interpret_response     self._interpret_response_line(   File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/openai/api_requestor.py", line 682, in _interpret_response_line     raise self.handle_error_response( openai.error.InvalidRequestError: This model's maximum context length is 4097 tokens. However, your messages resulted in 16762 tokens. Please reduce the length of the messages.

Also have this issue and haven’t discovered a fox yet.

I didn’t experience the issue when using the initial commit on the repo, so it seems like a flaw that’s been introduced unintentionally

I think you're encountering a common issue that isn't a flaw exactly.  The current chunking approach in this repo splits Text into 1000 characters with 0 overlap by splitting text based on newline characters.  If text doesn't have a newline, e.g. a large machine json, image, or text file, the TextSplitting doesn't occur.  This then means that the entire doc is sent to OpenAI in one big chunk.  Once embedded into tokens, it exceeds the token limit of the API; hence the response you see.  See https://github.com/peterw/Chat-with-Github-Repo/blob/main/src/utils/process.py Line 68.  You can pass in other splitting characters as an array, e.g. CharacterTextSplitter(separators=["\n\n", "\n", "."], chunk_size=1000, chunk_overlap=0)
You can also switch to a different splitter type - See https://python.langchain.com/en/latest/modules/indexes/text_splitters.html


update readme for search documents to include BOM information

/cc: @srnagar , @alzimmermsft review please.


Fix ceph package conflicts on controller and compute nodes.

We have several topology for cloud deployments i.e converge controller, dedicated controller, with/without ceph. Currently, when ceph is enabled, ceph repo get's configured on controller and compute and ceph pkgs are installed to get ceph client, rbd and rados. This get's installed from bbc ceph repo and thus we end up with librbd1 librados2 version as 10.2.3~bbc1.
On compute nodes, nova-data installs libvirt-bin which bring in rados and other dependencies and this is installed from cloud archive repo which is versioned as 10.2.3-0ubuntu<IP_ADDRESS>~cloud0.
This same version pkgs with name differences hosted by 2 repos is causing conflicts.
In this PR, we are ensuring that

no bbc ceph repo configured on controller and compute
install librbd, librados, ceph-common from cloud archive repo
ensure only absolutely needed ceph related tasks are run on controller and compute nodes
clean up ceph repos from controller and compute in preflight for upgrade flows

@craigtracey @paulczar @scoop206 @knandya @chengtcli please help review this.

LGTM other than the comment related to repo name with mitaka

I will be closing this PR and create on on RELEASE-3.1.x. Will address ceph version comment in there.


Add 'recompile' badge by builds-groups pages

Add a 'recompile' badge by the builds-groups pages to make clear it's a recompiled build

https://buildfeed.net/group/10.0.10029.0/
fbl_ie_stage_app1

I'm thinking next to the private/public badge?
Just trying to think about the best way to do this. Thinking that maybe tag up a Model in between fetching it from a DB and applying it to a view, so that all identical build/revision/labs get a recompile badge except for the first one.

Yeah, that would be the best place for it

The view might be nicer to be implemented as a small figure next to the item than a text, with a flag to be shown: if (isRecompile) figure.Visible = true;


Creating Netflix Like Nested Collection View

So I have used IGListKit before to create a comment section in my app and though it took some time it ultimately worked very well.
I was contemplating utilizing the same collection view to create a Netflix like collectionView that  is vertically scrollable as well as horizontally scrollable across each row.
I saw some post about utilizing nested adapters. I noticed there seemed to some errors when it came to the number of items which left my sort of skeptical.
My app is working with events like workout classes and 5k runs that occur in the area. Each event has a model like so
class Event:NSObject{
    var key: String?
    let currentEventName: String
    let currentEventImage: String
    let currentEventPromo: String?
    let currentEventDescription: String
    //nested properties
    let currentEventStreetAddress: String
    let currentEventCity: String
    let currentEventState: String
    let currentEventDate: String?
    let currentEventEndDate: String?
    let currentEventTime: String?
    let currentEventEndTime: String?
    let eventPrice: String
    let endTime: Date
    let endTimeInSeconds: TimeInterval?
    let startTime: Date
    let startTimeInSeconds: TimeInterval?

    let currentEventZip: Int
    var category: String
    //nested properties stop
    var currentAttendCount: Int
    var isAttending = false
    var eventTags: [String]?
    var userHost: [String]?
    var orgHost: [String]?

    var eventDictionary: [String: Any]{
        let dateDict = ["start:date":currentEventDate, "start:time": currentEventTime,"end:time":currentEventEndTime, "end:date": currentEventEndDate]
        let timeDict = ["end":endTime, "start": startTime]

        return ["event:name":currentEventName,"event:imageURL" : currentEventImage,
                "event:description": currentEventDescription, "attend:count": currentAttendCount,
                "event:street:address": currentEventStreetAddress,"event:zip": currentEventZip,"event:price":eventPrice,
                "event:state": currentEventState, "event:city": currentEventCity, "event:promo": currentEventPromo ?? "", "event:date": dateDict, "event:category":category,"event:datetime": timeDict]
    }

    //init for event submission
    init?(eventKey:String, currentEventName:String, currentEventImage:String,currentEventPromo:String,currentEventDescription:String,currentEventStreetAddress:String,currentEventCity:String,currentEventState: String,currentEventDate: String,currentEventEndDate: String,currentEventTime: String, currentEventEndTime: String,eventPrice: String,endTimeInSeconds: TimeInterval,startTimeInSeconds: TimeInterval,currentEventZip: Int,category: String,currentAttendCount: Int,eventTags: [String]?,userHost: [String]?) {

        self.key = eventKey
        self.currentEventName = currentEventName
        self.currentEventImage = currentEventImage
        self.currentEventPromo = currentEventPromo
        self.currentEventDescription = currentEventDescription
        self.currentEventStreetAddress = currentEventStreetAddress
        self.currentEventCity = currentEventCity
        self.currentEventState = currentEventState
        self.currentEventZip = currentEventZip
        self.currentEventDate = currentEventDate
        self.currentEventEndDate = currentEventEndDate
        self.currentEventTime = currentEventTime
        self.currentEventEndTime = currentEventEndTime
        self.startTimeInSeconds = startTimeInSeconds
        self.endTimeInSeconds = endTimeInSeconds
        self.eventPrice = eventPrice
        self.category = category
        self.currentAttendCount = currentAttendCount
        self.eventTags = eventTags
        self.userHost = userHost
        self.endTime = Date()
        self.startTime = Date()

    }

}

extension Event {
    static public func ==(rhs: Event, lhs: Event) ->Bool{
        return rhs.key == lhs.key
    }
}

extension Event: ListDiffable{
    public func diffIdentifier() -> NSObjectProtocol {
        return key! as NSObjectProtocol
    }
    public func isEqual(toDiffableObject object: ListDiffable?) ->Bool{
        guard let object = object as? Event else {
            return false
        }
        return  self.key==object.key
    }
}

However each event can either be featured or not featured. Regardless of whether it is featured or not it goes under a collection based off of its category (City, Nightlife, Sporting Events, Concert, etc). Regular events are further broken up into smaller subcategories for better organization (Concert -> hip hop, rock and roll, jazz, etc).  I use a dictionary of arrays to easily categorize them and pass them to the screen based first off of the main category (City, Nightlife, Sporting Events, Concert, etc) and then sub categories which may fall under those bigger categories (Concert -> hip hop, rock and roll, jazz, etc). Each of these events are displayed using a collectionView with cells that have collection views in them so that they are horizontally scrolling.
I am facing somewhat of an issue on proper implementation of the same UI approach using IGListKit.
For example
   // 1 objects(for:) returns an array of data objects that should show up in the collection view.
    func objects(for listAdapter: ListAdapter) -> [ListDiffable] {
        <#code#>
    }

This code takes an array of objects that show up in the collection view which typically isn't difficult. The way I was passing the events to there respective nested collection Views before was based off of the section. The top section got the featured events and the bottom section received all the regular events.  I also used two arrays, What would be an easier way to place all the events in one single List Diffable array to be used here? Im thinking enums but im not really sure.
My second bout of confusion is here
func listAdapter(_ listAdapter: ListAdapter, sectionControllerFor object: Any) -> ListSectionController {
    return ListSectionController()
}

Typically a section controller seems to be some sort of a wrapper for a CollectionViewCell that handles all the underlying methods (numberOfItems, didSelectItemAt, sizeForItemAt, etc). From what I can remember this creates a section controller for each item in the object list. Would I create a section controller for featuredEvents and a section controller for regular events. I want featured events to have one section because the featured events will be one row at the top that contains all the featured events for a specific category and the regular events may contain more than one section depending on the number of sub categories there are (Concert -> hip hop, rock and roll, etc)
@rnystrom @weyert

@weyert @bdotdub @weyert @zpao @levi

It's a little tough to unpack some of this because there's a lot here but I'll give you an idea of how we usually approach setups like this, with nested collections.
As you said, typically one section controller is typically meant to represent a single "object". Worth mentioning that a single object does not necessarily mean a single cell (A single section controller/section can have multiple cells, that might represent different pieces of the same object, to be displayed together).
I would design a system like this with nested UICollectionViews (with their own list adapters and IGListKit setups).
The top level collection view represents your top level vertically scrolling list. I would create a discrete object for each section which would have an array of the items for that section and then any additional metadata (such as a title, subtitle, whether it's "featured", etc).
The data source for that collection view would then create a section controller which would represent each horizontally scrolling list. One of the cells in those section controllers would contain another collection view, where each section controller would represent your lowest level item (the actual individual events).
Basically, it would help to create a clear abstraction at each level which would clearly separate responsibilities and let you customize everything as needed. Intermediate models to represent the top level sections will also make things easier.


Errors in importation of data from DAI

Dear Mark,
There is are a few issues in the importation of several coin finds from DAI:

Several coins, which have their minting location described as "Münzstätte nicht bekannt" have received the mint attribution "Unknown (Germany)" in the FLAME database. These are almost always Roman coins, which means they should receive instead the appellation "Unknown (Roman)"
Several coins, which have received the denomination "follis", do not actually belong to this denomination. They will be changed by hand, but to prevent the existence of "dead" denominations upon their subsequent reentry into FLAME, I propose the following standard. This is only for coins that are labelled as "follis" in DAI and no other coins:

for coins from 325-337, use FLAME's denomination "aes/follis"
for coins from 337-348, use FLAME's denomination "AE3"
for coins from 348-355, use FLAME's denomination "uncertain (bronze)"
for coins from 355-361, use FLAME's denomination "AE3"
for coins from 361-498 (only 1 coin group so far), use FLAME's denomination "uncertain (bronze)"
for coins from 498-750, use FLAME's denomination "40 nummi (follis)"
For any coins that go beyond the confines of a single period (e.g. "325-350", use "uncertain (bronze)"

There are several examples of coin finds that demonstrate an incomplete extraction of the data from DAI. Let us give the example of "Bad Sulza", http://afe.dainst.org/findspot?afeid=2399. There are 7 relevant coins for our period of interest within this coin find, but only 5 have been input into FLAME: http://csla100w.princeton.edu:83/CoinGroups/Preview?cfID=17170.
Here is a list of all of the finds that exhibit one or more of the aforementioned issues for vetting (although it is not an exhaustive list, since problem 2) was decisive in determining the composition in the list, arranged by their FLAME ID number and name:
17143 | Quedlinburg II
17144 | Berlin-Friedrichshagen
17148 | Lübtheen II
17148 | Lübtheen II
17149 | "Mecklenburg"
17154 | Holscha (suspekt)
17155 | Radeberg (suspekt)
17156 | Nauleis
17158 | Zittau I
17159 | Zittau II
17160 | Striesen (Hortfund?)
17160 | Striesen (Hortfund?)
17160 | Striesen (Hortfund?)
17160 | Striesen (Hortfund?)
17160 | Striesen (Hortfund?)
17160 | Striesen (Hortfund?)
17160 | Striesen (Hortfund?)
17161 | Zwenkau IV
17163 | Leipzig-Knauthain
17164 | Niebüll (Schatzfund)
17164 | Niebüll (Schatzfund)
17165 | Fehmarn II (Schatzfund?)
17170 | Bad Sulza
17170 | Bad Sulza
17170 | Bad Sulza
17170 | Bad Sulza
17172 | Reisdorf
17173 | Arnstadt (Fundgattung unsicher)
17173 | Arnstadt (Fundgattung unsicher)
17173 | Arnstadt (Fundgattung unsicher)
17173 | Arnstadt (Fundgattung unsicher)
17174 | Luckenwalde II (Kollektivfund?)
17175 | Gorsleben
17178 | Oberheldrungen
17179 | Vieselbach
17181 | Mühlberg (Fp. 14)
17182 | Seebergen
17183 | Sonneborn
17183 | Sonneborn
17184 | Wandersleben
17185 | Neunheilingen
17186 | Grossengottern
17191 | Sömmerda
17192 | Kleinschwabhausen
17195 | Erfurt-Bischleben (Hortfund)
17199 | Lützeroda
17200 | Maua
17202 | Jena
17203 | Milz
17206 | Babke 3
17206 | Babke 3
17209 | Lercha (Siedlung)
17210 | Kitzen
17217 | Plau Fpl. 125
17219 | Fehmarn III (Schatzfund?)
17219 | Fehmarn III (Schatzfund?)
17219 | Fehmarn III (Schatzfund?)

We can talk in tomorrow's meeting, but I want to comment here before so it is on the record. On #1, there is no problem, this is a pretty simple code change, which I will implement.
On #2, we need different date ranges. As is "325-337" and "337-348" (and all subsequent examples) is ambiguous. What are we to do, for example, with coins minted in 337? Are they in group 1 or 2? Anyway, the solution is to rewrite these with no overlap. Group 1 either ends in 336 or 337, and Group 2 either begins in 337 or 338. Whichever solution is implemented (forward or backward biased) it should be implemented uniformly.
On #3, this is probably a dictionary problem, as we discussed in the last meeting. We need to add dictionary items for conversion into our schema. I think that Antoninianus and Centenionalus need to be given an equivalent, I need to code this in, and then we need to discover what other denominations lack a translation key.

I was wrong about the Antoninianus, we have that. What we lack is the Centenionalus.
For reference, here is our working dictionary:
denomination_conversion = {
'Denarius':'denarius', 'Semis':'semissis',
'Aureus':'aureus', 'AE':'uncertain (bronze)', 'Antoninianus':'radiate or nummus (UK find)',
'Follis':'follis','AE2':'AE2 (5.15g)', 'Drachme':'drachm', 'AV':'AV', 'Maiorina':'follis',
'AE3':'AE3 (2.58g)', 'Solidus':'solidus', 'Silber':'uncertain (silver)', 'Siliqua':'siliqua',
'AE4':'AE4 (1.23g)', 'Tremissis':'tremissis', '10 Num' : '10 nummi', '2 Solidi' : '2 solidi',
'Siliqua (reduziert)' : 'reduced siliqua', 'Miliarensis' : 'miliarensis'
}


We leak file descriptors

Something seems to be leaving them open, eventually causing the process to run out of handles to use.

See https://github.com/turt2live/matrix-media-repo/issues/186#issuecomment-527236872

I'm encountering this when running the import process to backfill the media repo with my synapse media repo.


Add docs on how to configure inflector

add reference somewhere to https://guides.emberjs.com/release/models/customizing-adapters/#toc_pluralization-customization

9fb587e93b8b646a946a786bdd65b390bf66a3e0 closes


NI-9049, local chassis modules not detected in some scenarios.

Describe the bug
When dealing with some configurations (HW and SW), some modules (local chassis modules in my case) are not detected correctly by the Auto-detect features of the SEEC CD. I did the latest test with SEEC CD 4.4.2 with NI-VS 2018. I needed it because of Issue #12.
HW configuration used:

NI-9049 or NI-9040 and following C-Series modules in local chassis: NI-9263, NI-9225 and NI-9265
NI-9145 EtherCAT chassis: NI-9239, NI-9263, NI-9274

When auto-detect doesn't work, deploy one time, undeploy and redo an auto-deploy and it works.
Symptoms are really similar to what is described in closed CAR  #173866 (fixed).
To Reproduce
Steps to reproduce the behavior:

Create a new Sysdef and add cRIO-904x chassis and configure it in FPGA mode.
Add SEEC CD, perform an auto-detect, if not already, local chassis slots should be changed (if applicable) to FPGA (check in MAX, sometimes a click on slot is required): EtherCAT chassis and its modules are detected correctly. It's expected behavior.
Deploy
Undeploy
Reopen Sysdef, change Target mode to Scan mode.
Under SEEC CD, peform an auto-detect, local chassis slots should be changed automatically to Scan Mode (check in MAX, sometimes a click on slot is required): EtherCAT chassis and its modules are detected correctly but not the modules from local chassis. I checked with debug code and variables are created correctly but there is a 65704 error happening in sub-VI "Host - Get Local and ECAT Masters.vi".
Deploy Sysdef
Undeploy Sysdef
Do a new Auto-Detect and, now, local chassis modules are also listed.

Expected behavior
Modules from local chassis should be detected.
Screenshots
Capture of where the error happens in the code, with my setup

Desktop (please complete the following information):

Windows 10
LabVIEW 2018
CompactRIO 18.0

Additional context
I had another customer using LabVIEW-RT with same problem on a different cRIO. This customer had stolen some code from SEEC CD source to implement dynamic detection of configuration. In his case, missing modules were in some EtherCAT remote chassis but same error (65704 was happening). I could never reproduced it.

Extra information. To reproduce the issue, the NI-9145 is not required. I redid the test without EhterCAT chassis. In main local chassis, here are the modules configuration and SW versions in the NI-9049 chassis.

Below is a potential Workaround while the bug is fixed. The idea is to detect the 65704 error occurrence and if it happens, let the user know (via a dialogue) that he needs to deploy a first time and perform another auto-detect to complete the configuration detection. Really not ideal but, at least, he will bring user some guidance.

NOTE: I tried to flatten to string the RSI URL and then add it to the Array "All Local Mods" of URL for Local Modules. But, then, in following VI: "Host - Get Module Data.vi", same error 65705 happens again.
This behavior really looks like the closed CAR: #173866.

@VincentRuault From your screenshot, obviously the items exist in Children[]. However, it's most likely that since they're not deployed, they aren't of one of the three types this VI is checking for. Can you drop a property node for each child and get the Class Identifier? That may tell us why the modules aren't being detected. You might then be able to add that class to do something to add that class to your list of modules.

Hi @buckd ,
Thank-you for your answer. Please check the capture below. I think I tried what you described but call to property ClassIdentifier? returns same 65704 error. Can you confirm it's what you were asking?
Can you have a look at probes 2 and 3 in capture?

I think I tried what you described but call to property ClassIdentifier? returns same 65704 error. Can you confirm it's what you were asking?

That's what I was wanting to see, but I was hoping for something besides that error. It looks like the module names are the defaults, so they should be able to resolve the URL. I agree this looks very similar to the CAR you mentioned, which is a driver CAR and not something we can fix in the custom device.
I would suggest talking to the driver team and to see if they can look into why this is happening and if there is anything we can do to resolve this in the custom device. We will keep this issue open, but we likely won't pull in any workarounds without having a more complete understanding of the underlying issue.  We will also soon be looking at all the GitHub issues and prioritizing them with our other work, so we will look at this, but I can't promise when. If the driver team has an understanding and recommendation, we are much more likely to follow their guidance.

Thank-you.
Which driver is-it? Is-it NI-RIO?

Hi,
@buckd and @rtzoeller , CAR #729217 has been updated by NI-SH team.
Can you have a look at it and let me know what you think and what we can do?
About rationales:

I understand we are de-investing in RSI but, if the case, what is the replacement? Could that replacement be used for SEEC CD instead, if it makes sense?

I'm not sure the #4 can be seen as a workaround. We should put ourselves in customer's shoes, in terms of user-experience, with SEEC CD: how many dialogues, are-we going to show in the end?

Regards
Vincent

Addressed in Pull Request #38


Cannot build next with firebase when serverless mode selected in next.config.js

Bug report
Cannot build next with firebase when serverless mode selected in next.config.js
Describe the bug
While building we get this error if we try to use firebase and serverless mode is turned on.
Error: package.json does not exist at /package.json
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior, please provide code snippets or a repository:

Install firebase in your project
Set mode:'serverless' in next.config.js
Do 'import * as firebase from "firebase/app"' and 'import firebase/firestore' in any page
do next build
Result: Error: package.json does not exist at /package.json

Expected behavior
I'm expecting this to build. And since Zeit Now 2.0 only allows serverless next deployment this error makes it impossible to use now2.0
System information

OS: [Windows]
Version of Next.js: [8.1.0]

I guess I had the same error, what version of firebase-tools do you have? I try to updgrade to 6.10.0 and it gave me that error, check if downgrading to 6.8.0 will still give you that error.

I used 6.10.

Hey! We'll have official support for Firebase soon, most likely by the end of next week -- just keeping you updated.

Guys, are there any updates on this issue?

Any updates for Firebase hosting guys ?

This issue has been automatically locked due to no recent activity. If you are running into a similar issue, please create a new issue with the steps to reproduce. Thank you.


Update dependency org.apache.portals.pluto:pluto-taglib to v3

This PR contains the following updates:

Package
Update
Change

org.apache.portals.pluto:pluto-taglib
major
2.1.0-M3 -> 3.1.0

Renovate configuration
📅 Schedule: At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is stale, or if you modify the PR title to begin with "rebase!".
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

Available now for Enterprise: Renovate Pro with real-time webhook handling and priority job queue.

Renovate Ignore Notification
As this PR has been closed unmerged, Renovate will ignore this upgrade and you will not receive PRs for any future 3.x releases. However, if you upgrade to 3.x manually then Renovate will then reenable updates for minor and patch updates automatically.
If this PR was closed by mistake or you changed your mind, you can simply rename this PR and you will soon get a fresh replacement PR opened.


English TTS in streaming of paddlespeech

I am running paddlespeech tts streaming server on my ubuntu 22.04
I can't convert english text to speech.
How to resolve this?

Whether you are using English supported model? Is there has anything wrong?


Fair-MOT Implementation

[x] Requirements
[x] Demo

Using two videos found on YouTube:

[ ] Video 1
[ ] Video 2


Limit python support to >=3.9,<3.12

Related to #373. Does not add 3.12 support.

Created a new project with torch and pandas installed. Then installed griptape from local and it resolved/installed fine.
pyproject.toml
[tool.poetry]
name = "griptape-playground"
version = "0.1.0"
description = ""
authors = ["Collin Dutter<EMAIL_ADDRESS>readme = "README.md"
packages = []

[tool.poetry.dependencies]
python = ">=3.9,<3.12"
torch = "^2.1.0"
pandas = "^2.1.1"
griptape = {path = "../griptape", develop = true}

[tool.poetry.group.dev.dependencies]
pylint = "^2.17.3"
black = "^23.3.0"

[tool.pylint."MESSAGES CONTROL"]
disable = [
    "missing-class-docstring",
]

[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"


Code for Examples

On the main page, there are several examples of what AsciiTable can do.  Please add the code necessary to create such a table.  It took me a while to figure out where the grids are created and how to set the grid into the table.

There is a link to the AsciiTable site on the main page as well, and on the site you find some documentation on how to add grids and how to create your own grid.
Grids with different frames: http://www.vandermeer.de/projects/skb/java/asciitable/examples/AT_06a_Grids.html
Different rule styles in a grid: http://www.vandermeer.de/projects/skb/java/asciitable/examples/AT_06b_GridRuleStyle.html
Grid themes for a table: http://www.vandermeer.de/projects/skb/java/asciitable/examples/AT_06c_GridThemes.html
Defining a new grid: http://www.vandermeer.de/projects/skb/java/asciitable/examples/AT_06d_NewGrid.html
Documentation needs to be improved, but basic functionality is explained there.
thanks
/sven

The same is available even in the repository. You can find the example htmls under src/site/asciidoc/examples. These adoc files internal have references to code in the test directory - like src/test/java/de/vandermeer/asciitable/examples/.


Cursor still blurry on XWayland when using xwayland force_zero_scaling = on

Hyprland Version
Hyprland, built from branch  at commit  dirty (). Tag: ?  flags: (if any) debug
Bug or Regression?
Bug
Description
Minor gripe with the xwayland force_zero_scaling option, but the cursor remains blurry/pixelated on xwayland applications regardless of the setting, as it gets scaled similarly to how an application is scaled with the setting off.
How to reproduce
Use a HiDPI display, set xwayland force_zero_scaling to on, and observe the blurry cursor on xwayland applications if using a scaling greater than 1.
Crash reports, logs, images, videos
No response

limitation of xwayland


Review & Update Mobile Figma UI Kit

Wed-Friday
[ ] Get to know color palette, variants, components
[ ] Checking correct Trimble palette colors - are there any # color codes not Trimble or disconnected Trimble colors?
[ ] Making sure they have brand colors w the name
[ ] Make a list, send to Sonia
[ ] Try out boolean variant for dark mode on 2-3 different components - work in branch
badges, chips, tabs

Completed in Sprint 50:

[ ] [ ] Get to know color palette, variants, components

[ ] [ ] Checking correct Trimble palette colors - are there any # color codes not Trimble or disconnected Trimble colors?
[ ] [ ] Making sure they have brand colors w the name
[ ] [ ] Make a list, send to Sonia
[ ] [ ] Try out boolean variant for dark mode on 2-3 different components - work in branch
Not feasible & not needed in the variants.
[ ] [ ] badges, chips, tabs


System.NullReferenceException: Object reference not set to an instance of an object.

warn: FluffySpoon.AspNet.LetsEncrypt.ILetsEncryptRenewalService[0]
Exception occured renewing certificates: 'Object reference not set to an instance of an object..'
System.NullReferenceException: Object reference not set to an instance of an object.
I just tried adding this to my project, I followed the instruction and looked at the sample but the error above shows up. Any idea what I did wrong?

Please also see https://github.com/ffMathy/FluffySpoon.AspNet.LetsEncrypt/issues/18 which was closed although it is NOT solved.

More debugging has been added in 1.0.128. Can you try that version?


docs: Create developer oriented guide for documentation.bloomreach.com

:tada: This issue has been resolved in version 0.4.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket: