CI: add automatic publication to pypi.org and test.pypi.org

Publishing software manually is a (somewhat) error-prone and (somewhat) tedious process, hence why other projects have already automated this process.
Let's join these other projects and also automate our publication process!
The setup process is surprisingly straight forward and involves setting up trusted publishing on both pypi.org, as well as test.pypi.org for the lxa-iobus project:

And setting a GitHub Action Variable that enables publication (so that the job does not run and fail for forked repositories by default):

TODO before merging:

[ ] This PR is based on #44, which enables automatic version number generation from git tags
[ ] and PR #45 which prepares the CI jobs for this PR.

Both of these PRs should be merged before this one.

I should mention that this PR is heavily inspired by @jluebbe's work over at pdudaemon/pdudaemon#155.
I did however tweak a few aspects, e.g. with respect to the conditional execution of the publish job by using an if-block at the job level instead of one at the step-level and by always publishin to test.pypi.org.


[release/v7.3.6]Update the link for getting started in README.md

Backport #19932

how to upgrade the version on the powershell


⚠ Processors has degraded performance

In 9dacfdc, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 69 ms

Resolved: Processors performance has improved in be362d1.


Method concat has wrong typization

🔎 Search Terms
typescript, concat, bug
🕗 Version & Regression Information
I tested this behavior on version 5.4.5. Local and playground results are equal.
I attached link to playground for demo.
You can see problem in output array. It isn't contains only arrays, but contains just numbers too.
⏯ Playground Link
https://www.typescriptlang.org/play/?jsx=0#code/C4TwDgpgBAcgrgWwEYQE4GUIEc4QHYDG0AvFHoiqgNoC6A3AFAMED2eAzsFMAIYDWEeMjTsopABQA6ae2y5CEdgC5YFNJhz4itAJRiAfFADeDKFFYcWAGwiSrLAObiABgEE8IKDwLAAlm1EAd19gAAsvVFQeEHZnABooWU0Fdh1GAF9GZgCuHgATPKFKdkxgUQlpSXJhDAgylQAFHiiEOpEAHlBIFgAzbn5BNVR2fV0DY1MyIdL2SR6WVABRb1DxWS5iQ14BIpEpGTqdNIZMpnzCoZK69nEqKgBGBIAmBIBmGhpJCwIeYFuAFgSAFYEgA2GhHOhAA
💻 Code
type NumberSequence = number[];

const takeNumbers = (...sequences: NumberSequence[]) => {
  console.log(`Any actions with arrays`, sequences);
};

const addNumbersSets = (...numberSets: Parameters<typeof takeNumbers>[]) => {
  numberSets.forEach(set => takeNumbers(...set));
};

addNumbersSets([[1, 2, 3]].concat([4, 5, 6]));

🙁 Actual behavior
Output array contains numbers
🙂 Expected behavior
Output array contains only arrays of numbers
Additional information about the issue
No response

Duplicate of https://github.com/microsoft/TypeScript/issues/19535.

How for need generic type ConcatArray<T>? I wrote this type locally:
type ConcatArg<RawType> = RawType extends unknown[] ? RawType[] : (RawType | RawType[]);

interface Array<T> {
  concat(...items: ConcatArg<T>[]): T[];
}

Is it a acceptable solution?

Is it a acceptable solution?

If it works for you, use it!  My interpretation of https://github.com/microsoft/TypeScript/issues/36554 is that the TypeScript team probably not interested in adopting such a change unless it's part of a holistic revamp of array typing issues, with consideration given to all users and possible breaking changes.


Docker: Add the Self Service UI

The SSUI is missing from the Docker image.  The manageiq-ui-self_service repo would need to be cloned and properly built as we do for the VM builds.
cc @bazulay @fbladilo

@Fryguy who should own this issue?

I'm having some issues when npm installing at /opt/manageiq/manageiq-ui-self_service , it complains that the installed karma module is too new for gulp-karma and fails :
[root@3ddc47ca870c manageiq-ui-self_service]# npm install
npm WARN package.json<EMAIL_ADDRESS>No repository field.
npm WARN package.json<EMAIL_ADDRESS>No repository field.
npm WARN cannot run in wd<EMAIL_ADDRESS>bower install -F (wd=/opt/manageiq/manageiq-ui-self_service)
npm WARN cannot run in wd<EMAIL_ADDRESS>gulp build (wd=/opt/manageiq/manageiq-ui-self_service)
npm ERR! peerinvalid The package karma does not satisfy its siblings' peerDependencies requirements!
npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS><=0.13
npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS>npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS>npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS>npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS>npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS>npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS>npm ERR! peerinvalid Peer<EMAIL_ADDRESS>wants<EMAIL_ADDRESS>Karma installed is :
[root@3ddc47ca870c manageiq-ui-self_service]# npm view karma | grep version:
version: '0.13.22',
Did I miss something? @Fryguy @bdunne @bazulay

See #8023, it sounds like the same issue

The problem is that the rpm version of npm is too old - hoping https://github.com/ManageIQ/manageiq-appliance-build/pull/122 should fix it.

@himdel @jrafanie Thanks! I just verified updating npm solves the issue, the procedure proved safer on the docker image with the following order (2 calls) :
npm install npm -g
npm install gulp bower -g

I was able successfully bring up the SSUI on the docker image, however when doing some basic validation (attempted to login as admin in the SSUI), evm complains is out of AR/DB connections in pool :
evm.log:2016-04-25 19:38:08 +0000: Rack app error: #<ActiveRecord::ConnectionTimeoutError: could not obtain a connection from the pool within 5.000 seconds (waited 5.000 seconds); all pooled connections were in use>
evm.log:2016-04-25 19:38:08 +0000: Rack app error: #<ActiveRecord::ConnectionTimeoutError: could not obtain a connection from the pool within 5.000 seconds (waited 5.000 seconds); all pooled connections were in use>
evm.log:2016-04-25 19:38:18 +0000: Rack app error: #<ActiveRecord::ConnectionTimeoutError: could not obtain a connection from the pool within 5.000 seconds (waited 5.000 seconds); all pooled connections were in use>
evm.log:2016-04-25 19:38:18 +0000: Rack app error: #<ActiveRecord::ConnectionTimeoutError: could not obtain a connection from the pool within 5.000 seconds (waited 5.000 seconds); all pooled connections were in use>
evm.log:2016-04-25 19:52:34 +0000: Rack app error: #<ActiveRecord::ConnectionTimeoutError: could not obtain a connection from the pool within 5.000 seconds (waited 5.000 seconds); all pooled connections were in use>
I looked at our pool settings on config/database.yml, is currently set to 5. Is this enough? Leak? Ideas?
Once the first error occurs on SSUI, logins on main web-console also start failing. I have to restart evmserver in order to re-stabilize. @Fryguy @bdunne @jrafanie

Hmm.. looks like we're using 5 threads for puma, so pool 5 should be fine?.. I wonder if it could still be that puma deadlock? Or, any chance puma ignores that setting on the appliance for some reason? Or do API requests count towards the same limit, given they run on a separate worker IIRC?

@himdel The database connection pool in config/database.yml is the size of the pool per process.
Keep in mind all rack requests that hit the rails query cache middleware require a database connection so if we're spinning off threads anywhere else in the process and they're accepting rack requests, they'll consume a connection for the life of the request.  Note, we're also heartbeating in a separate thread here while puma is started via Rails::Server 2 lines lower here.
Maybe the database.yml pool should be at puma threads +1?  What do you think? @himdel @skateman

@jrafanie would puma threads +1 be safe as a production default setting for the appliance? Keep in mind once this issue is exhibited (limit reached) EVM needs to be restarted otherwise would fail not only for SSUI but also for the main web-console during my testing.

@jrafanie would puma threads +1 be safe as a production default setting for the appliance?

@fbladilo I don't know.  We need to track down what additional database connections we're consuming due to puma's thread per request model.  Keep in mind, things are drastically different in production vs. development since apache should be processing asset requests in production but rails/rack will do it in development.  That plus, the rails query cache middleware connecting to the database will lead to connection pool consumption in dev mode.
@himdel @skateman In production on an appliance, I can't recreate it although I don't really have much in my appliance's database.
I get up to 4 connections in a pool that allows up to 5.  Can you look into this and share a recipe to use up all the connections in the pool?  Note, change your "poll: 60.seconds" in your advanced settings to 3.seconds to log this more frequently.
I used this patch locally to try to log some of the puma based workers:
diff --git a/app/models/mixins/miq_web_server_runner_mixin.rb b/app/models/mixins/miq_web_server_runner_mixin.rb
index f901db3..95f7e19 100644
--- a/app/models/mixins/miq_web_server_runner_mixin.rb
+++ b/app/models/mixins/miq_web_server_runner_mixin.rb
@@ -8,6 +8,13 @@ module MiqWebServerRunnerMixin
   def do_work
   end

+  def heartbeat
+    super
+    _log.info("XXX: connections.count: #{ActiveRecord::Base.connection_pool.connections.count}")
+    _log.info("XXX: in use: #{ActiveRecord::Base.connection_pool.connections.count(&:in_use?)}")
+    _log.info("XXX: num_waiting_in_queue: #{ActiveRecord::Base.connection_pool.num_waiting_in_queue}")
+  end
+
   def do_before_work_loop
     @worker.release_db_connection

