text:
Question: require vs dependency injection?

I'm doing my first Node project, and coming from the Java world. The current project structure has, for example:
// index.js

app.use('/api', require('app/customers/router'))

and
// users/router.js

var router = require('express').Router()
var needUser = require('./need-user')

function signIn (req, res) {
  /* eslint no-unused-vars:0 */
  // ...
}

function profile (req, res) {
  res.render('users/profile')
}

router.post('/users/sign-in', signIn)
router.get('/users/profile', needUser, profile)

module.exports = router

The repetition of var router = require('express').Router() in each of the routers doesn't look particularly appealing to me . What are your thoughts (pros/cons of each method) about going with a more "dependency injection" style approach, like the following:
// index.js

const router = express.Router();
app.use('/api', require('app/customers/router')(router))

// users/router.js

var needUser = require('./need-user')

module.exports = function (router) {
  function signIn(req, res) {
    /* eslint no-unused-vars:0 */
    // ...
  }

  function profile(req, res) {
    res.render('users/profile')
  }

  router.post('/users/sign-in', signIn)
  router.get('/users/profile', needUser, profile)

  return router;
}

I think this ends up being functionally the same (again, I'm new, so maybe I'm mistaken) but gets rid of the need to require everywhere. Additionally, perhaps not relevant for the router, but for something like a database tool it allows for easier testing as a mock object can be thrown in instead in the test code.
I'm looking for best practices for my own project, and while it's interesting that ExpressJS is unopinionated, that leaves a void for terrible project structure to thrive. I agree with a lot of the opinions you've expressed here, so I'm interested to see what you think of the code above.

about going with a more "dependency injection" style approach, like the following:

I used to do something like that before express support for modular routers was as full-featured as it is now. Now I prefer modular subapps with their own router for cleaner isolation.

but gets rid of the need to require everywhere.

I can understand this sentiment, but in my experience it's an anti-pattern. The custom dependency injection API you are creating here adds very little actual value vs node standard commonjs which is fully understood by the community and lots of tooling for mocking and testing. I'd invite you to clarify "doesn't look particularly appealing" for yourself. Why not? Does your version have less boilerplate? I don't think so, and the boilerplate function is more error-prone and a custom one-off interface which is likely undocumented.
Having worked with AngularJS's disasterous DI system and projects that find boilerplate require statements "not appealing" so they do stuff like global.lodash = require('lodash'); somewhere early during app initialization (thus creating an implicit load order dependency), I'm of the opinion that regular, modular CommonJS files with no implicit load order dependencies that can be run as standalone node programs are a superior structure. Even though there's some repetition, the explicit deps using the community's primary mechanism are worth it for me.
In node I find sinon sandboxes usually fine for mocking databases and if things get really hairy I'll reach for something like rewire or proxy-require but I'd rather just make a db.js commonjs module and use sinon to sandbox the db.lookupUser(42, callback); call as opposed to using a dependency injection pattern.
It's not that DI itself doesn't seem useful to me, it's just that if I'm going to use it, I want it baked into the programming language itself where it belongs, not tacked on with a hacky userland system.

It's not that DI itself doesn't seem useful to me

I've used Dagger in an enterprise Java application, and I thought it was wonderful. It sucks when the graph gets huge, but having run into enough global singletons it seems far better than the alternatives I'm aware of.

I'd invite you to clarify "doesn't look particularly appealing" for yourself. Why not?

Biggest reason in Java world would be testing, although I admit I'm completely unfamiliar with the technologies you mentioned. With the ability to monkey patch, perhaps that's irrelevant in JavaScript - I'll take a look! Secondly though, and I think still relevant here, is as a layer of abstraction between dependencies and the functionality that depends on them. The router is probably a terrible example for me to use, but imagining I wanted to use a different router it'd suck to have to go to all the separate files and change them all vs. changing in one place.

it's just that if I'm going to use it, I want it baked into the programming language itself where it belongs, not tacked on with a hacky userland system.

What do you mean by a "hacky userland system"? Isn't it just how require works - you can provide arguments to it? Are you referring to where the dependencies are initialized, and how there's no tooling to support or enforce them/actually do the "injection" part of the DI? Is it meaningfully different from the app.use functionality for middleware?

Now I prefer modular subapps with their own router for cleaner isolation.

Is the sentiment here something along the lines of you being able to take a subdirectory out and drop it in its own application and run more effectively "as is"? What's the isolation in this case refer to - does it make sense for every object that adds a route to create its own router? Isn't that not respecting a separation of concerns?

Having worked with AngularJS's disasterous DI system

Is that Angular 1? I've used Angular 2 and it seems pretty straightforward and usable, although I've only used it on smaller applications.

Completely separately, how do you share resources that require initialization - e.g. a database connection  pool with something like Knex) if you need access in all of the model files like need-user.js. I don't see an example of that in this project structure - if you have some insight, I'd be up for doing up a PR to incorporate an example into this project.
Thanks so much for your response! Great to get an opinion from someone who's been immersed in the ecosystem for a long time.

I'd invite you to clarify "doesn't look particularly appealing" for yourself. Why not?

To elaborate on that, how is this different from the motivation that lead to DI and IoC in the first place? If the lower level class/modules/whatever are creating their own dependencies, isn't that essentially just the whole "global state" issue? It looks like transitive dependencies are implicit, and scaling up complexity wise (into mid-size app territory) means it's not clear what's actually going on at any particular point - if one class/module/whatever requires a bunch of others, and you monkey-patch a dependency in one place how do you intercept all the other require calls?

The router is probably a terrible example for me to use, but imagining I wanted to use a different router it'd suck to have to go to all the separate files and change them all vs. changing in one place.

Indeed. I'm not very concerned about this. I don't want a database abstraction. If I change databases, I change my code and a lot of it at that and that's OK. It's better than the impedence mismatch and API obfuscation of trying to use a generic database (or router in this case) API instead of just a concrete one.
I tend to be pragmatic though so these concerns may be very much valid but they don't resonate with me. Keep things small and easy to change instead of trying to build abstractions. Use tests to  allow refactoring without regression, not abstractions and design patterns.

it'd suck to have to go to all the separate files and change them all vs. changing in one place.

Not for me. There's not going to be 100s of files. Dozens at most. I'm good with my text editor and unix tools. If the change is mechanical I'd be done in minutes. I'm not afraid of changing the code, especially if it is a mechanical operation without a lot of ways to make subtle mistakes.

What do you mean by a "hacky userland system"? Isn't it just how require works - you can provide arguments to it? Are you referring to where the dependencies are initialized, and how there's no tooling to support or enforce them/actually do the "injection" part of the DI? Is it meaningfully different from the app.use functionality for middleware?

Basically I mean commonjs is what node uses and introducing something else doesn't seem worth it to me given the other options available in a dynamic language such as JS. I do "node-style" node meaning commonjs, callbacks, no transpilers, etc.
I'm saying if you use newrelic or similar APM tooling, they are going to "just work" out of the box with commonjs. Same for bundlers like browserify or webpack. These and other tools may or may not be compatible with some other system for dependencies.
As for app.use middleware dependencies this is in fact one of my biggest gripes with express/connect. I'd much rather be able to explicitly specify that my session middleware depends on the cookie parsing middleware having run first. If they had followed the spirit of commonjs, each middleware would declare its dependencies, but they didn't, and thus many express apps break when middleware are configured out of order.

Is the sentiment here something along the lines of you being able to take a subdirectory out and drop it in its own application and run more effectively "as is"? What's the isolation in this case refer to - does it make sense for every object that adds a route to create its own router? Isn't that not respecting a separation of concerns?

Somewhat but mostly it's about understanding behavior and grouping of related or interdependent things. If I didn't enable compression middleware in my router, I don't want to see the application unexpectedly just do that for me. I don't want my req.params pre-parsed into some app-specific data structure by some other middleware implicitly required. Instead of having each sub-router have // FYI the main app turns on compression I'd rather just see the 1-liner of code that means the same router.use(compression());.
And no I don't need one router for every route, but one router for each group of tightly-coupled or closely-related routes. Each logical subsystem if you will.
But I see what you're getting at and there's tradeoffs for both the "combine independent routers" into an app approach and the "routers are like plugins that just do this one little bit" approach.

To elaborate on that, how is this different from the motivation that lead to DI and IoC in the first place? If the lower level class/modules/whatever are creating their own dependencies, isn't that essentially just the whole "global state" issue? It looks like transitive dependencies are implicit, and scaling up complexity wise (into mid-size app territory) means it's not clear what's actually going on at any particular point - if one class/module/whatever requires a bunch of others, and you monkey-patch a dependency in one place how do you intercept all the other require calls?

