Move lint-tests for finesse-frontend to vercel deployment

The lint-tests are currently in the gh-pages deployment workflow but they should be moves to vercel for better consistency since that workflow is triggered on every push. Also, since it's not clear if we will continue using gh-pages or what is going to be our production web host, it will make it easier to just remove the gh-pages wokflow if we decide to move away from that option rather than having to add the lint-tests to another workflow

I don't understand this issue and why you're removing the lint-test before github pages or trying to push the lint-test in the reusable workflow for deployment workflows. Or getting rid of Github Pages, which could still be useful in some scenarios.
As it-is, this works:

Github pages deployment

lint-test reusable workflow
deploy to Github Page using Github page reusable workflow

Vercel deployment

lint-test workflow
deploy to vercel  using Vercel reusable workflow

don't want lint-test to be happening twice?
I would think you can also create dependencies between workflows local to the repo:

lint-test.yml
Github pages deployment

needs[lint-test]
deploy to Github Page using Github page reusable workflow

Vercel deployment

needs[lint-test]
deploy to vercel  using Vercel reusable workflow

I don't understand this issue and why you're removing the lint-test before github pages or trying to push the lint-test in the reusable workflow for deployment workflows. Or getting rid of Github Pages, which could still be useful in some scenarios.
As it-is, this works:

Github pages deployment

lint-test reusable workflow
deploy to Github Page using Github page reusable workflow

Vercel deployment

lint-test workflow
deploy to vercel  using Vercel reusable workflow

don't want lint-test to be happening twice?
I would think you can also create dependencies between workflows local to the repo:

lint-test.yml

Github pages deployment

needs[lint-test]
deploy to Github Page using Github page reusable workflow

Vercel deployment

needs[lint-test]
deploy to vercel  using Vercel reusable workflow

but in what case does the deployment to gh-pages occurs? push to main like for uat?

but in what case does the deployment to gh-pages occurs? push to main like for uat?

I want the option to continue deploying to Github Pages and the option to deploy to Vercel.
It doesn't have to be for finesse-frontend, but I don't want to be in a situation we're we rely on a single static pages deployment solution or where the CI/CD is specific to one platform.

but in what case does the deployment to gh-pages occurs? push to main like for uat?

I want the option to continue deploying to Github Pages and the option to deploy to Vercel.
It doesn't have to be for finesse-frontend, but I don't want to be in a situation we're we rely on a single static pages deployment solution or where the CI/CD is specific to one platform.

I am really confused, did you not say to remove the github pages deployment in the last phrase https://github.com/ai-cfia/finesse-frontend/pull/45#discussion_r1415485044 or I misunderstood?

I am really confused, did you not say to remove the github pages deployment in the last phrase #45 (comment) or I misunderstood?

I'll explain it to you next time we talk

Won't do. We will preview deployment when this issue (https://github.com/ai-cfia/infra/issues/20) will be solved (iteration 3). No more maintenance time will be put into Vercel


e.q_auth_pgsql config unknown variable auth.pgsql.acl_nomatch

Environment

OS: Alpine 3.5
Erlang/OTP: 19
EMQ: 2.3.1

Description
I am having problems getting the ACL running with the emq_auth_pgsql plugin. I wanted the plugin to refuse subscriptions and publications when no matching entry is found in the database. Therefore i added auth.pgsql.acl_nomatch = deny in the etc/plugins/emq_auth_pgsql.conf (according to the docs). I get the error  [error] Conf file attempted to set unknown variable: auth.pgsql.acl_nomatch.
Is there any other way to deny subscriptions and publications if no acl match is found?

Hi @pritstift You should set this field in the etc/emq.conf file only
## ACL nomatch
mqtt.acl_nomatch = deny

That was the trick. I think that the docs should be updated accordingly. I can do this if you tell me where i find its repo.

@pritstift
This configuration has appearances at http://emqtt.io/docs/v2/config.html#allow-anonymous-and-acl-file

Close the issue.


PS App knows trophy lists that belongs together

I just noticed that the PS App group together PS4 trophy lists that are so huge that they are split up into more lists. I guess the API has some information to link this together.

Interesting. Perhaps the app was recently updated to be able to display these properly, if it didn't before.
It may be figuring out that the game has multiple trophy lists with this endpoint, which should list multiple trophy lists under the games id if it does have more than one list:
https://m.np.playstation.com/api/trophy/v1/users/me/titles/trophyTitles?npTitleIds=CUSA02818_00%2CCUSA02829_00


Fix CLI tailwind config not being found in dev and build commands

Description
Support running the vite dev server from outside of root directory by resolving the tailwind configuration from the directory of the hydrogen app being run (instead of process.cwd).
Additional context
Related to https://github.com/Shopify/shopify-cli-next/pull/62
Before submitting the PR, please make sure you do the following:

[x] Read the Contributing Guidelines
[x] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123)
[x] Update docs in this repository according to your change
[x] Run yarn changeset add if this PR cause a version bump based on Keep a Changelog and adheres to Semantic Versioning

Curious: when do we anticipate developers running a Hydrogen dev server outside of the Hydrogen app they are developing?

Curious: when do we anticipate developers running a Hydrogen dev server outside of the Hydrogen app they are developing?


Create cluster - use a GET request to describe cluster details

Modify GetCluster to try to fetch the cluster using cluster ID or UUID,
if the clusterKey is the cluster's name, list the cluster with parameters.
Modify rosa create cluster to pass the cluster's ID to describe cluster
instead of the cluster's name.

Note: This change aims to solve the bug where large organizations like RedHat1 create a cluster,
and then describeCluster is listing all clusters and we get 504 from OCM.
Related: SDA-6551

@tzvatot @zgalor @vkareh PTAL

Verified - https://gist.github.com/ciaranRoche/1416e78caefd99e87d27bc2c9dc41a29
LGTM

/lgtm

/hold

@oriAdler We are trying to figure out why maxClusterNameLength = 15 - i.e.: where is the number 15 coming from? Do you have any documentation around why it's limited to 15. Limiting it to 15 is very restrictive (and causing issues), so trying to understand the reason behind it.
https://github.com/terraform-redhat/terraform-provider-ocm/pull/34#issuecomment-1571079857
@mgzabriskie FYI

@oriAdler We are trying to figure out why maxClusterNameLength = 15 - i.e.: where is the number 15 coming from? Do you have any documentation around why it's limited to 15? This limit is very restrictive (and causing issues), so trying to understand the reason behind it.
terraform-redhat/terraform-provider-ocm#34 (comment)
@mgzabriskie FYI

Checking our code base I can find this comment:
// ClusterName length cannot exceed fifteen characters.
// This field is passed to certificate operator service which
// cannot handle larger strings.
const maxClusterNameLength = 15


Bug: OAuth2 sign up makes AuthStore null

Hello,
I'm experimenting with Sveltekit and Pocketbase and, when trying to sign up a user using OAuth2 (specifically Github), everything goes well except that the AuthStore, when trying to redirect to the home page, becomes empty, meaning the user is not authenticated and thus sent to the login page again (since my '/' is a protected route). I've checked and, when performing the actions in the redirect, the AuthStore is set accordingly as well as the pb_auth token but immediately gone after the redirect happens... Below is a video demonstrating this. I've tried several possible solutions but without any success:

Take out the hooks for protected routes
Try to set headers to response and send the response with a redirect
AuthStore.refresh()

This only happens when performing the sign up of the user using OAuth2. After the first try, the login using OAuth2 works perfectly.
/* server.ts /redirect */
export const GET: RequestHandler = async ({ locals, url, cookies }: RequestEvent) => {
	const redirectURL = `${url.origin}/redirect`;
	const authMethods = await locals.pb?.collection('users').listAuthMethods();
	const code = url.searchParams.get('code') || '';
	const state = url.searchParams.get('state') || '';

	if (!authMethods?.authProviders) {
		console.error('No auth providers');
		throw redirect(303, '/login');
	}

	const provider = authMethods.authProviders.find((p) => p.name === cookies.get('providerName'));

	if (!provider) {
		console.error('Provider does not exist');
		throw redirect(303, '/login');
	}

	if (cookies.get('providerState') !== state) {
		console.error('State does not match');
		throw redirect(303, '/login');
	}

	if (!locals.pb) {
		console.error('Pocketbase not initialized');
		throw redirect(303, '/login');
	}

	try {
		await locals.pb
			?.collection('users')
			.authWithOAuth2(provider.name, code, provider.codeVerifier, redirectURL);
	} catch (err) {
		console.error('Error while logging with auth provider: ', err);
		throw redirect(303, '/login');
	}

	throw redirect(303, '/')
};

/* hooks.ts */
const pocketBaseHandler: Handle = async ({ event, resolve }) => {
	event.locals.pb = new PocketBase('http://<IP_ADDRESS>:8090');
	event.locals.pb.authStore.loadFromCookie(event.request.headers.get('cookie') || '');

	if (event.locals.pb.authStore.isValid) {
		event.locals.user = event.locals.pb.authStore.model;
	}

	const response: Response = await resolve(event);

	// TODO: secure before deployment
	response.headers.set('set-cookie', event.locals.pb.authStore.exportToCookie({ secure: false }));

	return response;
};

const protectedRoutesHandler: Handle = async ({ event, resolve }) => {
	if (event.route.id?.startsWith('/(app)') && !event.locals.pb?.authStore.isValid) {
		throw redirect(303, '/login');
	}

	if (event.route.id?.startsWith('/(auth)') && event.locals.pb?.authStore.isValid) {
		throw redirect(303, '/');
	}

	return await resolve(event);
};

https://user-images.githubusercontent.com/11543544/214281925-a79beee9-910e-4eb1-a1ef-b060d43d2407.mov

I'm not able to reproduce the issue locally by following the plain JS example in https://pocketbase.io/docs/authentication/#web-oauth2-integration/.
The problem here I think is related to the thrown redirect and how browsers handle the cookie SameSite=strict policy. You can find similar discussion in https://github.com/pocketbase/pocketbase/discussions/903#discussioncomment-4369424.
To confirm that the authStore is actually updated you can try also to console.log(locals.pb.authStore.isValid) right after the authWithOAuth2 call.


fix: Konnect Get Started Guide fast follows

Description

We got some feedback before we shipped the Konnect get started rework, so this PR implements that feedback.

DOCU-3691
Testing instructions
Preview link:
Checklist

[x] Review label added
[x] Conditional version tags added, if applicable.

For example, if this change is for an upcoming 3.6 release, enclose your content in {% if_version gte:3.6.x %} <content> {% endif_version %} tags (or if_plugin_version tags for plugins).
Use any of the following keys:

gte:<version> - greater than or equal to a specific version
lte:<version> - less than or equal to a specific version
eq:<version> - exactly equal to a specific version

You can do the same for older versions.

Hi @connorckong ! I made the fast follow changes to the Get Started guide. I left my rationale for why I made certain changes in the PR comments if you want to check those out and review it. Thanks!
Here's links to the pages I updated:

