Fix NetCDFPerFeatureDataProvider returning the same forcing for all catchments

The catchment ID was not being passed through to the selector. Rectified.
Additions

Made the value of Catchment_Formulation::get_catchment_id() be passed to selector constructors in Bmi_Module_Formulation and Bmi_Multi_Formulation

Removals

Changes

Made get_catchment_id() trim any .N suffix from the realization IDs in the case of nested formulations.

Testing

Minimal test added for the change to get_catchment_id()... some more work tests would probably be good for the whole pipeline, but that's either an integration test or would require more mocks.

Screenshots
Notes

Todos

Checklist

[X] PR has an informative and human-readable title
[X] Changes are limited to a single goal (no scope creep)
[X] Code can be automatically merged (no conflicts)
[X] Code follows project standards (link if applicable)
[X] Passes all existing automated tests
[X] Any change in functionality is tested
[X] New functions are documented (with a description, list of inputs, and expected output)
[X] Placeholder code is flagged / future todos are captured in comments
[X] Project documentation has been updated (including the "Unreleased" section of the CHANGELOG)
[X] Reviewers requested with the Reviewers tool :arrow_right:

Testing checklist (automated report can be put here)

Additional test added as described above. All automated tests passing.

Target Environment support

[X] Linux

I also noticed that the Simple_Lumped_Model_Realization::get_response function still makes some calls to the selector's constructor while passing in "" for id.

Yes, this occurred to me, the two t-shirt models probably have the same. I was similarly on the fence about it... since you also identified it that is maybe tipping me off the fence toward resolving it. Or at least yeah I should file an issue for the remaining instances. Those formulations wouldn't work with NetCDFPerFeatureDataProvider... which is kindof the point of #432, for instance.


Bugfix: Include related virtualAttributes in toJSON() calls

Bug: When calling toJSON on a model with related objects, the related objects do not include their virtualAttributes.
Cause: Due to the change introduced in https://github.com/Vincit/objection.js/commit/55303773da82e196b732803f112118fcc3bee9b2 (to close #1252), calls to toJSON set an array of virtualAttributes for opt.virtuals.  This array is then passed to child/related object toJSON calls.  This causes the related models to believe they were called with toJSON({ virtuals: [<parent attributes>] }), thus excluding their own virtualAttributes.
For example, if a Post belongs to one User, and the User has a virtual fullName,  calling post.toJSON() would not include user.fullName
I can confirm v1.6.3 works as expected, and v1.6.4 introduced the bug.
Solution:
This PR partially reverts https://github.com/Vincit/objection.js/commit/55303773da82e196b732803f112118fcc3bee9b2 to allow for virtualAttributes to be calculated on a per-model basis by default.
Another solution would be to entirely revert 55303773da82e196b732803f112118fcc3bee9b2

Coverage increased (+0.01%) to 97.082% when pulling 0e1e18909ca323084a611e1785b29acfe860c1f4 on venables:bug/related-virtual-attributes into 6e1d82ecdb7d8c5a0c8ae4d1c6f9620504b31a93 on Vincit:master.

Coverage increased (+0.01%) to 97.082% when pulling 0e1e18909ca323084a611e1785b29acfe860c1f4 on venables:bug/related-virtual-attributes into 6e1d82ecdb7d8c5a0c8ae4d1c6f9620504b31a93 on Vincit:master.

Oh, crap! I thought there was a test for this case, but it uses the same model class for the related items. I'll merge this or some other fix as soon as I get to my computer.

I believe I also experienced the breakage that this PR addresses.

@koskimas Considering this bug was introduced in a patch release, most apps will pick up this bug due to npm defaults.
What are your thoughts on reverting the original change to fix the apps in the wild, and re-relasing as a minor version bump?

Yeah, I'll release a new version right now. Why would I revert the original change instead of fixing this bug?

By the way, thanks for fixing this @venables :bowing_man:

objection 1.6.5 is out


fix(ci): Remove redundant build-chain-no-features job

Motivation
Once we merge PRs #4637 and #4640, this job will be redundant.
Review
Anyone can review this low priority PR.
Reviewer Checklist

[ ] Job is gone

@mergifyio update

This will probably have merge conflicts with PR #4637, feel free to fix them.
(Just two jobs deleted next to each other.)


Create shelves

Description
Added the functionality to add user-defined shelves.
A few other features started, pagination and the favorites heart added.
Type of Change
Please delete options that are not relevant.

[ ] New feature (non-breaking change which adds functionality)

Change Status

[ ] Complete, tested, ready to review and merge
[ ] Complete, but not tested (may need new tests)
[ ] Incomplete/work-in-progress, PR is for discussion/feedback

How Has This Been Tested?

[ ] Test A
[ ] Test B

Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] My code has been reviewed by at least one peer
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] There are no merge conflicts

LGTM


UIBULKED-353: Update Electronic access - URI

UIBULKED-353
Purpose

Approach

TODOS and Open Questions

Learning

Pre-Merge Checklist
Before merging this PR, please go through the following list and take appropriate actions.

[ ] I've added appropriate record to the CHANGELOG.md
Does this PR meet or exceed the expected quality standards?

[ ] Code coverage on new code is 80% or greater
[ ] Duplications on new code is 3% or less
[ ] There are no major code smells or security issues

Does this introduce breaking changes?

[ ] If any API-related changes - okapi interfaces and permissions are reviewed/changed correspondingly
[ ] There are no breaking changes in this PR.

If there are breaking changes, please STOP and consider the following:

What other modules will these changes impact?
Do JIRAs exist to update the impacted modules?

[ ] If not, please create them
[ ] Do they contain the appropriate level of detail?  Which endpoints/schemas changed, etc.
[ ] Do they have all they appropriate links to blocked/related issues?

Are the JIRAs under active development?

[ ] If not, contact the project's PO and make sure they're aware of the urgency.

Do PRs exist for these changes?

[ ] If so, have they been approved?

Ideally all of the PRs involved in breaking changes would be merged in the same day to avoid breaking the folio-testing environment.  Communication is paramount if that is to be achieved, especially as the number of intermodule and inter-team dependencies increase.
While it's helpful for reviewers to help identify potential problems, ensuring that it's safe to merge is ultimately the responsibility of the PR assignee.

https://github.com/folio-org/ui-bulk-edit/assets/72550466/ab13ed3e-0ae7-4f7a-92a5-a83e69822808

Could you improve the code coverage?

Here I can't do more, because I cant test control component staff.


Consul name resolution in-memory cache

Description
Added service cache to consul nr component
Issue reference
#934
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list:

[ ] Code compiles correctly
[ ] Created/updated tests
[ ] Extended the documentation / Created issue in the https://github.com/dapr/docs/ repo: dapr/docs#[issue number]

@a-elsheikh have you tested this in your environment?

@a-elsheikh have you tested this in your environment?

In self-hosted mode, yes - it would be best if someone could evaluate the behaviour on k8s

@a-elsheikh After the 1.3.0 release, I will spend some cycles to test this on K8s.

@artursouza can you continue reviewing this please?

@artursouza any updates on this?

@artursouza @yaron2 any eyes on this please, I've just attempted to merge master again but these failures I can't resolve

@a-elsheikh many apologies this has taken so long to review, we'll actively put eyes on this PR now.
Can you please merge with master? /cc @artursouza

@a-elsheikh many apologies this has taken so long to review, we'll actively put eyes on this PR now.
Can you please merge with master? /cc @artursouza

no worries, thank you @yaron2

hey @yaron2 @artursouza - any updates on this please. We're keen on utilizing this feature as part of our adoption strategy

@artursouza can you have a look please

Reopening

@yaron2 @artursouza any updates please :)

@artursouza @yaron2 I believe we addressed your review comments on this PR some time ago, with 1.8.0 now out the door could you please pick this up and prioritize it again as we do need this for our next phase of Dapr rollout.

@a-elsheikh could you please merge master into the branch again to address the potential conflict? I tried pushing a commit but it does not appear you are giving maintainers edit access to your PR / branch.

It's definitely not outdated, we've been waiting patiently for a re-review as we believe we've addressed all comments. If you could push that it would be greatly appreciated, this is still a vital feature required by us.

Ok, thanks for confirming. If you can fix the merge conflicts, I'll review it for Dapr 1.11.

I also really need this feature

@badgeratu because we do not have write access to your fork we cannot shepherd this PR -- so this PR will constantly encounter merge conflicts that only you can resolve.
It's very difficult to merge PRs where we as maintainers do not have automatic write access to the remote fork.
Can you invite contrib maintainers directly to have write access to your fork so we can unblock this pr? The maintainers are: @ItalyPaleAle @yaron2 @berndverst @artursouza
We are days (or maybe just one day) away from code freeze for 1.11. If we find that tests pass after addressing merge conflicts and updating the branch then this is likely good to go - but we'll re-review then.

hey @berndverst thanks for reaching out - as this fork exists under the corporate area we've limited flexibility in amending the permissions. In any case, I've got eyes on this now so am happy to iterate with the maintainers to see it done now that there is engagement.

@a-elsheikh @badgeratu can you please ping me in Discord (@bernd) once you have resolved merge conflicts and fixed DCO here?
I will try to get this merged - we are now at code freeze for 1.12 - but if you can get this resolved Monday we can still try to get it in!

Closing as it's been re-created as #3121


Algolia Config Interface is not strict

Description

The Docusaurus config file is called "docusaurus.config.js".
One of the fields in the config file is "algolia".
From what I can tell, this field is defined here: https://github.com/facebook/docusaurus/blob/main/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts#L11

This is nice, because it allows for auto-complete and in-editor validation when adding entries to your configuration file.
However, this interface is not strict insofar that you can add bogus entries to the Algolia config without getting an error from the TypeScript compiler. This is a mistake, as we surely want to alert users with a red squiggly line in their editor (e.g. VSCode) the moment that they make a typo here (or insert a non-valid entry).
Motivation
I wasted months troubleshooting issues with Algolia due to Docusaurus essentially lying to me about what were valid configuration entries: https://github.com/algolia/docsearch/issues/1658#issuecomment-1419764650

By "not strict", do you mean we mark things as optional? Or do you mean you can add properties that do not match the declared type?

I mean that end-users can add properties that do not match the declared type.

e.g. When working in my Docusaurus config, I, and I expect most other people, will expect an error like this:
https://www.typescriptlang.org/play?#code/JYOwLgpgTgZghgYwgAgGIHt3IN4ChnIBucANgK4QCMAXMiGQLYBG0A3PkaRQEy33NtcAX1y4E6EAGcwyGJloYsAXhwdi5KrUrcAzABo1XCL2QAWAKwA2AwXUUdtAOwAOAJwGRQA

Do you have a repro? When you hover over the algolia key and go to definition, what do you see?

When you hover over the algolia key and go to definition, what do you see?