I make a distinction here in that I code in a stateless module style so when I require something, that something isn't usually a stateful thing like a DB connection pool. It's just a set of code I run. If I need something stateful, I initialize that once at the periphery of the app and it gets made available via some "ambient" mechanism as Rich Hickey would say. I don't think this is ideal, but for me in node.js a DI/IoC solution is worse than the problem.
I don't intercept require calls, I intercept runtime calls. So instead of intercepting require('db'), I intercept db.getUser(42, callback);. Intercepting require calls I'll only do when my hand is forced by some third party module's design.

Completely separately, how do you share resources that require initialization - e.g. a database connection pool with something like Knex) if you need access in all of the model files like need-user.js. I don't see an example of that in this project structure - if you have some insight, I'd be up for doing up a PR to incorporate an example into this project.

I don't do anything special for that. I usually follow the same pattern you see in the docs for that module. Typically these are ultimately app-wide shared state or perhaps I'd stick them onto app.locals or res.locals in express as needed.
In terms of scope, I'm drawing the line for this project mostly about your directory and file layout. Once you start talking about the content of .js files in detail, scope goes through the moon.

Awesome! Thanks so much for taking the time to respond, I definitely appreciate your feedback. You've cleared up a lot of questions I've had, and there seem to be far more beginners than advanced developers in the JS realm so it's hard to know who actually has any idea. I think you're on to one of the key factors though - Node projects generally don't stretch to the thousands of files so any additional complexity has to pay off over a far smaller number of files.

I'd much rather be able to explicitly specify that my session middleware depends on the cookie parsing middleware having run first

Agreed, I've already run into this a couple times. Designing things the "best" way is hard!

If I need something stateful, I initialize that once at the periphery of the app and it gets made available via some "ambient" mechanism as Rich Hickey would say. I don't think this is ideal, but for me in node.js a DI/IoC solution is worse than the problem.

This seems like an area where people tend to just kind of go for it, I've been struggling to find how people deal with it. The whole "don't pollute the global namespace" practices of client side JS and best practices in other languages lead me to be a bit gun shy to do so. Handling "stateful" dependencies separately from "stateless" dependencies definitely makes a lot of sense to me though.

Just keep in mind I never pollute the global namespace, but I do share modules. So I might have a db.js module with a db.connect(params) that initializes a connection poll at the start of the app and uses that for queries when call to db.find(query) are made. So it's still shared state but it's still imported with commonjs require and not a global variable.

authors: focusaurus tobymurray

license: mit


text:
bug: cannot use toggleterm's float term

Did you check docs and existing issues?

[X] I have read all the edgy.nvim docs
[X] I have searched the existing issues of edgy.nvim
[X] I have searched the existing issues of plugins related to this issue

Neovim version (nvim -v)
NVIM v0.10.0-dev-449+gcc41697775
Operating system/version
Arch linux
Describe the bug
after using edgy, I cannot use toggleterm's float term.
https://github.com/folke/edgy.nvim/assets/62557596/9342b9f5-2090-44c8-acf5-7fd39ca315f4
Steps To Reproduce
run :ToggleTerm direction=float in nvim
Expected Behavior
Use float term normally
Repro
-- DO NOT change the paths and don't remove the colorscheme
local root = vim.fn.fnamemodify("./.repro", ":p")

-- set stdpaths to use .repro
for _, name in ipairs({ "config", "data", "state", "cache" }) do
	vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
end

-- bootstrap lazy
local lazypath = root .. "/plugins/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
	vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", lazypath })
end
vim.opt.runtimepath:prepend(lazypath)

-- install plugins
local plugins = {
	"folke/tokyonight.nvim",
	{
		"folke/edgy.nvim",
		opts = {
			bottom = {
				{ ft = "toggleterm", size = { height = 0.4 } },
			},
		},
	},
	{ "akinsho/toggleterm.nvim", opts = {} },
}
require("lazy").setup(plugins, {
	root = root .. "/plugins",
})

vim.cmd.colorscheme("tokyonight")

Thx! I just wanna exclude the floating term

I just updated the readme and changed the toggleterm example to exclude floating windows

source: gharchive/issue

authors: XXiaoA folke

license_type: permissive

license_source: github-api


text:
MIME types

https://github.com/fontello/fontello/wiki/How-to-setup-server-to-serve-fonts
application/font-sfnt is too generic. I think these are more exact:
application/x-font-ttf                ttc ttf;
font/opentype                         otf;

You are right, it worth to update  info.
See https://github.com/fontello/fontello/wiki/How-to-setup-server-to-serve-fonts/_compare/66a313342038ca43dc8a9b2a28db704b0c5dd5d1
The only difference - i've taken otf info from https://github.com/jshttp/mime-db/blob/master/src/apache-types.json#L2243

authors: puzrin rafis

repo: fontello/fontello

license_source: bigquery


text:
[ttx] add option to dump glyf table's glyphs as individual ttx

I rebased @bamidei original PRs (https://github.com/fonttools/fonttools/pull/1035 and https://github.com/fonttools/fonttools/pull/1132) on the current master branch.
With this ttx gets a new -g option that will dump each glyph from the glyf table as an individual ttx file, in the same directory as the parent ttx file, and with the latter's filename plus an _ and the glyph name (and the ".ttx" file extension). For simplicity, the -g (split glyphs) option also implies the -s (spit tables) option, i.e. can't use split glyphs only without also splitting the tables.
The separator between the _g_l_y_f table tag and the glyph names in the ttx file name was chosen to be "_" instead of ".",  so that the glyf table's ttx file (containing the index of individual glyph's ttx files) doesn't get lost among hundreds of other ttx files, but appears after all the glyphs ttx files when sorting a folder alphabetically.
The option currently only affects the glyf table, not yet the CFF (PRs are welcome).
Thanks @bamidei for your contribution, and apologies if I've kept your PRs lagging behind for so long.
(@ragingstorm apparently was his old nickname)
Related issue #153

Ah, and the new fontTools.misc.filenames module with the userNameToFileName function that converts arbitrary glyph names to compatible filesystem's file names (following UFO3 conventions) is borrowed from ufoLib. Thanks @typesupply

I'm still actually 51%~49% on the "_" vs "." as the separator between the table tag and the glyph name. E.g.:
FontName._g_l_y_f.U_acute.ttx
vs
FontName._g_l_y_f_U_acute.ttx
I like the "." for consistency reasons, but I see the point raised by @bamidei that with the "_" (when the files are listed alphabetically) it makes it easier to spot the index file FontName._g_l_y_f.ttx among the other ones.
:thinking:
I also thought about somehowe grouping the glyph files in a sub-folder, but that solution opens up other problems (relative vs absolute path, platform-specific path separators, what if a folder with given name already exists, etc.), and I'd like to keep it simple.
And most of the time I think users will use -d <outputdir> in combination with -g (or -s) anyway..

FontName._g_l_y_f.U_acute.ttx
vs
FontName._g_l_y_f_U_acute.ttx

ok let's put it to a vote: do you guys prefer _ or . to separate _g_l_y_f tag from the (ufo3-normalized) glyph name?

. would let you split the path easier if you needed to

What about using a different separator, like + or -?

Hm. I still prefer the .. Yeah, I’m going to do that.

source: gharchive/pull-request

authors: anthrotype benkiel miguelsousa

repo: fonttools/fonttools


text:
Configs to make Maven Central release possible

Maven needs a lot of configs for a release.
The Javadoc also needed a tweak.
Could be potentially moved under a profile.

Note: export GPG_TTY=$(tty) was needed to make my gpg happy. via https://github.com/keybase/keybase-issues/issues/2798


text:
Track chain average block times

As discussed inside desmos-labs/juno#5, particularly here, we should track how average block time changes over time.
For this reason, we should create three different tables:
CREATE TABLE average_block_time_per_minute
(
  average_time DECIMAL NOT NULL,
  timestamp TIMESTAMP WITHOUT TIMEZONE NOT NULL
);

CREATE TABLE average_block_time_per_hour
(
  average_time DECIMAL NOT NULL,
  timestamp TIMESTAMP WITHOUT TIMEZONE NOT NULL
);

CREATE TABLE average_block_time_per_day
(
  average_time DECIMAL NOT NULL,
  timestamp TIMESTAMP WITHOUT TIMEZONE NOT NULL
);

Each of these tables should be updated every time a new block is created. Particularly, here are how values should be computed.
average_block_time_per_minute
average_time = (BlockTime - PreviousMinuteBlockTime) / (BlockHeight - PreviousMinuteBlockHeight)
average_block_time_per_hour
average_time = (BlockTime - PreviousHourBlockTime) / (BlockHeight - PreviousHourBlockHeight)
average_block_time_per_day
average_time = (BlockTime - YesterdayBlockTime) / (BlockHeight - YesterdayLastBlockHeight)

