FF4j Audit

Hi,
I am working on adding audit features for ff4j.
I have added the tables as explained in the below link.
https://github.com/clun/ff4j/blob/master/ff4j-core/src/main/resources/schema-ddl.sql
Can anybody tell me , how to do audit?
I am using FeatureStoreSpringJdbc   and enabled the audit.
Thanks
Vinod

Hello,
Thank you for using FF4J. As attributes of the FF4j class you have 3 elements to store data :

FeatureStore : Which handles states of the features, strategies, security...
PropertyStore : Which handles a set of properties to externalize the configuration of your application (could be use with commons-configuration, archaius, Spring. placeHolder...)
EventRepository : which store all audit and metrics . This action operations but also the audit (feature usage).

By default the 3 are set up with the implementation "InMemory". You probably have set up everything to use the FeatureStore JDBC implementation. You should now set up the EventRepository JDBC configuration.
To add to the confusion (and this my mistake) there are 2 implementations of JDBC. One with core JDBC implementation (to avoid using Spring), in ff4j-core, and one using spring-jdbc in the module "ff4j-store-springjdbc". So far in SpringJDBC I implemented FeatureStore and PropertyStore but not the EventRepository (could be pretty fast as I have all queries ready).
As a conclusion please find here a way to set up your application:
// Initialization of your DataSource
DataSource ds = ...

// Init the framework full in memory
FF4j ff4j = new FF4j();

// Feature States in a RDBMS
FeatureStoreSpringJdbc featureStore= new FeatureStoreSpringJdbc();
featureStore.setDataSource(ds);
ff4j.setFeatureStore(featureStore);

// Properties in RDBMS
PropertyStoreSpringJdbc propertyStore= new PropertyStoreSpringJdbc();
jdbcStore.setDataSource(ds);
ff4j.setPropertiesStore(propertyStore);

// Audit in RDBMS
// So far the implementation with SpringJDBC is not there, leverage on default JDBC
EventRepository auditStore = new JdbcEventRepository(ds);
ff4j.setEventRepository(eventRepository);

ff4j.audit(true);

Will add this as part of the wiki as well

https://github.com/clun/ff4j/wiki/Store-Technologies#jdbc
My pleasure :)

Hi,
That works..Thanks.
Mean while another question.
Once I created the RDBMS tables (I use postGres), I am getting an error
which says "cannot find ff4j_features.feat_uid".
I renamed all the columns, and the error is gone and the ff4 j started
working as expected.
Is it because the script has double quotes while creating the tables?
Thanks
Vinod
On Tue, Apr 11, 2017 at 2:33 AM, Cédrick Lunven<EMAIL_ADDRESS>wrote:

Hello,
Thank you for using FF4J. As attributes of the FF4j class you have 3
elements to store data :

FeatureStore : Which handles states of the features, strategies,
security...
PropertyStore : Which handles a set of properties to externalize
the configuration of your application (could be use with
commons-configuration, archaius, Spring. placeHolder...)
EventRepository : which store all audit and metrics . This action
operations but also the audit (feature usage).

By default the 3 are set up with the implementation "InMemory". You
probably have set up everything to use the FeatureStore JDBC
implementation. You should now set up the EventRepository JDBC
configuration.
To add to the confusion (and this my mistake) there are 2 implementations
of JDBC. One with core JDBC implementation (to avoid using Spring), in
ff4j-core, and one using spring-jdbc in the module "ff4j-store-springjdbc".
So far in SpringJDBC I implemented FeatureStore and PropertyStore but not
the EventRepository (could be pretty fast as I have all queries ready).
As a conclusion please find here a way to set up your application:
// Initialization of your DataSourceDataSource ds = ...
// Init the framework full in memoryFF4j ff4j = new FF4j();
// Feature States in a RDBMSFeatureStoreSpringJdbc featureStore= new FeatureStoreSpringJdbc();
featureStore.setDataSource(ds);
ff4j.setFeatureStore(featureStore);
// Properties in RDBMSPropertyStoreSpringJdbc propertyStore= new PropertyStoreSpringJdbc();
jdbcStore.setDataSource(ds);
ff4j.setPropertiesStore(propertyStore);
// Audit in RDBMS// So far the implementation with SpringJDBC is not there, leverage on default JDBCEventRepository auditStore = new JdbcEventRepository(ds);
ff4j.setEventRepository(eventRepository);
ff4j.audit(true);
Will add this as part of the wiki as well
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/clun/ff4j/issues/217#issuecomment-293164558, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ASYM4-WFDGMdDaEpAcplY_DuwKgRNAr-ks5rux6rgaJpZM4M42PO
.

Added the expected store

Part of 1.6.4 released 2017_05_01

Hi Clun,
I am trying FF4J for my organization for my existing Struts / Servlet project. I am get the basic things up and running. I can create a feature and use it JSP/Java etc. But I have encountered some issues which I am not able to proceed further.
I am using MS SQL Server as my feature/property/event stores.
Below is my FF4JProvider implemenatation,
public TeamFF4JProvider() {
/ff4j = new FF4j("ff4j.xml");/
BasicDataSource dbcpDataSource = new BasicDataSource();
dbcpDataSource.setDriverClassName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
dbcpDataSource.setUsername("");
dbcpDataSource.setPassword("*****");
dbcpDataSource.setUrl("***");
ff4j = new FF4j();
final JdbcFeatureStore jdbcFeatureStore = new JdbcFeatureStore(dbcpDataSource);
final JdbcPropertyStore jdbcPropertyStore = new JdbcPropertyStore(dbcpDataSource);
FeatureStore featureStore = new FeatureStoreAuditProxy(ff4j, jdbcFeatureStore);
PropertyStore propertyStore = new PropertyStoreAuditProxy(ff4j, jdbcPropertyStore);
ff4j.setFeatureStore(featureStore);
ff4j.setPropertiesStore(propertyStore);
ff4j.setEventRepository(new JdbcEventRepository(dbcpDataSource));
// Enable Audit Proxy
ff4j.audit(true);
ff4j.autoCreate(true);
}

How to enable auditing. I created all the audit tables and set audit as true. But I am not seeing any audit entries getting inserted.

How to enable caching? Any documentation for this?

How to implement feature toggle at the javascript/css level? Any examples?

What is the best practice to remove the feature flag in a agile project? Any recommendations? What should I do if my feature flag are increasing in each release? When should I remove those?

Thanks In Advance.

Hello,
(1) - How to enable auditing.

Your code seems over complicated, yo do not need to create proxies by
yourself. Maybe a working sample may help you

https://github.com/clun/ff4j-samples/tree/master/ff4j-
sample-simplejdbc

Code to enable audit is here :
https://github.com/clun/ff4j-samples/blob/master/ff4j-
sample-simplejdbc/src/main/java/org/ff4j/hello/
MyFF4jProvider.java#L36-L38
https://github.com/clun/ff4j-samples/blob/master/ff4j-sample-simplejdbc/src/main/java/org/ff4j/hello/MyFF4jProvider.java#L36-L38

Documentation was not up-to-date. It is now  updated

https://github.com/clun/ff4j/wiki/Advanced-Concepts#audit--monitoring

(2) - How to enable caching? Any documentation for this?

I updated the wiki page accordlingly

https://github.com/clun/ff4j/wiki/Advanced-Concepts#caching

(3) - How to implement feature toggle at the javascript/css level? Any
examples?

You can use TagLib or REST API for JS

Documentation is "online" so far you need to start a spring boot
sample, the link ifs on the home page

(4) - What is the best practice to remove the feature flag in a agile
project? Any recommendations? What should I do if my feature flag are
increasing in each release? When should I remove those?

My advice would be : As soon as you need to nest your features ...
WARNING start to clean up.
Now, feature toggle cannot be used only for temporary features, you
can let them (use AOP for better code readibility) and use the audit
mechanism.

