RFC for bold and italic

In my ideal world, the syntax would be _italic_ and *bold*.
However, from a MAYA perspective, it should probably be *italic* and **bold** for resemblance to Markdown.
Prior art
Markdown
**bold**
*italic*
__bold__
_italic_
`code`

Slack
*bold*
_italic_
`code`

Roam
**bold**
__italic__
`code`

Discord
**bold**
*italic*
_italic_
__underline__
`code`

Orgmode
https://orgmode.org/manual/Emphasis-and-Monospace.html
*bold*
/italic/
_underline)

Wikitext
https://en.m.wikipedia.org/wiki/Wikipedia:Manual_of_Style/Text_formatting
'''bold'''
''italic''

I also like * for bold and _ for italic.
Orgmode has * for bold, / for italic, _ for underline. That makes the most sense but / is prob better for other things. https://orgmode.org/manual/Emphasis-and-Monospace.html
Wikitext has ''' for bold and '' for italic.
https://en.m.wikipedia.org/wiki/Wikipedia:Manual_of_Style/Text_formatting

Thanks @bburns! I've added these and other prior art to the issue description.


'Download the Northwind Traders Solution File' button doesn't work

Hello,
'Download the Northwind Traders Solution File' button doesn't work. There is an error:

PublicAccessNotPermitted
Public access is not permitted on this storage account. RequestId:417c39ab-601e-0008-7950-e5eb95000000 Time:2022-10-21T13:23:45.5912698Z

thank you

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

ID: c5475653-e112-f407-b0de-ecad06bac5bf
Version Independent ID: 9f109131-06e3-5f88-1205-233d2b6c4bf0
Content: Install Northwind Traders database and apps - Power Apps
Content Source: powerapps-docs/maker/canvas-apps/northwind-install.md
Service: powerapps
Sub-service: canvas-maker
GitHub Login: @gregli-msft
Microsoft Alias: gregli

Thanks for your comment, @hedmon. This issue has been assigned to the doc author for review.

@hedmon Thank you for your feedback. I have fixed the download link. It's working now.
Thanks,
Mints


fix: Issue with report with Linux file paths when updating from 23.7.1 to 23.7.2

Closes #1196

@SimonCropp I didn't really how to test the exact flow so I swapped locally compiled .dll and execute on WSL. It seems that reintroducing the replace remove in your commit https://github.com/VerifyTests/Verify/commit/7dc99a99c68ada715e9429062d640574ed60548a was fixing the issue.

@SimonCropp Yes I'll add a test.

@SimonCropp I ended up doing more changes, I fee like it doesn't make much sense to use Path.Combine as we're mixing Linux and Windows paths. As a result, the code is less platform dependent.

any updates on some tests in this one?

Hi @SimonCropp, in fact it doesn't need a new test case. This case (build on windows and run on linux) was already covered but the test by itself was not properly detecting the issue because of the mocking .

@jairbubbles thanks for the clarification. will ship this one now


[Bug] Compatibility with vue 2.7 and @vitejs/plugin-vue2

What version of vite are you using?
3.2.0
System info and storybook versions
System:
OS: Linux 5.15 Ubuntu 22.04.1 LTS 22.04.1 LTS (Jammy Jellyfish)
CPU: (8) x64 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz
Binaries:
Node: 16.18.0 - /usr/bin/node
Yarn: 1.22.19 - /usr/bin/yarn
npm: 8.19.2 - /usr/bin/npm
Browsers:
Chrome: 102.0.5005.61
Firefox: 106.0.3
npmPackages:
@storybook/addon-actions: ^6.5.9 => 6.5.13
@storybook/addon-essentials: ^6.5.9 => 6.5.13
@storybook/addon-links: ^6.5.9 => 6.5.13
@storybook/addon-postcss: ^2.0.0 => 2.0.0
@storybook/addons: ^6.5.9 => 6.5.13
@storybook/builder-vite: 0.1.x => 0.1.41
@storybook/theming: ^6.5.9 => 6.5.13
@storybook/vue: ^6.5.9 => 6.5.13
Describe the Bug
Trying to use with vue 2.7 got this compatibility/dependency error.
Error: @storybook/builder-vite requires @vitejs/plugin-vue to be installed when using @storybook/vue or @storybook/vue3.  Please install it and start storybook again.
But vue 2.7 does not require @vitejs/plugin-vue because it uses @vitejs/plugin-vue-2
So you cannot use this builder if you are using vue 2.7
Thanks!
Link to Minimal Reproducible Example
not necessary
Participation

[ ] I am willing to submit a pull request for this issue.

You are running an older version of this package, please update @storybook/builder-vite to the latest version (0.2.5), which supports Vue 2.7.

You are running an older version of this package, please update @storybook/builder-vite to the latest version (0.2.5), which supports Vue 2.7.

I red this in the docs.
Vite 3.0 or newer (for Vite v2 (2.5+), use<EMAIL_ADDRESS>Thats why im  using the 0.1 version.

In your issue you said you are using vite 3.2.0, which means you can use the new version of this package.  If you're on an old 2.x version of vite, and you want to use vue 2.7 and storybook builder-vite, you'll need to upgrade vite.

My bad sorry, it works as expected with the latest version as you said.

Great, glad it's working!  🙌


[BUG] gh-trending is down, hence so is the GitHub trending widget

Environment
Self-Hosted (Docker)
System
Firefox 106, Arch-Linux, Docker version 20.10.21
Version
2.1.1
Describe the problem
The Github trending widget is not working since a few days.
It looks like the application it relies on is down:
https://gh-trending-repos.herokuapp.com/repo

Additional info

Please tick the boxes

[X] You have explained the issue clearly, and included all relevant info
[X] You are using a supported version of Dashy
[X] You've checked that this issue hasn't already been raised
[X] You've checked the docs and troubleshooting guide
[X] You agree to the code of conduct

Yeah, you're right :(
My API (here: https://github.com/Lissy93/gh-trending-no-cors) that fetched and calculated trending repos is hosted on Heroku, but Heroku has recently scrapped all their free plans, and bumped up the pricing. Causing the project to go offline.
Does anyone know of any decent and free/ affordable Heroku alternatives?
Otherwise, I've got a few DO droplets, so should be able to host it there.

Yeah, you're right :(
My API (here: https://github.com/Lissy93/gh-trending-no-cors) that fetched and calculated trending repos is hosted on Heroku, but Heroku has recently scrapped all their free plans, and bumped up the pricing. Causing the project to go offline.

Oh... that's unfortunate. :disappointed:

Does anyone know of any decent and free/ affordable Heroku alternatives? [...]

Not that I can think of right now unfortunately... I'll come back with suggestions if I can find some!

I see that the API came back to life!
Have you found the Heroku alternative you were looking for? :)

Does anyone know of any decent and free/ affordable Heroku alternatives? Otherwise, I've got a few DO droplets, so should be able to host it there.

@Lissy93 It might be a bit anticipated as it looks like they're currently building things up but it might worth taking a lot at Radix[https://radixproject.org/], which seems to be some sort iof FOSSHost successor.
https://masto.ai/@radix/109539351216183977


AMG support?

Hello Lineax,
I'm currently developing a multiphysics, multibody solver - kind of like Project Chrono on Jax.
The absolute best solver type on the market would be algebraic multigrid (AMG), and wow should it go with jax.jit and vmap well. It doesn't have an open-source Jax implementation yet, however.
Would it be possible that you implement AMG in some observable future?
Cheers.

See also the recent discussion around AMG here: https://github.com/patrick-kidger/lineax/issues/8
Unfortunately I think it's unlikely we'll have an implementation, available by default, in Lineax in the near future. I'm cautious about adding new solvers as they can easily become difficult to maintain.
That said, it should be essentially straightforward for you to use this with Lineax: subclass lineax.AbstractLinearSolver and implement the relevant abstract methods with your chosen implementation of AMG. This will then be compatible with all of Lineax, and all of its usage in downstream libraries (Optimistix, Diffrax, ...)


Hidding the poster on dispose

We shouldn't hide the poster like that

whats the best way to hide the poster ?


DON'T MERGE feat(EthereumChainAdapter): add signTransaction tests

#313

add signTransaction tests to EthereumChainAdapter tests

Note: This contains mergefixed and updated https://github.com/shapeshift/lib/pull/322 which is not merged yet, to avoid merge conflicts. Wait for https://github.com/shapeshift/lib/pull/322 to be merged before merging this.

Clean PR that doesn't depend on #322 so this can be merged independently.


I'm not getting good results

I played settings million times and I could not get good result if my Camera far away the map. Why is this happening what I'm missing?
This one is on idle it does not outlined bottom of models

and this one when I jump with character then character foots are outlined

is there any proper settings?
and big thank you to share this to us it is amazing job btw

If I look close up to models it is look very good but if the camera faraway from objects it is changing not rendering proper


Thanks @cb22!


Support laravel 5.4

Coverage remained the same at 90.909% when pulling 14633c92e3636b0095a9e371a53ee256a8511b4f on TemperWorks:master into 6dd67add91909c90c4d02c3f123b8e1ba067206c on adamwathan:master.


Migrate gwms-factory code into shared repo

This was originally developed in https://github.com/bbockelm/containers (see history there) but is being moved to the common repository to allow others to continue the work.

@brianhlin - can I get a quick review on this so @jthiltges can fork from this repo in his factory k8s-ization work?


Update readmes

Updating these to reflect reality--or to just be simpler.

@dlongley @davidlehn this also now includes the README license text fix.


Graphql Server follows room members

There's a pr from @mixmix which @chereseeriepa will review today.

Did this get fixed? I assume so since things seem to be working on planetary.name in production.


Show dialog window when power button is pressed

After pressing the power button for 1 seconds, the following screen should appear, but in fact, the shutdown will be executed directly when pressing the power button.

It is as if the Shortcut Keys application doesn't get the information that the button had been pressed.

Yes. It isn't regarded as a button per se, not like every other button on the keyboard. There's something under /dev that handles it on Linux, I don't know where it is on FreeBSD.

Sometimes I wonder why everything needs to be so complicated ;)

Yep, but this has been patched bit by bit since '73, so it's doing surprisingly well.


Add a strong name key

This is to track adding the strong name signing back, not to start a discussion on whether or not there should be one. Hopefully we can add one that will mitigate the known dev issues of strong names (ie local builds) following guidance the CoreFX team is using.

I'm working on this and should have it in the build soon. Thanks.

Done.


doesn't load textures when placed in his own file

i did try to install this mod in his own file to keep my plugins folder clean and the mod didn't seem to work as intended
(also it didn't unlock the new craft when i did that)
it worked perfectly when i placed everything in the plugins folder so it's not a big issue

Which version of the mod are you running?
To paraphrase: you copied OCDheim (the ocdheim.dll file as well as all the .png files) to its own directory inside of the "plugins" directory? If so - this issue should be resolved since version 0.1.1 :)

oh yeah i'm running version 0.1.0 i'm glad this is fixed
btw thanks for creating this beautiful mod

i just tested and it work perfectly


claudia failures close process

It's entirely possible I'm being daft or have some how messed up my own node.js (v9.11.1 via nvm) installation but I've been unable to replicate the following behaviour with anything except Claudia.
tl;dr: claudia errors terminate my macOS Terminal session

Expected behaviour:

When running a claudia command that (legitimately) fails on macOS, I expect an error to be printed to the terminal and claudia to exit leaving the terminal ready for another command.

What actually happens:

When running a claudia command that (legitimately) fails, my macOS Terminal session is terminated.

Link to a minimal, executable project that demonstrates the problem:

No need to create a project, just follow these steps:
npm i claudia -g
claudia create --name hello-world --region eu-west-1 --handler main.handler --config some-config.json

Output:
package.json does not exist in the source folder
Saving session...completed.

[Process completed]

I tried replicating the error handling from cmd.js in a separate file:
console.error('some error');
process.exit(1);

And node some-test-file.js
And it did not close the Terminal.

what terminal program are you using? exiting a process with code 1 should be perfectly legitimate to stop with an error, and this works OK on my MacOs terminal.

macOS's Terminal.
I am no longer able to reproduce this consistently so will close this issue.

For reference, I figured it out. I've got a script that I was running to set my local environment variables before running claudia. The script (set-env.sh) looks like:
#!/usr/bin/env bash

set -e

export $(egrep -v '^#' .env | xargs)

I then executed it by doing . set-env.sh
The problematic line is the set -e which was causing the Terminal to exit.
@gojko is there/can there be support for dotenv for the CLI tool?


Support for Symfony 7

Description
Due to release of Symfony 7, support of this version will be more than appreciated :)

+1

+1

Thanks @danieliusn

thank you @PabloKowalczyk


Add gitlab-ci usage example

Description
We want to see how you use this project in your CI pipelines. The scope of this issue is to have a clear example, (as it is already available for drone ci) that demonstrate how easy is to use this image in this CI system.
Checklist
The CI target system here is Gitlab CI.

[ ] Add a new markdown section in the README.md file: CI Example - gitlab ci
[ ] Add a relative link from what-we-do section to the new  CI Example - gitlab ci section.

Final note
If you like this project, don't forget to Star ⭐ it!
Enjoy #Hacktoberfest2020!

@angelbarrera92 mind if I work on it?

Hi @opencloudengineer, go for it!
Thanks!


sendSequence should support addNewLine argument

Issue Type: Feature Request
Auto typing Enter just like addNewLine at Terminal.sendText:
{
	"key": "ctrl+i",
	"command": "workbench.action.terminal.sendSequence",
	"args": {
		"text": "test",
		"addNewLine": true
	}
}

That works.


Feature/user permissions cleanup

Description
Took a look at how we're doing permissions. The root of the issue is that we were censoring email addresses across the board including for github accounts. However, for Google accounts, the email address is also the username, so I put in a Jackson filter to filter out the username if it looks like a valid email address
Also noticed and put in a workaround for https://ucsc-cgl.atlassian.net/browse/SEAB-5057 but it needs a proper fix since the DB is inconsistent. This caused a red herring 500 error also on the user pages.
Test added is at the bottom of UserResourceOpenApiIT (split out swagger and openapi based tests and deprecated the former)
Review Instructions
Look at the qa deployment, see if you can find email addresses in the endpoints being called when visiting user pages. In particular, find some which have all of orcid, google. and github linked for a proper comparison.
Issue
https://ucsc-cgl.atlassian.net/browse/SEAB-4240
https://ucsc-cgl.atlassian.net/browse/SEAB-4972
Please make sure that you've checked the following before submitting your pull request. Thanks!

[x] Check that you pass the basic style checks and unit tests by running mvn clean install
[x] Ensure that the PR targets the correct branch. Check the milestone or fix version of the ticket.
[x] Follow the existing JPA patterns for queries, using named parameters, to avoid SQL injection
[x] If you are changing dependencies, check the Snyk status check or the dashboard to ensure you are not introducing new high/critical vulnerabilities
[x] Assume that inputs to the API can be malicious, and sanitize and/or check for Denial of Service type values, e.g., massive sizes
[x] Do not serve user-uploaded binary images through the Dockstore API
[x] Ensure that endpoints that only allow privileged access enforce that with the @RolesAllowed annotation
[x] Do not create cookies, although this may change in the future
[x] If this PR is for a user-facing feature, create and link a documentation ticket for this feature (usually in the same milestone as the linked issue). Style points if you create a documentation PR directly and link that instead.

Code scanning results seem confused since I locked down the Java 11 version

For the accounts page, if you have a linked Google account, what will you see as the username? If you have more than one Google account, it might be useful to know which one you've linked.

Was plausible question, I looked into it and it seems unaffected.
While the userpages use the profile object, your own accounts page use the response from GET http://<your computer>:4200/api/users/3/tokens


Is it possible to store multiple file in one erase block?

Hello, I'm trying to find an embedding file system for my GBA cart.
The cart can erase at 256KB block and write in 1KB.
But my file is normally in 64KB, so 3/4 space will lost if we can only store one file per erase block.
is it possible to improve that?

Yes, with heavy caveats. So probably no.
There's work underway to improve this, but I realize that's not super useful right now.
Right now, littlefs has a concept of inline-files, which can share an erase block. But inline-files have a requirement of being RAM backed. This means you need 64KB of RAM to hold the file when open. To make matters worse, littlefs has one shared cache_size option of all buffers, so you really need 3*64=192KiB of RAM to mount a filesystem that will inline a 64KiB file.
I guess the good news is that there is work underway to remove the RAM requirement from inline-files. This is more complicated than it probably appears, since things like naively writing to a non-RAM-backed inline file can quickly end up $O(n^2)$. But things are working currently, just some more time is needed before the results can become stable.

Yes, with heavy caveats. So probably no.
There's work underway to improve this, but I realize that's not super useful right now.
Right now, littlefs has a concept of inline-files, which can share an erase block. But inline-files have a requirement of being RAM backed. This means you need 64KB of RAM to hold the file when open. To make matters worse, littlefs has one shared cache_size option of all buffers, so you really need 3*64=192KiB of RAM to mount a filesystem that will inline a 64KiB file.
I guess the good news is that there is work underway to remove the RAM requirement from inline-files. This is more complicated than it probably appears, since things like naively writing to a non-RAM-backed inline file can quickly end up O(n2). But things are working currently, just some more time is needed before the results can become stable.

I'm not an expert on File System, but like can we make a little change to the logic to do that? Like, what we are doing now is to 'alloc' a block once a time, but if we change it to alloc multiple blocks at one time?
Like, in my case, I erase at 256KB and writes at 1KB, we can regard it as alloc 256 blocks, and use 1 block a time?
===================
since that it wont be support soon, so I have to use one file to store multiple data right now.
A simple question, any easy way to create a 256KB empty file? so I can read/write to certain offset in the file.
Like my data is 64KB + few bytes of meta data. Than I can store it on offset 0 or offset 128KB.

I'm not an expert on File System, but like can we make a little change to the logic to do that? Like, what we are doing now is to 'alloc' a block once a time, but if we change it to alloc multiple blocks at one time?

It's an interesting idea. The main concern would be fragmentation. littlefs wouldn't be able to reclaim blocks until all files in a block are gone. This means if you had, say, 1 64KiB file you write once, and 1 64KiB file you rewrite continuously, the first file would quickly take up effectively 256KiB worth of space.
This isn't an issue for static-wear-leveling filesystems, such as SPIFFS, since they periodically evict stale files. In theory littlefs could be made to have limited static-wear-leveling, but it would be quite a bit more work than improving inline files.

A simple question, any easy way to create a 256KB empty file? so I can read/write to certain offset in the file.
Like my data is 64KB + few bytes of meta data. Than I can store it on offset 0 or offset 128KB.

littlefs is a copy-on-write filesystem, so reserving memory doesn't really make sense like it does in other filesystems. Any writes to the file result in a new allocation. The upside of this is power-loss resilience.
But you can tell littlefs to pretend a file is that big:
lfs_file_t file;
int err = lfs_file_open(&lfs, &file, "my-file", LFS_O_WRONLY | LFS_O_CREAT);
if (err) {
    return err;
}

// resize file to 256KiB
err = lfs_file_truncate(&lfs, &file, 256*1024);
if (err) {
    return err;
}

// write to file at offset
lfs_ssize_t pos = lfs_file_seek(&lfs, &file, n*64*1024, LFS_SEEK_SET);
if (pos < 0) {
    return pos;
}

lfs_ssize_t d = lfs_file_write(&lfs, &file,
        "blablablabla", strlen("blablablabla"));
if (d < 0) {
    return d;
}

// data does not persist on disk until sync or close
err = lfs_file_close(&lfs, &file);
if (err) {
    return err;
}

Any unwritten data in the file will be read as zero. littlefs tries to match POSIX in this regard.

A word of warning though, littlefs has some real scalability issues with these large block sizes. This is also being worked on...


Rendering bug with htop

Still have an issue with scroll regions I think. It would be good to add some ref tests that look at grid content so that we can regression test these things.

hmm, looked into this and there doesn't seem to be a problem.


AssetManager symlink fails if hashCallback returns nested directories

If you use hashCallback and return a nested path, e.g.
return sprintf('%x/%x', crc32($path), crc32(Yii::getVersion() . $time));

and linkAssets is true, the symlink will fail, since the base directory does not exist yet.
You can work around this by creating the base directory in your callback, but this could be handled by AssetManager.

What is a reason of returning a nested path at hashCallback ? It does not make any sense.
Issue sounds like incorrect usage.

The reason is that I can separate the asset directories into stable hashes, so that I can delete older versions of assets when they're no longer needed.

Fixed 01a6235

Thank you!

https://github.com/yiisoft/yii2/commit/01a6235059027c6ab692b86523118498f77055d7#commitcomment-15105103


Is this project live?

Hi,
it looks like this project is no longer developed. Is it dead?
Why was this Windows Azure Mobile Apps Files  unlisted from nugget and deleted from github?
Thanks,
Jiri

yes the Files Client/Server package are delisted, see this  answer on azure forum.
If you need code or you want to contribute to mantain it, you can find here a copy

@fileman thank you.

any update here? Maybe @brettsam have answer? Is project live? thx.

Hey everyone,
We are doing user research right now to understand the evolving needs for these services and plan to build the next generation of Azure Mobile Apps as part of Visual Studio App Center.
While we're working on the roadmap, we are fully committed to supporting Azure Mobile Apps including support for the latest OS releases, bug fixes, and documentation updates.
This is a similar pattern to what we are doing with HockeyApp and Xamarin Test Cloud. App Center is the next generation for those services and as we roll their functionality into App Center, we are re-imagining key developer workflows and adding new features, as well as integrating them into an end-to-end CI/CD solution that helps developers ship better apps faster.
Thanks!

My suggestion would be to build the exact equivalent to Realm.io but on top of CosmosDB. We need a simple and quick framework without having to craft a ton of pass through plumbing (i.e. WebAPI). It needs to support Offline First and Real Time Sync.
From: Ela Malani<EMAIL_ADDRESS>Reply-To: Azure/azure-mobile-apps-net-server<EMAIL_ADDRESS>Date: Tuesday, March 13, 2018 at 5:26 PM
To: Azure/azure-mobile-apps-net-server<EMAIL_ADDRESS>Cc: Jeff Jorczak<EMAIL_ADDRESS>Comment<EMAIL_ADDRESS>Subject: Re: [Azure/azure-mobile-apps-net-server] Is this project live? (#227)
Hey everyone,
We are doing user research right now to understand the evolving needs for these services and plan to build the next generation of Azure Mobile Apps as part of Visual Studio App Center.
While we're working on the roadmap, we are fully committed to supporting Azure Mobile Apps including support for the latest OS releases, bug fixes, and documentation updates.
This is a similar pattern to what we are doing with HockeyApp and Xamarin Test Cloud. App Center is the next generation for those services and as we roll their functionality into App Center, we are re-imagining key developer workflows and adding new features, as well as integrating them into an end-to-end CI/CD solution that helps developers ship better apps faster.
Thanks!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://nam03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FAzure%2Fazure-mobile-apps-net-server%2Fissues%2F227%23issuecomment-372824008&data=02|01||d25ef4d374e34fb2231508d5892906be|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636565731650408151&sdata=enmLnEZFs4k5fuYfSvk6YAbx669mJHkx8sDJsq8Em3A%3D&reserved=0, or mute the threadhttps://nam03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FACx5OFu_zGZFkX4C-XlHmK-Bar-m_xeAks5teDlrgaJpZM4OBMJS&data=02|01||d25ef4d374e34fb2231508d5892906be|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636565731650408151&sdata=VTMJnyFGAyt%2F8PNrsrVL3vkTTEAxeZHgX%2FuP4%2F9DcBQ%3D&reserved=0.

@codegrue Thanks for sharing your suggestion. We'd love to get feedback from you as we are in the process of doing the user research.

This is really great to hear that this project is continuing and that there is a new version in the works. I commonly get asked if this is a dead technology and I always say it is not dead and it has some amazing features.
That being said here are some big ticket items that I think should be address while I know some of them are dependent on other technologies

dotnet core support (I understand this is dependent on OData)
VS for Mac support (again dependent on dotnet core and OData)
Navigation Object support

This is a really big must have IMO. Currently there is no easy way to configure navigation objects for a 1:many relationship or even a mainy:many relationship. Adrian Hall has done quite a good job at documenting this but it requires some custom code which should be supported out of the box

I'll have to think some more about this and add more to this list.
The big thing that I think this technology is lacking is proper documentation that is easily accessible. It is super easy to configure this in Azure but getting yourself from Easy Tables to the net backend is a big shift. The documentation about common practices such as the Navigation Objects mentioned above is difficult. Getting the authentication working locally is another hard problem to solve but once you have it solved it is great. All of this documentation is out there but it isn't easily accessible with working code samples easily available at the project level on GitHub or a tech page in Azure.
Looking forward to the future of the tech

Andrew, I agree with your must have features. However, the overall theme of your feedback is how hard each element is. I think that is the key. We need something that is just plug and play, especially with Xamarin. Something that can be added to our app with a Nuget package and have running in 10 minutes.
Adrian is now working over at Amazing on AWS AppSync which sounds like a simple alternative but geared toward React. MS needs an equally simple alternative for .Net.

From: Andrew Hoefling<EMAIL_ADDRESS>Sent: Tuesday, March 13, 2018 9:24:26 PM
To: Azure/azure-mobile-apps-net-server
Cc: codegrue; Mention
Subject: Re: [Azure/azure-mobile-apps-net-server] Is this project live? (#227)
This is really great to hear that this project is continuing and that there is a new version in the works. I commonly get asked if this is a dead technology and I always say it is not dead and it has some amazing features.
That being said here are some big ticket items that I think should be address while I know some of them are dependent on other technologies

dotnet core support (I understand this is dependent on OData)
VS for Mac support (again dependent on dotnet core and OData)
Navigation Object support
*   This is a really big must have IMO. Currently there is no easy way to configure navigation objects for a 1:many relationship or even a mainy:many relationship. Adrian Hall has done quite a good job at documenting this but it requires some custom code which should be supported out of the box

I'll have to think some more about this and add more to this list.
The big thing that I think this technology is lacking is proper documentation that is easily accessible. It is super easy to configure this in Azure but getting yourself from Easy Tables to the net backend is a big shift. The documentation about common practices such as the Navigation Objects mentioned above is difficult. Getting the authentication working locally is another hard problem to solve but once you have it solved it is great. All of this documentation is out there but it isn't easily accessible with working code samples easily available at the project level on GitHub or a tech page in Azure.
Looking forward to the future of the tech
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FAzure%2Fazure-mobile-apps-net-server%2Fissues%2F227%23issuecomment-372873378&data=02|01||22358e733760450d329908d5894a53d1|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636565874676999617&sdata=Ep8EctEdIcYnRuQuA9hhwq4vOwEfbEkJrbf9uth7F8E%3D&reserved=0, or mute the threadhttps://nam02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FACx5OFRWSRX5dMNn-Lj4oG9YVDJNrT_2ks5teHFKgaJpZM4OBMJS&data=02|01||22358e733760450d329908d5894a53d1|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636565874676999617&sdata=EgGPgoj%2Fc3oDCB3be2Ntd7dmVM88beGcFARzGAhi4V8%3D&reserved=0.

Ela post your contact info and I will email to set up a discussion.
From: Ela Malani
Sent: Tuesday, March 13, 5:53 PM
Subject: Re: [Azure/azure-mobile-apps-net-server] Is this project live? (#227)
To: Azure/azure-mobile-apps-net-server
Cc: codegrue, Mention
@codegruehttps://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcodegrue&data=02|01||ef846237c7bc4a3612e608d5892cd3ca|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636565747976605392&sdata=t4epPkFUFSxCURYFmuMZv222EN8Z1OleOmO8uV1E%2F%2FM%3D&reserved=0 Thanks for sharing your suggestion. We'd love to get feedback from you as we are in the process of doing the user research.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FAzure%2Fazure-mobile-apps-net-server%2Fissues%2F227%23issuecomment-372831478&data=02|01||ef846237c7bc4a3612e608d5892cd3ca|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636565747976605392&sdata=hrAkQkYGHxzs6PgL205QLZ6sB6z%2Fk6iUk0Gef9jeFcw%3D&reserved=0, or mute the threadhttps://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FACx5OInre8lXNYYXlDHV6gtQL_NreR8hks5teD_LgaJpZM4OBMJS&data=02|01||ef846237c7bc4a3612e608d5892cd3ca|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636565747976605392&sdata=MWnAWmwJvVMAjB%2BjhUyqdTYhA0HNLF9maaloZCkJ%2Bik%3D&reserved=0.

@codegrue you got it! We need something that is simple to use.
@elamalani if there is going to a community standup or discussion outside of GitHub I would love to be involved as I have used this technology on many Xamarin.Forms projects and it is one of my most recommended technology for enterprise xamarin projects.

To elaborate on some thoughts. In the enterprise space, we typically build micro services by hand because we are going to consume many heterogeneous data sources, many of which are not built on Microsoft technologies. EF may not even be an option let alone code first. This is the reality. The Azure Mobile App framework is not an option.
That leaves hobbiests, Indies, or companies where the mobile app is their product. The overhead of building and maintaining a middle tier is a waste to just do pass through CRUD calls. WebAPI, EF, routing, data migrations... It's just too much. It feels like because these pieces exist MS is compelled to use them.
I would like to see a local object data store that can sync up and through CosmosDB. It would be adaptable to schema changes, and automarically map objects to documents on the fly. For business rules, backend logic, or automation, the Azure Functions could be incorporated.

From: Andrew Hoefling<EMAIL_ADDRESS>Sent: Tuesday, March 13, 2018 10:03:14 PM
To: Azure/azure-mobile-apps-net-server
Cc: codegrue; Mention
Subject: Re: [Azure/azure-mobile-apps-net-server] Is this project live? (#227)
@codegruehttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fcodegrue&data=02|01||4e45a2d9375c43927b9508d5894fc052|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636565897975695702&sdata=faAxtFE5u%2B0vVVJWAsoVC8qgsR1A4kuTtDEYTDO9ge8%3D&reserved=0 you got it! We need something that is simple to use.
@elamalanihttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Felamalani&data=02|01||4e45a2d9375c43927b9508d5894fc052|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636565897975695702&sdata=UxEB7%2Bv9u6jjxqZkS6GaLd15TJKnDmHkUlM%2Br0RlMIM%3D&reserved=0 if there is going to a community standup or discussion outside of GitHub I would love to be involved as I have used this technology on many Xamarin.Forms projects and it is one of my most recommended technology for enterprise xamarin projects.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FAzure%2Fazure-mobile-apps-net-server%2Fissues%2F227%23issuecomment-372879843&data=02|01||4e45a2d9375c43927b9508d5894fc052|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636565897975695702&sdata=pnUoavXr%2F258mm5KJReJf%2Fm4bPUqQcxJNbLQLV7Z90k%3D&reserved=0, or mute the threadhttps://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FACx5OFj9gYcLXfR6dqZiiucBgdkc7Jfoks5teHphgaJpZM4OBMJS&data=02|01||4e45a2d9375c43927b9508d5894fc052|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636565897975695702&sdata=LmQ%2FqUABmQv6Q0umNgFfWDYvegaDXpcFEQVnM9Ho2mM%3D&reserved=0.

Good news... ok:
Easy to use client only stored properties that not sync with server, something like [notmapped] of EF;
Offline storage for complex objects;
Primary key Int instead of guid ToString, to could be a problem with many offline client, temporary key replaced with server generated on server at sync, or two props client pk <> server pk;
Client side authorization / permission with local cache or data and sync when changed, watch policyserver.local maybe it can be ported to xamarin;
Use RESTier as backend? When it was ported to .net core... every project wait OData porting;
Azure B2C or other identity provider jwt Auth Token expired, refresh, etc. out of the box;
Reliving Files sync project too;
In geneal take a look at realm and aws to add more features... and increase resources to mobile apps team! :-)

Hi all. Quick intros, I'm Joshua Weber and a PM lead on the AppCenter team. Along with @elamalani we are the PM owners for Azure Mobile Apps. We for sure hear the pain on this project recently. We are engaged and have working to get some of the pain resolved (especially our communication frequency and transparency). We are always very enthusiastic about capturing feedback from our users. If you'd like to setup a call to discuss it, I'm always reachable at<EMAIL_ADDRESS>

Hello again,
Thanks for an overwhelming response to this thread. I'm super excited to see the community interest in sharing their feedback. My email address is -<EMAIL_ADDRESS>and you can always reach to @JoshuaWeber and me if you'd like to share feedback.
Just a clarification - Our plan is not to add new features in Azure Mobile Apps but really shape the next generation of this product by considering all the user feedback. Right not, we are in the very early phase of user research, so there is no commitment to the next-gen product in terms of timeline.
With the aim of being transparent with our users, I wanted to share this information with you and set the right expectation. I hope you find this information helpful.

THANKS for identifying yourselves. After over a year of "library mismatch impedance" (? :) ) we need a timeline or commitment.   Please message me.  I've been chatting informally with some other related MS folks re this and maybe you could all huddle?

Hi all, @elamalani  and @JoshuaWeber in particular. I started off with Azure Mobile Services, then moved over to Azure Mobile Apps. Due to the lack of support for relational syncing I ended up building my own custom solution on top of this which basically uses the "flat" syncing features in Azure Mobile Apps to compare the ID's of the related tables between the client and the server, and then sync the relevant data (sometimes it deletes data from the client, sometimes from the server, sometimes it inserts data into the client etc, as relationships between objects/tables get made and broken, either on the client or on the server). I am therefore currently pretty much tied into Azure Mobile Apps. Your support to keep things going for now like issue #242 would therefore be greatly appreciated. The new version you're talking about must surely be at least a year away. Once you have fixed issue #242, at least your consumers will be able to use the new .NET standard 2.0 type solution for the front end and the latest .NET framework 4.7.1 for the backend solution, which should see us through until the rewrite that you're planning is released.
I'd be very excited to see a new improved version of Azure Mobile Apps, but core features for me should be:

Support for relational sync. Any real-world app that is supposed to be storing a subset of the Azure DB on the local device is left to its own devices to contrive a custom solution without such a feature, and building that is a massive undertaking in itself.
Simplicity, as the others already stated. It shouldn't take you weeks to months to get your app working properly with the login flows and what not.
Real-world samples. I'm most concerned with Xamarin Forms myself. Something that allows the user to log in properly (with an acceptably modern & slick UI and without a dependency on a bunch of external NuGet packages like Xamarin.Auth which inevitably go out of sync over time version wise and then leaves the poor developers stuck in the middle).
A solid no nonsense minimalistic design that won't need to be patched up later to make up for ant critical shortcomings.
Proper documentation.
Strongly consider dropping the entire Entity Framework/Code First/DB migration idea due to the additional complexity that it brings. Or make it optional. Not sure how easy the latter might be to accomplish - would it be so bad to have to define your server-side DB tables yourself the old-fashioned way and doing the same on the client, then manually writing the accompanying classes - because by the time you're done with playing the EF game you could have done that manually a long time ago. That said, EF is not absolutely the end of the world but I'd love something where I have the choice to either use EF, maybe initially, and then tweak things manually afterwards intead of having to jump through all the hoops.

@italjaard Thanks for sharing your feedback on Azure Mobile Apps and the core features that you would like to see in the next version. Regarding #242, I will keep the issue posted on the next steps we decide to take.
Thanks!

@S1r-Lanzelot Unfortunately, there is no place where we specify our plans or timelines. At this point, please look out for information from us on the Azure Mobile Apps repository itself.

@elamalani @elamalani I've seen comments saying EF may not be worth keeping but I don't see the argument against it, or what would replace it ? I'm not the most experienced/savvy when it comes to backend so would love to understand more on that, but I think those that want to use it should still have the option (to do so easily in an integrated fashion, which was a point made about it). I find the migrations feature to be able to track and version up/down to be especially powerful. May even be nice to double down on it and build a little UI out to for it (via App Center) to see your migrations and various stats about your database and even be able to trigger upgrades/rollbacks. Similar to how Push Notifications have been added to App Center (very nice) to let you set up certain things there and then add it pretty simply to your app, should also do something for authentication. Is that where this is headed already - or thoughts on that?

@elamalani Azure Mobile Apps was something my startup considered. It seemed to be a monolithic system and I wasn't sure how much flexibility we would lose in setting up our data and how much we would be dependent on it. It was unclear for example whether we could create any SQL database and use App service to sync it.
We would have been be more comfortable if the services had been separate. E.g. one service which is a framework to sync database in the cloud with an sqlite database on the device. (Very needed in the market as far as I can tell.) Another service which provides identity (similar to Auth0). And a small service for push notifications.
In the end we will probably go with more work: MSSQL database, REST API, SQLite database, sync methods. Since we could not fully evaluate going all in with App Service and we couldn't identify the limitations and risks involved from the outside. If the services had been separate it would probably be clearer what each does.

Hi guys, is there any update on the future of this and/or it's successor

@rysbilinski Unfortunately, there is no update at this time. We will keep you posted whenever we have an announcement to make from our side.

In my opinion the golden goose from Azure Mobile Apps it's the client-server communication.
This "kind of" OData service it's really practical and it's perfect to perform some inter-services communication.
I think, Microsoft should break this library in something that makes more sense. Communication should not be attached to "mobile" client, but to anything, anywhere. This kind of communication (filter/pagging/counting) between microservices it's really something to put down in some showcase.
The purpose of this library should be extend existing architecture not be the core for it.

I just noticed the file sync was removed, and was thinking of using this from the Microsoft Xamarin folks https://github.com/XamarinUniversity/ENT410

@elamalani Where can we find info on the new Storage and Data synchronization ?

@leonmeijer we created our own sync framework and open sourced it as a successor to Azure Mobile Apps.
Although we did not open source the file sync part (yet).
You can have a look, maybe it's helpful for you: https://github.com/stefffdev/NubeSync


Fix bug introduced in #29

Even after configuring the right artifactory repos, the omnia-env dependency could still not be found, due to a bug in the changed I merged only an hour ago.
The code was splitting the artifact name on hyphens, and only considering the first component.

:+1:


cql verify should allow multiple verification statements

This limitation should be eliminated:
More than one statement was configured as active. cqlverify requires exactly one.

The latest nb4 pre-release has the verify logic of cqlverify consolidated fully into the cql driver with per-statement configuration options. The cqlverify driver is retained as a simple default wrapper.


People Page for organisations

For organizations that are using the theme, it would be nice we there is a people/team page. I have added a page for my organization and would be happy to raise those changes as PR if it is okay to add people the main repo. Please let me know.

Hi, would love that. Do you mean something like an author profile page?

Sort of. I have added a people page powered by config. Not all people might have authored a post but all authors will be listed in this page. For reference: https://engineering.qubecinema.com/people


Type xxx (Object) is not assignable to type 'string' (vars property in CreateUpdateMailListMembers).

While I was setting vars to a object (according to the documentation), I saw this error:

Here's the code:

Looking at the type definition, it seems that vars was defined as a string. Is this intentional?

Hi @werewoof
The type is correct, API expects a JSON formatted string.
Simply saying, use  JSON.stringify on the object you providing to the vars property.


Keywords support

I know there's no bandwidth for this project right now, so just an idea.
It'd be handy to be able to filter results by keywords, as supported by the website itself.
URL params example, using keywords "acre" and "acres": &keywords=acre%2Cacres

You can pass any URL to init the scraper so this shouldn't need any additional work.


STORM-1340: Use Travis-CI build matrix to improve test execution times

This patch modifies the Travis-CI config to run storm-core unit tests in parallel with all the external tests, knocking usually between 4 and 7 minutes off the build time usually.
It also caches ruby, javascript, and java libraries instead of downloading them each time a container is launched.

Looks good to me drops the build time by about 7 mins. I am +1 if you can address @d2r comment and squash yur changes.  11 commits feels like a bit much.

Failure looks unrelated.

Looks good to me +1

@HeartSaVioR Would you like to look at this?
It's similar to the PR I put up before.

@knusbaum
I'm +1 for the change.
Actually I found some builds before rebase still takes 13 min or higher, but mostly it seems to save build time.
Great work!

Hello. Sorry, it's been a long time ago, but I am curious why caching hasn't been enabled before this (i.e., since December 17, 2014 when it became available to open source projects). Thank you.

@Taher-Ghaleb sorry, I'm not sure I understand your question. Would you mind clarifying?

Hi @knusbaum,
Thanks for your reply.
I see you have enabled cache: for Travis builds in this pull request, whereas the caching feature of Travis was available since December 17, 2014 (about a year earlier). I am interested in understanding the reason behind delaying the cache feature.
Thank you.

@Taher-Ghaleb
At this point I have little memory of this issue. My guess is that it was not a priority for our team until build times started getting very long.

I see your point. Thank you so much, @knusbaum, for your gentle responsiveness.

I am interested in understanding the reason behind delaying the cache feature.

it was not a priority for our team until build times started getting very long.

@Taher-Ghaleb That is my memory as well. The jira issue was not created until Nov 2015, and that was likely the first time we decided to address it.

OK, I see. Thanks, @d2r, for such details.


Storage mounts with dynamic configuration

Describe the feature
relates nuxt/nuxt#20195
The examples in the above discussions are fairly common,
maybe provide a function to escape?
Additional information

[X] Would you be willing to help implement this feature?

Configuration from nitro.config and app.config is serialized during building we cannot use dynamic configuration from there. I am thinking to support nitro.storage from app.config.ts to make it possible.
As a workaround, you can use a runtime plugin to mount in app context using plugins/storage.ts (nuxt: server/plugins/storage.ts)
import redis from "unstorage/drivers/redis";

export default defineNitroPlugin(() => {
  const storage = useStorage();
  storage.mount(
    "/redis",
    redis({
      // ... options from runtime config, app config or process.env
    })
  );
});

If possible, I would still prefer to have some way of preserving process.env.
like this nuxt/nuxt#18910
potentially bad DX if I have many modules and use different default value on different environments.

Would it be possible to document the temporary workaround as mentioned by @pi0 (https://github.com/unjs/nitro/issues/1161#issuecomment-1511444675) inside Nuxt documentation?
Would be happy to open a PR for this! Thanks (:

PR also welcome for nitro docs to mention workaround in storage section 👍🏼

Sorry for necro but is there a way to do this for the cache system too?
Currently, if I try to mount cache in a plugin using pi0's way, i get ERROR [worker init] already mounted at cache.
Is the only way here to override every single defineCachedEventHandler to use a custom mount point (base)?

you might need to call .unmount() first.

same question

When I create a plugin using the following code
import redisDriver from 'unstorage/drivers/redis'
import azureAppConfigurationDriver from 'unstorage/drivers/azure-app-configuration'

export default defineNitroPlugin((nuxtApp) => {
  const storage = useStorage()
  if (useRuntimeConfig().systemRuntimeType == 'azure') {
    storage.unmount('cache')
    const azure = azureAppConfigurationDriver({
      prefix: "default",
      label: "cache",
    })
    storage.mount('cache', azure)
  } else {
    storage.unmount('cache')
    const redis = redisDriver({
      url: "redis://localhost:6379",
    })
    storage.mount('cache', redis)
  }
})

The following error occurred
 ERROR  [nuxt] [request error] [unhandled] [500] Cannot access 'nitroApp' before initialization                                                                                20:03:46
  at Object.onRequest (/D:/my-nuxt-template/.nuxt/prerender/chunks/runtime.mjs:6801:7)
  at Object.handler (/D:/my-nuxt-template/node_modules/h3/dist/index.mjs:1959:21)
  at toNodeHandle (/D:/my-nuxt-template/node_modules/h3/dist/index.mjs:2266:17)
  at callHandle (/D:/my-nuxt-template/node_modules/unenv/runtime/fetch/call.mjs:25:12)
  at ufetch (/D:/my-nuxt-template/node_modules/unenv/runtime/fetch/index.mjs:9:23)
  at Object.localFetch (/D:/my-nuxt-template/.nuxt/prerender/chunks/runtime.mjs:6821:39)
  at /D:/my-nuxt-template/.nuxt/prerender/chunks/runtime.mjs:3162:36

How can I solve this problem?

When I create a plugin using the following code
import redisDriver from 'unstorage/drivers/redis'
import azureAppConfigurationDriver from 'unstorage/drivers/azure-app-configuration'

export default defineNitroPlugin((nuxtApp) => {
  const storage = useStorage()
  if (useRuntimeConfig().systemRuntimeType == 'azure') {
    storage.unmount('cache')
    const azure = azureAppConfigurationDriver({
      prefix: "default",
      label: "cache",
    })
    storage.mount('cache', azure)
  } else {
    storage.unmount('cache')
    const redis = redisDriver({
      url: "redis://localhost:6379",
    })
    storage.mount('cache', redis)
  }
})

The following error occurred
 ERROR  [nuxt] [request error] [unhandled] [500] Cannot access 'nitroApp' before initialization                                                                                20:03:46
  at Object.onRequest (/D:/my-nuxt-template/.nuxt/prerender/chunks/runtime.mjs:6801:7)
  at Object.handler (/D:/my-nuxt-template/node_modules/h3/dist/index.mjs:1959:21)
  at toNodeHandle (/D:/my-nuxt-template/node_modules/h3/dist/index.mjs:2266:17)
  at callHandle (/D:/my-nuxt-template/node_modules/unenv/runtime/fetch/call.mjs:25:12)
  at ufetch (/D:/my-nuxt-template/node_modules/unenv/runtime/fetch/index.mjs:9:23)
  at Object.localFetch (/D:/my-nuxt-template/.nuxt/prerender/chunks/runtime.mjs:6821:39)
  at /D:/my-nuxt-template/.nuxt/prerender/chunks/runtime.mjs:3162:36

How can I solve this problem?

After testing, this state will only appear when the database is cache

When I create a plugin using the following code
import redisDriver from 'unstorage/drivers/redis'
import azureAppConfigurationDriver from 'unstorage/drivers/azure-app-configuration'

export default defineNitroPlugin((nuxtApp) => {
  const storage = useStorage()
  if (useRuntimeConfig().systemRuntimeType == 'azure') {
    storage.unmount('cache')
    const azure = azureAppConfigurationDriver({
      prefix: "default",
      label: "cache",
    })
    storage.mount('cache', azure)
  } else {
    storage.unmount('cache')
    const redis = redisDriver({
      url: "redis://localhost:6379",
    })
    storage.mount('cache', redis)
  }
})

The following error occurred
 ERROR  [nuxt] [request error] [unhandled] [500] Cannot access 'nitroApp' before initialization                                                                                20:03:46
  at Object.onRequest (/D:/my-nuxt-template/.nuxt/prerender/chunks/runtime.mjs:6801:7)
  at Object.handler (/D:/my-nuxt-template/node_modules/h3/dist/index.mjs:1959:21)
  at toNodeHandle (/D:/my-nuxt-template/node_modules/h3/dist/index.mjs:2266:17)
  at callHandle (/D:/my-nuxt-template/node_modules/unenv/runtime/fetch/call.mjs:25:12)
  at ufetch (/D:/my-nuxt-template/node_modules/unenv/runtime/fetch/index.mjs:9:23)
  at Object.localFetch (/D:/my-nuxt-template/.nuxt/prerender/chunks/runtime.mjs:6821:39)
  at /D:/my-nuxt-template/.nuxt/prerender/chunks/runtime.mjs:3162:36

How can I solve this problem?

After testing, this state will only appear when the database is cache

@pi0 I think this is a problem that needs to be solved urgently. Even the most basic ones can't be used. . .


Node failure on macos

https://sponge.corp.google.com/target?id=8712989b-35d6-4c02-b2f2-b3b773226412&target=github/grpc/node_macos_dbg_native&searchFor=&show=FAILED&sortBy=STATUS
The specific error is
E1006 16:30:37.277871000<PHONE_NUMBER>03680 resource_quota.cc:779]        assertion failed: old >= amount

@ctiller This looks like something that might have been caused by PR #12677


Configure retry on Rate-Limiting from remote-write config

Signed-off-by: Harkishen-Singh<EMAIL_ADDRESS>
Fixes: #8474
cc @csmarchbanks @roidelapluie

Let's hold off a bit on this since #8237 will be reverted for the release while we figure out what to do about limiting retries.

The release branch has been merged back into master, so we can add this flag without worrying about merge conflicts now once the final comments are addressed.

When I see this, I think it is a mistake to put that in the queue config because it is actually managed by the client. Sorry I did not spot this before. Even if it looks better next to backoff, it is actually really a client thing. Maybe we need to revert to having it at the client level again. so sorry about this. cc @csmarchbanks what is your opinion here?

That's completely fine. No problem. I am happy to revert back if Chris agrees too.

Okay, I agree from a user perspective, it makes more sense in the queue config.
Thanks @Harkishen-Singh !!!


Enhancement: Token Labels Table

Per discussion in Discord, we can make a table out of token deployment events. This will give us the decimal, as well as other metadata, for new tokens.
Discord thread

Will make a PR.

Proposed schema will be:

blockchain
block_timestamp
tx_id
label
symbol
address or contract_address
decimals
creator
label_type
label_subtype
project_name

I made a left join of the token labels CTE to the dim address labels in core so only a few rows will have values in the dim_address_labels-specific columns, I guess that's okay? Tried to make the table as similar as the dim_tokens table in ibc fully curated mode.

And use the address as the unique_key

I agree with this schema. As it will be a silver model, include _inserted_timestamp as well for incremental loading

gotcha


Sync CRDs manifests

Executed 'make manifests' to update CRDs in 'config' and 'deployment' directories.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
4 unchanged lines in 2 files lost coverage.
Overall coverage increased (+0.01%) to 24.464%

Files with Coverage Reduction
New Missed Lines
%

controllers/sriovibnetwork_controller.go
2
66.04%

controllers/sriovnetwork_controller.go
2
63.81%

Totals

Change from base Build<PHONE_NUMBER>:
0.01%

Covered Lines:
2078

Relevant Lines:
8494

💛  - Coveralls

LGTM


Update README.md

needed step to a successful usage

I've wasted some time trying to 'directly' use it as scpecified in usage section and I found out I needed to add an item to my base theme/style. It can save time for others.

Actually, you should be able to use it without any theme, but be sure so set android:indeterminateOnly="true".

Hmm...I tried what you said but after removing the "cpbStyle" style tag from styles.xml the progress bar vanishes. :(

Can you try the following?
<fr.castorflex.android.circularprogressbar.CircularProgressBar
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:indeterminateOnly="true"
            android:minHeight="48dp"
            android:maxHeight="48dp"
            android:maxWidth="48dp"
            android:minWidth="48dp"
            app:cpb_colors="@array/gplus_colors"/>

If that doesn't work, can you create a sample project with your issue and send it to me?
Thank you.

The snippet you sent me works! :) Thanks!
I'll check this later.


Page Build Warning

Describe the bug
I have https://github.com/woodcoin-core/upptime being built to a Netlify subdomain - jolly-borg-0ef6f8.netlify.app
From that subdomain, I've got it tied to the status.woodcoin.org subdomain through an ANAME record.
I've gotten two e-mails stating the following:

The page build completed successfully, but returned the following warning for the gh-pages branch:
Your site's DNS settings are using a custom subdomain, jolly-borg-0ef6f8.netlify.app, that's set up as an A record. We recommend you change this to a CNAME record pointing at woodcoin-core.github.io. For more information, see https://docs.github.com/github/working-with-github-pages/configuring-a-custom-domain-for-your-github-pages-site.
For information on troubleshooting Jekyll see:
https://docs.github.com/articles/troubleshooting-jekyll-builds
If you have any questions you can submit a request on the Contact GitHub page at https://support.github.com/contact?repo_id=324907422&page_build_id=226101581

Is this not supported through upptime? How can I ( and possibly others ) suppress this?
There are no issues that I can see, and it looks like Github is complaining for no reason here.
Expected behavior
No e-mails from Github yelling at me.

It looks like https://status.woodcoin.org is working perfectly through Netlify, so the issue is only the unnecessary email from GitHub.
This email is because of this line: https://github.com/woodcoin-core/upptime/blob/master/.upptimerc.yml#L17. You don't need to specify the custom cname domain when using Netlify. This is only a requirement for GitHub Pages.
What's happening now is that GitHub is trying to publish to the domain under cname, which is not mapped to GitHub Pages but to a different service, so they're asking you to use GitHub's CNAME. Removing the CNAME line will fix this issue.

It looks like https://status.woodcoin.org is working perfectly through Netlify, so the issue is only the unnecessary email from GitHub.
This email is because of this line: https://github.com/woodcoin-core/upptime/blob/master/.upptimerc.yml#L17. You don't need to specify the custom cname domain when using Netlify. This is only a requirement for GitHub Pages.
What's happening now is that GitHub is trying to publish to the domain under cname, which is not mapped to GitHub Pages but to a different service, so they're asking you to use GitHub's CNAME. Removing the CNAME line will fix this issue.

Appreciate the assistance!

Appreciate the assistance!


Tiny gap between vector tiles

In my testcase http://drifted.in/other/ol/tiles.html there is a tiny gap between tiles even though the GeoJSON coordinates are same.
7/68/84 - xMax: 1565430.3392804079 (meters)
7/68/85 - xMin: 1565430.3392804079

As this gap is same also when zooming in (that gap doesn't grow), I suspect it is caused rather by the library (rounding ?) than by my data.

Example updated to 3.11 (TileVector -> VectorTile)
http://drifted.in/other/ol/tiles_v3_11.html

Are you using a buffer for your tiles? Usually vector tiles do not only contain the data inside the tile boundary but also the data within a small buffer on each edge. The renderer for ol.layer.TileVector will then clip to the original tile boundaries.

@tsauerwein there is no buffer. Vector data is clipped already. I have no control over this.

I've found 3.11 version works fine in Chrome/Edge. The only problematic is FF.
That TileVector (old) example gives same incorrect result for all FF/Chrome/Edge browsers.

Can this be closed as duplicate of #4501?

I agree to mark it as a duplicate of #4329 although the original issue has been 'fixed' by removing TileVector class from the library ;-)


Feature Request - New Width Classes

width: fit-content -> w-fit would be great
Other options:
width: min-content -> w-min
width: max-content -> w-max
Could add the same for height, but not sure it's as useful.

Could you provide any use cases for those—and also, would there be any sense to add those values to min-width and max-width too?

Indeed, it helps :)
I just came across another use case for min-content and max-content: a codepen by Sven Wolfermann, shared by Stefan Judis in a dedicated TIL post](https://www.stefanjudis.com/today-i-learned/a-use-case-for-css-min-content-and-max-content/).

Hey I want to contribute on this issue

Also .w-max-{sm,md,lg} classes (or a similar name) would be useful which set max-width to the respective values from $container-max-widths. Often I see the use case that the largest width from .container is too wide for many layouts and looks bad. This is also manually done in some examples from the gallery. For example when removing this manual max-width from the checkout form and removing the second column it loses its clean look and becomes hard to parse. A .w-max-md would work wonders here:

Closing per https://github.com/twbs/bootstrap/pull/31943#issuecomment-1265830492.


Updated internal deps

Internal dependencies updated to get https://github.com/CartoDB/carto/pull/44

retest this, please

Tested in ded10 and it seems to work. Merging.


Issue#38 why sql comparison

I've updated the first section to start documenting what it is that we need a backend to do.  Could you read and comment with anything you think is missing.  It is very much a document in progress!

/reformat_markdown

/reformat_markdown

/reformat_markdown

/reformat_markdown


[FEATURE REQ] Support setting AccessTier when using BlockBlobClient.getBlobOutputStream()

When I use the BlockBlobClient.getBlobOutputStream() method to upload data it is not possible to set the AccessTier for the blob.
Provide an overloaded method getBlobOutputStream() that has a parameter AccessTier, that will write the data to the blob using the provided AccessTier.

@rvervaek Thank you for pointing out this oversight. We will schedule some work to add an overload that accepts accessTier, metadata, and blob http headers.

I am going to close this issue as the fix has been merged.


[wip] Dsl

Creating this PR so we can have comments

I am open to explore the other (more imperative) options too, though there are some trade-offs that we should consider regardless of the eventual approach.
About the effort size of this approach: implementing it is pretty minimal since it maps to the existing workflow structure. To implement a MVP the following changes are needed:

Support user-defined functions in the expression evaluator.
JavaScript pre-processing step in the builder: serialize functions, turn tasks with javascript-in-run-field into valid tasks.

Beyond a MVP the effort is more time-consuming is indeed:

robustness: validation steps, testing, better sandboxing of user-defined functions.
usability: (re)writing comprehensive documentation, examples, tutorials.

Feel free to close this one @erwinvaneyk, based on our discussions.


Slideshow

Any chance you could make a slideshow out of a set of images with the same .classname - once you are in the light box view?

Video? I think I have a GIF in the readme.

I'm glad you find my transition beautiful :D
It's cubic-bezier(.25, .8, .25, 1), I found this particular curve to be the most aesthetically pleasing when I was researching transition timing functions.

I will write it down :)


⚠ Bofrost.at has degraded performance

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

HTTP code: 200
Response time: 2159 ms

Resolved: Bofrost.at performance has improved in fa5f7be after 20 minutes.


Update release instructions

Issue #810

@jeromekelleher updated
my RTD name is dannycolligan

Thanks, +1.
You've been added as a maintainer on RTD. @kozbo, you should probably be added there too; do you have a readthedocs ID?


Please keep these icons mega free.

https://etherscan.io/tx/0xf72fa715c11ac56ea677d074f7465ece0e73c6432572e2c40a72a96caec2978c
I will probably build an API / hosted version with these in the near future. Thank you!

Thank you for your support!


Add "find" command

No find command? I found out I could use CtrlF, but only by experimentation...

The search prompt works differently under the hood from the normal command prompt because it needs to re-update the buffer whenever you type a character (so it can search in realtime while you type). Perhaps typing > find should open the search prompt (same as pressing CtrlF)?

Would be fine for me, if just a normal find isn't available.

A find <expression> command could be really useful in recipies!


Include the license

Adds the license to MANIFEST.in so as to include the license in packages list sdists.
cc @pmlandwehr

Should note that there is this line, but it seems to only end up including the README. The change proposed here includes all of those files.

Friendly nudge. 😉

I'm no longer interested in maintaining this, sorry.


Fix long email addresses overflow

I suppose to add a little fix for long email addresses in the form. They overflow the form with markup breaks, if I input email addresses with more than 100 symbols (in little width form).

Thank you for your time.


ref: Switch to workspace.dependencies

Old PR got messed up due to some changes on main

Old PR: https://github.com/jprochazk/garde/pull/27

The PR should be ready to merge. I'll like to have this before merging axum-garde and a couple other fixes into the repo

Thanks! 🥇


file benchmark/bench_linear.sh is broken

python tests/bench_linear.py doesn't exist...

same for whole CUDA implementation of QDQ


Request for Option to Skip AsyncLoading When Setting State from AsyncData to AsyncData in AsyncNotifier

Is your feature request related to a problem? Please describe.
Yes, the issue arises when setting the state of an AsyncNotifier in Riverpod. Currently, when transitioning the state from one AsyncData to another AsyncData, the implementation unavoidably passes through an AsyncLoading state. To illustrate this with an example, consider a scenario involving AsyncValue<ArticleData>, where ArticleData is defined as:
abstract class ArticleData {
  final String content;
  final bool isFavorite;
}

In this case, a change in a property like isFavorite within AsyncValue<ArticleData> ideally should be a simple state transition from one AsyncData to another AsyncData. However, the current behavior introduces an unnecessary intermediate AsyncLoading state, even for such minor updates, leading to an unwanted brief loading screen.
Describe the solution you'd like
I propose an enhancement to AsyncNotifier that allows bypassing the AsyncLoading state during transitions between AsyncData states, especially in contexts like AsyncValue<ArticleData>. This would streamline the user experience by avoiding unnecessary loading phases for minor data updates.

leading to an unwanted brief loading screen.

Riverpod doesn't cause this loading screen. The data is still available even if during that loading transition.
So it is your UI that decided to render this brief loading screen, not Riverpod.
Cf AsyncValue.isRefreshing/isReloading or AsyncValue.when(skipLoadingOnReload/Refresh)

I agree that trying to do skipLoadingOnRelaod/Refreshing would eliminate the need to go through loading in the UI.
Also, I have no problem using this skip for the project I am currently working on.
However, wouldn't the momentary state of AsyncLoading when I want to change from AsyncData to AsyncData still be unnecessary?
For example, if there is a case where we want to change from AsyncData to AsyncData while both skipLoadingOnRelaod/Refreshing are false, there is no solution in the current Riverpod and we are stuck.
I would like to have a way to avoid forcing AsyncLoading to go through, since there could be a case where neither refresh nor reload is applicable to updating data.

You can directly call state = AsyncData(...)
You can even do that at the start of your provider's initialization method to remove the built in loading state.

Sorry, my mistake, I was talking about something very misguided.
I found a mistake in the code and will close it.
Thank you very much for your kindness!


Play through slider

Can we add a play button so that we can play all the levels available on a slider as a slideshow?
(Lisa Starlin -- 557 Weather Wing)

these features are coming in ipython widgets, they made it into a release today:
https://github.com/ipython/ipywidgets/releases
to be dealt with shortly


cmd/compile: For some sizes, zeroing memory through OpZero could be faster (AMD64)

I'm working on a patch for inlining known-size memclrNoHeapPointers calls and replacing them with an OpZero.

I'll send the patch soon. Creating this issue so that it can be linked from the change.

The problem I see here is that sometimes OpZero is used in situations where we can't issue a call. Typically, this is because it is being used to set up call arguments, so setting arguments for memclrNoHeapPointers overwrites the arguments we've already set for some other call. Also initializing stack frames is a tricky time, as we can't do an interruptible call because the stack frame has junk in it.
Maybe though this problem only applies to OpCopy? Not sure that OpZero is used for setting up arguments, and since memclrNoHeapPointers is not interruptible maybe it is ok.

I think it’s best solved by improving the DUFFZERO implementation.  If you look at the benchmark it seems the problem areas are all under the DUFFZERO range.
We know the size of the clear, thus we can skip the initial branching in memclrNoHeapPointers. The trick is to teach DUFFZERO checking for AVX support and figuring out whether the increased code size (would it increase?) pays off. We could also elide the check on higher arch levels.

On ppc64le, we have an instruction to clear blocks of 128 which is used in the memclr function and is more efficient than doing it this way. It sounds like these cases were recognized because it is mentioned in this issue as well as the commit message of the CL, but not addressed?

@laboger is it possible to use that instruction in ppc64’s Zero implementation? Perhaps we can skip inlining for ppc64 if it’s a problem.
Maybe you could checkout this change and try running memory clearing benchmarks to see how it impacts performance. Thanks.

@jake-volvo Not really because there are different conditions to verify before you can use that instruction, such as alignment of the target, which makes the code more complicated. It is better to do that within the memclr assembler function.
Why don't you do this the same way as the runtime.memmove generic rules, which use the function isInlinableMemmove to determine when it should be done and returns the condition depending on the target? You could define a similar function isInlinableMemclr.
Here is the comparison with your change:
MemclrKnownSize1-64         2.07ns ± 0%     0.57ns ± 1%   -72.44%  (p=0.029 n=4+4)
MemclrKnownSize2-64         2.55ns ± 1%     0.57ns ± 0%   -77.66%  (p=0.029 n=4+4)
MemclrKnownSize4-64         5.14ns ± 0%     0.50ns ± 0%   -90.36%  (p=0.029 n=4+4)
MemclrKnownSize8-64         2.24ns ± 0%     0.57ns ± 1%   -74.58%  (p=0.029 n=4+4)
MemclrKnownSize16-64        2.23ns ± 0%     0.50ns ± 1%   -77.48%  (p=0.029 n=4+4)
MemclrKnownSize32-64        2.28ns ± 1%     0.57ns ± 1%   -74.95%  (p=0.029 n=4+4)
MemclrKnownSize64-64        2.27ns ± 0%     0.72ns ± 0%   -68.13%  (p=0.029 n=4+4)
MemclrKnownSize112-64       2.95ns ± 0%     1.15ns ± 0%   -60.89%  (p=0.029 n=4+4)
MemclrKnownSize128-64       4.74ns ± 1%     2.68ns ± 0%   -43.52%  (p=0.029 n=4+4)
MemclrKnownSize192-64       5.08ns ± 1%     3.15ns ± 0%   -38.09%  (p=0.029 n=4+4)
MemclrKnownSize248-64       4.68ns ± 4%     3.00ns ± 0%   -36.00%  (p=0.029 n=4+4)
MemclrKnownSize256-64       6.81ns ± 1%     3.56ns ± 1%   -47.70%  (p=0.029 n=4+4)
MemclrKnownSize512-64       3.65ns ± 0%     8.97ns ±31%  +145.78%  (p=0.029 n=4+4)
MemclrKnownSize1024-64      4.74ns ± 0%    12.02ns ± 0%  +153.75%  (p=0.029 n=4+4)
MemclrKnownSize4096-64      17.1ns ± 0%     51.9ns ± 0%  +203.34%  (p=0.029 n=4+4)
MemclrKnownSize512KiB-64    2.12µs ± 0%     5.30µs ± 0%  +149.61%  (p=0.029 n=4+4)

Thanks, I'll gate the inlining so it only happens for AMD64 and ARM64 for now.

Doing a sweep of the Go 1.21 milestone. Is there anything left to do here?
Also, given that this for performance it probably shouldn't be in the Go 1.21 milestone if there is. Moving it to Backlog for now. Please comment if you plan to work on this in Go 1.22 and we can push it there. Thanks!


[Bug] Discord Canary Refusing To Start

Describe the Bug

Discord Canary refusing to start after betterdiscord install (using betterdiscordctl). I tested this 3 times, once using the betterdiscord appimage, another time with the ctl using discord-canary-electron-bin, and another time with regular discord-canary
To Reproduce

Visit ArchLinux AUR for discord-canary
Open a terminal, run yay -S discord-canary
Visit ArchLinux AUR for betterdiscordctl-git
Open a terminal and run yay -S betterdiscordctl-git
Run betterdiscordctl -f canary install
Open Discord, and get fatal error. (In Screenshot)

Expected Behavior

Follow Steps 1-5, then open discord. Discord should open, and in settings, better discord settings should be present.
Screenshots

error screenshot
Discord Version

Discord Flavor: Canary v0.0.124
OS: ArchLinux w/ Gnome 40.01
Additional Context

Discord was working before this, I closed the client. Discord promted me to download an update, so I redid yay -S discord-canary. The install was a success, when I opened discord canary, better discord was not present. When I installed it with the command line tool and opened discord, I got the error in the screenshot. Would love a solution, thanks for any help! :D

i have the exact same error on windows via installer

Thanks, I was not sure if this was a repeat question from the other bugs I saw, as I was running arch, while everyone else was able to reproduce with windows.


TCMALLOC_MAX_TOTAL_THREAD_CACHE_BYTES=128mb as default in firefly

Hi
I have installed ceph firefly cluster with the playbook and I got less iops than I expected.
I saw that changing this option (In your blog) will increase the 4k random iops.
Is the playbook change this option?
Thank you

Nop Ansible doesn't change anything.
Why are you deploying Firefly btw?

I'm deploying Firefly cause this is the version I most familiar with.
Is there any way to apply this config on ceph cluster manually?How can I do it?
Which version supporting changing this parameter?
Thank you

You can add TCMALLOC_MAX_TOTAL_THREAD_CACHE_BYTES in /etc/default/ceph if you run on a Debian based system or in /etc/sysconfig/ceph/ if you run a Red Hat based system.

Assuming this resolves your issue, I'm closing this. Feel free to re-open if necessary.

Hi,
I upgraded to 0.94.6 with the upgrade yaml(without downtime!).
The file /etc/default/ceph doesn't exist(I'm using Ubuntu 14.04) so I created the file.
I added this line, How could I know if the ceph osd process using this parameter when TCMalloc is used?

@liewegas how can we verify that? Thanks!

cat /proc/$pid/environ to see if the environment variable is set?


Google Drive - LIST method doesn't work properly for newly created files in hidden Application Data Folder

From today Application Data Folder doesn't work properly. I'm using Google Drive Java API to insert JSON files to hidden app data folder. There is no error returned but there is no data in hidden folder. Yesterday it was fine. Also saving files into visible folder works fine. The problem is with hidden app data folder. All my apps used this hidden folder stopped working properly. Please fix this ASAP. Regards.

This issue tracker is for issues with the library itself. Using stackoverflow with the tag google-drive-sdk is more appropriate for this sort of question.


shortcut not work

Before Submitting Your Bug Report

[ ] I have verified that there isn't already an issue reporting the same bug to prevent duplication.
[ ] I have seen the FAQ.

Maccy Version (see 'About' window)
No response
macOS Version
No response
Maccy Settings
see description screenshot

Description

Steps to Reproduce
No response

Duplicate of #813


V1.2 log data structure

Refactor Person to Log.
Refactor person package to log package.
Add Rep.
Add Comment.
Edit Log data structure.

LGTM.


WW-4105 Considers config time class in actions chain

I think it is ready for merge and does not break backward compatibility. The added bean attribute is and should be optional always.
If you agree and merged this, then 784bb23 will be a base for other possible enhancements like:

Considering config time class of the action in parameters interceptor enhances S2 security (details already have been submitted to security@struts.apache.org).
Considering config time class of the action in json result has similar impacts (prevents action information to be leaked to attacker).

What do you think?
Documentation
Mainly, this is about how to deal when run time class of the action is not same as the config time, e.g. when action is proxified with a 3rd party technology or when the creation of action is with object factory. At this point, operating S2 inside that technology or object factory makes problems or potential security issues. So S2 always needs to know config time class of the action to operate in it's own borders only.
Currently S2 uses class attribute for both config time class or bean name of the action inside object factory. When the user uses class attribute as a bean name, S2 looses this information, config time class of the action. This PR gives it back to S2 by 784bb23 and presents a resolution for WW-4105 as an example which shows how to consider config time class of the action in sensitive places by e95224f.

I'm still against adding bean attribute to action configuration. It is not intuitive. Chain configuration options belong to chain interceptor, json to json result, etc.
In fact json result already allows to control what is serialized.
About security, I think we can and should do something better than that. I.e. automatically detect proxied class and disallow to change it internals.

@aleksandr-m , thank you for your reply.

I'm still against adding bean attribute to action configuration. It is not intuitive.

But I think using attribute class for both class name and bean name is not intuitive too.

Chain configuration options belong to chain interceptor, json to json result, etc. In fact json result already allows to control what is serialized.

But by continuing includes/excludes approach, user has to manually concern about run time of the action. I've done #118 before. It does not have fewer changes that adding bean attribute.

About security, I think we can and should do something better than that. I.e. automatically detect proxied class and disallow to change it internals

Yes, but so we will have to add dependency of any possible java proxy creators like Spring, cglib or etc to S2 core.
Additionally this PR has enhanced some things automatically for example ServletUrlRenderer.java#178:
            try {
                Class clazz = formComponent.objectFactory.getClassInstance(actionConfig.getClassName());
                formComponent.addParameter("actionClass", clazz);
            } catch (ClassNotFoundException e) {
                // this is OK, we'll just move on
            }

Here, this PR decreases search space for validation tags by excluding proxy class when user has:
<s:form validate=true ...

You're mixing two very different topics together, security and chain configuration.

But I think using attribute class for both class name and bean name is not intuitive too.

What do you mean by that? There is no bean name.

But by continuing includes/excludes approach, user has to manually concern about run time of the action.

But it the same or maybe even much more tedious manual work for defining bean in every action you want to protect.

I've done #118 before. It does not have fewer changes that adding bean attribute.

It is not about the amount of changes, it is about separation of concerns. Configuration for chain interceptor belongs to chain configuration.

Yes, but so we will have to add dependency of any possible java proxy creators like Spring, cglib or etc to S2 core.

Not necessarily. For example, it can be just delegated to the object factory at hand.
Another possibility is to search for getTarget methods.
Yet another is to compare action configuration class with the current instance toString / getClass().toString.

What do you mean by that? There is no bean name.

Users may set class attribute to a 1.class name or to a 2.bean name. I meant I think it is not nice to use class attribute for, as you say, two different topics. Additionally, in second use, S2 cannot know the config time class of the action in any clean way.

every action

Not every. bean attribute is and will be optional. Just actions which their class attribute value can not be resolved to config time class of the action by ojectfactory.getInstanceClass. For example <action class=beanName with <bean name=beanName class=com.... and if this bean is proxified e.g. by AOP needs to be protected. This PR warns about these and continue.

It is not about the amount of changes

Sorry I meant about docs, satisfying user with the new design or param and maintain it for log time.

Yet another is to compare action configuration class with the current instance toString / getClass().toString

As I mentioned, when user uses class attribute as a bean name, S2 cannot know the action configuration class in any clean way.

You're mixing two very different topics together, security and chain configuration.

No, I think about S2 borders. I'm trying to discuss that S2 should or should not know the config time class of the action and then do not operate outside of that border. Input Parameters, Chain and JSON are three example operations of S2 which I discovered at first place. Then I discovered <s:form validate=true. I see all of these are because S2 1.does not know and 2.do not consider config time class of the action.

Not every.

Remember that issue that you've submitted to security list? All actions are affected. With this proposal bean attribute must be added to every action configuration in the application.

No, I think about S2 borders. I'm trying to discuss that S2 should or should not know the config time class of the action and then do not operate outside of that border.

Mostly it is job of the application developer to protect sensitive data (e.g. not writing setter for secretToken property :), excluding some parameters, etc.). The real problem is that for proxied stuff it is somehow obscure.

As I mentioned, when user uses class attribute as a bean name, S2 cannot know the action configuration class in any clean way.

Even if it is not a spring bean name then it can still be affected.
They are good enough to handle most of the cases and they can be combined to achieve better results.

Remember that issue that you've submitted to security list? All actions are affected. With this proposal bean attribute must be added to every action configuration in the application.

If this proposal was made user forced to use bean attribute for every action, I myself was first person who rejects it. If you think so, then you are right to be worry.
Yes I remember the issue which I submitted to security list. Maybe I misunderstood something but let count it:

When action is not a bean, is not proxied, e.g. <action class=me.yz.Action1": Then objectfactory.getInstanceClass(actionCondif.getClassName()) returns me.yz.Action1 and my proposal behaves as current S2.
When action is not a bean, but is proxied, e.g. <action class=me.yz.Action1" and <aop:pointcut id=actionExecute expression=execution(String me.yz.Action1.execute()): Same as (1) objectfactory.getInstanceClass(actionCondif.getClassName()) returns me.yz.Action1 and my proposal behaves as current S2.
When action is a bean, but is not proxied, e.g. <action class=myAction1" and <bean name=myAction1 class=me.yz.Action1:  Same as (1) objectfactory.getInstanceClass(actionCondif.getClassName()) returns me.yz.Action1 and  my proposal behaves as current S2.
AND When action is a bean, and is proxied, e.g. <action class=myAction1" and <bean name=myAction1 class=me.yz.Action1 and <aop:pointcut id=actionExecute expression=execution(String me.yz.Action1.execute()): Here objectfactory.getInstanceClass(actionCondif.getClassName()) returns something different than me.yz.Action1 and my proposal warns user that runtime and config time class of the action are not same and recommends the usage of bean attribute i.e. rewrite config to <action class=me.yz.Action1 bean=myAction1".

So only number 4 needs protection and does not fail on not usage of bean and just warns a log. Did I missed something?
Thanks for your time!

Eureka!
Thank you! I have found it. We can know the config time class of the action without any new thing with something like following pseudocode:
methodName = actionConfig.getMethodName();
if(null==methodName) methodName=ActionConfig.DEFAULT_METHOD;
method=action.getClass().getMethod(methodName);
configClass=method.getDeclaringClass();

With this, attribute bean is not required 😃 🙌  any more, right? if so, are you pals agree with the rest of the proposal i.e. considering configClass in parameters and chain interceptors, jsonresult, <s:form validate=true or etc when discovered?

hmm... very clever method.getDeclaringClass() should return the proper class :)

However, today I found I should improve above pseudocode to following, because maybe user himself has extended a class and wants to use method1 from extended class in action1 and use method2 from super class in action2 :)
className=actionConfig.getClassName();
if(null==className) className=action.getClass().getName();
configClass=objectfactory.getInstanceClass(className);
if(!configClass.getName().equals(className))
{
methodName = actionConfig.getMethodName();
if(null==methodName) methodName=ActionConfig.DEFAULT_METHOD;
method=action.getClass().getMethod(methodName);
configClass=method.getDeclaringClass();
}

Maybe I'm doing something wrong but in my app method.getDeclaringClass() return proxied class as well. :(
We can use something

Maybe I'm doing something wrong but in my app method.getDeclaringClass() returns proxied class as well. :(
We can use something like below. Basically same thing that AopUtil is doing but w/o spring classes.
private Class<?> getTarget(Object candidate) {
    Class<?> result = null;
    try {
        Method method = candidate.getClass().getMethod("getTargetClass");
        Object obj = method.invoke(candidate);
        if (result instanceof Class) {
            result = (Class<?>) obj;
        }
    } catch (Exception e) {
    }
    if (result == null) {
        if (candidate.getClass().getName().contains("$$")) {
            result = candidate.getClass().getSuperclass();
        } else {
            result = candidate.getClass();
        }
    }
    return result;
}

And to replace instanceof.
private boolean implementsInterfeace(Class<?> clazz, final String interfaceName) {
    List<Class<?>> list = org.apache.commons.lang3.ClassUtils.getAllInterfaces(clazz);
    if (list != null) {
        for (Class<?> cl : list) {
            if (interfaceName.equals(cl.getName())) {
                return true;
            }
        }
    }
    return false;
}

I checked too. It does not work as expected on proxy classes 😞

With thanks a ton to @aleksandr-m , as I checked that unwrapping Spring proxies works with reflection without any needed dependency (like @aleksandr-m mentioned above), please let me close this one.
I will come back with a solution without the new bean attribute 👌
Thanks again!


docs: replace logo in storybook

https://monday.monday.com/boards/3532714909/pulses/5372771094

Meirav requested it? Regarding lint issues - merge from master - should fix it

Yes :)


[com.google.fonts/check/name/license_url] https://openfontlicense.org is not recognized as the OFL’s URL

Observed behavior
com.google.fonts/check/name/license_url warns if a font uses the OFL’s old URL but skips if the font is modified to use the OFL’s new URL.
With the old URL:
     WARN OFL url is no longer "https://scripts.sil.org/OFL".
          Use 'https://openfontlicense.org' instead. [code: deprecated-ofl-url]

With the new URL:
     SKIP Could not infer the font license. Please ensure
          NameID 13 (LICENSE DESCRIPTION) is properly set.

Expected behavior
com.google.fonts/check/name/license_url passes if a font uses the OFL’s new URL.
Resources and steps needed to reproduce
pip install fontbakery==0.10.9
curl -O https://www.ponomar.net/files/Vilnius.zip
unzip Vilnius.zip
ttx -t name Vilnius-Regular.otf
sed -i.bak 's|https://scripts.sil.org/OFL|https://openfontlicense.org|' Vilnius-Regular.ttx
ttx -m Vilnius-Regular.otf Vilnius-Regular.ttx
fontbakery check-googlefonts -c com.google.fonts/check/name/license_url Vilnius-Regular.otf
fontbakery check-googlefonts -c com.google.fonts/check/name/license_url -l SKIP Vilnius-Regular#1.otf

Today I've been working on this one. I think the entire check needs to be reimplemented. The check should be smarter to detect the intended license (by having both name IDs 13 and 14 as well as any license file as source of truth). And only after detecting the most likely user intent, then reporting WARNs or FAILs that are meaningful to the user.
The check should also have tests, which is currently lacks.
I'm working on both aspects and will soon send a PR.

And only after detecting the most likely user intent, then reporting WARNs or FAILs that are meaningful to the user.

I'm having trouble understanding what you mean by "most likely user intent" in regard to this check's smartness.

This must be fixed before #4072.

The check should be smarter to detect the intended license (by having both name IDs 13 and 14 as well as any license file as source of truth)

Fontbakery should detect license URL consistency in those three sources and report a Fail if there is a mismatch. This is being ignored. See an example in this PR

@felipesanches This is a symptom of a more general problem. When we think of some new thing which needs checking, our response is normally to add another check for it. This means we have a large number of small, discrete checks, which individually are easy to understand and reason about but which don't necessarily "communicate" with one another. I would prefer to move towards a smaller number of checks which tell you everything about a particular topic - i.e. license URLS in all the different places they can appear - because then they can ensure consistency together.

This was fixed in version 0.11.0 by #4437.