@kwunyeung can you please confirm this is correct?

@RiccardoM Good. And then it would be like:

Periodic operation on x/consensus?
Take the old value from database
Calculate block time
Put it into database
Is that?

@HarleyAppleChoi Yes, having a block operation inside x/consensus seems the best thing to do. The steps you described are correct :100:

@RiccardoM the calculation is correct but only the overall average block time has to be calculated on every block, which
average_time = (BlockTime - GenesisTime) / BlockHeight

And I suppose the other average block times can be done on every min, every hour and every day instead of on every new block. In the current version, we have a timer dispatch a function every second. If the current time is at 0 second of every min, 0 second of every hour and 00:00 of every day, it will make those calculations.

@kwunyeung Great, thanks!
@HarleyAppleChoi Please implement the calculations as periodic operations then. Leave only the overall average one (the one against the genesis time) inside the block handler.

authors: HarleyAppleChoi RiccardoM kwunyeung

repo: forbole/bdjuno

license: MIT


text:
feat: support network proxy from environment

In current implementation, rust-releases-io will just ignore HTTP_PROXY/HTTPS_PROXY
When users cannot access github without a proxy, this results an error like:
HTTP error: https://raw.githubusercontent.com/rust-lang/rust/master/RELEASES.md: Connection Failed: Connect error: Connection refused (os error 111)

With ureq:Agent, rust-releases-io will try to read proxy from environment
This avoids requirement of hook-based/cgroup-based/tun-based e.g. proxy tools

Could you please rebase your branch? I've fixed the pipelines in #246. Thanks, also for the PR!

Could you please rebase your branch? I've fixed the pipelines in #246. Thanks, also for the PR!

Rebased. :+1:

Thanks!

repo: foresterre/rust-releases


text:
Noob question - Search and Replace in Gutenberg

Hello!
I wasn't sure if I could post my question here but I thought I'd give it a try and you can delete it later if you want.
So, I am working on my simple script, that will search and replace certain blocks in Gutenberg. For some reason, I need to do it in batches, for example, 10 blocks at first and the next 10 blocks at second. I use a simple jQuery function but after the words are replaced, they are immediately replaced with the original values again - after I click out of the box or try to save the post.
Your plugin is the only working solution I found but I would rather have my own little solution. Would you point me please how this can be done? How does your plugin work and how can I ensure that the text is replaced and stays replaced?
Thanks for your time.
Radan

Hi Radan,
I think Gutenberg search and replace works by bubbling up an input event:
https://github.com/forgetso/search-replace/blob/865423935d49a0134dfbe167faeb5405618c7cc3/src/searchreplace.ts#L363C5-L363C65
Give this a shot after you've made your replacements and let me know if it works.
Cheers

authors: fkoomek forgetso

repo: forgetso/search-replace


text:
X support?

Does this work with X/Twitter embedding?

No.

Thanks

authors: MioVisman romulasry

repo: forkbb/forkbb


text:
implementation of formio wizard functionality.

Implementation of formio-wizard functionality.
-Added the formio-wizard component and template for it.
-Added progress bar same as ngFormio to formio wizard.
-Implemented the navigation on wizard pages.
-Implemented submission and handled the session for it.
Known Issue:
-After navigating on previous page, change event is not working.
-Hence not able to submit the changed data properly.

Well done @manishkumar-tudip! 👍

authors: manishkumar-tudip travist


text:
Plugins on type="form" are not inherited by "button" and "submit" input types

Reproduction
https://formkit.link/dbf13aec6f984655a2c830d5767e19a3
Describe the bug
Came across this issue while working on the upcoming icon plugin.
current behavior: Plugins applied to a <FormKit type="form"> element are not inherited by <FormKit type="button" /> or <FormKit type="submit" /> FormKit elements.
expected behavior: All FormKit elements should inherit plugins from their parent, regardless of type.
Environment
• OS: macOS
• Browser: Chrome
• Version: 101.0.4951.64 (Official Build) (arm64)

Went to fix this and realized we already had a solution. Most of the time we want a button to be ignored in a given form, but occasionally we don’t. The :ignore="false" prop can turn off this default behavior.
Beta 13 enables this for submit-attrs as well:
https://formkit.link/af57e198b433d3e0b38bc686c55eeb8b
@luan-nk-nguyen we need to document this behavior on the button/submit pages and form page.

Docs are written: https://formkit.com/inputs/submit#ignored-input

repo: formkit/formkit


text:
Two way Data Binding

@divyakumarjain Can we look into this, I think this got broke after the control group logic was removed or something.
https://github.com/formly-js/ng2-formly/commit/09f97781f20f7527975eb37879509ed2216cf9b8#diff-69a89068190b42d36203ed92bed384f7L41

@mohammedzamakhan Can you please provide more detail about the issue so that we can reproduce the issue and fix it.

I think you are referring to Change Email Button functionality.

@divyakumarjain Yes 👍

As part of changeEmitter.subscribe the control group was getting created everytime there was a change thus external changes where picked up template directives.
https://github.com/formly-js/ng2-formly/pull/38/commits/09f97781f20f7527975eb37879509ed2216cf9b8#diff-69a89068190b42d36203ed92bed384f7L50
I dont thinking creating Control Group everytime will be best solution. Looking various blogs and post on internet related to Angular2 ngModel and ngControl to understand how this can be implemented.

Did lot of reading around change detection in Angular following are some helpful link related to this issue.
http://stackoverflow.com/questions/34635269/how-to-pass-input-params-to-an-angular-2-component-created-with-dynamiccompon
http://stackoverflow.com/a/34855772
So far theoretically there seems to be two possible way to solve this.

ngModel with ValueAccessor: Here writeValue method can be used to get updated value in template directive.
formly.field can have model as observable and template directive is subscribe to this.

observable option is more low level compared to ngModel option. Also ngModel may run into same problem of input bindings of Dynamic Component. Also ngModel option will need ValueAccessor Provider for individual template directive unless this accessor provider is implemented as generic service.

Following plnkr url showcases problem with two way binding for dynamically created directive
http://plnkr.co/edit/MBYdMP?p=preview

@divyakumarjain Is their any recommendations from Angular Team, if not is their a existing issue created about this in Angular repo?!

Few Post on Stacktrace talk about using observable on parent which is monitored by dynamic child. Parent should emit event on observable with right key else all the dynamic child will get the event. For this we need to look at ngOnChange at parent. But ngOnChange will not work with ngDoCheck as per angular documentation. Also if doe not work with complex objects.
Also i have raised below issue on Angular site.
https://github.com/angular/angular/issues/8903

authors: divyakumarjain mohammedzamakhan


text:
Custom template throws error on form rendring

I'm submitting a ...  (check one with "x")
[x] bug report => search github for a similar issue or PR before submitting
[ ] feature request
[ ] support request

Current behavior
I have created a demo on https://stackblitz.com/edit/angular-riwlny-3hkdm3.
I have created the grid-form component and registered the template in the root module. Grid-form template internally uses the formly-form component. But on rendring it throws error on console.
error message is
Cannot convert undefined or null to object
at Function.keys ()
at FormGroup._forEachChild (model.js:2411)
at FormGroup._setUpControls (model.js:2427)
at new FormGroup (model.js:1940)
at FormlyFormBuilder.addFormControl (formly.form.builder.ts:252)
at eval (formly.form.builder.ts:59)
at Array.forEach ()
at eval (formly.form.builder.ts:54)
at Array.forEach ()
at FormlyFormBuilder.registerFormControls (formly.form.builder.ts:44)
Expected behavior
It should not throw the error in console
Minimal reproduction of the problem with instructions
Example is on https://stackblitz.com/edit/angular-riwlny-3hkdm3. Second tab is using my custom template 'grid-form'
What is the motivation / use case for changing the behavior?

Please tell us about your environment:

Angular version: 2.0.X

Browser: [all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]

Language: [all | TypeScript X.X | ES6/7 | ES5]

Node (for AoT issues): node --version =

fixed in 4.6.0

authors: aitboudad ravikumarmistry

repo: formly-js/ngx-formly


text:
Publish it to npm

I need to know under what name this is going to be published in npm so I can depend on it in web component repo

forms-js would probably be my pick
On Mar 12, 2015 9:21 PM, "Mohsen Azimi" notifications@github.com wrote:

I need to know under what name this is going to be published in npm so I
can depend on it in web component repo
—
Reply to this email directly or view it on GitHub
https://github.com/forms-js/forms-js/issues/13.