https://deploy-preview-7035--kongdocs.netlify.app/konnect/
https://deploy-preview-7035--kongdocs.netlify.app/konnect/getting-started/
https://deploy-preview-7035--kongdocs.netlify.app/konnect/getting-started/add-api/
https://deploy-preview-7035--kongdocs.netlify.app/konnect/getting-started/import/

@connorckong Thanks for the feedback! I made edits if you want to look it over again!


First gzip compression configuration is always disabled

Hello,
I don't know if I've missmatch any configuration because I'm not able to find anything about this (or maybe I don't know what to search), but when I enable the ngx_pagespeed module on Nginx, the first gzip compression is always disabled and shows a warn message:
pagespeed: rollback gzip, explicit configuration ...
I've seen that happens with first configuration, because I've a server with two pages and only the first gets the warning and don't have Gzip compression.
When I add the gzip configuracion to main http  section then the warning is on nginx.conf file and both webpages have gzip compression enabled.
Greetings!!

Hi, this should not happen,  can you post your nginx.config?

If gzip is done by pagespeed, I think is nomal the 1st shot don´t get gziped because pagespeed need more than 1 shot to work, same with all the other filters, 1st time url is not rewrited.
I gzip is set in nginx conf then pagespeed disables their own gzip feature because it is explicit set in nginx conf.

Hello,
The problem is that even after some hits the gzip still disabled, and is disabled on the whole web, not only the processed files.
My nginx.conf is:
user  www-data;
worker_processes auto;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;

load_module "modules/ngx_http_geoip_module.so";
load_module "modules/ngx_pagespeed.so";

events {
    use epoll;
    multi_accept on;
    worker_connections  1024;
}