When I hit F12 on the algolia key, it just takes me to theme-search-algolia.d.ts file, which looks like this:
  export type ThemeConfig = {
    algolia: {
      contextualSearch: boolean;
      externalUrlRegex?: string;
      appId: string;
      apiKey: string;
      indexName: string;
      searchParameters: {[key: string]: unknown};
      searchPagePath: string | false | null;
      replaceSearchResultPathname?: {
        from: string;
        to: string;
      };
    };
  };

The corresponds to this file, which I already included in the OP: https://github.com/facebook/docusaurus/blob/main/packages/docusaurus-theme-search-algolia/src/theme-search-algolia.d.ts#L11

Do you have a repro?

Does the bug not happen for you? If you want, you can clone my repository and see for yourself: https://github.com/IsaacScript/isaacscript

This is working as intended. We are using /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ to type the themeConfig property, which is not the same as a type annotation. In fact, @type is closer to an as assertion. TypeScript's excess property check is very limited and only works in very certain cases where it's sure that "something can't be accessible". Here's a dumbed-down case:
Playground
/** @typedef {{
  value1: number;
  value2: number;
}} Foo */

const foo = {
  prop: /** @type {Foo} */ ({
    value1: 2,
    value2: 1,
    value3: 3,
  })
};

This will be fixed in TS 5.0 by using the @satisifies annotation, but before that, there's little we can do.

Ah, I see.
Well then maybe we can turn this into an issue for tracking the adding @satisfies everywhere once TypeScript 5.0 releases. (Unless there's another one for it?)
Another good option is to have the config file be generated in TypeScript from the get-go, at least when the --typescript flag is used to bootstrap the website. I see that that is being tracked in #7911, so I'll eagerly await both of these upgrades.

Yes, we'll probably close this by changing to @satisfies. And yes, before #7911, we can't support TS configs, so using @satifies is our best mitigation.

We now have TS configs so if you want strict type validations you should use that. Closing this as resolved!


Add Auth Code for JWT Exchange

Criteria

Add new endpoints to exchange an auth code for a JWT containing the associated user's relevant data
Allow a client to configure which type of token they should create

Implement "basic" and "firebase" token types

Code Requirements

add token type field to the client model (default to basic)
add endpoint to create the requested JWT
add short expiry (30-60 sec) to auth codes

Resolved by #7


feat(RecycleFBA): Add metrics

The goal of this PR is to add the ability to collect metrics from the RecycleFBA.
TODO

[ ] Clarify on the metrics we want to collect.
[ ] How to label the metircs? Given there would be many instance of recyle fba
[ ] Ensure metrics collection does not affect the performance of allocating.
[ ] Add metrics and confirm it works on ec2.

gonna close this for now since it seems dead - can reopen if we want to continue tackling it


confused in container use

I am using redission 3.13.4 in k8s with cluster mode in 3 master 3 slave. I meet some problem when i delete redis pod one by one manually to simulate k8s node shutdown, after the redis pods reruning on other node, still have
some errors happened and never recover until i restart the business client pod where redisson in.
one like bellow:

It seems like to connection  to an old server ip.
hope to get your help

another error

clusterServersConfig:
idleConnectionTimeout: 10000
connectTimeout: 10000
timeout: 3000
retryAttempts: 600
retryInterval: 1500
failedSlaveReconnectionInterval: 3000
failedSlaveCheckInterval: 6000
password: ${REDIS_PWD}
subscriptionsPerConnection: 5
clientName: null
loadBalancer: !<org.redisson.connection.balancer.RoundRobinLoadBalancer> {}
subscriptionConnectionMinimumIdleSize: 1
subscriptionConnectionPoolSize: 50
slaveConnectionMinimumIdleSize: 24
slaveConnectionPoolSize: 100
masterConnectionMinimumIdleSize: 24
masterConnectionPoolSize: 64
readMode: "SLAVE"
subscriptionMode: "SLAVE"
nodeAddresses:
- ${REDIS_NODE_1}
- ${REDIS_NODE_2}
- ${REDIS_NODE_3}
- ${REDIS_NODE_4}
- ${REDIS_NODE_5}
- ${REDIS_NODE_6}
#- "redis://<IP_ADDRESS>:8271"
#- "redis://<IP_ADDRESS>:8272"
#- "redis://<IP_ADDRESS>:8273"
scanInterval: 1000
pingConnectionInterval: 30000
keepAlive: false
tcpNoDelay: false
threads: 16
nettyThreads: 32
codec: !<org.redisson.codec.JsonJacksonCodec> {}
transportMode: "NIO"

Can you set debug logging level for org.redisson.cluster.ClusterConnectionManager and share output?

redisson.backend-web.log
loop reconnecting to and old address?

try to define ip addresses in configuration

Fixed

Sorry for the late reply.
I change to ip addresses in config. But the problem remains, whether or not update your repaired code in version 3.13.4
I repaired it on my side, but not sure whether it is reasonable.
After changed to ip addresses and shut down the cluster. I find the problem in  method scheduleClusterChangeCheck(cfg). The nodes to be checked comes from lastPartitions variable.

But the lastPartitions variable value mybe broken at a certain time, and keeping some old values or empty. Some times the schdule is broken and stoped to check, but I can't find the cause of the problem.
I repaire it by rebuilding the partitions from configed address just like the constructor does.

at least work well on my local...
@mrniko

But the lastPartitions variable value mybe broken at a certain time, and keeping some old values or empty. Some times the schdule is broken and stoped to check, but I can't find the cause of the problem.

This may happen if one of your cluster node returns wrong cluster state info

I am following this thread so today I created a test. I containerized the code below, running Redisson 3.15.1.
I am using Bitnami Redis Cluster and deleting Redis nodes e.g. kubectl delete pod  redis-redis-cluster-0 -n redis.
I first noticed errors even after restarting the client pod running Redisson.  I realized that sometimes Redis had
the old IP (from before the restart) in nodes.conf. I just upgraded to the latest binami Redis, and I dont see the
problem anymore. nodes.conf has the new IPs on all the nodes.
Redisson is working ok when I delete one node. I did notice that when I delete all 3 nodes at the same time,
and they all come back with different IPs, Redisson continues to try to use the old IPs:
org.redisson.cluster.ClusterConnectionManager checkClusterState Can't update cluster state io.netty.channel.ConnectTimeoutException: connection timed out: (old IP)
so that scenario is falling. I guess Redisson is not attempting to get the new IPs using the hostnames when that happens.
public class Main {

	private static final String SP_YAML_CONFIG_FILE  = "CACHE_MANAGER_CONFIG";
	private static final String HOSTNAME             = "HOSTNAME";

	// Node 0
	// ------
	// <IP_ADDRESS>:6379> CLUSTER KEYSLOT keyslot-003
	// (integer) 3040

	// Node 1
	// ------
	// <IP_ADDRESS>:6379> CLUSTER KEYSLOT keyslot-510
	// (integer) 9026

	// Node 2
	// ------
	// <IP_ADDRESS>:6379> CLUSTER KEYSLOT keyslot-930
	// (integer) 12353

	private static final String HASH_KEY_FOR_NODE0 = "{keyslot-003}-"; //  CLUSTER KEYSLOT keyslot-003: 3040
	private static final String HASH_KEY_FOR_NODE1 = "{keyslot-510}-"; //  CLUSTER KEYSLOT keyslot-510: 9026
	private static final String HASH_KEY_FOR_NODE2 = "{keyslot-930}-"; //  CLUSTER KEYSLOT keyslot-930: 12353

	private static final String [] HASH_KEYS = {
		HASH_KEY_FOR_NODE0,
		HASH_KEY_FOR_NODE1,
		HASH_KEY_FOR_NODE2
	};

	private static final int DEFAULT_SLEEP = 3000 ;// 3 seconds

	private static final String sourceClass = Main.class.getName();

	private static final Logger logger = Logger.getLogger(sourceClass);

	public static void main(String[] args) {

		final String configFile = System.getenv( SP_YAML_CONFIG_FILE );

		if ( configFile == null || configFile.isEmpty() ) {
			logger.severe("Environment variable " + SP_YAML_CONFIG_FILE + " is not defined");
			System.exit(-1);
		}

		String hostname  = System.getenv( HOSTNAME );

		if ( hostname == null ) {
			hostname = "null";
		}

		try {

			final Config config = Config.fromYAML(new File( configFile ));

			final RedissonClient redisson = Redisson.create(config);

			int attempt = 1;

			while ( true ) {

				for ( int n = 0; n < HASH_KEYS.length; n++ ) {

					final String bucketName = HASH_KEYS[n] + hostname;

					try {

						redisson.getBucket( bucketName ).set( attempt );
						logger.info( "Updated bucket " + bucketName + " in node " + n + ": " + attempt );

					} catch ( RedisException r ) {
						logger.info( "Failed to write bucket " + bucketName + " on node " + n + " with error: " + r );
					}
				}

				try {
					Thread.sleep( DEFAULT_SLEEP );
				} catch (InterruptedException e) {
					logger.severe("sleep interrupted: " + e );
				}

				attempt++;
			}

		} catch (IOException e) {
			logger.severe("Failed to create client. Exiting container");
		}

		System.exit(-1);
	}

}

@wufengke
Unable to reproduce. Here is my test:
    @Test
    public void testFailoverInClusterAll() throws Exception {
        RedisRunner master1 = new RedisRunner().port(6890).randomDir().nosave();
        RedisRunner master2 = new RedisRunner().port(6891).randomDir().nosave();
        RedisRunner master3 = new RedisRunner().port(6892).randomDir().nosave();
        RedisRunner slave1 = new RedisRunner().port(6900).randomDir().nosave();
        RedisRunner slave2 = new RedisRunner().port(6901).randomDir().nosave();
        RedisRunner slave3 = new RedisRunner().port(6902).randomDir().nosave();

        ClusterRunner clusterRunner = new ClusterRunner()
                .addNode(master1, slave1)
                .addNode(master2, slave2)
                .addNode(master3, slave3);
        ClusterProcesses process = clusterRunner.run();

        Thread.sleep(2000);

        Config config = new Config();
        config.useClusterServers()
        .setLoadBalancer(new RandomLoadBalancer())
        .addNodeAddress(process.getNodes().stream().findAny().get().getRedisServerAddressAndPort());
        RedissonClient redisson = Redisson.create(config);

        List<RFuture<?>> futures = new ArrayList<RFuture<?>>();
        CountDownLatch latch = new CountDownLatch(1);
        Thread t = new Thread() {
            public void run() {
                for (int i = 0; i < 1000; i++) {
                    RFuture<?> f1 = redisson.getBucket("i" + i).getAsync();
                    RFuture<?> f2 = redisson.getBucket("i" + i).setAsync("");
                    RFuture<?> f3 = redisson.getTopic("topic").publishAsync("testmsg");
                    futures.add(f1);
                    futures.add(f2);
                    futures.add(f3);
                    try {
                        Thread.sleep(100);
                    } catch (InterruptedException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    if (i % 100 == 0) {
                        System.out.println("step: " + i);
                    }
                }
                latch.countDown();
            };
        };
        t.start();
        t.join(1000);

        process.getNodes().forEach(n -> n.restart(10));

        assertThat(latch.await(105, TimeUnit.SECONDS)).isTrue();

        int errors = 0;
        int success = 0;
        int readonlyErrors = 0;

        for (RFuture<?> rFuture : futures) {
            rFuture.awaitUninterruptibly();
            if (!rFuture.isSuccess()) {
                errors++;
            } else {
                success++;
            }
        }

        redisson.shutdown();
        process.shutdown();

        assertThat(readonlyErrors).isZero();
        assertThat(errors).isLessThan(300);
        assertThat(success).isGreaterThan(2700);
    }

Did you try to reduce pingConnectionInterval to 5000

Fixed in https://github.com/redisson/redisson/issues/3587


Window doesnt fill the screen

hello there, I am using sway(wayland) in arch(linux) and I encountered some issues
the window doesn't fill the screen space
https://a.uguu.se/lrUKdnKe.png
if I move it to a workspace of its own it keeps the same size(see next image), same if I full-screen it (then: the empty space becomes  black)
this is an issue because I cant see the top menu
the mouse is also offset, the red dot indicates the distance where the mouse actually clicks
here in a workspace of its own:
https://a.uguu.se/DaaavkVM.png
in a red box you can see a completely unrelated issue: when you scroll the assets those grey boxes vibrate into existence
thank you anyway

Your image links are expired. Use a website like Imgur.

@tekakutli could you please confirm if @w-flo 's change has fixed the issue for you, and if so, close the issue?

indeed, thank you @w-flo


Consider renaming to bbs-multikey given keygen constraints / expectations

Keys for BBS are expected to be generated using a cryptosuite identifier -- and then are expected to be used accordingly. This binds the keys to the signatures they are expected to be used for. The BBS spec (current revision) does allow for other mechanisms to be used, but they aren't the recommended path.
It's not clear (yet) whether these keys could be used for key agreement or any other purpose, and if not, we should probably just rename to BBS. If there's some other purpose that makes sense we could keep the name as-is ... or we could just rename and rename back to bls12-381 later should such a reason arise ... keeping keygen BBS-specific for now.

I think one way to solve this would be for this library to return signer and verifier against the BLS signatures spec, which are straightforward curve operations. This is what most libraries do when they implement BLS key sign and verify functions. BLS signatures sign operation is the usual elliptic curve algorithm (Msg * SK).
The bbs-signatures module can then reference this one (instead the other way around) and either extend the functionality of the key with methods like bbsSigner(), bbsVerifier(),  bbsProof(), bbsProofVerifier(), or publish some factory helper methods.
The key-gen operation can then support both key-gen operations defined in each spec, thus making it interoperable with other implementations.
I came here to post about the limitation of the current implementation where verifier() only verifies BBS proofs, but not BBS signatures. The BBS spec defines two different verify operations for each signature construction (CoreSign and CoreProofGen). However, I saw this issue, and figured I'd add my thoughts.

@tmarkovski,
Thanks, your suggestions might be a good path forward. However, we're presently updating bbs-signatures to the latest IETF BBS draft (draft 6) -- and then have some other work depending on it so this is a bit back-burnered. Whenever we come back here, we'll consider the approach you suggest as a viable option.

I came here to post about the limitation of the current implementation where verifier() only verifies BBS proofs, but not BBS signatures. The BBS spec defines two different verify operations for each signature construction (CoreSign and CoreProofGen). However, I saw this issue, and figured I'd add my thoughts.

Yes, this is another consideration. I've seen some terminology elsewhere refer to BBS signature verification (as opposed to proof verification) as "confirmation" rather than "verification" -- perhaps to help establish that there are expected differences in usage. We might want to adopt that here too.


Update logback-classic to 1.5.7

About this PR
📦 Updates ch.qos.logback:logback-classic from 1.4.14 to 1.5.7
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "ch.qos.logback", artifactId = "logback-classic" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "ch.qos.logback", artifactId = "logback-classic" }
}]