it's taken :(

Shit. Hmm.... well maybe something like forms-js-lib or forms-js-base?
On Mar 12, 2015 9:38 PM, "Mohsen Azimi" notifications@github.com wrote:

it's taken :(
--
Reply to this email directly or view it on GitHub
https://github.com/forms-js/forms-js/issues/13#issuecomment-78796055.

Maybe they'll give it to us...?

Kent C. Dodds

(Sent from my mobile device, please forgive typos or brevity)
On Mar 13, 2015 8:08 AM, "Brian Vaughn" notifications@github.com wrote:

Shit. Hmm.... well maybe something like forms-js-lib or forms-js-base?
On Mar 12, 2015 9:38 PM, "Mohsen Azimi" notifications@github.com wrote:

it's taken :(
--
Reply to this email directly or view it on GitHub
https://github.com/forms-js/forms-js/issues/13#issuecomment-78796055.

—
Reply to this email directly or view it on GitHub
https://github.com/forms-js/forms-js/issues/13#issuecomment-78986853.

Actually let's reach out to the author. He's only done 1 thing, 6 months
ago, so maybe he's no longer interested in that pacakge?
On Fri, Mar 13, 2015 at 12:38 AM, Mohsen Azimi notifications@github.com
wrote:

it's taken :(
--
Reply to this email directly or view it on GitHub
https://github.com/forms-js/forms-js/issues/13#issuecomment-78796055.

--
Thanks,
Brian Vaughn
p. 540-246-5223

I'll email them and CC you guys

So good news here is that @parroit has agreed to unpublish the current forms-js NPM package so that we can use it for forms-js. Soon as Andrea has had the chance to do that, I'll publish a 0.0.1 version of the library for the ongoing adapter projects to use.

PS. In the meanwhile I've registered the Bower forms-js package.

Oh you published forms-js for git://github.com/forms-js/forms-js.git? I thought we're planning to publish bower with another repo. Is it possible to change the repo for bower?

I did not realize we were planning on doing that, only discussing possibilities. If we decide to go that route, we can unregister the Bower package. I wanted to claim it for now though so it didn't get taken.

Closing this since we're published to NPM.

authors: bvaughn kentcdodds mohsen1

repo: forms-js/forms-js


text:
chore: set up ESLint and hook it up to lint-staged

set up ESLint to work with prettier and typescript using the project tsconfig
enable ESLint on src and test folders for js, ts, tsx files in @formspree/core and @formspree/react
fix lint errors

use explicit type import
prefer const over let

suppress problematic lint errors that require larger refactoring
leave lint warnings like @typescript-eslint/no-explicit-any, @typescript-eslint/no-unused-vars, and react-hooks/exhaustive-deps to be fixed in the future (keep this PR from being even larger)

Note: similar to prettier, since we run lint on lint-staged, we're not running it in CI (redundant).

Just checking: we're still targeting es2015 so this shouldn't change the distribution, right?

Just checking: we're still targeting es5 so this shouldn't change the distribution, right?

Correct, we don't change the compilation target in this PR.

authors: bhongy colevscode

repo: formspree/formspree-js


text:
Running files that include uppercase letter generates warning

Running rust-script in any file that includes uppercase letter generates a crate with the same name, which cargo
complains.
While rust files are usually modules and as such should be lowercase, sometimes the user may choose a name that matches his project better. Also cargo-make uses temporary files that may contain uppercase letters.
My proposed solution would be to convert the file name to snake case when using as the crate name. serde can do this for struct fields, so I suppose a simple solution already exists in the ecosystem. I can give it a try if you would accept.
Script.rs:
fn main() {
    println!("test");
}

Output:
$ rust-script Script.rs
warning: crate `Script_5920885be5fa777047cfed70` should have a snake case name
  |
  = note: `#[warn(non_snake_case)]` on by default
  = help: convert the identifier to snake case: `script_5920885be5fa777047cfed70`

warning: 1 warning emitted

test

My proposed solution would be to convert the file name to snake case when using as the crate name. serde can do this for struct fields, so I suppose a simple solution already exists in the ecosystem. I can give it a try if you would accept.

Agreed that we should definitely get rid of the warning in case of upper case in file names!
How about just lower casing the file name (to keep it simple and avoid pulling in a snake casing dependency)?

How about just lower casing the file name (to keep it simple and avoid pulling in a snake casing dependency)?

Yes! That's a much better solution, as the crate name itself doesn't really matter... I'll work on it

Thanks! This has now been released in version 0.14.0.

authors: fornwall pheki

repo: fornwall/rust-script


text:
Speed up import of cloudasset data into temporary sql table.

Strip unused data before writing to the database
Switch from SQLAlchemy ORM to Core style bulk CAI inserts
Ensure the maximum number of rows are written on each bulk insert

This is one of a series of changes to reduce the time to complete
a forseti inventory snapshot for large organizations.
This change reduces the time to import data into a cloudsql database
from a test system by about 50%, from about 312 seconds to about 144
seconds for around 350 megabytes of raw data.
Thanks for opening a Pull Request!
Here's a handy checklist to ensure your PR goes smoothly.

[x] I signed Google's Contributor License Agreement
[x] My code conforms to Google's python style.
[x] My PR at a minimum doesn't decrease unit-test coverage (if applicable).
[x] My PR has been functionally tested.
[x] All of the tests pass
[x] I have submitted a corresponding PR in the Forseti Terraform module (if applicable).

These guidelines and more can be found in our contributing guidelines.

Thanks for this! One QQ: where is the switch from SQLAlchemy ORM to Core style bulk CAI insert happening?

It's primarily in the populate_cai_data method in inventory/storage.py

repo: forseti-security/forseti-security


text:
pop3.forwardemail.net Port: 995 - "unknown error -1"

Pop3 seems to be facing some issues since yesterday evening?

Any update on this? @titanism


text:
Cliparts size is 40x11 even though badge size is 44x11

First up, thanks for your amazing work on this app. Really love the easy way to change badges!
Describe the bug
I noticed that cliparts can only be created in a 40x11 px format (stored png also has this format). But the badge has a 44x11 px width. Any reason for that?
To Reproduce
Create a new clipart and fill it with pixels. Now go to "create badge" and insert it. There will be an area of 2px left and right of the clipart which will not have any red pixels.
Expected behavior
I would expect the canvas for new cliparts to be 44px wide.
Screenshots
Photo of the clipart:

Photo of the badge with padding.

Smartphone Info:
|Device         | Samsung Galaxy S5 (klte) |
|Android Version| 9 (Lineageos)    |
App version: 1.5.0
Would you like to work on the issue?
My android skills are low, so rather not.

@johannesschweig glad you're liking our application. I'll take up this issue and get it fixed in the upcoming version asap. Feel free to track the progress of this issue here :). Regards

as labeled bug for width(40 to 44) , i'm trying for height 16px (led) instead of default 11px(led) to generate binary matrix data.
i simply tried with variable
badgeHeiight = 11
to
badgeHeiight = 16
i got perfect view in app but when i fill any single char in text box , app just crashed & closed
LOG CAT
08-01 12:42:57.192 32128-32128/org.fossasia.badgemagic E/DrawerActivity: OnCreate, false 08-01 12:43:00.642 32128-32128/org.fossasia.badgemagic E/AndroidRuntime: FATAL EXCEPTION: main     Process: org.fossasia.badgemagic, PID: 32128     java.lang.StringIndexOutOfBoundsException: length=22; regionStart=22; regionLength=2         at java.lang.String.startEndAndLength(String.java:298)         at java.lang.String.substring(String.java:1087)         at org.fossasia.badgemagic.ui.custom.PreviewBadge.setValue(PreviewBadge.kt:499)         at org.fossasia.badgemagic.ui.fragments.TextArtFragment.setPreview(TextArtFragment.kt:429)         at org.fossasia.badgemagic.ui.fragments.TextArtFragment.access$setPreview(TextArtFragment.kt:63)         at org.fossasia.badgemagic.ui.fragments.TextArtFragment$textChangedListener$1.afterTextChanged(TextArtFragment.kt:176)         at android.widget.TextView.sendAfterTextChanged(TextView.java:8041)         at android.widget.TextView$ChangeWatcher.afterTextChanged(TextView.java:10354)         at android.text.SpannableStringBuilder.sendAfterTextChanged(SpannableStringBuilder.java:1043)         at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:560)         at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:492)         at android.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:34)         at android.view.inputmethod.BaseInputConnection.replaceText(BaseInputConnection.java:704)         at android.view.inputmethod.BaseInputConnection.commitText(BaseInputConnection.java:207)         at com.android.internal.widget.EditableInputConnection.commitText(EditableInputConnection.java:188)         at com.android.internal.view.IInputConnectionWrapper.executeMessage(IInputConnectionWrapper.java:286)         at com.android.internal.view.IInputConnectionWrapper$MyHandler.handleMessage(IInputConnectionWrapper.java:78)         at android.os.Handler.dispatchMessage(Handler.java:102)         at android.os.Looper.loop(Looper.java:148)         at android.app.ActivityThread.main(ActivityThread.java:5628)         at java.lang.reflect.Method.invoke(Native Method)         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:853)         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:737)
Errors
    **at org.fossasia.badgemagic.ui.custom.PreviewBadge.setValue(PreviewBadge.kt:499)
    at org.fossasia.badgemagic.ui.fragments.TextArtFragment.setPreview(TextArtFragment.kt:429)
    at org.fossasia.badgemagic.ui.fragments.TextArtFragment.access$setPreview(TextArtFragment.kt:63)
    at org.fossasia.badgemagic.ui.fragments.TextArtFragment$textChangedListener$1.afterTextChanged(TextArtFragment.kt:176)**