2017-10-30 5:20 GMT+01:00 abuinteam<EMAIL_ADDRESS>
Hi Clun,
I am trying FF4J for my organization for my existing Struts / Servlet
project. I am get the basic things up and running. I can create a feature
and use it JSP/Java etc. But I have encountered some issues which I am not
able to proceed further.
I am using MS SQL Server as my feature/property/event stores.
Below is my FF4JProvider implemenatation,
public TeamFF4JProvider() {
/ff4j = new FF4j("ff4j.xml");/
BasicDataSource dbcpDataSource = new BasicDataSource();
dbcpDataSource.setDriverClassName("com.microsoft.sqlserver.jdbc.
SQLServerDriver");
dbcpDataSource.setUsername("
"); dbcpDataSource.setPassword("*****"); dbcpDataSource.setUrl("***");
ff4j = new FF4j();
final JdbcFeatureStore jdbcFeatureStore = new JdbcFeatureStore(
dbcpDataSource);
final JdbcPropertyStore jdbcPropertyStore = new JdbcPropertyStore(
dbcpDataSource);
FeatureStore featureStore = new FeatureStoreAuditProxy(ff4j,
jdbcFeatureStore);
PropertyStore propertyStore = new PropertyStoreAuditProxy(ff4j,
jdbcPropertyStore);
ff4j.setFeatureStore(featureStore);
ff4j.setPropertiesStore(propertyStore);
ff4j.setEventRepository(new JdbcEventRepository(dbcpDataSource));
// Enable Audit Proxy
ff4j.audit(true);
ff4j.autoCreate(true);
}

How to enable auditing. I created all the audit tables and set audit
as true. But I am not seeing any audit entries getting inserted.
2.
How to enable caching? Any documentation for this?
3.
How to implement feature toggle at the javascript/css level? Any
examples?
4.
What is the best practice to remove the feature flag in a agile
project? Any recommendations? What should I do if my feature flag are
increasing in each release? When should I remove those?
Thanks In Advance.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/clun/ff4j/issues/217#issuecomment-340340239, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAsWCG5ycigToMCbYvX4McTJ1pGK9Ewkks5sxU6jgaJpZM4M42PO
.

--
Cédrick
*"Try not to become a man of success, but rather try to become a man of
value." (*Albert Einstein)

Thank you very much Clun. I will try these example and will update my comments.

Hi Clun,
Again Thank you very much. The below are my observations. I will try the cache tomorrow.

Auditing/Graph are not working with SQL Server. I tried with MySQL. Auditing is working fine. I was getting an error "Operand type clash: datetime2 is incompatible with timestamp" using MSSQL "timestamp" datatype in SQL Server

Feature update is not working fine. I am getting an error message. Getting an error "Cannot update features database, SQL ERROR"

I feel the graph's are showing wrong numbers. I just hit the page couple of times but the count seems to be not matching.

How can I secure the admin console and rest api? Any documentation available?

How to assign roles? Any documentation for integrating with  Spring Security or Apache Shiro?

We might say there is problem with SQLServer and JDBCEventrepository => have to check the support of Timestamp datatype in SQLServer, may required a dedicated DDL. (was the case for DB2)

Can you confirm this appears with SQLServer again ? Could you give me the version 2014/2016. For 2016 i know there is a param to enable to understand older SQL but not sure it it's relevant here.

I will provide you a working example, the hit will be updated it the feature is toggled on and use in JSP or underlying service. I am sure it works, a matter of configuration here.

To secure admin console/ REST API please have a look #245

Spring Security : Roles=GrantedAuthority so part of Spring security conf

Sample : SpringConf https://github.com/clun/ff4j-samples/blob/master/ff4j-demo/src/main/resources/applicationContext-security.xml
Sample FF4J conf : https://github.com/clun/ff4j-samples/blob/master/ff4j-demo/src/main/resources/applicationContext.xml#L29

Thank you Clun.

Forgot to mention. Point 2 happens in MySQL not SQL Server. I am using the version 5.7.20.

Since SQL Server is having the audit issue I am using MySQL.
Thank you for other links. I am looking into the links.

Hi Clun,

I was trying simple EhCache. Unfortunately I could not able to find JHipsterEhCacheCacheManager. Which jar file I have include in my project.

In the meantime I tried the below implementation from ff4j-store-ehcache-1.6.5.jar, I didnt see any errors but the flags are not working.

// EHCACHE
FF4JCacheManager ff4jCache = new FeatureCacheProviderEhCache();
ff4j.cache(ff4jCache);

I did see my console is showing ehcache as cachemanager but when I click ClearCache it goes to a blank page. What really happens when I hit ClearCache?

How DB and Cache works in FF4J. If I make a feature on to off will it go to cache first and DB or DB first and cache?

Thanks
Abuthahir

Hi Clun,
Can you please help me on the EhCache part?

Yes, sorry for delay. Will answer today on all mater (Caching, Securityà

For Ehcache I updated the documentation :
https://github.com/clun/ff4j/wiki/Advanced-Concepts#caching

Bonjour clun,
j'ai configuré FF4J avec H2 database et HIKARI datasource , l'EventRepositorySpringJdbc ne focntionne pas, je cree des features et je les trouve dans la base mais je fais enable/disable feature ceci n'est pas sauvegardé dans base ff4j_audit toujours vide
@Bean
public HikariDataSource dataSource() {
HikariDataSource jdbc = new HikariDataSource();
jdbc.setJdbcUrl(jdbcUrl);
jdbc.setPassword(jdbcPassword);
jdbc.setUsername(jdbcUserName);
return jdbc;
}
@Bean
public FF4j getFF4j(HikariDataSource dataSource) {
    FF4j ff4j = new FF4j();
    ff4j.setFeatureStore(new FeatureStoreSpringJdbc(dataSource));
    ff4j.setPropertiesStore(new PropertyStoreSpringJdbc(dataSource));
    ff4j.setEventRepository(new EventRepositorySpringJdbc(dataSource));
    ff4j.audit(true);
    return ff4j;
}


rev/cut: No such file or directory

Before filing a bug, check the following:

Do you use the latest release of aurutils and its dependencies? If so,
is the issue reproducible from the master branch?

Yes

Does the package conform to
PKGBUILD(5) and the
AUR package guidelines?

As far as I can tell yes.

Does the package provide the correct metadata on the

Yes

Does the package build with makepkg -s or extra-x86_64-build ?

Yes

Does the package use internal makepkg functions? (see FS#43502)

No, but it does run some commands in preparation (see below)

Is the problem reproducible, and not due to a misconfiguration of
pacman, makepkg, sudoers, gpg or others?

Yes
aurutils.log
========================
I have a particular package on the aur https://aur.archlinux.org/packages/nvim-packer-git/ which throws errors on aur-srcver:
❯ aur srcver .
PKGBUILD: line 9: rev: No such file or directory
PKGBUILD: line 9: cut: No such file or directory
PKGBUILD: line 9: rev: No such file or directory
nvim-packer-git	r475.7182f0d-1

The trouble seems to be with line 9 of the PKGBUILD:
_reponame="$(echo "${url}" | rev | cut -d/ -f1 | rev)"

Interestingly makepkg --skipinteg -od completes without error, so I presume this is an chroot env issue or similar. It should be noted that the non-error output of the command is actually correct (although I cannot tell if it would have been correctly updated by aur srcver, or just taking the existing version)

The PKGBUILD doesn't include util-linux or coreutils as makedepends which provide rev and cut.  Although base-devel does not include coreutils, I am surprised it isn't available somehow.
As an aside that level of abstraction is utterly ridiculous, especially when done so poorly.  (_reponame=${url##*/})

I didn't think such variable set ups needed or even could specify requirements via makedepends (as they run before dependencies are retrieved). But if it's definitely an issue with the pkgbuild I'd be happy to report it to the author.

Oh and fwiw, aur utils does build the package correctly, so it's just aur srcver that has the issue.

The issue is because aur-srcver sources the PKGBUILD with an empty environment, i.e. PATH is unset. There's usually no reason for PKGBUILDs to use commands outside of the packaging functions, and a replacement with bash parameter substitution is pointed out above.
On Fri, 21 Jan 2022 09:03:01 -0800
sshaikh @.***> wrote:

Oh and fwiw, aur utils does build the package correctly, so it's just aur srcver that has the issue.
--
Reply to this email directly or view it on GitHub:
https://github.com/AladW/aurutils/issues/898#issuecomment-1018692193
You are receiving this because you are subscribed to this thread.
Message ID: @.***>

--
alad @.***>

Thanks for confirming that. Is this an AUR policy thing?
I ask as I also see similar issues while building another package:
https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=pulseaudio-module-xrdp
which requires the pulseaudio binary to be available to extract a version from to download the correct make dependency.
Rather than bespoke fixes, it would be good if I can point the maintainers to some respective advice on the matter. If these are currently allowed by the AUR but shouldn't be I don't mind raising it for wider discussion.

It's not an AUR policy thing, just that the aur-srcver error coincides with the inability to build the packages inside a container. Like you said, commands run outside of packaging functions can't be specified in makedepends.
If a package can't be built inside a container, it's hard to say it follows the Arch packaging guidelines. However, that alone is not sufficient to delete the package - the vast majority of AUR packages do not build in a container.
Regarding pulseaudio-module-xrdp: that looks like a very strange case, with the upstream repository mentioning:

These modules make use of the internal pulseaudio module API. To build them you need access to the pulseaudio sources and configuration.

For a container build, either 1. the pulseaudio version can be hardcoded 2. pulseaudio is added to makedepends, and the pulseaudio sources retrieved manually in prepare() 3. the pulseaudio sources are packaged seperately.
For 3, Arch only provides the build files for the pulseaudio package (see https://sources.archlinux.org/sources/packages/pulseaudio-15.0-1.src.tar.gz) but not the actual sources (output from makepkg --allsource).

If it requires the pulseaudio source code, which the PKGBUILD does provide

Since this is a PKGBUILD problem and some alternatives were proposed, I'll close this issue.

Thanks, fwiw both PKGBUILDs have been improved and srcver now works for the first one, so happy for this to be closed.
However as an aside I'm not sure if the "builds in a container" qualifier is accurate since as indicated above packer did build in a container, it was just srcver that failed (I presume the containers used for building inherit some kind of basic tooling from the host). Might there be a way for srcver to gain parity with that (I understand that it's doing much less than building so would accept this as a quirk of the design)?

The gist of it is in the line here: https://github.com/AladW/aurutils/blob/master/lib/aur-srcver#L9
I used env -i originally because it was a cheap way to limit accidents from sourcing PKGBUILDs. While one may reasonable expect that someone inspected the PKGBUILD when running aur-sync, or did so before running aur-build, it is not clear if the same holds for aur-srcver.
aur-srcver already takes argument, so I suppose one could add -E / --env to preserve (a given list of) environment variables.

https://github.com/AladW/aurutils/pull/906
and aur-srcver -E PATH should work with PKGBUILDs like those described.

Sounds like a decent solution. Many thanks!

I want to add that my argument in https://github.com/AladW/aurutils/issues/898#issuecomment-1030624006 is wrong. aur-srcver will run makepkg -o no matter what you do. And obviously, makepkg can't run with an empty PATH.
As such in the next release aur-srcver will preserve the environment. The -E flag will stay for compatibility, but it will have no effect.


Notebook 03_testlocally

In my case, it took around 4-5 minutes to spin up the application. Perhaps the time varies by the type of VM used.

This may be a different issue than what Jaya experienced. At times, when I run this notebook, it can get stuck in the section at the bottom that looks to compute average time information for multiple images. I've had to restart the kernel, run everything again, and then it works. Fidan, who suggested the workaround, said she had similar problems. Now, a similar problem occurs with the corresponding notebook in MLAKSDeployment (notebook 04).

OK, will try to reproduce. Thanks

Interestingly I just re-ran the notebook today and it ran in less than a minute. There seems to be some variability in the amount of time required for this step.

OK, if it is not persistent or reproducible then it will be hard to address. I will leave this here but I will attribute this to transient behaviour and possible resource contention on the VM running things.

@marabout2015 If you think your issue is different please open another issue


Install Script Issue - raspberry pi

I typed ./min-install-script and got this.
Another issue is that I can't run ./install-script because it said this is going to be more than ten hours and only allowed me to type ./min-install-script.

 Done
Building dependency tree
Reading state information... Done
E: Unable to locate package liblog4cplus-1.1-9
E: Couldn't find any package by regex 'liblog4cplus-1.1-9'
`
It showed this. Is that because I did not download the package?

did you run sudo apt-get update?

I did.

can you tell us about what's your raspberry pi model and the os version?

Raspberry Pi 3 Model B
OS version 8

you can try do sudo apt-get install liblog4cplus-dev and run min-install-script to see if the producer builds. If not you have to upgrade to OS version 9. Dont forget to install all gstreamer dependencies too.

customer managed to build the plugin. closing the issue.

I have the exact same issue. What was the resolution? I have done sudo apt-get install liblog4cplus-dev but I still get the same error:
/home/pi/git/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-producer/src/DefaultCallbackProvider.cpp: In static member function ‘static void com::amazonaws::kinesis::video::DefaultCallbackProvider::logPrintHandler(UINT32, PCHAR, PCHAR, ...)’:
/home/pi/git/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-producer/src/DefaultCallbackProvider.cpp:308:40: error: ‘LOG4CPLUS_SUPPRESS_DOWHILE_WARNING’ was not declared in this scope
     LOG4CPLUS_SUPPRESS_DOWHILE_WARNING()
                                        ^
/home/pi/git/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-producer/src/DefaultCallbackProvider.cpp:321:39: error: ‘LOG4CPLUS_RESTORE_DOWHILE_WARNING’ was not declared in this scope
     LOG4CPLUS_RESTORE_DOWHILE_WARNING()

Please, can you share the solution? I'm having the same issue here and isn't related to the OS version, I tested it with Raspbian Stretch and Buster (the last OS release). Worth to mention that a few months ago I was able to perform build with ./install-script (yes, it takes a lot of time to perform). But on this occasion, I find this new message suggesting to use ./min-install-script instead.
When I try to run the gstreamer_sample_app after this suggested installation, the stream is created but stopped with the error:
log4cplus:ERROR Failed to open file ./log/kvs.log
I also found that this installation doesn't create the /bin directory at amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build/downloads/local
Help is appreciated.


Add support for parsing arbitrary test runner arguments

This PR is in preparation for future changes in the test generation framework.

It's very un-obvious to me that adding a leading period on the annotated expectations improves anything.  Are you planning to make the expectations valid expressions and compile them into executed Hylo code?

It is Swift code. The goal is to be able to pass different kinds of arguments and simplify the processing of the values so that we can generate Swift code by just regurgitating the string we have read.
I think it is actually simpler if the syntax we have up there is close to the Swift code that we eventually emit.


Use MASQUERADE instead of SNAT

When garden is running on hosts with multiple networks, the address associated with the default route should not always be used as the source of the traffic. By using MASQUERADE, the packets will pick up the address associated with adapter used to flow the request.

Thanks @sykesm. Looks like we'll get this merged next week.
Sorry for the delay, we're a bit thin on the ground right now!

Thanks @sykesm, that's now merged.
@totherme & @glyn


Fix to analysis GROUP BY

Context: https://github.com/github/orchestrator/issues/631
This PR fixes the analysis query, that has an invalid GROUP BY term. While the fix was easy, I'm puzzled at how this went under the radar with CI, and in particular with SQLite. I would have assumed it would have been caught earlier. I'll look into that.
cc @sharad-jha

Turns out SQLite, like MySQL without ONLY_FULL_GROUP_BY, allows invalid GROUP BY statements.
Work in progress to run ONLY_FULL_GROUP_BY sql_mode on CI MySQL.


Cannot read property 'numBeats' of undefined

Sorry for amount of issues but I run into this error:
Cannot read property 'numBeats' of undefined.
I probably do something wrong but I can't find it.
start
	save c = C4, E4, G4 for 2b
	save dm = D4, F4, A4 for 2b
	save em = E4, G4, B4 for 2b
	save f = F4, A4, C5 for 2b
	save g = G4, B4, D5 for 2b
	save am = A4, C5, E5 for 2b
	save bdim = B4, D5, F5 for 2b

	chunk intro
		play g
		play c
	endchunk

	chunk chorus
		play g
		play c
		play dm
		play f
	endchunk

	run intro with sound piano
	run chorus with sound piano
finish

@markknol thanks for this issue as well. It looks like an issue of scoping. Currently chunks are only looking in their own stack frame for variables so when you try to play your global playables the individual chunks can't access those variables. This should be a small fix, by making the stack frames look at their enclosing stack frame (and on) as well for variables. The symbol table already behaves this way which is why you are not getting a variable does not exist error.

@markknol thanks for this issue as well. It looks like an issue of scoping. Currently chunks are only looking in their own stack frame for variables so when you try to play your global playables the individual chunks can't access those variables. This should be a small fix, by making the stack frames look at their enclosing stack frame (and on) as well for variables. The symbol table already behaves this way which is why you are not getting a variable does not exist error.

This is now addressed here 86349677a5266781148d799c720b3dfe52f57cf6, and in Handel (v0.5.6) your above code works as expected.

This is now addressed here 86349677a5266781148d799c720b3dfe52f57cf6, and in Handel (v0.5.6) your above code works as expected.


Int::times: clean nitunit and expose negative behavior

I tried to use Int::times but the nitunit wasn't clear enough on the expected behavior.
Thanks at @BlackMinou for is moral support on this.

Reroll I changed the synopsis and kept the previous nitunit as a loop example.
(also kept the reference to Abed)

+1

+1


Document Actions Missing in Drawer

Link to reproduction
No response
Payload Version
3.0.0-beta.71
Node Version
v20.9.0
Next.js Version
15.0.0-canary.77
Describe the Bug
When editing a document in a drawer, the actions to duplicate and delete are missing
Reproduction Steps

Clone the payload 3.0 demo
Add a user relationship field to the pages collection:

    {
      slug: 'pages',
      admin: {
        useAsTitle: 'title',
      },
      fields: [
        {
          name: 'title',
          type: 'text',
        },
        {
          name: 'content',
          type: 'richText',
        },
        {
          name: 'user',
          type: 'relationship',
          relationTo: 'users',
        },
      ],
    },

Update the following code from the user collection:

      access: {
        delete: () => true,
        update: () => false,
      },

Run pnpm dev
Ensure that the delete action is available when editing a user outside of the drawer
Select a user within a pages document
Open the drawer to edit the user
The delete action is unavailable

Adapters and Plugins
No response

Hey @tobiasiv — we will check into this. I believe it is intentional but I'll get with the team to double-check. We will need to brainstorm the desired UX for duplicating from a drawer, but we should be able to figure it out.

This was done in #7679 and has been released since v3.0.0-beta.104.


Expand rules to LoggerAdapter objects

Description
LoggerAdapter objects are basically logger wrappers with contextual info. They have all the log methods like info().
If we could trace which names (per scope) seem to refer to logger adapters, all our logger-method-specific rules to pick up on misuse with logger adapters too.

LoggerAdapters seem really unpopular. GitHub code search has 6.1 million hits for logging language:python but only 9k for LoggerAdapter language:python. Also I don’t remember ever seeing them in code or writing.


Remove the use of aries_vcx_core/wallet/indy/internal from api_global

The name internal suggests the module is not for public use and yet it is used by api_global. Find a way how to refactor and possibly remove it.

Hi, I was looking at this issue. What is the profile wallet that is supposed to replace the internal module according to the comments?

Thanks for letting me know! It seems that no work is required for this issue then :)

@xprazak2 I guess we can close this now given we've dropped support for libvcx right?

Yes.


Fix image link to tag

Fixes the use of the tag [image-link-to: url] to generate a link for an
image. The problem was that when Google exports a document to html, if the
paragraph has an image link tag, it creates three different spans. For an
original paragraph like this:
This is an example of [image-link-to: http://devex.com] tag
Google will export it as:
This is an example of [image-link-to:
http://devex.com
] tag
So we need to remove the image link tag from the three spans, and also to check
for the [no-caption] tag in a different way.

@towanda Apparently, there's a chained spec failing. Not sure if that requires just some more fixture updating or decoupling these specs, if possible.

+1 looks like the google id changed, this one is expected now: DjKv5wkG-CjXExV-RnBJwqicDQr3...

@ifosch @christofdamian I changed the document I was using for testing image links, but forgot to change the test. Now it's updated.

still +1


fix(NODE-4444): use Node.js clear timers

This change follows on from https://github.com/mongodb/node-mongodb-native/pull/3275
which enforced using Node.js timer methods.
However, it didn't enforce using the Node.js clear methods, which
could fall prey to similar issues.
This change adds linter rules for those clear methods, and fixes the
resulting linter errors.

[x] Ran npm run check:lint script
[x] Self-review completed using the steps outlined here
[x] PR title follows the correct format: <type>(NODE-xxxx)<!>: <description>
[ ] Changes are covered by tests
[x] New TODOs have a related JIRA ticket

@alecgibson no worries, we have a known issue with our latest server version that just came in, nothing to do with this PR. Thanks again for contributing!


[flutter_tools] _CastError: null check operator used on a null value in MaterialFonts.updateInner

On stable/3.3.3 Windows
_CastError: Null check operator used on a null valuecontent_copy
at MaterialFonts.updateInner(flutter_cache.dart:141)
at CachedArtifact.update(cache.dart:810)
at Cache.updateAll(cache.dart:677)
at <asynchronous gap>(async)
at FlutterCommand.verifyThenRunCommand(flutter_command.dart:1325)
at <asynchronous gap>(async)
at FlutterCommand.run.<anonymous closure>(flutter_command.dart:1209)
at <asynchronous gap>(async)
at AppContext.run.<anonymous closure>(context.dart:150)
at <asynchronous gap>(async)
at CommandRunner.runCommand(command_runner.dart:209)
at <asynchronous gap>(async)
at FlutterCommandRunner.runCommand.<anonymous closure>(flutter_command_runner.dart:281)
at <asynchronous gap>(async)
at AppContext.run.<anonymous closure>(context.dart:150)
at <asynchronous gap>(async)
at FlutterCommandRunner.runCommand(flutter_command_runner.dart:229)
at <asynchronous gap>(async)
at run.<anonymous closure>.<anonymous closure>(runner.dart:62)
at <asynchronous gap>(async)
at AppContext.run.<anonymous closure>(context.dart:150)
at <asynchronous gap>(async)
at main(executable.dart:91)
at <asynchronous gap>(async)

This value being null means that the version file here was not present on disk.

The real fix here should be https://github.com/flutter/flutter/issues/112875

@christopherfujino we should never be getting this, we should toolexit when we fail to read the version file.

Hi @christopherfujino, there is a new report recently https://github.com/flutter/flutter/issues/141450 that I marked as a duplicate of this one. But I also found https://github.com/flutter/flutter/issues/90092. I wonder if we should keep this or https://github.com/flutter/flutter/issues/90092? Or these issues are different? (looks like these are all about null check for version as far as I can see)

Hi @christopherfujino, there is a new report recently #141450 that I marked as a duplicate of this one. But I also found #90092. I wonder if we should keep this or #90092? Or these issues are different? (looks like these are all about null check for version as far as I can see)

Good call, these all look the same to me. I'm closing this one as a duplicate of https://github.com/flutter/flutter/issues/90092. Thanks @huycozy


Propose and implement best practices

There are a number of guides for best practices of iOS projects.
E.g. please watch this talk: https://www.cocoanetics.com/2014/10/best-practices-running-an-ios-open-source-project-on-github/
Please add info on best practices for this project into the Readme.md.

Sure. Will take a look 👍


(#1917) Fixing Flyout Links for MkDocs Projects

Fix for #1917
Test locally following the directions here http://docs.readthedocs.org/en/latest/install.html#installing-read-the-docs
Not sure where / if to add a unit test for this change

Hmm. I do worry that that this will break other configurations. I believe we're appending the root path here because we need to be able to find it without requiring a specific current working directory.
There may be something in mkdocs handling of this setting that has changed, which is likely causing this. I guess my question is what breaks downstream of this?
The issue is actually the docroot getting set here: http://tracks.readthedocs.org/en/latest/readthedocs-data.js

Which is from here: https://github.com/rtfd/readthedocs.org/blob/master/readthedocs/doc_builder/backends/mkdocs.py#L106 -- so we likely need to use a properly relative URL in the docroot that we pass into the template.

So we need to figure out if the docs_dir from the user is always relative, and then, we also need to generate a proper relative docs_dir for our linking purposes.

Hmm I see. Ok I believe docs_dir is can either be a relative or absolute path: http://www.mkdocs.org/user-guide/configuration/#docs_dir I am not entirely sure if its possible to handle absolute paths? What do you think the behavior should be in this case, throw an exception?
I see your point about the docroot value in http://tracks.readthedocs.org/en/latest/readthedocs-data.js - I will fix that also, and make sure the value of docroot is correct.

@sahilTakiar any more luck on this? Feel free to raise any other questions if you're unsure!

Hey, sorry for the delay on this. I looked into this some more and am still a little confused on why we can't make docs_dir relative.
Here is my current understanding of how this all works, please correct me if I am wrong:

The docs_dir is specified in the mkdocs.yml file and is the relative path to the folder containing all the documentation files
The current code converts this relative path into an absolute one, and then adds it to the READTHEDOCS_DATA docroot field
Here is my understanding of how the docroot field is then accessed:

footer.js loads this READTHEDOCS_DATA from rtd-data.js
It makes an AJAX call containing the READTHEDOCS_DATA, which is routed to the footer_html method in footer_views.py
The footer_html takes the docroot field and passes it to get_github_url and get_bitbucket_url methods in models.py
Then the docroot is passed to GITHUB_URL.format (which is in constants.py)

The thing about the GITHUB_URL in constants.py is that the docroot is inserted directly into the URL; the string is: 'https://github.com/{user}/{repo}/{action}/{version}{docroot}{path}{source_suffix}'
Given that the docroot is inserted directly in the GitHub URL, why should it be an absolute path? It should always be a relative path, right? I assume the Sphinx integration must also set the docroot to a relative path, although I couldn't find the exact logic where that happens. Since Sphinx must be setting the docroot as a relative path, shouldn't mkdocs do the same thing?
This is the only place I can find where docroot is accessed.
Is my understanding correct? Or am I missing something.

Tested this locally and it works fine.

General question: how do we find out when a PR goes live (i.e. becomes available in production)?

We don't have a procedure for this currently. We don't schedule releases and our release schedule is dependent on what time we have available. If there are any larger bug fixes, we generally try to do a release announcement however.

I get this and I understand but again, what resource do I need to watch or to which resource do I need to subscribe to find out when this fix is available in production? Are there better options than manually checking on http://myproject.readthedocs.io every other day? After all, I'd like to verify at some point if what works locally for Eric also works for my project and its users.

We run production off of the rel branch, so once it gets merged there, it should be live.

Thanks Eric, that's what I was looking for.


[Components] Spinner

Story definition
As a spark user, I want to have a Spinner component, so I can provide feedback that something async is happening
Acceptance criteria

Should have an accessibility label visually hidden
Should be able to change the size
Should be able to change the color

Example:
<Spinner intent="primary" size="md" label="Loading" />

✅ OK design review


How to get query string parameters like in near discovery

In near discovery ( near.org ) I can do this:
return
hello {props.name}
;

and then use the URL https://test.near.org/peterdevgovgigs.testnet/widget/propstest?name=peter which then gives the output hello peter
if I try the same with near.social the query string parameter disappears from the url and is not available in props so the output is just hello . See https://test.near.social/?name=peter#/peterdevgovgigs.testnet/widget/propstest
I would like to use this for getting the transactionHashes to proceed after wallet callback on successful transaction. Wallet callback puts the transactionHashes query string parameter before the hash.

https://test.near.social/#/peterdevgovgigs.testnet/widget/propstest?name=, sir looks good, is it a refresh issue?

https://test.near.social/#/peterdevgovgigs.testnet/widget/propstest?name=, sir looks good, is it a refresh issue?

no, the problem is that wallet callback puts the transactionHashes before the hash, and not after as you have done:
here's an example https://www.youtube.com/watch?v=xFS0Vt6LCZM

See the updated reproduction example and video.


Some api return null after api eth_sendTransaction(non deploy transaction)

Describe the bug
Api eth_getTransactionReceipt and eth_getTransactionByHash return null after api eth_sendTransaction(non deploy transaction).
To Reproduce

prepare request json

{"jsonrpc":"2.0","method":"eth_sendTransaction","params":[{"from": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b","to": "0xd46e8dd67c5d32be8058bb8eb970870f07244567","gas": "0x64","gasPrice": "0x1","value": "0xDE0B6B3A7640000"}],"id":1}

send request to eth_getTransactionReceipt api
it return a transaction hash.
4.api eth_getTransactionReceipt and eth_getTransactionByHash return null.

Expected behavior
Api eth_getTransactionReceipt and eth_getTransactionByHash return information about this transaction.

has fixed


fix: ignore empty string in context of set-commit-status

:pencil: Description
i have a use case that looks like:
- name: Set PR check statuses if applicable
    uses: actions/github-helpers@v1
    with:
      helper: set-commit-status
      sha: ${{ github.event.pull_request.head.sha }}
      github_token: ${{ secrets.GITHUB_TOKEN }}
      context: |
        ${{ steps.paths.outputs.output != 'true' && 'build' || '' }}
        ${{ steps.paths.outputs.output != 'true' && 'unit-tests' || '' }}
        ...
      state: success
      description: This test can be skipped for this pull request

and I would like to avoid sending an API request when an empty string. It does nothing, but it potentially wastes an API hit, which is a (minor) problem for our repo.
:link: Related Issues

:tada: This PR is included in version 1.14.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Improvements for double-click boolean editing

System information:

Operating system (distribution) and version Mac
DBeaver version 21.0.5 EA

Describe the problem you're observing:

True/false and yes/no format Boolean moves to the cell center after clicking on it. If you click the next Boolean right after that, it will jump to the cell center and back to the left cell border.
https://user-images.githubusercontent.com/51405061/118278325-902e0900-b4d2-11eb-891e-f85129b31a22.mov
An error appears when you double-click boolean and then press some of edit or navigation buttons on the bottom toolbar. The buttons do not work in this case
https://user-images.githubusercontent.com/51405061/118278029-2ada1800-b4d2-11eb-98fa-4d4d306f28d6.mov
Checkbox to edit boolean is not removed when you click somewhere out of table field (e.g. to filter field)
https://user-images.githubusercontent.com/51405061/118278624-dd11df80-b4d2-11eb-8c0a-0457cb5e7748.mov
SQLite: Checkbox to edit boolean doesn't appear after double-clicking a boolean: the cell turns to inline edit mode
https://user-images.githubusercontent.com/51405061/118278912-30842d80-b4d3-11eb-8728-f846747f065e.mov

Problem 3 can be reproduced with Postgres' enums as well.

There is an additional problem in scenario 1. If we click on a boolean cell, and then press escape, the cell's value disappears.

Scenario 1 is a feature, not a bug. It helps to distinguish the normal state from the edit state. Also, it's not mac-specific.

Just like with problem number 3, problem 2 can be reproduced with Postgres' enums.

Okay. At this point, it's impossible to handle those 4 problems into one ticket since it's clear that they have different nature. Separate tickets will be created shortly.

Scenario 4 is not a bug since there is no boolean type in SQLite.

Both #13910 and #13912 (cases 2 and 3) was solved.


Error creating stack  - DatabaseCluster failed with incorrect MySql Aurora version

I tried to create this stack with the provided templates  but it was failing.  I set it not to destroy objects on failure, and it has created most of the stack but is failing the below.:
Resource handler returned message: "Cannot find version 5.7.mysql_aurora.2.10.1 for aurora-mysql (Service: Rds, Status Code: 400, Request ID: 68c7c078-160a-451e-869d-15b003da2427)" (RequestToken: c6e7286f-dcf2-f077-45f6-14a14b3bb5e8, HandlerErrorCode: InvalidRequest)
Not sure where I can set a different version of the database, but if I check in the console I can't see that version.

Hello,
I faced same issue, the rds cloudformation template stored in their S3 Bucket (used in master template) is not up to date with code on this repo .
You can try to put this repo rds template on one of your bucket and edit the master template to change the  rds.TemplateURL param with your S3 URL.
But to fix that error I just changed the one stored on AWS S3:

Download the rds cloudformation template used in master template
Edit all the lines containing the engine version with the most recent you can get here

- EngineVersion: 5.7.mysql_aurora.2.10.1
+ EngineVersion: 5.7.mysql_aurora.2.11.2

Upload edited file to one of your bucket or whatever to have a public URL.
Download the master cloudformation template
Change the RDS template URL with your URL
Upload your edited master template to cloudformation template


[Bug]: milvus-backup is always in a task state

Current Behavior
./milvus-backup create -n backup_test
The ip addresses entered in the backup configuration file are the milvus and minio addresses of the official environment
I then copied the backup files to the test environment
Finally, change all the connection addresses in the configuration file to the ip address of the test environment
./milvus-backup restore --restore_index -n backup_test -s _recover
Perform the restore operation, and the data seems to be restored, but the tool remains in this state
Although the data has been restored, I am not sure whether I did the right thing because of this state
My configuration file is as follows
# Configures the system log output.
log:
  level: info # Only supports debug, info, warn, error, panic, or fatal. Default 'info'.
  console: true # whether print log to console
  file:
    rootPath: "backup.log"

http:
  simpleResponse: true

# milvus proxy address, compatible to milvus.yaml
milvus:
  #address: <IP_ADDRESS>
  address: <IP_ADDRESS> #staging
  port: 19530
  authorizationEnabled: false
  # tls mode values [0, 1, 2]
  # 0 is close, 1 is one-way authentication, 2 is two-way authentication.
  tlsMode: 0
  user: "root"
  password: "Milvus"

# Related configuration of minio, which is responsible for data persistence for Milvus.
minio:
  # cloudProvider: "minio" # deprecated use storageType instead
  storageType: "minio" # support storage type: local, minio, s3, aws, gcp, ali(aliyun), azure, tc(tencent)

  #address: <IP_ADDRESS> # Address of MinIO/S3
  address: <IP_ADDRESS> # Address of MinIO/S3 staging
  port: 9000   # Port of MinIO/S3
  accessKeyID: minioadmin  # accessKeyID of MinIO/S3
  secretAccessKey: minioadmin # MinIO/S3 encryption string
  useSSL: false # Access to MinIO/S3 with SSL
  useIAM: false
  iamEndpoint: ""

  #bucketName: "milvus-bucket" # Milvus Bucket name in MinIO/S3, make it the same as your milvus instance
  bucketName: "milvus-bucket" # Milvus Bucket name in MinIO/S3, make it the same as your milvus instance
  rootPath: "file" # Milvus storage root path in MinIO/S3, make it the same as your milvus instance

  # only for azure
  backupAccessKeyID: minioadmin  # accessKeyID of MinIO/S3
  backupSecretAccessKey: minioadmin # MinIO/S3 encryption string

  backupBucketName: "milvus-bucket-backup" # Bucket name to store backup data. Backup data will store to backupBucketName/backupRootPath
  backupRootPath: "backup" # Rootpath to store backup data. Backup data will store to backupBucketName/backupRootPath

backup:
  maxSegmentGroupSize: 20G

  parallelism:
    # collection level parallelism to backup
    backupCollection: 4
    # thread pool to copy data. reduce it if blocks your storage's network bandwidth
    copydata: 128
    # Collection level parallelism to restore
    restoreCollection: 2

  # keep temporary files during restore, only use to debug
  keepTempFiles: false

  # Pause GC during backup through Milvus Http API.
  gcPause:
    enable: false
    seconds: 7200
    address: http://localhost:9091

Expected Behavior
It should have been successful, but it didn't return any value
Steps To Reproduce
./milvus-backup create -n backup_test
./milvus-backup restore --restore_index -n backup_test -s _recover

Environment
ubuntu 20.4

Anything else?
No response

The configuration file seems a little messy. I'll write another one
# Configures the system log output.
log:
  level: info # Only supports debug, info, warn, error, panic, or fatal. Default 'info'.
  console: true # whether print log to console
  file:
    rootPath: "backup.log"

http:
  simpleResponse: true

# milvus proxy address, compatible to milvus.yaml
milvus:
  #address: <IP_ADDRESS>
  address: <IP_ADDRESS> #staging
  port: 19530
  authorizationEnabled: false
  # tls mode values [0, 1, 2]
  # 0 is close, 1 is one-way authentication, 2 is two-way authentication.
  tlsMode: 0
  user: "root"
  password: "Milvus"

# Related configuration of minio, which is responsible for data persistence for Milvus.
minio:
  # cloudProvider: "minio" # deprecated use storageType instead
  storageType: "minio" # support storage type: local, minio, s3, aws, gcp, ali(aliyun), azure, tc(tencent)

  #address: <IP_ADDRESS> # Address of MinIO/S3
  address: <IP_ADDRESS> # Address of MinIO/S3 staging
  port: 9000   # Port of MinIO/S3
  accessKeyID: minioadmin  # accessKeyID of MinIO/S3
  secretAccessKey: minioadmin # MinIO/S3 encryption string
  useSSL: false # Access to MinIO/S3 with SSL
  useIAM: false
  iamEndpoint: ""

  #bucketName: "milvus-bucket" # Milvus Bucket name in MinIO/S3, make it the same as your milvus instance
  bucketName: "milvus-bucket" # Milvus Bucket name in MinIO/S3, make it the same as your milvus instance
  rootPath: "file" # Milvus storage root path in MinIO/S3, make it the same as your milvus instance

  # only for azure
  backupAccessKeyID: minioadmin  # accessKeyID of MinIO/S3
  backupSecretAccessKey: minioadmin # MinIO/S3 encryption string

  backupBucketName: "milvus-bucket-backup" # Bucket name to store backup data. Backup data will store to backupBucketName/backupRootPath
  backupRootPath: "backup" # Rootpath to store backup data. Backup data will store to backupBucketName/backupRootPath

backup:
  maxSegmentGroupSize: 20G

  parallelism:
    # collection level parallelism to backup
    backupCollection: 4
    # thread pool to copy data. reduce it if blocks your storage's network bandwidth
    copydata: 128
    # Collection level parallelism to restore
    restoreCollection: 2

  # keep temporary files during restore, only use to debug
  keepTempFiles: false

  # Pause GC during backup through Milvus Http API.
  gcPause:
    enable: false
    seconds: 7200
    address: http://localhost:9091

when progress is 70%, it is in the stage of building index.

当进度达到70%时，进入建设指标阶段。

What will be done at this stage? I don't understand, because my data has already been transferred, what else will be done.
This stage has been going on for five hours, and I have to suspect a bug

because your command is ./milvus-backup restore --restore_index -n backup_test -s _recover
so only when index building is finished , this task will be considered as success.
Can you provide some logs of Milvus? We need to check why the building index costs so much time.

backup (1).log
This is backup's log

This is backup's log backup (2).log

Milvus log is also needed

This is backup's log backup (2).log

Milvus log is also needed

Probably because there is too much data and the index is too complicated
However, I ran into another problem, the recovered data was twice the data before the backup

This is backup's log backup (2).log

Milvus log is also needed

Probably because there is too much data and the index is too complicated
However, I ran into another problem, the recovered data was twice the data before the backup

Is it because the Celebrity was already loaded into memory when I backed it up that there were two copies?

we also encounter the same issue with Milvus 2.4.4 and the latest backup tool (0.4.15).
the restore were never complete, i can see the Data and the index are created, but after the restore command was stuck in the loop of the 70% we just stopped it and tried to use the collection and had many errors in the collection.
on the other hand when we restore the same collection from the same backup without --restore_index, the utility finish successfully, we created the indexes manually and everything worked !

same problematic issue here.
Milvus 2.4.4
cli 0.4.15 (MacOS)

@gmoshiko-work @MatanAmoyal1 Hi, I can't reproduce it. Could you please offer me logs of milvus and backup tool? So that  I can look into this issue.

close as stale


Add GC support to graph objects

Right now the 2 graph classes in retworkx, PyGraph and PyDiGraph, did
not integrate with the Python garbage collector. This would result in
memory not being cleared in a running python process even if retworkx
objects were only created in temporary context. This commit attempts to
fix this by implementing the garbage collection protocol [1] which
should enable python to clean up retworkx objects when they're no longer
being used.
[1] https://pyo3.rs/v0.12.4/class/protocols.html?highlight=garbage#garbage-collector-integration

I'm marking this on hold because I want to do some performance benchmarks on this before we merge it. But this will be a release blocker because it's causing a memory leak in qiskit-terra.

Pull Request Test Coverage Report for Build 600507540

30 of 30 (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.429%

Totals

Change from base Build 599886124:
0.02%

Covered Lines:
5725

Relevant Lines:
5937

💛  - Coveralls

Removing the on hold because I think there really isn't any performance impact here at least from the retworkx side. I ran the transpile benchmark in https://github.com/mtreinish/retworkx-bench and there was no real difference and performance.

LGTM as a fix for PyGraph and PyDiGraph, but don't we have any other classes to implement PyGCProtocol trait (maybe a separate PR)? What about WeightedEdgeList and BFSSuccessors? (I've grepped "PyObject" and "pub", and found these two.)

LGTM as a fix for PyGraph and PyDiGraph, but I wonder if we might have other classes that should implement PyGCProtocol trait. What about WeightedEdgeList and BFSSuccessors? (I've grepped "PyObject" and "pub", and found these two.)
==> Oops, sorry. I've just found you added them in #260

Yep, I did it for the custom return types separately in #260 because I had been wanting __str__ for those return types for some time, so I handled both at the same time there for all 4 of the custom return types and kept it separate from the graph classes.

It looks like there is an infrastructure issue with travis CI on ppc64le nodes (the logs just stop without error) I'm going to merge this


Removing serializable option from datastore Transaction.

This is in advance of the option being removed in v1beta3. Since in v1beta3:

All transactions are now serializable

we set the isolation to always be serializable.

@pcostell Is this "safe" to do as prep for the version upgrade?
Also, is there an equivalent replacement in v1beta3? AFAICT the isolation level is just gone.

In v1beta3 we opted to only expose serializable which is a stronger form of isolation. I think in v1beta2 if you want to remove the option you need to force it to be set to serializable (the default is snapshot).
Also, I'm not sure if you've seen it, but here are the (whitelisted) release notes: https://cloud.google.com/datastore/v1beta3/release-notes

LGTM.  I never saw the point in snapshot for a transaction, anyhow.

@pcostell that URL 404s for me.

Sorry it is behind a whitelist. Can you email me your google account that you use? (@gmail, @google, or other Google Apps domain)

Thanks @pcostell. Can you also add<EMAIL_ADDRESS>(I can see it with my corp email, but seldom have corp access.)

@tseaver After seeing Patrick's comments and the whitelist, I think it's best to set the isolation level always to serializable.
PTAL

@pcostell<EMAIL_ADDRESS>

@tseaver are we LGTM with the update to isolation_level?

LGTM:  setting explicitly in the protobuf makes the behavior forward compatible.

@dhermes @tseaver -- added your accounts to the whitelist.

Thanks


ES6 won't be comiled

With the new Version > 0.7.0, vue-resource uses ES6-Imports for "Promise".
Vue-Webpack doesn't compile the node_modules-Folder, so I get the Error "Unexpected Token 'import'" in my app.js.

With Webpack make sure to include dist/vue-resource.common.js, which is ES5. All files in src use ES6.


Reconciling Profile from a sandbox does not remove Scratch Org Layout

Describe the bug
When you retrieve profiles from production it may contain features that only exist in product, i.e standard__LightningInstrumentation, ActiveScratchOrg permissions etc.
When you reconcile the profile on a sandbox it removes those permission but not the <layout>ActiveScratchOrg-Active Scratch Org Layout</layout> causing issues on the way
To Reproduce
Steps to reproduce the behavior:

sfdx sfpowerkit:source:profile:retrieve -n "Profile1, Profile 2" -u prod
sfdx sfpowerkit:source:profile:reconcile -u sandbox1 -f force-app

Expected behavior
it should reconcile the profile based on target org
Screenshots
Validation Error on a Sandbox due to unremove permission

Desktop (please complete the following information):

OS: Windows
Node Version: v12.18.0
Version of sfpowerkit: 2.6.5
Salesforce Org Version: 50.0

Additional context
Not ideal but the only option I have to ensure the profile is clear of any unknown errors is to do an initial retrieve from UAT.

thanks guys!

@jaysonf-stuff Fix is available in alpha version you can install
sfdx plugins:install sfpowerkit@alpha
or
clone the repo and link
sfdx plugins:link and npm i


WSL localhostForwarding and hostAddressLoopback not working for IPv6

Windows Version
Microsoft Windows [Version 10.0.22631.2787]
WSL Version
<IP_ADDRESS>
Are you using WSL 1 or WSL 2?

[X] WSL 2
[ ] WSL 1

Kernel Version
<IP_ADDRESS>-microsoft-standard-WSL2
Distro Version
Ubuntu 22.04.2 LTS
Other Software
No response
Repro Steps
Steps to reproduce:

Configure WSL with networkMode=mirrored and hostAddressLoopback=true
Ensure Windows firewall allows inbound port 8001 (or is turned off)
Have a WSL machine available, e.g. Ubuntu
Start a WSL Ubuntu window in Windows Terminal
Use 'tmux' in Ubuntu as an easy way to get multiple panes, i.e.: tmux
Ctrl-B % to split the window vertically
Run a simple HTTP server via Python: python3 -m http.server --bind :: 8001
Ctrl-B ; to toggle back to the first pane
Checks from the WSL machine (works, both IPv4 and IPv6):
a. Check IPv4 access from WSL (works): curl -v4 http://localhost:8001
b. Check IPv6 access from WSL (works): curl -v6 http://localhost:8001
c. Check IPv4 with local IP (works, change IP addresses as per your networking): curl http://<IP_ADDRESS>:8001
d. Check IPv6 with local IP (works): curl http://[2407:8800:bc61:1340::899]:8001
Check from another machine on the same network (works, both IPv4 and IPv6):
a. Check IPv4 with IP (works): curl http://<IP_ADDRESS>:8001
b. Check IPv6 with IP (works): curl http://[2407:8800:bc61:1340::899]:8001
Open a second Windows Terminal window with PowerShell, on the Windows host (running WSL)
From Windows host, check IPv4 (works):
a. Check IPv4 localhost (works): curl -v4 http://localhost:8001
b. Check IPv4 local address (works): curl http://<IP_ADDRESS>:8001
c. Check IPv4 with IP (works): curl http://<IP_ADDRESS>:8001
From Windows host fails to connect via IPv6 (fails):
a. Check IPv6 localhost (fails): curl -v6 http://localhost:8001
b. Check IPv6 local address (fails): curl -v6 http://[::1]:8001
c. Check IPv6 with IP (fails): curl http://[2407:8800:bc61:1340::899]:8001
Error is: curl: (28) Failed to connect to localhost port 8001 after 21048 ms: Couldn't connect to server

Screen shot:

The Python server is in the top right.
The first four connections are from WSL on IPv4 and IPv6, for local host and local IP addresses (works)
The next two (from <IP_ADDRESS> and 2407:...:4d23) are IPv4 and IPv6 from a separate machine on the network (works) -- the calls from the other machine are on the left.
The next three are connections from the Windows host on IPv4 for -v4 localhost, <IP_ADDRESS>, and the local IP address -- the last of these can be seen in the middle window
The bottom of the middle window has the three IPv6 failures, from the Windows host to localhost and local IPv6.

Expected Behavior
What should happen
IPv6 (and IPv4) connections to localhost and local IP addresses, from the Windows host, should be forwarded to WSL (as are other IPv6 connections).
Actual Behavior
Issue / what happens

From Windows host, unable to connect to the WSL localhost port via IPv6, only IPv4 (both work from WSL).
From Windows host, unable to connect to the WSL hostAddressLoopback port via IPv6, only IPv4 (both work from WSL and from the network).

This breaks applications trying to explicitly connect to IPv6, e.g. [::1], or that only resolve/try the IPv6 address for 'localhost'.
Error trying to use curl to connect is: curl: (28) Failed to connect to localhost port 8001 after 21048 ms: Couldn't connect to server
Mitigation: Systems that try both IPv6 and IPv4 resolutions of 'localhost' may still work (e.g. a browser with happy eyeballs may try both).
Notes
This also happens with hostAddressLoopback turned off (default), with none of the local IPs working (as expected), i.e. localhost still doesn't work. I turned it on to see if it fixed the issue (it didn't).
The python web server was used as a simple example/reproduction of the forwarding failing for IPv6, with the original issue occurring trying to access a service running in Podman hosted in WSL, i.e. a container, with Podman IPv6 enabled, trying to expose the port, and the IPv4 worked but IPv6 didn't.  However the issue had nothing to do with Podman or containers, but can be reproduced as above with a simple HTTP server running on a WSL Ubuntu machine.
 I'm pretty sure this is due to our lack of support for dual mode sockets.
Same type of bug as #4851, though the port tracking here is different than what's in use by the localhost relay in nat mode.

Could you please follow the steps below and attach the diagnostic logs? https://github.com/microsoft/WSL/blob/master/CONTRIBUTING.md#collect-wsl-logs-for-networking-issues

Diagnostic logs as requested.
I followed the reproduction steps, i.e. 9 successful queries (4 mixed from WSL guest, 2 mixed from network, 3 IPv4 only from the host).
I then ran the 3 failing queries (IPv6 from the host), then repeated that 2 more times (9 in total). Each had a 21s timeout then fails.
WslNetworkingLogs-2023-12-15_23-45-39.zip

@sgryphon thanks for following up and sorry for the delayed response.
At the moment the hostAddressLoopback setting works only for IPv4, it is not supported for IPv6

@sgryphon regarding "localhostForwarding", this flag is ignored in mirrored mode, as mirrored mode already provides a way to communicate between Windows and Linux over loopback without the need for this flag.
We'll update the documentation to mention that "localhostForwarding" is ignored in mirrored mode
And that mirrored mode currently supports loopback communication only using IPv4
I am closing the issue

hostAddressLoopback is only relevant for one of the three failing cases.
I probably shouldn't have included localhostForwarding in the issue title (which has default true), as you are right, it has nothing to do with the issue, which is really about networkingMode = mirrored.
The issue is that they don't work by for IPv6, i.e. "mirrored mode currently supports loopback communication only using IPv4" is precisely the issue that I want fixed.
Unless you are saying this is by design and you won't fix -- which is silly -- why would you not want to add support for IPv6 (which is what this issue is about)?
Please do not close this issue until you have added supported for IPv6 to mirrored mode. Thanks.

Can I understand mirrored mode as kind of like sharing the same network namespaces by containers in the same pod in kubernetes?  I read the doc, but still find it very confusing.

@sgryphon thanks for your reply and feedback. I reopened the issue


Please add Apple iCloud @ icloud.com

Service
Apple Apps in the Web
Link to your repository
Don't have one but iCloud link is as follows: https://www.icloud.com
Additional Information
We usually use Apple Apps on iPhone / Macbook privately but use Windows at work. Keeping everything in sync is a tedius task and requires many device and browser switching activities. Would love to have support for iCloud directly into Franz and would this would increase my productivity about 269%. THANKS!

did you manage to get it to work?

I was able to follow the instructions in
https://github.com/meetfranz/plugins/blob/master/docs/integration.md
and add
https://github.com/bgibson72/franz-icloud


page not found when click new submit expense

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/44924
PROPOSAL: https://github.com/Expensify/App/issues/44924#issuecomment-2213237734
Tests

Go to a 1:1 Conversation. Make sure your seeing both account at the same time
As user A request money from User B
As user A go the IOU report that was just created and click on the Plus button to bring the menu
While the menu is still open Go to User B and Pay the expense
As user A click on "submit expense" on the menu that was opened in step 3.
Click the back button
Verify that: Clicking back takes you to the IOU report page

[x] Verify that no errors appear in the JS console

Offline tests

QA Steps

Go to a 1:1 Conversation. Make sure your seeing both account at the same time
As user A request money from User B
As user A go the IOU report that was just created and click on the Plus button to bring the menu
While the menu is still open Go to User B and Pay the expense
As user A click on "submit expense" on the menu that was opened in step 3.
Click the back button
Verify that: Clicking back takes you to the IOU report page

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

https://github.com/user-attachments/assets/3de1bce9-3fe0-4c90-a2b8-f67c2e71d472

Android: mWeb Chrome

https://github.com/user-attachments/assets/ac78e028-2b25-4dc2-920e-15f8bd24e9b7

iOS: Native

https://github.com/user-attachments/assets/3aa7f6ab-589e-44e8-9626-63a76072ecf2

iOS: mWeb Safari

https://github.com/user-attachments/assets/bd06f0b8-c709-45f3-ab58-3ea4631e535d

MacOS: Chrome / Safari

https://github.com/user-attachments/assets/0546f653-8ce4-4440-b9c2-48f0c0092d36

MacOS: Desktop

https://github.com/user-attachments/assets/ec866b18-123e-4a12-8fe5-5c3f6891a660

@nkdengineer reassure has been fixed on main. Can you please merge main?

hmmm looks like this might be a legitimate regression causing an extra render in ReportActionCompose

Let me check again.

@thesahindia sorry missed some updates.

I'm reverting some changes to test the perf-test to find what causing the error and I'm trying to resolve this with the change in my proposal.

Shridhar had https://github.com/Expensify/App/issues/44924#issuecomment-2211749274 a solution for the second issue before you and I would have selected that but since you were fixing another issue I went with yours. Now you have reverted the change instead of finding another solution. If we aren't fixing that issue then it won't be fair for Shridhar.

The proposal that you mentioned needs to pass shouldOpenProfileOnBackPress to many places meanwhile my proposal only needs to update in AccessOrNotFoundWrapper

@roryabraham I checked the perf-test again and the only problem is ReportActionComposer is re-render
more times. Is this acceptable.

@roryabraham The perf-test is fixed by only comparing the length of menuItems. Do you agree with that?

No, I don't think just checking the length of menuItems is safe, because if the content changes we'd need to re-render the popover

I'm not sure that the we need to block this on it causing one extra render in Composer though

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Cherry-picked to staging by https://github.com/roryabraham in version: 9.0.14-1 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.

🚀 Deployed to production by https://github.com/roryabraham in version: 9.0.14-6 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


bustools sort/count fails silently when outputting to nonexistent directory

Specifically, in the tutorial from https://www.kallistobus.tools/getting_started.html, in these lines:
$ cd bus_output/
$ mkdir genecount/ tmp/
$ bustools correct -w ../10xv2_whitelist.txt -p output.bus | bustools sort -T tmp/ -t 4 -p - | bustools count -o genecount/genes -g ../transcripts_to_genes.txt -e matrix.ec -t transcripts.txt --genecounts -

If you omit the mkdir command, the process runs but doesn't output anything, and doesn't alert the user that it couldn't output to the requested directory.

Thanks for reporting this, we will fix this bug in the next release.


when are on the public internet, two person can't see each other's video

Within a local area network (LAN), two people can video chat and see each other. However, when they are on the public internet, they can't see each other's video feed; they can only see each other's names. The application is deployed on the public internet, and I have also set up a TURN server. Additionally, I've tried using https://muazkhan.com:9001/demos/dashboard/, but still can't see each other's video. What could be the issue? Is it the signaling? Or the TURN server?
Is this translation helpful for your needs?
blown is my turnserver test:

I am facing same issue, in LAN it's working but on different network.
Audio issues in MAC and iphones.
Video issues in MAC and iphones.
In different network , Audio and Video call not working in RTC multi connection, socket muazkhan 9001.

I am facing same issue, in LAN it's working but on different network. Audio issues in MAC and iphones. Video issues in MAC and iphones. In different network , Audio and Video call not working in RTC multi connection, socket muazkhan 9001.

Please share the solution if you fix this issue.


Error: No bundle registered although I have already registered

Dear Zipline Maintainers,
Before I tell you about my issue, let me describe my environment:
Environment

Operating System: Version 22H2 (0S Build 22621.1413)
Python Version: 3.10.9
Python Bitness: $ python -c 'import math, sys;print(int(math.log(sys.maxsize + 1, 2) + 1))' Ans: 64
How did you install Zipline: pip install zipline-reloaded inside conda environment
Python packages: $ pip freeze or $ conda list

Now that you know a little about me, let me tell you about the issue I am
having:
Description of Issue

What did you expect to happen?
I expect bundle could be loaded,

What happened instead?
Bundle unregistered.. Even getting quandl data is hanging.

Here is how you can reproduce this issue on your machine:
Reproduction Steps
(Note: seems like registering bundle not working in jupyter notebook?)

Open jupyter notebook
Paste the code inside jupyter notebook

What steps have you taken to resolve this already?
At first using python 3.11, but then re-create another conda environment with lower version 3.10.9, but yet still not solved
Code in jupyter notebook
import pandas as pd
from zipline.data.bundles import register
from zipline.data.bundles.csvdir import csvdir_equities

%load_ext zipline

start_session = pd.Timestamp('2012-1-3', tz='utc')
end_session = pd.Timestamp('2014-12-31', tz='utc')
register(
    'custom-csvdir-bundle',
    csvdir_equities(
        ['daily'],
        r"C:\Users\yongsheng.tan\Documents\AAPL.csv",
    ),
    calendar_name='NYSE', # US equities
    start_session=start_session,
    end_session=end_session
)

! zipline ingest -b custom-csvdir-bundle

It's my personal setup error... But, I still faced the below errors which is still opened:
https://github.com/stefan-jansen/zipline-reloaded/issues/182


Taskbar Icons dont center on additional monitors when Windows Display 1 isn't Main Display.

When Windows Display 1 is configured as Main Display, the taskbar icons get centered.
When any other Display is configured as Main Display, only the Main Display's taskbar icons get centered.
I can confirm this issue for using two and three monitors.
Running:

FalconX <IP_ADDRESS>
Windows 1903

Ok, now suddenly it works.
Im going to further test this issue. During the day at work (3 Monitors) I couldn't get it to center. At home (2 Monitors) it worked after multiple times switching my main display. Im using the same computer.

Thanks for the confirmation but, i have not been able to reproduce this on my own pc and not on my testing pc's. I personally have a tripple monitor setup with the second monitor as my main display. And some testing pc's have a dual monitor setup.
Can you put this confirmation under issue #31 ? So there won't be issue duplicates.


No warnings.

Explain the bug
If/when a task cannot be done, it doesn't show any warning/error.
There are several ways to reproduce the bug.

Copy file.
Go to C:/Program files/Windows Mail
(I'm using this directory since there is a high chance that this directory will be in your PC.)
(Any other random folder should also reproduce the problem.)
Now paste that file.

Expected behavior
The task will not complete at the first place or fail to do the task and it will show a error/warning.
Logfile

Copy the debug.txt and debug_fulltrust.txt from the following directory, and upload the files here.
debug.txt
debug_fulltrust.txt

Screenshots
No screenshots needed.
System Information

OS Version: [e.g. Windows 10 20H2 19042.804]
App version: <IP_ADDRESS>

This issue will be solved together with #2513.


[ODS-4958] Security Visualization utility is broken

Note still a change needs to be resolved. QA passed with a manual intervention.


GPIO C-HIDDEN violations

Things to make private or doc-hidden

AlternateFunction
Pin trait (anything but number,mask,degrade cannot be called by the user - everything but number + degrade is doc hidden)
InputPin trait (all functions are doc-hidden)
OutputPin trait (all functions are doc-hidden)
AnalogPin (functions are doc-hidden)
TouchPin (functions are doc-hidden)
GpioRegisterAccess? (doc-hidden, functions are user-callable but should they?)

I'm not sure about hiding the traits anymore - they might be useful to users as trait bounds?


upgrade version cause error

Describe the bug
upgrade version v1.3.67 to v1.3.83 case error
Error: @swc/core threw an error when attempting to validate swc compiler options.
You may be using an old version of swc which does not support the options used by ts-node.
Try upgrading to the latest version of swc.
Error message from swc:
Failed to deserialize buffer as swc::config::Options
JSON: {"sourceMaps":true,"module":{"noInterop":true,"type":"commonjs","strictMode":true,"ignoreDynamic":false},"swcrc":false,"jsc":{"parser":{"syntax":"typescript","tsx":false,"decorators":true,"dynamicImport":true,"importAssertions":true},"target":"es2017","transform":{"decoratorMetadata":true,"legacyDecorator":true,"react":{"throwIfNamespace":false,"useBuiltins":false}},"keepClassNames":true,"experimental":{"keepImportAssertions":true}}}
Input code
No response
Config
No response
Playground link
No response
SWC Info output
No response
Expected behavior
can compile success
Actual behavior
No response
Version
v1.3.83
Additional context
No response

https://github.com/swc-project/swc/issues/7923


Testnet Transaction signature fails

I am trying to use btcdeb to verify testnet transactions but I am running into issues with the signature check.  However, I know the signature is correct because it was accepted by the network.  The following is giving me an error. I am able to process mainnet transactions like this but I am not getting testnet transactions to pass signature checks.
btcdeb --tx=0.08760812:0200000000010108937990081f74b10ce7ae79065f1ecd2dbbf9710941cc44e450f7a17951311b01000000171600148c20a264b1c162f388fe0e9992e2e87d1830adefffffffff01ecad8500000000001976a914ca073a588b2ea809fcfe4aae9f89fa73acf4117788ac024830450221009f9fb0c5b826b0a869e51c0318bc459e40e748a917fc2e13e07cea3a1dcc75b502200dcd4a1c4bc6173c2ec8127246586bb5456c0cf2196f2012d907d744d74f0015012103661b91afaa5ddcdecc10f4be5e282427f6f00672cb06293e802eeccd9364219400000000 '[OP_DUP OP_HASH160 ca073a588b2ea809fcfe4aae9f89fa73acf41177 OP_EQUALVERIFY OP_CHECKSIG]'<PHONE_NUMBER>ac7169d5d1359082ca820903d21c969d27d6e9cc8e5adee8a64ecfe90aa7d19f0220131c46e31b36297f94b1163693c55352d0fe457a3b9740b496fd23829a827cbb 038e21b7eb62fa4412c195c6c5db3ce37943e5b4f77d2ef0a07b32bddcb7fe7ab0

This results in:
script                                   |                                                             stack
-----------------------------------------+-------------------------------------------------------------------
OP_CHECKSIG                              | 038e21b7eb62fa4412c195c6c5db3ce37943e5b4f77d2ef0a07b32bddcb7fe7ab0
                                         |<PHONE_NUMBER>ac7169d5d1359082ca820903d21c969d27d6e9cc8e5adee8a64ec...
#0004 OP_CHECKSIG
btcdeb> step
error: Non-canonical DER signature (is this transaction pre-BIP66? Try with --modify-flags=-DERSIG and/or -LOW_S and/or -STRICTENC)

However if you check https://live.blockcypher.com/btc-testnet/tx/afba5550cf1f9957d38bd3704947e745a47861e7fa375cea76638b38537ff545/ you can see transaction and signature is valid.

I was able to figure out my issue by using DEBUG_SIGNING=1 and DEBUG_SIGHASH=1.  I think I may do a PR were these functions are referenced in the README.  Super helpful.

Good point! A PR to describe these in readme is a good idea I think.


mark message is sent via grpc

add message property to mark message is sent via grpc

Codecov Report

Merging #4679 (7903c1d) into develop (16416aa) will increase coverage by 0.00%.
The diff coverage is 84.61%.

@@            Coverage Diff             @@
##             develop    #4679   +/-   ##
==========================================
  Coverage      44.79%   44.79%
- Complexity      7530     7546   +16
==========================================
  Files            975      976    +1
  Lines          67378    67467   +89
  Branches        8892     8923   +31
==========================================
+ Hits           30179    30222   +43
- Misses         33482    33522   +40
- Partials        3717     3723    +6

Impacted Files
Coverage Δ

...g/apache/rocketmq/common/message/MessageConst.java
98.07% <ø> (+0.07%)
:arrow_up:

...he/rocketmq/proxy/processor/ProducerProcessor.java
73.91% <60.00%> (-1.09%)
:arrow_down:

...mq/proxy/grpc/v2/common/MessageGrpcOrRemoting.java
100.00% <100.00%> (ø)

...mq/proxy/grpc/v2/producer/SendMessageActivity.java
83.33% <100.00%> (+5.27%)
:arrow_up:

...rg/apache/rocketmq/common/stats/StatsSnapshot.java
84.61% <0.00%> (-15.39%)
:arrow_down:

...ache/rocketmq/common/stats/MomentStatsItemSet.java
39.13% <0.00%> (-13.05%)
:arrow_down:

...org/apache/rocketmq/common/stats/StatsItemSet.java
41.79% <0.00%> (-11.95%)
:arrow_down:

.../apache/rocketmq/common/stats/MomentStatsItem.java
38.09% <0.00%> (-9.53%)
:arrow_down:

...he/rocketmq/controller/impl/DLedgerController.java
70.65% <0.00%> (-7.07%)
:arrow_down:

...va/org/apache/rocketmq/common/stats/StatsItem.java
50.00% <0.00%> (-5.00%)
:arrow_down:

... and 14 more

Help us with your feedback. Take ten seconds to tell us how you rate us.

Coverage increased (+0.2%) to 49.001% when pulling 7903c1d77e9d793cfe083074550c4ad1f8c682f3 on ingdex:devlop_markMessageGrpcOrRemoting into 16416aaacfeec8e0e8dea52652da3f60eae4b394 on apache:develop.


SetAuth missing

Similar to realtime or js client https://supabase.com/docs/reference/javascript/auth-setauth.

@kamyker the method you link to references the gotrue auth client - is this what you are speaking of? I don't see that on the existing postgrest-js client.

True, maybe even main repo would be a better place for this issue.
I think there may be a problem with that new method implementation. As a workaround I was doing:
await Supabase.Client.InitializeAsync(url, key, new SupabaseOptions()
{
	Headers = new (){{"Authorization", $"Bearer {jwt}"}}
});

This didn't work because CurrentSession is null:
Supabase.Client.Instance.Auth.CurrentSession.AccessToken = jwt;

So I'm guessing this also won't work in some cases https://github.com/supabase-community/gotrue-csharp/blob/4bd2b42dea4778df2331cbdfd2d72d3eb60bd3e5/Gotrue/Client.cs#L644

Ah! Good Catch, thank you. I've update that on master if you'll give it a try for me please!

I'm also going to transfer this to gotrue-csharp for cleanliness.


Including a third mobile web version of the websites

You can use the PHP class Mobile Detect http://mobiledetect.net/ for this.

Some pages have mobile versions now


Switch to UB-free const-type-layout and rust-cuda with streamlined auto bounds

Codecov Report

Merging #222 (4e855ca) into main (6db75f4) will decrease coverage by 0.00%.
The diff coverage is 16.32%.

@@            Coverage Diff             @@
##             main     #222      +/-   ##
==========================================
- Coverage   15.54%   15.54%   -0.01%
==========================================
  Files         295      295
  Lines       19035    19038       +3
==========================================
  Hits         2959     2959
- Misses      16076    16079       +3

Impacted Files
Coverage Δ

necsim/core/bond/src/lib.rs
100.00% <ø> (ø)

necsim/core/src/event.rs
0.00% <ø> (ø)

necsim/core/src/landscape/location.rs
18.18% <ø> (ø)

necsim/core/src/lib.rs
100.00% <ø> (ø)

necsim/core/src/simulation/builder.rs
0.00% <ø> (ø)

necsim/impls/cuda/src/cogs/rng.rs
0.00% <ø> (ø)

necsim/impls/cuda/src/event_buffer.rs
0.00% <ø> (ø)

necsim/impls/cuda/src/lib.rs
100.00% <ø> (ø)

necsim/impls/cuda/src/value_buffer.rs
0.00% <ø> (ø)

necsim/impls/no-std/src/alias/packed.rs
0.00% <0.00%> (ø)

... and 47 more

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


[JBPM-5288,RHBPMS-4087] set the scanner resource when listing containers

the refactoring also makes sure the scanner status is always
consistent between InternalKieScanner and KieScannerResource
(both as fields of KieContainerInstanceImpl)

This is an alternative solution to https://github.com/droolsjbpm/droolsjbpm-integration/pull/658 (with more refactorings).
@jakubschwan, @mswiderski, @etirelli please let me know what you think.

jenkins retest this

+1 to merge, looks good

@psiroky can you resolve conflicts?

@mswiderski sure, I'll do that. This PR was meant as a replacement for #658 (which got merged), but I forgot to clarify that...

so shall this still be merged or?

From my point of view, yes. I've tried to refactor a code a bit to make the scanner state a bit more consistent. If you could take a quick and let me know what you think, that would be great.

it looks good to me

This should be ready to merge now.

+1

Thanks @mswiderski, I'll prepare PRs for 6.5.x and master.


JSON shortcut does not correctly deal with NULL

Environment

Elixir version (elixir -v): 1.10.3
Database and version (PostgreSQL 9.4, MongoDB 3.2, etc.): pg11
Ecto version (mix deps): 3.4.5
Database adapter and version (mix deps): 0.15.5
Operating system: Alpine in docker

Given
A embeds one B as :b, B.x can be null
There is one record a only, and a.b.x is null.
Current behavior
Repo.all(from a in A, where: fragment("?->>? is NULL", a.b, "x"))

Returns one record
Repo.all(from a in A, where: is_nil(a.b["x"]))

Returns no records
Expected behavior
The two return the same result
Investigation
is_nil(a.b["x"]) expands to (a0.\"b\"#>'{\"x\"}') IS NULL
So I tried this, fragment("?#>>'{\"x\"}' is NULL", a.b), it seems to work as expected.
Now I'm just wondering, is it a bug or the shortcut is doing something different from what I expected?

I cannot reproduce the issue. In my tests Repo.all(from a in A, where: is_nil(a.b["x"])) is behaving correctly and returning all null entries. Can you provide a sample application or a failing test case to Ecto that fully reproduces the issue? Thanks!

Will do

Could this be an issue caused by JSON null not being the same as regular SQL null? i.e. 'null'::json IS NULL is false in postgres.

Repo: https://github.com/princemaple/ecto-json-null-repro
Setup
docker-compose build
docker-compose up -d db
docker-compose run --rm -e MIX_ENV=test app mix ecto.create
docker-compose run --rm -e MIX_ENV=test app mix ecto.migrate

Repro
▶ docker-compose run --rm app mix test
Starting ecto_json_db_1 ... done
.
07:40:20.358 [debug] QUERY OK db=5.2ms decode=0.5ms queue=0.4ms idle=57.6ms
INSERT INTO "posts" ("content","meta","subject") VALUES ($1,$2,$3) RETURNING "id" ["test", %{nothing: nil}, "test"]

07:40:20.362 [debug] QUERY OK source="posts" db=0.4ms queue=0.6ms idle=69.3ms
SELECT p0."id", p0."subject", p0."content", p0."meta" FROM "posts" AS p0 WHERE ((p0."meta"#>'{"nothing"}') IS NULL) []
.

Finished in 0.07 seconds
1 doctest, 1 test, 0 failures

Randomized with seed 276503

The test should fail. I expected the test asserts to return the same value.

Thanks @princemaple!
@michalmuskala got it right, the value returned by JSON is not the same as SQL's null. Here is a snippet from psql:
live_demo_dev=# SELECT ('{"a":{"b":[4,5,6]}}'::jsonb#>'{"a","c"}') IS NULL;
 ?column?
----------
 t
(1 row)

live_demo_dev=# SELECT ('{"a":{"b":[4,5,6],"c":null}}'::jsonb#>'{"a","c"}') IS NULL;
 ?column?
----------
 f
(1 row)

I am not sure what to do here, to be honest. This behaviour is actually consistent across databases. The reason why it works with ->> is because it actually casts stuff to text but that's not what we generally want from the o.meta["nothing"] syntax. Perhaps the best choice is to document it.
FWIW, this works:
SELECT ('{"a":{"b":[4,5,6],"c":null}}'::jsonb#>'{"a","c"}') = 'null'::jsonb;

I probably had some false expectations. Now I test it, many things I thought would work actually doesn't. I should revise my expectations about JSONB in where.
Thanks @josevalim and @michalmuskala !


cannot find symbol RectF bounds = new RectF();

I am trying to add react-native-svg with npm. But i am getting this error.
Task :react-native-svg:compileDebugJavaWithJavac
C:\Users\ebugl\sample\node_modules\react-native-svg\android\src\main\java\com\horcrux\svg\TSpanShadowNode.java:853: error: cannot find symbol
            RectF bounds = new RectF();
            ^
  symbol:   class RectF
  location: class TSpanShadowNode
C:\Users\ebugl\sample\node_modules\react-native-svg\android\src\main\java\com\horcrux\svg\TSpanShadowNode.java:853: error: cannot find symbol
            RectF bounds = new RectF();
                               ^
  symbol:   class RectF
  location: class TSpanShadowNode
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: C:\Users\ebugl\sample\node_modules\react-native-svg\android\src\main\java\com\horcrux\svg\RenderableView.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
2 errors

Can you help me? How can i fix?

@ebrugulec 😲 My mistake. Thanks for the issue report! I've fixed the issue and published v7.0.1 please install that version and try again ❤

@ebrugulec 😲 My mistake. Thanks for the issue report! I've fixed the issue and published v7.0.1 please install that version and try again ❤

Thanks for the quick response on handling this situation. 😇 It is working now 🌼


Enable seitan rkm coverage check

I ran the backfill on the server and tested against master. This should be fine now, right?

Yes, should be fine. Thanks!


Samples create images different than the Getting Started examples

I've run all these examples, and a few of them do not match the output on the Getting Started page.
Here are some of them:

These samples were moved to blend2d project (not anymore part of blend2d-apps project) and they should all work now, so I'm closing this issue.
Please reopen a bug on Blend2D side if they are still not working for you.


Build a more subtle, more ambient notifications mechanism.

Ideally, when the Zulip webapp is focused, it'd be nice to be able to replace the browser desktop notifications with something nice, clean, and in-app serving the same role.  (When the window isn't focused, browser desktop notifications are probably the best we can do)
Discussion here:
https://chat.zulip.org/#narrow/stream/3-backend/topic/Notifications.20for.20reactions/near/702890
This is a somewhat advanced issue.  You don't necessarily need a lot of Zulip-specific knowledge to make this change, but you need to be skillful about getting consensus on how best to build this feature in a usable way.

@showell Hi Steve, i would definitely love to work on this. I understand that it's advance stuff so would appreciate if you can give me some reference.

@zulipbot  claim


[feature] Adding Disqus or GitHub comments to the static website?

Title. Also, this should be optional; so xlog can make use of some configuration file or a settings page(?).

This is a good idea. and implementing it would be simple:

add an extension folder
import the extension in cmd/xlog/xlog.go
add flag for disqus config or github comments
add a widget after view to render the comments if the flag is set

I have time today I'll try to work on it

That didn't take much too much time to code.
https://github.com/emad-elsaid/xlog/commit/61381b3bdc9c269030780ce27e892e7f42ca4cc2
would you like to do the GitHub comments extension?

Excellent. Yes, I'd love to.

Certainly, but my timeline is over-occupied recently. If you are up for it, do it please
Jan 5, 2023, 17:13 by @.***:

@salehmu https://github.com/salehmu>  still interested in implementing this one?
—
Reply to this email directly, > view it on GitHub https://github.com/emad-elsaid/xlog/issues/15#issuecomment-1372344561> , or > unsubscribe https://github.com/notifications/unsubscribe-auth/ARVKOPYV4KF5XW3H62BL3YTWQ3QH3ANCNFSM6AAAAAATOSAESA> .
You are receiving this because you were mentioned.> Message ID: > <emad-elsaid/xlog/issues/15/1372344561> @> github> .> com>


ROS Distro Version

Hi, i am trying to compile and run the package on ;

OS: Ubuntu 20.04
ROS Distro: Noetic
CUDA 11.6
TenstorRT <IP_ADDRESS>
I couldn't see any system requirements on your readme file.  I was able to compile this package but the node died after launch.

Hi @batuhanbeytekin.
The code of ROS part (which I coded) is not dependent on the versions of them.
However, tkDNN might not support the latest versions of CUDA and TensorRT.
But can you do GDB test and find where the errors occur? and attach the logs here?
I believe there should be something tiny but wrong e.g., path to the .rt file, as you said you are able to compile the package without errors.


Add pictshare instance for media self-hosting

Adds pictshare docker-compose service.
The uploaded media is accessible via https://orbitar.domain/media/hash.ext

Converting to draft, as another approach — separate instance of hosting is explored.

Superseded by #254


chocolatey: Bump Headlamp version to 0.27.0

This PR updates the chocolatey package to the latest version of Headlamp

I think this may have been pushed by mistake, it includes the current workflow script I'm working on, you can close this PR


No such file or directory: 289_points_3d.npy

Based on the inference code provided by @vcadillog (thank you!), I encountered the following error when running the code:
Traceback (most recent call last):   File "/home/sschneider/projects/hulk/.env/lib/python3.10/site-packages/torch/multiprocessing/spawn.py", line 69, in _wrap     fn(i, *args)   File "/home/sschneider/projects/hulk/test.py", line 24, in multi_inference     pipeline = HumanHulk(device)   File "/home/sschneider/projects/hulk/inference_model.py", line 209, in __init__     self.det_model = self.load_model(config, path_detect, 0)   File "/home/sschneider/projects/hulk/inference_model.py", line 269, in load_model     model = create_model(config, self.device)   File "/home/sschneider/projects/hulk/inference_model.py", line 114, in create_model     decoder_module = decoders.decoder_entry(config.decoder)   File "/home/sschneider/projects/hulk/core/models/decoders/__init__.py", line 5, in decoder_entry     return globals()[config['type']](**config['kwargs'])   File "/home/sschneider/projects/hulk/core/models/decoders/mask2former/meta_arch/unihcpv2_head.py", line 79, in __init__     self.predictor = Hulk_Decoder(in_channels=neck.vis_token_dim,   File "/home/sschneider/projects/hulk/core/models/decoders/mask2former/transformer_decoder/hulk_decoder.py", line 690, in __init__     anchor_points = np.load(self.peddet_cfgs.get('pre_defined_path'))   File "/home/sschneider/projects/hulk/.env/lib/python3.10/site-packages/numpy/lib/npyio.py", line 427, in load     fid = stack.enter_context(open(os_fspath(file), "rb")) FileNotFoundError: [Errno 2] No such file or directory: '289_points_3d.npy'
Where does the file 289_points_3d.npy come from? Many thanks in advance.

The 289_points_3d.npy are coordinates of 17 * 17 points that cover the 1 * 1 space. These coordinates perform as anchors for the detection boxes. I have now uploaded the missing file 289_points_3d.npy. Sorry for the late response.