labels: library-update, early-semver-minor, semver-spec-minor, commit-count:1

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 79.23%. Comparing base (c04d33c) to head (313277e).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1721      +/-   ##
==========================================
- Coverage   79.35%   79.23%   -0.12%
==========================================
  Files         144      144
  Lines        5008     5008
  Branches      670      670
==========================================
- Hits         3974     3968       -6
- Misses       1034     1040       +6

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


Added a hourly status print in the controller logs.

OCD run https://ocd.appscale.com:8080/job/Daily Build/913

OCD run https://ocd.appscale.com:8080/job/Daily Build/915/.

:+1:

OCD https://ocd.appscale.com:8080/job/Daily Build/917/


Optional values missing in Record causes ValidationError.

 fn main() -> Result<(), Error> {
    let raw_schema = r#"
        {
            "type": "record",
            "name": "test",
            "fields": [
                {"name": "a", "type": "string"},
                {"name": "b", "type": "string"},
                {"name": "c",  "type": ["null", "string"]}
            ]
        }
    "#;

    let schema = Schema::parse_str(raw_schema)?;

    println!("==============");
    println!("{:?}", schema);

    let mut writer = Writer::with_codec(&schema, Vec::new(), Codec::Deflate);

    let mut record = Record::new(writer.schema()).unwrap();
    let mut check : BTreeMap<String, String> = BTreeMap::new();
    check.insert("a".to_owned(), "100".to_owned());
    check.insert("b".to_owned(), "200".to_owned());
    for (key, value) in check.iter(){
        record.put(key, value.clone());
    }

    writer.append(record)?;

    // let test = Test {
    //     a: "27".to_owned(),
    //     b: "foo".to_owned(),
    //     c: None,
    // };

    // writer.append_ser(test)?;

    writer.flush()?;

    let input = writer.into_inner();
    let reader = Reader::with_schema(&schema, &input[..])?;

    for record in reader {
        println!("{:?}", from_value::<Test>(&record?));
    }
Ok(())

}
This causes ValidationError for non matching schema.
If Record being written doesn't have a key whose value is optional the Writer should infer that and not cause a validation error, right?