@Kamal-Sonani We might have to do a lot of changes to the PreviewBadge, I wish I could help out but I have to spend time working rn. I could help but someone has to understand the math and the algorithms used to make that work.

Last hour i debug and finally i got succes.
In bitmap creation their is fixed value 11 ,
I changed it to badge.height & it works 👍
Thanks for sharing .

Last hour i debug and finally i got succes.
In bitmap creation their is fixed value 11 ,
I changed it to badge.height & it works 👍
Thanks for sharing .

Good stuff mate ☺

Is this still up?

Is this still up?

Yep, it is. Feel free to take it

Yep, it is. Feel free to take it

authors: Kamal-Sonani adityastic akri16 johannesschweig

repo: fossasia/badge-magic-android


text:
Profile fragment background should be white

it is grey right now
working on it

please assign label everytime you create issue

repo: fossasia/open-event-android


text:
fix:Removed unwanted apks in the apk branch

Fixes #1828

@the-dagger Please review.

@the-dagger Updated.

@shreyasnbhat This isn't working.
Please try the script on your fork once again and send a PR with the fix.

@the-dagger Having a look now.

@the-dagger figured out the error.
git add -f . doesn't track deleted files. We had to use git add -f -A to track the deleted files

authors: shreyasnbhat the-dagger


text:
Modify parser for new Json outputs

Modify parser for Sponsors to be fetched according to new json outputs from API

@the-dagger tests are failing. Please check.

@mananwason yeah, working on this

@mananwason Travis build has been fixed.
Please review.

Please fix the code according to the comments I have added

@the-dagger Should I close this? If you want you can move the commits to a branch on your fork using git cherry-pick

authors: mananwason the-dagger


text:
(Unused) Free Google Play Gift Card Redeem Codes 2024 LEGIT

free Google Play Gift Card Generator Update Get Free Google Play Gift Cards Codes
Google Play Gift Card Generator 2024 Today Generator No Survey No Human Verification You Can Achieve Amazing Rewards By Trying Out The Many Offers Within This App To Receive Rewards,
CLICK HERE GET FREE
CLICK HERE GET FREE
Free Google Play Codes Generator No Human Verification Are You Ready To Get Free Google Play Gift Cards With The Google Play Code Generator You Can Get Free Google Play Gift Card Codes To Use On Your Favorite Android Apps And Games Whether You Re Looking For Google Play Gift Card Giveaways Google Play Money Generators Or Google Play Card Generators With sdf
Free Play Store Redeem Code Generator No Survey No Human Verification Anyway Guys These Are Codes That Can Only Be Redeemed Once Some Codes Only Work For Some Specific Apps So You Have To Check All The Codes Whether Are Working Or Not We Add Updated Redeem Codes As Soon As We Get A New Google Play Redeem Code Free 2024 sad

🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
.
.
.
.
.
.
.
.

🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
.
.
.
.
.
.
.
.

🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
.
.
.
.
.
.
.
.

🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
.
.
.
.
.
.
.
.

🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
.
.
.
.
.
.
.
.

🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
.
.
.
.
.
.
.
.

🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
.
.
.
.
.
.
.
.

🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
.
.
.
.
.
.
.
.

🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
.
.
.
.
.
.
.
.

🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
.
.
.
.
.
.
.
.

🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
.
.
.
.
.
.
.
.

🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
.
.
.
.
.
.
.
.

🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
.
.
.
.
.
.
.
.

🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
.
.
.
.
.
.
.
.

🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
.
.
.
.
.
.
.
.

🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
.
.
.
.
.
.
.
.

🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
.
.
.
.
.
.
.
.

🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
.
.
.
.
.
.
.
.

🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
.
.
.
.
.
.
.
.

🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card
.
.
.
.
.
.
.
.

🔴📺📱👉 Click here Free Google play Gift Card
🔴📺📱👉 Click here Free Google play Gift Card

repo: foundation/foundation-sites


text:
<$$<FREE🔴 PSN Gift Cards Generator 2024-2026 >>~ Explore Top Methods To Get Playstation Gift Cards

FREE PSN Gift Cards Generator Updated 2024 Free Top Working method No Survey!! [ SiQD]
get free psn gift card generator 2024 free using working free playstation plus code generator. This psn gift card code generator working as well as any regions no limitation. Daily updates
psn gift card code free giveaways to
CLICK HERE TO GET FREE NOW
CLICK HERE TO GET FREE NOW
visitor with only simple tricks. If you obtain free psn gift card code free unused and working already tested you are able to check simple. free psn codes - free psn code generator - psn codes - ps4 gift card codes - free psn codes no verification - ps4 codes - psn code - free psn codes list - real psn code generator - playstation gift card codes - psn codes generator free download - free psn code - psn free codes no surveys approved list of unused psn codes for 2024 (no survey) using a working free playstation plus code generator, get a free psn gift card generator 2024. This ps3 gift card code generator works in all areas and has no restrictions. Psn gift card codes are given out for free to visitors on a regular basis using simply easy tricks. You may check easily if you get a free psn gift card code that is unused and already tested. users of the playstation network will receive a psn code without having to spend a single dollar. Simply press the free psn codes button and follow the on-screen instructions to get your free psn cards in 3 to 5 minutes. Psn codes for free a full type of playstation network code is a psn code. They can purchase games from the playstation store using a variety of payment options provided by sony. Yes, we are all taught about psn. It's typically used by younger, nicer people. They are unable to acquire a playstation network subscription online since they do not have a credit card. You'll be able to find them in a variety of places depending on your region. playstation network user will receive a psn code without spending an individual buck. You just feel the button free psn codes and complete several esay steps to access your free psn cards in 3 to 5 minutes. Free psn codes a psn code full type of a playstation network code. They've multiple payment methods provided by sony to get games in the playstation store.

🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
.
.
.
.
.
.
.
.

🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
.
.
.
.
.
.
.
.

🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
.
.
.
.
.
.
.
.

🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
.
.
.
.
.
.
.
.

🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
.
.
.
.
.
.
.
.

🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
.
.
.
.
.
.
.
.

🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
.
.
.
.
.
.
.
.

🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
.
.
.
.
.
.
.
.

🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
.
.
.
.
.
.
.
.

🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
.
.
.
.
.
.
.
.

🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
.
.
.
.
.
.
.
.

🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
.
.
.
.
.
.
.
.

🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
.
.
.
.
.
.
.
.

🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
.
.
.
.
.
.
.
.

🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
.
.
.
.
.
.
.
.

🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
.
.
.
.
.
.
.
.

🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
.
.
.
.
.
.
.
.

🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
.
.
.
.
.
.
.
.

🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
.
.
.
.
.
.
.
.

🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card

.
.
.
.
.
.
.
.
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card
.
.
.
.
.
.
.
.

🔴📺📱👉 Click here Free PSN Gift Card
🔴📺📱👉 Click here Free PSN Gift Card


text:
expectRevert fails when returning a struct

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

[X] Foundry
[X] Foundryup

What version of Foundry are you on?
33dbaa5 2022-07-23T00:08:24.676044Z
What command(s) is the bug in?
forge test
Operating System
macOS (Apple Silicon)
Describe the bug
My team and I are having an issue where tests expect a revert with the onlyOwner modifier reason and the logs show the call reverting with the expected reason, but the test fails. If you remove the reason in the expectRevert the test fails, but with onlyOwner modifier reason.  We debugged the test and found that the issue occurs when returning the metadata struct.  If we just return the address of the deployed vault from the deployVaultV1 function, the test passes as it is written with the expected revert reason.  When we also try to return the metadata in the function, the test fails and reverts without reason.