worker_rlimit_nofile 2048;

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

  # Módulo pagespeed
  pagespeed On;
  pagespeed FileCachePath "/var/cache/ngx_pagespeed/";
  pagespeed EnableFilters combine_css,combine_javascript,convert_jpeg_to_progressive,recompress_images;

  # Activamos gzip para luchar contra la manía del pagespeed de desactivarlo
  gzip on;

    sendfile        on;

    keepalive_timeout  60;

    # DDOS
    client_body_buffer_size 128k;
    large_client_header_buffers 4 256k;
    limit_conn_zone $binary_remote_addr zone=conn_limit_per_ip:10m;
    limit_req_zone $binary_remote_addr zone=req_limit_per_ip:10m rate=50r/s;

    include /etc/nginx/conf.d/*.conf;
    include /etc/nginx/sites-enabled/*.conf;
    include /etc/nginx/upstreams-enabled/*.conf;
    include /etc/nginx/maps-enabled/*.conf;
}

and the host conf is:
server {
  server_name _;
  listen <IP_ADDRESS>:80;
  root /opt/www;

  index index.php index.html;
  autoindex off;

  # Logs
  access_log /var/log/nginx/access.log;
  error_log /var/log/nginx/error.log;

  location ~ robots.txt {
    return 200 "User-agent: *\nDisallow: /";
    add_header Content-Type text/plain;
  }

# Show server host name as header
  add_header X-Backend-Server $hostname;

# Behind proxy
  set_real_ip_from    <IP_ADDRESS>;
  real_ip_header      X-Forwarded-For;

  open_file_cache          max=2000 inactive=20s;
  open_file_cache_valid    60s;
  open_file_cache_min_uses 5;
  open_file_cache_errors   off;

  # Compression
  # Enable Gzip compressed.
  gzip on;
  gzip_http_version  1.1;
  gzip_disable        "msie6";
  gzip_min_length    256;
  gzip_proxied       any;
  gzip_vary          on;
  gzip_comp_level    5;

  # Compress all output labeled with one of the following MIME-types.
  gzip_types
    application/atom+xml
    application/javascript
    application/json
    application/rss+xml
    application/vnd.ms-fontobject
    application/x-font-ttf
    application/x-web-app-manifest+json
    application/xhtml+xml
    application/xml
    font/opentype
    image/svg+xml
    image/x-icon
    text/css
    text/plain
    text/x-component;

  server_tokens off;

  # DOS
  limit_conn conn_limit_per_ip 20;
  limit_req zone=req_limit_per_ip burst=50 nodelay;
  limit_conn_status 499;

## Start: Size Limits & Buffer Overflows ##
  client_body_buffer_size  12K;
  client_header_buffer_size 12K;
  # 413 (Request Entity Too Large)
  client_max_body_size 25M;
  # 414 (Request-URI Too Large)
  # 400 (Bad Request)
  large_client_header_buffers 2 12K;
  ## END: Size Limits & Buffer Overflows ##

  ## Start: Timeouts ##
  # 408 (Request Time-out)
  client_body_timeout   10s;
  # 408 (Request Time-out)
  client_header_timeout 10s;
  keepalive_timeout     5s 5;
  send_timeout          10s;
  ## End: Timeouts ##

  ## Start: File Expiration ##
  expires $expires;
  ## End: File Expiration ##

  location / {
    try_files $uri $uri/ /index.php?$args;  # make index.php handle requests for /
  }

  location ~* \.(eot|ttf|woff|woff2)$ {
    try_files $uri $uri/ @proxy;    # look for static files in root directory and ask backend if not successful
    add_header Access-Control-Allow-Origin "*";
    sendfile           on;
    sendfile_max_chunk 1m;
    access_log off;
  }

  location ~*\.(jpeg|jpg|gif|png|css|js|ico|swf|gz|svg|svgz|ttf|otf|woff|woff2|eot|mp4|ogg|ogv|webm|zip)$ {
    try_files $uri $uri/ @proxy;    # look for static files in root directory and ask backend if not successful
    #add_header Access-Control-Allow-Origin "*";
    sendfile           on;
    sendfile_max_chunk 1m;
    access_log off;
  }

  location @proxy {
    fastcgi_pass hhvm_backend;      # proxy everything from this location to backend
  }

  location ~\.php$ {    try_files $uri =404;      # if reference to php executable is invalid return 404
    fastcgi_read_timeout 600;
    fastcgi_send_timeout 600;
    fastcgi_buffers 8 8k;
    fastcgi_buffer_size 8k;
    fastcgi_intercept_errors on;
    fastcgi_keep_conn on;       # use persistent connects to backend
    include fastcgi_params;
    fastcgi_param  HTTPS on;
    fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_pass hhvm_backend;
  }
}

With this configuration the nginx.conf gzip is ignored and then the host gzip works. If i comment the nginx.conf gzip entrie then the host gzip entrie is ignored and the whole page is without gzip.
Greetings!!

Are you using a proxy? If yes, you need to enable gzip for proxy
gzip_proxied any;
to enable all proxied responses gziped
here you can read it

Hello,
I'm unsing the same nginx as proxy (local), and I've already set the gzip_proxied to any.
Without the pagespeed module gzip works perfect with same configuration, but just when I enable the module it shows a warning message about gzip and gets disabled.
Greetings!!

HI @Danixu
When you try to the "real" server at <IP_ADDRESS>:80 bypassing the proxy, the
issue still here? What is the server config block?

Hi there,
any solution available?
I also facing same issue on my LEMP stack
root@ucsg1:~# tail -f /var/log/nginx/error.log
2019/09/19 22:15:44 [info] 6265#6265: [ngx_pagespeed <IP_ADDRESS>-0] No threading detected. Own threads: 1 Rewrite, 1 Expensive Rewrite.
2019/09/19 22:15:44 [info] 6265#6265: pagespeed: rollback gzip, explicit configuration in /etc/nginx/comp_gzip:2

nginx -V
nginx version: nginx/1.16.1 (LEMPer)
built by gcc 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04.1)
built with OpenSSL 1.1.1c  28 May 2019

But you get content no gzipped? Any luck to get a url to test?

@Lofesa
yes, i got it gzipped

$ curl -H "Accept-Encoding: gzip" -I https://*****.com/
HTTP/2 200
date: Mon, 23 Sep 2019 06:32:23 GMT
content-type: text/html; charset=UTF-8
vary: Accept-Encoding
server: LEMPer
x-fastcgi-cache: HIT
x-page-speed: LEMPer/PageSpeed
content-encoding: gzip

Whenever I turn off the Gzip, I still get the gziped results on Pagespeed enabled vhost.
So, this is not an issue, right?

2019/09/19 22:15:44 [info] 6265#6265: pagespeed: rollback gzip, explicit configuration in /etc/nginx/comp_gzip:2
This messages is informational, pagespeed disables gzip cause it is enabled in te server.

@Lofesa thanks for the clarification :)

Hi @joglomedia
If you enable compression in pagespeed (is done by gzip) , optimized resources are served w/ gzip compression, but if you enable gzip in the server too, then pagespeed disables compression to avoid optimized resources be double gziped so you get the message saying that pagespeed diabless gzip.


language can't setting zh-CN

We have written the needed data into your clipboard because it was too large to send. Please paste.

duplicate of #92950


README file updated

The contents for CONTRIBUTING.md is added in the README file
Closes #9

Yeah, I would like to collaborate on this.
But according to #1 , README should have link to CONTRIBUTING.md. So, which way will it go then?

@saiyam suggested here https://github.com/kubesimplify/tweets/pull/11#issuecomment-1086152779 to add things on README itself so we are going with no CONTRIBUTING.md I guess. I would recommend to confirm once with Saiyam as we usually using contributing file for this purpose

@BushraNazish with the new issue to PR template - it would be great to have the complete end to end flow in the readme with all the sites that a new person wants to do - once two PR's are merged can you put that in ?

Yes @saiyam1814 will do it. Vishal has worked on the PR template issue it seems. I will talk to him and get it merged.

@BushraNazish Can you create a google docs file for editing the Readme.md?
OR
should I be sharing the link?

@BushraNazish so we have a workflow running
Issue > PR > Tweet
Issue template is already there , I don't think we need a PR template and we can start the documentation process.

Sounds good @saiyam1814 👍


Feat: Prune/Compress the nnUNet models for performance gains.

Problem
Inference is a tad bit slow when it comes to large datasets.
Solution
Performance gains can be achieved by using Intel's Neural Compressor: https://github.com/intel/neural-compressor/tree/master/examples/pytorch/image_recognition/3d-unet/quantization/ptq/eager. And Intel has already provided an example on how to do so. So we just need to implement this for getting a lean model (still need to check the performance gains)
*Alternate solution
Is to bring in a fast resampling function (torch or others...)

Update: correctly executed the nnUnet example of Intel's Neural Compressor on the Brats dataset (Brain tumor challenge).

Attached are the results on my machine.
Will try it on Moose next.

Great @davidiommi, hope you have the moose-models!

Is there any update on this? Would be quite useful.
I had a look at the example link (https://github.com/intel/neural-compressor/tree/master/examples/pytorch/image_recognition/3d-unet/quantization/ptq/eager), but I don't fully understand the required steps for the tuning. Does the tuning process of the models dependend on the data? Or why does the following command need the preprocessed_data_dir as an argument?
python run.py --model_dir=build/result/nnUNet/3d_fullres/Task043_BraTS2019/nnUNetTrainerV2__nnUNetPlansv2.mlperf.1 --backend=pytorch --accuracy --preprocessed_data_dir=build/preprocessed_data/ --mlperf_conf=./mlperf.conf --tune

@chris-clem I think we don't need this, @dhaberl implemented an alternative solution for reducing the memory overhead. This should solve most of the problems. I have just removed it (now) from the main code base because it was causing some compatibility issues. This should be solved by December 👍🏼🙏🏽

We don't need this anymore! moosev2 is remarkably fast than the first version! thanks to @Keyn34 !


Feature: Multiple Instances for CachedQuery

Hi,
I’d like to request the ability to create multiple CachedQuery instances, instead of just using a singleton. This would make managing queries easier in larger apps and prevent potential conflicts when using third-party libraries that also use CachedQuery.
Example Use Cases

Handling Different Data Sources:
You might want to separate caches for different types of data:
// might havr differetent cacheTime, refetch on connection, etc ...
final apiCached =
final userQuery = apiCached.createQuery(...);

final productCached =
final productQuery = productaCached.createQuery(...);

Scoping Queries to Specific Parts of the App:
In larger projects, we might want to manage queries in different modules independently:
final moduleAQuery = moduleACachedQuery.createQuery(...);
final moduleBQuery = moduleBCachedQuery.createQuery(...);

Testing Queries Independently:
Having separate instances would make testing easier by isolating queries:
final testQuery = CachedQuery(...).createQuery(...);

Avoiding Conflicts with Third-Party Libraries:
Third-party libraries might also use CachedQuery, and with a singleton, we could face key conflicts between our app's queries and those used by the library. With separate instances, we could avoid this problem..

Edit
// compatible with current API
final userNotesQuery = Query(key, queryFn, ..., cache: <Cached Query Instance>);

// Alternative
final userNotesQuery = <Cached Query Instance>.createQuery(...)

Interesting, when I originally designed the global cache I had it in a provider. However, the architecture we generally use is where our data layer to be separate to our UI layer. So a singleton was a better fit due to the fact you can use it anywhere.
I think a good starting point for implementation will be to take inspiration to how https://pub.dev/packages/get_it handles scoping. Or just use get_it, although I would rather not add dependencies if possible.
@xeinebiu do you have any thoughts on this?

Interesting, when I originally designed the global cache I had it in a provider. However, the architecture we generally use is where our data layer to be separate to our UI layer. So a singleton was a better fit due to the fact you can use it anywhere.
I think a good starting point for implementation will be to take inspiration to how https://pub.dev/packages/get_it handles scoping. Or just use get_it, although I would rather not add dependencies if possible.
@xeinebiu do you have any thoughts on this?

I've used Get_It and I like it. I would really appreciate having the option to manage multiple instances of "cached_query," similar to what is shown in the examples:
final userNotes = Query(..., cache: moduleACachedQuery);
final globalUserNotes = Query(...); // Not specifying the cache will use the global instance as it is currently

ReactQuery offers the ability to manage multiple instances in a similar way.
If you need any help, let me know and I'll try to find some time to contribute.

okay, makes sense. Adding an option to pass a custom client would be a good and simple starting point. This would mean that the user of the library would have to keep a reference to the custom client by them selves eg, using a provider or a singleton of their own. There would be no scoping like in react as we are not using the build context to scope the client.
eg. in react you can wrap a section of the app with a QueryClientProvider. useQuery will find the closest client. This will not be available.

okay, makes sense. Adding an option to pass a custom client would be a good and simple starting point. This would mean that the user of the library would have to keep a reference to the custom client by them selves eg, using a provider or a singleton of their own. There would be no scoping like in react as we are not using the build context to scope the client.
eg. in react you can wrap a section of the app with a QueryClientProvider. useQuery will find the closest client. This will not be available.

QueryClientProvider is not a must I would say. Only a possibility to provide a "Cached Instance" to Queries or Mutations instead of using the Global/Singleton one.

Updated with the following versions:
cached_query: ^2.1.0
cached_query_flutter: ^2.3.0

Updated with the following versions:
cached_query: ^2.1.0
cached_query_flutter: ^2.3.0

https://cachedquery.dev/docs/guides/query#local-cache
Full example: https://github.com/D-James-GH/cached_query/tree/main/examples/multiple_caches

Thanks for your time, apprecite the new feature. <3


No prompt on Powershell ISE

The prompt disappears when 'pshazz init' is executed in the Powershell ISE console pane, working ok in standard Powershell Console though.

Yes, it's not designed to work in Powershell ISE.

This is because pshazz uses write-host, instead of write-prompt or write-output, which doesn't work in PowerShell ISE.
Maybe somebody could submit a PR which uses write-output with ANSI terminal sequences to use color. Something like:
$E = [char]27
$resetColor = "$E[0m"
$red = "$E[38;2;255;0;0m"
$blue = "$E[38;2;0;0;255m"

function prompt {
     "PS ${blue}$(pwd.Path)${red}>>>"
}


Create Reduce_Row_Echelon_Form.java

Hi, I created Pull Request at 04/10/2021 5:53 PM and added Reduce_Row_Echelon_Form.java

Try something better!


Warnings when using Mojo::Util standalone

I like using Mojo::Util as a convenient set of tools outside of Mojolicious projects, too. Since commit 413320b98d7e6c842a4c0c2fdc9656f87a535d7c released with 6.04 I get the following warnings when trying to do so:
Useless use of a constant ("has") in void context at /usr/share/perl5/vendor_perl/Mojo/Base.pm line 39.
Useless use of reference constructor in void context at /usr/share/perl5/vendor_perl/Mojo/Base.pm line 39.
Useless use of private variable in void context at /usr/share/perl5/vendor_perl/Mojo/Base.pm line 65.
Useless use of reference constructor in void context at /usr/share/perl5/vendor_perl/Mojo/Base.pm line 65.
Useless use of private variable in void context at /usr/share/perl5/vendor_perl/Mojo/Base.pm line 73.
Useless use of reference constructor in void context at /usr/share/perl5/vendor_perl/Mojo/Base.pm line 73.
Useless use of private variable in void context at /usr/share/perl5/vendor_perl/Mojo/Base.pm line 77.
Useless use of reference constructor in void context at /usr/share/perl5/vendor_perl/Mojo/Base.pm line 77.

Thanks, fixed. I'm not happy with the solution though, and might just revert the original optimization instead. https://github.com/kraih/mojo/commit/5adf5589710f80a4fab37926ac710f0fc6aecb84

02:16 <@mst> sri: isn't that just a circular require problem?
02:16 <@mst> yep
02:16 <@sri> possibly, the warnings are very useless though
02:21 <@sri> curious how "Mojo::Util::monkey_patch $caller, 'has', sub {
attr($caller, @_) };" causes "Useless use of a constant ("has") in
void context at lib/Mojo/Base.pm line 39."
02:21 <@sri> i guess Mojo::Util::monkey_patch is not yet defined
02:21 <@sri> triggering that oddity
02:21 <@mst> and so you parse it as indirect object notation
02:21 <@mst> $caller->Mojo::Util::monkey_patch(), 'has', ...
02:21 <@sri> oh shit... of course... indirect object notation
02:22 <@sri> facepalm
02:22 <@mst> which is what ciruclar requires cause, which can easily break
things later, which is why I went "ew" at this
02:22 <@mst> Moose::Util::TypeConstraints predeclares its subs for exactly this
reason
02:22 <@sri> i guess i can predeclare monkey_patch
02:23 <@mst> right
02:23 <@mst> sub monkey_patch;
02:23 <@mst> sorts it out

Will this solve the following problem too?
use Mojo::Util;
use Mojo::UserAgent;

results in "syntax error at [...]/Mojo/IOLoop/Client.pm line 30, near "has reactor".

@Tekki Yes.


Rails and Minecarts

Minecarts can be right-clicked on rails that are attached to a ship, but it won't hook onto the rail.

Old issue, closed. It'd be quite challenging to make minecarts really work.

Not an old issue, but yes youre right.
Maybe only try to hook on if its falling towards the rail and not away
proposed solution would also let carts slide away when ship is tilted

tested in jenkins v460
not old at all


Add register attributes

e.g: [Field]
And add
PacketParser.RegisterAssembly(Assembly) to check for attributes in other assemblies.

This is really hard because of assembly trimming and assembly dependencies see Assembly.GetTypes().
Just use the register methods.


feat(lang-server): Add support for Unsupported

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Looks like tests are failing

Looks like tests are failing

Looks like tests are failing

Yep I'll look at all tests on all branches once I finish everything. They seem to be passing locally, so I'll investigate

Looks like tests are failing

Yep I'll look at all tests on all branches once I finish everything. They seem to be passing locally, so I'll investigate

This adds auto completion support for the Unsupported term only, correct?

This adds auto completion support for the Unsupported term only, correct?

@janpio yeah, if you click on the little arrow in the autocomplete dropdown you should be able to see it
Alright I'm merging this one then

@janpio yeah, if you click on the little arrow in the autocomplete dropdown you should be able to see it
Alright I'm merging this one then


[Task]: SamzaInternalTimerFactory needs limit the processing time timer buffer

What needs to happen?
Change to support Process Time timers to be loaded in a buffer before triggered, throttling the amount of PROCESS_TIME timers loaded into memory similar to EVENT_TIME timers currently.
Issue Priority
Priority: 2
Issue Component
Component: runner-samza

.take-issue


test: add geo multi env test

Description of changes

Add multi env test cases for geo
Add backend config update for geo category to avoid incorrect meta file generation resulting from executing amplify env checkout command after a geo resource update

Issue #, if available
Fix partially #8566
This fix only has impact on geo category when running amplify env checkout without a --restore flag.
It is recommended to run this command with flag before the issue is fully fixed.

Description of how you validated changes
Checklist

[x] PR description included
[x] yarn test passes
[x] Tests are changed or added
[ ] Relevant documentation is changed or added (and PR referenced)
[ ] New AWS SDK calls or CloudFormation actions have been added to relevant test and service IAM policies

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

Changes incorporated in the GA PR in this commit https://github.com/aws-amplify/amplify-cli/pull/9999/commits/7e996ecb12bbe502d1351d3b55d79afd177531f6


Gulpfile.js doesn't support custom module and theme folders

Custom module and theme folders were introduced in 1.10 as a configurable item in web.config.
The gulpfile is still only looking in the original hard-coded locations for an assets.json file:

https://github.com/OrchardCMS/Orchard/blob/dev/src/Gulpfile.js#L81

Code:
var assetManifestPaths = glob.sync("Orchard.Web/{Core,Modules,Themes}/*/Assets.json");

@DanielStolt