Two things at play here.
One is a bug that has been fixed in master ( #103 ) but that I have yet to release. I was waiting for another PR to land, but I'll just release a patch version now since it is bothering you.
Although, I think that the avro spec and your expectations do not exactly match. You can read more about unions at https://avro.apache.org/docs/current/spec.html#Unions and about default values at
https://avro.apache.org/docs/current/spec.html#schema_record and https://avro.apache.org/docs/current/spec.html#Schema+Resolution.
In practice, these are the sentences that explain how default values are handled in avro for record fields:

default: A default value for this field, used when reading instances that lack this field (optional).

if the writer's record contains a field with a name not present in the reader's record, the writer's value for that field is ignored.
if the reader's record schema has a field that contains a default value, and writer's schema does not have a field with the same name, then the reader should use the default value from its field.
if the reader's record schema has a field with no default value, and writer's schema does not have a field with the same name, an error is signalled.

Practically, this means that:

unions with null do not explicitly imply a null default value

default values are only used at the reader side, not at the writer side

A working example (with current master, not version 0.6.6) would be:
    #[test]
    fn test_default() -> Result<(), Error> {

        #[derive(Debug, Serialize, Deserialize)]
        struct Test {
            a: String,
            b: String,
            c: Option<String>,
        }

        let raw_schema = r#"
        {
            "type": "record",
            "name": "test",
            "fields": [
                {"name": "a", "type": "string"},
                {"name": "b", "type": "string"}
            ]
        }
        "#;

        let raw_schema_r = r#"
        {
            "type": "record",
            "name": "test",
            "fields": [
                {"name": "a", "type": "string"},
                {"name": "b", "type": "string"},
                {"name": "c",  "type": ["null", "string"], "default": "null"}
            ]
        }"#;

        let schema = Schema::parse_str(raw_schema)?;
        let schema_r = Schema::parse_str(raw_schema_r)?;

        println!("==============");
        println!("{:?}", schema);

        let mut writer = Writer::with_codec(&schema, Vec::new(), Codec::Deflate);

        let mut record = Record::new(writer.schema()).unwrap();
        record.put("a", "antonio".to_owned());
        record.put("b", "antonio".to_owned());

        writer.append(record)?;

        writer.flush()?;

        let input = writer.into_inner();
        let reader = Reader::with_schema(&schema_r, &input[..])?;

        for record in reader {
            println!("{:?}", from_value::<Test>(&record?));
        }
        Ok(())

I hope this (and version 0.6.7) will answer your question, but I'll leave this issue open for a bit before closing it as "won't fix", in case I misunderstood what you wanted to ask.

Sorry for really late response.

103 actually the union resolution does solve my issue.

As per the mismatch of schema between Reader and Writer doesn't really apply for me as I control the both ends of the schema.

@poros , in which version is this available or should I use master itself?

I recommend you use the latest version, but it should be available from version 0.7.0.

As it isn't in the avro spec (at least, as far as I can understand the spec, which is indeed a quite contrived at times), I don't plan on supporting nullable values on the writer side any time soon.


Remove confusing Undetermined compliance state

The situation where this compliance state was being used was appearing if the ConfigurationPolicy had no templates. Marking it as Unknown is better, since at least that is a value listed in the api folder...
This change also makes this situation create a compliance event, since the framework needs a new event in all situations when a policy, else when it transitions from Pending to something else, it will not update.
Refs:

https://issues.redhat.com/browse/ACM-2263

Signed-off-by: Justin Kulikauskas<EMAIL_ADDRESS>

/cc @dhaiducek


ORM 2.9 Set doesn't properly convert @UniqueConstraint and @Index annotations to attributes

I'm trying out the new ORM 2.9 upgrade set to convert Annotations to Attributes and I found a problem.
Given I have the following entity:
/**
 * @ORM\Table(
 *     name="table",
 *     options={"charset": "utf8mb4", "collate": "utf8mb4_bin"},
 *     uniqueConstraints={
 *         @ORM\UniqueConstraint(name="unique_review", columns={"type", "relationship_id", "user_id"})
 *     },
 *     indexes={
 *         @ORM\Index(name="index_name", columns={"user_id", "type", "relationship_id", "created_at", "is_deleted"}),
 *     },
 * )
 */
class SomeEntity

Rector changes this to:
#[Table(name: 'table', options: ['charset' => 'utf8mb4', 'collate' => 'utf8mb4_bin'], uniqueConstraints: ['(name="unique_review", columns={"type", "relationship_id", "user_id"})'], indexes: ['(name="index_name", columns={"user_id", "type", "relationship_id", "created_at", "is_deleted"})'], ')')]
class SomeEntity

As you can see, it completely trips on the nested annotations. And just dumps them in as strings.
Turns out that nested attributes are not supported.
The solution would be, to move the nested annotations to attributes on a new line, like this:
#[Table(name: 'table', options: ['charset' => 'utf8mb4', 'collate' => 'utf8mb4_bin'])]
#[UniqueConstraint(name: 'unique_review', columns=['type', 'relationship_id', 'user_id']]
#[Index(name: 'index_name', columns=['user_id', 'type', 'relationship_id', 'created_at', 'is_deleted'])]
class SomeEntity

To mitigate this bug, I tried to first manually convert the nested Annotations to Class Annotations. But Doctrine doesn't allow that:
/**
 * @ORM\Table(name="table", options={"charset": "utf8mb4", "collate": "utf8mb4_bin"})
 * @ORM\UniqueConstraint(name="unique_review", columns={"type", "relationship_id", "user_id"})
 * @ORM\Index(name="index_name", columns={"user_id", "type", "relationship_id", "created_at", "is_deleted"})
 */
class SomeEntity

[Semantical Error] Annotation @ORM\UniqueConstraint is not allowed to be declared on class SomeEntity.
You may only use this annotation on these code elements: ANNOTATION.

That also means that these examples are impossible/invalid:
https://github.com/rectorphp/rector-doctrine/blob/main/tests/Set/DoctrineORM29Set/Fixture/unique_constraint.php.inc
https://github.com/rectorphp/rector-doctrine/blob/main/tests/Set/DoctrineORM29Set/Fixture/index.php.inc

Hi, thanks for reporting the issue. Could you provide minimal failing test case via PR?

Done, also found another issue related to @JoinColumns
https://github.com/rectorphp/rector-doctrine/pull/17

Hi
I also found a problem with @Orm\JoinTable
This code :

class toto
{
    /**
     * @ORM\ManyToMany(targetEntity=Labels::class)
     * @ORM\JoinTable(
     *     name="statements_suppliers_to_tags",
     *     joinColumns={@ORM\JoinColumn(name="statement", referencedColumnName="id", onDelete="CASCADE")},
     *     inverseJoinColumns={@ORM\JoinColumn(name="label", referencedColumnName="id")}
     * )
     *
     * @var Collection<int, Labels>|Labels[]
     **/
    protected Collection $tags;
}

Is translated to :

class toto
{
    #[\Doctrine\ORM\Mapping\ManyToMany(targetEntity: Labels::class)]
    #[\Doctrine\ORM\Mapping\JoinTable(name: 'statements_suppliers_to_tags', joinColumns: ['(name="statement", referencedColumnName="id", onDelete="CASCADE")'], inverseJoinColumns: ['(name="label", referencedColumnName="id")'])]
    protected Collection $tags;
}

instead of

class toto
{
    #[\Doctrine\ORM\Mapping\ManyToMany(targetEntity: Labels::class)]
    #[\Doctrine\ORM\Mapping\JoinTable(name: "statements_suppliers_to_tags")]
    #[\Doctrine\ORM\Mapping\JoinColumn(name: "statement", referencedColumnName: "id",  onDelete="CASCADE")]
    #[\Doctrine\ORM\Mapping\InverseJoinColumn(name: "label", referencedColumnName: "id")]
}

Any progress? This set is basically useless without these fixes.
I'd be happy to help with a pull request if someone points in the right direction.

@samsonasik Hi Abdul, could you check this issue please? It seem like an important feature we're missing.
It should be contributed to core IMO.


Add more information about command

It's pretty useful to have more information about command parameters

I don't think this should be a default behavior, see https://github.com/getsentry/sentry-symfony/issues/60#issuecomment-305269876


[BUG]: Consider changing signature of UniqueOnConstraintBuilder::on to allow more convenient spreading

What version of drizzle-orm are you using?
0.30.10
What version of drizzle-kit are you using?
0.21.4
Describe the Bug
The pg UniqueOnConstraintBuilder has the following signature for the on method:
on(...columns: [PgColumn, ...PgColumn[]]): UniqueConstraintBuilder;

I want to do something like this (to keep my uniqueness constraint synced with a particular set of fields):
export const unit = backend.table('unit', {
  id: uuid('id').primaryKey().defaultRandom(),
  ...ADDRESS_FIELDS,
}, (t) => {
  const addressColumns = Object.entries(t)
    .filter(([k, _v]) => (Object.keys(ADDRESS_FIELDS).includes(k)))
    .map(([_k, v]) => (v));
  const unique_address = unique('unique_address').on(...addressColumns);

  return { unique_address };
});

However, I get the error

A spread argument must either have a tuple type or be passed to a rest parameter.

Instead, I'm forced to do this:
export const unit = backend.table('unit', {
  id: uuid('id').primaryKey().defaultRandom(),
  ...ADDRESS_FIELDS,
}, (t) => {
  // Get all address columns.
  const addressColumns = Object.entries(t)
    .filter(([k, _v]) => (Object.keys(ADDRESS_FIELDS).includes(k)))
    .map(([_k, v]) => (v));
  if (addressColumns.length === 0) {
    throw new Error('Must be at least 1 address column.');
  }
  const unique_address = unique('unique_address')
    .on(addressColumns[0]!, ...addressColumns.slice(1));

  return { unique_address };
});

It's not the worst thing in the world, but it would certainly be cleaner to do the former. This would be possible if the signature was instead
on(...columns: PgColumn[]): UniqueConstraintBuilder;

I'm guessing the motivation for the current signature is to prevent 0-argument calls to on, which makes sense. If you adopted the suggestion, there would need to be some well-defined/document behavior for 0-argument calls (i.e., not make any constraint, throw an error, etc.).
Totally understand if you want to keep it the way it is, but wanted to make you aware of this use case in case you wanted to adopt the suggestion or had any other ideas to make it easier to do something like this.
Expected behavior
No response
Environment & setup
No response

I doubt we'll change the type for the input for .on(). In this case, you could make addressColumns read-only and that should be the solution to your use case:
const addressColumns = Object.entries(t)
    .filter(([k, _v]) => (Object.keys(ADDRESS_FIELDS).includes(k)))
    .map(([_k, v]) => (v)) as [PgColumn, ...PgColumn[]];

Not super elegant, but it works. If you do this often, you can also abstract the above into a function that returns [PgColumn, ...PgColumn[]].


pip compatible?

Hi there,
I've been trying to set up a job that runs pip, but it seems to trigger some other command and I end up with an error occurring. I was wondering whether just is compatible with pip or if there is a known underlying process going on.
Much appreciated.

Yes. As laniak stated it's probably just the wrong pip that gets executed, you can use which pip as part of your recipe to know which is being invoked.
If you use python you should probably use a virtual env and this tip from the doc can help you with this setup

Thanks for the feedback. I am running version just 1.25.2 & the result of which pip goes to the path managed by homebrew, i.e., /opt/homebrew/bin/pip. After activating the local python enviroment, the path goes to the local pip. Either version triggers the error message below:
Version: ImageMagick 7.1.1-29 Q16-HDRI aarch64 21991 https://imagemagick.org
Copyright: (C) 1999 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC HDRI Modules OpenMP(5.0)
Delegates (built-in): bzlib fontconfig freetype gslib heic jng jp2 jpeg jxl lcms lqr ltdl lzma openexr png ps raw tiff webp xml zlib zstd
Compiler: gcc (4.2)
Usage: import [options ...] [ file ]

Image Settings:
  -adjoin              join images into a single multi-image file
  -border              include window border in the output image
  -channel type        apply option to select image channels
  -colorspace type     alternate image colorspace
  -comment string      annotate image with comment
  -compress type       type of pixel compression when writing the image
  -define format:option
                       define one or more image format options
  -density geometry    horizontal and vertical density of the image
  -depth value         image depth
  -descend             obtain image by descending window hierarchy
  -display server      X server to contact
  -dispose method      layer disposal method
  -dither method       apply error diffusion to image
  -delay value         display the next image after pausing
  -encipher filename   convert plain pixels to cipher pixels
  -endian type         endianness (MSB or LSB) of the image
  -encoding type       text encoding type
  -filter type         use this filter when resizing an image
  -format "string"     output formatted image characteristics
  -frame               include window manager frame
  -gravity direction   which direction to gravitate towards
  -identify            identify the format and characteristics of the image
  -interlace type      None, Line, Plane, or Partition
  -interpolate method  pixel color interpolation method
  -label string        assign a label to an image
  -limit type value    Area, Disk, Map, or Memory resource limit
  -monitor             monitor progress
  -page geometry       size and location of an image canvas
  -pause seconds       seconds delay between snapshots
  -pointsize value     font point size
  -quality value       JPEG/MIFF/PNG compression level
  -quiet               suppress all warning messages
  -regard-warnings     pay attention to warning messages
  -repage geometry     size and location of an image canvas
  -respect-parentheses settings remain in effect until parenthesis boundary
  -sampling-factor geometry
                       horizontal and vertical sampling factor
  -scene value         image scene number
  -screen              select image from root window
  -seed value          seed a new sequence of pseudo-random numbers
  -set property value  set an image property
  -silent              operate silently, i.e. don't ring any bells
  -snaps value         number of screen snapshots
  -support factor      resize support: > 1.0 is blurry, < 1.0 is sharp
  -synchronize         synchronize image to storage device
  -taint               declare the image as modified
  -transparent-color color
                       transparent color
  -treedepth value     color tree depth
  -verbose             print detailed information about the image
  -virtual-pixel method
                       Constant, Edge, Mirror, or Tile
  -window id           select window with this id or name
                       root selects whole screen

Image Operators:
  -annotate geometry text
                       annotate the image with text
  -colors value        preferred number of colors in the image
  -crop geometry       preferred size and location of the cropped image
  -encipher filename   convert plain pixels to cipher pixels
  -extent geometry     set the image size
  -geometry geometry   preferred size or location of the image
  -help                print program options
  -monochrome          transform image to black and white
  -negate              replace every pixel with its complementary color
  -quantize colorspace reduce colors in this colorspace
  -resize geometry     resize the image
  -rotate degrees      apply Paeth rotation to the image
  -strip               strip image of all profiles and comments
  -thumbnail geometry  create a thumbnail of the image
  -transparent color   make this color transparent within the image
  -trim                trim image edges
  -type type           image type

Miscellaneous Options:
  -debug events        display copious debugging information
  -help                print program options
  -list type           print a list of supported option arguments
  -log format          format of debugging information
  -version             print version information

By default, 'file' is written in the MIFF image format.  To
specify a particular image format, precede the filename with an image
format name and a colon (i.e. ps:image) or specify the image type as
the filename suffix (i.e. image.ps).  Specify 'file' as '-' for
standard input or output.
import: delegate library support not built-in '' (X11) @ error/import.c/ImportImageCommand/1302.
Version: ImageMagick 7.1.1-29 Q16-HDRI aarch64 21991 https://imagemagick.org
Copyright: (C) 1999 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC HDRI Modules OpenMP(5.0)
Delegates (built-in): bzlib fontconfig freetype gslib heic jng jp2 jpeg jxl lcms lqr ltdl lzma openexr png ps raw tiff webp xml zlib zstd
Compiler: gcc (4.2)
Usage: import [options ...] [ file ]

Image Settings:
  -adjoin              join images into a single multi-image file
  -border              include window border in the output image
  -channel type        apply option to select image channels
  -colorspace type     alternate image colorspace
  -comment string      annotate image with comment
  -compress type       type of pixel compression when writing the image
  -define format:option
                       define one or more image format options
  -density geometry    horizontal and vertical density of the image
  -depth value         image depth
  -descend             obtain image by descending window hierarchy
  -display server      X server to contact
  -dispose method      layer disposal method
  -dither method       apply error diffusion to image
  -delay value         display the next image after pausing
  -encipher filename   convert plain pixels to cipher pixels
  -endian type         endianness (MSB or LSB) of the image
  -encoding type       text encoding type
  -filter type         use this filter when resizing an image
  -format "string"     output formatted image characteristics
  -frame               include window manager frame
  -gravity direction   which direction to gravitate towards
  -identify            identify the format and characteristics of the image
  -interlace type      None, Line, Plane, or Partition
  -interpolate method  pixel color interpolation method
  -label string        assign a label to an image
  -limit type value    Area, Disk, Map, or Memory resource limit
  -monitor             monitor progress
  -page geometry       size and location of an image canvas
  -pause seconds       seconds delay between snapshots
  -pointsize value     font point size
  -quality value       JPEG/MIFF/PNG compression level
  -quiet               suppress all warning messages
  -regard-warnings     pay attention to warning messages
  -repage geometry     size and location of an image canvas
  -respect-parentheses settings remain in effect until parenthesis boundary
  -sampling-factor geometry
                       horizontal and vertical sampling factor
  -scene value         image scene number
  -screen              select image from root window
  -seed value          seed a new sequence of pseudo-random numbers
  -set property value  set an image property
  -silent              operate silently, i.e. don't ring any bells
  -snaps value         number of screen snapshots
  -support factor      resize support: > 1.0 is blurry, < 1.0 is sharp
  -synchronize         synchronize image to storage device
  -taint               declare the image as modified
  -transparent-color color
                       transparent color
  -treedepth value     color tree depth
  -verbose             print detailed information about the image
  -virtual-pixel method
                       Constant, Edge, Mirror, or Tile
  -window id           select window with this id or name
                       root selects whole screen

Image Operators:
  -annotate geometry text
                       annotate the image with text
  -colors value        preferred number of colors in the image
  -crop geometry       preferred size and location of the cropped image
  -encipher filename   convert plain pixels to cipher pixels
  -extent geometry     set the image size
  -geometry geometry   preferred size or location of the image
  -help                print program options
  -monochrome          transform image to black and white
  -negate              replace every pixel with its complementary color
  -quantize colorspace reduce colors in this colorspace
  -resize geometry     resize the image
  -rotate degrees      apply Paeth rotation to the image
  -strip               strip image of all profiles and comments
  -thumbnail geometry  create a thumbnail of the image
  -transparent color   make this color transparent within the image
  -trim                trim image edges
  -type type           image type

Miscellaneous Options:
  -debug events        display copious debugging information
  -help                print program options
  -list type           print a list of supported option arguments
  -log format          format of debugging information
  -version             print version information

By default, 'file' is written in the MIFF image format.  To
specify a particular image format, precede the filename with an image
format name and a colon (i.e. ps:image) or specify the image type as
the filename suffix (i.e. image.ps).  Specify 'file' as '-' for
standard input or output.
import: delegate library support not built-in '' (X11) @ error/import.c/ImportImageCommand/1302.
PATH_TO_PIP: line 5: from: command not found
PATH_TO_PIP: line 7: syntax error near unexpected token `('
PATH_TO_PIP: line 7: `    sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])'