1
function being tested from the factory contract
  function deployVaultV1(
    VaultParams memory _vaultParams,
    uint256 _type,
    bool _enabled,
    address _stakingAddress,
    address _submitter,
    string memory _metadataCID,
    address[8] memory _swapTokenAddresses,
    address _swapAddress,
    uint256 _exchange
  ) external onlyOwner returns (VaultMetadata memory, address) {
    Vault vault = new Vault(
      _vaultParams.token,
      _vaultParams.yearnRegistry,
      _vaultParams.contractRegistry,
      _vaultParams.staking,
      _vaultParams.feeStructure
    );
    VaultMetadata memory metadata = VaultMetadata({
      vaultAddress: address(vault),
      vaultType: _type,
      enabled: _enabled,
      stakingAddress: _stakingAddress,
      submitter: _submitter,
      metadataCID: _metadataCID,
      swapTokenAddresses: _swapTokenAddresses,
      swapAddress: _swapAddress,
      exchange: _exchange
    });
    emit VaultV1Deployment(address(vault));
    return (metadata, address(vault));
  }

expectRevert onlyOwner test (passes if deploy function modified to only return vault address, fails, and reverts without reason when the function is as written and returning the vault address and metadata struct)
  function test__deployVaultV1NotOwnerReverts() public {
    vm.expectRevert("Only the contract owner may perform this action");
    (VaultMetadata memory metadata, address vault) = vaultsV1Factory.deployVaultV1(
      vaultParams,
      1,
      true,
      address(0x1111),
      vaultsV1ControllerOwner,
      "someCID",
      swapTokenAddresses,
      address(0x2222),
      1
    );
    assertEq(vault, address(0), "vault deployment failed");
    assertEq(metadata.vaultAddress, address(0), "metadata not constructed");
  }

Factory contract
Factory test contract

This is because vm.expectRevert changes the status of the call from 0 to 1 and returns dummy data. You cannot read the data returned from the call, because it is gibberish, so the rest of your test will be incorrect. We don't return a mock of your internal data structures, just a tiny bit of data to make Solidity happy. Does it work if you don't assign the return value to anything?

Unfortunately, I rewrote the test not to assign data or read the return variable, and the test still fails and reverts without reason
updated test
  function test__deployVaultV1NotOwnerReverts() public {
    vm.expectRevert("Only the contract owner may perform this action");
    vaultsV1Factory.deployVaultV1(
      vaultParams,
      1,
      true,
      address(0x1111),
      vaultsV1ControllerOwner,
      "someCID",
      swapTokenAddresses,
      address(0x2222),
      1
    );
  }

n

Interesting. I guess it's because the return data is not long enough for what Solidity expects... Or maybe it requires a very specific format?
cc @brockelmore Any thoughts/context on the length you chose originally for expectRevert?

very likely given the size of this return object, we aren't allocating enough memory in the return data. I believe we maxed it at 10 words (320 bytes). I was hoping i'd eventually come up with a better way to do this (and may still exist?), but i haven't. we can either boost data size or add an overload for this specific case

That would require us to continually identify contracts which is something we tried to avoid because of the performance penalty. Unsure what the best path forward is... We can either boost the returned data in general or we could add an override or something that sets the size of the returned data, although that might not be super nice UX (have to figure out the size yourself)

Is there a way we can write an override for our specific test?  Would be happy to help you all with troubleshooting this.

@K-G-J, currently the best work around is to just use testFail semantics unfortunately. Or you can do a low level call and abi.decode the result.
@onbjerg I have asked the solc guys to add type(a).size (for unrelated reasons) which would report the size of an object but they haven't done so :/. that would be ideal. I will ask them if they are open to it again, otherwise I think we just add an overload with extra parameter for size and boost default size (issue with boosting size is potentially change in gas snapshots if a contract returndatacopys the whole object)?

@K-G-J here are two solutions:
  // testFail version
  function testFail__deployVaultV1NotOwnerReverts() public {
    (VaultMetadata memory metadata, address vault) = vaultsV1Factory.deployVaultV1(
      vaultParams,
      1,
      true,
      address(0x1111),
      vaultsV1ControllerOwner,
      "someCID",
      swapTokenAddresses,
      address(0x2222),
      1
    );
  }

  function test__deployVaultV1NotOwnerReverts() public {
    (bool success, bytes memory returndata) = address(vaultsV1Factory).call(
        abi.encodePacked(vaultsV1Factory.deployVaultV1.signature, abi.encode(
          vaultParams,
          1,
          true,
          address(0x1111),
          vaultsV1ControllerOwner,
          "someCID",
          swapTokenAddresses,
          address(0x2222),
          1
        ))
    );
    string memory returnString = abi.decode(returndata, (string));
    assertEq(returnString, "Only the contract owner may perform this action");
  }

there may be some slight inaccuracies with the above but i think you can take it from here

thank you! I will try out these solutions.

I had run into something similar. I was trying to catch the revert reason from deploying a proxy with a factory. After stepping through with the debugger, I realized that the correct reason was being reverted, but it was never available in the returndata after the create call had run. I expected this was some normal solidity shenanigans that it was impossible to bubble up the revert reason of a create call.
@brockelmore did you figure out whether this was foundry related?

authors: 0xPhaze K-G-J brockelmore onbjerg

repo: foundry-rs/foundry


text:
Enable using forge fmt --root <PATH> '[PATH]...'

Component
Forge
Describe the feature you would like
I use lint-staged to lint only the staged files, but my smart contracts are stored in a monorepo.
Thus, in order to use the contracts/foundry.toml config, I have to pass the --root of the foundry project.
So now I have the following lint-staged rule:
"lint-staged": {
    "contracts/**/*.sol": [
      "forge fmt --root contracts"
    ]
  }

But unfortunately, I receive the next error.

Thus I can't really have lint on staged files enabled along with the custom formatting rules, instead default rules are applied.
Additional context
No response

@mds1 I actually consider this a bug now, as the error and the usage guide are quite controversial, check the screenshot precisely.

@mds1 Can we change this to a bug?

from lint-staged docs:
This project contains a script that will run arbitrary shell tasks with a list of staged files as an argument, filtered by a specified glob pattern.

forge fmt command accepts either std input, file paths or the root of the project to run formatter on. these arguments are mutually exclusive as specified in the conflicts_with attribute below.
https://github.com/foundry-rs/foundry/blob/50738dd48660f594106d41267776496b97509307/cli/src/cmd/forge/fmt.rs#L24-L39
when lint-staged command runs, it passes the file paths as arguments which leads to a conflict with the --root arg. correct usage would be
"lint-staged": {
    "contracts/**/*.sol": [
      "forge fmt"
    ]
}

since the arguments provided are already filtered by the glob.
Closing this issue as a user error. Happy to answer any other questions about the usage of this command

when lint-staged command runs, it passes the file paths as arguments, leading to a conflict with the --root arg. correct usage would be
    "lint-staged": {         "contracts/**/*.sol": [           "forge fmt"         ]     }
since the arguments provided are already filtered by the glob.

I have to doubt that. Can they somehow not be mutually exclusive?
Such is basically disabling formatting by custom config in the monorepos...
I believe that mine user error could be an error not just for me as a user, since some of the DApps want to enable rapid development by having a monorepo and yet use the newest toolings such as Foundry.
However, my particular case is next:
.
├── README.md
├── apps
├── contracts
├── node_modules
├── package.json
├── packages
├── pnpm-lock.yaml
├── pnpm-workspace.yaml
├── remappings.txt
└── turbo.json

I leave remappings.txt so Solidity LSP running in VSCode doesn't go crazy.

foundry.toml is hidden in the contracts folder. I tried first as you propose, to simply have forge fmt in the lint-staged script to format staged files, but the formatting rules I state in the config are not being respected.
Only when I do forge fmt --root contracts or format the files from the contracts folder one by one fixes the issue.
I would love to see those arguments to work together.

Thanks for diving into lint-staged library which probably not comes from your area of development.

i see, the root also defines the path to config file. we should still leave this as a feature request tho

i see, the root also defines the path to config file. we should still leave this as a feature request tho

Yeah, it would be more convenient if there had been any info about mutual args exclusiveness in --help, as it is incomplete and led me to think such usage is permitted.
Thus I thought about moving this to a bug – related to the --help. But my bet would be that it's the cmd framework that probably does not handle it, and there has to be some better description if such cases exist not only here.

@rkrasiuk, just in case so it is not lost, GH Automation moved that to Done, but should be in To do in the Project Board.
😃

@rkrasiuk can we confirm this is on track?