It is up to each Themes providers to implement the new gulp pipeline if they feel that they need it. I would strongly suggest it. It should looks for any Core,Modules,Themes folders that have an Assets.json file.
Ex :
/Orchard.Web/Themes/MyTheme/Assets.json
/Orchard.Web/Modules/MyModule/Assets.json
/Orchard.Web/Core/CoreExtension/Assets.json
/*/ --> this means any "folder name"

But the new feature means they might not be in those three core folders:
https://github.com/OrchardCMS/Orchard/blob/dev/src/Orchard.Web/Web.config#L17
Web.config snippet:
    <!-- Optional additional comma-separated list of folders for Modules or Themes -->
    <!-- Note: Themes that are not under ~/Themes/ should have web.config with appropriate access permissions. -->

    <!--
    <add key="Modules" value="~/Ibn_Modules,~/Customer1/Modules"/>
    <add key="Themes" value="~/Themes/MoreThemes,~/Customer1/Themes" />

If you "move, add" the module or theme folders you should then change the gulpfile.js accordingly.
Else we would need to generate the gulpfile.js ... not sure we want to do that. Leaving @DanielStolt give his opinion on that one :)

yep... we are going to end up with an asset manifest for the asset manifests :)

This system has so many problems. The main ones for me are:

For .LESS: no detection of modification on imported files. This mean you can structure your LESS code.
All the assets folders are uselessly exported on publish.
All the dummy style.css created by dummy asset in new modules are harvested and take a slot in each tenant features and resources, again wast of memory and process time.

Is it the system, though?

You can add a "watch" array of .LESS files to monitor for changes so that you can structure your LESS code
You can exclude them from the publishing pipeline: https://blogs.msdn.microsoft.com/webdev/2010/04/22/web-deployment-excluding-files-and-folders-via-the-web-applications-project-file/
The dummy files are there to help get you started. Just delete them if you don't need them.

Well if you succeed with "watch" array applied in imported LESS file, I would be pleased to know the trick to use.
Concerning your link, this option it is too much restrictive and does not apply
For the dummy files, I use teh asset folder in 2% of my modules, so not generating them seems a better option and if I need theme I will create just as for the Driver or Handler folders which are not created by default.
Moreover, if the folder is created do not fill it with a dummy less code which generates empty css loaded in the features in many versions.

@CSurieux as usual you are trolling and polluting the thread with irrelevant nagging. Open separate issues for your complaints, because they have nothing to do with this one.

As to the actual topic - I do agree that it would be useful if the gulp pipeline handled this automatically, but I'm struggling a bit to see a robust/clean way to do it.
The reason why we constrain the glob pattern to Orchard.Web/{Core,Modules,Themes}/*/Assets.json is performance, particularly with respect to watchers -  so I suppose we could remove that constraint to look for Asset.json files across the whole solution which would solve this for some scenarios. But in Web.config I assume we can also specify other arbitrary folders that could, theoretically, be anywhere on disk? Those cases would not be handled...
One idea could be to have Gulpfile.js actually parse out the configured extension folders from Web.config, and add them to the glob. Might not be too difficult actually. Would be interested to hear what people (non-trolls) think about that?

@DanielStolt  too easy to always close the discussion to the scope you decide and distribute Troll tags when you don't kwnow.
You could minimally agree on the fact that what I say is true: for people using legacy Orchard features and Less construction there are very important flawn.

@CSurieux But @DanielStolt is right; we are off-topic. Better to open a discussion thread elsewhere and stay focused on the issues at hand.

Sorry but I don't totally agree on the perimeter given to issues, sometime the whole thing must be re-thinked rather than adding micro and complex evolutions which block the real better way.
And I am tired of this lack of ... how to call this ???

You can add a "watch" array of .LESS files to monitor for changes so that you can structure your LESS code

{
    "inputs": [
        "Assets/Theme/Less/includes/themes/theme-orchard.less"
    ],
    "output": "Styles/TheAdmin.css",
    "watch": ["Assets/Theme/**/*.less"]
},

Here is the example that we use in the new admin theme. @CSurieux you should look at it.

Sorry but I have done this 6 months ago and it does not work

It does in the new admin theme. Just try it !

It is still in my json and doers not. You have no import satements.
I am using a common.less used in 4 different final targets and some local imports for each target and it does not work, I am always obliged to touch the imported less file to have final css's built.

Open an other issue, we will look into it. I'm willing to help you out to make it work. We have @imports in other files that you did'nt looked into.
For the current topic, I think how the gulpfile.js is right now is fine. Having it in sync with the web.config file would'nt hurt but still I think that we will never cover all scenario's possible just by doing that. Example : someone could want to put the module or theme folder out of the /Orchard.Web/ folder ... Wich makes me think that what we need is to add this in the documentation so that everyone knows how to work with it.

This system of  fragmenting issues to focus on a clear problem is like the whole gulp and .less import flawn.
I have already opened an issue on this.
After years following Orchard,  I am sure the issue management when it try to process as in stackoverflow is not good . It is a good process for them, they don't deal with One project but with customers and their target is to have solved on each issue.
In a real project, this is not the target. You should not work with a sole process of having a long list of issues and killing one after the other. Some collation and aggregation process is necessary.
This is the reason why fragmenting issues is not good.
As the Codd rules for hierarchical databases are not the best thing when in real universe.

You seem to be arguing against open source, or at least against the collaborative model where everyone comes in with different priorities.To be more constructive, you can very well refer to one issue from another, giving proper perspective. I would reinforce that one issue per problem is the right way to go however.

If you want we open something somewhere because I agree we are no more on the gulp system Pb.
I am not arguing against open source ? Why are you saying this ?

Alright in the new admin theme you have.
\Orchard.Web\Themes\TheAdmin\Assets\Theme\Less\includes\themes\theme-orchard.less file wich is the entry point for the LESS transpiler. In this file you have @import "../../orchard.less"; wich is on the first line of that file. Then, if we go see in that file orchard.less file. We have again a lot of @import
@import "style.less";
@import "orchard-media-library.less";
@import "orchard-flexbox-common.less";
@import "orchard-alerts.less";
@import "orchard-navigation.less";
@import "orchard-widgets.less";
@import "orchard-modules.less";
@import "orchard-structure.less";
@import "orchard-panels.less";
@import "orchard-tables.less";
@import "orchard-tabs.less";
@import "orchard-forms.less";
@import "orchard-pager.less";
@import "orchard-modal.less";
@import "orchard-content-items.less";
@import "orchard-admin-shim.less";
@import "orchard-voffset.less";

These are the LESS files that are structured per scope/functionalities.
If you look into the \Orchard.Web\Themes\TheAdmin\Assets.json file you will see :
"watch": ["Assets/Theme/**/*.less"]
So as long as people uses this folder to add/edit LESS files the gulp watch task will trigger a compilation of those files. If you ommit to add the @import of a newly create LESS file then it will not add it to the transpiled \Orchard.Web\Themes\TheAdmin\Styles\TheAdmin.css
I've not had any problems to work like that. I could even add folders to watch if needed.
TODO : Add proper documentation.

assets.json:
[
{
"inputs": [
"Assets/Less/Lib/Bootstrap/bootstrap.less",
"Assets/Less/Lib/FontAwesome/font-awesome.less"
],
"output": "Styles/Lib.css",
"watch": [ "Assets/Less/Lib/Bootstrap/variables.less" ]
},
{
"inputs": [ "Assets/Less/Site.less" ],
"output": "Styles/Site.css",
"watch": [ "Assets/Less/common.less","Assets/Less/layout.less", "Assets/Less/bootswatch.less" , "Assets/Less/lib/bootstrap/variables.less" ]
},
{
"inputs": [ "Assets/Less/Home.less" ],
"output": "Styles/Home.css",
"watch": [ "Assets/Less/common.less", "Assets/Less/layout.less", "Assets/Less/bootswatch.less" , "Assets/Less/lib/bootstrap/variables.less" ]
},
{
"inputs": [ "Assets/Less/Blogs.less" ],
"output": "Styles/Blogs.css",
"watch": [ "Assets/Less/common.less","Assets/Less/layout.less", "Assets/Less/bootswatch.less", "Assets/Less/lib/bootstrap/variables.less" ]
},
{
"inputs": [ "Assets/Less/Logon.less" ],
"output": "Styles/Logon.css",
"watch": [ "Assets/Less/common.less","Assets/Less/layout.less", "Assets/Less/bootswatch.less", "Assets/Less/lib/bootstrap/variables.less" ]
}
]
This does not watch ?

I can assure you that this should work if everything is at the right place. Try finding an error in the LESS files that would prevent the transpilation to kick in. Try to also look if you don't have circular @import in those LESS files that could prevent this to work. I'm not totally sure why you are watching the Bootstrap variables.less file directly. Those Bootstrap files should never be edited, only overriden by another LESS file that is declared later on in the CSS pipeline.

Sorry but I am not interested in "watch": ["Assets/Theme/**/*.less"] which rebuild everything as soon as one file is changed.

Why ? Should we specify each of those files instead ? Elaborate !

When you said "After years following Orchard, I am sure the issue management when it tries to behave as in stackoverflow is not good . It is a good process for them, they don't deal with One project but with customers and their target is to have solved on each issue." it sounded to me like you were arguing against a collaborative model where everyone has their own set of priorities. Then again, it wasn't super clear, so I may have misinterpreted. In any case, we all prefer to work with well-defined, single-responsibility issues. If something needs context from other issues, you can cross-reference them. It's the first time I see anyone argue for multiple issue tickets, anywhere.

@Jasmin I am using bootswatch.
Anyway thanks for your efforts, I can keep on.
@Bertrand it is not multiple issues tickets, just a perimeter and a correlation factor, relating tickets to each others is not working perfectly. May be you have not seen this, but I have, in large telco projects years ago and ... last year for a bank with 1200 tickets backlog. The consulting company was taking the work ticket by ticket because all the statistics where bulit on the nomber of solved/backlog tickets. There are many ways to manage this problem. It seems that today developper are very influenced by some large boards as Stackoverflow, forgeting they have differents targets. Not to say that stackoverflow is bad. Simply they have not the same targets as us, they have no way to process differently.

I want to reassure you that nobody's making job-altering statistics on solved and backlog tickets. The concern is just to avoid those situations where we agree on only part of the issue and/or solution, and have tickets that remain open because they are only partly fixed. Single issues also are easier to understand, making it more likely that somebody will pick it up and work on it. For those broader scenarios that you seem to be talking about, I think it's fine to still break it down into atomic problems, and then have one "meta-issue" that gives the broader context and references each of the smaller issues. Would that be an improvement?
Sorry by the way for derailing the thread a bit.This probably belongs on forums.

We could relate what you said with the content cloning PR that is currently investigated wich solves a lot of different issues. #6630
I used "Localization" label to regroup all these issues so that I can see a better global scope of what's missing.
Yes, you are using Bootswatch wich should have their own overrides of the main Bootstrap variables. I would add a watch on those. Example : https://bootswatch.com/cosmo/variables.less

@CSurieux Nobody is saying that an issue can't be big and composite, or have a broad scope. Indeed there are plenty of issues created with very broad scopes - that's fine!
What we are asking is simply that you refrain from trying to change the scope of an issue somebody else created. Don't hi-jack an issue created with a specific narrow scope to try and promote your broader thoughts, because when you do that the OPs intended issue gets lost in the noise - instead, create a broader issue of your own, and reference this one as an example.
As a case in point - I think very few people actually noticed my response to the issue at hand (which was actually requested) because everyone has been caught up in this meta-discussion with you.