The following shows that it tries to run python code from the shell.
Usage: import [options ...] [ file ]

Image Settings:
...
PATH_TO_PIP: line 5: from: command not found
PATH_TO_PIP: line 7: syntax error near unexpected token `('
PATH_TO_PIP: line 7: `    sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])'

Attach the relevant parts of the justfile but I think I know what you are trying to do and you could use shebang for that (i.e write recipes in python)

ahhh! that works. Thanks a lot. I had tried using #!/bin/bash before, which did not work. I am closing the issue.


[WFLY-12962] Upgrade WildFly Core 11.0.0.Beta7

Remove temporary dependencies to httpcomponents as this release of
WildFly Core brings the upraded dependencies (from WFCORE-4788).
JIRA: https://issues.redhat.com/browse/WFLY-12962

Release Notes - WildFly Core - Version 11.0.0.Beta7
        Component Upgrade

[WFCORE-4697] -         Upgrade WildFly Elytron to 1.11.0.Final

[WFCORE-4788] -         Upgrade org.apache.httpcomponents:httpclient 4.5.10

[WFCORE-4796] -         Upgrade Elytron Web to 1.7.0.Final

[WFCORE-4797] -         Upgrade galleon to 4.2.3

        Feature Request

[WFCORE-2147] -         Impossible to use environment variables or system properties in permissions.xml and jboss-permissions.xml

[WFCORE-4770] -         CLI script execution at server boot

        Bug

[WFCORE-4798] -         Add necessary module dependencies to elytron-private module

Looks like CI is running just not showing up here https://ci.wildfly.org/viewQueued.html?itemId=181991&tab=queuedBuildOverviewTab


--single option is not working

The --single option is not working correctly. I still see multiple TCP connections at once. So when disabling window scaling, speedtest-cli gives unrealistic high values.
(sysctl -w net.ipv4.tcp_window_scaling=0)
I tested a server with a RTT of 3.757 ms and had a downlad speed of 557.26 Mbit/s. Mathematically, with a window size of max 64KB and and RTT of 3.757, I should reach at best 139.55 Mbit/sec in a single TCP connection.
This number is suspiciously near to a quarter of the displayed speed - and I have 4 cores.
Can it be, that --single limits the test to one connection per core?

Can you test the following branch and see if it resolves your issues?
https://raw.githubusercontent.com/sivel/speedtest-cli/thread-limiter/speedtest.py

Can you test the following branch and see if it resolves your issues?

Yes, it does. Thanks!


fix(registry): HttpRegistry block_until_ready returns early when work is still pending

What does this PR try to resolve?
block_until_ready is returning early when there are still pending transfers. This leads to extra restarts of the resolver, impacting performance.
In the existing implementation:

handle_completed_downloads runs and there are no completed downloads
multi.perform() is called and completes new downloads, with no pending transfers remaining
Since there are no items remaining_in_multi, the function returns early

This fixes the issue by reordering the calls to multi.perform(), handle_completed_downloads, then the completion check.
How should we test and review this PR?
A test is added that uses cargo's tracing to show the number of blocking calls.
Originally based on the PR #14680 by @x-hgg-x. The ordering fix in this PR also avoids an additional block_until_ready call for retried failed downloads.

does the code https://github.com/rust-lang/cargo/blob/8040c0051dadf95bee8c78eca89c339a8a10df3a/src/cargo/core/package.rs#L960  also need adjustment?

does the code
https://github.com/rust-lang/cargo/blob/8040c0051dadf95bee8c78eca89c339a8a10df3a/src/cargo/core/package.rs#L960
also need adjustment?

Seem pretty likely, though this is downloading the package so the perf gain may not be as significant as registry index one.

does the code
https://github.com/rust-lang/cargo/blob/8040c0051dadf95bee8c78eca89c339a8a10df3a/src/cargo/core/package.rs#L960
also need adjustment?

The current implementation looks correct to me. It doesn't have the same bug with early returning when there is still work to be done.
My notes on how it's working:
loop {
- wait()
  - wait_for_curl()
     loop {
     - add_sleepers() [self.sleeping -> self.pending (may not move all, depending on timing)]
     - multi.perform() [self.pending -> self.results]
     }
  - self.pending.remove()
  - self.sleeping.push() [for failed downloads that need retry]
}

@bors r=weihanglo

:pushpin: Commit 8db2192bbae07ab8c771e01a462ce68b2a3fabcb has been approved by weihanglo
It is now in the queue for this repository.

:hourglass: Testing commit 8db2192bbae07ab8c771e01a462ce68b2a3fabcb with merge 79a491a8b47a0944a40570cf26085026777ee38f...

:sunny: Test successful - checks-actions
Approved by: weihanglo
Pushing 79a491a8b47a0944a40570cf26085026777ee38f to master...


[REQUEST] - Add functionality to the base website

Description
The website run on localhost doesn't function , all the buttons just take you to nowhere.
I want to fix it up and make the buttons do something:
Basic Example

Components button will take you to a new page with all the components listed properly with documentation on how to use them in your project.

Thanks for assigning me this issue , i will get working on it and get back
to you ASAP.
It would be great if i can have your discord id so i can contact you easily
in case I want to ask something / show you the progress I made !!
On Mon, 2 Oct 2023, 19:27 Bieefilled, @.***> wrote:

Assigned #11 https://github.com/bieefilled/Biee-Library/issues/11 to
@sidling1 https://github.com/sidling1.
—
Reply to this email directly, view it on GitHub
https://github.com/bieefilled/Biee-Library/issues/11#event-10526452964,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWCEJXEJKPN5JWONW55SQILX5LB23AVCNFSM6AAAAAA5PANT7WVHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJQGUZDMNBVGI4TMNA
.
You are receiving this because you were assigned.Message ID:
@.***>


Keybinding for "Toggle Integrated Terminal" keeps resetting to Ctrl+^

I am on macOS with a german keyboard layout and I want to open the integrated terminal with Ctrl+<the key above Alt key>. For that I am assigning that key and the output I see is Ctrl+[Backquote]. When I set this it seems to work until I reload the window where it then stops to work.

@bpasero Just had the same conversation two days ago with @joaomoreno :)
Most likely, here is what is happening:

your laptop has an ANSI built-in keyboard
you use an external ISO keyboard
you type on the external ISO keyboard