@jrafanie patched for enhanced logging, docker image in appliance production mode w/ httpd, single web client session via firefox, once I attempt to login on SSUI I seem to exaust pool connections, then  connections go back to normal usage but it remains failing for main web console and SSUI , logs below :
[----] I, [2016-04-26T18:57:59.259730 #7242:2b16681a6c5c]  INFO -- : MIQ(MiqWebsocketWorker::Runner#heartbeat) XXX: connections.count: 2
[----] I, [2016-04-26T18:57:59.259812 #7242:2b16681a6c5c]  INFO -- : MIQ(MiqWebsocketWorker::Runner#heartbeat) XXX: in use: 2
[----] I, [2016-04-26T18:57:59.259893 #7242:2b16681a6c5c]  INFO -- : MIQ(MiqWebsocketWorker::Runner#heartbeat) XXX: num_waiting_in_queue: 0
[----] I, [2016-04-26T18:58:00.352895 #7252:2b16681a76c0]  INFO -- : MIQ(MiqUiWorker::Runner#heartbeat) XXX: connections.count: 3
[----] I, [2016-04-26T18:58:00.352965 #7252:2b16681a76c0]  INFO -- : MIQ(MiqUiWorker::Runner#heartbeat) XXX: in use: 2
[----] I, [2016-04-26T18:58:00.353025 #7252:2b16681a76c0]  INFO -- : MIQ(MiqUiWorker::Runner#heartbeat) XXX: num_waiting_in_queue: 0
[----] I, [2016-04-26T18:58:00.648370 #7275:2b16681a6cac]  INFO -- : MIQ(MiqWebServiceWorker::Runner#heartbeat) XXX: connections.count: 5
[----] I, [2016-04-26T18:58:00.648486 #7275:2b16681a6cac]  INFO -- : MIQ(MiqWebServiceWorker::Runner#heartbeat) XXX: in use: 5
[----] I, [2016-04-26T18:58:00.648564 #7275:2b16681a6cac]  INFO -- : MIQ(MiqWebServiceWorker::Runner#heartbeat) XXX: num_waiting_in_queue: 0
[----] I, [2016-04-26T18:58:03.353260 #7252:2b16681a76c0]  INFO -- : MIQ(MiqUiWorker::Runner#heartbeat) XXX: connections.count: 3
[----] I, [2016-04-26T18:58:03.353349 #7252:2b16681a76c0]  INFO -- : MIQ(MiqUiWorker::Runner#heartbeat) XXX: in use: 2
[----] I, [2016-04-26T18:58:03.353414 #7252:2b16681a76c0]  INFO -- : MIQ(MiqUiWorker::Runner#heartbeat) XXX: num_waiting_in_queue: 0
[----] I, [2016-04-26T18:58:06.353652 #7252:2b16681a76c0]  INFO -- : MIQ(MiqUiWorker::Runner#heartbeat) XXX: connections.count: 3
[----] I, [2016-04-26T18:58:06.353737 #7252:2b16681a76c0]  INFO -- : MIQ(MiqUiWorker::Runner#heartbeat) XXX: in use: 2
[----] I, [2016-04-26T18:58:06.353800 #7252:2b16681a76c0]  INFO -- : MIQ(MiqUiWorker::Runner#heartbeat) XXX: num_waiting_in_queue: 0
[----] I, [2016-04-26T18:58:09.354063 #7252:2b16681a76c0]  INFO -- : MIQ(MiqUiWorker::Runner#heartbeat) XXX: connections.count: 3
[----] I, [2016-04-26T18:58:09.354163 #7252:2b16681a76c0]  INFO -- : MIQ(MiqUiWorker::Runner#heartbeat) XXX: in use: 2
[----] I, [2016-04-26T18:58:09.354225 #7252:2b16681a76c0]  INFO -- : MIQ(MiqUiWorker::Runner#heartbeat) XXX: num_waiting_in_queue: 0
[----] I, [2016-04-26T18:58:12.354443 #7252:2b16681a76c0]  INFO -- : MIQ(MiqUiWorker::Runner#heartbeat) XXX: connections.count: 3
[----] I, [2016-04-26T18:58:12.354519 #7252:2b16681a76c0]  INFO -- : MIQ(MiqUiWorker::Runner#heartbeat) XXX: in use: 2
[----] I, [2016-04-26T18:58:12.354596 #7252:2b16681a76c0]  INFO -- : MIQ(MiqUiWorker::Runner#heartbeat) XXX: num_waiting_in_queue: 0
[----] I, [2016-04-26T18:58:15.354812 #7252:2b16681a76c0]  INFO -- : MIQ(MiqUiWorker::Runner#heartbeat) XXX: connections.count: 3
[----] I, [2016-04-26T18:58:15.354901 #7252:2b16681a76c0]  INFO -- : MIQ(MiqUiWorker::Runner#heartbeat) XXX: in use: 2
[----] I, [2016-04-26T18:58:15.354960 #7252:2b16681a76c0]  INFO -- : MIQ(MiqUiWorker::Runner#heartbeat) XXX: num_waiting_in_queue: 0
[----] I, [2016-04-26T18:58:18.355177 #7252:2b16681a76c0]  INFO -- : MIQ(MiqUiWorker::Runner#heartbeat) XXX: connections.count: 3
[----] I, [2016-04-26T18:58:18.355277 #7252:2b16681a76c0]  INFO -- : MIQ(MiqUiWorker::Runner#heartbeat) XXX: in use: 2
[----] I, [2016-04-26T18:58:18.355340 #7252:2b16681a76c0]  INFO -- : MIQ(MiqUiWorker::Runner#heartbeat) XXX: num_waiting_in_queue: 0
[----] I, [2016-04-26T18:58:21.355593 #7252:2b16681a76c0]  INFO -- : MIQ(MiqUiWorker::Runner#heartbeat) XXX: connections.count: 3
[----] I, [2016-04-26T18:58:21.355690 #7252:2b16681a76c0]  INFO -- : MIQ(MiqUiWorker::Runner#heartbeat) XXX: in use: 2
[----] I, [2016-04-26T18:58:21.355754 #7252:2b16681a76c0]  INFO -- : MIQ(MiqUiWorker::Runner#heartbeat) XXX: num_waiting_in_queue: 0
[----] I, [2016-04-26T18:58:24.356020 #7252:2b16681a76c0]  INFO -- : MIQ(MiqUiWorker::Runner#heartbeat) XXX: connections.count: 3
[----] I, [2016-04-26T18:58:24.356123 #7252:2b16681a76c0]  INFO -- : MIQ(MiqUiWorker::Runner#heartbeat) XXX: in use: 2
[----] I, [2016-04-26T18:58:24.356187 #7252:2b16681a76c0]  INFO -- : MIQ(MiqUiWorker::Runner#heartbeat) XXX: num_waiting_in_queue: 0
2016-04-26 18:58:25 +0000: Rack app error: #<ActiveRecord::ConnectionTimeoutError: could not obtain a connection from the pool within 5.000 seconds (waited 5.000 seconds); all pooled connections were in use>
[----] I, [2016-04-26T18:58:27.356427 #7252:2b16681a76c0]  INFO -- : MIQ(MiqUiWorker::Runner#heartbeat) XXX: connections.count: 3
[----] I, [2016-04-26T18:58:27.356515 #7252:2b16681a76c0]  INFO -- : MIQ(MiqUiWorker::Runner#heartbeat) XXX: in use: 2
[----] I, [2016-04-26T18:58:27.356578 #7252:2b16681a76c0]  INFO -- : MIQ(MiqUiWorker::Runner#heartbeat) XXX: num_waiting_in_queue: 0
[----] I, [2016-04-26T18:58:30.356803 #7252:2b16681a76c0]  INFO -- : MIQ(MiqUiWorker::Runner#heartbeat) XXX: connections.count: 3
[----] I, [2016-04-26T18:58:30.356898 #7252:2b16681a76c0]  INFO -- : MIQ(MiqUiWorker::Runner#heartbeat) XXX: in use: 2
[----] I, [2016-04-26T18:58:30.356960 #7252:2b16681a76c0]  INFO -- : MIQ(MiqUiWorker::Runner#heartbeat) XXX: num_waiting_in_queue: 0
Let me know if this helps... evmserver already starts with connections.count=2 and in use=2 I noticed.

@fbladilo See #8275, I found a better way to log this information.
Once you run with that, see if you have up to 2 waiting_in_queue and if so try bumping this value in the advanced_settings from 5 to 7.

Once you run with that, see if you have up to 2 waiting_in_queue and if so try bumping this value in the advanced_settings from 5 to 7.

You might have to do the web service worker's value too

@jrafanie Is there any real downside to having the db pool bigger though? I mean, if we don't really know for sure, maybe threads * 2 or something like that may be safer..?

@jrafanie @himdel Success!! Bumping both ui_workers/web_workers connection pool to 7 on config/settings did it , here is the what the log looks like now with #8275 already applied :
[----] D, [2016-04-28T17:20:18.271471 #6373:2b08dcb41d8c] DEBUG -- : MIQ(ActiveRecord::ConnectionAdapters::PostgreSQLAdapter#log_after_checkout) pool_size: 7, connections: 7, in use: 5, waiting_in_queue: 0
[----] D, [2016-04-28T17:20:19.083163 #6373:2b08dcb41bd4] DEBUG -- : MIQ(ActiveRecord::ConnectionAdapters::PostgreSQLAdapter#log_after_checkin) pool_size: 7, connections: 7, in use: 4, waiting_in_queue: 0
[----] D, [2016-04-28T17:20:19.292753 #6373:2b08dcb41d8c] DEBUG -- : MIQ(ActiveRecord::ConnectionAdapters::PostgreSQLAdapter#log_after_checkin) pool_size: 7, connections: 7, in use: 3, waiting_in_queue: 0
[----] D, [2016-04-28T17:20:19.300156 #6373:2b08dcb419a4] DEBUG -- : MIQ(ActiveRecord::ConnectionAdapters::PostgreSQLAdapter#log_after_checkin) pool_size: 7, connections: 7, in use: 2, waiting_in_queue: 0
[----] D, [2016-04-28T17:21:18.034899 #6373:2b08dcb41aa8] DEBUG -- : MIQ(ActiveRecord::ConnectionAdapters::PostgreSQLAdapter#log_after_checkout) pool_size: 7, connections: 7, in use: 4, waiting_in_queue: 0
[----] D, [2016-04-28T17:21:18.035260 #6373:2b08dcb41bd4] DEBUG -- : MIQ(ActiveRecord::ConnectionAdapters::PostgreSQLAdapter#log_after_checkout) pool_size: 7, connections: 7, in use: 4, waiting_in_queue: 0
[----] D, [2016-04-28T17:21:18.039659 #6373:2b08dcb41cc4] DEBUG -- : MIQ(ActiveRecord::ConnectionAdapters::PostgreSQLAdapter#log_after_checkout) pool_size: 7, connections: 7, in use: 5, waiting_in_queue: 0
[----] D, [2016-04-28T17:21:18.996783 #6373:2b08dcb41aa8] DEBUG -- : MIQ(ActiveRecord::ConnectionAdapters::PostgreSQLAdapter#log_after_checkin) pool_size: 7, connections: 7, in use: 4, waiting_in_queue: 0
On failures you always see waiting_in_queue 2 with connections in use 5.

see #8332, I made it 8 just because...
@himdel we don't want to consume database connections just in case.  Rails connection pool will greedily create connections up to the pool size and not disconnect them so we shouldn't blindly increase this value in production appliances.

@jrafanie +1 , I think I can move forward with my original PR for docker image SSUI , we should be good once #8332 is merged


Added Windows Server 2016 in the list

This article is also applicable on Windows Server 2019 and it has been added in the doc.
Problem: https://github.com/MicrosoftDocs/windows-itpro-docs/issues/4345

Hi @nenonix and @JohanFreelancer9 for copy review please. Thanks.

Hi @mdsakibMSFT this pull request has been copy edited and is ready for your final review and approval. Please let us know if there are outstanding issues to be resolved prior to merge. Thank you very much.
CC: Apologies for CCing you here @Justinha, I am not sure if the author information is accurate. Can you help us? Thank you.

@mdsakibMSFT sorry I might be mistaken here. I actually think this topic applies only to Windows 10 and Windows Server 2019, unless it was backported to Windows Server 2016. If you can confirm or correct me I appreciate it.

Thank you for the assistance @Justinha, much appreciated.
@mdsakibMSFT hoping to hear from you so we can close the main issue. Thank you.


ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

Somehow the password expiration check has been triggered (checked the database and the 'password_lifetime' field is set to NULL for all users).
Also the password_expired field is also 'N'.

Error is caused by https://bugs.mysql.com/bug.php?id=77277
For newly created users:
SET GLOBAL default_password_lifetime = 0;

For existing users (note, some might not exists due legacy versions):
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
ALTER USER<EMAIL_ADDRESS>PASSWORD EXPIRE NEVER;
ALTER USER 'dev'@'localhost' PASSWORD EXPIRE NEVER;
ALTER USER<EMAIL_ADDRESS>PASSWORD EXPIRE NEVER;
ALTER USER 'dev-read'@'localhost' PASSWORD EXPIRE NEVER;
ALTER USER<EMAIL_ADDRESS>PASSWORD EXPIRE NEVER;
ALTER USER 'dev-write'@'localhost' PASSWORD EXPIRE NEVER;
ALTER USER<EMAIL_ADDRESS>PASSWORD EXPIRE NEVER;

Will fix this in future releases to enforce a default of zero and set it by default in the config.

Resolved in 2e2cd1f777e5253ed3f28c92d783678a44e9c0c8 will be released in future versions of Devtools


Hard to actually choose the grey item

Here (with Foot Path) the user has great difficulty in actually choosing the grey "yes"

Perhaps the idea is "yes is assumed, so we don't actually offer it, as there is no need to save the tag at all in this case." But this is not clear to the user.

No, it's because adding access=yes to highway=footway could be read as changing default restrictions (which usually are foot=yes and vehicle=no for highway=footway) to yes, highway=footway + access=yes means "road, which is open for all pedestrians and vehicles". https://wiki.openstreetmap.org/wiki/Key:access#Transport_mode_restrictions
Adding access=yes to a road is a bad idea, because it marks a feature as wide open to all transport modes Including cars, horses, moped, hazmat and others listed here.
Access=yes means "all vehicles can use the road, no matter what value highway has".
It's clear for the user, because 'yes' is not listed, but anyway many new users type "yes" manually and fill in the other fields.
The problem here is that is assumed to be "no" for footpaths, so the placeholder should be changed.

Well I'm only concerned that among

item in grey vs. item in black
item present in blue in drop down list vs. item absent

the user does not grasp that there is deeper logic going on in the several combinations, so maybe the item (e.g., "yes" here) should also appear in the drop down list, but in e.g., red, not blue, and then a mouseover appear saying why.


Add cobachbc.edu.mx

@capipo First stage of verification passed, official domain is cobachbc.edu.mx as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@capipo Pull request merged. Thank you.


Prepare for April 2021 Content Style Council meeting

What
Invite people, prepare the agenda and slides for the meeting.
Done when

[ ]  Arrange room - not needed
[ ]  Agree meeting date
[ ]  Arrange Teams meeting and send out invite
[ ]  Firm up agenda
[ ] Get issues ready with colleagues
[ ]  Make sure that GitHub is up to date
[ ]  Share agenda and info about topics up for discussion - by email, on NHS.UK and NHS digital service manual Slack
[ ]  Prepare slides
[ ] Olivia to chair the meeting

Possible agenda items

Potential issues:

skin symptoms guidance
captions in images


Advanced settings were required and not included in the guide

In attempting to configure this found that I needed to also use the Citrix implementation guide that indicated that the following advanced URL settings also had to also be configured: Identifier and Reply URL.

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

ID: f0bc4f40-b67f-5d0d-88f3-7627963d6dd8
Version Independent ID: e2898011-786f-0157-a567-14e12c8cb384
Content: Tutorial: Azure Active Directory integration with Citrix ShareFile
Content Source: articles/active-directory/active-directory-saas-sharefile-tutorial.md
Service: active-directory
GitHub Login: @jeevansd
Microsoft Alias: jeedes

@andrewjsilcock Thanks for your feedback! We will investigate and update as appropriate.

@andrewjsilcock Thanks for reporting! I have assigned the issue to the author to investigate and update as appropriate.

@chetansriv and @v-nagta Can you please update the article as suggested?

@chetansriv  and @v-nagta Have we updated this article?

@jeevansd Yes, this article was updated.
#Please-close


AI backend could not autoTrain

Hi, I tried the repo, and found that it failed to start auto-train. The training status kept true and task status PENDING after one training( mannually started ) completed. I  followed the instructionsran and ran all the services on a single machine with one AIworker. Was there something I missed for the problem?
It's a really interesting work to integrate annotation and training. I did not find a way to export the annotations in the code yet. It would be useful to add the function so that the annotations could be reused in other systems.
Thanks

the problem of 'broker_url' and 'result_backend' settings.


为啥，我build老是报错

Xcode's output:
↳
warning: Stale file '/Users/flower/myFont/flutter-base/build/ios/Release-iphoneos/Runner.app/Frameworks/Flutter.framework' is located outside of the allowed root paths.
/Users/flower/Downloads/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_unionad-0.1.0/ios/Classes/bannerad/BannerAdView.swift:48:54: warning: 'init(slotID:rootViewController:adSize:isSupportDeepLink:interval:)' is deprecated:
Use initWithSlotID:rootViewController:adSize:interval: instead.
        let bannerAdView = BUNativeExpressBannerView.init(slotID: self.mCodeId!, rootViewController: MyUtils.getVC(), adSize: size, isSupportDeepLink: self.supportDeepLink!, interval: Int(self.expressTime!))
                                                     ^
/Users/flower/Downloads/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_unionad-0.1.0/ios/Classes/drawfeedad/DrawFeedAdView.swift:48:18: warning: 'isSupportDeepLink' is deprecated: This property is deprecated,Settings are no
longer required after version 3300
        bUadSolt.isSupportDeepLink = self.supportDeepLink!
                 ^
/Users/flower/Downloads/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_unionad-0.1.0/ios/Classes/drawfeedad/DrawFeedAdView.swift:62:37: warning: 'loadAd' is deprecated: Use loadAdDataWithCount: instead.
        self.nativeExpressAdManager.loadAd(1)
                                    ^
/Users/flower/Downloads/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_unionad-0.1.0/ios/Classes/nativead/NativeAdView.swift:60:16: warning: 'isSupportDeepLink' is deprecated: This property is deprecated,Settings are no
longer required after version 3300
        buSlot.isSupportDeepLink = self.supportDeepLink!
               ^
/Users/flower/Downloads/flutter/.pub-cache/hosted/pub.flutter-io.cn/flutter_unionad-0.1.0/ios/Classes/nativead/NativeAdView.swift:63:37: warning: 'loadAd' is deprecated: Use loadAdDataWithCount: instead.
        self.nativeExpressAdManager.loadAd(1)
                                    ^
Undefined symbols for architecture arm64:
  "___cxa_current_primary_exception", referenced from:
      _hmdbu_current_cpp_exception in BUCNAuxiliary(hmdbu_cpp_exception.o)
ld: symbol(s) not found for architecture arm64

穿山甲官方文档 里面xcode需要配置的东西 全部检查一下


feat: add supoort for custom lighthouse config

What:
Add the ability to customize lighthouse config per URL, like this:
{
            "url": "https://www.example.com",
            "plugins": [
                {
                    "name": "lighthouse",
                    "report": true,
                    "config": {
                        "settings": {
                            "emulatedFormFactor": "desktop"
                        }
                    }
                }
            ]
        }

Why:
I want lighthouse to check the benchmark for desktop only webapp, and unfortuantly it's crashing with the current config.

How:
via URL based custom config

Checklist:

[ ] Documentation
[ ] Tests
[ ] Ready to be merged
[ ] Added myself to contributors table

Codecov Report

Merging #3 into master will decrease coverage by 0.15%.
The diff coverage is 80%.

@@            Coverage Diff             @@
##           master       #3      +/-   ##
==========================================
- Coverage   93.33%   93.18%   -0.16%
==========================================
  Files           5        5
  Lines         135      132       -3
  Branches       25       24       -1
==========================================
- Hits          126      123       -3
  Misses          9        9

@boyney123 any input on this?

I'm closing this, if anyone stumbled upon the same issue, you could try this alternative:
https://github.com/mouafa/iceberg-lighthouse


batch_size_per_gpu and max_seq_length are unexpected args?

I'm trying to construct an instance of a BertDataBunch, but the constructor doesn't seem to recognize two of the standard arguments.
from fast_bert.data import BertDataBunch
DATA_PATH = '/home/khale/FastBert/'
LABEL_PATH = '/home/khale/FastBert/'

databunch = BertDataBunch(DATA_PATH, LABEL_PATH,
                          tokenizer='bert-base-cased',
                          train_file='fastbert_train1.csv',
                          val_file='fastbert_val1.csv',
                          label_file='labels.csv',
                          text_col='text',
                          label_col='label',
                          batch_size_per_gpu=16,
                          max_seq_length=512,
                          multi_gpu=False,
                          multi_label=False,
                          model_type='bert')

Which yields-
TypeError: __init__() got an unexpected keyword argument 'batch_size_per_gpu'
If I comment out batch_size_per_gpu, then it will get a TypeError on max_seq_length. If I comment both out, and the __innit__ presumably uses the default values, then the BertDataBunch will construct fine. However, then building the BertLearner object fails, with it failing to recognize model_type as an attribute of a BertDataBunch.
~/anaconda3/envs/riskenv/lib/python3.7/site-packages/fast_bert/learner_cls.py in from_pretrained_model(dataBunch, pretrained_path, output_dir, metrics, device, logger, finetuned_wgts_path, multi_gpu, is_fp16, loss_scale, warmup_steps, fp16_opt_level, grad_accumulation_steps, multi_label, max_grad_norm, adam_epsilon, logging_steps, freeze_transformer_layers)
    131         model_state_dict = None
    132
--> 133         model_type = dataBunch.model_type
    134
    135         if torch.cuda.is_available():

AttributeError: 'BertDataBunch' object has no attribute 'model_type'

I'm at a loss as to what could cause this- I installed fast-bert by cloning the repo and using pip, though I've done so into a conda environment (never ideal, but fast-bert is the final package installed in building the environment, and the only package I've used pip with, so that should limit potential problems). Any help would be much appreciated.

This can be closed/deleted- the problem was importing BertDataBunch from data.py, and not data_cls.py.


Distribution files are not up to date

Hi! I'm trying to use the last version of Recline (the one that uses Bootstrap 3) but the dist files are not up to date so some things are broken. Are dist files built automatically as the "guidelines for contributing" say?
Thanks!

@msolv you also need to build the dist files (they aren't build automatically). Can you do that and submit a PR.

Oh, sorry @rgrp, I misunderstood the guidelines for contributing then! I will build the dist files and I'll do a new PR.

Done! I updated both dist and doc files. Let me know if you need any changes.

The changes were merged.


Toxic Blowpipe Ammo Indicator

Toxic Blowpipe is not showing up when Ammo plugin is enabled.
Possibility of showing both darts and scales?
To Reproduce
Steps to reproduce the behavior:

Go to Ammo Plugin
Put on Toxic Blowpipe (filled with ammo)
See error: No ammo shown.

#2990 has been sitting around for a long time attempting to implement it

duplicate of #953


Shader documentation syntax fails to terminate with /**/ causing large editor freezes (regression 4.3-dev6)

Tested versions

Reproducible in 4.3-dev6
Not reproducible in 4.3-dev5

System information
Godot v4.3.dev6 - Windows 10.0.22631 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 2070 SUPER (NVIDIA; <IP_ADDRESS>01) - Intel(R) Core(TM) i7-10700F CPU @ 2.90GHz (16 Threads)
Issue description
After swapping from 4.3-dev5 to 4.3-dev6, existing shader code from my project included the /**/ substring in various places. When the inspector attempts to process any shader containing this substring, there is a large lagspike (3 seconds with the MRP on my system).
This also causes the documentation syntax highlighting to affect the rest of the script. Perhaps caused by #90161 , related to #91424 by the appearance of the issue:

Steps to reproduce

Create a CSGBox3D.
Give it a StandardMaterial3D, convert it to ShaderMaterial.
Add /**/ to the top of the code. (The amount of lag is proportional to the amount of code after the /**/.)
Select and de-select the CSGBox3D. The editor will freeze with a large lagspike as it attempts to load the shader in the inspector.

Minimal reproduction project (MRP)
shader-syntax-lag.zip

CC @magian1127

The CodeHighlighter::_get_line_syntax_highlighting_impl is determined to be flawed.
/**/ is considered the beginning of '/**'.
There are three solutions:

Change the highlighting of /** to /** (one more space).
Cancel the highlighting of /**.
Rewrite the entire CodeHighlighter::_get_line_syntax_highlighting_impl.

I will first push a PR for solution 1.

In my opinion, we should revert the original PR and re-implement it using a parser instead of regular expressions. The * and + quantifiers can cause significant slowdowns due to backtracking.

The lagspike here is due to the fact that /**/ was blocking the regular expression /**.
The problem has been solved after changing it to /** .
I also think that a non-regular expression method is better, but it's still worth considering keeping the existing changes until there are new issues and new PRs.


Make Alt+Hotkey in menus work

Use Alt+Hotkey in main menu. Activate the menu if hotkey is recognized (#190)

This looks good, I would love to have a capability to enable/disable this.  Perhaps an additional indication?   "&_File"?

Or &File instead of _File?Am 05.05.2019 04:23 schrieb Miguel de Icaza notifications@github.com:This looks good, I would love to have a capability to enable/disable this.  Perhaps an additional indication?   "&_File"?
—You are receiving this because you authored the thread.Reply to this email directly, view it on GitHub, or mute the thread.


fix(feature_flags): handle expected falsy values in conditions

Issue number: #2051
Summary
Rule Conditions allow users to evaluate context attributes against values and actions defined in Rule Conditions.
The condition can easily be pivoted on a certain value in the context evaluating to falsy values
The values attribute should be able to accept any value except null
The condition should also honor any value for context key variable.
Changes

Added tests
changed the validation from if true to if none
changed error message to none instead of empty

Checklist
If your change doesn't seem to apply, please leave them unchecked.

[x] Meet tenets criteria
[ ] I have performed a self-review of this change
[ ] Changes have been tested
[ ] Changes are documented
[x] PR title follows conventional commit semantics

Is this a breaking change?
RFC issue number:
Checklist:

[ ] Migration process documented
[ ] Implement warnings (if it can live side by side)

Acknowledgment
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Disclaimer: We value your time and bandwidth. As such, any pull requests created on non-triaged issues might not be successful.

hmmm, GitHub review is messing up indentation and isn't signing off commit to push the change. Can't push to your fork either - here's the patch with the changes whenever you can.
From bd8a6215e4815cc729d0c695d42a14144bc56ee7 Mon Sep 17 00:00:00 2001
From: heitorlessa<EMAIL_ADDRESS>Date: Mon, 27 Mar 2023 14:26:08 +0200
Subject: [PATCH] chore: use null instead of none in err msg

---
 aws_lambda_powertools/utilities/feature_flags/schema.py  | 2 +-
 tests/functional/feature_flags/test_schema_validation.py | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/aws_lambda_powertools/utilities/feature_flags/schema.py b/aws_lambda_powertools/utilities/feature_flags/schema.py
index df999a51..08f2ee13 100644
--- a/aws_lambda_powertools/utilities/feature_flags/schema.py
+++ b/aws_lambda_powertools/utilities/feature_flags/schema.py
@@ -327,7 +327,7 @@ class ConditionsValidator(BaseValidator):
     def validate_condition_value(condition: Dict[str, Any], rule_name: str):
         value = condition.get(CONDITION_VALUE)
         if value is None:
-            raise SchemaValidationError(f"'value' key must not be none, rule={rule_name}")
+            raise SchemaValidationError(f"'value' key must not be null, rule={rule_name}")
         action = condition.get(CONDITION_ACTION, "")

         # time actions need to be parsed to make sure date and time format is valid and timezone is recognized
diff --git a/tests/functional/feature_flags/test_schema_validation.py b/tests/functional/feature_flags/test_schema_validation.py
index 8441b944..8d3b97ad 100644
--- a/tests/functional/feature_flags/test_schema_validation.py
+++ b/tests/functional/feature_flags/test_schema_validation.py
@@ -301,7 +301,7 @@ def test_validate_condition_missing_condition_value():
     }

     # WHEN calling validate_condition
-    with pytest.raises(SchemaValidationError, match="'value' key must not be none"):
+    with pytest.raises(SchemaValidationError, match="'value' key must not be null"):
         ConditionsValidator.validate_condition_value(condition=condition, rule_name="dummy")

@@ -314,7 +314,7 @@ def test_validate_condition_none_condition_value():
     }

     # WHEN calling validate_condition
-    with pytest.raises(SchemaValidationError, match="'value' key must not be none"):
+    with pytest.raises(SchemaValidationError, match="'value' key must not be null"):
         ConditionsValidator.validate_condition_value(condition=condition, rule_name="dummy")

--
2.37.1 (Apple Git-137.1)

hmmm, GitHub review is messing up indentation and isn't signing off commit to push the change. Can't push to your fork either - here's the git patch with the changes whenever you can.
From bd8a6215e4815cc729d0c695d42a14144bc56ee7 Mon Sep 17 00:00:00 2001
From: heitorlessa<EMAIL_ADDRESS>Date: Mon, 27 Mar 2023 14:26:08 +0200
Subject: [PATCH] chore: use null instead of none in err msg

---
 aws_lambda_powertools/utilities/feature_flags/schema.py  | 2 +-
 tests/functional/feature_flags/test_schema_validation.py | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/aws_lambda_powertools/utilities/feature_flags/schema.py b/aws_lambda_powertools/utilities/feature_flags/schema.py
index df999a51..08f2ee13 100644
--- a/aws_lambda_powertools/utilities/feature_flags/schema.py
+++ b/aws_lambda_powertools/utilities/feature_flags/schema.py
@@ -327,7 +327,7 @@ class ConditionsValidator(BaseValidator):
     def validate_condition_value(condition: Dict[str, Any], rule_name: str):
         value = condition.get(CONDITION_VALUE)
         if value is None:
-            raise SchemaValidationError(f"'value' key must not be none, rule={rule_name}")
+            raise SchemaValidationError(f"'value' key must not be null, rule={rule_name}")
         action = condition.get(CONDITION_ACTION, "")

         # time actions need to be parsed to make sure date and time format is valid and timezone is recognized
diff --git a/tests/functional/feature_flags/test_schema_validation.py b/tests/functional/feature_flags/test_schema_validation.py
index 8441b944..8d3b97ad 100644
--- a/tests/functional/feature_flags/test_schema_validation.py
+++ b/tests/functional/feature_flags/test_schema_validation.py
@@ -301,7 +301,7 @@ def test_validate_condition_missing_condition_value():
     }

     # WHEN calling validate_condition
-    with pytest.raises(SchemaValidationError, match="'value' key must not be none"):
+    with pytest.raises(SchemaValidationError, match="'value' key must not be null"):
         ConditionsValidator.validate_condition_value(condition=condition, rule_name="dummy")

@@ -314,7 +314,7 @@ def test_validate_condition_none_condition_value():
     }

     # WHEN calling validate_condition
-    with pytest.raises(SchemaValidationError, match="'value' key must not be none"):
+    with pytest.raises(SchemaValidationError, match="'value' key must not be null"):
         ConditionsValidator.validate_condition_value(condition=condition, rule_name="dummy")

--
2.37.1 (Apple Git-137.1)

hmmm, GitHub review is messing up indentation and isn't signing off commit to push the change. Can't push to your fork either - here's the git patch with the changes whenever you can.
From bd8a6215e4815cc729d0c695d42a14144bc56ee7 Mon Sep 17 00:00:00 2001
From: heitorlessa<EMAIL_ADDRESS>Date: Mon, 27 Mar 2023 14:26:08 +0200
Subject: [PATCH] chore: use null instead of none in err msg

---
 aws_lambda_powertools/utilities/feature_flags/schema.py  | 2 +-
 tests/functional/feature_flags/test_schema_validation.py | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/aws_lambda_powertools/utilities/feature_flags/schema.py b/aws_lambda_powertools/utilities/feature_flags/schema.py
index df999a51..08f2ee13 100644
--- a/aws_lambda_powertools/utilities/feature_flags/schema.py
+++ b/aws_lambda_powertools/utilities/feature_flags/schema.py
@@ -327,7 +327,7 @@ class ConditionsValidator(BaseValidator):
     def validate_condition_value(condition: Dict[str, Any], rule_name: str):
         value = condition.get(CONDITION_VALUE)
         if value is None:
-            raise SchemaValidationError(f"'value' key must not be none, rule={rule_name}")
+            raise SchemaValidationError(f"'value' key must not be null, rule={rule_name}")
         action = condition.get(CONDITION_ACTION, "")

         # time actions need to be parsed to make sure date and time format is valid and timezone is recognized
diff --git a/tests/functional/feature_flags/test_schema_validation.py b/tests/functional/feature_flags/test_schema_validation.py
index 8441b944..8d3b97ad 100644
--- a/tests/functional/feature_flags/test_schema_validation.py
+++ b/tests/functional/feature_flags/test_schema_validation.py
@@ -301,7 +301,7 @@ def test_validate_condition_missing_condition_value():
     }

     # WHEN calling validate_condition
-    with pytest.raises(SchemaValidationError, match="'value' key must not be none"):
+    with pytest.raises(SchemaValidationError, match="'value' key must not be null"):
         ConditionsValidator.validate_condition_value(condition=condition, rule_name="dummy")

@@ -314,7 +314,7 @@ def test_validate_condition_none_condition_value():
     }

     # WHEN calling validate_condition
-    with pytest.raises(SchemaValidationError, match="'value' key must not be none"):
+    with pytest.raises(SchemaValidationError, match="'value' key must not be null"):
         ConditionsValidator.validate_condition_value(condition=condition, rule_name="dummy")

--
2.37.1 (Apple Git-137.1)

@ajwad-shaikh had an idea now that GitHub seems to be back -- create a new PR (I'm merging this shortly), so we can make sure you're credited properly in your first contribution <3

For future reference until we manage to create issues for these, two things I'd love to do/get help in Feature Flags:

Move most of the functional tests as unit tests (e.g., these Schema Validation are largely unit tests)
Investigate slowness in testing Feature Flags and refactor accordingly (e.g., we're always creating mapping_by_action lambda functions instead of making them constant) -- Feature Flags IIRC has the slowest test execution, py-spy should help produce a flame graph when running the test suite here


Maya 2022: Color Management default to new config OCIO with renamed color spaces and settings

Issue
OpenPype's default Color Space settings for maya are set to:

Rendering Space: scene-linear Rec 709/sRGB
Viewer Transform: sRGB gamma

Both of these names do not exist with the default OCIO config in Maya 2022.
They are now named scene-linear Rec.709-sRGB and sRGB
As such the set_colorspace fails in Maya 2022 resulting in these errors on New File or Maya launch:
Traceback (most recent call last):
#   File "S:\openpype\OpenPype\repos\avalon-core\avalon\pipeline.py", line 631, in emit
#     callback(*args)
#   File "S:\openpype\OpenPype\openpype\hosts\maya\api\__init__.py", line 206, in on_task_changed
#     lib.set_context_settings()
#   File "S:\openpype\OpenPype\openpype\hosts\maya\api\lib.py", line 1924, in set_context_settings
#     project_data.get(pixelAspect_key, 1))
#   File "S:\openpype\OpenPype\openpype\hosts\maya\api\lib.py", line 2825, in set_colorspace
# RuntimeERROR: colorManagementPrefs: Rendering space scene-linear Rec 709/sRGB is unknown.
#

This is because Maya 2022 comes with a new .ocio config (default) and considers the old .ocio file legacy.

Maya 2022 Default: <MAYA_RESOURCES>/OCIO-configs/Maya2022-default/config.ocio
Maya 2022 Legacy: <MAYA_RESOURCES>/OCIO-configs/Maya-legacy/config.ocio

Also note that Maya 2022 completely revised settings for "View Transform". It now has two separate options Display and View. More details in the Maya 2022 documentation on Color Management
Potential solutions
We can maybe allow a comma/separator divided list of values to fall back to in the settings, e.g. scene-linear Rec.709-sRGB;scene-linear Rec 709/sRGB.
Or as @jakubjezek001 mentioned on discord maybe make the settings a combobox entry with a mapping per application version. But even those might be wrong when you are using a custom OCIO file.

Example quoted from Discord
[
    {"rec_709_srgb": "Rec.709-sRGB"},
    {"gamma22": "Gamma 2.2"}
]

Mapping for Maya 2022 in code
mapping_2022 = {
    "rec_709_srgb": "scene-linear Rec.709-sRGB",
    "gamma22": "..."
}

Mapping for others in code
mapping_old = {
    "rec_709_srgb": "scene-linear Rec.709/sRGB",
    "gamma22": "..."
}

Another fix could be by always defaulting to an .ocio file that gets provided with OpenPype which we can keep consistent across maya versions.
Discussion
It would be good to know what a preferred method of fixing this would be.
Note that this could get extra complicated when mixing Maya 2020 + Maya 2022 in a single production - if you ever do that.
[cuID:1yygjay]

Looking at the difference between the legacy OCIO (v1) to the new OCIO (v2) options it might be better to actually separate the two like that in the Admin settings too.
We could have a toggle for choosing OCIO v2 over v1 when available or even have it choose legacy in Maya 2022 since it provides completely new and different arguments for maya.cmds.colorManagementPrefs when either in v1 or v2.

As such we'd just have new extra settings for OCIO v2 (that are relevant to Maya 2022+) - Thoughts?

Yeah, I think that we should actually do both - provide default OCIO config with OpenPype (as it would even help anyone not really versed with color management to start using some sane default values) and have ability to choose between v1 and v2 OCIO in Maya 2022. I am not sure when will Autodesk deprecate v1 support, but we'll see.

This issue might related to the colorspace distribution discussion and issue.

@mkolar @antirotor Here's how it would look in settings. Thoughts?
Will look into implementing code coming week.

Actually I just found out that in Maya 2022 the ociov2Enabled flag isn't one you can set but it's only one you can query. It's because it basically depends on whether the used ocio config is OCIO 2+.
I am not sure how to best be explicit about this in the OpenPype settings currently. It would be great if someone at OP dev team could take a stab at this in a way that aligns with other approaches taken with OCIO (or at least steer me in the most logical direction for OpenPype to implement it.)
Would love to fix up this behavior to get the full Maya 2022 support merged soon.

I think this is a part of much bigger issue with handling colors in OpenPype, but as we need to make Maya 2022 available asap, lets divide it and implement now "dumb but fast" solution. Lets do it like you have on the screenshot, but add logic to prelaunch hook to select what's appropriate for running Maya version...
Then with proper implementation, we can add OpenColorIO as library and use it's python api to parse available config files and make it more smart, better, nicer, shiny and whatnot,,,

We had some more discussions today and looking at the mockup from settings here, I'd also say that it's the way to go for now. Especially considering it's not only the ocio config, but also the attributes in maya themselves that have changed.

The original Maya 2020 color settings. Can someone confirm for me did they what they intended to do? :) They don't seem to work for me on Maya launch (they do work on New File but not on Maya start). So the initial scene without open latest workfile, the empty scene Maya starts in, doesn't initialize to the right settings.
For example change Rendering Space to ACEScg and Viewer Transform to 1.8 gamma. Maya 2020 will not start with those settings for me. @mkolar can you confirm on your end?

@mkolar I'd like to propose an alternative that looks more like how it's done for settings for Hiero and Nuke.
Settings layout

With the dropdown:

*View / View Transform
The old color config basically uses "View Transform" which is basically View + Display but in the legacy styling Display was never explicitly set in preferences. So I'd say that we use a fallback for "View" that if we're in an older host (Maya pre 2020) or are using a legacy 1.0 config then we use the View value as View Transform.
I'll implement the code changes in a bit in another branch.

@mkolar Here is the new proposed code, branch with commit. This is basically the implementation as described in the comment above - I much prefer that code.

Any thoughts on the above? Is the latest approach I described the most sensible for now?
Once we pick I can merge and refactor to work with latest develop changes which merges Maya host from Avalon into OpenPype.


Design break for Active Collectives

Describe the bug
The 4-4 cards shown in the Recently Created and Most Active Collectives
are broken into uneven 3:1 of grids
To Reproduce
Steps to reproduce the behavior:

Go to https://opencollective.com/
Click on '....'
Scroll down to Active Collectives Section
Change screen dimensions to iPad
See design error

Expected behavior
Should either show all 4 in a row like iPad Pro
or show 2:2 like other mobile devices
Screenshots

Tablet (please complete the following information):

Device: [e.g. iPad]
OS: [e.g. any]
Browser [e.g. any]
Version [e.g. any]

Additional context
Add any other context about the problem here.

@znarf

Thanks for this issue @maddhruv

Should either show all 4 in a row like iPad Pro
or show 2:2 like other mobile devices

There's not enough space to display 4 in a row and we'll loose space on the right if we display only 2:2. The proper fix could also be to do 3:3.
As we're re-designing this page I'm not sure that we want to invest time fixing this. I'll add a won't fix for now and will let @znarf close or update accordingly.

@Betree I have seen the issues regarding the redesign of several pages
I want to help and work on these
any steps or particular issues I can contribute on?

@maddhruv These are usually tackled by the core team because it requires close collaboration with the design team and the rest of the team. We don't have open issues for the re-designs right now but you can check the open bounties and good first issues if you're looking for places to contribute

Closing because we're redesigning this page entirely, it's not worth investing in small UI enhancements for it at the moment.


ANC Progress Report - Logic [8h]

Issue
The app diagnosis needs to populate on the progress report in the appropriate section. The different diagnoses, the wording that should appear on the progress report, and the section that it should appear on can be found on Logic Master on the ANC Progress Report tab. The wording follows a template of Diagnosis + Complications (if any) + Action Taken + Date.
From #257:
Wording in case of Outside care:
diagnosis + diagnosed by outside care + medication given (if any) + added to patient record on XX/XX/XXX
Example: Malaria diagnosed by outside care and treated with Coartem added to patient record on 10/07/2021
If other was selected I think we can just say in medical diagnosis
"Received a diagnosis from a different health care facility - please follow up with patient"
E-Heza will have to populate the medication prescribed, the complications (for Hep B and Syhilis), and the date the action was taken.
Here is an example of the progress report with sample diagnoses filled in:

Design Files

you can find the design in Figma here

To Do:

Logic for the diagnoses to popular
Style per design

When patient has Malaria with Severe Anemia, and I refer them to the hospital, the progress report states otherwise.

@anvmn please check above issues.

@adamhstewart

When patient has Malaria with Severe Anemia, and I refer them to the hospital, the progress report states otherwise.

Fixed at #475.

2.I n the case of Candidiasis treatment the dosage is indicated, but it is not indicated in the case of Gonorrhea.

https://nutrition-ihangane.pantheonsite.io/
QA Review
Found issues and questions:

Patient is diagnosed with Malaria. In Case management with 8 g/dL hemoblobin they should be diagnosed with Malaria + anemia and referred to hospital.

Hemoblobin
No next steps

Checked and approved:

Typos are fixed (vomitting and the missing dash).


BadUnknownResponse during ActivateSession

It's the first time I use this library and I try to wrote e test program using this library but I get a BadUnknownResponse during the ActivateSession method, what did I make wrong? see the followin snippet:
Thanks in advance
        appDesc = new ApplicationDescription("urn:DyeMrp", "uri:DyeMrp", new LocalizedText("UA client"), ApplicationType.Client, null, null, null);

        client = new Client(args[0], 4840, 1000);
        var connectRes = client.Connect();
        if (connectRes != StatusCode.Good)
        {
            Console.WriteLine($"OPC OpenChannel Connect error: {connectRes}");
            Environment.Exit(1);
        }
        Console.WriteLine(connectRes);

        var openRes = client.OpenSecureChannel(MessageSecurityMode.None, SecurityPolicy.None, null);
        if (openRes != StatusCode.Good)
        {
            Console.WriteLine($"OPC OpenChannel OpenSecureChannel error: {openRes}");
            Environment.Exit(1);
        }
        Console.WriteLine(openRes);

        var createRes = client.CreateSession(appDesc, "urn:ProcessMachine", 120);
        if (createRes != StatusCode.Good)
        {
            Console.WriteLine($"OPC OpenChannel CreateSession error: {createRes}");
            Environment.Exit(1);
        }
        Console.WriteLine(createRes);

        var activateRes = client.ActivateSession(new UserIdentityAnonymousToken("0"), new[] { "it" });
        if (activateRes != StatusCode.Good)
        {
            Console.WriteLine($"OPC OpenChannel ActivateSession error: {activateRes}");
            Environment.Exit(1);
        }
        Console.WriteLine(activateRes);

The code pasted should work. Could you share a network capture (Wireshark) or server that I can try running?

Thanks for replying.
I'm trying to write a client connecting with a machine, I suppose that the server is the machine itself (I don't have much information from the machine supplier).
Uaexpert client is connecting successfully.
I'll try with wireshark.

If you can provide a Wiresharp capture of the libua client connecting to the server and of uaexpert connecting to the server, I should be able to figure it out. Otherwise I need more information about this server, it seems to reject the ActivateSession request.

Hi nauful,
attached you can find the UAExpert capture and my test project capture. Hope they are what you need.
Thanks again for looking at my problem.
capture.zip

In the capture "capture my testOPC", I don't see an ActivateSession call. I see a call to Read, which the server responds to by disconnecting the client.

Sorry, after tenth of try I sent the wrong capture. On Monday I'll the correct one.

Hi, here you are the complete capture.
capture my testOPC_activate.zip

What happens if you change the locale in ActivateSession from "it" to "en-US"? This is the only difference I could find.

I tried with en and en-US without success. Here there are the logs.
capture my testOPC_activate_with_en.zip

Hmm... perhaps try this (different token for anonymous identity):
var activateRes = client.ActivateSession(new UserIdentityAnonymousToken("Anonymous"), new[] { "en-US" });

Hi, using the suggested ActivateSession with Anonymous has been succesfully!
Attached the captured file.
Next step I've tried to read and write some variables. Write had errors but was a device failure.
Downloads_new.zip
Thanks a lot for your valuable support.

Try to write with UaExpert and capture that. If direct write won't work, perhaps there is a call to write similar to this: https://github.com/nauful/LibUA/issues/35#issuecomment-707167596

Hello,
I have the same issue with User&Pwd.
The connection with anonymous token works fine but if I use a pwd then the ActivateSession returns "BadUnknownResponse".

Here below the Wireshark trace for ActivateSession:

And the UAExpert (that works):

I can see two differences:
"Security Sequence Number" (53 vs 54)
"Security RequestId" (3 vs 4)
But I don't know how to set these two parameters.
Thanks in advance for a reply.

Security policy is sent as RsaPkcs15Sha:
https://github.com/nauful/LibUA/blob/bb2c24b02887be40f3c4cb16b7d193f0c1dbf0d8/NET Core/LibUA/Client.cs#L1730
I haven't implemented OAEP for UserIdentityToken, a clear password with Sign&Encrypt security is secure enough.
If you change the algorithm there, also change the Algorithm parameter here:
var activateRes = client.ActivateSession(
	new UserIdentityUsernameToken(usernamePolicyDesc, "Username",
		(new UTF8Encoding()).GetBytes("Password"), Types.SignatureAlgorithmRsa15),
	new[] { "en" });

Dear nauful,
in my first try I used "Types.SignatureAlgorithmRsa15" as you suggest but it didn't work so in my second try I changed that parameter in OAEP encryption because UAExpert showed this type of encryption:

And UAExpert works fine.
I tried also all Types without success.
Can you help?
Thanks in advance

You have to also implement OAEP as a crypt method here:
https://github.com/nauful/LibUA/blob/bb2c24b02887be40f3c4cb16b7d193f0c1dbf0d8/NET Core/LibUA/Client.cs#L1730
I haven't implemented this before so the functionality is missing. I will add it to my list of features to research later.

Implemented more security policies and user identity token signatures (rsa-oaep) here:
https://github.com/nauful/LibUA/commit/6534b413b5abaca258542aabd81cf85094c18838


Use of Makie in Juno

Hi,
I have some functions in your package to use Makie in Atom but I cant get it to work.

Thank you,
Best

There is the undocumented use_plot_pane:
https://github.com/JuliaPlots/Makie.jl/blob/master/src/plotsbase/output.jl#L42
Does calling use_plot_pane(true) achieve what you're trying to do?

No...
julia> Makie.use_atom_plot_pane(true)
ERROR: MethodError: objects of type Base.RefValue{Bool} are not callable
Stacktrace:
 [1] macro expansion at /Users/rveltz/.julia/v0.6/Atom/src/repl.jl:118 [inlined]
 [2] anonymous at ./<missing>:?

... and use_plot_pane(true) ?

Did you try Makie.use_plot_pane(true) ?


website gets stuck on downloading pages

BookId: 129134
no progress after "Downloading pages..."

Hi you've already opened an issue #23 , I'll respond to you there


d_a_obj_mknjd

MknjD

In progress at https://github.com/Sage-of-Mirrors/tww/blob/obj_mknjd/src/d/actor/d_a_obj_mknjd.cpp

Major progress merged with PR #504. As of this PR:

daObjMknjD::Act_c::CreateHeap() is at 95% with regswaps; all other functions match 100%.
Structure of the TU needs to be adjusted to get the TU to match 100%.


Breakpoint in script that is launched after some process

I have a question and I am not sure if this is related to Vdebug or Xdebug itself. My coworker uses PHPStorm and he has it work it fine.
Basically we have a script that is called after filling some forms. So, we have a breakpoint in that script.
When I launch Vdebug by pressing F5, I see that it stops at my index.php. Then, if I press F5 so that I can go to my forms, the Vdebug goes from 'running' to 'stopped' and once I reach that script that process the forms it doesn't stop in the breakpoint (obviously because the debugger is not running). So, my question is, how can I make vdebug to be running until I say so (my coworker here has a button to stop the debugger).

I have the same problem,has it  been solved?

Hi @byronkingz this issue is probably down to a set-up issue, not a bug (could be wrong though). Could you create a log file (see my comment above) and paste it here? That will help with context.

Not connected

Debugging session has ended

Thanks!

@byronkingz as you're using cygwin you'll need to add path maps, since the real system path is going to be F:/etc/etc.... Try adding:
let g:vdebug_options['path_maps'] = { 'F:' : '/cygdrive/f' }

This will do the substitution in file paths for you.

@joonty Great! It's useful.Thank you!


What about version 8.2.3?

How do we customize and fix this issue in 8.2.3, the first version to support Dynamics App? This dashboard doesn't appear for me. Under Apps, there is no Dynamics App.

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

ID: 96f96d18-64e8-669a-9c69-11fb7fd26816
Version Independent ID: aad24dd5-23c2-3fef-eb32-efad349fac33
Content: Limitations when customizing Dynamics 365 App for Outlook (Dynamics 365 apps)
Content Source: ce/outlook-app/limitations-when-customizing-app-for-outlook.md
Service: crm-online
GitHub Login: @mduelae
Microsoft Alias: mkaur

Thanks for contacting us. Unfortunately, we're unable to handle Support requests for the product here. To contact Support, see here: https://powerapps.microsoft.com/support/ Closing this issue.
Thanks,
Mints


Update the PR Template

Description
Found a detailed pr template that looks nice. Modified a little bit, should suit quite nicely.

I don't like the template for PRs - something similar could probably be used to modify the issue templates if anything.
The PR title, branch name, and small description someone writes should be enough for 90% of PRs.
If your PR is so heavy that it needs all of this, then you should take it upon yourself to add the relevant information.


build withouyt vsix file

Which OS: Ubuntu 18.04
Which VSCode version:  1.36
Which extension version:1.30
Which adapter type: no
Which LLDB version: lldb 8.0
What is the problem and how did you get there:
I want build this plug with the python of the local version, when I build this project according the BUILDING.md file, all success， however, I cannot find the vsix file for lanuch. The following is the log file in the terminal:
.......
Compiling debug-protocol v0.1.0 (/home/mamingyang/OpenSource/vscode-lldb/adapter2/deps/debug-protocol)
Compiling codelldb v1.0.0 (/home/mamingyang/OpenSource/vscode-lldb/adapter2)
Finished dev [unoptimized + debuginfo] target(s) in 37.01s
Compiling codelldb v1.0.0 (/home/mamingyang/OpenSource/vscode-lldb/adapter2)
Finished dev [unoptimized + debuginfo] target(s) in 1.10s
[100%] Built target codelldb
mamingyang@mamingyang-Ubuntu:~/OpenSource/vscode-lldb/build$ sudo make install
[sudo] password for mamingyang:
[ 53%] Built target lldb
[ 87%] Built target adapter
[ 90%] Running cargo build
Finished dev [unoptimized + debuginfo] target(s) in 0.04s
Finished dev [unoptimized + debuginfo] target(s) in 0.04s
[100%] Built target codelldb
Install the project...
-- Install configuration: ""
-- Up-to-date: /home/mamingyang/ProgrameFile/CodeLLDB/.
mamingyang@mamingyang-Ubuntu:~/OpenSource/vscode-lldb/build$

Build vsix_full target, the package will be in the build directory.

Build vsix_full target, the package will be in the build directory.

thank you for your quick reply! I have build the vsix successfully.
I add the "All" to the "add_custom_target(vsix_full All....." which is on the line 138 in the CMakeLists.txt 。


Allow Tini to intercept networking system calls

Add networking system calls to seccomp filter conditional upon an environment variable.
Intercept/Listen to the first sendmsg syscall via seccomp so that we avoid a catch-22 with the Titus Seccomp Agent while sending across the notifyfd.

@MyUmmaGumma (now that we have this as a normal folder in this titus-executor repo) can you look at the failing build?
https://app.circleci.com/pipelines/github/Netflix/titus-executor/632/workflows/2ba37fa0-08da-4cd2-94d5-1480569152d1/jobs/11461

I understand why we need this change conceptually, but the implementation is a tad over my head.
My #1 concern is that tini remains to be safe, because 100% of titus workloads use it as the pid1.
This should continue to be the case, because we never try to run any of this crazy code if TITUS_SECCOMP_NOTIFY_SOCK_PATH is unset, so that is good.
Otherwise.... shipit? :)

Thank you for rebasing. Let me make sure tini is working it its current state on master (@alekar is helping confirm), once it is green then I'll merge this in, but I don't want to add more to the existing breakage.

Just fix the NO_NEW_PRIVS thing and I think this is mergable


Install Required Packages

To deal with entity framework code first approch install the following packages from NuGet Packages
👍 Microsoft.EntityFrameworkCore
👍 Microsoft.Entity frameworkCore.SqlServer
👍 Microsoft.EntityFrameworkCore.Tooles

Working on it !


Package.json - Added browser config for fs

So as to avoid webpack warnings being thrown when compiling an app with messageformat in, we need to specify a browser definition for fs.
From the creator of weback to jade:
https://github.com/jadejs/jade/pull/1644

Hey @SlexAxton, would you publishing a new version to npm which includes this commit?


How do i relaunch kwm after a crash?

Right now I have just been restarting my computer. is there a command i can run to instead? I installed through homebrew

If you have the *.plist file in ~/Library/LaunchAgents/, it should try to start Kwm whenever it is not running. Because of that you can restart kwm manually by running kwmc quit.

Thanks @dominiklohmann

The easiest way to do this would be to run this in terminal:
brew services restart kwm
This will restart kwm since you've installed it via homebrew.

When kwm was actually running, these both successfully stopped and started kwm.
But after a crash, neither worked.

kwm may refuse to start if it can't bind its port (3020). When I run it under the debugger and it crashes, I have to manually kill kwm-overlay, because it's still listening on that port.
$ lsof -nPi tcp |grep 3020
kwm       87279 user    4u  IPv4 0xe9f5102fd0978065      0t0  TCP <IP_ADDRESS>:3020 (LISTEN)
kwm-overl 87282 user    4u  IPv4 0xe9f5102fd0978065      0t0  TCP <IP_ADDRESS>:3020 (LISTEN)

If this is the case, you can just kill it with pkill -f kwm-overlay.

I use the following alias alias kwmr='launchctl stop com.koekeishiya.kwm;launchctl start com.koekeishiya.kwm'


Fix typo in OLM link

s/management/manager
Signed-off-by: Jamo Luhrsen<EMAIL_ADDRESS>

/ok-to-test

/approved

/approve

/lgtm

Thanks for the doc fix, sorry about latency!


VEGA-1169 Add lambda to sync definitions with S3

Codecov Report

Merging #15 (cb01a6e) into main (277bd89) will decrease coverage by 18.59%.
The diff coverage is 29.41%.

@@             Coverage Diff             @@
##             main      #15       +/-   ##
===========================================
- Coverage   69.62%   51.02%   -18.60%
===========================================
  Files           2        4        +2
  Lines          79      147       +68
===========================================
+ Hits           55       75       +20
- Misses         23       64       +41
- Partials        1        8        +7

Impacted Files
Coverage Δ

cmd/opg-s3-antivirus-update/freshclam.go
0.00% <0.00%> (ø)

cmd/opg-s3-antivirus/main.go
64.70% <0.00%> (ø)

cmd/opg-s3-antivirus/scanner.go
0.00% <ø> (ø)

cmd/opg-s3-antivirus-update/main.go
40.00% <40.00%> (ø)

Continue to review full report at Codecov.

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


Java EE spec

I believe spec is there already. Should changes to what's there be required, submit new PR, please. Thanks!


failed to launch darknet_ros  yolo_v3.launch

MY ros version is indigo.
I successfully install this realse pkg. I have modify the ros.yaml  about image topic name
when i try to launch yolo_v3.launch. the process died after loading weights file.
Loading weights from /home/robot/yolo/src/darknet_ros/darknet_ros/yolo_network_config/weights/yolov3.weights...Done!
Waiting for image.
[darknet_ros-1] process has died [pid 13522, exit code -11, cmd /home/robot/yolo/devel/lib/darknet_ros/darknet_ros __name:=darknet_ros __log:=/home/robot/.ros/log/a25df0de-af28-11e8-80b5-701ce7c05837/darknet_ros-1.log].
log file: /home/robot/.ros/log/a25df0de-af28-11e8-80b5-701ce7c05837/darknet_ros-1*.log

I am getting the same issue. I found that
Line:  detection *dets = get_network_boxes(net, buff_[0].w, buff_[0].h, demoThresh_, demoHier_, 0, 1, nboxes);
in darknet_ros/src/YoloObjectDetector.cpp. This function is failing when we try yolo3, but if we try yolo 2, this is not making an issue. Any help will be appreciated.

i met this error too. And i found that if i changed  to launch darknet_ros.launch instead of yolo_v3.launch.  It works! I don't know why. You can have a try.

Need to change the network_param_file to yolov3.yaml in order to use yolo_v3.launch.

MY ros version is indigo.
I successfully install this realse pkg. I have modify the ros.yaml about image topic name
when i try to launch yolo_v3.launch. the process died after loading weights file.
Loading weights from /home/robot/yolo/src/darknet_ros/darknet_ros/yolo_network_config/weights/yolov3.weights...Done!
Waiting for image.
[darknet_ros-1] process has died [pid 13522, exit code -11, cmd /home/robot/yolo/devel/lib/darknet_ros/darknet_ros __name:=darknet_ros __log:=/home/robot/.ros/log/a25df0de-af28-11e8-80b5-701ce7c05837/darknet_ros-1.log].
log file: /home/robot/.ros/log/a25df0de-af28-11e8-80b5-701ce7c05837/darknet_ros-1*.log

I meet the same error, have you solved it ?

@cxhmikegithub You can try what I have said in the comment above. Change the param file.

You can try the method I mentioned in #381


Deprecate @most/multicast and direct people to @most/core's multicast()

Closing since this https://github.com/mostjs/multicast/pull/28 was merged


AGENT-59: Break assisted-service pod into separate systemd services

The podman kube play command has many limitations, especially when it comes to integration with systemd. Split the pod and its individual containers into separate systemd services instead.
Amongst other thing, this allows us to capture logs from all of these containers in the journal and associate them with separate services.

Looks good. Just a minor suggestion


Testcase 162: hits limit in 'diff' on z/OS

Running testsuite -v 162 shows the specifics of the failure:
>
> #                             -*- compilation -*-
> 3. micro-suite.at:11: testing pass: long lines ...
> ./micro-suite.at:17: echo $str
> diff: FSUM8822 file "STDIN": line too long: limit 2048
> diff: FSUM8822 file "/fultonm/autoconfport/autoconf-2.71/tests/testsuite.dir/162/micro-suite.dir/at-groups/3/stdout": line too long: limit 2048
> 3. micro-suite.at:11: 3. pass: long lines (micro-suite.at:11): FAILED (micro-suite.at:17)

This issue is fixed with the added dependency on diffutils repo


Allow teachers to reserve spaces for batches of students onto events

[x] Teacher will, on the event booking form, see an extra button, “Reserve spaces”.
[x] This will open a modal containing their groups and the reservations which they have already made.
[x] The students that they have already reserved will be available from event bookings' reservedBy field.
[x] From here they can make reservations for their students or manage the reservations they have already made by cancelling them.

[x] make reservations
[x] manage reservations made

[x] The limit for how many students they are allowed to reserve will be present from the event object.

[x] needs enforcing via the UI
[ ] needs changes in the editor

There are still some issues with the usability of the pages and flow:

[ ] There's no indication of the student's email verification status on the group booking page, but we do have that information in the group member list, and those without verified emails cannot be booked. We should indicate this in the front-end by disabling the row or using some warning icon?
[ ] The group booking modal opens when the user has no groups, and the dropdown is empty. Could it link to the Manage Groups page and say "Create a group from the [Manage Groups] page to book your students onto an event" and hide the dropdown?
[ ] For the group booking modal, the description text is on top of the group selection dropdown for smaller screens. It needs an additional column offset (say <Col md={{size: 8, offset: 1}}>). It would also be easier to see and use if the student selection table was in a new row underneath the dropdown and description text.

Also:

[ ] There's an unused import in ReservationsModal.tsx, and the filename (and just the filename) has a spelling mistake in it, too.
[ ] There's a merge conflict with package-lock.json again :/

[ ]  There's an unused import in ReservationsModal.tsx, and the filename (and just the filename) has a spelling mistake in it, too.

I removed the unused import, but what is the spelling mistake? If that's the 's', then it's intentional, unless it's not conventional, in which case I'm happy to change it.

[ ]  There's a merge conflict with package-lock.json again :/

Can we not just pretend these don't exist? My strategy is to delete them, npm i && npm ci, and then commit whatever is the result.


Use http4s instead of github4s

Task
Summary
Use http4s instead of github4s
Project Details
Version: 1.0.3
Description
Since github4s doesn't support uploading assets to release, it is required to use HTTP client library to do both release and loading. So use http4s instead of github4s which means #140 can be dropped.

[x] New data types for GitHub release
[x] Add create GitHub release
[x] Add find GitHub release
[x] Add update GitHub release
[x] Add upload assets to GitHub release
[ ] Replace the OldGitHubApi with the new GitHubApi.

This is blocked by http4s/http4s#4303. 😭

This is blocked by http4s/http4s#4303. 😭


Project: Getting to know the Butler

This is a new issue, aimed to produce a relatively simple notebook to allow Newbies to get up to speed with Butler, and to use Butler to study properties of images.

Great! There should be plenty to go on in the commissioning team examples. You might want to coordinate with @stargaser , who will need a butler to serve up an example calexp or two for his guided tour ( #57 ). Also, you should include using the butler to access the various catalogs too - since the catalogs are where people are most likely to start.

PS. Suggest this notebook go in Basics and be entitled "Getting to know the Butler" ;-)

Good and catchy suggestion, Phil!  In fact, I was just realizing that what would be super-useful would be some form of links to repositories containing the parameters required by Butler for various data sets.  I am sure this varies from dataset to dataset but there must be some top-level logic...

This might be a duplicate of #128 but let's see - it could be that there is room for a guided tour of the Butler's capabilities separate from using the Butler to explore a dataset.

I think this project idea is indeed a duplicate of #128 ("Exploring a Data Repository") so am closing this out to keep the project list clean.


Server Files

This contains all the server-side files and the integration with the frontend

Thank you!


Remove user from Group

Hi, is there a way to remove a user from a group? When using Roles.removeUsersFromRoles(this._id, ['role'], 'group') the users role is removed for that group so how can I remove him from the group as well? My user now belongs to a group, but has no role or permissions in that group.

The current version of roles is only focused on authorization within a group, not membership.
Some apps restrict users to only be a member of a group if they have a certain role or permission in the group.  Others allow users to be a member of a group even if they don't have any permissions defined yet for that group.
So not sure if Roles should also be used to imply membership.
For example, in my own app, users can be in different "networks".  We use the network id as the Roles group but we also have a separate field to hold which 'networks' the user is a member of.  The benefit to our users is that admins can add a user to a network and then later decide what access they should have.  The user will still show up in a list of network users even with no permissions defined.

If you wanted to you could monkey patch the Roles removeUsersFromRoles function and make sure that the field is deleted from the user object when all permissions are gone.  But I think you will run into performance issues because the roles groups can not be indexed due to the current schema.
Closing this but feel free to continue the thread with other questions if you like.


CB-6720 Fix a case-sensitivity bug in Ranger configs

This is a workaround fix for a CM bug which introduces case-sensitivity for ranger_database_type. Tested with unit-tests.

Yout chnage has been merged from 2.21 to 2.23, so we can close this pull


Silent configuration is not working

My app runs on ionic 2 and Cordova 4.0. When I installed the app and set silent configuration to true, the message "App is doing heavy tasks" still show up in my Android.
Anybody seeing the same thing?

I tried by the following changes..hope it will help.
background-mode.js file (plugins/cordova-plugin-background-mode/www/background-mode.js)
From:
exports._defaults = {
title:   'App is running in background',
text:    'Doing heavy tasks.',
bigText: false,
resume:  true,
silent:  false,
hidden:  true,
color:   undefined,
icon:    'icon'
};
To:
exports._defaults = {
title:   'App is running in background',
text:    'Doing heavy tasks.',
bigText: false,
resume:  true,
silent:  true,
hidden:  true,
color:   undefined,
icon:    'icon'
};
Hope this will resolve your issue.

@menshinobi I've fixed some bugs to do with configuring the settings. The code has not yet been released. However you can use the master branch to test it. Hope it helps.

I can confirm this is the case in my testing as well.  Additionally, when silent is set to true in the configuration any other configuration items are ignored and the default title and text are displayed (not that these properties are needed, just an observation in my testing).
I haven't yet tried the latest master branch to see if the problem is resolved, but plan to do so in the next day or two.

@katzer Nope, still not working. I've set:
    cordova.plugins.backgroundMode.configure({ silent: true });
    cordova.plugins.backgroundMode.enable();

I'm still getting the "Doing heavy tasks..." notification. I'm using
cordova-plugin-background-mode@https://github.com/katzer/cordova-plugin-background-mode.git#110ec9d024782d441bf29e6801346c63581c8bdd

Was this fixed ? I'm experiencing same issue..

I fix the problem changing the file background-mode.js in the path:
/platforms/android/platform_www/plugins/cordova-plugin-background-mode/www/background-mode.js
Set the 'silent' to true:
exports._defaults = {
    title:   'App is running in background',
    text:    'Doing heavy tasks.',
    bigText: false,
    resume:  true,
    silent:  true,
    hidden:  true,
    color:   undefined,
    icon:    'icon'
};

I am having the same problem, after opening 3 applications, my application dies, and the notification appears. @katzer

Same problem here. Change file background-mode.js doens't works for me :(
Any update?

I have got The same problem. Any update?


feature(zpool) add some validators to Topology [wip]

Codecov Report

Merging #3 into master will decrease coverage by 0.02%.
The diff coverage is 80.95%.

@@            Coverage Diff             @@
##           master       #3      +/-   ##
==========================================
- Coverage   88.19%   88.17%   -0.03%
==========================================
  Files           2        2
  Lines         161      203      +42
==========================================
+ Hits          142      179      +37
- Misses         19       24       +5

Impacted Files
Coverage Δ

src/zpool/topology.rs
66.07% <80.95%> (+66.07%)
:arrow_up:

Continue to review full report at Codecov.

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


Unable to use InputMap as an asset

Version
0.11.2
Operating system & version
NixOS (master)
What you did
Updating to bevy 0.12 / leafwing-input-manager 0.11.2
What you expected to happen
Handle<InputMap<A>> generates no errors, as it was valid before to use InputMap as an asset.
What actually happened
My code that used InputMap<A> as an asset (e.g. Handle<InputMap<A>>) is not working anymore.
Additional information
Apparently assets now should derive Asset instead of TypeUuid, and although it is a simple change, it unravels an issue I tried to fix in https://github.com/Leafwing-Studios/leafwing-input-manager/pull/386, because Asset requires TypePath, which can be provided by Reflect. And even though version 0.11 mentions that InputMap should be Reflect now, as far as I can tell it's not ?

Thanks for the report! And yeah, the latest 0.11 version is a bit screwed up. I'll take a look!

What would be the best course of action here ? I might reopen and port to multimap #386, if that is a good solution ? I would be glad to work on this and resolve it asap but I'm not sure what to actually do

Yep, redoing the change in #386 on the latest main is correct.


Render citations links as arbitrary markdown AST

This is a substantial rewrite of the internals handling the rendering of citation links. Before, a citation link ([key](@cite), and all its variations) would stay a link, just with a different link text (as determined by format_citation for a particular style) and a different link target (an item in a bibliography block). Now, format_citation gets a CitationLink object (a parsed version of the original link) and returns a string with arbitrary markdown to replace the entire original link (not just the link text). Typically, the returned markdown will be something like "[[1](@cite GoerzQ20222)]". That is, the replacement will contain another "direct" citation link, which is then rendered automatically with a single level of recursion.
The enhanced flexibility enables several new features and fixes existing bugs:

We can have multiple comma-separated citations in a single cite link. For the default :numeric style, these can be compressed ("Refs. [1–3]").
We can handle missing references (in non-strict mode), showing question marks, just like LaTeX does it
"Citation comments", like "Eq. (1)" in [GoerzQ2022; Eq. (1)](@cite) can now contain inline markdown (math, code, emphasis, etc.) that is preserved in the output
We now support citation keys with underscores or anything else where the markdown parser was getting in the way.

The added complexity of the new approach was starting to turn the source code files a bit lengthy, so I've reorganized the code a little, collecting the implementation for the different built-in styles in the styles subfolder. This also allowed to remove some code duplication between the :numeric and :alpha styles. Internal functions that implement format_citation and format_bibliography_reference for the different builtin styles are now exposed in the documentation and simplify the implementation of custom styles. See NEWS.md for more details about the change of the internals.
Closes #6
Closes #14
Closes #34
Closes #41

It might be worth revisiting what we define as the stable API of the DocumenterCitations package. If we take the narrow definition where everything mentioned on the "Internals" page is up for grabs, then the above changes are non-breaking. Specifically they are not breaking for anyone using DocumenterCitations using only the built-in styles.
However, the PR is very breaking for anyone who was using custom styles, including the official example custom styles. I'd be open to an (even informal) policy of making a major version release if we break the internal routines that are documented for use with custom styles, as a courtesy. In general, I'd only change these routines if absolutely necessary, and the only other issue where I would foresee having to break compatibility again is #18.
I'd go with a majority opinion here, especially from those who have mentioned that they may be using custom styles (@lgoettgens, @kellertuer, @nathanaelbosch).
With the narrowest definition of the public API (which is the official one at the moment), the public API is really just the DocumenterCitations object itself and the syntax for the citation links and bibliography blocks: I don't see that we would ever break that, so this package would be a perpetual version 1.* (which is also fine by me).

I did not use a user defined style – and I see the two sides you are arguing – but maybe you are also “tricking” a bit with only exporting the object and hence declaring that the public API?
Maybe a way in between would be fair. With the current public API this PR is non-breaking.
You could still add a note to the news that it does break the internal structure that might have been used by some
You could further make the parts that users should use for their own styles part of the public API? That way users could more confidently use these parts of DocumenterCitations (and the next release that changes those would be breaking).

Preview is at https://juliadocs.org/DocumenterCitations.jl/previews/PR43/
See especially:

The syntax for multiple (combined) citations
The Gallery on how this looks for the various built-in styles
The newly exposed "auxiliary customization routines" (and the revised Internals in general)
The simplified custom :keylabels style

Maybe you are also “tricking” a bit with only exporting the object and hence declaring that the public API

Yeah, I'd definitely be okay with releasing this as 2.0. and to label the "Internals" page as "this is stuff you only need to know if you want to contribute to the development of the package, or if you want to implement custom styles. It's not exported, but it's still part of the stable API".
The main counterargument would probably just be the general aversion against breaking releases. We only tagged 1.0 a couple of months ago, so it might be "too soon".
If we do decide to tag this at 2.0, then I'd like to think about the best way to implement #18 (which came up on Slack today) before making that release. There's different ways to approach #18, but at least one way would probably also involve a breaking change to the documented internals (the various format_* routine would have to know which Writer is rendering the documentation; more on that tomorrow). It's the only other breaking change of the internals that I can see on the horizon, so I think we might be pretty stable from 2.0 on out.

Oh, I was actually advocating to not release it as 2.0 ;)
But if you label this 1.3 – and make the parts that users should use/modify public, a next change like this would be (API-)breaking which gives users more confident in using things like the custom styling.

I am very much in favor of declaring everything that is suggested in the docs to be used for custom styles as part of the API, i.e. this change would be considered breaking.
For my own projects with custom styles, however, this would be fine, if this PR gets released in the near future, as I didn't find the time to finally merge everything over there, yet. So I, personally, would be fine with the procedure described by @kellertuer.

Ok, that seems to be the consensus, then. We'll release this is at 1.3, but then declare the documented internal API as "stable" at some point in the near future – when I've made sure everything is in a state that I'm happy with for the foreseeable future. I'll make that official switch in its own release, so probably 1.4.
If there are no further comments, I'll merge this PR on Friday, and then work on #18, which will also make it into 1.3 (and is also slightly breaking)


Create 0000-01-02-rsfrancis3.md

created a branch, created a file and made a commit, and opened a pull request

done

done


Hover effect of icons in footer

The hover effect of the icons in the footer is not good . I want to add the colors to the icons when hovered.

I would be grateful if you assign me this issue under gssoc-ext , hacktoberfest-accepted.my github username is @Bhanuprakash842

okay, you can add colours but don't add any unnecessary gif's or hover effect on the links @Bhanuprakash842

@Luson045 if you want you can assign it to me now. I'll do this in 5 minutes.

@Luson045 can you please assign me?

can  I get assigned for this task?

@Luson045 this issue has already been resolved. Do you want me to work on it any further?


Garbage Collector

The language needs to have a garbage collector, which would improve the languages merit. Libgc may be an option, however, I still  do not know how to integrate that into the program.

Does it need a garbage collector? Rust doesn't have one. You could implement borrowing?

I definitely considered this but then again, I want the language to be very simple and developer friendly. This could be interpreted two ways. First, it could be thought of friendly for refactoring for efficiency, which comes from a borrow checker, while the second interpretation is friendly for coding without having to worry about memory management or lifetimes.
I still don't have a particular leaning either way, since both would be a great learning experience.

That's a great point. It's what makes languages like Python so accessible. The low barrier of entry of not having to worry about garbage collection or memory management certainly helps with adoption.
So you rightly call out, what off-the-shelf solutions can get you closest to this, like libgc. But yeah, getting that working is going to be challenging!


Add grid to builder

[x] Changes have been thoroughly tested to not break existing functionality.
[x] New functionality has been documented or existing documentation has been updated to reflect changes.
[x] Visual changes are explained in the PR description using a screenshot/recording of before and after.

Code
   Builder::make('content')
                    ...
                    ->gridColumn(3)
                    ->widthColumn('3xl')
                     ...

Before

After

Thanks, but I think this is too opinionated to be a feature at the moment, and it is possible by overriding just the block-picker view to use whatever layout you want 👍


Bump gson from 2.7 to 2.9.1 to address CVE-2022-25647

This should resolve https://github.com/google/closure-compiler/issues/3957, which I believe was closed prematurely without a fix. This is needed because the closure-compiler jar is being flagged with CVE-2022-25647 as a result of the shaded version of gson 2.7 inside it.

I updated the PR to pick up the latest nodejs test fixes from the master branch


GuzzleHttp\Exception\RequestException: cURL error 60: SSL certificate problem: unable to get local issuer certificate on Mac with Xampp

Hello I did the following code
$client = new Client([
                             // Base URI is used with relative requests
                             'base_uri' => $requestURL,
                             // You can set any number of default request options.
                             'timeout'  => 3.0,
                             'headers' => array('Accept'        => 'application/json',
                                                'Content-Type'  => 'application/json'),
                         ]);

    // Provide the body as a string.
    $r = $client->request('POST', $requestURL, [
        'body' => $objectJSON,
        'ssl_key' => $certFile,
        "verify" => $certInfo
    ]);

    var_dump(json_decode($r->getBody()));

to make a post request and use signed certificate and private key during my request. But when I execute a PHPUnit test I'm receiving the following error message

GuzzleHttp\Exception\RequestException: cURL error 60: SSL certificate problem: unable to get local issuer certificate

Both $certFile and $certInfo have the correct full path(including the file name) of the .pem file and the .crt file.
If I do
curl --key /path/to/private.pem --cert /path/to/certificate.crt --data @-
--header "Content-type: application/json;

is working fine.
Does anyone knows what I'm doing wrong?

I came with this solution but I don't know if it is the right one, if someone has a better solution please feel free to open the thread and post it as a comment.

        $client = new Client(
        [
            'base_uri' => $requestURL,
            'timeout'  => 3.0,
            'headers' => [
                'Accept' => 'application/json',
                'Content-Type' => 'application/json;profile='.$profile
            ],
        ]);

        return json_decode($client->request('POST', $requestURL,
        [
            'body' => $objectJSON,
            'cert' => $certInfo,
            'ssl_key' => $certFile
        ])->getBody());