text:
Activity Healing needs Temp Hp

Activity Healing needs Temp Hp, should allow for multiple lines and healing and temp hp types. Not 100% 2024 needs it but extended already does, as does legacy.

https://discord.com/channels/170995199584108546/670336046164213761/1290026743561977911

To better clarify the intent, here is the relevant feature text:
... You have a pool of fey energy represented by a number of d6s equal to your druid level.
... spend a number of those dice equal to half your druid level or less. Roll the spent dice and add them together. The target regains a number of hit points equal to the total. The target also gains 1 temporary hit point per die spent.
In this case the target receives both regular Healing and Temp HP directly related to the number of dice spent from the pool. At the moment, a Healing Activity only allows for a single healing formula. Whilst Damage Activities allow for multiple formulas, they do not present Healing or Healing (Temporary) as options.

A note on this: The following would work as a workaround for balm of the summer court. The dice are flavored to healing, so the extra dice from scaling will be healing, but the entire formula is temphp, so the extra 1s from the scaling formula will be temphp.

authors: M0nk3yy itteerde roth-michael


text:
Add check:total:... roll options for Note REs, and add them to the resulting ChatMessage context aswell

Fixes #15457.
This also makes available the natural dice result as roll options on the resulting chat message, seems like @MrVauxs needed this too according to this message https://discord.com/channels/880968862240239708/1006806454700875816/1269431811176530002.

This is kinda mostly done here https://github.com/foundryvtt/pf2e/pull/14960/files except for passing the check options to notes. The thing to keep in mind is that we don't want check options to be in the main options, because they're not really available for most things. Its important to display it separately.
I should, given there's been some time, clean up the PR I linked. Its my bad, there are two open issues kinda asking for similar things and the PR only referred to and attempted to tackle one of them.


text:
🛑 Advantage Print Solutions is down