The root cause
Chromium flips [Backquote] and [IntlBackslash] on ISO keyboards. This is the root cause of this issue and IMHO the only correct fix would be to ask the Electron folks to remove these horrible lines via a Chromium patch on their side:
https://cs.chromium.org/chromium/src/ui/events/keycodes/keyboard_code_conversion_mac.mm?type=cs&q=LMGetKbdType+package:^chromium$&l=809
int ISOKeyboardKeyCodeMap(int nativeKeyCode) {
  // OS X will swap 'Backquote' and 'IntlBackslash' if it's an ISO keyboard.
  // https://crbug.com/600607
  switch (nativeKeyCode) {
    case kVK_ISO_Section:
      return kVK_ANSI_Grave;
    case kVK_ANSI_Grave:
      return kVK_ISO_Section;
    default:
      return nativeKeyCode;
  }
}

DomCode DomCodeFromNSEvent(NSEvent* event) {
  if (KBGetLayoutType(LMGetKbdType()) == kKeyboardISO) {
    return ui::KeycodeConverter::NativeKeycodeToDomCode(
        ISOKeyboardKeyCodeMap([event keyCode]));
  }

  return ui::KeycodeConverter::NativeKeycodeToDomCode([event keyCode]);
}

The above Chromium code makes it that KeyboardEvent.code has the wrong value when typing on an ISO keyboard. i.e. [Backquote] and [IntlBackslash] are swapped, while keyCode, key, etc. are not. And that is the bug...

Our workaround
Our workaround is a bit complex, because we simply cannot detect when Chromium does the swap. The KeyboardEvent has no field called realCode or anything that would allow us to deduce from a singular KeyboardEvent that Chromium has done the swap.
To make matters worse, we cannot hook into Chromium and unswap the KeyboardEvent.code. i.e. we cannot patch Chromium, although Electron could do it on their side.
Our solution therefore consists of us polling on LMGetKbdType() on the main process. This value will change based on the last keyboard you have pressed a key on.  If you last typed on an ISO keyboard, we communicate this to our renderer processes, where we can then workaround the Chrome scan code swap.
Most likely, in your case, since the laptop has a built-in ANSI keyboard, initially, the value for LMGetKbdType() is initialized to something that would classify the keyboard as ANSI. Only after you do the first key press on the ISO keyboard, does OSX change the value of LMGetKbdType() on the main process. We will discover this in at most 3s (the polling interval) and communicate this to the renderer process so we can workaround the Chromium swapping.
All in all, when you switch from one different physical keyboard type to another, by pressing a key, it will take us ~3s to pick that up and begin working around Chromium's swapping.
IMHO we should create an Electron issue and ask them to delete the swapping inside Chromium so we don't have to do this crazy workaround. The reason Chromium swaps the scan code might make sense for a browser page, but does not make sense for a desktop application. Would be great if you want to file such an issue to Electron.
Also see #24153

@alexandrudima thanks, yeah I do remember this because we looked both into it last end game and I was aware of it when I filed the issue, however something else must be going wrong: This issue happens after VS Code has long been started and after I had typed already quite a bit so I would expect your polling logic to have determined everything by then. I am also no changing keyboards or so in this process.
As far as I can tell, at one point I can no longer toggle the integrated terminal via Ctrl+< and I have to assign the keybinding again via the keybindings editor to make it work. Right now I cannot reproduce this if I just restart and give it a try, but I know sometimes I end up in the situation where it does not work anymore. When this happens next time, I show you.

I will reopen this bug if it is not fixed in latest insider.


explicitly pick a version

This change is

Coverage decreased (-0.04%) to 47.064% when pulling 4705a856f2e6e3eed998e0fd9244caad2b543d7e on zouyee:dev into c5e30973e5dbad4cfce002761caf65ecc4959406 on kubernetes:master.

Coverage decreased (-0.01%) to 47.094% when pulling 4705a856f2e6e3eed998e0fd9244caad2b543d7e on zouyee:dev into c5e30973e5dbad4cfce002761caf65ecc4959406 on kubernetes:master.


Make job's progress more visible

We should show how many datums have been processed, how many datums have failed to be processed, etc.  That way a user won't look at a running job and wonder if it's their code that's taking so long or if there's some internal failures going on.

dupe of #1588, I copied over the labels


stop to rendering unpublished articles

@istride  Fixed to rendering the unpublished articles.

This is Roland
https://github.com/unicef/iogt/issues/5#issuecomment-845835657
Could anyone reply for this comment?
On Thu, May 20, 2021 at 7:50 PM Ian Stride @.***> wrote:

@.**** commented on this pull request.
In home/templatetags/home_tags.py
https://github.com/unicef/iogt/pull/71#discussion_r636028300:

     'request': context['request'],

 }

@register.inclusion_tag('home/tags/articles_list.html')
def render_articles_list(articles):

return {'articles': articles}

live_articles = articles.filter(live=True)

I agree with @ehmadzubair https://github.com/ehmadzubair. This is a
rather simple case, so it does not seem to make much difference where the
query goes, however, I suspect there may be more things to consider in the
future than just whether articles are live or not, such as which order the
articles should be in, and perhaps handling other items than articles.
We should also consider how easy it is to test, given that the home page
will be more complicated later on. It would also be good to include a test
that ensures that only live articles are present on the home page,
@djangodeveloper96 https://github.com/djangodeveloper96 .
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/unicef/iogt/pull/71#discussion_r636028300, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AUEMHE3D3AIBIBG57MSB22TTOTZPHANCNFSM45FELENA
.

fixes #60

fixes #60

pushed my updates.


Update package.json dependencies

The only thing that will actually be changed was extend having a major bump from 1 to 2.0. The change was minimal though, according to their changelog. Merge city, here we come.

Ah, true dat. Didn't think of this. Just used npm-check-updates to bump up the jam all over.


inject database context

I want your system to update my database when the background task has completed, but i cannot use the context from the MVC controller because it has a lifetime of the request only. Can you explain how I can either call some other controller like method or inject a context into the BackgroundQueue.

Fully supported in v2.0.0
Updated in README.md has an example showing how to do this in v.2.0.0
v2.0 has a fully working EF example in the repo


Add summary to service_manual_guide

We are extending service_manual_guide to also handle the "points page" in the service manual. A points page represents one of the points in the service standard. The design of the points page requires a lede just after the title. Because these lede / standfirst sections are fairly common across GOV.UK we think it is acceptable to give this to the other two pages that use this format, the guide page and the guide community page.

lgtm, other than that one CI job failing. Maybe ask about that?

