1.14.5 dev wallet.h change from bitcoin to dogecoin #ifndef

Changed from BITCOIN_WALLET... to DOGECOIN_WALLET... in header file's #ifndef and #define definitions.  Will change other files if accepted.
https://github.com/victorsk2019/dogecoin/commit/19535f715b9b937132a3ad0cd25f71e39b28839b

Hi,
This is a header guard, so it has no function other than to prevent a compiler from including the definitions twice.
In the past, we have always held the strategy that things that are written by Bitcoin developers, even when we amend these, can just keep referring to Bitcoin as long as there's no exposure to the end user. So this is why this currently says "bitcoin" instead of "dogecoin".
Since also your commit is not included in this PR, I'm going to close this, but I'll leave the comments open in case you wish to discuss further.

Hi,
This is a header guard, so it has no function other than to prevent a compiler from including the definitions twice.
In the past, we have always held the strategy that things that are written by Bitcoin developers, even when we amend these, can just keep referring to Bitcoin as long as there's no exposure to the end user. So this is why this currently says "bitcoin" instead of "dogecoin".
Since also your commit is not included in this PR, I'm going to close this, but I'll leave the comments open in case you wish to discuss further.

Thank you for addressing this PR.  I am aware of the purpose of header guards in the header file, however, although it's meant for internal use, the upper-cased "bitcoin_wallet..." text for Dogecoin Core project stands out too much for me not to propose this change.  Thanks.

the upper-cased "bitcoin_wallet..." text in the Dogecoin Core project stands out too much for me not to propose this change.

Why does it bother you exactly?

the upper-cased "bitcoin_wallet..." text in the Dogecoin Core project stands out too much for me not to propose this change.

Why does it bother you exactly?

It is a Dogecoin Core wallet that's being worked on not Bitcoin Core?

The file in question src/wallet/wallet.h came from Bitcoin Core. Out of the 1080 lines ported from Bitcoin Core, 111 were changed, so roughly 10%, and most of that are deletions caused by moving CMerkleTx from this file into auxpow.h, causing 78 deletions, leaving the effective change at 33/1080 = 3%. So in a way, you are looking at Bitcoin Core most of the time when you look at that file.
If you really feel that this should be fixed, feel free to reopen a PR that includes your proposed change, and I'll give you my opinion once more there ❤

Sorry if I sounded too picky, Patrick.  I used to work for a boss (who was a lawyer) and he considered naming things very important, even if it was part of my code and was not public-facing.  So it's now part of my habit too ;)

No problem! Naming things is important! I get that.
I'd kept this PR open for others to react on if it was not a merge of 1.14.5-dev from this repo into master on this repo, but a PR of your branch onto 1.14.5-dev. So like I said, if you feel strongly about it, just reopen a new pull request from your branch onto 1.14.5-dev and we can totally have a discussion about it.

Hi guys,
Just want to throw my two-cents in where I think there may have been a lil misapplied use of the words exposure and public-facing code.
Want to point out that this repo is a public repo, so slap me silly if the code isn't always exposed and public-facing to the users :) , much different had this been a closed-source software/private repository, then it would (to me anyway) make sense that it wouldn't make much difference the "aesthetics" of the code. Which I think that's all this would be to change the headers gaurds.
Functionally speaking, it has no effect.
So what brings into question is how far detracted does and why would one want to make the code from which it was forked ? You can't remove the Bitcoin Copyrights in this repo. (Cause it can be clearly traced back to the original code it was forked from).
So how important is it to rename anything else? In regards to what the user sees, let's keep it specifically to the GUI, the core (daemon) limited to what output is displayed in the terminal and log files.  Those might be the only places of concern that the the branding name and other elements would be exposed and/or public-facing from the running binaries that  need renaming.  Changing anything internally  seems moot.

Want to point out that this repo is a public repo, so slap me silly if the code isn't always exposed and public-facing to the users :)

Ah yes, to clarify, with "end users" I mean people that use the software, not people that use the repository (or clone the repo) to read header files, those would be "developers". (naming things, again 😁)
Historically we've said that since the more we change, the harder it will be to back-port patches from upstream Bitcoin Core, we try to keep changes to a minimum, especially aesthetic changes that are only exposed to developers. This went pretty far, sometimes preventing innovation, so since this year we've loosened this up a bit for 1.14.x because shibes wanted to innovate but were discouraged to (that's why for example we have Operation Such Frensly) and there's an open discussion that touches on this too at #2273

So what brings into question is how far detracted does and why would one want to make the code from which it was forked ?

There's a handy 'find' unix command I find useful on many occasions that can string occurrences in a given file quickly and effortlessly:
find *.h -type f -exec sed -i 's/BITCOIN/DOGECOIN/g' {} \;
As I recall, one of the goals in Rosetta API project was to change all "bitcoin" to "dogecoin" names in the source, in addition to dogecoin-specific functionality.  My understanding is Coinbase, for some reason, seemed to consider having it say "dogecoin" instead of "bitcoin" in source code as something important?
It is a bit irritating for me personally when studying Dogecoin Core source I see "bitcoin" in upper case in various locations.  I understand copyright notice must always stay, but this is a Dogecoin, not a Bitcoin project after all.  Thank you for explaining to me the underlying decisions for keeping bitcoin names in the code.


total logged in time

suggestion to add total logged in time per runelite session to info tab

Hes called Hans in Lumbridge

This just gives people incentive to not close their clients after updates so I dont think this should be implemented as it would have negative effect.

from my experience you have to close RuneLite to update RuneScape on thursdays. yes?

from my experience you have to close RuneLite to update RuneScape on thursdays. yes?

Not everyone comprehends this unfortunately

only have to restart if it's a revision increment

also the new runelite version is not out when RuneScape updates, so if people just restart there, then there is a lot higher chance that they will just dont restart when actual runelite update comes out.

@deathbeam I agree with you, it might mean people do not close their clients.

This just gives people incentive to not close their clients after updates

But this might be that the solution is incorrect (session length).
Total time logged in on RuneLite sound's like a good stat to know. We probably need to think of a better solution.

Discord plugin already shows the logged in time, and max is 6 hours anyway (and report button shows it too). For play time you have hans. I will just close this because this is bad idea.


Do not allow user to log in as a different user after logging in once

Describe the bug
Provide better feedback to the user in case their is an issue with authentication
To Reproduce
Steps to reproduce the behaviour:

Go to the app
Try to authenticate user via username and password
See the error

Expected behaviour

@pld edited

[ ] After logging in disable changing the username
[ ] On tap username field, show the user the following message: "For security purposes, please reinstall the app to log in as a different user"

~Provide better feedback to the user e.g.~
~1. Kindly enter the username that you used to authenticate yourself on 1st-time load~
~2. There is an issue accessing the backend server, kindly try again later (reason why app failed to fetch user details , we can also use the status code to be even more precise)~
Screenshots
If applicable, add screenshots to help explain your problem.
Smartphone (please complete the following information):

Device: Emulator and Actual Device, Pixel 4a
Android version: API 33, Android 13

Screenshots

Should we make the message configurable?
CC @ndegwamartin @ellykits

Should we make the message configurable? CC @ndegwamartin @ellykits

Not sure it needs to be configurable but it should at least be translatable

@HenryRae @rowo do have any thoughts on an appropriate user feedback messages for the above scenario?

@f-odhiambo we are now logging the server side exception so that it is available to the developer in debug mode.
For screenshot 1 that message remains for the UI. It is best practice to keep such server side error messages away from the user and only show user friendly/simple ones.
For the second error we can have the error message read as either of these:

Login Error: Please enter the same username had used initially
Login Error: Attempted to login in with a different user
Login Error: This user account is not recognized on this device
Login Error: Sorry we could't find an account with that username on this device
Login Error: Username not recognized on this device
Login Error: That account does not exist on this device. Enter a different account

cc @HenryRae

@f-odhiambo we are now logging the server side exception so that it is available to the developer in debug mode.
For screenshot 1 that message remains for the UI. It is best practice to keep such server side error messages away from the user and only show user friendly/simple ones.
For the second error we can have the error message read as either of these:

Login Error: Please enter the same username had used initially
Login Error: Attempted to login in with a different user
Login Error: This user account is not recognized on this device
Login Error: Sorry we could't find an account with that username on this device
Login Error: Username not recognized on this device
Login Error: That account does not exist on this device. Enter a different account

cc @HenryRae

Let's go with option 1

This is an error that shows if the user tries to log in with a different user name after having already logged in with one user name, is that correct? Why can't they do that?

Yes, that is the case. So based on the current implementation , if I logged in using Demo I cannot username username to log back in incase the app session expires

Ah ok, this is b/c of offline login I guess? In case, we should make the username not editable while they're offline

I think it would happen both online and offline, whenever you try to log in with an unrecognised username.

Isn't unrecognized username different, @f-odhiambo you were describing this as a different username, not an unrecognized username. If this about unrecognized username, then an error makes sense, like "Your username or password is incorrect"

Isn't unrecognized username different, @f-odhiambo you were describing this as a different username, not an unrecognized username. If this about unrecognized username, then an error makes sense, like "Your username or password is incorrect"

It is unrecognized in the context of the device. It could be a user existing in the identity provider but the device wouldn't know that if it was offline.

K, I think we need to talk this through with @rowo, we do know that the user is offline so we could have the UX take that into account

I've chatted w/Roger, I think we have a plan, based on the answer to this question:

If User A logs in while online
Then User B logs in while online
Then the device goes offline
User B logs out
Can User A log back in?

If the answer to the above is NO. Then we should disable changing the username while the device is offline. But on tap, show the user a message, like: Please connect to the internet to change your username.

Currently, the app does not support multi tenancy whether per provider or per team (or other sync strategy), any new user logging in would need to perform a data purge and fresh install

Currently, the app does not support multi tenancy whether per provider or per team (or other sync strategy), any new user logging in would need to perform a data purge and fresh install. This goes for whether the user is online or offline.

Cool, so then the fix here is as described in the above message, I've updated the description and title.

Do you mean this message? Please connect to the internet to change your username.
Also note the username cannot be changed when online as well unless one does a fresh install (data wipe)

Oh right, that's a very good point. So perhaps we should disallow changing the username regardless of whether they are online or offline. Does that make sense to you?

Yeah that sounds good

Yeah that sounds good - at least until we reinstate multi-tenancy which we probably will at some point

K, I update the description to address this. This is kinda a big issue, do we have an issue to allow the user to log in (when online) with a different username?
I think it's kinda reasonable to do that issue first.

I think it might already be somewhere on the roadmap cc @dubdabasoduba @f-odhiambo

K, I update the description to address this. This is kinda a big issue, do we have an issue to allow the user to log in (when online) with a different username?
I think it's kinda reasonable to do that issue first.

I think it might already be somewhere on the roadmap cc @dubdabasoduba @f-odhiambo

Yes, this is added with the title Multi-user login on the same device

Can you share a link to that? I can't find it in this repo

It is also worth noting that @LZRS had picked up one half of this in the overall OpenSRP roadmap but won't probably move as fast because of priority on client work. That is the ticket here https://github.com/onaio/opensrp-tasks/issues/85

Yep cool, I'm am (personally, but this is for discussion and not decided) OK leaving this issue open until we have a first round of multi-tenancy merged.
@LZRS if you wanna take on a first round of multi-tenancy for FHIR core, you can start by writing up a new ticket in this repo, some scope it will have to cover

only allows user to change the username when online
if a user has unsynced data, do we disallow a different user from logging in until the user with unsynced data has logged in and synced? -- I'm OK not doing this, if we have some very clear warning about data loss, in fact, we probably should have a very clear warning about data loss whenever there is unsynced data and the current user is logged out (even without multitenancy), because if the user follows the current errr recommended (!?) approach and deletes the app, all that data's going to be gone anyhow)