@Jasmin Savard in my model, using one  bootswatch theme, its replaces bootstrap, you have not bootstrap AND bootswatch side by side. Are you learning when teaching the others :)

@Bertrand Ok

Here an example of implementation of Bootswatch : https://github.com/psenechal/PJS.Bootstrap/tree/master/Styles
We can see that clearly the guy is using Bootstrap lib and also Bootswatch specific less files.
Look at how he did this. You are supposed to have Bootstrap and Bootswatch side by side.

Thanks but I implemented correctly and have been using it since a long time.
May be before Philippe.
Do a try on your side. I have no more time to help you.
Best.

@DanielStolt

The reason why we constrain the glob pattern to Orchard.Web/{Core,Modules,Themes}/*/Assets.json is performance, particularly with respect to watchers - so I suppose we could remove that constraint to look for Asset.json files across the whole solution which would solve this for some scenarios. But in Web.config I assume we can also specify other arbitrary folders that could, theoretically, be anywhere on disk? Those cases would not be handled...

I think it would be reasonable to require extra configuration if your module folder is outside of the root. The examples given in the web.config both have ~ notation at the start. I think to even use external folders you would have to configure special permissions to access the file system so you must at that point be expecting to have to do extra configuration elsewhere.
If we can't pull this information automatically then we will need to provide some kind of registration mechanism so that the gulpfile can have extra locations injected without having to modify the gulpfile directly. It might end up with yet another manifest / config file but I guess in the majority of situations it wouldn't be required.

One idea could be to have Gulpfile.js actually parse out the configured extension folders from Web.config, and add them to the glob. Might not be too difficult actually. Would be interested to hear what people (non-trolls) think about that?

I think this is a good option to explore. I don't know what the complexities of resolving the ~ is within JavaScript?

I was just re-reading this thread to write some more of the docs and saw this comment by Bertrand

https://github.com/OrchardCMS/Orchard/issues/5450#issuecomment-117795425

Another thing I'd suggest is to put that JSON into package.json: package.json is extensible, and I'm not sure it's a good idea to introduce a new file. Grunt & Gulp already use package.json for a number of things, and it seems like a good thing.

I forgot about this but putting your own proprietary extensions into this file is allowed and in fact encouraged by the NPM team as they wanted it to become the standard js package format but still be flexible for people's needs.
This could be the location for the extra paths to be stored if we can't calculate them automatically.

@rtpHarry Interesting - which package.json file would be put the paths in?

I would add an empty assetConfig.json file to the solution items/gulp folder or use the package.json file "wich I think is less explanatory". Load the assetManifestPaths from that json wich would contain by default the paths to the "core, module, themes" folder. We should also let people be able to define wathever paths they like to watch. Wich means to not be restrained to "Orchard.Web/" folder.
Could be done totally differently, but the idea is to be able to have a list of editable paths that we can add to the gulp watcher.

@DanielStolt there is just one package.json isn't there?
@Skrypt Yes, both approaches are equal from a technology standpoint. I guess it just comes down to the opinion of the group as to whether we want more file formats or not. The only reason I was looking for an existing place to stuff the config was because I thought that the consensus was that Orchard already had too many config files and formats. If somebody can make a compelling case for one or the other then I'm happy with that.

@rtpHarry I don't know what I was thinking... yes, I somehow confused the two.
Anyway, it would be nice if we could avoid forcing folks to alter files that are part of the Orchard code base, and not have to deal with constant merging down the line when pulling in newer versions of Orchard into their repos. So that would point to a solution where we allow people to add files to the solution which we automatically discover.
On the other hand, such a solution is less discoverable because the file is not there to begin with - how do you know what to add and where? Also, it's dangerously close to the "manifest for manifests" vision someone mentioned above.
So perhaps a reasonable compromize is to put this into a file that does exist in the Orchard repo, but which rarely (if ever) changes there, but rather will only ever change in your own repo. To that point, I think an assetsConfig.json would be better than packages.json because a) it is more discoverable and self-explanatory - if you're looking for some place to configure the asset stuff, you would see that file and make the connection and b) it is much less likely to change in the Orchard repo for any reason, in fact it's hard to see why it ever would.
So my vote: we add an assetsConfig.json file next to Gulpfile.js and we move the default paths into that file.

ok yes assetsConfig.json sounds like the winner then.
Although we haven't had much of a go at auto-discovery yet. If the gulpfile.js can find the web.config and open it then it knows that ~ means that current folder.

open web.config, extract key(s), split into array
If it starts with ~: replace the tilde with the relative path from gulpfile.js to web.config. add glob pattern on end.
If its a relative path then thats fine, same as above It might go up and down the file tree but thats not an issue.
If its a file path then I assume node will be ok with it? needs testing

At the moment there could potentially be two locations for web.config, if they are using the azure project but Seb said that was being phased out shortly.

There is just one web.config on the dev branch right now.

That would work I guess - and as @sebastienros pointed out, the Azure solution is already long gone in dev.
But I somehow don't like the idea anymore, it seems messy somehow. The assetsConfig.json approach seems nicer to me, I like that asset manifest harvesting is a separate, explicitly configured process that does not have to necessarily align 1-to-1 with extension folders. For example, maybe you have assets located somewhere completely different, such as in your Media folder, that you wish to process? This way you can do that, and process any assets even if they don't reside in an Orchard extension proper.

maybe a bool setting in assetconfig that says "auto harvest modules from custom folders defined in web.config" which defaults to true. That way for 90% of the users it just works, and it can be tweaked for advanced users without having to touch the gulpfile.

That's not bad. I like it. You want to take a stab at it?

Yep I'll take a run at it

Code is messy at the moment but its being worked on.
The js is here but not been merged into the main gulpfile.js yet as there is still refactoring to do.
It introduces a new assetsConfig.json as agreed which pulls in from the web.config and also allows custom paths to be added into the pipeline.

One bif of feedback on what you have so far: I think we should keep the actual logic to get paths from Web.config in the main Gulpfile.js and let assetsConfig.json only contain the actual paths, along with the boolean to control whether to read Web.config. This is to minimize the risk of people having to deal with conflicts when they've made changes, by keeping the stuff we might change in one file and the stuff they might change in another file.

Yeah you mean it shouldn't stay in parseWebConfig.js?
That was just so I could debug it in Node while I was writing it without the rest of the pipeline getting in the way. I agree it should be merged.

doh this is the second time I've confused concepts in this thread. I somehow had it in my head that you might intend to keep the logic in the JSON file, not even realizing the impossibility of this... Please disregard my silliness.

Actually, I'm thinking, since I'm reusing the gulp pipeline outside Orchard context. Maybe keeping things modular with it could be another approach. I mean, we actually could keep the actual gulpfile.js with generic functions and use an extension method to feed it's list of paths to look at. From this point of view now, I think that parsing web.config file is only relevant for Orchard itself. Wich makes sense to keep the actual function to read the web.config file in it. But the other functions to read the list of custom paths should be directly in the gulpfile.js.


drivers: display: gc9a01a: Add support for galaxy core gc9a01a display controller

Adding display driver for GC9A01A LCD display controller from galaxycore.

Hi @MrMarteng Thanks for taking up the changes to the driver. There are some compliance issues that need to be resolved. Please look into them. :)

Might be worth renaming it to gc9a01a -> gc9x01x
as I was looking at gc9c01 and it seems to be almost entirely the same, with the same commands
The c version is bigger, with a 360x360 resolution and ~2x more GRAM.
for ref: https://www.buydisplay.com/download/ic/GC9C01.pdf

Still work in progress. I am also still trying to get details on some undocumented registers/commands.

Thanks, @MrMarteng. Do you have an overlay you were testing with?

Thanks, @MrMarteng. Do you have an overlay you were testing with? I'm going to try it with the lvgl base sample, Waveshare, and a nRF5340 DK:
    mydisplay: gc9x01x@0 {
        compatible = "galaxycore,gc9x01x";
        reg = <0>;
        reset-gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
        cmd-data-gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>;
        backlight-pwm = <&pwm_led0>;
        pixel-format = <0>;
        display-inversion;
        spi-max-frequency = <8000000>;
        width = <240>;
        height = <240>;
    };

Has anybody else tried to get it working yet?

I am testing it on a m5dial. Here is my working configuration:
/ {
    pwmleds {
      compatible = "pwm-leds";
      backlight_pwm: backlight_pwm {
        pwms = <&ledc0 0 PWM_MSEC(10) PWM_POLARITY_NORMAL>;
      };
    };
  };

  &spi2 {
    gc9a01a_lcd: gc9a01a_lcd@0 {
      compatible = "galaxycore,gc9x01x";
      reg = <0>;
      spi-max-frequency = <100000000>;
      cmd-data-gpios = <&gpio0 4 GPIO_ACTIVE_HIGH>;
      reset-gpios = <&gpio0 8 GPIO_ACTIVE_HIGH>;
      backlight-pwm = <&backlight_pwm>;

      width = <240>;
      height = <240>;
      pixel-format = <GC9X01X_PIXEL_FORMAT_RGB565>;
    };
  };

...

I also added an example to the driver definition file.

Thank you for all the help. I'm struggling a little to get the hello world running. I'll work through the issues as they are probably on my end. I have it working with an st7789.

...

I also added an example to the driver definition file.

Thank you for all the help. I'm struggling a little to get the hello world running. I'll work through the issues as they are probably on my end. I have it working with an st7789.

...

I also added an example to the driver definition file.

Thank you for all the help. I'm struggling a little to get the hello world running. I'll work through the issues as they are probably on my end. I have it working with an st7789.

Can you describe what problem you face?
I would recommend to move this discussion somewhere else to keep this PR clean. Feel free to write me a PM on discord.

I think the vendor prefixes need to be added in /dts/bindings/vendor-prefixes.txt
node '/soc/spi@4003c000/mydisplay@0' compatible 'galaxycore,gc9x01x' has unknown vendor prefix 'galaxycore' - during compilation.

I think the vendor prefixes need to be added in /dts/bindings/vendor-prefixes.txt
node '/soc/spi@4003c000/mydisplay@0' compatible 'galaxycore,gc9x01x' has unknown vendor prefix 'galaxycore' - during compilation.

Thanks. That change has been accidentally moved to another branch.
That brings me to the question if there is any tests the display driver needs to be added to?

As far as i know you can add a test to /tests/drivers/build-all/display/app.overlay and add a display_gc9x01x.conf.

It would be nice, and probably relatively easy AFAICT, to implement device power management? See e.g. https://github.com/zephyrproject-rtos/zephyr/blob/aa4416624dceef29ec9ca78820c9fe5d3868f62c/drivers/display/display_st7789v.c#L364

It would be nice, and probably relatively easy AFAICT, to implement device power management? See e.g.
https://github.com/zephyrproject-rtos/zephyr/blob/aa4416624dceef29ec9ca78820c9fe5d3868f62c/drivers/display/display_st7789v.c#L364

Should not be a problem. How can I actually test the if it is working?
I couldn't find a PM shell and I am generally unsure if the use-count of the display will ever be 0?

It would be nice, and probably relatively easy AFAICT, to implement device power management? See e.g.

https://github.com/zephyrproject-rtos/zephyr/blob/aa4416624dceef29ec9ca78820c9fe5d3868f62c/drivers/display/display_st7789v.c#L364

Should not be a problem. How can I actually test the if it is working?
I couldn't find a PM shell and I am generally unsure if the use-count of the display will ever be 0?

I found an example and reused it for testing. PM support has been tested and changes are added to this PR.

Any additional comments, feedback?

@MrMarteng
I finally get my hardware running (ESP32-S3-Touch-LCD-1.28 from Waveshare - I will submit a PR for this board if your driver is being merged).
Just one question please while using the samples/drivers/display application, the 4 rectangles on the screen should be RED, GREEN, BLUE and GREY. Is it correct on your hardware ?
On my board all bits are reversed i.e . to display RED: 0x00FFFF, GREEN: 0xFF00FF, BLUE: 0xFFFF00. Maybe we have not the same display (even if it is the same controller).
Except this comment, nothing to say, it's working like a charm.
Thanks,
Joel

@MrMarteng
Got it, I just added display-inversion; in my device tree, thanks for supporting this on this driver as well :-)
This is all fine for me, working as expected.

Can you squash the two commits and push again? does not make much sense to add something just to remove it the commit after.

Can you squash the two commits and push again? does not make much sense to add something just to remove it the commit after.

Commits have been combined in 03357fe

Amazing job done here, thanks @MrMarteng and to all the reviewers :-)

Amazing job done here, thanks @MrMarteng and to all the reviewers :-)

Thank you for all your feedback and support on that PR!!

I'm just looking at the doc to update my own board and I see 2 errors:

There is a wrong reference to GC9X01X_PIXEL_FORMAT_RGB565 in the device tree sample. pixel-format is set twice! This one is minor.
There is #include <zephyr/dt-bindings/display/gc9x01x.h> at https://github.com/zephyrproject-rtos/zephyr/blob/main/drivers/display/display_gc9x01x.c#L11. This does not exist anymore, I suppose this need to be panel.h instead. Can you confirm ?

I'm actually updating https://github.com/zephyrproject-rtos/zephyr/pull/67311, I can insert a commit to fix it if you have no time. Let me know if required. Else you will need a PR.
It's strange it has passed the Github Actions here by the way ....

I'm just looking at the doc to update my own board and I see 2 errors:

There is a wrong reference to GC9X01X_PIXEL_FORMAT_RGB565 in the device tree sample. pixel-format is set twice! This one is minor.

There is #include <zephyr/dt-bindings/display/gc9x01x.h> at https://github.com/zephyrproject-rtos/zephyr/blob/main/drivers/display/display_gc9x01x.c#L11. This does not exist anymore, I suppose this need to be panel.h instead. Can you confirm ?

I'm actually updating https://github.com/zephyrproject-rtos/zephyr/pull/67311, I can insert a commit to fix it if you have no time. Let me know if required. Else you will need a PR.
It's strange it has passed the Github Actions here by the way ....

I'll have a look latest tomorrow morning. I was continuasly checking proper functionality with my board. Give me a few hours to double check this. I will create a hotfix short term if required.

Good thanks !

Good thanks !

I did a clean checkout and can confirm that the driver isn't building properly. Sorry for that.
Fix will follow tomorrow - it's too late today

@MrMarteng for your information, tested on my side: https://github.com/zephyrproject-rtos/zephyr/pull/67311/commits/18eedc4c00798d227926b389d78daf925e58accd and https://github.com/zephyrproject-rtos/zephyr/pull/67311/commits/4fd2ef8a517aed97c6764510a903b05fa611b461

Do you know in which release this will be included?

@ljunquera the driver is included in master and is part of the next release 3.6.0 that should land very soon (rc2 published).


Adjust content-visibility for Firefox 124 => 125

It only shipped in 125, not 124: https://github.com/mdn/content/commit/08ef601955d7fc92a9a4c6d6c047854b5aef723d

Thanks!


Error while using express-rate-limit

When using express-rate-limit:
// express-rate-limit
const rateLimit = require('express-rate-limit');

const limiter = rateLimit({
    windowMs: 15 * 60 * 1000, // 15 minutes
    max: 100 // limit each IP to 100 requests per windowMs
  });

app.use(limiter());  //  apply to all requests

Hi @a989898 I took a look at that module and it uses some Express.js-specific API calls, so you would need to use it with Express.js and not with Connect.


Change to a real emoji for "Hacking Minecraft" collection's description

Thank you for contributing! Please confirm this pull request meets the following requirements:

[x] I followed the contributing guidelines: https://github.com/github/explore/blob/master/CONTRIBUTING.md
[x] I have no affiliation with the project I am suggesting (as a maintainer, creator, contractor, or employee).

Which change are you proposing?

[x] Suggesting edits to an existing topic or collection
[ ] Curating a new topic or collection

Editing an existing topic or collection
I'm suggesting these edits to an existing topic or collection:

[ ] Image (and my file is *.png, square, dimensions 288x288)
[x] Content (and my changes are in index.md)

I swapped the :hammer: emoji (GitHub formatting) to a real emoji to avoid rendering issues:

@Kerumen Thanks for submitting this PR. It is an issue with rendering emojis on the collection page itself. For now, what do you think about removing the emoji?

@damaneice Yes of course, it would work too!


Update README.md

Fix minimal code link - switch to absolute link

Currently this link goes here: https://github.com/floriansemm/SolrBundle/blob/master/minimalcode-org/search which is a dead link. This makes the link work.


Gulp source adapter, release 1.0

1.0 will implement the plugin as a vinyl stream source, similar to a vinyl adapter, but only implementing the src part, and using gulp.watch and gulp.dest for the rest.
Interface:
gulp.task('styles', function () {
  return rubySass(
    // This replaces `update` or `file:file` as the source.
    // The appropriate Sass command is fired
    // based on whether a file or directory is passed.
    'app/styles', {
        sourcemap: true,
        style: 'expanded',
        precision: 10
    })
    .pipe($.autoprefixer(['last 2 versions']))
    .pipe(gulp.dest('.tmp/styles'))
    .pipe($.size({title: 'styles'}));
});

Because it's basically spawn that pipes into a gulp stream I think the only things we'd have to touch in  the output would be sourcemaps (of course) and maybe error handling.
We would lose the ability to add the plugin at any point in the pipe. But aside from linting, which could be a separate task, I've seen no common reason to transform the Sass files before compiling them to CSS. The maintenance / allowing 90% of users to use Sass like they would on the cli or with Grunt outweighs supporting those edge cases.

[x] Implement as vinyl stream source with update
[x] Decide on error handling, re-implement logging
[x] Add gulp-sourcemap support for inline and none
[x]  Implement as vinyl stream source with update directory compilation
[x] Add single file compilation
[x] Add gulp-sourcemap support for file
[x] Add gulp-sourcemap tests
[x] Add gulp-sourcemap recipes
[x] Allow parallel calls to the plugin without jumble of CSS files Instead of making this automatic I expanded documentation of the container option, added a recipe.
[x] Update readme with changes

Feature level releases after 1.0 (or if I have time during the alpha)

[ ] Support file globbing
[ ] Add smart src property that delegates between dirs, files, and file globs
[ ] Document a working incremental build recipe

I am switching from gulp-ruby-sass 0.7.1 -> 1.0.0-alpha , gulp-autoprefixer 1.0.1->2.0.0,
gulp-sourcemaps 1.3.0 and having following issues and looking for solution.

Error when set sourcemapPath: '.'  in 1.0.0-alpha recipe.
Where should I add sourcemaps.init() in 1.0.0-alpha recipe?
watch task was only compiling changed files before, but with  1.0.0-alpha recipe all sass files are compiled even a singe sass file is changed.

Environment  : Windows
gem -v           : 2.0.15
ruby -v           : ruby 2.0.0p481 (2014-05-08) [x64-mingw32]
sass -v           : Sass 3.4.9 (Selective Steve)
node -v          : v0.10.28
gulp -v           : 3.8.7

import {ErrorHandler} from './errors';

let sass        = require('gulp-ruby-sass'),
  sourcemaps  = require('gulp-sourcemaps'),
  filter      = require('gulp-grep-stream'),
  browserSync = require('browser-sync'),
  autoprefixer= require('gulp-autoprefixer'),
  reload      = browserSync.reload;

export default function styles(gulp, cfg, args) {
  'use strict';
  gulp.task('styles_0.7.1"', () => {
    return gulp.src(cfg.paths.sass)
      .pipe(sourcemaps.init())
      .pipe(sass({
        style: 'expanded',
        precision: 10,
        sourcemap: (!optimize),
        sourcemapPath: '.',
        loadPath: ['bower_components/bourbon/dist', 'bower_components/compass-mixins/lib']
      }))
      .on('error', ErrorHandler.onError)
      .pipe(autoprefixer(cfg.autoprefixer))
      .pipe(sourcemaps.write('.'))
      .pipe(gulp.dest('.tmp'))
      .pipe(filter('**/*.css'))
      .pipe(reload({stream: true}));
  });

  gulp.task('styles', () => {
    return sass('app', {
      style: 'expanded',
      precision: 10,
      sourcemap: (!optimize),
      // sourcemapPath: '.',  <-- error when set with 1.0.0-alpha
      loadPath: ['bower_components/bourbon/dist', 'bower_components/compass-mixins/lib']
    })
    .on('error', ErrorHandler.onError)
    .pipe(autoprefixer(cfg.autoprefixer))
    .pipe(sourcemaps.write('.', {
      includeContent: false,
      sourceRoot: '.'
    }))
    .pipe(gulp.dest('.tmp'))
    .pipe(filter('**/*.css'))
    .pipe(reload({stream: true}));
  });
}