@AndrewVos green now (https://github.com/alphagov/specialist-publisher-rebuild/pull/733)


Fixed copy strategy error on new server

#483

@twinh Can you explain more into detail what this fixes? Not sure I get what the bug is


Add extras for fastparquet and pyarrow

This is helpful to ensure that the correct version of these libs is
installed.
What's the minimal version of fastparquet that dask supports?

I think this would be better-covered in the functions that actually call the external packages, so that it would work for whichever install/packing solution people are using

I think this would be better-covered in the functions that actually call the external packages, so that it would work for whichever install/packing solution people are using

The issue is that not all versions work. E.g. pyarrow requires at least version 0.13.1. Especially when using tools like pip-compile, I expect dask to report the proper version constraints. That's exactly the point of declaring extra dependencies.

The trouble, though, it that most people use dask[complete], which will then install all of these things. The definition of "complete" could be changed too, of course.

The trouble, though, it that most people use dask[complete], which will then install all of these things. The definition of "complete" could be changed too, of course.

Sure, but why not include these two libs into complete?

There are lots of things we could include in complete but don't, and in this particular instance, it is a near certainty that a user doesn't need both libs

So how about adding these 2 extras but NOT adding them to complete?

That sounds much more reasonable to me.
@jcrist @jakirkham , any thoughts?

I'm against adding these to "complete", and am -0.5 to adding them to extras at all. Generally we recommend users strictly specify their dependencies themselves, and only provide extras for specific sub packages (array, dataframe, etc...). Adding extras for a specific sub-library seems odd to me (why not specify that sub-library yourself in your requirements file?). It also opens the door to us having a boundless set of extras, since we have many many optional dependencies.
Also, historically not all versions of arrow have been supported (e.g. recently arrow 0.13.0 broke for us, and had to wait until 0.13.1 for a fix). Released versions of dask would have had e.g arrow >= 0.12.0 for an arrow "extra" dependency, which would no longer be valid given this failure - users would still need to specify a version of arrow in their requirements file themselves.
I guess I don't see the point of adding an extra for only a single library dependency. And it requires users to specify dask[arrow] when installing to get that requirement, otherwise pip install dask arrow==0.12.0 would still work fine.
Can you point to other projects that include extras for all optional dependencies?

Maybe we could call it io? Then we could add other related things.
If the version constraints are more complicated than pip install or conda install of some package (like additional version requirements) that seems like a good argument for us listing that dependency somewhere with that constraint. Agree/disagree? Thoughts?

So let me explain the current workflow that someone has to use to work with dask:
You install dask[whatever], but some features are missing (e.g. parquet reading). To figure out which package and which version is required for that, you have to either do a trail-run and hope that the exception message is explanatory enough or you have to look for the source code. None of these I find particularly user-friendly. Now if you update dask (and this can be a minor version!) you have to do this dance again.
For production usage however, you also want to use either conda or pip-compile (or any other solver) to make sure all packages work together, because pip just emits a warning but breaks things anyway. To feed constraints into the solver, they actually need to be specified, which is currently not done anyway in a machine-readable way.
Apart from production usage, this also messes up (integration) tests with other packages, see JDASoftwareGroup/kartothek#111 for example.
Prior Art:

Airflow
setuptools

Maybe we could call it io? Then we could add other related things.

Sounds great.
Tl;Dr; It's nice for users.

Near term you may consider sending a PR to add pyarrow and parquet to the dask feedstock. That's more or less a kitchen-sink install. So adding a few more things there is not a big deal.

Near term you may consider sending a PR to add pyarrow and parquet to the dask feedstock. That's more or less a kitchen-sink install. So adding a few more things there is not a big deal.

I think we could hopefully agree on both, the wheel/sdist extras and the feedstock. I can take care of the feedstock PR.

You install dask[whatever], but some features are missing

The challenge here is that because Dask is used with dozens of other libraries we're probably not capable of keeping a comprehensive list of libraries up to date.

Near term you may consider sending a PR to add pyarrow and parquet to the dask feedstock. That's more or less a kitchen-sink install. So adding a few more things there is not a big deal.

I'm actually somewhat against this, for the reasons mentioned above.  There are hundreds of libraries that we could place in the dask feedstock.  If we add all of them then people won't use it.

(pyarrow, in particular, is a very large thing to install)

Maybe we could call it io? Then we could add other related things.

Users are unlikely to use both pyarrow and fastparquet, so sticking them both in the same extra seems counterproductive.

If the version constraints are more complicated than pip install or conda install of some package (like additional version requirements) that seems like a good argument for us listing that dependency somewhere with that constraint.

I think this is our best option. Dask has too many optional dependencies for using extras to be feasible, and pip doesn't allow optional package constraints (I think conda does now?). A table with extra dependencies, what they enable, and acceptable versions should be fairly easy for us to put together and maintain. @crepererum, would this be acceptable for your use case?

and acceptable versions should be fairly easy for us to put together and maintain

I disagree somewhat, or at least I disagree if you consider all libraries that we touch.  Who knows the right versions of itk or tpot or rasterio or MDAnalysis or scikit-image or geopandas that are good to use with Dask?  We've had to touch all of those at some point for better interoperability.  I think that if you open this door we'll be pestered fairly consistently to keep this list up to date.
If other folks want to maintain this on their time that's fine with me, but I'd be sad to see discussions here distract from other things that maintainers could be doing.

Who knows the right versions of itk or tpot or rasterio or MDAnalysis or scikit-image or geopandas that are good to use with Dask?

Those dependencies are going the other way (they may use dask internally, dask doesn't use them internally). I mean only things that dask (the library) internally conditionally imports. I think this is a far more manageable list, and many of these have version checks in the code already for validating these issues. We just need to keep the checks and docs in sync.

FWIW, pandas faces the same issue with many optional dependencies. We recently cleaned up their handling in https://github.com/pandas-dev/pandas/pull/26802 and put together a nice table. Maintaining that hasn't been too burdensome yet.
https://pandas.pydata.org/pandas-docs/stable/install.html#optional-dependencies

FWIW, pandas faces the same issue with many optional dependencies. We recently cleaned up their handling in pandas-dev/pandas#26802 and put together a nice table. Maintaining that hasn't been too burdensome yet.

The point is that the burden is now moved to the consumers, because there is not machine-readable standardized way of this.

The challenge here is that because Dask is used with dozens of other libraries we're probably not capable of keeping a comprehensive list of libraries up to date.

I think this is a feature of a well maintained package, for the reasons outlined above.

I think this is a feature of a well maintained package, for the reasons outlined above.

Don't get me wrong. I think dask is a very good package and a nice maintainership. I just think on top of this, the full dependency declaration should be the default.

I wasn't aware that users could specify multiple extras like
# requirements.txt
dask[dataframe,pyarrow,fastparquet]

That increases the attractiveness of this to me, since then Dask is able to specify a minimum version of pyarrow / fast parquet that we require. Otherwise, I don't see an advantage of this over
# requirements.txt
dask[dataframe]
pyarrow
fastparquet

Otherwise, I don't see an advantage of this over

I think the original point was, that the user doesn't know which versions to put in the requirements, and would prefer the package authors to specify this.

I've stated that I think this path leads to an explosion of extra options in our setup.py (we have many optional dependencies), and doesn't really solve the issue. Say we had an extra on a past release of dask:
...
"pyarrow": "pyarrow": ["pyarrow >=0.12.0"],
...

And users were installing dask with pyarrow support as:
pip install dask[pyarrow, dataframe]

Then pyarrow 0.13.0 is released, which broke our parquet handling with pyarrow in a non-patchable way. Now users install scripts don't work, but the dependency in the released library can't be fixed. We're not about to release a bugfix release with just a dependency change in the setup.py, as we may not be in a good place in our development cycle to do so (and historically we only release from master, rather than release branches).
A dependency table in our docs is easier to update asynchronously from the release, as other dependencies update.
That said, if other maintainers think this is a good idea, I'm not 100% against it.

I think the original point was, that the user doesn't know which versions to put in the requirements, and would prefer the package authors to specify this.

Exactly.

Then pyarrow 0.13.0 is released, which broke our parquet handling with pyarrow in a non-patchable way. Now users install scripts don't work, but the dependency in the released library can't be fixed. We're not about to release a bugfix release with just a dependency change in the setup.py, as we may not be in a good place in our development cycle to do so (and historically we only release from master, rather than release branches).

That's a very good point. You are right that this is actually an issue if we don't want to be overly restrictive w/ our dependencies (e.g. only allowing things up to the last known version). I still think that the constraints could be helpful since they are at least better than nothing, but as you've pointed out, they may never be sufficient.

Is it fair to say that the only use case this helps out with is when a user has a pre-existing environment with, say, pyarrow=0.12, and then attempts to install dask into it? If the user could do pip install dask[dataframe,pyarrow] then they'd correctly get the pyarrow>=0.13. But if they pip install dask[dataframe] they'd be stuck with the wrong version of pyarrow.
Am I missing any other cases where it's helpful?

Am I missing any other cases where it's helpful?

One particular case is JDASoftwareGroup/kartothek#111 . At the time we had the following situation:

kartothek blacklists pyarrow 0.14.X
dask release hits pypi that requires at least pyarrow 0.13.1
pyarrow never released 0.13.1 but only 0.13.0, 0.14.0 and 0.14.1

If the dependencies would have been declared in the suggested way, pip-compile would have already found this issue and either would have solved it during dependency resolution or would have produced a proper error message.

This has stalled a bit. Let's make a decision today, one way or the other.
To summarize

I think we're not considering adding these to complete. The choice is between a fasparquet and pyarrow extras, vs. better documentation of our optional dependencies.
The benefit to these extras is that downstream libraries maybe get a known compatible version of, e.g. pyarrow, when they pip install dask[complete,pyarrow].

I say maybe because we aren't going to put a max pin on pyarrow, and when pyarrow makes an API breaking change we won't make a patch release just changing our setup.py. So the situation that it helps is when you have an existing env and are updating dask, but not explicitly updating pyarrow. Possibly it would help in https://github.com/dask/dask/pull/5209#issuecomment-519553186, but I don't understand what's going on there.
Is that a fair summarization?
Can we get a +/-1 (or 0 😄) from people (@jcrist @jakirkham @mrocklin)?
For my vote, I think I'm -0 on adding the extras. I'd prefer to focus specifying a minimum supported version in our docs and testing against that, and keeping that one place up to date.

In the end, I think I'm -1: we can do this in docs. That would mean having a fairly easily-found page that we update as needed.

I'm also -1, as stated above. We should add a table to our docs of optional dependencies. I don't think extras are the proper way to solve this problem.

Thanks.
Sorry @crepererum, but I think we'll pass on this PR. Thanks anyways.
I'll put up a PR later today starting a table of optional dependencies and their minimum versions (unless you want to @crepererum, but I completely understand if you're ready to be done with this issue 😄).


The command for Azure DevOps does not work

When I try to use the command to create an Azure Pipeline with specific Azure DevOps organization and project I receive the following message : "Error finding organization. Please check that the organization exists by navigating to the Azure DevOps portal at dev.azure.com."
I am using the correct organization name, I can see it when I navigate to Azure DevOps portal.

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

ID: f3162209-04eb-aafb-a830-9edd55b584b3
Version Independent ID: d1aad587-01b8-16c5-49f6-78cc85ab23cc
Content: az functionapp devops-pipeline
Content Source: src/command_modules/azure-cli-appservice/azure/cli/command_modules/appservice/_help.py
Service: functions
GitHub Login: @rloutlaw
Microsoft Alias: routlaw

Do you mind running the command in an interactive way az functionapp devops-pipeline create
And check if your organization name shows up in the list provided by the command or not

Az interactive seems not be up-to-date with the funcion app last changes. Only the devops-build command appears even if this command has been changed to devops-pipeline and no list appears for this command.

Sorry for the confusion, if you just execute az functionapp devops-pipeline create without any parameters it should guide you through its own interactive mode (not the az interactive).

Okay, just did, it seems it does not see the Azure DevIops organizations I am part of.

@TechWatching Thanks for reporting this issue, I will take a look into it. Seems like the organization created from MSA and AAD account is still tangled together. I will improve the organization detection.

@TechWatching If possible could you let me know what's your account type.
When you login to microsoft, if the icon is a badge, that is AAD. Otherwise, it is MSA.

Sorry I did not see your message. It's AAD.

@TechWatching, will close this issue. please reopen if you still facing the same issue


Test prod contract ownership transfer. Run verify contract step.

I just verified and uploaded contract to https://polygonscan.com/address/0x49876df684d5bc682aa17729a5265a2717726c33#code


Short nav label

Modify summary attribute for more concise left side navigation in Redocs

@sudoku-lord nudge on this review 😄


Feat: Onboard Uniref50 dataset

Description
Dataset: Uniref50
Checklist

[x] (Required) This pull request is appropriately labeled
[x] Please merge this pull request after it's approved

Use the sections below based on what's applicable to your PR and delete the rest:
Feature

[x] I'm adding or editing a feature
[x] I have updated the README accordingly
[x] I have added/revised tests for the feature

Data Onboarding

[x] I'm adding or editing a dataset
[x] The Google Cloud Datasets team is aware of the proposed dataset
[x] I put all my code inside  datasets/<Uniref50> and nothing outside of that directory

@nlarge-google can you please review this code


Request Feature 😁

Request features as developed by: https://github.com/Rhymen/go-whatsapp
include:

[ ] HandleDocumentMessage
[ ] HandleAudioMessage
[ ] HandleContactMessage
[ ] HandleBatteryMessage
and
[ ] sendContactMessage

thank you very much and sorry if this is a bit troublesome 🙏🙏🙏🙏🙏🙏

Yesss....
I browsed through the binary messages and found how to get a contact type message

☝☝☝ in line 7-12 😁😁😁😁


Error in wellington_footprints.py when reading bed file

Hello,
I get the following error when trying to run wellington_footprints.py:
File "/home/barnekr1/.conda/envs/pydnase/bin/wellington_footprints.py", line 86, in
orderedbychr = [item for sublist in sorted(regions.intervals.values()) for item in sorted(sublist, key=lambda peak: peak.startbp)]
TypeError: '<' not supported between instances of 'GenomicInterval' and 'GenomicInterval'
This is running:
pydnase 0.2.6
python 3.6.2
Installation was done in an anaconda virtual environment with:
conda install -c bioconda pydnase
I am able to successfully run example_footprint_scores.py.
I believe this may be the same issues #35  addressed by @dpryan79
Should this fix work? Can these changes simply be manually made to files or is a fresh installation needed? Any advice is appreciated.

Hey there. I need to merge that PR and push out a new version to PyPi. I hope to get around to it this weekend!

Thanks for yours and @dpryan79 's efforts! I'm hoping this resolves my issue.

I went ahead and manually did the reinstall with the new merged fix. Everything seems to have ran smoothly!


AUR application fails to install ALVR

Description
My Add/Remove Software (My AUR) recieves the error "Failed to prepare transaction" then asks me to edit the build files.
General Troubleshooting

[ ] I carefully followed the instructions in the README and have not successfully completed the setup wizard
[ ] I read the ALVR Wikis here and here

Environement
Manjaro KDE Plasma
Hardware
[Note: for Linux, an upload to the hw-probe database is preferred: hw-probe -all -upload
https://linux-hardware.org/?probe=3d9af3df5a
Installation
ALVR Version: alvr 18.2.1.r0.gd37a4b9b-1
SteamVR Version: 1.21.12
Install Type:
AUR
OS Name and Version (winver on Windows or grep PRETTY_NAME /etc/os-release on most Linux distributions):  Manjaro Linux

Try building it with yay it worked fine for me.

I've tried using yay, and during the install process (or some sort of process) it just freezes.

That library takes quite a while to build, just try waiting for it to get it done.

ALVR does appear to be working now, thank you.


Add Oauth2 login to site.

The feature we've all been waiting for...

Pull Request Test Coverage Report for Build 307

6 of 10 (60.0%) changed or added relevant lines in 2 files are covered.
259 unchanged lines in 16 files lost coverage.
Overall coverage decreased (-60.5%) to 11.724%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pysite/route_manager.py
2
6
33.33%

Files with Coverage Reduction
New Missed Lines
%

pysite/views/staff/index.py
5
0.0%

pysite/views/main/datadog.py
6
0.0%

pysite/views/main/index.py
6
0.0%

pysite/views/main/ws_test.py
6
0.0%

pysite/views/main/invite.py
7
0.0%

pysite/views/api/index.py
7
0.0%

pysite/views/api/healthcheck.py
7
0.0%

pysite/views/ws/echo.py
10
0.0%

pysite/views/api/bot/user.py
16
0.0%

pysite/websockets.py
16
0.0%

Totals

Change from base Build 272:
-60.5%

Covered Lines:
51

Relevant Lines:
435

💛  - Coveralls

Wow, that coverage change. That is.. wow.

Missing a feature:

Add login to the navbar, and display the logged-in user in place of the login link (it could be used to logout in that case)

I don't fully understand how session persistence is working, here - can you walk me through it?


train_cifar10.py not running

I am able to run train_mnist.py, both using single CPU node (with no GPUs) and using multi node CPU cluster (distributed training). However, I am seeing that training is very slow with the MNIST example.
After looking into the suggestion of using bigger workload, from following thread:
https://github.com/dmlc/mxnet/issues/5158
I am now trying to run train_cifar10.py instead. However, I am unable to run the example, even with a single node.
Following is the issue I am facing. Whenever I am trying to run the example, the process is getting killed, as below:
0 $ python train_cifar10.py --kv-store local
INFO:root:start with arguments Namespace(batch_size=128, benchmark=0, data_nthreads=4, data_train='data/cifar10_train.rec', data_val='data/cifar10_val.rec', disp_batches=20, gpus=None, image_shape='3,28,28', kv_store='local', load_epoch=None, lr=0.05, lr_factor=0.1, lr_step_epochs='200,250', max_random_aspect_ratio=0, max_random_h=36, max_random_l=50, max_random_rotate_angle=0, max_random_s=50, max_random_scale=1, max_random_shear_ratio=0, min_random_scale=1, model_prefix=None, mom=0.9, monitor=0, network='resnet', num_classes=10, num_epochs=300, num_examples=50000, num_layers=110, optimizer='sgd', pad_size=4, random_crop=1, random_mirror=1, rgb_mean='123.68,116.779,103.939', test_io=0, top_k=0, wd=0.0001)
[05:30:23] src/io/iter_image_recordio.cc:221: ImageRecordIOParser: data/cifar10_train.rec, use 1 threads for decoding..
[05:30:23] src/io/iter_image_recordio.cc:221: ImageRecordIOParser: data/cifar10_val.rec, use 1 threads for decoding..
Killed
Steps:

mkdir train_cifar10 ; cd train_cifar10
Have following files/directories in the current directory, from mxnet repository:
a) common/
b) data/
-- cifar10_train.rec
-- cifar10_val.rec
c) hosts
d) init.py
e) mxnet/
f) symbols/
g) train_cifar10.py
python train_cifar10.py --kv-store local