I think this copy can further be improve. My apologies for late reply

Please connect to the internet to change your username.

You attempted to login to this device with a different username. Please connect to the internet to login with different username.
To login to this device with different username, please connect to the internet
To login with different username, please connect to the internet

I would suggest option 3.
cc: @ndegwamartin @rowo

Based on the above discussion that functionality doesn't exist right now, so if we want to work on this before we implement multi-user, we would lock the username and not allow it to be changed after logging in once, regardless of connectivity.


Decodes data encoded as a base64 token

Overview
Passes transient state to Graph Explorer as a base64 encoded token.
Demo
N/A
Notes
N/A
Testing Instructions

Launch Graph Explorer
Copy paste the url below and reload

http://localhost:3000/?query=eyJzYW1wbGVVcmwiOiJodHRwczovL2dyYXBoLm1pY3Jvc29mdC5jb20vdjEuMC9tZS9tZXNzYWdlcyIsInNhbXBsZVZlcmIiOiJwb3N0Iiwic2FtcGxlQm9keSI6eyJuYW1lIjoiU29tZW9uZSBJbXBvcnRhbnQifSwic2FtcGxlSGVhZGVycyI6eyJjb250ZW50LXR5cGUiOiJhcHBsaWNhdGlvbi9qc29uIn19

The base64 token above is generated from
{
     'sampleUrl': 'https://graph.microsoft.com/v1.0/me/messages',
     'sampleVerb': 'post',
     'sampleBody': {
         'name': 'Someone Important',
     },
     'sampleHeaders': {
         'content-type': 'application/json'
     }
 }

Observe that the sample is https://graph.microsoft.com/v1.0/me/messages

@MIchaelMainer
Graph Explore only decodes the string. The encoding should be done by ApiDoctor. @darrelmiller is aware of this limitation.

@jobala When we implement sharing a query then GE is going to need to encode as well as decode.  It's not a priority for the moment though.  I'm not too concerned about the browser limit.  There won't likely be many scenarios where we are going to hit it.


Filter ignored content in page.rs.

Fixes https://github.com/Keats/gutenberg/issues/236

Add ignored_content to the Config structure.
Use the GlobSet crate to parse the glob patterns into a matcher, which
is created once at program initialization. If there are no patterns in
ignored_content, an empty globber is created, which excludes no files.
This is consistent with the existing behaviour of Gutenberg, before
this feature was added.
Bail if there are any errors in the glob patterns.
Add a call to the globber in page.rs to actually do the filtering.
Update documentation.

A note on the Config structure

I had to remove the PartialEq derive from the Config structure as it
does not work for the GlobSet type. No harm is done, Config does not
need to be PartialEq anyway, since there is no need to sort Configs.
The implementation follows the pattern of the existing config settings
in that it uses an Option<...>. This would appear unnecessary, in that
an empty vec could be used as the default, but it appears to be needed
by the TOML parsing. A better approach would be to use a separate
SerializableConfig and map to/from a Config struct. This would also
allow the elimination of most, if not all, of the other Options in
the Config structure, but that ought to be another PR.

A couple of comments but perfect otherwise!

A better approach would be to use a separate
SerializableConfig and map to/from a Config struct. This would also
allow the elimination of most, if not all, of the other Options in
the Config structure, but that ought to be another PR.

How would that work? You can have any combination of config so other than Config being a hashmap I don't see how to get rid of the options. The ignored_content is a bit different here as we need to build the glob.

How would that work? You can have any combination of config so other than Config being a hashmap I don't see how to get rid of the options. The ignored_content is a bit different here as we need to build the glob.

What I mean is, the fields in the Config struct are defined as Options, and they seem to need to be in order for the current TOML deserialization to work (because they are optional in the config file). But if you look at the parse function, in fact you set actual defaults for most if not all of them. For example, compile_sass is never None, it is always true or false, so it could be declared as bool rather than Option<bool> and then you wouldn't have to unwrap it everywhere.
It's a question of figuring out how to make Config look like that, but still get optional deserialization to work. My thought above was to use a second private struct which would still contain the Options, and use that as the TOML deserialization target, then you could simply construct the public Config with unwrap_or(false) or similar defaulting code.
Alternatively, it might be possible to get it to work by adding some serde field attributes to specify defaults: but I don't know, I have never used serde. The second-struct technique will definitely work.

It's a question of figuring out how to make Config look like that, but still get optional deserialization to work. My thought above was to use a second private struct which would still contain the Options, and use that as the TOML deserialization target, then you could simply construct the public Config with unwrap_or(false) or similar defaulting code

I see. I'm not entirely sure that's worth doing yet though but I like the idea


fix(datastore-v1): Multi auth rule for read subscription

Issue #

https://github.com/aws-amplify/amplify-swift/issues/2873
Description

Subscriptions for read auth rule were not processed inside Datastore. read auth rule can subscribe to onCreateX, onUpdateX and onDeleteX.
General Checklist

[ ] Added new tests to cover change, if needed
[ ] Build succeeds with all target using Swift Package Manager
[ ] All unit tests pass
[ ] All integration tests pass
[ ] Security oriented best practices and standards are followed (e.g. using input sanitization, principle of least privilege, etc)
[ ] Documentation update for the change if required
[ ] PR title conforms to conventional commit style
[ ] New or updated tests include Given When Then inline code documentation and are named accordingly testThing_condition_expectation()
[ ] If breaking change, documentation/changelog update with migration instructions

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #3029 (a54bcf8) into v1 (648e4c7) will increase coverage by 0.01%.
The diff coverage is 92.30%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff             @@
##               v1    #3029      +/-   ##
==========================================
+ Coverage   63.82%   63.84%   +0.01%
==========================================
  Files         722      722
  Lines       23142    23154      +12
==========================================
+ Hits        14771    14782      +11
- Misses       8371     8372       +1

Flag
Coverage Δ

API_plugin_unit_test
62.98% <ø> (ø)

AWSPluginsCore
73.08% <85.71%> (-0.03%)
:arrow_down:

Amplify
51.21% <ø> (ø)

Analytics_plugin_unit_test
72.58% <ø> (ø)

Auth_plugin_unit_test
83.80% <ø> (ø)

DataStore_plugin_unit_test
81.16% <100.00%> (+0.03%)
:arrow_up:

Geo_plugin_unit_test
57.87% <ø> (ø)

Predictions_plugin_unit_test
33.58% <ø> (ø)

Storage_plugin_unit_test
59.53% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...ies/DataStore/Model/Internal/Schema/AuthRule.swift
0.00% <ø> (ø)

...Configuration/AmplifyAWSServiceConfiguration.swift
73.91% <ø> (ø)

...Core/AWSPluginsCore/Auth/AWSAuthModeStrategy.swift
85.18% <85.71%> (-1.49%)
:arrow_down:

...Sync/IncomingAsyncSubscriptionEventPublisher.swift
74.65% <100.00%> (+0.72%)
:arrow_up:

... and 3 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Fix delegation key import/export GUN inference logic

The logic to infer the GUN from the path PEM header will panic when importing an exported delegation key.  This is because the path will look like tuf_keys/<KEY_ID> and this logic will attempt to shorten an empty string slice: https://github.com/docker/notary/blob/v0.4.2/utils/keys.go#L114
This only affects v0.4.2 - the integration test I added here passes on master without any other code changes.  Targeting a v0.4.3 hotfix, if we are to release one.
Closes #1066

keyihebingma


⚠ Bofrost.at has degraded performance

In f5bad0e, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1475 ms

Resolved: Bofrost.at performance has improved in ee421a0 after 26 minutes.


Release new version

Hi Benjamin,
There been quite a few commits since last release (0.3).
Would you mind releasing a new version?

We need the new version so that it works with grunt 1.0

+1 new version

Hey there I no longer work on AngularJS / grunt and on this project, so if someone can give some times to this plugin, feel free to contact me.

Since we heavily use this tool, I wouldn't mind taking over it that's OK with you. I would start with releasing a new version and looking at current PRs, there are some good ones.

@jtheoof, great news! It would be so cool to be able to download the latest version from npm! I really need https://github.com/angular-translate/grunt-angular-translate/pull/60 for my project. When do you plan to make a release?

I don't have ownership of that project yet unfortunately. :(


Needed: Add Readme File

By adding readme file contributor will come to know how to contribute in your project and it is also a good practice. if you find this helpul pls assign it to me under hacktoberfest 2024.
Thanking You!!

Sure @Devashish-Mishra-2003! Go ahead with this.

Hi @Aneeshaik i am ready to provide my help here

Hi @Aneeshaik i am ready to provide my help here

Hey @Saiharitha3! As @Devashish-Mishra-2003 opened the issue I've assigned this to him. But, you can also create Readme file. I'll go through both readme files and merge which is nearly related to the project features. Thank You!

Thank You!

please review PR #15

please review PR #15

Merged. Can you add the contributors in Readme file and thank them? I hope you got my point

yeah sure i can add that

yeah sure i can add that

Hey @Saiharitha3! Are you working on it?

please review PR #36


Allow injecting generic-token-kubeconfig secret name into yawol-cloud-controller