In 336c2ef, Advantage Print Solutions (https://www.advantageprintsolutions.com) was down:

HTTP code: 503
Response time: 6012 ms

Resolved: Advantage Print Solutions is back up in 63cce84 after 11 minutes.

repo: fourthfloor/uptime


text:
Add free ChatGPT API

Hello, i just find a free ChatGPT API, i don't know if it can be used in this project but anyways here's the link of the API

This is specifically for the OpenAI API, if your endpoint is compatible, it should also work

authors: foxalabs ndfb


text:
Update primary site helm chart

Updates the primary site helm chart and enables passing of configuration information via env vars.

@defunctzombie they are the default in the app. I can update the comment to indicate that. Do you mean have them always defined? I feel like that would be weird for non-AWS users, browsing their env vars or something.

I meant they should be the defaults in the app. If they are the defaults then as a user my feedback is that I am confused if I need to set these or not. The comment makes me think its pretty important for me to tune these since it says
these parameters may be useful for tuning performance of object copies.

Based on what you've said I now find these comments somewhat misleading since they don't tell me when should tune these.

authors: defunctzombie wkalt

repo: foxglove/helm-charts


text:
Expand History Limit

Currently, the variable history_limit covers BOTH state and inputs. They should be seperated. One variable for limit to states, a seperate one for limit to inputs.
Also, a value of -1, should make them unable to be erased. Yes, it will be costly, but for inputs it shouldnt be a problem and helps with debugging (and saving replays in the future)
Lastly, no idea what the below variable _data is for (in the class RollbackFreshnessStore), is it inputs or states?
Even type hint wouldn't help here because both states and inputs are dictionaries lol
func trim():
	while _data.size() > NetworkRollback.history_limit:
		_data.erase(_data.keys().min())

They should be seperated

Why?
If you have less inputs than state, state becomes the limiting factor - you can't rollback to ticks you don't have state for, even though you could use the input for resim.
If you have less state than input, input becomes the limiting factor - even though you can rollback to a tick, you can't resim from there, since you have no input.
My point is that in terms of rollback, state and input are inseparable.
If this is for recording games ( like discussed in #251 ), I don't think keeping all states and/or inputs in memory is the right call. I think it would be better to have a separate class that can grab data from RollbackSynchronizer nodes and store data properly ( e.g. keep some in memory while the rest is being written to disk ).

For _data, see its usage, from the same class:
func notify_processed(node: Node, tick: int):
	if not _data.has(tick):
		_data[tick] = {}

	_data[tick][node] = true

It stores each node processed per tick. Since we trim based on ticks ( i.e. it doesn't make sense to remember a tick until the end of times ), the first key is the tick, the second is the object itself that was processed.

You are right, thank you for the explanation, I didn't think it that way.

Replay Manager

Currently, there are 2 ways to do a replay manager. The first is for the server (or clients) to save all states locally. This is easy to implement but will have titanic file size, so a diff implementation must be done for it (e.g. #264 )
The other is to have the first state, save it, and then simply save the serialized inputs. More complicated, but still simple enough, and it's what all past games did (RTS, Doom etc)

I think it would be better to have a separate class that can grab data from RollbackSynchronizer nodes and store data properly ( e.g. keep some in memory while the rest is being written to disk ).

How would you suggest to do this? The part where you keep in memory while the rest is being written to disk. I haven't tested with practical/real game states/inputs, but it should be easy to hold those serialized inputs.
Anyway, if you give me the technical details, I am willing to implement this after the other PRs are merged.

authors: TheYellowArchitect elementbound

repo: foxssake/netfox


text:
parameter error ($i instead of $cn)

https://github.com/fpgasystems/Coyote/blob/c2c229eef0e6b27b66ef0a3454ab0a537dc8c466/hw/scripts/dynamic.tcl.in#L30-L33

fixed

authors: amarmemic d-kor

repo: fpgasystems/Coyote


text:
CLUSTER fails if server and client are bound to different addresses

If redis mock and the client are bound to different ip addresses then CLUSTER command will return incorrect response likely causing clients to fail later on.
In both slots (code) and nodes (code)state.getHost() is used which is eventually delegated to RedisClient.getAddress() which uses socket.getInetAddress() which will return the address the socket is connected to and not the local address.
This will make the client to receive its own address instead of the server address and fail connecting to the node address.

Fixed in v. 1.1.5

repo: fppt/jedis-mock


text:
Update the build

Hey fr31, It would be nice if you upload a new build with the last commits! Im having troubles trying to compile the files into a single exe. The problems that I'm facing is a little slow to open compared to your builds and missing the application icon in the window of the lyrics.
Thanks so much, man!

Done.

license: unlicense


text:
enum support within definitions

I have two JSON Schemas, both making use of definitions
The first one
{
  "title": "TaskFunction1",
  "type": "object",
  "properties": {
    "arg1": {
      "$ref": "#/definitions/InitArgsRegistration",
      "title": "Arg1",
      "description": "Description of arg1."
    }
  },
  "required": [
    "arg1"
  ],
  "additionalProperties": false,
  "definitions": {
    "InitArgsRegistration": {
      "title": "InitArgsRegistration",
      "description": "Registration init args.",
      "type": "object",
      "properties": {
        "reference_zarr_url": {
          "title": "Reference Zarr Url",
          "type": "string"
        }
      },
      "required": [
        "reference_zarr_url"
      ]
    }
  }
}

renders correctly in the sandbox

The second one
{
  "title": "TaskFunction2",
  "type": "object",
  "properties": {
    "arg2": {
      "$ref": "#/definitions/Color",
      "title": "Arg2",
      "description": "Description of arg2."
    }
  },
  "required": [
    "arg2"
  ],
  "additionalProperties": false,
  "definitions": {
    "Color": {
      "title": "Color",
      "description": "An enumeration.",
      "enum": [
        1,
        2
      ]
    }
  }
}

does not render:

and dev-tools log do not show anything special

As a double check, the second schema does render on https://rjsf-team.github.io/react-jsonschema-form/:

What is that makes our current form creation fail?
Is it because in the second one the definition of Color does not have an additional nested properties property?

This will be fixed with the next PR.

Just a quick note: the problem was not caused by the fact that the enum is within definitions, but that it is missing the type field (that should not be mandatory since one can have enums with multiple types in it) and we were not handling that case.

This will be fixed with the next PR.

Great!
For the record, starting from the next version (> 1.0.2), fractal-tasks-core will support generating this kind of JSON Schemas with enums (and I already tested that they play well with the new json-schema branch of fractal-web, see details in https://github.com/fractal-analytics-platform/fractal-tasks-core/issues/745).
Thus let's make sure that we also update the fractal-web version before someone starts using these new schemas.

repo: fractal-analytics-platform/fractal-web


text:
Fix xprop issue

Mentioned by @prathyk here
https://github.com/franciscolourenco/done/commit/5d7f6ae50a9e8c7d1c95af5ad8bfc3155b331fbc#commitcomment-38204903
If the original intent was to supress stderr of xprop failed then this PR should be correct.
I don't have an X based system to test with yet

AFAIK, the command does not block the machine.

Closing since it's already been dealt with

authors: RaitoBezarius ammgws

repo: franciscolourenco/done


text:
🛑 SIU Guarani is down

In 18c3c99, SIU Guarani (https://siufai.uncoma.edu.ar/informatica) was down:

HTTP code: 0
Response time: 0 ms

Resolved: SIU Guarani is back up in 680b2da after 8 minutes.


text:
🛑 SIU Guarani is down

In 9989ab1, SIU Guarani (https://siufai.uncoma.edu.ar/informatica) was down:

HTTP code: 500
Response time: 2126 ms

Resolved: SIU Guarani is back up in 9c9d92c.


text:
Important modifiers not supported?

Describe the bug
When adding the important modifier (!) to a class name, you get an error.
To Reproduce

Expected behavior
I shouldn't get an error.
Screenshots

Environment (please complete the following information):

OS: windows 10
Softwares + version used:

VSCode 1.63.2

eslint config file or live demo
"tailwindcss/no-custom-classname": [
      "error",
      { "callees": ["classNames", "classnames"] }
    ]

Hi @ryangoree , I just tried to reproduce the issue but without success.
Could you share a demonstration repository exposing the issue ?
Which version of the plugin do you use ? Which version of Tailwind ?
I think in plugin version 1.x.x, as it uses TailwindCSS v2, I believe the !important modifier is only available if you use the JIT mode. https://v2.tailwindcss.com/docs/just-in-time-mode#built-in-important-modifier
In TailwindCSS v3, JIT is enabled by default.
If you are using TailwindCSS v3 you should use the beta version of the plugin for now (I've less free time during the holidays ^^oh, the irony ^^)
npm i eslint-plugin-tailwindcss@3.0.0-beta.0 --save-dev

I also tried this code (eslint-plugin-tailwindcss: 3.0.0) and found no problems.

Hi @ryangoree , I just tried to reproduce the issue but without success. Could you share a demonstration repository exposing the issue ?
Which version of the plugin do you use ? Which version of Tailwind ? I think in plugin version 1.x.x, as it uses TailwindCSS v2, I believe the !important modifier is only available if you use the JIT mode. https://v2.tailwindcss.com/docs/just-in-time-mode#built-in-important-modifier
In TailwindCSS v3, JIT is enabled by default. If you are using TailwindCSS v3 you should use the beta version of the plugin for now (I've less free time during the holidays ^^oh, the irony ^^)
npm i eslint-plugin-tailwindcss@3.0.0-beta.0 --save-dev

Updating to the beta version resolved the issue. Thank you!

@ryangoree You can also use the latest version which is 3.0.0 but you may have to restart VSCode to make sure you are using the latest version.

authors: Serator francoismassart ryangoree


text:
feTrack update and ET functions

update feTrack for performing tractography by using user-defined curvature and cutoff parameters.
I also added two functions to create Ensemble Tractography Connectomes under utility/ET/ section.

The new parameters added to feTrack need to be accompanied with a help section. We might want to combine the parameters into a singe structure of parameters instead of adding them as a long list of inputs.

authors: francopestilli htakemur

repo: francopestilli/life


text:
ROS2 for FR3

Sorry for poor English ;(
this ROS2 source is only for panda. So i edited all xacro and file and name 'panda' to 'fr3'.
Do you have any plan to make ROS2 source for FR3??
or
Am i right editting all panda to fr3??

Redundant issue #8

You can edit replace panda with fr3 everywhere but this does not do much. The current version works with panda and fr3 on foxy

authors: andrejpan kuyhnooj marcbone


text:
Change order of date filter

It is more intuitive to have the After filter be before the Before filter

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

Project coverage is 100.00%. Comparing base (76c8513) to head (060b68d).

:exclamation: Current head 060b68d differs from pull request most recent head 3cbdb77
Please upload reports for the commit 3cbdb77 to get more accurate results.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff             @@
##              master       #92   +/-   ##
===========================================
  Coverage     100.00%   100.00%
  Complexity       395       395
===========================================
  Files             82        82
  Lines           1048      1048
===========================================
  Hits            1048      1048

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

authors: codecov-commenter frankdekker

repo: frankdekker/symfony-log-viewer-bundle


text:
Issue with the stars when I integrate them into my project

Hello, first of all thanks for sharing your code. I have tested it in a new empty project and works great. However, when I integrate it into my project the stars dont appear but I know the ul and li elements exists because I can see them using the inspect elements feature of the browser.
I have attached a image that shows that the elements exist but the stars are not printed. I have tried to use the z-index option in case these were hidden but no luck.
In my index.html I have included the library with the ionic-rating.js and the ionic-rating.css. In the body of the index I have a ng-view that changes dynamically. When I want the stars to appear I do the following, add the controller to the ion-content element and this line of code:  . In the app.js, I have integrated 'ionic.rating' and in the controller I initialize it by doing $scope.rate= 3, $scope.max =5.
Do you have any idea what I am doing wrong?
Best,
Yeray

I forgot to mention that I had also changed the colour of the stars within the ionic-rating.css. The new colour is yellow and it worked in the empty test I had done previously

Hello again, I figured it out by myself... there was some problem with the icons... I think they did exist due to different versions of ionic.

:+1:

authors: YerayRD fraserxu

repo: fraserxu/ionic-rating


text:
Allow user input of melodies

Predecessors:

[ ] #10
[ ] #11

Tasks:

[ ] Combine fields of #10 & #11
[ ] Evaluate input
[ ] Pass input to search controller

input added

authors: freakimkaefig matTailor

repo: freakimkaefig/Music-XML-Analyzer


text:
Use temp_probe_k_get as a fallback for property gas_temperature

Some stoves expose the temp_probe_k_get reg type instead of temp_gas_flue_get. This makes the module throw an exception:
  File "/Users/yves/git/yves/py-agua-iot/py_agua_iot/__init__.py", line 623, in gas_temperature
    return float(self.__get_information_item('temp_gas_flue_get'))
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/yves/git/yves/py-agua-iot/py_agua_iot/__init__.py", line 440, in __get_information_item
    formula = self.__register_map_dict[item]['formula']
              ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
KeyError: 'temp_gas_flue_get'

It also makes the Home Assistant integration setup fail as the attribute is called here: https://github.com/vincentwolsink/home_assistant_micronova_agua_iot/blob/master/custom_components/aguaiot/const.py#L9
Related issues/more context:
https://github.com/fredericvl/py-agua-iot/issues/4#issuecomment-787040488
https://github.com/fredericvl/py-agua-iot/issues/53

Thanks!

authors: vincentwolsink yvesjans

repo: fredericvl/py-agua-iot


text:
Implement own math types

Should follow GLSL as closely as possible.
This might not be necessary in the future if C# dotnet adds vectors of other types like int, uint, double etc.
(n) = 2 | 3 | 4
bvec(n)
ivec(n)
uvec(n)
vec(n)
dvec(n)
cross
dot
length
distance
normalize
faceforward
reflect
mat(n)x(n)
dmat(n)x(n)
mat(n)
dmat(n)
min
max
clamp
abs
sign
floor
ceil
fract
modularstep
smoothstep
sqrt
inversesqrt
pow
exp
exp2
log
log2
radians
degrees
signcos
tan
asin
acos
atan
lessthan
lessthanequal
greaterthan
greatherthanequal
equal
notequal
not
greaterthan
greatherthanequal
equal
notequal
not

|                                       | vec2   |
| ---------------------- --- | ------- |
| cross                              |             |


text:
The problem in your code???

I noticed in your paper published at ICCV2023, it is mentioned that Layer normalization is used before concatenating spatial and content features to avoid numerical overflow and ensure stable training. However, I couldn't find this part in the code. So, I always get the wrong with 'Hoi loss is nan'?

Hi @ZhouGuangP,
The layer normalisation is included in the MultiModalFusion module. A similar issue with nan loss was reported in #29 and was resolved by using multiple GPUs. Were you using a single GPU?
Fred.

authors: ZhouGuangP fredzzhang

repo: fredzzhang/pvic


text:
Send all PFCP rules correctly when using ULCL

Closes #40
Thanks you @aviweit for the proposed patch
A related forum issue this patch fixes as well: https://forum.free5gc.org/t/issues-with-ueroutinginfo/1214

This pull request has been mentioned on free5GC. There might be relevant details there:
http://forum.free5gc.org/t/ulcl-with-3-anchor-upfs/1572/2