[Bug] first ddl with multi-column changes function will not be executed

Search before asking

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

Version
master branch
<revision>1.5.0-SNAPSHOT</revision>
<flink.version>1.16.0</flink.version>
<flink.minor.version>1.16</flink.minor.version>
<flink.sql.cdc.version>2.4.1</flink.sql.cdc.version>

What's Wrong?
mysql-sync-database
-use-new-schema-change
when the program starts for the first time, firstSchemeChange==true will initialize the originFieldSchema Map, but the number of fields in updateFiledSchema is the same as that in originFieldSchema Map, no subsequent ddl changes will be made.  the main method follow
What You Expected?
expected it do correct at the first schema change after job start
How to Reproduce?
and Here are my execution steps：
1.
    add state_10 tinyint null comment '状态';

sync schema change failed :
INFO  org.apache.doris.flink.sink.writer.JsonDebeziumSchemaSerializer [Source: MySQL Source -> Process -> test3: Writer -> test3: Committer (1/10)#0]  - ddl can not do schema change: ***

alter table test3
    add state_11 tinyint null comment '状态'

sync schema change success :
INFO  org.apache.doris.flink.sink.writer.JsonDebeziumSchemaSerializer [Source: MySQL Source -> Process -> test3: Writer -> test3: Committer (1/10)#0]  - schema change status:true, ddl:ALTER TABLE test.test3 ADD COLUMN state_11 TINYINT
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

Hope to provide assistance

get. the reproduction steps follow:

mysql create table :

CREATE TABLE `test1` (
                         `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '自增主键',
                         `state` tinyint(4) DEFAULT NULL COMMENT '状态',
                         `is_finish` tinyint(4) DEFAULT NULL COMMENT '是否完成',
                         PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='测试表';

use the master branch run main method org.apache.doris.flink.tools.cdc.CdcTools with parameters :

mysql-sync-database
--database test
--use-new-schema-change
--mysql-conf hostname=***
--mysql-conf port=3306
--mysql-conf username=***
--mysql-conf password=***
--mysql-conf database-name=***
--mysql-conf server-time-zone=UTC
--including-tables "test1"
--sink-conf fenodes=<IP_ADDRESS>:8030
--sink-conf username=root
--sink-conf password=***
--sink-conf jdbc-url=jdbc:mysql://<IP_ADDRESS>:9030
--sink-conf sink.label-prefix=label
--table-conf replication_num=1

mysql execute first ddl

alter table test1
    add state_1 tinyint null comment '状态1',
    add state_2 tinyint null comment '状态2';

the doris won't execute this ddl.

mysql execute second ddl

alter table test1
    add state_3 tinyint null comment '状态3',
    add state_4 tinyint null comment '状态4';

this time doris will sync execute this ddl.

@icchux In this first schema change, in which scenario will the initialization field and the changed field be the same? Can you provide the corresponding table structure and detailed reproduction steps?

get. the reproduction steps follow:

mysql create table :

CREATE TABLE `test1` (
                         `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '自增主键',
                         `state` tinyint(4) DEFAULT NULL COMMENT '状态',
                         `is_finish` tinyint(4) DEFAULT NULL COMMENT '是否完成',
                         PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='测试表';

use the master branch run main method org.apache.doris.flink.tools.cdc.CdcTools with parameters :

mysql-sync-database
--database test
--use-new-schema-change
--mysql-conf hostname=***
--mysql-conf port=3306
--mysql-conf username=***
--mysql-conf password=***
--mysql-conf database-name=***
--mysql-conf server-time-zone=UTC
--including-tables "test1"
--sink-conf fenodes=<IP_ADDRESS>:8030
--sink-conf username=root
--sink-conf password=***
--sink-conf jdbc-url=jdbc:mysql://<IP_ADDRESS>:9030
--sink-conf sink.label-prefix=label
--table-conf replication_num=1

mysql execute first ddl

alter table test1
    add state_1 tinyint null comment '状态1',
    add state_2 tinyint null comment '状态2';

the doris won't execute this ddl.

mysql execute second ddl

alter table test1
    add state_3 tinyint null comment '状态3',
    add state_4 tinyint null comment '状态4';

this time doris will sync execute this ddl.

Hi, I followed the steps you mentioned exactly and did not reproduce the problem described above. @icchux

I guess the situation you described above is caused by the corresponding extractDDLList method being executed twice when you were debugging? But this will not happen in actual production.

I guess the situation you described above is caused by the corresponding extractDDLList method being executed twice when you were debugging? But this will not happen in actual production.

ok thanks , it looks well. maybe it's my own problem, I will try again to reposition the specific issue

Thank you for raising this issue.
I confirmed that this problem does exist here. This problem occurs when the data in the table is empty.


False-positive detecting of Microsoft Edge

It's happening because cmd.exe prints the command to stdout before it will be executed, so /SUCCESS/.test(stdout) is always true, because the command contains && echo SUCCESS || echo FAIL. See here.

Yeah, reproduced on my Windows 8.1 machine. I don't have Edge here, but it's detected


Mute flaky test testThreeNodesNoClusterManagerBlock

Description

Mutes testThreeNodesNoClusterManagerBlock  awaiting the fix
The test is noisy and has led to a ton of failures

Related Issues
Related: #10006
Check List

[ ] ~New functionality includes testing.~

[ ] ~All tests pass~

[ ] ~New functionality has been documented.~

[ ] ~New functionality has javadoc added~

[x] Failing checks are inspected and point to the corresponding known issue(s) (See: Troubleshooting Failing Builds)
[x] Commits are signed per the DCO using --signoff
[ ] ~Commit changes are listed out in CHANGELOG.md file (See: Changelog)~
[ ] ~Public documentation issue/PR created~

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

@kotwanikunal What do you think about muting versus adding it to the retry list? Neither option is good, but for a flaky test like this that is likely to pass on a retry it seems a little less severe than just muting it.


Ensure Activity.SetStartTime is always called with UTC times

SetStartTime in System.Diagnostics.DiagnosticSource.Activity should always be called with a DateTimeKind.Utc or it will produce an error
fixes #26763

I don't disagree with the change, but in the usage from the issue it looks like we are using Utc time - https://github.com/Azure/azure-sdk-for-net/blob/4162f6fa2445b2127468b9cfd080f01c9da88eba/sdk/identity/Azure.Identity/src/ScopeGroupHandler.cs#L46
So I'm a bit confused as to why we would be seeing this error.

How does this change logging/tracing output? Technically making changes to this output is a breaking change, on the off chance that some customer was relying on these timestamps as they were. So, I'm curious about Josh's point as well - were we ever publishing these as non-UTC timestamps?

I don't think this would be a breaking change since passing a local time would have caused an exception.

Identity was the only client using this method that I could see. Assuming this is a breaking change (I'm not totally convinced it would be) this seems like one we'd want to make.

Identity was the only client using this method that I could see. Assuming this is a breaking change (I'm not totally convinced it would be) this seems like one we'd want to make.

I agree with that, I just wanted to understand the issue a little better.

Like @JoshLove-msft mentioned in another comment, it seems that we pass UTC time when we set this, but there must be a scenario where it is possible according to the stack that the issue creator shared. This would at worst be a defensive change to catch any scenario where a caller does the wrong thing somehow.


No wireless-regdb package installed in hostOS

The wireless-regdb package contains the regulatory domain database that is required for a working wireless. This package is added as part of the packagegroup-balena-connectivity recipe in meta-balena, however this DT has:
BBMASK += "packagegroup-balena-connectivity.bbappend"

As part of its conf/layer.conf device integration layer.
It's unclear why this was done like this in the first place - the correct approach to modify this recipe would be to override it in the integration layer itself instead of ignoring it.

Fix present in 2.108.1
[   11.396074] cfg80211: Loading compiled-in X.509 certificates for regulatory database


docs: Dutch translations

Closes #
✅ Checklist

[ ] I have followed every step in the contributing guide (updated 2022-10-06).
[ ] The PR title follows the convention we established conventional-commit
[ ] I performed a functional test on my final commit

Changelog

[x] deployment/docker.md
[x] deployment/netlify.mdx
[x] deployment/vercel.md
[x] usage/drizzle.mdx
[ ] usage/env-variables.mdx
[ ] usage/first-steps.md
[ ] usage/next-auth.mdx
[ ] usage/next-js.md
[ ] usage/prisma.md
[ ] usage/tailwind.md
[ ] usage/trpc.md
[ ] usage/typescript.md
[ ] examples.mdx
[ ] faq.mdx
[ ] folder-structure.mdx
[ ] installation.mdx
[ ] introduction.md
[ ] other-recs.md
[ ] t3-collection.mdx
[ ] why.md

Screenshots
[Screenshots]
💯

There are a couple of spelling and grammar mistakes.

Thank you, I'll address these now.


Request new module: CP4S

Related user story
I have created a script for cp4s installation on ocp
Type of module
terraform
If requesting a terraform module, what is the target cloud platform?
ibm
What is the purpose of the module?
CP4S installation on ocp
What is the category of the module?
Application

@SaloniRathi Does this script install all of Cloud Pak for Security on a cluster? Our strategy is to "un-pack" the components of the cloud paks and instead of having one module to install the entire cloud pak, we have individual modules to install the individual software components. Provide a listing of the software components in CP4S and we can create individual modules for each of them.

@seansund  our contribution here is to provide a module that automates the deployment of CP4S on any cloud, with an assumption that required hardware and OCP cluster have already been set up and running.
In other words, we are contributing a module at the 4xx (Applications) layer of software everywhere.
CP4S is a single application that cannot be further broken into individual components,
refer to the link https://cloud.ibm.com/docs/cloud-pak-security -> we are trying to automate steps 2 & 3 here.
Please let us know if you need any more information.
@mjperrins @triceam @beshanb1

@seansund
As per the documentation of CP4S installation, it is all about deploying a single operator and an instance of that. Ref: https://www.ibm.com/docs/en/cloud-paks/cp-security/1.9?topic=installing-cloud-pak-security-by-using-openshift-web-console.
Hence planning to implement in single gitops module. Could you please change the type of this module request to gitops and approve the same so that I can start working it. Or please let me if I need to create another issue, requesting for a gitops template module.
Thanks,
Divya.

/name cp4s


jx-demo-qs to 1.0.11

Promote jx-demo-qs to version 1.0.11

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

Needs approval from an approver in each of these files:

OWNERS

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


Using discover step names containing spaces as a directory name causes troubles

Having a discover step name like
  discover:
    - name: Configure system with SW TPM and IMA
      how: fmf
      url: https://github.com/RedHat-SP-Security/keylime-tests
      ref: rhel-9-main

the step name will be used as a directory name, e.g.
/var/tmp/tmt/run-002/plans/keylime-with-swtpm/discover/Configure system with SW TPM and IMA/tests/setup/configure_tpm_emulator
Spaces in such a directory can cause troubles for tests and tooling that is not working with spaces properly.
It would be safer to replace spaces e.g. with underscores.

Yes, makes sense and should be easy to address. The fix should cover all steps, not just the discover step.

@kkaarreell and @psss, does it make sense if we use MD5 (128-bit) checksum or UUID to convert the name to name used in the directory? e.g.
>>> import uuid
>>> name1 = 'Configure system with SW TPM and IMA'
>>> str(uuid.uuid5(uuid.NAMESPACE_DNS, name1))
'07ec9773-ac81-58c4-9636-a817ad34646c'
>>>

I don't think so. Very often it's useful to investigate run/plan/step directories and it's useful to pick directory by name.

Exactly, I enter that dir when troubleshooting and run test manually. MD5 sum would be almost unusable

OK， will replace the spaces with underscores.

If name is specified in discover phase, _workdir is set after invoking tmt/steps/init.py#L909
# https://github.com/teemtee/tmt/blob/main/tmt/steps/__init__.py#L909
   906	    def go_prolog(self) -> None:
   907	        """ Perform actions shared among plugins when beginning their tasks """
   908	        # Show the method
   909	        self.info('how', self.get('how'), 'magenta')

Here is the output from debugging, which is helpful to know where _workdir is set,  but we need further debugging to  find out where it is exactly from.
(tmt) huanli@kvm-01-guest02:foo$ tree -a
.
├── .fmf
│   └── version
├── plans
│   └── foo.fmf
└── tests
    └── foo
        ├── main.fmf
        └── test.sh

4 directories, 4 files
(tmt) huanli@kvm-01-guest02:foo$ cat plans/foo.fmf
summary: https://github.com/teemtee/tmt/issues/1520
discover:
    name: A B C D e f g
    how: fmf
execute:
    how: tmt
(tmt) huanli@kvm-01-guest02:foo$ pt run discover
> /home/huanli/.virtualenvs/tmt/bin/tmt(3)<module>()
-> import click
(Pdb) b tmt/steps/__init__.py:909
Breakpoint 1 at /home/huanli/.virtualenvs/tmt/lib/python3.10/site-packages/tmt/steps/__init__.py:909
(Pdb) b tmt/steps/__init__.py:911
Breakpoint 2 at /home/huanli/.virtualenvs/tmt/lib/python3.10/site-packages/tmt/steps/__init__.py:911
(Pdb) c
/var/tmp/tmt/run-014

/plans/foo
    discover
> /home/huanli/.virtualenvs/tmt/lib/python3.10/site-packages/tmt/steps/__init__.py(909)go_prolog()
-> self.info('how', self.get('how'), 'magenta')
(Pdb) pp self
<tmt.steps.discover.fmf.DiscoverFmf object at 0x7f1066c93430>
(Pdb) pp self.__dict__
{'_relative_indent': 1,
 'data': DiscoverFmfStepData(name='A B C D e f g',
                             how='fmf',
                             order=50,
                             summary=None,
                             dist_git_source=False,
                             dist_git_type=None,
                             url=None,
                             ref=None,
                             path=None,
                             test=[],
                             link=[],
                             filter=[],
                             modified_only=False,
                             modified_url=None,
                             modified_ref=None,
                             dist_git_init=False,
                             dist_git_remove_fmf_root=False,
                             dist_git_merge=False,
                             dist_git_extract=None,
                             fmf_id=False,
                             exclude=[],
                             repository=None,
                             revision=None),
 'name': 'A B C D e f g',
 'order': 50,
 'parent': <tmt.steps.discover.Discover object at 0x7f1066dd7370>,
 'step': <tmt.steps.discover.Discover object at 0x7f1066dd7370>}
(Pdb) pp self._workdir  # <<<< NOTE: it's None
None
(Pdb) l
904  	    # Therefore we need a different name, and a way how not to forget to call this
905  	    # method from child classes.
906  	    def go_prolog(self) -> None:
907  	        """ Perform actions shared among plugins when beginning their tasks """
908  	        # Show the method
909 B->	        self.info('how', self.get('how'), 'magenta')
910  	        # Give summary if provided
911 B	        if self.get('summary'):
912  	            self.info('summary', self.get('summary'), 'magenta')
913  	        # Show name only if it's not the default one
914  	        if not self.name.startswith(tmt.utils.DEFAULT_NAME):
(Pdb) c
        how: fmf
> /home/huanli/.virtualenvs/tmt/lib/python3.10/site-packages/tmt/steps/__init__.py(911)go_prolog()
-> if self.get('summary'):
(Pdb) pp self._workdir  # <<<< NOTE: it's not None any more
'/var/tmp/tmt/run-014/plans/foo/discover/A B C D e f g'
(Pdb) p self.get
<bound method BasePlugin.get of <tmt.steps.discover.fmf.DiscoverFmf object at 0x7f1066c93430>>

To find out where self._workdir (e.g. /var/tmp/tmt/run-014/plans/foo/discover/A B C D e f g) is created, let's just find all os.makedirs(). Once we find out when the directory path (e.g. /var/tmp/tmt/run-014/plans/foo/discover/A B C D e f g) is made, we can easily get the function which helps to create the directory path.

01 - All lines having os.makedirs()

$ find tmt -type f | xargs grep -in 'os.makedirs' | \
  awk -F':' '{print $1":"$2}' | sort -u
tmt/base.py:896
tmt/base.py:916
tmt/steps/discover/__init__.py:118
tmt/steps/execute/__init__.py:191
tmt/steps/prepare/install.py:165
tmt/steps/provision/__init__.py:740
tmt/steps/provision/testcloud.py:516
tmt/steps/provision/testcloud.py:517
tmt/utils.py:1683
tmt/utils.py:204
tmt/utils.py:729
tmt/utils.py:744

02 - Patch to tmt/steps/discover/fmf.py to help debugging

diff --git a/tmt/steps/discover/fmf.py b/tmt/steps/discover/fmf.py
index 0611461..413db4e 100644
--- a/tmt/steps/discover/fmf.py
+++ b/tmt/steps/discover/fmf.py
@@ -219,7 +219,9 @@ class DiscoverFmf(tmt.steps.discover.DiscoverPlugin):

     def go(self) -> None:
         """ Discover available tests """
+        print('XXX-001', self._workdir)
         super(DiscoverFmf, self).go()
+        print('XXX-002', self._workdir)

         # Check url and path, prepare test directory
         url = self.get('url')

03 - Find out the function which helps to create directory path

(tmt) huanli@kvm-01-guest02:foo$ python3 -m pdb ~/.virtualenvs/tmt/bin/tmt run discover
> /home/huanli/.virtualenvs/tmt/bin/tmt(3)<module>()
-> import click
(Pdb) b tmt/base.py:896
Breakpoint 1 at /home/huanli/.virtualenvs/tmt/lib/python3.10/site-packages/tmt/base.py:896
(Pdb) b tmt/base.py:916
Breakpoint 2 at /home/huanli/.virtualenvs/tmt/lib/python3.10/site-packages/tmt/base.py:916
(Pdb) b tmt/steps/discover/__init__.py:118
Breakpoint 3 at /home/huanli/.virtualenvs/tmt/lib/python3.10/site-packages/tmt/steps/discover/__init__.py:118
(Pdb) b tmt/steps/execute/__init__.py:191
Breakpoint 4 at /home/huanli/.virtualenvs/tmt/lib/python3.10/site-packages/tmt/steps/execute/__init__.py:191
(Pdb) b tmt/steps/prepare/install.py:165
Breakpoint 5 at /home/huanli/.virtualenvs/tmt/lib/python3.10/site-packages/tmt/steps/prepare/install.py:165
(Pdb) b tmt/steps/provision/__init__.py:740
Breakpoint 6 at /home/huanli/.virtualenvs/tmt/lib/python3.10/site-packages/tmt/steps/provision/__init__.py:740
(Pdb) b tmt/steps/provision/testcloud.py:516
Breakpoint 7 at /home/huanli/.virtualenvs/tmt/lib/python3.10/site-packages/tmt/steps/provision/testcloud.py:516
(Pdb) b tmt/steps/provision/testcloud.py:517
Breakpoint 8 at /home/huanli/.virtualenvs/tmt/lib/python3.10/site-packages/tmt/steps/provision/testcloud.py:517
(Pdb) b tmt/utils.py:1683
Breakpoint 9 at /home/huanli/.virtualenvs/tmt/lib/python3.10/site-packages/tmt/utils.py:1683
(Pdb) b tmt/utils.py:204
Breakpoint 10 at /home/huanli/.virtualenvs/tmt/lib/python3.10/site-packages/tmt/utils.py:204
(Pdb) b tmt/utils.py:729
Breakpoint 11 at /home/huanli/.virtualenvs/tmt/lib/python3.10/site-packages/tmt/utils.py:729
(Pdb) b tmt/utils.py:744
Breakpoint 12 at /home/huanli/.virtualenvs/tmt/lib/python3.10/site-packages/tmt/utils.py:744
(Pdb)
Breakpoint 13 at /home/huanli/.virtualenvs/tmt/lib/python3.10/site-packages/tmt/utils.py:744
(Pdb) c
> /home/huanli/.virtualenvs/tmt/lib/python3.10/site-packages/tmt/utils.py(744)_workdir_init()
-> os.makedirs(workdir)
(Pdb) c
/var/tmp/tmt/run-001
> /home/huanli/.virtualenvs/tmt/lib/python3.10/site-packages/tmt/utils.py(1683)create_directory()
-> os.makedirs(path, exist_ok=True)
(Pdb)
> /home/huanli/.virtualenvs/tmt/lib/python3.10/site-packages/tmt/base.py(916)_initialize_data_directory()
-> os.makedirs(self.data_directory, exist_ok=True)
(Pdb)

/plans/foo
> /home/huanli/.virtualenvs/tmt/lib/python3.10/site-packages/tmt/utils.py(1683)create_directory()
-> os.makedirs(path, exist_ok=True)
(Pdb)
> /home/huanli/.virtualenvs/tmt/lib/python3.10/site-packages/tmt/utils.py(1683)create_directory()
-> os.makedirs(path, exist_ok=True)
(Pdb)
> /home/huanli/.virtualenvs/tmt/lib/python3.10/site-packages/tmt/utils.py(1683)create_directory()
-> os.makedirs(path, exist_ok=True)
(Pdb)
> /home/huanli/.virtualenvs/tmt/lib/python3.10/site-packages/tmt/utils.py(1683)create_directory()
-> os.makedirs(path, exist_ok=True)
(Pdb)
> /home/huanli/.virtualenvs/tmt/lib/python3.10/site-packages/tmt/utils.py(1683)create_directory()
-> os.makedirs(path, exist_ok=True)
(Pdb)
> /home/huanli/.virtualenvs/tmt/lib/python3.10/site-packages/tmt/utils.py(1683)create_directory()
-> os.makedirs(path, exist_ok=True)
(Pdb)
> /home/huanli/.virtualenvs/tmt/lib/python3.10/site-packages/tmt/utils.py(1683)create_directory()
-> os.makedirs(path, exist_ok=True)
(Pdb)
    discover
XXX-001 None
> /home/huanli/.virtualenvs/tmt/lib/python3.10/site-packages/tmt/utils.py(1683)create_directory()
-> os.makedirs(path, exist_ok=True)
(Pdb) w
  /usr/lib64/python3.10/bdb.py(597)run()
-> exec(cmd, globals, locals)
  <string>(1)<module>()
...<snip>...
  /home/huanli/.virtualenvs/tmt/lib/python3.10/site-packages/tmt/base.py(2050)go()
-> plan.go()
  /home/huanli/.virtualenvs/tmt/lib/python3.10/site-packages/tmt/base.py(1211)go()
-> step.go()
  /home/huanli/.virtualenvs/tmt/lib/python3.10/site-packages/tmt/steps/discover/__init__.py(268)go()
-> phase.go()
  /home/huanli/.virtualenvs/tmt/lib/python3.10/site-packages/tmt/steps/discover/fmf.py(223)go()
-> super(DiscoverFmf, self).go()
  /home/huanli/.virtualenvs/tmt/lib/python3.10/site-packages/tmt/steps/__init__.py(930)go()
-> self.go_prolog()
  /home/huanli/.virtualenvs/tmt/lib/python3.10/site-packages/tmt/steps/__init__.py(909)go_prolog()
-> self.info('how', self.get('how'), 'magenta')
  /home/huanli/.virtualenvs/tmt/lib/python3.10/site-packages/tmt/utils.py(483)info()
-> self._log(self._indent(key, value, color=None, shift=shift))
  /home/huanli/.virtualenvs/tmt/lib/python3.10/site-packages/tmt/utils.py(453)_log()
-> if self.workdir is None:
  /home/huanli/.virtualenvs/tmt/lib/python3.10/site-packages/tmt/utils.py(800)workdir()
-> create_directory(self._workdir, 'workdir', quiet=True)
> /home/huanli/.virtualenvs/tmt/lib/python3.10/site-packages/tmt/utils.py(1683)create_directory()
-> os.makedirs(path, exist_ok=True)
(Pdb) p path
'/var/tmp/tmt/run-001/plans/foo/discover/A B C D e f g'
(Pdb) up
> /home/huanli/.virtualenvs/tmt/lib/python3.10/site-packages/tmt/utils.py(800)workdir()
-> create_directory(self._workdir, 'workdir', quiet=True)
(Pdb) ll
791  	    @property
792  	    def workdir(self) -> Optional[str]:
793  	        """ Get the workdir, create if does not exist """
794  	        if self._workdir is None:
795  	            self._workdir = self._workdir_name()
796  	            # Workdir not enabled, even parent does not have one
797  	            if self._workdir is None:
798  	                return None
799  	            # Create a child workdir under the parent workdir
800  ->	            create_directory(self._workdir, 'workdir', quiet=True)
801  	        return self._workdir
(Pdb) p self._workdir
'/var/tmp/tmt/run-001/plans/foo/discover/A B C D e f g'
(Pdb) p self._workdir_name()
'/var/tmp/tmt/run-001/plans/foo/discover/A B C D e f g'
# ^^^^^ The function _workdir_name() helps to create the directory path !!!

Finally, we found that the function which helps to create directory path (e.g. /var/tmp/tmt/run-001/plans/foo/discover/A B C D e f g) is class Common._workdir_name().

https://github.com/teemtee/tmt/blob/main/tmt/utils.py#L763 763	    def _workdir_name(self) -> Optional[str]:
 764	        """ Construct work directory name from parent workdir """
 765	        # Need the parent workdir
 766	        if self.parent is None or self.parent.workdir is None:
 767	            return None
 768	        # Join parent name with self
 769	        return os.path.join(self.parent.workdir, self.name.lstrip('/'))

Since we have known that the root cause is Common._workdir_name() doesn't consider name having spaces,

https://github.com/teemtee/tmt/blob/main/tmt/utils.py#L769 769	        return os.path.join(self.parent.workdir, self.name.lstrip('/'))

the fix seems pretty simple, e.g.
diff --git a/tmt/utils.py b/tmt/utils.py
index 6aac821..9979269 100644
--- a/tmt/utils.py
+++ b/tmt/utils.py
@@ -766,7 +766,8 @@ class Common:
       if self.parent is None or self.parent.workdir is None:
           return None
       # Join parent name with self
-        return os.path.join(self.parent.workdir, self.name.lstrip('/'))
+        base_name = re.sub(r'\s+', '_', self.name).lstrip('/')
+        return os.path.join(self.parent.workdir, base_name)

The patching in the following introduced a new bug which caused tests/core/spaces to fail.
diff --git a/tmt/utils.py b/tmt/utils.py
index 6aac821..1671048 100644
...<snip>...
-        return os.path.join(self.parent.workdir, self.name.lstrip('/'))
+        base_name = re.sub(r'\s+', '_', self.name).lstrip('/')
+        return os.path.join(self.parent.workdir, base_name)

The failures look like:
(tmt) huanli@kvm-01-guest01:data$ tmt run -arvvv provision -h local
/var/tmp/tmt/run-001
Found 1 plan.

/a directory/some plans/a plan
    discover
        how: fmf
        name: some discover
        order: 50
        directory: /home/huanli/dev/1520/dev/tests/core/spaces/data
        summary: 1 test selected
            /a directory/some tests/a shell test
    provision
        how: local
        order: 50
        kernel: 5.19.10-200.fc36.x86_64
        summary: 1 guest provisioned
    prepare
        summary: 0 preparations applied
    execute
        how: tmt
        order: 50
        exit-first: False
            test: A simple shell test with spaces
    finish
        summary: 0 tasks completed
The working directory '/var/tmp/tmt/run-001/a_directory/some_plans/a_plan/discover/some discover/tests/a directory/some tests/a shell test' does not exist.

It is because phase.name = some discover,  it was updated to be some_discover when invoking os.makedirs(), but it is used later as some discover to access the workdir.

https://github.com/teemtee/tmt/blob/main/tmt/steps/discover/__init__.py#L275 270	                # Prefix test name only if multiple plugins configured
 271	                prefix = f'/{phase.name}' if len(self.phases()) > 1 else ''
 272	                # Check discovered tests, modify test name/path
 273	                for test in phase.tests():
 274	                    test.name = f"{prefix}{test.name}"
 275	                    test.path = f"/{phase.name}{test.path}"
 276	                    # Use the default test framework if not defined in L1
 277	                    # FIXME remove when we drop the old execution methods
 278	                    if not test.framework:
 279	                        test.framework = self.plan.execute._framework
 280	                    # Update test environment with plan environment
 281	                    test.environment.update(self.plan.environment)
 282	                    self._tests.append(test)

Hence, it doesn't work if we update name in Common._workdir_name() roughly. Maybe we have to introduce a shadow name which is just an alias of the raw name, and the shadow name are used to create directory path and should be saved when accessing the directory path.

The patching in the following introduced a new bug which caused tests/core/spaces to fail.
diff --git a/tmt/utils.py b/tmt/utils.py
index 6aac821..1671048 100644
...<snip>...
-        return os.path.join(self.parent.workdir, self.name.lstrip('/'))
+        base_name = re.sub(r'\s+', '_', self.name).lstrip('/')
+        return os.path.join(self.parent.workdir, base_name)

The failures look like:
(tmt) huanli@kvm-01-guest01:data$ tmt run -arvvv provision -h local
/var/tmp/tmt/run-001
Found 1 plan.

/a directory/some plans/a plan
    discover
        how: fmf
        name: some discover
        order: 50
        directory: /home/huanli/dev/1520/dev/tests/core/spaces/data
        summary: 1 test selected
            /a directory/some tests/a shell test
    provision
        how: local
        order: 50
        kernel: 5.19.10-200.fc36.x86_64
        summary: 1 guest provisioned
    prepare
        summary: 0 preparations applied
    execute
        how: tmt
        order: 50
        exit-first: False
            test: A simple shell test with spaces
    finish
        summary: 0 tasks completed
The working directory '/var/tmp/tmt/run-001/a_directory/some_plans/a_plan/discover/some discover/tests/a directory/some tests/a shell test' does not exist.

It is because phase.name = some discover, it was updated to be some_discover when invoking os.makedirs(), but it is used later as some discover to access the workdir.

https://github.com/teemtee/tmt/blob/main/tmt/steps/discover/__init__.py#L275 270	                # Prefix test name only if multiple plugins configured
 271	                prefix = f'/{phase.name}' if len(self.phases()) > 1 else ''
 272	                # Check discovered tests, modify test name/path
 273	                for test in phase.tests():
 274	                    test.name = f"{prefix}{test.name}"
 275	                    test.path = f"/{phase.name}{test.path}"
 276	                    # Use the default test framework if not defined in L1
 277	                    # FIXME remove when we drop the old execution methods
 278	                    if not test.framework:
 279	                        test.framework = self.plan.execute._framework
 280	                    # Update test environment with plan environment
 281	                    test.environment.update(self.plan.environment)
 282	                    self._tests.append(test)

Hence, it doesn't work if we update name in Common._workdir_name() roughly. Maybe we have to introduce a shadow name which is just an alias of the raw name, and the shadow name is used to create directory path and should be saved when accessing the directory path.

I like your approach, "hiding" the change into _workdir_name, feels like the right place for it. Feels correct. IIUIC, the issue here lies in phase.name being used as part of a filesystem path (test.path = f"/{phase.name}{test.path}"). I'd propose adding a new property, name-but-one-you-should-use-for-filesystem-paths, e.g. fs_name, something along those lines - based on Common.name, but for filesystem. It'd be implemented in Common, then it would be basically replacing base_namein your patch. And the code yu quote below should use it as well when constructingtest.path. It's similar to your suggestion of "shadow name", but it does not have to be saved anywhere, it can be derived from namewhen needed. The hard part is to fix all places that usenameand should rather use this newfs_name` - luckily, failing test already identified one place where this is happening.

@happz，thank you for your comment. I have used fs_name as the shadow name, please help to take a look at the latest patch in PR 1527, thanks!

Looks very good to me, nice!


wormhall bridge error massage ( BSC > APT )

Error please retry . . .
Your claim has failed, please try again
why can't i get ma coin

@ych34 It sounds like your query would be best dealt with by the support team.
Please see the link below to our dedicated support line:
Support :Help Center
Note: Click on the live chat icon at the bottom corner of the page to start a conversation


Work around for bug #27

Work around for bug #27 which only occurs using version of numpy 1.7 and below.

Coverage remained the same at 91.61% when pulling ce16167edb0267e949bef8133737e3bbccc5ee3d on willu47:numpy_dependency into c00481fcaaedd65637ce7aa0d8d30de7848d30fd on jdherman:master.

Thanks Will! Does this close #27? @saroele reported numpy 1.9.1 if I remember right.

Hi @jdherman.  It does close #27, but it is just an avoidance tactic.  I am convinced the numpy version played a role, as I conducted tests under the conditions mentioned by @saroele for all versions of numpy.  Sure enough, the bug occurred for versions < 1.8 and not for 1.8 and later...

Ok, works for me. Thanks again!


Recorded meetings

This community looks really interesting and I'd love to start participating!
Is there any chance your meetings have been recorded or can be recorded going forward? I'm based in Sydney so the 3am timeslot will be hard to attend live.

We discussed this as a group and have decided not to record the meetings for a number of reasons.  We do try to publish notes on what was discussed.  We are also exploring ways to hold meetings at a later time so other timezones can participate.

Thanks Chris - I've been reading the notes, and agree that recording the meetings might change how the discussions happen so I completely respect this decision.


Add next_check to lot

Pull Request Test Coverage Report for Build 74

8 of 8 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.02%) to 96.061%

Totals

Change from base Build 73:
0.02%

Covered Lines:
1878

Relevant Lines:
1955

💛  - Coveralls


Fix mishandling of URL

We have for some time now been incorrectly encoding URLs in an incorrect format that fails to trivially round-trip back through decoding. This is now fixed. Any previously broken data stored in a database affected by this issue will now be correctly read back and will have the correct format when next written.

[!NOTE]
This is not related in any way to the recent issues with Vapor's URI type; it is a separate concern affecting the URL type that comes from Foundation.

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

Comparison is base (81d1106) 36.27% compared to head (b8afa63) 37.86%.
Report is 2 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #257      +/-   ##
==========================================
+ Coverage   36.27%   37.86%   +1.58%
==========================================
  Files          13       13
  Lines         736      750      +14
==========================================
+ Hits          267      284      +17
+ Misses        469      466       -3

Files
Coverage Δ

Sources/PostgresKit/ConnectionPool+Postgres.swift
35.71% <ø> (ø)

Sources/PostgresKit/PostgresDataTranslation.swift
67.28% <100.00%> (+3.73%)
:arrow_up:

Sources/PostgresKit/PostgresDatabase+SQL.swift
85.29% <100.00%> (ø)

Sources/PostgresKit/SQLPostgresConfiguration.swift
85.10% <100.00%> (ø)

...stgresConnectionSource+PostgresConfiguration.swift
0.00% <0.00%> (ø)

...PostgresKit/Deprecations/PostgresDataEncoder.swift
0.00% <0.00%> (ø)


Add OnDateChangedListener interface

A class that wants to be notified when the date of PersianDatePicker
changes should implement the OnDateChangedListener and register itself
as the listener for date change event using the setOnDateChangedListener
method of PersianDataPicker.

Thank you! I have merged your pull request into main branch.


Community Comment Moderation permission setting changed in 2.15.6

I noticed that in 2.15.6 our permissions for Comment Moderation looks different:

Is the “Can moderate comments” setting now for the user-side comment moderation? And what does the “can view” setting mean here?
Is there a way we can make this more clear, eg separating the Admin Panel comment moderating from the Community Comment Moderation again? (I think this is how it was pre 2.15.6) It would also be helpful to explain "Can view" more clearly.

Yes, "Can moderate comments" permission is restricting access to user-side comment moderation.
Each model has 4 default permissions (view, add, change, delete) tied to it. If a model is registered on Wagtail/Django admin panel then these permissions can limit user access to perform actions.
“Can view” permission means that the user can view records of the model on the Wagtail/Django admin panel.
We are using 3rd party package for comments and it has an additional custom permission “Can moderate comments” tied with model “Comment” and that’s why Wagtail is showing it against “Comment”. Community comment moderation access is also controlled via this permission.
We can create (new) custom permission for comment moderation and use that instead. We will also have to hide existing “Can moderate comments” permission as well. Something like this

Maybe we can add help text to explain permissions or add a link to some readme as well.
Let me know if this makes sense or I missed something.

Let me check, you are saying:

Our Admin Panel comment moderation permissions are part of model "Comment" and are "view", "add", "change", "delete"
The Community Comment Moderation permissions are part of model "Comment" and are "Can moderate comments"

You're proposing changing Community Comment Moderation permissions to be in a model named "Comment moderation" with the permission option "Can moderate comments".
If that understanding is correct then I agree, but let's call the new model "Community comment moderation" with permission "Can moderate comments"

Here are the user stories I mentioned on the call:
As an ADMIN, I am used to Groups permissions being ONLY for users who can access the Admin Panel.
As an ADMIN, I am used to managing permissions of non-Admin users at Page level, in the Settings tab.
As an ADMIN, I am not necessarily very familiar with permissions, and I may not know about "Can access Wagtail Admin" permission.
As an ADMIN, I may think about permissions in a binary way - can someone access all the functions I can in Wagtail Admin, or are they a public site user? (for someone who uses many systems, but not at Administrator level, this is how systems may generally appear to work)
As an ADMIN, I would like a clear demarcation between permissions that I can safely give non-Admin users and those I should only give to Admin users. Today it seems clear that any permission in Group settings should only be given to Admins. If non-Admin user permissions are introduced into Group settings, it should be very clear that they are meant for non-Admin users.
As an ADMIN, if I give a user Admin Panel access for the first time, I would like in that moment to be able to consider the full implications of that access. If a user was (correctly) added to Groups previously without my knowledge, I don't want those Group memberships to give them access in Admin Panel in a way that I don't expect.

All this leads up to -
It may not be a best practice from a standpoint of organizing data or permissions, but from a perspective of meeting Admins' expectations I think we should completely separate permissions which give access within the Admin Panel and those which gives access within the public facing side of the site.
This is already done with Page level permissions. Permission to "view" a Page on the public site doesn't give me permission to navigate to that Page in the Admin Panel.
Here is what I would suggest for Community Comment Moderation specifically:
Listed in the Groups permission as "Community Comment Moderation"
Two check boxes, "Can moderate comments on public site" "Can moderate comments in Admin Panel (requires Admin Panel access)"
Is this possible @sheralim012 ?

Per our discussion, here is the wiki entry: https://github.com/unicef/iogt/wiki/Structuring-User-Groups-Permissions-to-Accommodate-User-Facing-Site-Permissions

So if someone has the general "Community comment moderation > Can moderate comments" permission you're suggesting and then they are given Admin Panel permission

@cbunicef I missed this point yesterday. I'm suggesting that "community comment moderation" exclusively refers to comment moderation that happens via the public-facing user interface by registered users who do not have access to the admin interface. As such, it should not be conflated with how admins moderate comments, which I think is what is continuing to happen in this PR.
In my view, an admin should moderate comments by manipulating them directly via the admin interface. There should be no advantage given to admins by having access to "community comment moderation" - except to gain access to the public interface, which should be unnecessary.
To clarify my earlier suggestion, I think there should just be two options with regard to comment moderation:

Comment

Can moderate (via admin interface)

Community comment moderation

Can moderate (via public interface)

The situation is awkward because in order to do community comment moderation a user needs to be able to change two different models ('comment' and 'moderation'), whereas an admin only needs to change the comment, and this doesn't fit neatly into Django's standard permissions model (view, add, change, delete). However, the 'community moderation' model is the entry point for community moderation and the comment model is the entry point for admin moderation and that is why I think the permissions structure above is more appropriate.
Do you agree with this suggestion?

This is different than my understanding of how the permissions worked based on the earlier conversations, so that may by why we haven't been on the same page.
I think your two options will be easy for users to understand:

Comment

Can moderate (via admin interface)

Community comment moderation

Can moderate (via public interface)

I just want to make sure that

an Admin ONLY needs to have "Can moderate (via admin interface)" access all the data and functions they need for all comment moderation actions including actions related to the community comment moderation
a user ONLY needs to have "Can moderate (via public interface)" to access all the data and functions they need for moderating from the front-end
a user can be given EITHER or BOTH

the ability to moderate comments via the comment queue
the ability to respond to comments on the user side as a "Moderator" (I think we have this ability, if we don't then this can be ignored)

the ability to moderate comments via the comment queue

@cbunicef does the "comment queue" mean the admin interface for managing comments?
The 'moderator' label on comments appears if the commenter has the original "Can moderate comments" permission. We would not give community comment moderators this permission because it applies to the admin interface.
Would you like comments by community comment moderators to be labelled 'moderator' as well? Should the same label be used, or a different label e.g. 'community moderator'?

Comment queue is the public side of the site


Notification not working on iOS

Hello, i use this package as a replacement in the migration process from Xamarin to MAUI and it works on Android but on iOS it doesnt work. Im'm using the version 1.0.26 (the last version not in preview) with net8
After the login process i need to subscribe the user to a topic and i write this code
CrossFirebasePushNotification.Current.RegisterForPushNotifications();
CrossFirebasePushNotification.Current.UnsubscribeAll();
CrossFirebasePushNotification.Current.Subscribe("MyTopic");

but it crash on the first line RegisterForPushNotifications() with an NullReferenceException. If i force to skip that line, the next two lines are working but if i send a push notification, the real device are not receive it.

I have an update:
I tried using version.2.51-pre and now the RegisterForPushNotificationsAsync method works, causing the message "do you want to allow notifications" to appear on iOS correctly. However, compiling in release and opening the app after downloading it from TestFlight, it closes with a crash immediately after the splashscreen

Ok. Are you sure the google service file is also present when you do a release build?

Version 1.x is no longer maintained. This was a copy of the previous/Xamarin plugin.

Thanks for the reply.
With the last nuget of today now it doesnt crash on release but notification continue to not showing.
I include the GoogleService plist using:

Thanks @thomasgalliker for the support!
As you suggested I made a copy of my app and I try to remove everything from it, just a simple app with a page like in your example. And sending a push notification using the server key and the device token finally it works, but only when app (in debug) are in background. In foreground (in debug) the methods DidReceiveRemoteNotification are not called.
Another problem is that normally i use the topic, and in this new test i made an CrossFirebasePushNotification.Current.SubscribeTopic(topic); but sending a pushnotification from firebase or with my web api that send the notification to firebase nothing are showed when the app is in foregraound nor in background.

I will re-test topics. I think the latest 2.x pre release might has a bug there. Please report if you make progress.

I try downloading your code, adding the project and ungrading to net8. I found that every step on start and registration works as expected (adding the topic to the queue) but the call DidReceiveRegistrationToken in the FirebasePushNotificationManager.cs is never called. What i could have missing?
Thanks for your help, really apprecieted

I think is due to Xamarin.Firebase.iOS.CloudMessaging.
Probably using AdamE.Firebase.iOS.CloudMessaging could solve the issue.

Sadly changing Xamarin.Firebase.iOS.CloudMessaging to AdamE.Firebase.iOS.CloudMessaging on my fork of your project makes the compilation unbuildable and stuck at Detected signing identity: and not creating the folder Debug\net8.0-ios\ios-arm64

I can re-test on iOS again as soon as I find some time. It is for sure not related to Xamarin.Firebase.iOS.CloudMessaging because this plugin runs in one of our apps and it works there.

In the end I managed to make everything work, both in the background, foreground and with the topics.
After forking this project I changed Xamarin.Firebase.iOS.CloudMessaging with AdamE.Firebase.iOS.CloudMessaging but having problems with the path resolved by restoring and rebuilding everything via CLI. Then I discovered that the DidReceiveRegistrationToken was never called, in the sense that firebaseMessaging.Delegate was correctly assigned but that this then did not call the callback. However, since the RegisteredForRemoteNotifications was called in the delegate app and if I called the .Token I obtained the fcm token, I forced the RegisteredForRemoteNotifications to call, after assigning the deviceToken to ApnsToken, to call the DidReceiveRegistrationToken which thus goes to pendingTopics. TryDequeue and therefore the SubscribeTopic which otherwise was never called.

Does your AppDelegate look similar to the one provided in the sample app?
https://github.com/thomasgalliker/Plugin.FirebasePushNotifications/blob/0fffdf42ae1930137fc3fe620563d97ea2782d58/Samples/MauiSampleApp/Platforms/iOS/AppDelegate.cs#L25

Yes except for the exceptions and some try catch the appdelegate is similar to the example.
[Register("AppDelegate")]
public class AppDelegate : MauiUIApplicationDelegate
{
    protected override MauiApp CreateMauiApp() => MauiProgram.CreateMauiApp();

    public override bool FinishedLaunching(UIApplication application, NSDictionary launchOptions)
    {
        return base.FinishedLaunching(application, launchOptions);
    }

    [Export("application:didRegisterForRemoteNotificationsWithDeviceToken:")]
    [BindingImpl(BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
    public void RegisteredForRemoteNotifications(UIApplication application, NSData deviceToken)
    {
        try
        {
            CrossFirebasePushNotification.Current.RegisteredForRemoteNotifications(deviceToken);
            //var token = CrossFirebasePushNotification.Current.Token;
        }
        catch (Exception ex)
        {

        }
    }

    [Export("application:didFailToRegisterForRemoteNotificationsWithError:")]
    [BindingImpl(BindingImplOptions.GeneratedCode | BindingImplOptions.Optimizable)]
    public void FailedToRegisterForRemoteNotifications(UIApplication application, NSError error)
    {
        try
        {
            CrossFirebasePushNotification.Current.FailedToRegisterForRemoteNotifications(error);
        }
        catch (Exception ex)
        {

        }
    }

    [Export("application:didReceiveRemoteNotification:fetchCompletionHandler:")]
    public void DidReceiveRemoteNotification(UIApplication application, NSDictionary userInfo, Action<UIBackgroundFetchResult> completionHandler)
    {
        try
        {
            CrossFirebasePushNotification.Current.DidReceiveRemoteNotification(userInfo);
            completionHandler(UIBackgroundFetchResult.NewData);
        }
        catch (Exception ex)
        {

        }
    }
}

The public void RegisteredForRemoteNotifications(UIApplication application, NSData deviceToken) are called correctly and call the  CrossFirebasePushNotification.Current.RegisteredForRemoteNotifications(deviceToken); , the problem is that tis function only call Firebase.CloudMessaging.Messaging.SharedInstance.ApnsToken = deviceToken; but the private void DidReceiveRegistrationToken(Firebase.CloudMessaging.Messaging messaging, string fcmToken) are never called from the delegate, and so the pendingTopics.TryDequeue and SubscribeTopic are never called

I will have a look at this. Thanks!!

Is there any update on this? I'm unable to receive FCM messages on iOS and I'm suspecting this issue to be the cause, can you confirm?

I can confirm that FCM push notifications work with the current 2.x pre-release. The question is ‚what does not work and how did you proceed’? In order to clarify this, I‘d recommend to create a new issue or discussion.

@WeirdAnakin is this related to topics? If so it may be caused by #39

I can confirm that FCM push notifications work with the current 2.x pre-release. The question is ‚what does not work and how did you proceed’? In order to clarify this, I‘d recommend to create a new issue or discussion.

In AppDelegate, RegisteredForRemoteNotifications is called and I get a valid token, but DidReceiveRemoteNotification is never called. This is how I initialize (extracted from your MainViewModel sample) and on Android it worked fine from the very beginning:
  await this.RequestNotificationPermissionsAsync();
  await this.RegisterForPushNotificationsAsync();

  this.firebasePushNotification.SubscribeTopic("com.mycompany.myapp");

  await this.SubscribeEventsAsync();

@REDECODE I applied your fix in RegisteredForRemoteNotifications. If you can test the latest release, I‘d be very happy for any feedback.


the redirect plugin doesn't accept to links with anchors

Have you read the Contributing Guidelines on issues?

[X] I have read the Contributing Guidelines on issues.

Prerequisites

[X] I'm using the latest version of Docusaurus.
[X] I have tried the npm run clear or yarn clear command.
[X] I have tried rm -rf node_modules yarn.lock package-lock.json and re-installing packages.
[X] I have tried creating a repro with https://new.docusaurus.io.
[X] I have read the console error message carefully (if applicable).

Description
The following configuration will throw an error during the build.
[ERROR] ValidationError: "redirects[1].to" is not a valid pathname. Pathname should start with slash and not contain any domain or query string.
redirects: [
          {
            from: [
              '/pricing',
              '/pricing/',
            ],
            to: '/plugins/pmw/#pricing-section',
          },
        ],

In my opinion anchors should be allowed.
Reproducible demo
No response
Steps to reproduce
Paste this redirect configuration into docusaurus.config.js
redirects: [
          {
            from: [
              '/pricing',
              '/pricing/',
            ],
            to: '/plugins/pmw/#pricing-section',
          },
        ],

Expected behavior
The build should accept to links with anchors.
Actual behavior
The following error is thrown:
[ERROR] ValidationError: "redirects[1].to" is not a valid pathname. Pathname should start with slash and not contain any domain or query string.
Your environment

Docusaurus version used: 2.4.0
Environment name and version (e.g. Chrome 89, Node.js 16.4): Chrome 112.0.5615.121
Operating system and version (e.g. Ubuntu 20.04.2 LTS): OS X 13.3.1

Self-service

[ ] I'd be willing to fix this bug myself.

Tracked in https://github.com/facebook/docusaurus/issues/6845


How do you retrieve the Hive / HBD balance?

Browsing the docs in the Readme.md, I couldn't find any information about how to access information about the logged in Hive account.
Could you give me an example about how to retrieve the Hive / HBD balance of an account please?

Hi! Hive Keychain is a wallet, for what you want, you need to use Hive js libraries, dHive or Hive-js.
I recommend dHive because it is typed : https://openhive-network.github.io/dhive/

Thanks, I'll have a look. 👍


Event queueing

[x] Implement queue-able events system
[ ] Document queue-able events system
[ ] Fix custom state handler

Coverage decreased (-13.5%) to 59.211% when pulling 710e2ac9da025691495edc228fa6d7e445eb471e on event-queueing into 9feb5510a5927b5b6162871350ac79b3c4732875 on master.

Coverage decreased (-14.1%) to 60.0% when pulling 6ce5bb1df2341ecf9ade20a5f3ba51daeb0f5e1b on event-queueing into cdb8aae7a7d994b64ac81326ba1afbfcb50d3c3c on master.

Coverage decreased (-12.2%) to 61.935% when pulling 41f049aa125ed8459a41a111558601e7645e0a08 on event-queueing into cdb8aae7a7d994b64ac81326ba1afbfcb50d3c3c on master.

Coverage decreased (-11.08%) to 63.057% when pulling 5b71d1beb2ea97a759b8c1fe169d41c785692c33 on event-queueing into cdb8aae7a7d994b64ac81326ba1afbfcb50d3c3c on master.

Coverage increased (+5.3%) to 79.487% when pulling 070550cc15a37219139d3bedf6faaa2b72979f2b on event-queueing into cdb8aae7a7d994b64ac81326ba1afbfcb50d3c3c on master.

Coverage increased (+5.3%) to 79.487% when pulling 6a3a426034c329d78224fbd0925a75ed644606e9 on event-queueing into cdb8aae7a7d994b64ac81326ba1afbfcb50d3c3c on master.

Coverage increased (+5.3%) to 79.487% when pulling 7400469bf5390c552d334d9f64fad4c4ba8eddfc on event-queueing into cdb8aae7a7d994b64ac81326ba1afbfcb50d3c3c on master.


go get with sub directory failed

For example:
user xxx have a golang library repo named repotest. it should be access at https://https://try.gogs.io/xxx/repotest. and it has a sub directory named sub1.
You can import this repo by add import "try.gogs.io/xxx/repotest" in your golang source file (which will be fetched with command go get try.gogs.io/xxx/repotest).  Buf for the sub directory, if you import it by import try.gogs.io/xxx/repotest/sub1 (also be fetched by go get try.gogs.io/xxx/repotest/sub1), it will be failed, with error noticed below:

package try.gogs.io/xxx/repotest/sub1: unrecognized import path "try.gogs.io/xxx/repotest/sub1" (parse https://try.gogs.io/xxx/repotest/sub1?go-get=1: no go-import meta tags)

I think this is duplicated to https://github.com/gogits/gogs/issues/1878.


WIP feat: last waterings

still needs i18n

i18n done.
please not that this PR goes against https://github.com/technologiestiftung/giessdenkiez-de/pull/728 which should be reviewed first.


Reduce queue to 1 on Buddhism and Judaism

Coverage remained the same at 65.333% when pulling 58f2f8b82f41989435eed0db17b401ff9f9f08ed on makyen:Makyen-reduce-tolling-queue-depth into 6c9720eed62cbaddcc3e536bebb46b12a64c6401 on Charcoal-SE:master.


add other models from covidhub, remove those that are incomplete

This PR closes #114. It just expands the Hub models that we score (I had prototyped on a smaller set). These are all the ones highlighted for comparison here). However, there are a number of models (6 teams) that don't have forecasts for every date. We can continue to exclude them, or we could do something like allow one or two missing weeks.

Should probably use the zoltr API https://reichlab.io/zoltr/

Would you suggest 18/22 and 50/52? Fine with that, I don't think its likely to change the models chosen!

Would you suggest 18/22 and 50/52? Fine with that, I don't think its likely to change the models chosen!

I would suggest something more like 40/52. 18/22 seems good.

A little scope creep to get everything working needed to do the filtering to log scores. I am going to work off of this branch to remove MN data in January...


Variant repeats fail if there is no start repeat marker on the A part

For example, if the tune ABC is written like this:
  |: ... |1 ....:|2 ....|
then all is OK, but not if it's like this:
  | ... |1 ....:|2 ....|

Fixed by c71bddd3b4a4570be555df2aec5c378db9c46759. The assumption now is that if we see a first or second repeat marker in a section then that section is repeated (with variants) without the necessity of there being a start repeat marker.


Convert eclipse project to maven or gradle project.

Which project are you referring to? There are several subprojects in the the repository, each of which is a maven project. The only exception I found is the GettingStarted project, which needs to be updated indeed.

I'm sorry, the only project i looked in was getting started :)


Reword ipykernel installation message

Even people who are familiar with Jupyter may not know why "ipykernel" needs to be installed sometimes. We had an internal case-in-point.
The message we show to the user should provide some level of explanation. Something like "Either the ipykernel or jupyter package needs to be installed in the current environment to support running cells in [interactive-window | jupyter notebooks]. Would you like us to install ipykernel for you?" (Learn more...)
Learn more could discuss the difference.

Here's the last discussion when we switched to a modal dialog:
https://github.com/microsoft/vscode-jupyter/issues/5798

I agree with @rchiodo . Then again, I guess the suggestion for the change is because @greazer  feels the current message is not clear yet again. But does this mean we'll stop re-visiting this message? I think we've changed this particular message more than 3 times already. Not that its a bad thing, but feel perhaps we're beating a dead horse and its possible its just complicated and we need to make it very simple (& i thought thats why we ended up with the message we have today).
Also note: ipykernel or jupyter isn't correct, as installing jupyter doesn't install ipykernel

Seems that the wording message may not be necessary (other than possibly mentioning "jupyter dependency") but at least having a link to learn more about why it's needed would be good.


I can't change fab button alignment to right

How to change alignment of fab button to right?

Do you mean left?

Sorry, yes I want to change it's alignment to left

Done, if you want to change alignment to left/right set the alignment property of the FAB itself. If you want to change it to top/bottom change FAB container's attributes.


Call mesh2d_tangent_local_to_world with the right arguments

Objective
Allow Mesh2d shaders to work with meshes that have vertex tangents
Solution
Correctly pass mesh.model into mesh2d_tangent_local_to_world

bors r+


Not all export filters seem to be able to handle private:stream

Hi there!
When executing the following command:
unoconvert --output-filter "DocBook File" --convert-to xml - - < infile.rtf

To convert an RTF file to a DocBook XML File, and sending the output to stdout (really specific, I know), the following error occurs:
uno.com.sun.star.uno.RuntimeException: illegal object given! at /home/buildozer/aports/community/libreoffice/src/libreoffice-<IP_ADDRESS>/stoc/source/corereflection/crefl.cxx:320

And the LibreOffice process seems to crash.
When outputting to a file path:
unoconvert --output-filter "DocBook File" --convert-to xml - outfile.xml < infile.rtf

Everything seems to work fine!
When looking at the code the only difference seems to be the usage of OutputStream in the first command.
Any idea what might be going on here? Thanks in advance!

Yeah, you are right, I get the same error. That's amazingly annoying. The only way I can see to fix that is to use temporary files in the server part, which is doable, but really shouldn't be needed.

That's how we have solved it now indeed.
Would the next step be reporting an issue with LibreOffice? Or does this issue originate in the uno/unoserver package?

It's Libreoffice, and getting bugs fixed there takes time, they definitely need more people helping actually fix bugs, which I unfortunately don't have the time or language experience to do.

Same for me, I don't see myself diving into the LibreOffice codebase right now.
I have reported the issue here: https://bugs.documentfoundation.org/show_bug.cgi?id=161416


Added ability to send non-post-only limit orders to Coinbase pro using preset order.ExtraParameter["post_only"]

Added ability to send non-post-only limit orders to Coinbase pro using preset order.ExtraParameter["post_only"]

I closed previous pull request and created new one with change you recommended. About your question about why we need ExchangeOrderRequest.ExtraParameters to have public set, it needs to be set in the ExchangeOrderRequest object being passed to SubmitOrder function from the application code outside this framework, so ExtraParameters attribute needs to have public set

CopyTo method works for me. I will revert this change. Thanks.


Help 146 memtier benchmark

Added the document on Redis performance benchmarking to address the questions customers asked on intercom.

Thanks for your contribution. Would not be easy if the user can follow the example and be able to reproduce the steps? We have similar tutorials in others HowTo that you can understand the format better, for example: https://docs.aiven.io/docs/products/mysql/howto/disable-foreign-key-checks.html

@laysauchoa thanks for the comments. Please check the updated doc.

Hi, it is getting better. Would be possible to make subsections like:

Prerequisites: What do the user needs here? I believe an Aiven Redis service running and a tool to be installed.
Running the benchmarking or commands

Also, can you go over the warnings? I believe there are some misspelling. Also, if you refer to code variables, can you make sure to add in between quotes like variable.
About the code, you do not need to include the $ as the user may copy it and won't work when they run. Also can you split the command from the output? For the same previous reason, so it is easier to copy and run.
You can find more instructions on the contributing guidelines here: https://github.com/aiven/devportal/blob/main/CONTRIBUTING.rst

Hi Laysa,
Please check the new update committed.
I'm using vscode to edit the file, it does not give me warnings on
spelling. Where do you see the warning?
The '$' in the code is to indicate the line is a command, the following
lines are output. I separated the command and the output into two code
blocks, so the '$' can be removed.
Any more comments, please let me know.
Thanks,
Gordon
On Thu, Sep 15, 2022 at 12:10 PM laysa uchoa @.***>
wrote:

Hi, it is getting better. Would be possible to make subsections like:

Prerequisites: What do the user needs here? I believe an Aiven Redis
service running and a tool to be installed.
Running the benchmarking or commands

Also, can you go over the warnings? I believe there are some misspelling.
Also, if you refer to code variables, can you make sure to add in between
quotes like variable.
About the code, you do not need to include the $ as the user may copy it
and won't work when they run. Also can you split the command from the
output? For the same previous reason, so it is easier to copy and run.
You can find more instructions on the contributing guidelines here:
https://github.com/aiven/devportal/blob/main/CONTRIBUTING.rst
—
Reply to this email directly, view it on GitHub
https://github.com/aiven/devportal/pull/1382#issuecomment-1248312680,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AORIMPNXSOWSYQ3AAGKEYU3V6NDA7ANCNFSM6AAAAAAQMUCCSY
.
You are receiving this because you authored the thread.Message ID:
@.***>

Hi @gordonca you can see the warnings and errors in the checks by checking  this page: https://github.com/aiven/devportal/pull/1382/files You can see that a windows pops up with the error or warning about it. I will add one of the examples here, but you can find all the others in the page.

Hi Laysa,
I updated again per your suggestion and the warnings.
Thank you for your patience.
-Gordon
On Thu, Sep 15, 2022 at 3:52 PM laysa uchoa @.***>
wrote:

@.**** commented on this pull request.
In docs/products/redis/howto/benchmark-performance.rst
https://github.com/aiven/devportal/pull/1382#discussion_r972367586:

+Redis®* memtier_benchmark is a command line utility developed by Redis Labs (formerly Garantia Data Ltd.) for load generation and bechmarking NoSQL key-value databases. It is recommended for the performance benchmarking of Aiven Redis®* services.

+.. Warning::

redis-benchmark is not supported to work with Aiven services, since CONFIG command is not allowed to run.

+Prerequisites
+-------------
+* An Aiven Redis service running.
+* memtier_benchmark installed. To install the tool, first download the source code from github <https://github.com/RedisLabs/memtier_benchmark>_, and follow the instructions in README to install all the dependencies, then build and install the tool. Now it's ready to go.

+.. Note::

The Testing section in README is not mandatory, can be skipped.

+Running benchmark
+-----------------
+Before using memtier_benchmark, read the help from :code:mentier_benchmark -h or this Redis article <https://redis.com/blog/memtier_benchmark-a-high-throughput-benchmarking-tool-for-redis-memcached/>_ to understand what the tool can offer.
⬇ Suggested change
-Before using memtier_benchmark, read the help from :code:mentier_benchmark -h or this Redis article <https://redis.com/blog/memtier_benchmark-a-high-throughput-benchmarking-tool-for-redis-memcached/>_ to understand what the tool can offer.
+Before using memtier_benchmark, read the help from :code:mentier_benchmark -h or this Redis article <https://redis.com/blog/memtier_benchmark-a-high-throughput-benchmarking-tool-for-redis-memcached/>_ to understand what the tool can offer.
—
Reply to this email directly, view it on GitHub
https://github.com/aiven/devportal/pull/1382#pullrequestreview-1109758923,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AORIMPKJGXFBWRWFLRSZYHDV6N477ANCNFSM6AAAAAAQMUCCSY
.
You are receiving this because you were mentioned.Message ID:
@.***>

Hi @laysauchoa, I updated the doc 4 days ago, do you have more comments? Thanks.

Hi, apologies for the delay. I will have time next week to review it again and test it.

No worries. Thanks for the update.
On Tue, Sep 20, 2022 at 4:08 PM laysa uchoa @.***>
wrote:

Hi, apologies for the delay. I will have time next week to review it again
and test it.
—
Reply to this email directly, view it on GitHub
https://github.com/aiven/devportal/pull/1382#issuecomment-1252855602,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AORIMPM6ZJJNKTSSPSQKFQ3V7IKS5ANCNFSM6AAAAAAQMUCCSY
.
You are receiving this because you were mentioned.Message ID:
@.***>

Hi Laysa,
I added the link to readme, also did some rewording to explain the sample
command's output roughly. It would be too verbose to explain the output in
detail. I expect readers can understand the meaning of the data if they
read the output carefully, since it's kind of self-explanatory.
Please let me know if you have more comments.
Thanks.
On Thu, Sep 29, 2022 at 8:20 AM laysa uchoa @.***>
wrote:

Would be possible to link which readme you are referring here: The
Testing section in README is not mandatory, can be skipped.
The command’s output (running on an Aiven for Redis service) is quite
self-explanatory. I am not sure if this is relevant or which information
that this brings, would be possible to explain and what comes next. Is the
output what comes right after this?
—
Reply to this email directly, view it on GitHub
https://github.com/aiven/devportal/pull/1382#issuecomment-1262198056,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AORIMPM7FYSJRFXZTXJOTQDWAWCRFANCNFSM6AAAAAAQMUCCSY
.
You are receiving this because you were mentioned.Message ID:
@.***>

Thank you for the fixes. We need to fix some warnings and some words before. I will check once again when we fix the warnings.

Thank you for your contribution @laysauchoa 😄


Add deadlines to tasks

Is your feature request related to a problem? Please describe.
I would like the ability to add deadlines to tasks, such as the ability to set a task to be completed by 01-30-19
Describe the solution you'd like
a command something along the lines of tb --task complete modern algebra assignment 1 --due 01/30/2019 23:59
Additional context
I think this with the subtasks feature request could make this both way more versatile and useful. I could probably find a way to integrate it with an existing calendar with these features (I've played around with the calendar API before)

Hey, i created a fork of the taskbook project and started to continue development. I implementat a duedate functionality and the possibility to use google firestore to sync your task with all your devices. Maybe you want to have a look. https://github.com/perryrh0dan/taskline

due: 2022-09-19

due: 2022-09-19


Cannot manually enter special characters for contributor names

In the work contributor boxes, you are expected to search NAF.  If your contributor isn't in NAF or is not yet searchable, you can enter as a literal.  But if it has a special character, you can't enter the special character.  And if you do click to enter as a literal, you can't edit the name without starting over.
Using Firefox. in production
In the work contributor boxes, you are expected to search NAF.  If your contributor isn't in NAF or is not yet searchable, you can enter as a literal.  But if it has a special character, you can't enter the special character.  And if you do click to enter as a literal, you can't edit the name without starting over.

Just a follow up--you can see the special character in the name, but that's because i copied the name from OCLC.  I don't know if in fact the special character is the same one as would be used if i were able to input it from the table--i don't think it is.

see #2084, i'm going to add this example to that ticket and close current ticket


Apply the logging labels "ecosystem", "package" and "version" across all logging during an analysis run.

This will make it easier to filter logs in GCloud based on what is happening.
We likely need to refactor the logging to support this and may eventually need to pass a "logger" between various components.

Other related thoughts:

as well as logging ecosystem, package and version we should also log message id across all logs. A pubsub message is useful as a context ID across the life of an individual analysis request.

Note: this is now being implemented by using log/slog in Go v1.21 and passing the vars in a Context.

@calebbrown can this be closed now?

Yes!


changed gemspec to allow installation in a rails 3.1 project

Tested in our project. This change allowed us to install the gem and some initial "acts_as_mappable" queries seem to be working fine.

@jlecour could you please merge this? Right now nobody can use geokit with rails 3.1 without having his own fork.
This pull request has been hanging here for months and is fairly trivial.

Sorry guys I didn't made it clear, but this has been committed in 5a46c1e7be1cbacacaba5178afca4c7fad5da6e9 and published in a 0.1.5 version on October 6th, 2011.

Great, thanks for making the change.


test cnmem on mac and linux

We think it should work. We did the same as other lib in that case, but testing would be good.

I'll have to work on this with our framework team. I'll update you when I know more.


Hi, missing clang directory?

I guess the clang repo is missing, which should located in tools/clang....

I meet the same problem.


Clean rolling CI

The change looks OK to me, but this is failing because I think https://github.com/ros/geometry_tutorials/blob/6481e8fa9b5cef611f3d6d3aea2ea338701c481a/turtle_tf2_cpp/src/turtle_tf2_message_filter.cpp#L55 needs to be updated to pass in a QoS parameter.

@clalancette friendly ping


Remove deprecated {{view 'select'}}

http://emberjs.com/deprecations/v1.x/#toc_ember-select

Also, we could consider using https://github.com/emberjs/ember-legacy-views to silence the deprecation for now.


builder: write empty pages

In the event where a document entry only contains a title reference and is removed via the confluence_remove_title option, the resulting page will be empty. While this should be fine, the existing builder implementation would not generate an output document which was empty. This would leave to an error such as the following:
WARNING: error reading file<filename>.conf: [Errno 2] No such file or directory: ...

If a documentation set has an empty page, this extension should still be creating/publishing it. Correcting this in the builder to write content if even an empty string is set.

See also #410.


How to train new landmark  model?

I want to get landmarks including pupil points. Can this project be trained to get landmark meeting my need if I have data including more landmarks? What should I do?

maybe this will help https://github.com/weblineindia/AIML-Pupil-Detection


ROX-21690: embed initial mapping files

Description
Embed the latest version of the RHEL-related mapping files into each Scanner image. This is required to ensure indexing can occur when Scanner v4 starts up before Central
Checklist

[x] Investigated and inspected CI test results
~[ ] Unit test and regression tests added~
~[ ] Evaluated and added CHANGELOG entry if required~
~[ ] Determined and documented upgrade steps~
~[ ] Documented user facing changes (create PR based on openshift/openshift-docs and merge into rhacs-docs)~

Testing Performed
Here I tell how I validated my change
Pull the image to find the files in the image
Reminder for reviewers
In addition to reviewing code here, reviewers must also review testing and request further testing in case the
performed one does not seem sufficient. As a reviewer, you must not approve the change until you understand the
performed testing and you are satisfied with it.

@jvdm you definitely have more Linux filesystem expertise than I do. I threw the files into /run/mappings (made that up). I wanted to put them in a directory which signifies the files are required by the scanner binary but are also not configurations for the program. I figured /run made sense, but I'm not an expert. What do you think?


Support props config for MasterSlave rule.

To config props for MasterSlave rule, not just for Sharding rule, we need to do work as follows:

Add modules in Sharding core.
Support it in Sharding JDBC and Yaml.
Support it in Spring namespace.
Support it in Spring boots.
Support it in Sharding Proxy.
Support to store the props config in registry.

please refer to ISSUE #1004.


Fix rounding issue in impact map

Fixes rounding  deforestation impact map that was showing duplicated legend entries by  rounding up to 2 decimal places instead of 0
General description
Please write a description. If the PR is hard to understand, provide a quick explanation of the code.
Designs
Link to the related design prototypes (if applicable)
Testing instructions
Provide minimal instructions on how to test this PR.

Apart from the added feature / bug fix, check overall performance, styling...

Checklist before merging

[ ] Branch name / PR includes the related Jira ticket Id.
[ ] Tests to check core implementation / bug fix added.
[ ] All checks in Continuous Integration workflow pass.
[ ] Feature functionally tested by reviewer(s).
[ ] Code reviewed by reviewer(s).
[ ] Documentation updated (README, CHANGELOG...) (if required)

There is still a rounding issue with the risk map but since it is going to disappear soon we will leave it broken :smiling_imp:


Hover with anchor tag is not persisted.

When I try to hover a hyperlink- ( anchor tag ) through automation using protractor in Chrome, I observed that hovering is not persisted. I can see the mouse over event but then it immediately stops and  it is not waiting until the next action to perform because after hovering I need to verify a tool tip. As mouse over is not waiting for the next action, as a result I can not able to verify the tool tip. I can able to click the anchor tag but facing issue with hovering.
The code snippet that I used is
browser.sleep( 5000 );
var ele = element( by.xpath( '//tf-infobox//[normalize-space(.)="Error 1"]/following-sibling:://a' ) );
browser.actions().mouseMove( ele ).perform();
browser.sleep( 5000 );
Node Version: 4.2.2
Protractor Version: 2.14
Chrome Version: 52.0
Chrome driver version: 2.21
Additional Info: Hovering issue is seen only for hyperlink - anchor tag but not for the other elements.
Can someone help me out to solve my problem.
Thanks!

Hi there!
Your question is better suited for StackOverflow or Gitter. Please ask a question there with the 'protractor' tag or post in the Gitter Channel to get help.
From the the getting help section of the README:

Please ask usage and debugging questions on StackOverflow (use the "protractor" tag) or in the Angular discussion group. (Please do not ask support questions here on Github.)

Thanks!


added Deneyap Arduino Projeleri library

i fixed @per1234 . is that new problem ?

@ArduinoBot please check it again.


Crashed: com.google.firebase.firestore EXC_BAD_ACCESS KERN_INVALID_ADDRESS 0x5263696e61502ebf

Crashed: com.google.firebase.firestore
EXC_BAD_ACCESS KERN_INVALID_ADDRESS 0x5263696e61502ebf
0
FirebaseFirestore
firebase::firestore::immutable::impl::LlrbNodeIterator<firebase::firestore::immutable::impl::LlrbNode<firebase::firestore::model::DocumentKey, firebase::firestore::model::MutableDocument> >::AccumulateLeft(firebase::firestore::immutable::impl::LlrbNode<firebase::firestore::model::DocumentKey, firebase::firestore::model::MutableDocument> const*, std::__1::stack<firebase::firestore::immutable::impl::LlrbNode<firebase::firestore::model::DocumentKey, firebase::firestore::model::MutableDocument> const*, std::__1::deque<firebase::firestore::immutable::impl::LlrbNode<firebase::firestore::model::DocumentKey, firebase::firestore::model::MutableDocument> const*, std::__1::allocator<firebase::firestore::immutable::impl::LlrbNode<firebase::firestore::model::DocumentKey, firebase::firestore::model::MutableDocument> const*> > >*) + 72
1
FirebaseFirestore
firebase::firestore::immutable::impl::LlrbNodeIterator<firebase::firestore::immutable::impl::LlrbNode<firebase::firestore::model::DocumentKey, firebase::firestore::model::MutableDocument> >::operator++() + 84
20
libsystem_pthread.dylib
start_wqthread + 8

[REQUIRED] Step 1: Describe your environment

Xcode version: 12.5.1
Firebase SDK version: 8.6.1
Installation method: `CocoaPods
Firebase Component: Database, Firestore, Messaging, Auth, Crashlytics, Analytics, Performance

When getting data from firestore app was crashed not everytime Its a random crash.

Hi @sspogra. Thank you for reporting this crash. Based on the information you provided, this appears to be a duplicate of #8607, which was fixed by #8610. Although the fix is not yet released, you could test it out by following the instructions here: https://github.com/firebase/firebase-ios-sdk/issues/8612#issuecomment-911882931.
In the Xcode screenshot you provided, the left pane is too small horizontally to see what methods are in the call stack. I'm guessing that one of them is firebase::firestore::local::LevelDbRemoteDocumentCache::GetAllExisting and, if that is true, then this bug is definitely fixed by #8610.
If you think that this is a different crash than the duplicate mentioned above, could you reproduce it under Address Sanitizer? This will help produce a more useful report of the invalid memory access.


Update cosmoshub to v12.0.0

Cosmoshub will be upgraded to v12.0.0 at block https://www.mintscan.io/cosmos/blocks/16985500
Estimated Time:  Sep 13th 2023, 13:48:58
Proposal: https://www.mintscan.io/cosmos/proposals/821

@tombeynon can we have a pre-release image here please?

pre-release image v0.3.48-rc1-cosmoshub-v12.0.0

ghcr.io/akash-network/cosmos-omnibus:v0.3.48-rc1-cosmoshub-v12.0.0


Boost fiber fix #47537

include/boost/fiber/detail/context_spmc_queue.hpp:1:1: error: stray ‘\357’ in program
Motivation for this change
Fix #47537
Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Fits CONTRIBUTING.md.

Thank you for spotting this bug. However, a first analysis (see https://github.com/NixOS/nixpkgs/issues/47537#issuecomment-425752654) indicates that the header file is broken during the build process, which may be a result of a more general bug.
So instead of fixing the symptom in postFixup like you do here, let's find and fix the underlying issue causing it.
I advise against merging this unless we really understand the cause of the problem.

@GrahamcOfBorg build boost

Success on aarch64-linux (full log)
Attempted: boost
Partial log (click to expand)
shrinking /nix/store/f1b4cmb9qdypkj0j5gxai3lpa8znd93p-boost-1.67_0/lib/libboost_atomic.so.1.67.0
strip is /nix/store/y4ymnvgxygpq05h03kyzbj572zmh6zla-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/f1b4cmb9qdypkj0j5gxai3lpa8znd93p-boost-1.67_0/lib
patching script interpreter paths in /nix/store/f1b4cmb9qdypkj0j5gxai3lpa8znd93p-boost-1.67_0
checking for references to /build in /nix/store/f1b4cmb9qdypkj0j5gxai3lpa8znd93p-boost-1.67_0...
shrinking RPATHs of ELF executables and libraries in /nix/store/d64vw3ij6cwmlzgcz1h01djq6ka0yy2r-boost-1.67_0-dev
strip is /nix/store/y4ymnvgxygpq05h03kyzbj572zmh6zla-binutils-2.30/bin/strip
patching script interpreter paths in /nix/store/d64vw3ij6cwmlzgcz1h01djq6ka0yy2r-boost-1.67_0-dev
checking for references to /build in /nix/store/d64vw3ij6cwmlzgcz1h01djq6ka0yy2r-boost-1.67_0-dev...
/nix/store/f1b4cmb9qdypkj0j5gxai3lpa8znd93p-boost-1.67_0

Success on x86_64-darwin (full log)
Attempted: boost
Partial log (click to expand)
/nix/store/ri5hqj06idnl0ag80bbbmxv0p27yvag5-boost-1.67_0/lib/libboost_system.dylib: fixing dylib
/nix/store/ri5hqj06idnl0ag80bbbmxv0p27yvag5-boost-1.67_0/lib/libboost_thread.dylib: fixing dylib
/nix/store/ri5hqj06idnl0ag80bbbmxv0p27yvag5-boost-1.67_0/lib/libboost_timer.dylib: fixing dylib
/nix/store/ri5hqj06idnl0ag80bbbmxv0p27yvag5-boost-1.67_0/lib/libboost_type_erasure.dylib: fixing dylib
/nix/store/ri5hqj06idnl0ag80bbbmxv0p27yvag5-boost-1.67_0/lib/libboost_unit_test_framework.dylib: fixing dylib
/nix/store/ri5hqj06idnl0ag80bbbmxv0p27yvag5-boost-1.67_0/lib/libboost_wave.dylib: fixing dylib
/nix/store/ri5hqj06idnl0ag80bbbmxv0p27yvag5-boost-1.67_0/lib/libboost_wserialization.dylib: fixing dylib
strip is /nix/store/4w56qihlrddav67p7d1vy5qkyayaqw11-cctools-binutils-darwin/bin/strip
patching script interpreter paths in /nix/store/5kwcacm5qz4ya0l5m4j6qkwgjcrd9xk0-boost-1.67_0-dev
/nix/store/ri5hqj06idnl0ag80bbbmxv0p27yvag5-boost-1.67_0

Success on x86_64-linux (full log)
Attempted: boost
Partial log (click to expand)
shrinking /nix/store/c93iiccfki12bl3pz2dzi687mwq41757-boost-1.67_0/lib/libboost_iostreams.so.1.67.0
strip is /nix/store/h0lbngpv6ln56hjj59i6l77vxq25flbz-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/c93iiccfki12bl3pz2dzi687mwq41757-boost-1.67_0/lib
patching script interpreter paths in /nix/store/c93iiccfki12bl3pz2dzi687mwq41757-boost-1.67_0
checking for references to /build in /nix/store/c93iiccfki12bl3pz2dzi687mwq41757-boost-1.67_0...
shrinking RPATHs of ELF executables and libraries in /nix/store/hqgnf81zq9hmxwbb8acl2vpi1s4pn7cc-boost-1.67_0-dev
strip is /nix/store/h0lbngpv6ln56hjj59i6l77vxq25flbz-binutils-2.30/bin/strip
patching script interpreter paths in /nix/store/hqgnf81zq9hmxwbb8acl2vpi1s4pn7cc-boost-1.67_0-dev
checking for references to /build in /nix/store/hqgnf81zq9hmxwbb8acl2vpi1s4pn7cc-boost-1.67_0-dev...
/nix/store/c93iiccfki12bl3pz2dzi687mwq41757-boost-1.67_0

Thank you!
Since this PR causes a mass rebuild it should go to the staging branch first.
I have picked your fix to staging and squashed the two commits into one: da4813072f3cab88cff1ee71be9f877c3ed774a8.
It will end up in master in about 1-2 weeks with the next staging iteration.


Fix allow product label overwrites

1. Why is this change necessary?
At the moment it is not possible to overwrite the label of a product in cart.
The test for the given feature is also broken.
2. What does this change do, exactly?
Fixes an illogical condition and the belonging test as well.
3. Describe each step to reproduce the issue or behaviour.
Via API

Set the permissions to allow product label overwrites
Add a product line item with a custom label to the cart
The label will still be the translated name of the product instead of the custom label

5. Checklist

[x] I have written tests and verified that they fail without my change
[x] I have squashed any insignificant commits
[x] I have created a changelog file with all necessary information about my changes
[ ] I have written or adjusted the documentation according to my changes
[ ] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfil them.

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

Hello,
thank you for creating this pull request.
I have opened an issue on our Issue Tracker for you. See the issue link: https://issues.shopware.com/issues/NEXT-19863
Please use this issue to track the state of your pull request.

Hey @NilsEvers thanks for your contribution! :tada: :blue_heart:


Translate skill to Spanish

Hi.
I would like to translate the skill to Spanish.

If you can translate the following it will speed things up:

An Alexa Home Skill for use with Node-RED

Node-RED is a tool for wiring the Internet of Things, this skill allows you to use Alexa to trigger Node-RED flows.
Node-RED flows can control many different home device such as Belkin WeMo and Philips Hue Lights or any number of home brew devices and services. A list of Node-RED nodes that can be invoked via the Node-RED Alexa Home Skill node can be found at http://flows.nodered.org
To use this skill you must have an instance of Node-RED and install the node-red-contrib-alexa-home-skill node, this can be installed on your own device or on a cloud service. For more details about Node-RED and how to install it see here http://nodered.org. Details of how to install and configure node-red-contrib-alexa-home-skill can be found here https://alexa-node-red.bm.hardill.me.uk/docs

Alexa, turn on kitchen light
Alexa, set bedroom to 24 degrees
Alexa, dim living room light

Hi.
Done!
EN - An Alexa Home Skill for use with Node-RED
ES - Un Skill de Alexa Home para usar con Node-RED
EN - Node-RED is a tool for wiring the Internet of Things, this skill allows you to use Alexa to trigger Node-RED flows.
ES - Node-RED es una herramienta para enlazar el Internet de las Cosas (IoT), este skill te permite usar Alexa para lanzar flujos Node-RED.
EN - Node-RED flows can control many different home device such as Belkin WeMo and Philips Hue Lights or any number of home brew devices and services. A list of Node-RED nodes that can be invoked via the Node-RED Alexa Home Skill node can be found at http://flows.nodered.org
ES - Los flujos Node-RED pueden controlar muchos dispositivos domésticos diferentes como bombillas Belkin WeMo y Philips Hue o cualquier dispositivo y servicio artesanal o casero. Puedes encontrar una lista de los nodos Node-RED que pueden ser invocaddos a través del Skill Alexa Home Node-RED en http://flows.nodered.org
EN - To use this skill you must have an instance of Node-RED and install the node-red-contrib-alexa-home-skill node, this can be installed on your own device or on a cloud service. For more details about Node-RED and how to install it see here http://nodered.org. Details of how to install and configure node-red-contrib-alexa-home-skill can be found here https://alexa-node-red.bm.hardill.me.uk/docs
ES - Para usar este skill debes tener una instancia de Node-RED e instalar el nodo node-red-contrib-alexa-home-skill, este puede ser instalado en tu propio dispositivo o en un servicio cloud. Para más detalles sobre Node-RED y de cómo instalarlo consulta http://nodered.org . Puedes encontrar detalles sobre cómo instalar y configurar node-red-contrib-alexa-home-skill en https://alexa-node-red.bm.hardill.me.uk/docs
EN - Alexa, turn on kitchen light
ES - Alexa, enciende la luz de la cocina
EN - Alexa, set bedroom to 24 degrees
ES - Alexa, pon la habitación a 24 grados
EN - Alexa, dim living room light
ES - Alexa, atenúa la luz del salón

I've sent the update off to Amazon to approve, this can take a while.
I'll close the issue when it's live

Thanks!

Hi @hardillb
Do you know how long can take Amazon to approve this?
Is normal them to take 2 weeks or more?
Thanks!

Yes this is normal, mainly because they always reject skills based on grammar in the description and usually multiple times and they only point out one error at a time

Ok, hope them aprove it soon, can't wait to test!
Thanks!

Should be live now

Many thanks!


TypeScript rewrite

An initial draft of a possible 3D Tiles Tools rewrite. Further details will be added here soon.

The current state is a rewrite based on TypeScript that replicates most of the previous command-line functionality.
The supported command line functions are described in the README at https://github.com/javagl/3d-tiles-tools/blob/tools-ts/README.md
Implementation notes for the current strucuture can be found at https://github.com/javagl/3d-tiles-tools/blob/tools-ts/IMPLEMENTATION.md

@javagl is this roughly what's left after this PR is merged? Anything big I'm missing?

Analyze tile data: https://github.com/CesiumGS/3d-tiles-tools/pull/17
Reworked pipeline functionality
Finish tileset traversal
Support for implicit tiling
Any more changes from 2.0-tools, 2.0-tools-fix, 2.0-tools-hack, 2.0-tools-unlit that need to be incorporated into the upgrade stage?
Publish on npm
Tileset statistics stage (number of tiles, etc)

Regarding the bullet points from the previous comment: That should be the main next points.
The descriptions are high-level for now (e.g. it's not clear what constitutes "reworked pipeline functionality"), some of them depend on each other, and therefore have different priorities. But things like the (implicit) traversal will be one of the next steps.
I tried to do a comparison of the 2.0-tools-* branches earlier, but only saw some ... let's say "subtle" differences where the purpose of a certain change was not clear. For example, https://github.com/CesiumGS/3d-tiles-tools/compare/2.0-tools-fix...2.0-tools-hack or https://github.com/CesiumGS/3d-tiles-tools/compare/2.0-tools...2.0-tools-fix . I'm tempted to say: "Let's see whether something comes up, and fix it when necessary"...

I wonder if the CLI should catch the error and print the message instead of showing a DeveloperError.

I just did that, basically just wrapping the run() call into a try...catch and printing the exception ( https://github.com/javagl/3d-tiles-tools/blob/7339891572ff58c011967609b89acab57abca700/src/main.ts#L257 )

Regarding the inlined comments: Most of this refactoring/rewrite focussed on the code for now. The inlined comments referred to the remaining infrastructure, and there are still some unkowns with that. However, the comments have been addressed, and I'll mark them as "resolved" for now, with a quick summary here:

The README.md now shows a Draco example for optimizeB3dm
The README.md contains an example for the upgrade, even though it's not sooo well specified...
The package.json now contains the homepage/repository/... info
Instructions for build/test/package have been added to IMPLEMENTATION.md.

For the last two points: The package.json has been extended, basically taking the functionality from the validator for build/docs/package. This includes the use of api-extractor, even though currently the whole API is marked as 'internal' (we still have to sort out what exactly should be exposed in the initial release. I'll also have to cross-check this with the usage of the tools in the validator...). Therefore, the notes in IMPLEMENTATION.md are basically taken 1:1 from the validator as well.


feat: expand tilde to home directory

This extends the NETRC env variable to a full path when starting with ~. This works on both windows and unix.
closes #4

Could you please make a release to crates.io when this is merged?


Improvements

This makes a few improvements:

Removed makeActions in favor of a simple array.
Whitespace changes and a little doc
This fixes the line action(pre.appendChild, pre.querySelector('code') || pre, [line]);. action is an object.

Please verify that the reflow problem is still fixed. @Mattchewone @justinbmeyer.

Looks good to me.