With gardener v1.59.0+, there is no secret with the name generic-token-kubeconfig in the shoot control plane anymore (ref https://github.com/gardener/gardener/pull/6891/commits/2d1aa0912086c628ba735014e96e8b47c529bcf8).
It has been replaced by an immutable secret with a suffix that is managed by the secrets manager (ref https://github.com/gardener/gardener/pull/5510).
Extensions need to use the extensionscontroller.GenericTokenKubeconfigSecretNameFromCluster helper to retrieve the secret name of the currently active generic-token-kubeconfig secret name.
This needs to be injected into the yawol-cloud-controller deployment.
Accordingly, this PR changes the chart's structure and values to allow the injection of the secret name.

I added a issue for that #88


Returning supported by lastest MariaDB, but not working in Knex

Environment
Knex version: 0.95.4
Database + version: MariaDB 10.5.8
OS: Ubuntu 20.04
@smorey2
Bug

MariaDB's latest version is supporting returning, but calling .returningusingknex` has no effect.

Error message:

.returning() is not supported by MySQL and will not have any effect.

@khalilst Would you consider submitting a PR for this?

@kibertoad Sure. I will create a PR today.

@khalilst could you do? Did not find PR.

@intech Yes. I will submit it.


CMAKE_BUILD_TYPE

I've seen with Ninja (single config) + Windows that it uses Debug instead of allowing the project CMake to default to Release. An undesirable solution is to set (w/cache) above project().
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build.")  # foil Ninja Debug on Windows

project(

Ok, I have confirmed that the position of CMAKE_BUILD_TYPE does matter and it should be above project() in this case. It seems it is fine to have it as a normal variable:

set after project: /Od ^1
set before project: /O2 ^2


user.server.model.js error Discriminator : Schema.apply Cannot read property 'add' of undefined

HI,
I would like to create two classes Student and Teacher whom are going to inherits from User.
So I modified the User and the new class is :
'use strict';

/**
 * Module dependencies.
 */
var mongoose = require('mongoose'),
	Schema = mongoose.Schema,
	crypto = require('crypto'),

	util = require('util'),
	_ = require('lodash');

/**
 * A Validation function for local strategy properties
 */
var validateLocalStrategyProperty = function(property) {
	return ((this.provider !== 'local' && !this.updated) || property.length);
};

/**
 * A Validation function for local strategy password
 */
var validateLocalStrategyPassword = function(password) {
	return (this.provider !== 'local' || (password && password.length > 6));
};

/**
 * User Schema
 */
function BaseSchema() {
	Schema.apply(this, arguments);
	util.inspect(this);
	this.add({
		firstName: {
			type: String,
			trim: true,
			default: '',
			validate: [validateLocalStrategyProperty, 'Please fill in your first name']
		},
		lastName: {
			type: String,
			trim: true,
			default: '',
			validate: [validateLocalStrategyProperty, 'Please fill in your last name']
		},
		displayName: {
			type: String,
			trim: true
		},
		email: {
			type: String,
			trim: true,
			unique: 'testing error message',
			required: 'Please fill in an email',
			lowercase: true,
			default: '',
			validate: [validateLocalStrategyProperty, 'Please fill in your email'],
			match<EMAIL_ADDRESS>'Please fill a valid email address']
		},
		password: {
			type: String,
			default: '',
			validate: [validateLocalStrategyPassword, 'Password should be longer']
		},

		birthDate: {
			type: Date,
			required: true
		},
		gender: {
			type: [{
				type: String,
				enum: ['male', 'female']
			}],
			required: true,
			lowercase: true,
		},

		salt: {
			type: String
		},
		provider: {
			type: String,
			required: 'Provider is required'
		},
		providerData: {},
		additionalProvidersData: {},
		roles: {
			type: [{
				type: String,
				enum: ['user', 'admin']
			}],
			default: ['user']
		},
		updated: {
			type: Date
		},
		created: {
			type: Date,
			default: Date.now
		},
		/* For reset password */
		resetPasswordToken: {
			type: String
		},
		resetPasswordExpires: {
			type: Date
		}
	});
};
util.inherits(BaseSchema, Schema);

var UserSchema = new BaseSchema();

mongoose.model('User', UserSchema);

module.exports = BaseSchema;

But there is an error when launching the application :
this.add({
^
TypeError: Cannot read property 'add' of undefined

@Solidary I'm not familiar with Base Schema's, but it seems that your 'this' isn't in the context you think it is.
http://mongoosejs.com/docs/plugins.html

The problem is about this which is undefined. But I don't why.
I just follow the instructions inheritance on mongoose. Follow this link Discriminator please to see the example.

@Solidary I use this in my meanjs project. It works quite well, and is really easy to implement into this project. mongoose-schema-extend isn't actively maintained, however it's a very small library.
https://github.com/briankircho/mongoose-schema-extend
There are pretty straight forward examples at the above link. If you run into any issues, you can reach out to me here or on Gitter & I'll be more than happy to assist. I'll look into your solution a bit more, and see if I can provide some additional insight in case you don't want to go with my suggestion.

@Solidary Any update on this issue? I'm closing, but feel free to reopen if it's still an issue.

@codydaig I opened this issue because I have been trying different solutions to mongoose schema inheritance, but I have a GIST with working discriminators from mongoose for the Articles Module.    There are a few good use cases I believe.
I'm still working on getting discriminators working on Users.  @codydaig Do you see enough questions to justify the use case for an optional discriminator for a secondary user type in this project?  Is it worth discussing if it is better to create a new model, new controllers, and new services for the second type of user, or will it completely depend on the use case?
I saw the Admin Dashboard added and that was something I was working on as well.  I like the current implementation of the Admin User, but I'm currently writing an app with a second type of "user" with completely different permissions, not including the admin.  I think this might be a semi-common use case.  Maybe only documentation worthy.


git  lfs fetch --include does not fetch in some conditions

Hi,
So let’s imaging we have repository tree like this:
fetch-bug
    |-big
    |   \ -a
    |    |  \
    |    |   a1.big
    |    |-b
    |       \
    |        b1.big
    |
    (all other stuff)

The content of files a1.big and b1.big is the same.
The file .gitattributes has:
*.big   filter=lfs diff=lfs merge=lfs -text

git lfs env gives the following:
git-lfs/1.3.1 (GitHub; linux amd64; go 1.6.3; git 9c9dffb)
git version 2.9.0.GIT

Endpoint=https://bitbucket.blah.com/pa/lfs-test.git/info/lfs (auth=none)
  SSH=git@bitbucket.blah.com:pa/lfs-test.git
LocalWorkingDir=/home/blah/workprojects/lfs-test/lfs-test
LocalGitDir=/home/blah/workprojects/lfs-test/lfs-test/.git
LocalGitStorageDir=/home/blah/workprojects/lfs-test/lfs-test/.git
LocalMediaDir=/home/blah/workprojects/lfs-test/lfs-test/.git/lfs/objects
LocalReferenceDir=
TempDir=/home/blah/workprojects/lfs-test/lfs-test/.git/lfs/tmp
ConcurrentTransfers=3
TusTransfers=false
BasicTransfersOnly=false
BatchTransfer=true
SkipDownloadErrors=false
FetchRecentAlways=false
FetchRecentRefsDays=7
FetchRecentCommitsDays=0
FetchRecentRefsIncludeRemotes=true
PruneOffsetDays=3
PruneVerifyRemoteAlways=false
PruneRemoteName=origin
AccessDownload=none
AccessUpload=none
DownloadTransfers=basic
UploadTransfers=basic
git config filter.lfs.smudge = "git-lfs smudge --skip %f"
git config filter.lfs.clean = "git-lfs clean -- %f"

After cloning this repo we will end up with two same pointers to lf for "a1.big" and "b1.big". Like this:
version https://git-lfs.github.com/spec/v1
oid sha256:5e46266be5fda8508117bfafcbb22d0e177a3b476ed603a39e47f1586b2ef4a3
size 4

And here comes the fun:
$git lfs fetch --include=/big/b

Fetching master
Git LFS: (0 of 0 files, 14 skipped) 0 B / 0 B, 4.54 MB skipped

It is not fetching file from dir "b"!
But when I fetch including dir "a" it works as expected:
$ git lfs fetch --include=big/a
Fetching master
Git LFS: (1 of 1 files, 13 skipped) 0 B / 4 B, 4.54 MB skipped

And then actually I can do funny thing, I can checkout dir "b" and get my files downloaded:
$ git lfs checkout include big/b
Git LFS: (1 of 1 files, 30 skipped) 4 B / 4 B, 10.61 MB skipped

Definitely there is a bug when files content hashes collide which does not give you to fetch any downstream tree files separately.

Hi, @dezinsektor -- thanks for the bug report! I noticed that when you --include the "b" directory, you prefixed it with a leading slash, /big/b. When you --included the "a" directory, on the other hand, it did not have a leading slash.
Does this problem occur still when you try the following (without the leading slash)?
$ git lfs fetch --include=big/b

Sorry, I typed it wrong here. I was doing  $ git lfs fetch --include=big/b

OK, interesting. Do you have any other lfs.fetchinclude or lfs.fetchexclude rules set up per https://github.com/github/git-lfs/blob/e918500c4c11bd9fd7a337cf53a1f7bcf3fc386b/docs/man/git-lfs-config.5.ronn#L106-L116?

No, I don't.
I asked different people to try it. The result 100% reproducible.

 Unless you fetch big1.big you can't get files big2.big or big3.big.

@dezinsektor Thanks for the detailed report. I was able to replicate it in #1458 with a failing test. Now to track the bug down..... :)

Cool! Thanks.

Easy fix. As you noted git rev-list itself is where the problem lies. It always returns unique git object OIDs, even if the tree names differ. I just changed it to use git ls-tree, which does include the duplicate files.

It works now. Thank you. Closing the issue.


Add team members as OWNERS

As a pull request owner and reviewers, I checked that:

[x] Appropriate testing is done and actually running
[x] Appropriate documentation exists and/or is up-to-date:

/approve


HSEARCH-3721 Remove deprecated methods that were already present in 6.0.0.Beta1

https://hibernate.atlassian.net/browse/HSEARCH-3721

Merged, thanks


gap property not working (React Native)

If I want to set a specific space between items on a flex container, I still need to set individual margin and/or padding to all children instead of simple using the new gap property on the flex container.
Something like this should work (center all MyFlexContainer children and set 10px between each):
import { View } from 'react-native';
import styled from 'styled-components/native';

const MyFlexContainer = styled.View`
  flex-direction: column;
  justify-content: center;
  flex: 1;
  gap: 10px;
`

I have the same problem

We need this first
https://github.com/facebook/yoga/issues/812

I don't think 'gap' is a valid flex property in react native. I went thru the documentation – didn't find one.

I think this should be a feature request on the react-native StyleSheet

Another hack on this is the following
<View
style={{
display: 'flex',
flexDirection: 'row',
padding: 10,
marginTop: 50,
}}>
<View style={{elevation: 5, padding: 10, flex: 1, marginRight: 10}}>
1

<View style={{elevation: 5, padding: 10, flex: 1, marginLeft: 10}}>
1

you can use this technique

Sadly there is no gap support yet for React Native.

Sadly there is no gap support yet for React Native.

Make it

Here is what I have been doing to simulate gaps. I basically create a margin on the children and then negate the margin with a negative padding on the parent. The only margin that remains is the one between the children.
const Component = () => {
  return (
    <View style={styles.container}>
      <View style={styles.child}></View>
      <View style={styles.child}></View>
    </View>
  );
};

// Gap you want to achieve
const gap = 8;

const styles = StyleSheet.create({
  container: {
    flexDirection: "row",
    paddingHorizontal: (gap / -2),
  },
  child: {
    marginHorizontal: gap / 2,
  },
});

Weird comments aside, I can share what I use for this. It has an imperfection though.
This is the API:
<Gap gap={1}>
  <Child />
  <Child />
</Gap>

It also supports fragments:
<Gap gap={1}>
  <>
    {active && <Child />}
    <Child />
  </>
</Gap>

You can also use a divider component:
<Gap divider={<View />}>
  <Child />
  <Child />
</Gap>

Here is the code:
import flattenChildren from 'react-keyed-flatten-children'
import { View, ViewStyle } from 'react-native'
import { Children } from 'react'

type Props = {
  gap?: number
  direction?: 'vertical' | 'horizontal'
  style?: ViewStyle
  flex?: number
  divider?: React.ReactNode
}

export function Gap({
  gap = 4,
  direction = 'vertical',
  style,
  flex =  direction == 'horizontal' ? 1 : undefined,
  divider
}) {
  const kids = flattenChildren(children)
  const { theme } = useDripsyTheme()
  const flexDirection = direction == 'vertical' ? 'column' : 'row'

  const styleKey = direction == 'vertical' ? 'height' : 'width'

  return (
    <View style={[{ flexDirection }, style]}>
      {Children.map(kids, (child, index) => {
        return (
          <>
            {index > 0
              ? divider || <View style={{ [styleKey]: gap }} />
              : null}
            <View style={{ flex }}>{child}</View>
          </>
        )
      })}
    </View>
  )
}

The only downside of this code is that, if the child component returns null, it will still add a gap. This is a limitation of React's top-down approach.

+1 for implementing the gap attribute. Putting styles on each child component is not all that maintainable

+1 for implementing the gap attribute. Putting styles on each child component is not all that maintainable

Again, React Native doesn't support flex gap.
The right place to follow this is here: https://github.com/facebook/yoga/issues/812

I've updated the component above to make it more reuseable.
`
import React, { Children, memo, ReactNode, useState } from 'react';
import { StyleSheet, View } from 'react-native';
import { Metrics } from '~/app/models/Metrics';
type Props = {
gap: number;
itemPerRow: number;
children: ReactNode;
childrenAreSquared?: boolean;
};
export const Grid = memo(({ gap = Metrics.SmallNumber, itemPerRow, children, childrenAreSquared }: Props) => {
const [containerWidth, setContainerWidth] = useState(0);
const totalGapSize = itemPerRow * gap;
const childWidth = (containerWidth - totalGapSize) / itemPerRow;
const childHeight = childWidth;
const Styles = StyleSheet.create({
Container: {
flexDirection: 'row',
flexWrap: 'wrap',
marginHorizontal: -(gap / 2),
marginVertical: -(gap / 2),
},
Child: {
...(childrenAreSquared && { height: childHeight }),
marginHorizontal: gap / 2,
marginVertical: gap / 2,
width: childWidth,
},
});
return (
<View style={Styles.Container} onLayout={e => setContainerWidth(e.nativeEvent.layout.width)}>
{Children.map(children, (child, index) => (

{child}

))}

);
});
`

Update the component above a bit. So it is more reusable.
import React, { Children, memo, ReactNode, useState } from 'react';
import { StyleSheet, View } from 'react-native';
import { Metrics } from '~/app/models/Metrics';

type Props = {
  gap: number;
  itemPerRow: number;
  children: ReactNode;
  childrenAreSquared?: boolean;
};

export const Grid = memo(({ gap = Metrics.SmallNumber, itemPerRow, children, childrenAreSquared }: Props) => {
  const [containerWidth, setContainerWidth] = useState(0);
  const totalGapSize = itemPerRow * gap;
  const childWidth = (containerWidth - totalGapSize) / itemPerRow;
  const childHeight = childWidth;

  const Styles = StyleSheet.create({
    Container: {
      flexDirection: 'row',
      flexWrap: 'wrap',
      marginHorizontal: -(gap / 2),
      marginVertical: -(gap / 2),
    },
    Child: {
      ...(childrenAreSquared && { height: childHeight }),
      marginHorizontal: gap / 2,
      marginVertical: gap / 2,
      width: childWidth,
    },
  });

  return (
    <View style={Styles.Container} onLayout={e => setContainerWidth(e.nativeEvent.layout.width)}>
      {Children.map(children, (child, index) => (
        <View key={index} style={Styles.Child}>
          {child}
        </View>
      ))}
    </View>
  );
});

Here's my approach (not thoroughly tested or super optimized).
Features:

nulls don't add extra gaps
Supports gapRow and gapCol individually, falling back to gap if not set, falling back to 0 if none are set

Caveats:

Gaps are added around fragments, even if they don't have any children
gapRow always adds spacing to left and right, while gapCol always adds to top and bottom

This is different from CSS, which adds row-gap parallel to the flex direction, and col-gap perpendicular to the flex direction
This can easily be made to conform to CSS by conditionally swapping the row and col values based on the flex direction, though I personally prefer it as is

import React from 'react';
import { FlexStyle, StyleProp, View, ViewStyle } from 'react-native';

interface Props extends React.ComponentProps<typeof View> {
    flexDirection?: FlexStyle['flexDirection'];
    flexWrap?: FlexStyle['flexWrap'];
    alignItems?: FlexStyle['alignItems'];
    justifyContent?: FlexStyle['justifyContent'];

    gap?: number;
    gapRow?: number;
    gapCol?: number;

    contentWrapperStyle?: StyleProp<ViewStyle>;
}

export function GapContainer(props: React.PropsWithChildren<Props>) {
    const {
        flexDirection: propsFlexDirection,
        flexWrap: propsFlexWrap,
        alignItems: propsAlignItems,
        justifyContent: propsJustifyContent,

        gap: propsGap,
        gapRow: propsRow,
        gapCol: propsCol,

        contentWrapperStyle: propsContentWrapperStyle,

        ...passthroughProps
    } = props;

    const gap = propsGap ?? 0;
    const gapRow = propsRow ?? gap;
    const gapCol = propsCol ?? gap;

    const contentWrapperStyle: StyleProp<ViewStyle> = [propsContentWrapperStyle, {
        flexDirection: propsFlexDirection,
        flexWrap: propsFlexWrap,
        alignItems: propsAlignItems,
        justifyContent: propsJustifyContent,

        marginHorizontal: -gapRow / 2,
        marginVertical: -gapCol / 2,
    }];

    const childStyle: StyleProp<ViewStyle> = {
        marginHorizontal: gapRow / 2,
        marginVertical: gapCol / 2,
    };

    function renderChild(child: React.ReactNode) {
        if (child === null) {
            return null;
        }

        return (
            <View
                children={ child }
                style={ childStyle }
            />
        );
    }

    return (
        <View { ...passthroughProps }>
            <View style={ contentWrapperStyle }>
                { React.Children.map(props.children, renderChild) }
            </View>
        </View>
    );
}

@Hmoulvad Semi-unrelated, but memo() is generally a bad idea for components that take children, as children will change for most/all renders in most situations.

Hey guys, whatever you do to solve this don’t use negative margins or padding. The behavior is undefined on android and will break on certain devices.

@nandorojo you can do a .filter on the children to filter out the nulls to fix the issue

that doesn't solve the problem if one of the child components returns null, since you're not evaluating a component's return type when looping over it

Why not simply use a view? What am I missing? Similar to:
           <View               style={{                 height: 40,               }}             />

@iway1

Hey guys, whatever you do to solve this don’t use negative margins or padding. The behavior is undefined on android and will break on certain devices. It’s troubling all of the most liked answers suggest this.
I’ve had it break the layouts of production apps before, it’ll happen to you too. Make sure your margins and padding are always greater than or equal to zero

Negative padding is disallowed in RN and CSS, but margin should be fine.
The docs just defer to Mozilla for margin and padding.
Mozilla's docs for margin say:

Negative values draw the element closer to its neighbors than it would be by default.

while the ones for padding say:

Negative values are invalid.

Maybe RN treats it differently, but I couldn't find that in the docs, and I've used negative margins a fair amount on an app with an install base of ~30K without any issues popping up relating to this.
Though, I wouldn't be surprised if RN does yet another thing weird, so I am curious about this. Do you have an example of negative margins breaking things?

I personally use a Gap component
export function Gap({ size, direction = 'horizontal' }: Props) {
  return <View style={{ [direction === 'horizontal' ? 'width' : 'height']: size }} />;
}

import { Dimensions } from "react-native";

const { width, height } = Dimensions.get("window");

const guidelineBaseWidth = 375;
const guidelineBaseHeight = 812;
const horizontalScale = (size: number) => (width / guidelineBaseWidth) * size;
const verticalScale = (size: number) => (height / guidelineBaseHeight) * size;
const moderateScale = (size: number, factor = 0.5) =>
  size + (horizontalScale(size) - size) * factor;

export { horizontalScale, verticalScale, moderateScale };

<Gap gap={verticalScale(config.vSpace1 / 2)} />
This is my method...

We need this first
facebook/yoga#1116

it is completed now

It's already on React Native. When will it be exposed through styled-components?

Can confirm that the gap property is working in React Native 0.71
https://reactnative.dev/docs/layout-props#gap
I used the upgrade helper (for my app it was 0.70.6 -> 0.71) here
https://react-native-community.github.io/upgrade-helper/?from=0.70.6&to=0.71.0

I confirm gap support is working well with styled-components after upgrading to RN 0.71!

you have to pass gap in number format. Avoid using of px,rem, or any unit
const MyFlexContainer = styled.View   flex-direction: column;   justify-content: center;   flex: 1;   gap: 10;

row-gap works


creates a fake HDR video

hi @Revan654
thank you for your great work on staxrip
i see this https://github.com/stax76/staxrip/issues/412
could you please explain to me how to use this script to creates a fake HDR video, i google about it but did not found any information for that

You can create the Metadata used for HDR(Minus Dolby Vision For obvious reasons). Without altering Coloring & lighting it will playback be exactly like SDR video.
To Create HDR like video, You have to play around with Matrix, Transfer and ColorPrime along with filters like AutoAdjust or use 3Dlut to try to re-produce HDR like color(BT709 to BT 2020/ST.2084).
Without a proper HDR monitor for grading the lighting may be a bit dim.
If you go with 3DLuts, Blackmagic Software includes a bunch of pre-made 3Dluts, You can install the App grab the Luts and then uninstall the software(Since Only the Paid version has HDR support). Only the .cube work, the only are designed for Blackmagic software.
Link: https://www.blackmagicdesign.com/support/download/cc533de875ed48219f3095a72a0b75b6/Windows
you can also try your hand at making your own 3Dlut
Link: https://cameramanben.github.io/LUTCalc/LUTCalc/index.html

much thanks for this great explanation and fast reply @Revan654, i can close this Question now


Config storage is inconsistent about treating 'Sound' as string vs. boolean

The existing config.py code is somewhat inconsistent about the 'SOUND' option - it's stored in the config file as a string ('ON' or 'OFF') but it's retrieved and used as a boolean. I believe it always came out 'True' as a result. Pull request #29 changes the config.py code to at least consistently store only the strings 'ON' and 'OFF' and have the Clock.py code re-interpret it as True or False respectively when creating the KOB.
We should either have all calling code configured similarly or to change the config option to save and restore a boolean. The current usage makes it awkward to set the default option for the "--sound" override.
Another option would be to define two complementary options (e.g. "-a" for audio on and "-q" for "quiet"?)  argsparse can nicely handle the mutual exclusivity between those options.
The main question is to settle the content of the config file, and then make everything consistent.

The distutils.util.strtobool() processes a string value of 'YES, TRUE, ON, 1' to True and 'NO, FALSE, OFF, 0' to False. This allows a user to enter any of these as a value for the option (or manually edit them in the .ini file) and have it processed correctly into a True/False boolean for use by the code.
Here is a test using the existing code with those 8 different values specified as the option value and the result printed. Printing the result uses the boolean value in an if statement to print either 'ON' or 'OFF' (I removed the additional command output to minimize the size):
C:\Users\esilk\code\learn\MorseKOB-4_0-py>configure -a off
Sound: OFF

C:\Users\esilk\code\learn\MorseKOB-4_0-py>configure -a on
Sound: ON

C:\Users\esilk\code\learn\MorseKOB-4_0-py>configure -a false
Sound: OFF

C:\Users\esilk\code\learn\MorseKOB-4_0-py>configure -a true
Sound: ON

C:\Users\esilk\code\learn\MorseKOB-4_0-py>configure -a no
Sound: OFF

C:\Users\esilk\code\learn\MorseKOB-4_0-py>configure -a yes
Sound: ON

C:\Users\esilk\code\learn\MorseKOB-4_0-py>configure -a 0
Sound: OFF

C:\Users\esilk\code\learn\MorseKOB-4_0-py>configure -a 1
Sound: ON

Manually editing the configuration (.ini) file to:
[PYKOB]
speed=18
sound=false

Results in an output of:
C:\Users\esilk\code\learn\MorseKOB-4_0-py>configure
Sound: OFF

as expected.

My understanding is that configparser only reads/writes string values to be compatible with the INI file format. Maybe I'm not up to date with newer options.

I ran a test with Sample.py.
It uses the boolean value directly from config.Sound:
SOUND = config.Sound # whether to enable computer sound for sounder
<<snip>>
myKOB = kob.KOB(PORT, audio=SOUND)

With configure -a 0 and configure -a yes and I didn't get sound the first time and I got sound the second time. So it seems to be working correctly.

You're right - it seems to work as it should.  I believe somewhere I must have looked inside config.py at the string value of 'Sound' and w/o the 'strtobool' that does in fact always get mis-interpreted as True if treated as a boolean (whether it's 'ON' or 'OFF').
There's nothing needed here - works as designed.


Support S3 Grants

what

Support S3 grants

why

S3 buckets support canned ACL strings or custom grants. Grants are needed to enable external access to other accounts and users.

references

https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/s3_bucket#using-acl-policy-grants

/rebuild-readme

/terraform-fmt

/test

/test/readme

/test readme

/test bats

/test terratest

/test terratest

/test terratest

/test terratest

/test terratest

/test terratest

/test terratest

/test terratest

This is ready for a final review, but the tests are failing since I created the resources locally and eventual consistency hasn't been reached across regions.

TestExamplesComplete 2020-07-29T08:02:23Z logger.go:66: Error: Error creating S3 bucket: Error creating S3 bucket eg-test-s3-test, retrying: OperationAborted: A conflicting conditional operation is currently in progress against this resource. Please try again.

/test terratest

/test bats

/test readme

/test terratest

/test bats

/test readme

/test readme

/test terratest

/test bats

/test terratest

/test bats

/test readme


feat: support ipvs vip overwriting

Describe what this PR does / why we need it
we can overwrite the default ipvs VIP through  cluster env.
Does this pull request fix one issue?

Describe how you did it
Describe how to verify it
Special notes for reviews

Codecov Report
Base: 17.51% // Head: 17.51% // No change to project coverage :thumbsup:

Coverage data is based on head (b337796) compared to base (beeae84).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #1945   +/-   ##
=======================================
  Coverage   17.51%   17.51%
=======================================
  Files         103      103
  Lines        9139     9139
=======================================
  Hits         1601     1601
  Misses       7325     7325
  Partials      213      213

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Implement error object

The current solution when not finding a record relies on parsing the Error.message to find out which type+id failed to load. Parsing Errors is not a good practise.
My solution would be to introduce an EmberPouchError object, which has a documented api. Ember Data has something similar implemented for validation, see https://github.com/emberjs/data/blob/689b2fa05a1137303d7742faa0d74da2eb9abba5/packages/ember-data/lib/system/adapter.js#L7-L66.
This code would then be possible:
find(...).catch(function(err){
  if (err instanceof EmberPouchError) {
    switch (err.message) {
      case 'Not found':
        console.log('obj not found, type=', err.type, ' id=', err.id);
        return something sane here;
    }
  }
  throw err
})

Hi! What is the status on this?
The story seems straightened up beautifully in Ember-data. E.g. saves that result in error are meant to be 422 responses with a particular shape, etc.


How can I alter classrooms structure?

Hi,
I would like to implement this algorithm for school-level timetable generator. I couldn't alter the classrooms from input data.  When I alter the input data and execute, then it got "Index out of bound" error. It would be nice if you could explain what should I do. Also, what are those keys meant in the classroom section in input data like "a", "k", "n", "r", "s"? Any help would be appreciated.

Hi,
For altering the classroom's input data (or any other input) you would need to modify the load_data method (https://github.com/NDresevic/timetable-generator/blob/master/utils.py#L8). From line number 59 is where the parsing for classrooms starts, so you should change that part to fit your model. For my model each classroom is identified by name and type, so you might also need to change that model (https://github.com/NDresevic/timetable-generator/blob/master/model.py#L19), not sure how your data looks like. Here is also where those keys appear the first time ("a", "k", "n", "r", "s"). This is adapted to finding a schedule for my university and each key represents a type of classroom. For example, some classrooms have computers, some are auditoriums, etc. Each classroom has its own type and each class can be held in only one type of classroom (it can be in any of the classrooms but from the defined type).
How does your input data for classrooms look like? I could change a bit the loading to make it more robust or something like that, although for reading the input requirements there will always need to be some hardcoding to fit different input models.
Let me know if you have more questions.


git shell support

I have install github for windows(ps: not git for windows), thus having git shell,
can i open a git shell  directly?
But it seams that the git shell is just windows power shell, along with some profile scripts imported right before the shell starts.

A powershell instance can be invoked via a .bat script. Here's our default powershell integration:
https://github.com/wbond/sublime_terminal/blob/1.12.0/Terminal.py#L66-L85
https://github.com/wbond/sublime_terminal/blob/1.12.0/PS.bat
You should be able to get the same invocation running by taking the git shell shortcut and copying its content into a .bat script (maybe with a start call). Then, setting that .bat script to your terminal in our user settings:
https://github.com/wbond/sublime_terminal/tree/1.12.0#package-settings


TypeError: 'type' object is not subscriptable

i run your code in lastest version now (1.0.2) and got the rerror:
Traceback (most recent call last):
File ".../Lib/site-packages/random_string_detector/detector.py", line 4, in
from random_string_detector.bigrams import ENGLISH
File ".../\lib\site-packages\random_string_detector_init_.py", line 2, in
from random_string_detector.detector import RandomStringDetector
File ".../\lib\site-packages\random_string_detector\detector.py", line 7, in
class RandomStringDetector(object):
File ".../\site-packages\random_string_detector\detector.py", line 12, in RandomStringDetector
bigrams_probs: Union[MappingProxyType[str,
TypeError: 'type' object is not subscriptable

Could you please provide code example and your Python version? I am not able to reproduce the issue.

Requirement updated in https://pypi.org/project/random-string-detector/1.0.3/.
Thank you.


Isilon Volume Ownership

This patch sets an Isilon volume's owner to the current user prior to attempting to delete the volume. This fixes the issue with a volume being impossible to remove because of a child directory's permissions.

Current coverage is 26.04% (diff: 100%)

Merging #253 into master will not change coverage

@@             master       #253   diff @@
==========================================
  Files            39         39
  Lines          2419       2419
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits            630        630
  Misses         1721       1721
  Partials         68         68

Powered by Codecov. Last update 7d9a298...779fb54


Fix issue with filtering exclusive target dependencies.

#8777 incorrectly changed the filtering logic for dependencies.  Essentially it split filter(any(A && B && C && D)) into two parts filter(any(A && B)).filter(any(C && D)) which doesn't have the same meaning. The solution here is to pass a closure so that the conditions are joined again.
Fixes #9216

r? @Eh2406
(rust-highfive has picked a reviewer for you, use r? to override)

@bors r+
Should we back port?

:pushpin: Commit 8ce2a1bef39370273e8e5059c651a72258d48d0c has been approved by Eh2406

:hourglass: Testing commit 8ce2a1bef39370273e8e5059c651a72258d48d0c with merge c4adfd553b7210d1aeb462d6d4b1dabfd2d0910e...

:sunny: Test successful - checks-actions
Approved by: Eh2406
Pushing c4adfd553b7210d1aeb462d6d4b1dabfd2d0910e to master...

Should we back port?

Sure, posted #9255.


There's been an error running Reason's refmt parser on a file.

Hello,
I'm new to programming and I'm trying to learn ReasonML with this game.
Unfortunately, after downloading  on my computer and running npm start, I have this error:
We've found a bug for you!
C:\ReasonML Projects\Mareo\src\Object.re
There's been an error running Reason's refmt parser on a file.
This was the command:
C:\ReasonML Projects\Mareo\node_modules\bs-platform\lib\refmt.exe --print binary "C:\ReasonML Projects\Mareo\src\Object.re" > C:\Users\User\AppData\Local\Temp\ocamlpp25208a
Please file an issue on github.com/facebook/reason. Thanks!
[5/36] ←[34mBuilding←[39m ←[2msrc\Actors.mliast←[22m
FAILED: src/Actors.mliast
C:\ReasonML Projects\Mareo\node_modules\bs-platform\lib\bsc.exe -pp "C:\ReasonML Projects\Mareo\node_modules\bs-platform\lib\refmt.exe --print binary"   -w -30-40+6+7+27+32..39+44+45+101 -nostdlib -I "C:\ReasonML Projects\Mareo\node_modules\bs-platform\lib\ocaml" -bs-no-version-header -bs-super-errors -no-alias-deps -color always  -c -o src\Actors.mliast -bs-syntax-only -bs-binary-ast -intf "C:\ReasonML Projects\Mareo\src\Actors.rei"
'C:\ReasonML' is not recognized as an internal or external command,
operable program or batch file.
Am I doing something wrong?
Thanks

Hello! I don’t know much about using Reason on Windows, but it appears to me that your problem is due to there being a space in the directory name. Try running the project in a directory with a name without spaces, i.e. put the project in “C:\Reason” instead of what it currently is (“C:\Reason ML”).
Hope that helps! If not, please let me know.


Hystrix isolation strategy not support Thread

i found the scg use SEMAPHORE isolation strategy for default, and i couldn't change the isolation strategy  for THREAD. Whether to support only SEMAPHORE isolation strategy .

Indeed it does not. Gatway is based on webflux which uses an event loop (via netty). It does not support the thread per request model of servlets, therefor does not support thread isolation. Going forward you should use resilience4j as hystrix support has been removed in spring cloud 2020.0.x


can't login with my admin user/password..

I'm trying to login with my configured admin user/password, but it fails.. (See below the configuration from users.xml)
Have also tried to add new user, and also - failed to login
I've restarted my Tomcat properly (admin privilege)
Pls advise. Thx !
<users> <user<EMAIL_ADDRESS>password="****" firstname="Yael" lastname="Gutreich" role="Admin" lastLogin="2024-09-11 12:56:17.106 UTC"/> </users>

Thank you for contacting us.
Password is encrypted in users.xml, please make sure you use this https://ipt.gbif.org/manual/en/ipt/latest/faq#how-do-i-reset-the-admin-password

Thx Mike !
I've just manage..  totally forgot it's encrypted . .
Have encrypted me a new one and it's working now


Handling payload from Messenger buttons

How to handle the payload from a messenger button-template and direct to the related next step?
In my code, the response is not heard by the bot when clicking the button, I think I am missing a step to handle the response there:
        }, function(response, convo) {
            convo.next();
        });

Full block
bot.setGetStartedPayload('start',  function() {});

controller.hears('start', 'message_received', function(bot, message)  {

     bot.startConversation(message, function(err, convo) {
        convo.say('Hi!');
        convo.ask({
            attachment: {
                'type': 'template',
                'payload': {
                    'template_type': 'button',
                    'text': "my question",
                    'buttons': [
                        {
                            'type': 'postback',
                            'title': 'answer 1',
                            'payload': 'answer1',
                        },
                        {
                            'type': 'postback',
                            'title': 'answer 2',
                            'payload': 'answer2',
                        }
                    ]
                }
            }
        }, function(response, convo) {
            convo.next();
        });
    });
});

controller.hears('answer1', 'message_received', function(bot, message)  {

     bot.startConversation(message, function(err, convo) {
        convo.say('you said answer 1?');

My solution at present is to use the convo_bot.js  pattern with a switch statement, but feels like this is overkill.
Please any advice?

Can you be more specific please, as i might have done this. Try and explain exactly what you are trying to do and please include more code, not just pieces.

My Messenger bot sends a button_template to the user. Depending on his choice (the user wants to order or needs additional information), the user is directed to a different card. Here is how I do it:
controller.hears('start', 'message_received', function(bot, message)  {
  bot.startConversation(message, askMotive);
});

askMotive = function(response, convo) {
  convo.ask({
            attachment: {
                'type': 'template',
                'payload': {
                    'template_type': 'button',
                    'text': "What do you want?",
                    'buttons': [
                        {
                            'type': 'postback',
                            'title': 'order pizza',
                            'payload': 'order',
                        },
                        {
                            'type': 'postback',
                            'title': 'get info',
                            'payload': 'info',
                        }
                    ]
                }
            }
        }, function(response, convo) {
    convo.say("Awesome.");
    switch(response.text) {
        case "info":
        info(response, convo);
        break;
        case "order":
        order(response, convo);
        break;
        default:
        info(response, convo);
    }
    convo.next();
  });
};

info = function(response, convo) {
  convo.ask("what do you need to know more about?", function(response, convo) {
    convo.say("Ok.")
    apply(response, convo);
    convo.next();
  });
};

order = function(response, convo) {
  convo.ask("What size do you want?", function(response, convo) {
    convo.say("Ok!");
    convo.next();
  });
};

Do I really need the switch statement to do this or is there a more straight forward option?

You can also use:

controller.on('facebook_postback', function(bot, message) {
    bot.reply(message, 'This is the payload selected: ' + message.payload);
});

And handle it there based on the payload. Does this help?
Alex

Thanks Alex. I'm reluctant to using the controller.on as I worry this will add complexity to mongo storage.
My bot is very straight forward (only buttons, no free text, no a.i., the conversation is scripted form A to Z in a gamebook manner), so I could do with convo.say and convo.ask only (in my code above). I suspect this will ease the process of storing all user's responses. How would you advise?
If not, I will go with the lighter controller.on you recommend.

I think you would be better off using the pattern and actions approach here instead of the switch, it would also make much more sense and keep everything more organized. Do not get scared if it adds more lines to your code.
This is what i am talking about:
convo.ask('Some question OR your message object/facebook attachment', [
                            {
                                pattern: 'yes',
                                callback: function(response, convo) {
                                    // since no further messages are queued after this,
                                    // the conversation will end naturally with status == 'completed'
                                    convo.next();
                                }
                            },
                            {
                                pattern: 'no',
                                callback: function(response, convo) {
                                    // stop the conversation. this will cause it to end with status == 'stopped'
                                    convo.stop();
                                }
                            },
                            {
                                default: true,
                                callback: function(response, convo) {
                                    convo.repeat();
                                    convo.next();
                                }
                            }
]);

or using threads:
convo.addQuestion('another question or facebook attachment?', [
    {
        pattern: 'yes',
        callback: function(response, convo) {
            convo.gotoThread('correct');
        }
    },
    {
        pattern: 'quit',
        callback: function(response, convo) {
            convo.stop();
        }
    },
    {
        default: true,
        callback: function(response, convo) {
            convo.gotoThread('incorrect');
        }
    }
],{key: 'answer'},'default'); // this question has been added to the default thread

//because of the action completed the convo will receive the completed event and end with success
convo.addMessage({
    text: 'Hell yeah!',
    action: 'completed'
},'correct');

// set up incorrect thread and then go back to the default thread (action:'default')

convo.addMessage({
    text: 'Its not the answer im looking for',
    action: 'default'
}, 'incorrect');

Maybe they will give you some ideas.
I hope it helps.
Alex

addMessage and addQuestion can contain message objects exactly like ask() and say() so facebook payloads can be used as well, not just text.
Like so:
convo.addMessage({
	attachment:{
		'type':'image',
		'payload':{
			'url':'https://media.giphy.com/media/3o6ozzc24Ikxi1WXo4/giphy.gif'
		}
	},
	action: 'default'
},'incorrect');

Thanks for heads up Alex! Threads work great as well.
Could you elaborate why using threads over switch statements is more appropriate? Seems to comes down to the same result but maybe i'm missing something.

Its not a huge difference, its just that with threads you can access them form anywhere in the convo once they are setup. I feel its a bit more logical to use stuff that is built-in for that purpose.
Patterns and actions were built for this purpose, to match the response and then to execute the appropriate callback.
In the end it comes down to personal preference. Whatever works for you and what is easier for you to maintain and understand.
Alex

Follow-up: I've been trying the build-in threads but finally moved back to switch statements. Eventually I feel I get more clarity and more simplicity with them (also, threads do add many lines to the code as well).
I will update here if I encounter any limitation with switch statement.
Thanks Alex!


Show total requests per file type

Thank you for the excellent software. This is a feature request
It would be nice to have a section to show count of different types of files served
Also display the top 10 requested files for each file type
Example
CSS: 100
JAVASCRIPT: 200
IMAGES: 500

+1


Add zaps for tokens

Done in https://github.com/macterra/artx-market/commit/212b2a4aeba71dc844f779d842476344bbcd1d84


Questions on commit structure

After thinking about it this morning, it occurred to me that actually, we don't have a good branching strategy. The following came to mind.
The point of the "develop" branch is actually redundant. I'm hoping that we'll get a lot of contributions for this plugin once it gets off the ground and everyone will target master. So master should be our main development branch.
HOWEVER, master should be stable at all times. To do this, all development should be done on branches. Branches can break, that's fine, master should not.
Release versions should go on a release branch. Once we release version 1.0, we branch for 1.0 (release/1.0), and master will target 1.1. Hot fixes for 1.0 can be backported, so the release/1.0 branch will contain fixes for 1.0.1, for example.
So, my proposal is:

Remove the develop branch - IMO it tends to work only for single developers, if everyone works on the develop branch, there is likely to be a lot of conflicts.
The master branch is the current development code
We aim to release new minor (1.x) releases every so often, but not necessarily after every feature (we could promote beta builds)
All development, bar minor bugs, go onto master.

If you think the develop branch should stay, please give me justification. @kinggoesgaming - do you have a rationale?

All seems fine except we use semver as we discussed earlier?

Yes, my suggestions all work based on SemVer. As for develop, I don't think we need it unless we plan for a breaking change. At this stage, bleeding changes can happen on master, we're not stable and released yet.

Fine.  They have a structure, it works for them. It might not work for us. Their use of the bleeding branch is quite wide ranging, I do not imagine that we'll be breaking an Essence API any time soon. We can change internal stuff around that plugins shouldn't be messing with, that's fine, but the actual API portion is the important part as far as plugins, and thus, versioning, are concerned.
Note that whilst we are still in a 0.x phase of the project, I expect APIs can break, but I suspect that won't be the case.

So we can start when and if breaking changes start coming after release. So yeah good idea to close it then

Yep, that's the best solution.
On Tue, 1 Mar 2016 at 14:44 Hunar Roop Kahlon<EMAIL_ADDRESS>wrote:

So we can start when and if breaking changes start coming after release.
So yeah good idea to close it then
—
Reply to this email directly or view it on GitHub
https://github.com/EssencePowered/Essence/issues/9#issuecomment-190748796
.

@hsyyid - you OK with dropping the develop branch for these reasons?

@dualspiral Yep! :smile:


Output shape should be same as the input shape in conditional image generation

https://github.com/Janspiry/Image-Super-Resolution-via-Iterative-Refinement/blob/01d27a7cbfa8502be1d8dbd4ee02fcbd5e44389d/model/ddpm_modules/diffusion.py#L218
In this line it requires the input shape be same as the output shape in conditional image generation that is not true. Instead of that, the output shape from the config file can be used to create the initial random image.

You are right, I should have seen this before I spend days on it. Thanks


ROC AUC scores don't match to those of sklearn

Hey,
I've tried using the package on my dataset, which is binary classification problem, but the ROC AUC scores produced by HPH don't match to the scores produced by a simple CV loop from sklearn.
The difference is about 0.1, which is way too large for this to be explained by random splits.
I tried multiple packages - XGBoost, LGBM, CatBoost, and they all produce similar result: HPH CV AUC is about 0.1 lower than the CV AUC calculated by sklearn's cross_validate.
I use the same hyperparameters to cross validate in sklearn and in HPH, therefore this cannot be explained by the different hyperparams neither.
On HPH side, I only used CVExperiment for now.
Could you please point me in the direction, where the difference may come from?
Cheers,
Artem

Sorry for the delay in responding to you, @abudis!
Thanks for opening this issue. Hopefully we can clear everything up!
Although you say the disparity is too large to be explained by random splits, in my experience random seeds often have a much larger impact on scores than expected. Aside from the random splits made during CV, many algorithms also accept random state parameters, which HH also assigns and records. So this may also be contributing to the difference between your scores.
This issue is rather old, but some of the sample code may help explain how HH does things behind the scenes. Also, keep in mind that average ROC-AUC scores are computed via micro-averaging the actual predictions, rather than averaging the scores themselves.
If the scores still don't seem to make sense, I'd love to see a minimal code example demonstrating the score mismatch you're seeing (preferably with a popular toy dataset for reproducibility). That way, we can determine the cause of the difference between your scores.
Thank you again for opening this issue, and once again, I apologize for taking so long to reply. Please let me know if you're having trouble coming up with some code to reproduce the problem, and we'll figure something else out.


update to spec 9370

⚠ BREAKING CHANGES ⚠:

Remove fastUnstake.setDisputeMaxSpamSlots method in spec 9370

Features:

Add support for spec 9370

Code structure:

Rename types to be reused between both supported versions
Make use of zxlib partial makefiles
Improve CI

:heavy_check_mark: version bump,
:heavy_check_mark: CI ok,
:heavy_check_mark: Merge to develop for P4 deployment.
Go for merge


remoteEntry.js cache busting

In production builds we get hashes in all our filenames for cache busting.  remoteEntry.js is the exception.  What is the recommended approach for cache busting this file?

You can use:

Webpack content hashes together with a discovery service

filename: 'remoteEntry.[contenthash].js'

HTTP cache header or etags
A changing query param like a timestamp for loading the remote


Add tests for branch name vulnerability

This PR adds vulnerability tests similar to the ones from https://github.com/njhartwell/pw3nage
I added them in a separate pull request, instead of directly in #1027 because this is independent of the implementation to fix #812 (which #1027 is one of).

Great call, @dritter! Really happy you thought to add these =)


List of possible SKU values needed

Hello
I am buiding a bicep module for provisioning a dedicated pool for Azure Synapse Analytics.
The template in the documentation gives me this:
sku: {
capacity: int
name: 'string'
tier: 'string'
}
I have been trying for over a hour now to find a list of accepted  values for capacity, name, and tier.
This includes searching the official documentation, third party examples and trying to find a command like az sql elastic-pool list-editions (unfortunately, no such command seems to exist for az synapse sql pool).
I have been unable to find anything useful, and I am reluctant to start guessing.
Can anyone point to some kind of documentation that can help me?

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

ID: 73d18754-6ffe-e890-3ccb-3edfcb3f4b58
Version Independent ID: 35516444-7bb9-8420-dd7b-4b5b6a22194e
Content: Data Warehouse Units (DWUs) for dedicated SQL pool (formerly SQL DW) - Azure Synapse Analytics
Content Source: articles/synapse-analytics/sql-data-warehouse/what-is-a-data-warehouse-unit-dwu-cdwu.md
Service: synapse-analytics
Sub-service: sql-dw
GitHub Login: @mlee3gsd
Microsoft Alias: martinle

Thank you for your detailed feedback.  We are looking into the issue, and we will respond when we have more information.

Well I'm sure the tiers are listed on the pricing page.  But I agree, the valid options ought to be listed / documented somewhere.  I'll poke around a bit.

I found a little more in the REST Api page.  Something still mystifies me.
https://docs.microsoft.com/en-us/rest/api/synapse/sql-pools/create#sku

The sku names appear to be (fetched from scaling options):
DW100c
DW200c
DW300c
DW400c
DW500c
DW1000c
DW1500c
DW2000c
DW2500c
DW3000c
DW5000c
DW6000c
DW7500c
DW10000c
DW15000c
DW30000c
The powershell uses the "DW___c" as "PerformanceLevel"
I'm starting to develop a theorey... these capacity, name, and tier might all belong to different versions of the mechanism specifying pool size.  Each was included in case someone has a legacy pool.  As far as I can tell, you only need to specify the DW__c for the latest generation of SQL pool.  You do not need to specify all 3 values.
@kschinspari

@MartinJaffer-MSFT thank you for this.
I found an example that only used the "DW100c" SKU and decided that it would have to do.
This challenge is actually the same for every module that I build - the documentation specifies that a parameter is a string, but finding out what values are valid sometimes takes hours for that alone. It would be really, really helpful to have a list or help to find a list of valid values for a parameter somewhere within the documentation.
Thank you for your help.

Yeah.  I run into similar issues sometimes.  It is frustrating.  Shall I close this issue or assign to author?  It really could go either way.  You found an answer to this question, but doc could still be improved.  Actually, given that this isn't the only place where we are left guessing, I could close this and put in a broader doc request.

Yes, go ahead and close - my question about this specific value was answered.


[Refactor]: Color custom properties, global css file

Describe which part of the project code you are refactoring
The custom properties that define our colors, as well as any custom properties we use for font in the future
What will be different about the refactored version?
There will be a separate global.css file which will contain all of our custom properties that each page will use
What is being accomplished by refactoring?
This will prevent the code duplication at the top of each page redefining the color custom properties. It'll allow us to manage them in a single location.
Additionally, a global.js file might be needed at some point for stats tracking. Currently it's a little busted, but that's better for a separate issue. Having both a global.css and global.js file would thematically work together

Forgot to mention that this issue was co-opted into the frenemies part of the project, where we included things like gradients and more color diversity to spruce up the website. For reference, the issue posted the report that this is referring to was "Get a more lively color palette".


[VIP VSB] New Resources to Publish - Track Expenses

Publish Date: May 1st 2024
Tracking GHs [Track Expenses]: https://github.com/Expensify/Expensify/issues/385521
Following the steps in: https://stackoverflowteams.com/c/expensify/questions/17951
Article draft is here

Not overdue, bumping Ren today 👍

Sorry for the delay—I'm ready to be assigned!

No worries — thanks @ren-jones!

Hi @ren-jones! Just checking to see where we're at the PR on this. Thanks!

@ren-jones bump on this as this is part of the May 1st release. Thanks!

PR is ready, just waiting for merge freeze to be completed (Monday) 👍

Deployed to staging 🎉

Payment is handled outside of BZ, so this can be closed!


No Filter Audit Log Wrong URL

Describe the Bug
The URL that is redirected to when you select the No Filter option on the audit log page is wrong and doesn't keep the base path defined where BookStack is hosted.
Steps to Reproduce
Once you're on the Audit Log page if you change the Event Filter to something other than No Filter, such as page_create, the page works as expected. However, once you have a filter selected and then change it to No Filter, it redirects you to the wrong URL. It goes to /settings/audit at the root of the host rather than using the base defined in the APP_URL in the .env.

Selecting any other filter once you have a filter selected works and has the right URL.

Expected Behaviour
The URL for No Filter should keep the base URL, which in my case is /BookStack before /settings/audit
Screenshots or Additional Context
No response
Browser Details
No response
Exact BookStack Version
v23.02.3
PHP Version
8.2.3
Hosting Environment
IIS running on Windows Server 2012 R2

Can confirm, thanks @c0shea for reporting. Have assigned to the next feature release.


question: Do we need Feign retry?

In this post: https://github.com/spring-cloud/spring-cloud-netflix/issues/467 .
Since we've eliminated the feign retry with our ribbon retry, Do we still need the property below?
feign:
  client:
    config:
      feignName:
        retryer: com.example.SimpleRetryer

This property is from http://cloud.spring.io/spring-cloud-static/Edgware.M1/#spring-cloud-feign-overriding-defaults .
I think we should delete this property.
ping @spencergibb

If you would like us to look at this issue, please provide the requested information. If the information is not provided within the next 7 days this issue will be closed.

Closing due to lack of requested feedback. If you would like us to look at this issue, please provide the requested information and we will re-open the issue.


fix: move pasted  image into images folder, then the image can show image in the built post

move pasted  image into images folder, then the image can show image in the built post

@peterxcli Thanks for your contribution! Previously, I implemented this function for Hexo post asset folder, not for Global asset folder. So I think we may need an option, maybe pastImage.folderType to specify the asset folder type, and the default value should be post to be compatible with the existing version.
A workaround is to disable the past image shortcut of this extension and use vscode-paste-image instead.
If you want to disable past image shortcut, here is an example: https://github.com/0x-jerry/vscode-hexo-utils/issues/45#issuecomment-1013111551


Master to Live

Docs Build status updates of commit cd4c323:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

sharepoint/docs-conceptual/sharepoint-pnp/sharepoint-pnp-cmdlets.md
:white_check_mark:Succeeded
View (sharepoint-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


which version of cuda does this project support and recommend

at first I use nvidia driver 470~. And it tell me that my driver is too old.since my network is not so stable, I do not want to download for serveral time. I want to know which version of cuda is supported and recommended

11.7 works fine. 11.7 - 12.3 should also work.


Migrate GKE cluster off basic authentication

GKE v1.9**** no longer supports basic authentication. [1] To continue receiving automatic updates to the GKE cluster, it must be migrated off of basic authentication, to a supported alternative.

Documentation should also be refreshed to describe the current configuration of the clusters.
[1] https://cloud.google.com/kubernetes-engine/docs/how-to/api-server-authentication#legacy-auth
Clusters:
io-datastores
metrics
metrics-staging
Imported from Jira BEAM-12542. Original Jira may contain additional context.
Reported by: tysonjh.

.take-issue


Rename the Gem to "nixos-vagrant-plugin"

As the title says. :)

Done :)
https://rubygems.org/gems/vagrant-nixos-plugin


Refactor async_client and client

Removed code duplication
Added docstrings to classes and their methods

Thanks for the contribution! Feel free to make fun of me in public for approving this late :p


adding a GCR image for java 1.44.0 for compatibility test

I was waiting to merge for a interop test run to complete. I started it this morning and it takes a long time. It passed: https://fusion2.corp.google.com/invocations/d5d65187-ea00-47fa-a519-6c913c991458/targets


[BugFix] Abort insert into txn if filter data in strict mode

What type of PR is this：

[x] bugfix
[ ] feature
[ ] enhancement
[ ] refactor
[ ] others

Which issues of this PR fixes ：

Fixes #10656
Problem Summary(Required) ：

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] I have added user document for my new feature or new function

[FE PR Coverage Check]
:disappointed: fail : 0 / 13 (00.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/qe/StmtExecutor.java
0
13
00.00%
[1223, 1224, 1225, 1226, 1227, 1228, 1230, 1232, 1233, 1234, 1237, 1240, 1241]

run starrocks_admit_test

run starrocks_admit_test

run starrocks_admit_test

[FE PR Coverage Check]
:disappointed: fail : 2 / 14 (14.29%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/qe/StmtExecutor.java
2
14
14.29%
[1225, 1226, 1227, 1228, 1229, 1230, 1232, 1234, 1235, 1236, 1239, 1242]


Web - Attachments - Unable to get to the top of images with long height and not able to zoom

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Issue was reproduce when executing #6442
Action Performed:

Open newDot and login
Go to a chat with a really long attachment
Click on it to preview

Expected Result:
User is able to see whole image and scroll thorough all of it
Actual Result:
User can't reach very top of the image by either scrolling or zooming
Workaround:
Unknown
Platform:

Where is this issue occurring?

Web

Version Number: 1.1.17-0
Reproducible in staging?: Yes
Reproducible in production?: No
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos:
Long image
Issue was reproduce when executing #6442

Expensify/Expensify Issue URL:
Issue reported by: Applause
Slack conversation:
View all open jobs on GitHub

:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

Identify the pull request that introduced this issue and revert it.
Find someone who can quickly fix the issue.
Fix the issue yourself.

Triggered auto assignment to @johnmlee101 (Engineering), see https://stackoverflow.com/c/expensify/questions/4319 for more details.

Looks like this was introduced in https://github.com/Expensify/App/pull/6437.
On line 107, top of the image is being set to a negative value when image height is greater than container height. This prevents the scroll from ever reaching the top of the image.
https://github.com/Expensify/App/blob/2b7d6d0a4171319a9328dca14bcd5023a5352a94/src/styles/StyleUtils.js#L93-L115
This can be fixed by to modifying the line to something like below, which will set top to 0 for extra long images.
    const top = `${Math.max((containerHeight - imgHeight) / 2, 0)}px`;

@railway17  could you please fix the issue?
As @aswin-s  pointed out that this is regression from your PR #6437
Thanks @aswin-s for investigation.

@parasharrajat, @aswin-s , @deetergp
I've created a new pull request for this regression
Thank you

📣 @railway17 You have been assigned to this job by @johnmlee101!
Please apply to this job in Upwork and leave a comment on the Github issue letting us know when we can expect a PR to be ready for review 🧑💻
Keep in mind: Code of Conduct | Contributing 📖

📣 @railway17 You have been assigned to this job by @johnmlee101! Please apply to this job in Upwork and leave a comment on the Github issue letting us know when we can expect a PR to be ready for review 🧑💻 Keep in mind: Code of Conduct | Contributing 📖

Where is Upwork job link?

That message is deceptive. This is a regression so there won't be any job for it.

That message is deceptive. This is a regression so there won't be any job for it.

Ah..
I was also confused.
Thank you for your letting me know.
And waiting for your feedback from another reviewers

Okay, this is no longer a deploy blocker, but it seems like this issue is reproducible in production on android. So @railway17 we'll need to get this fixed because it was a regression caused by https://github.com/Expensify/App/pull/6442 that was not fixed by https://github.com/Expensify/App/pull/6535

@railway17 Here's a draft PR which has some changes that should be included in the fix: https://github.com/Expensify/App/pull/6599

Where are we with this?

I've attached my video in #6326 below.
https://user-images.githubusercontent.com/29966461/145676609-ea158234-146c-4e2b-8ea9-d25a1517c8ed.mp4
Actually, it is deployed in both staging and production, you can also check if you want.
If you think it is fixed, please close this issue.
Thank you.

@kavimuru could this be re-tested and closed if resolved?

Issue is still reproducible
https://user-images.githubusercontent.com/44479856/145883557-508697f6-3e7e-4000-b226-a72941700087.mp4

Issue is still reproducible
Screen_Recording_20211213-150141_New.Expensify.mp4

Ok, I got it.
I have just tested it in Web version because issue was marked with only Web.
Let me try to fix and create a new pull request for this.
Thank you.

Hi, @roryabraham , @johnmlee101
As I commented here, this issue is not related to my fix for #6326.
But I have also noticed that the Android version has an important bug regarding this.
While testing with earlier Android version (I've tested with Android 8 simulator and real device), it is crashing after displaying image modal.
Please look at my testing video here:
https://user-images.githubusercontent.com/29966461/146042983-b42149ac-44ca-4e60-b07a-44f788c2c151.mp4
I think these 2 mobile issues should be treated as another ticket.
Thank you
Han

@johnmlee101, @railway17 Whoops! This issue is 2 days overdue. Let's get this updated quick!

Issue not reproducible during KI retests. (First week)

@johnmlee101, @railway17 6 days overdue. This is scarier than being forced to listen to Vogon poetry!

Going to see if this remaining not reproducible for another week.

I think these 2 mobile issues should be treated as another ticket.

Can you propose this in the contributor Slack? That way we can go through the process to tackle this 😄

Going to see if this remaining not reproducible for another week.

I think these 2 mobile issues should be treated as another ticket.

Can you propose this in the contributor Slack? That way we can go through the process to tackle this 😄

I reported this issue in contributor Slack

Issue not reproducible during KI retests. (Second week)

@johnmlee101, @railway17 Huh... This is 4 days overdue. Who can take care of this?

Can you link the Slack message? 😄

Issue not reproducible during KI retests. (Third week) Should we close this @johnmlee101?

Let's do it!


Commandline

Coverage remained the same at 91.307% when pulling 5715f94752d88ce06db04c0970e377866daa2557 on commandline into 1a09774fc6ed0c699a7ddf5dc78548c8fe803a8d on master.


Add in a pytest dependency for running tests.

While there aren't currently any tests defined, this sets it up so that they are prepared to use pytest in the future.

CI:

Linux
Linux-aarch64
Windows


Add collision strategy

Fixes #11990

Do we want to treat this more as a sync, or more as an import?
Some things that the sync code does:

Keep indices
Keep permissions (we probably want this, at least)
Keep overviews

Something to consider

Probably all of them. Closer to syncs not for the sake of being more like a sync, but because of that making sense (or being needed!).

retest this, please

@juanignaciosl I'd prefer if you took a look at this one, so I can be free for acceptance. It is a tricky one, where I feel the clean room approach is important.

🔴 There seems to be something wrong with table registering on overwrite. A failing use case.

Import table a
curl -v -F<EMAIL_ADDRESS>"https://user.carto.com/api/v1/imports/?api_key=xxx"
Table a appears in dashboard
Import table a with overwrite
curl -v -F "collision_strategy=overwrite" -F<EMAIL_ADDRESS>"https://user.carto.com/api/v1/imports/?api_key=xxx"
Table a disappeared in dashboard ⚠ I see a ghost tables trace: https://rollbar.com/carto/CartoDB/items/4426/occurrences/31946475800/
SELECT CDB_CartodbfyTable('a')
Table a reappears in dashboard

@javitonino can you please attach a.csv? Just to make sure I can reproduce it

echo -e 'a,b\n1,2' > a.csv

Acceptance is mostly ok. All the major operations work as expected. Tested:

Syncs (URL/Google drive)
Import (no strategy, skip strategy, overwrite strategy)
Schema validation

Everything works, but I'd like to request a last change. The error exposed to the user in case of schema incompatibility is 99999 - Unknown error, which is way too generic. I would like to have a new error code/message for this case.

Working wonders. I'll leave it for tomorrow, not an afternoon deploy.


narrow down possible status codes for redirects to 300-308

closes #7614
Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[x] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[x] This message body should clearly illustrate what problems it solves.
[x] Ideally, include a test that fails without this PR but passes with it.

Tests

[x] Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

[x] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpm changeset and following the prompts. All changesets should be patch until SvelteKit 1.0

Can't we make the type more generic ?

type RangeStartArray<
	LENGTH extends number,
	ACC extends unknown[] = [],
> = ACC['length'] extends LENGTH
	? ACC
	: RangeStartArray<LENGTH, [...ACC, 1]>

type NumericRangeBuilder<
	START_ARR extends number[],
	END extends number,
	ACC extends number = never>
	= START_ARR['length'] extends END
	? ACC | END
	: NumericRangeBuilder<[...START_ARR, 1], END, ACC | START_ARR['length']>

/**
 * A type that represents a range of numbers 'FROM' to `END` (inclusive)
 *
 * @example
 * type Range = NumericRange<100, 200> // 100 | 101 ... 199 | 200
 */
export type NumericRange<FROM extends number, TO extends number> = NumericRangeBuilder<RangeStartArray<FROM>, TO>

/**
 *
 * @property {number} informational - 1xx
 * @property {number} success - 2xx
 * @property {number} redirection - 3xx
 * @property {number} clientError - 4xx
 * @property {number} serverError - 5xx
 *
 * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Status
 */
export type HttpStatusCode = {
	informational: NumericRange<1, 199>;
	success: NumericRange<200, 299>;
	redirect: NumericRange<300, 399>;
	clientError: NumericRange<400, 499>;
	serverError: NumericRange<500, 599>;
}

/**
 * Creates a `Redirect` object. If thrown during request handling, SvelteKit will
 * return a redirect response.
 * @param status The HTTP redirect status code (300-399)
 * @param location The location to redirect to
 */
export function redirect(status: HttpStatusCode['redirect'], location: string): Redirect;

Can't we make the type more generic ?

If it would be more performant.. then probably yes.
I haven't seen any performant NumberRange implementation yet. This one takes a few minutes on my machine to tell me that 500 is not allowed.

thank you!