export default function watch(gulp, cfg, env) {
  'use strict';
  gulp.task('watch', ['styles', 'scripts'], function () {
    gulp.watch('app/**/*.scss', ['styles']);
    gulp.watch(cfg.paths.scripts, ['transpile']);
    gulp.watch(cfg.paths.images, ['images']);
    gulp.watch('bower.json', ['wiredep']);
  });
}

Answered the other place you posted the question, here: https://github.com/sindresorhus/gulp-autoprefixer/issues/20#issuecomment-68605521.

Oops! I deleted my post from other place(posted at wrong place) and re-posted here . [Concurrent update :( ]
I still have following problem:

what should I change to my recipe to produce expected index.css.map below?
browserSync.reload also seems not working.

produced index.css.map
{"version":3,"sources":["index.css","../../../C:/Work/mypoc/bower_components/bootstrap-sass-official/assets/stylesheets/bootstrap/_normalize.scss","../../../C:/Work/mypoc/bower_components/bootstrap-sass-official/assets/stylesheets/bootstrap/_print.scss", .......... ;E9EirPtB","file":"index.css","sourceRoot":"."}

expected index.css.map
{"version":3,"sources":["index.css","../bower_components/bootstrap-sass-official/assets/stylesheets/bootstrap/_normalize.scss","../bower_components/bootstrap-sass-official/assets/stylesheets/bootstrap/_print.scss", .......... ;E9EirPtB","file":"index.css","sourceRoot":"."}

@robwierzbowski How is it coming along? Anything I can help with?

I think we're looking pretty good after that last issue fix. I'm going to update the Readme with gotchas, take a look at error logging with plumber, and then we can review and release a pretty well working plugin. No globbing, no incremental builds, but those can be added on top.

Released 1.0.0-alpha.3. With the caveats in the readme I think it's ok to release. I just want to test the error handling based on some posted issues first.

@robwierzbowski Ready for merge?

@robwierzbowski, ping.

Just getting back from being in Barcelona for three weeks. This is ready to
go with a little documentation on error handling. We can add requested
features iteratively afterward.
On Monday, March 9, 2015, Kevin Mårtensson<EMAIL_ADDRESS>wrote:

@robwierzbowski https://github.com/robwierzbowski, ping.
—
Reply to this email directly or view it on GitHub
https://github.com/sindresorhus/gulp-ruby-sass/pull/137#issuecomment-77910880
.

--
Rob Wierzbowski
@robwierzbowski http://twitter.com/#!/robwierzbowski
http://github.com/robwierzbowski
http://robwierzbowski.com

OK, that's it. Ready to make 1.0 real and go from there.

Published 1.0.0. OK, now to take care of these: https://github.com/sindresorhus/gulp-ruby-sass#important

Woot! Awesome work @robwierzbowski :)

ahaha


[backport] Reorganize tutorial & add new contents

Backport of #3241

There might be quite a few conflict, including broken links.

Open for discussion whether this need to be backported or not.

I think it is difficult to include this fix for the next release.

Thank you for the input. Is it okay to close this backport @niboshi ?

@hvy OK.

Closed due to above mentioned concerns.


StyleCop applies rules if they are not present in custom ruleset file

I have the following ruleset file for testing purposes:
<?xml version="1.0" encoding="utf-8"?>
<RuleSet Name="prbans ruleset" Description="prbans ruleset for testing" ToolsVersion="15.0">
</RuleSet>

When I build, I notice the following errors (and more) in my codebase:

I'd expect to see no warnings because there are no rules defined in my file to test against.
Couple of questions:

Is my assumption regarding no warnings expected as no rules defined correct?
If not, is there any documentation about default applied rulesets if no custom behavior is defined?

I'm using StyleCop v1.1.1-rc.114

Please post this question over at StyleCopAnalyzers repo.
This repo is for what is now known as 'classic stylecop'


Pull in from story-00-matt to story-00-srichal

This pull request is now managed with CodeReviewHub. Refresh.


fix for advertising ID compile issue about unwraped optionals

Ran into an unwrapped optional error during build. I think this was an issue with the automatic swift 3 syntax converter doing weird things

@rabidaudio any chance you can create this PR against the original repo rather than my fork?

The reason I did your fork instead of the main repo is that Justin still hasn't accepted your swift 3 PR https://github.com/logkit/logkit/pull/29 yet.
I'm not sure it's possible for me to append it to your PR. I could open one in parallel, but that might get confusing


Relax tolerances for FP16 chainerx.where test

Fix #7241.

PTAL.

Jenkins, test this please.

Oops. Can you look at the conflict, please?

Jenkins CI test (for commit 1904bf6b5eed188dfb55747284ec35be3ef494a0, target branch master) failed with status FAILURE.

It seems that the tolerances are already relaxed, because TestWhere was fixed in #7325 to use math_utils.BinaryMathTestBase, which uses a relaxed tolerance default. Can I close this PR?


fix an error

This is still incomplete. A better fix : https://github.com/isaacs/node-glob/pull/222

Landed #222 instead, thanks.


Harmonize sample_ids in sample_genotype_counts and in the sample table

I understand this is a "not really supported" scenario, but I found out that the sample_genotype_counts table and the samples table have different sample IDs (one is 0-based, the other is 1-based).
This breaks when trying to make queries accessing the database directly (as on the why: my entire set of tools is Python 3 based, and I need to use things in a way that the GEMINI API is not suited for) because it's impossible to make a proper join on the sample table.
Rationally it would be best to have a relationship between sample_genotype_counts and samples since it's 1:1 and let the database handle the rest when querying.

The sample_id in the sample_genotype_counts table was fixed in: ad743289 in march.
It appears that I re-corrected in gemini-stats using sample_id - 1. I'll have a look.

actually, seems like this is fixed completely in master. please reopen if you see otherwise.

It may be an older version of GEMINI. I observed this with the (at the time) latest stable version of bcbio-nextgen. I'll update and check back.

yes, what you report was the case until  ad74328

Just in case: is this already in a tagged version?
What I saw was with
gemini --version
gemini 0.18.3

no. it's not released yet. we hope to release as version 0.19 next week.

Hence this is the reason: I rely on what bcbio-nextgen provides, so I'm still affected. I'll add a FIXME in my code and upgrade once 0.19 is released.

understood. thanks for reporting.


Change .Net navigation order for gh-pages

See: https://github.com/GoogleCloudPlatform/gcloud-common/issues/151#issuecomment-234325469

LGTM, though 2 commits is a bit much

I can squash, I didn't know if we for sure wanted to add the PHP link.

No need. Merging was fine.


Update example app dependencies

This fixes a react-native version miss-match for users with up-to-date react-native

👍


Fixed argmin-math README badges, added Discord server and download count

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

Comparison is base (ce41cd4) 93.31% compared to head (ebe46db) 93.31%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #382   +/-   ##
=======================================
  Coverage   93.31%   93.31%
=======================================
  Files         117      117
  Lines       18853    18853
=======================================
  Hits        17592    17592
  Misses       1261     1261

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


periodic merge to master; includes release 3.1.4 notes

@rtapella @smk0033 what do you think about moving the Open Source Science information to the Science Examples section. I don't think it fits with the System Reference Guide.

@rtapella @smk0033 what do you think about moving the Open Source Science information to the Science Examples section. I don't think it fits with the System Reference Guide.

Yeah I can see that. I am not sure there's a perfect spot so I am okay with either place. It could potentially go in the Community discussion board.


Method 'get_Providers' in type 'Lucene.Net.Configuration.ConfigurationRoot' does not have an implementation.

Upgrading from Beta 7 to Beta 11 I get Method 'get_Providers' in type 'Lucene.Net.Configuration.ConfigurationRoot' does not have an implementation when adding a document to the index. It looks very similar to #311 but get_Providers not get_properties. Possibly I need to downgrade .Net Framework from 4.8 (Beta 7 ran OK on 4.8)?

Thanks for the report.
What packages do you have from Microsoft.Extensions.Configuration installed in your project? And what versions?
I was able to reproduce this. I still need to look into why this is happening. The Providers property hasn't changed from IEnumerable<IConfigurationProvider>, so it is a bit odd that it is throwing an exception.
Fortunately, this time there is a workaround. You can bypass the ConfigurationRoot provider by injecting your own at application startup. Just provide your existing IConfiguration instance to ConfigurationFactory, or use the below code as the default.
IConfiguration configuration = new ConfigurationBuilder().AddEnvironmentVariables("lucene:").Build();

Lucene.Net.Configuration.ConfigurationSettings.SetConfigurationFactory(new ConfigurationFactory(configuration));

Here is one way to implement ConfigurationFactory. You could alternatively use a Func<IConfiguration> in the constructor and actively read it on the fly from its source if you need to.
    public class ConfigurationFactory : Lucene.Net.Configuration.IConfigurationFactory
    {
        private readonly IConfiguration configuration;

        public ConfigurationFactory(IConfiguration configuration)
        {
            this.configuration = configuration ?? throw new ArgumentNullException(nameof(configuration));
        }

        public IConfiguration GetConfiguration() => configuration;
    }

Thanks for the very prompt response. The work around worked fine. The Microsoft.Extensions.Configuration packages I had installed were  Microsoft.Extensions.Configuration.Abstractions and Microsoft.Extensions.Configuration.Binder. I have added for the workaround Microsoft.Extensions.Configuration.EnvironmentVariablers. The packages I had installed are prereqs to support the Microsoft.Extensions.Logging implementation.


⚠ RPC server - Astar has degraded performance

In c8aa9a3, RPC server - Astar ($ASTAR_RPC_URL) experienced degraded performance:

HTTP code: 503
Response time: 233 ms

Resolved: RPC server - Astar performance has improved in 0ad7702 after 47 minutes.


Question about nested functions calls

I was looking how to refactor ol’ scripts without too much rewriting and have functions there tested separately. The easiest way was to source target script (with some logic to prevent it running everything) and then do usual spy/asserts for each function.
However, if functionA calls functionB which calls functionC - then spy for functionB is ignored because I think bash first calls sourced functions and then one in PATH.
Workaround is to remove all nested functions with ‘unset -f functionB’ inside each test.
I wonder if that’s something framework can handle, maybe with a flag?

That's a really good point, shpy is creating executables and adding the to PATH but those are superseded by local function definitions. I think this could be resolved if _shpyCreateSpyExecutable defined a local function or alias with the same name which calls $spy_file


Add the ability to store the token in the database/redis

Summary
On sites with filesystems like Heroku, the file storage of generated files flushed every restart and at least every 24 hours.
For images ie user profile pic, AWS or other is suggested.
But for authentication I'd like to use the database or redis if needed to scale.
Each user may have multiple devices and therefor multiple rows in the token table.
For example token_id, token (hashed) user_id, device_id, device_name, platform
We would like to present a list of devices to the user and let them  choose to unauthorize them.

In my opinion, this functionality does not need to be included in the library.
You ca create a database table that contains all your tokens with the different claims. To do this, you need to change your login an refresh methods. If you want to unauthorize specific token, you can blacklist them. The functionality to blacklist tokens is implemented in this library.

The main cause for JWT is that it shouldn't be stored anywhere, but validated using cryptographic algorithms
Perhaps in your case you may look for other solutions

I believe this issue should be not forwarded as peer @eschricker advised with @leon0399.
If you think should keep this request open feel free to open the issue again with more details and why should be added to the library.

I understand if that is the direction the developers want to go..
My use case uses the stored token record for all tokens for a user,
allowing a different token per device.
A user may then get a list of the other devices that have tokens and revoke that token by deleting it.
By just using the token blacklist I cannot see the other devices the user may use.

I think what you're looking for might a more feature-full implementation like https://laravel.com/docs/8.x/sanctum

Exactly what I settled on.  thanks

A user may then get a list of the other devices that have tokens and revoke that token by deleting it.

This feature will be possible after #71


Running vim-plug in container — best way to link installed plugins?

I am testing out using Neovim in an ephemeral Docker container. The problem is, even though I have the .config/nvim directory with all plugins and configuration available inside my container, vim-plug is asking me to install plugins each time I start the container.
How can I link to a volume on my host that will keep information about installed plugins available after removing the container?
Another way of asking the question is: where does vim-plug keep a record of installed plugins? How does it "know" the plugins need to be installed in the container when the container already has the plugins available in a linked volume? If I could link to that file on my host I could keep things installed after destroying / recreating containers.
Thanks for any help you might provide!

Type:

[ ] Bug
[ ] Enhancement
[ ] Feature Request
[X] Question

OS:

[ ] All/Other
[X] Linux
[X] OS X
[ ] Windows

Vim:

[ ] Terminal Vim
[ ] GVim
[X] Neovim

Never mind. It turns out I was initializing plug#begin() with an argument that was not correct for the container. Once I removed the parameter it worked like a charm.


⚠ AGEG website (redirect) has degraded performance

In 40500c5, AGEG website (redirect) (https://ageg.ca/) experienced degraded performance:

HTTP code: 200
Response time: 2266 ms

Resolved: AGEG website (redirect) performance has improved in 9b21f8c.


Adding protection to all the routes so that only logged in users can access the routes

Actual Behaviour
At present, anyone can access the routes without logging in

Expected Behaviour
After this only logged in users can access the routes

Would you like to work on the issue?
yes I would like to work on this issue

Sure.
Fire a PR.


Fixed the counting problem

A few fix:

in previous version, the reducer and results type is not properly delivered, I think in reduce_and_branch, reducer and results_type should not be key word arguments.
MISCount now is only used by mis1 mis2 and xiao2013, I defined MaxSize and MaxSizeBranchCount in Core and changed the algebra in reduce_and_branch.

Welcome to Codecov :tada:
Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.
Thanks for integrating Codecov - We've got you covered :open_umbrella:

fix #8
fix #7

I removed the key words agruements in reduce_and_bound(), and I revomed the apply_branch_gain().

User interfaces added. I added two functions mis_size and mis_branch_count. One can simply input a AbstractGraph into them and get the results, without the need to set anything manually.

Tests has been added to enhance the codecov rate


warnings.simplefilter('default') in global scope causes excessive DeprecationWarnings

https://github.com/NVIDIA/TransformerEngine/blob/f85553ea369da15fd726ab279818e415be48a228/transformer_engine/common/utils.py#L9
Importing the transformer_engine.common.utils resets the warning filters to default settings using warnings.simplefilter('default') in the global scope. This results in the console being flooded with DeprecationWarnings, which are normally ignored by Python by default.
Would it be possible to move setting the warning filter config to a more controlled scope in this module?

@jckhan Could you confirm if #813 resolves this? Thanks!

@ksivaman yes I think that works, thank you!

What kind of warnings are being reported? I'd like to make sure we're not suppressing anything important.

DeprecationWarnings, ResourceWarnings, among others. The point here is that these warnings have default handling behavior defined by warnings https://docs.python.org/3/library/warnings.html#warning-categories, which is being overrode silently by importing transformer_engine. The fix suggested above is just restoring the default behavior of warnings globally, not suppressing any warnings that weren't being suppressed in the first place.


Add minimum spdlog version

Set the minimum spdlog version to the minimum one that symforce currently successfully builds with.
This was tested by successfully building with all spdlog versions 1.9 and up. Everything below 1.9.0 failed.
I also updated the GIT_TAG to just use the tag name instead of the commit. I find it to be a little more readable, but maybe the commit hash is nice for other reasons.
Fixes #182.

At the expense of continuing the conversation in a closed PR, the error  with spdlog 1.8 was the following:

Thanks!  Not immediately obvious to me what we'd need to do to fix, possibly worth looking into more at some point


Include dangling migration for default ordering

First off, thanks for this package! As I was using it, I noticed that running ./manage.py makemigrations in my project generates a migration for guest_user. So I just ran makemigrations here.

Thank you for reporting this @LucasPickering! I incorporated this by modifying the initial migration file, because this change does not touch the database. This means one less migration for project maintainers to check when updating. :)


AttributeError: add_special_tokens conflicts with the method add_special_tokens in RobertaTokenizerFast

Hi,
When I run AutoTokenizer.from_pretrained("rrivera1849/LUAR-CRUD"), I get  AttributeError: add_special_tokens conflicts with the method add_special_tokens in RobertaTokenizerFast error.
transformers verision is 4.44.2
thanks.

I got the same error.

@berkatil , the requirements.txt mentions transformers==4.14.1 (see https://github.com/LLNL/LUAR/blob/main/requirements.txt#L42C1-L42C21). Maybe that is the reason you are getting this error?
Have you tried installing by following https://github.com/LLNL/LUAR?tab=readme-ov-file#installation ?

Thank you. Yes, actually I tried with transformers==4.25, it works with that too, probably would work with 4.14.1. I did not realize the requirements file. It might be good to add to huggingface too because I was just checking that page first.


95 bugfix/form not hyperlinked

Fixes #95
Description
Include a link to a feedback form in all messages sent from Node Monitor.
Changes made

Load form URL from .env and pass as an argument to functions in messages.py.
Update test_bot_telegram and test_bot_slack to use message templates when sending live messages during testing.

Testing

Ran entire testing suite and all checks passed.

Additional comments
n/a

I think it may be better if we use unittest.mock.patch to change the URL, or just replace any URLs in the string with a REGEX. Thoughts?


8.2.0 getPlaylist not returns full result

Steps to reproduce
Use this simple code to reproduce:
import { Innertube, UniversalCache } from 'youtubei.js';

const yt = await Innertube.create({
  cache: new UniversalCache(false)
});

async function main(id: string) {
  const playlist = await yt.getPlaylist(id)
  console.log("videos =>", playlist.videos)
  console.log("total =>", playlist.videos.length)
  return playlist
}

main(<VALID_PLAYLIST_ID>)

Failure Logs
videos => [....(too long to paste here)]
total => 100

Expected behavior
It should return the length of video tracks in the playlist.
Current behavior
If the original playlist has over 100 videos, it only gives the first 100 videos.
Version
Default
Anything else?
No response
Checklist

[X] I am running the latest version.
[X] I checked the documentation and found no answer.
[X] I have searched the existing issues and made sure this is not a duplicate.
[X] I have provided sufficient information.

It can be used with this method:

For the initial request, get first data from contents.twoColumnBrowseResultsRenderer.tabs[0].tabRenderer.content.sectionListRenderer.contents[0].itemSectionRenderer.contents[0].playlistVideoListRenderer.contents as usual,

Get pagination token from contents.twoColumnBrowseResultsRenderer.tabs[0].tabRenderer.content.sectionListRenderer.contents[1].continuationItemRenderer.continuationEndpoint.continuationCommand.token, and use this value in continuation key in new request,

Get more data from onResponseReceivedActions[0].appendContinuationItemsAction.continuationItems,

and get pagination token from onResponseReceivedActions[0].appendContinuationItemsAction.continuationItems[100].continuationItemRenderer.continuationEndpoint.continuationCommand.token and repeat from 3, with continuation key from this step.

This isn't a bug, YouTube.js and your code is doing exactly what it should do, your code doesn't tell YouTube.js to get the continuations, all you are doing is fetching the initial playlist response.
From your next message it also seems like you haven't looked at the auto-complete in your code editor or the docs.
As mentioned in the README.md (https://github.com/LuanRT/YouTube.js#getplaylistid) getPlaylist returns a Playlist object, which inherits from Feed and if you follow the link through to the Feed docs (https://github.com/LuanRT/YouTube.js/blob/main/docs/API/feed.md), you'll notice the has_continuation getter and getContinuation method.
Here is some code that will fetch the entire playlist.
import { Innertube, UniversalCache } from 'youtubei.js';

const yt = await Innertube.create({
  cache: new UniversalCache(false)
});

async function main(id: string) {
  const videos = []
  const playlist = await yt.getPlaylist(id)
  videos.push(...playlist.items)

  // Not overwriting the playlist variable, so that you can still get the playlist metadata like the title from it
  let page = playlist
  while (page.has_continuation) {
    page = await page.getContinuation()
    videos.push(...page.items)
  }

  console.log("videos =>", videos)
  console.log("total =>", videos.length)
  return playlist
}

main(<VALID_PLAYLIST_ID>)

Thank you for your code snippet! This really helped us :) Happy new year!


fix: refactor ci to enable building for different targets

Refactors the CI stages to build and test for multiple (cross-platform) targets.

I am a bit hesitant if there is really so much utility in building for all these targets. Mainly because CI time is precious :)


Add support for GitHub Actions

Changelog: Feature: Add support for GitHub Actions
Fixes https://github.com/conan-io/conan-package-tools/issues/474

That's great! Thanks a lot @Croydon

Could you suggest any Conan recipe repository with multiplatform (i.e. different compilers, operating systems) build matrix which could be used as a template?

At Bincrafters we use GitHub Actions only for Linux so far
You can see our template at https://github.com/bincrafters/templates/blob/32ab0bae69c58c3c842e4aba502687d9e9ccaebf/default/.github/workflows/conan.yml#L1
And see an example e.g. at https://github.com/bincrafters/conan-qt/actions or https://github.com/bincrafters/conan-cairo/actions

Thanks! msvc.yml and mingw.yml from Qt are particularly useful. My main use cases are:

Replace AppVeyor for building MSVC and MinGW packages - GitHub Actions provides 20 concurrent builds for free, while AppVeyor only one, which makes building large packages like ICU quite painful. There is no image with VS2015, though I guess it should be possible to install it via chocolatey
Build new recipe for Windows, Linux, and macOS and have all builds and configurations in the same place

There is no image with VS2015, though I guess it should be possible to install it via chocolatey

Regarding this, please consider upvoting https://github.com/actions/virtual-environments/issues/387
Installing VS2015 on the fly takes way too long


gemma 2 support

hi, any update on gemma 2 support and speed up?
https://blog.google/technology/developers/google-gemma-2/

We will support gemma 2 in the future.


pre-render off by default

Its just adds another layer of problems so it should be turned on, after system is up and running.

done in sachsenring


Replace broken badge

pypip.in doesn't seem to work anymore. I'm not quite sure what benefit showing the wheel badge is, but here is a drop-in replacement.

I'm not sure what the benefit is, either. Want to just take it out?

Sure.


[nih_plug_xtask] Fix chdir_workspace_root()

Hi, thanks to develop this project!
I tried to create a plugin with nih-plug and I've found that nih_plug_xtask failed to find my plugin project because nih_plug_xtask opens its own directory.
I fixed it by replacing env! with std::env::var to get CARGO_MANIFEST_DIR in runtime rather than compile time.

Ah, good point, I wrote that before splitting the xtask component up into its own package. Thanks!


key id of 'foo'

When I built the app it used the key ID of "foo" everywhere. I was able to manually edit that in the 3 lambdas and in the AssumedRole.
I noticed the SSM didn't have the right KeyID selected, so I changed that as well.
I'm not sure if it was thrown off during the build, or because this was my 2nd attempt at doing this and I did an --overwrite command on the SMS piece.
At this point I have it running, so feel free to close this if it was something I did. Otherwise just wanted to let you know.
I love the app - good work.

Yup, that's why it flaked out..