Can anyone please help me out, with fixing this issue.

@sampathchanda
Hi,
Are you able to run the dataset on distributed node ? if yes, what is the speed. I am having the following speed.
#5422
sincerely

Are you able to run on CIFAR10 dataset ?
If yes, what steps did you follow apart from the ones I mentioned above. I am unable to run the cifar10 example.
I ran distributed training only on mnist dataset, and I am seeing significant slow down. Its around like 2x slowdown with 2 nodes.

I met the same issue, not able to run cifar10 case :( No idea how to debug it. Does anyone else meet this problem?

I believe it is the batch size is too large and out of memory. Try to set the batch size to one at first, and see whether it can work or not.

This issue is closed due to lack of activity in the last 90 days. Feel free to ping me to reopen if this is still an active issue. Thanks!
Also, do please check out our forum (and Chinese version) for general "how-to" questions.


No module named setuptools

Hi,
I try to use mitogen but I have a problem :
fatal: [c1]: FAILED! => {"changed": false, "module_stderr": "", "module_stdout": "Traceback (most recent call last):\r\n  File \"/root/.ansible/tmp/ansible_mitogen_runner_uw6o6jb0/setup.py\", line 31, in <module>\r\n    from setuptools import find_packages, setup\r\nImportError: No module named setuptools\r\n", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1}

Which version of Ansible are you running? 2.7.8

Is your version of Ansible patched in any way? no

Are you running with any custom modules, or module_utils loaded? no

Have you tried the latest master version from Git? yes

Do you have some idea of what the underlying problem may be? no, I am not a python expert...

Mention your host and target OS and versions:  OSX 10.14.4

Mention your host and target Python versions : 3.7.2

setuptools seems to be installed. (pip3 install setuptools)
It's maybe obvious for you, not for me :-(
I can post log with -vvv if you wish.
Than you for your time

I think I paste the mitogen directory in a wrong place... It's working now...
My fault
Cheers


Mybranch

What changed?
Adding Domain Tag to the ReadHistoryBranchByBatch, ReadRawHistoryBranch and ForkHistoryBranch

Why?
To get the metrics as per the customer's load based on DomainId of the customer

How did you test it?
Tested Locally, added mock tests as well as with Buidkite.

Release notes
No

Documentation Changes
N/A

Pull Request Test Coverage Report for Build 01826500-0f75-4c82-aede-825cf17afeec

2 of 2 (100.0%)  changed or added relevant lines in 1 file are covered.
70 unchanged lines in 10 files lost coverage.
Overall coverage decreased (-0.03%) to 57.663%

Files with Coverage Reduction
New Missed Lines
%

common/persistence/persistenceMetricClients.go
2
55.17%

common/task/fifoTaskScheduler.go
2
85.57%

common/task/parallelTaskProcessor.go
2
92.75%

common/task/weightedRoundRobinTaskScheduler.go
2
89.64%

service/history/task/transfer_standby_task_executor.go
2
86.68%

service/matching/matcher.go
2
91.46%

service/history/execution/mutable_state_task_refresher.go
7
62.03%

common/persistence/nosql/nosqlplugin/cassandra/tasks.go
14
72.8%

common/persistence/nosql/nosqlTaskStore.go
16
58.37%

common/persistence/nosql/nosqlplugin/cassandra/workflowUtils.go
21
74.22%

Totals

Change from base Build 01826214-7521-431a-aa71-b7c19f0bb37e:
-0.03%

Covered Lines:
83915

Relevant Lines:
145527

💛  - Coveralls


Messages: flickering in room display

Reported by Amandine
(see video: https://matrix.org/_matrix/media/v1/download/matrix.org/NJeUwsZqgvCaCbWwucCvdXWZ)

Cannot reproduced - Reduce priority

Cannot reproduced


Restructured menu

This PR moves the 'Showcases' and 'Frontity CLI' sections to lower down in the menu. This keeps the most important information for the user new to Frontity at the top and in a logical order, i.e.:

Getting Started
Learning Frontity
Deployment

With "ancilliary" information lower down in the menu. I've still tried to keep a reasonably logical ordering here too, with more important information higher up.

https://frontity.slack.com/archives/CD0NJS8L8/p1590403187007200?thread_ts=1590403092.007100&cid=CD0NJS8L8

As the Showcases is a priority in the Q I think it should be very visible for now.
This section is also a temporary solution while the proper Showcases section is created in the website
Regarding the as it's the first thing a user has to deal with I also think it should be in a very visible position
Anyway, we discuss this at some point and try to argue and agree what we think is the proper order of categories in the sidebar. In the meantime I'm closinf this PR


After executing the script, (WOL does not work anymore), re-activate Hibernate does not work?!

Describe the bug
WOL does not work anymore, re-activate Hybernate does not work
To Reproduce
Steps to reproduce the behavior:
I have a small homeserver Dell T20, running Win 10 pro for years (all up to date) with lights out (power management software). After running the desktop tweak settings, I unfortunately disabled Hibernate. Enabling Hibernate does not work. I had to enable this manual.
Unfortunately, WOL does also not work anymore. I checked all common instructions in the internet, Whatever I do, WOL does not work anymore.
Expected behavior
Hybernate can be reactivated , WOL works
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Hi @ChrisTitusTech , is there maybe a service, disabled by the script, who is required for WOL. Wahtever I do, WOL will not functions anymore. I already did an inplace update but this also did not work. The only thing I can do now to restore an (very) old system backup .
Thanks JuRo
Edit:
I just double checked the BIOS Settings and I identified that WOL was disabled. I was wondering how bios settings can be changed when I did not run the bios setup for years?!

Can confirm that hibernation doesn’t have an undo, but there is a PR (#1799) that adds it, when it will be merged there will be an undo for hibernation.

Yeah, please do so. Sounds good. Thanks!


Access multiple database in same project

How to access different Firebase Database in the same project?
Can't find relevant documentation. The closest i can find is suggesting to create another app.
https://firebase.google.com/docs/admin/setup#initialize-multiple-apps

const admin = require('firebase-admin');
const serviceAccount = require('./config/serviceAccount.json');
admin.initializeApp({
    credential: admin.credential.cert(serviceAccount),
    databaseURL: "https://db1_url.firebaseio.com"
});

let app = admin.app();
let ref = app.database("https://db2_url.firebaseio.com").ref();

Is this is a correct way to access other database in the same project?

Yes. For any API questions, you can also just look at the published API references.
https://firebase.google.com/docs/reference/admin/node/admin.app.App#database

Hi @hiranya911
Thanks for the response.
I feel like this should be mentioned in doc somewhere https://firebase.google.com/docs/database/admin/start
If allowed, I am pretty excited to take this work of updating the document.

Thanks @amarjeetanandsingh. Our docs are not open source. But you can go to the above page and submit some feedback to our docs team. Use the "Send Feedback" button at the bottom of the page.


apparmor: allow Browser to memory map libstdc++

Fixes #502

@micahflee Another important PR to merge before tagging a new torbrowser-launcher version.