Simplify & Modernize PMP’s Development/Release Workflow

Work plan document is available here.

[x] 1. Clean up unnecessary yaml files, centralize bash scripts and refactor, decouple from unnecessary external dependencies (e.g., Anaconda build tool from CDAT)
[ ] 2. Setup conda-forge feedstock repo
[ ] 3. Setup Github Action

[x] Builds development env
[ ] Runs revamped test suite
[ ] Enable nightly and PR test on local (if easy enough) (using tool like pytest)

[ ] 4. Add unit testing infrastructure (pytest and pytest-cov)
[ ] 5. Revamp unit tests Dependent on 4

https://github.com/PCMDI/pcmdi_metrics/issues/774 is related to above 1.

https://github.com/PCMDI/pcmdi_metrics/issues/787 and https://github.com/PCMDI/pcmdi_metrics/issues/795 are related to above 2.

I presume the current PMP conda release at https://anaconda.org/PCMDI/pcmdi_metrics will be replaced one from conda forge, is that true? In that case, what would be the usage of this conda release page? I think the current downloading count is retrieved from this page, not sure is there any way to continue use it or merge it to conda forge channel.
@acordonez @tomvothecoder @jasonb5 any thoughts?

@lee1043 yes, the conda-forge channel version of PMP will replace our current Anaconda channel. Not sure what the best thing to do with the old channel is - it might be confusing to have both online.
How do we currently get statistics from Anaconda?

The current download badge in the front README file,  , is from anaconda as https://anaconda.org/pcmdi/pcmdi_metrics/badges/downloads.svg, so coming from the old anaconda channel.
I agree having both channels would be confusing. Not sure neither for what to do with the old channel. @tomvothecoder @jasonb5 do you have any advice?

@lee1043 yes, the conda-forge channel version of PMP will replace our current Anaconda channel. Not sure what the best thing to do with the old channel is - it might be confusing to have both online.

PCMDI/pcmdi_metrics has to remain active to keep older versions of the package available for download. If you wanted to disable the PCMDI channel, the older versions would also need to be rereleased on conda-forge. However, that's probably a very difficult task that I don't recommend doing.
A similar scenario happened with e3sm_diags. It was originally hosted on e3sm/e3sm_diags, but newer versions are now hosted on conda-forge/e3sm_diags.

How do we currently get statistics from Anaconda?

The download count is pulled from package hosted on the PCMDI channel. If you want to keep this badge in addition to the conda-forge downloads count badge, you might need to figure out a way to change the text of the badge to say something like "downloads <= v.x.x.x".

Here are a few things I'd do:

Update Anaconda channel references in the docs from PCMDI to conda-forge

Maybe add a note in the README and docs that the PCMDI channel hosts versions <= x.x.x, while conda-forge hosts all versions after that

Keep PCMDI/pcmdi_metrics up for all of the older versions since they won't be available on conda-forge/pcmdi_metrics
Replace README badges with conda-forge badges (e.g., https://anaconda.org/conda-forge/xcdat/badges)

@lee1043  It looks like we can also get badges for the conda-forge packages, e.g. for cmec-driver: https://anaconda.org/conda-forge/cmec_driver/badges. So it looks like we can replaces those paths in the README with the conda-forge ones (although we'd be starting from 0 again with the download count).


[TC-IDM-3.1]Chip-tool support needed to send a WriteRequest message from TH to DUT to write any attribute on two clusters.

Problem
As per Test-Plan, test-step 15 says "DUT sends a WriteRequestMessage to the DUT to both the clusters with the appropriate dataversions(received in the previous step) to modify the value of an attribute ",
Chip-tool support needed to send a  WriteRequestMessage  from DUT  to TH to read any attribute on two clusters.
PFA log below:-

Spec Reference:-
https://github.com/CHIP-Specifications/connectedhomeip-spec/blob/master/src/data_model/Interaction-Model.adoc#ref_WriteRequestAction

Sounds like this would need multi-path write support in chip-tool...

Cert Blocker Review: Marking cert blocker, assigning to @vivien-apple.

Do we actually supports multiple writes in a single invoke in the SDK ? I thought it was not a v1.0 thing.
@mrjerryjohns @woody-apple ?

Do we actually supports multiple writes in a single invoke in the SDK ?

We support multiple writes in a single write request message, yes.  We do not support multiple commands in a single invoke.

Do we actually supports multiple writes in a single invoke in the SDK ?

We support multiple writes in a single write request message, yes. We do not support multiple commands in a single invoke.

I was wrong as you said. Supports is in #19139


underscore in the Ollama username and caps in model name while Pushing results into following errors

Error: you are not authorized to push to this namespace, create the model under a namespace you own
Error: file does not exist

@JayKayNJIT so sorry about this. We are looking into a fix.

@JayKayNJIT https://ollama.com/Blake_Mizerany/smol :)

Also: https://ollama.com/Blake_Mizerany/smol_SMOL :)

Hopefully these changes make it into the next release. In the meantime, if you're feeling adventurous and do not mind building from main and helping us test, that would be much appreciated! NOTE: You'll need to run ollama serve with the hand-built binary.

Hopefully these changes make it into the next release. In the meantime, if you're feeling adventurous and do not mind building from main and helping us test, that would be much appreciated! NOTE: You'll need to run ollama serve with the hand-built binary.

Sure, and thanks for the merge.


update tests to JUnit 5

For #43

@g4s8 Please assign me

This pull request #44 is assigned to @vatavuk/z, here is why; the budget is 15 minutes, see §4; please, read §27 and when you decide to accept the changes, inform @g4s8/z (the architect) right in this ticket; if you decide that this PR should not be accepted ever, also inform the architect; this blog post will help you understand what is expected from a code reviewer; there will be a monetary reward for this job

@g4s8/z I see that you unassigned this issue; the order is still assigned to @vatavuk/z though; to cancel the order use refuse, as in §6

Job #44 is closed, can't start order

Job was finished in 2 hours, bonus for fast delivery is possible (see §36)

Job audit: ARC didn't merge or close PR, performer @vatavuk/z/z didn't make CR comments


Add Information About tempdb performance improvements in SQL Server 2022

I think it would be very helpful to add some info (or have a link) to the tempdb improvements in SQL Server 2022 under the “Performance improvements in tempdb for SQL Server” section in the page linked below.
tempdb database - SQL Server | Microsoft Learn
The idea here is to educate and remind more people about useful improvements in SQL Server 2022.

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

ID: 37fab3b5-a2f3-5612-06e2-01e0406a615d
Version Independent ID: 2daa00e0-8234-bf26-13c0-8d5200a1f4a5
Content: tempdb database - SQL Server
Content Source: docs/relational-databases/databases/tempdb-database.md
Service: sql
GitHub Login: @WilliamDAssafMSFT
Microsoft Alias: wiassaf

I have an internal ticket for this already.

Closing this. The tempdb article was already updated before the blog post went live.


v22.6.20 update composer dependencies

Current coverage is 100% (diff: 100%)

Merging #645 into master will not change coverage

@@           master   #645   diff @@
====================================
  Files          29     29
  Lines         439    441     +2
  Methods       111    112     +1
  Messages        0      0
  Branches        0      0
====================================
+ Hits          439    441     +2
  Misses          0      0
  Partials        0      0

Powered by Codecov. Last update 701aceb...47709a1


X509_STORE_CTX param->auth_level

Could you please point me where X509_STORE_CTX param->auth_level is set?
check_sig_level func refers to it, but X509_STORE_CTX_init seem to copy it from struct in x509_vpm with -1 standing for default value.

Found it myself. It is set from (some) command-line tools, and for TLS it is set by
X509_VERIFY_PARAM_set_auth_level(param, SSL_get_security_level(s)); call from ssl_verify_cert_chain function.
So it looks like that we don't have the auth_level otherwise than for TLS context.


planned 0.0.7 breaks platforms and distribution packaging.

Issue: Requirements.txt now forces installation of skill-ovos-setup as a plugin in requirements.txt.  Platforms already shipping their own setup skill that are git installed causes the skill process to crash due to this.
2023-02-10 14:03:04.934 - skills - mycroft.skills.skill_manager:_load_new_skills:503 - INFO - skill-ovos-setup.openvoiceos plugin will be replaced by a local version: /home/aix/.local/share/mycroft/skills/skill-ovos-setup.openvoiceos
2023-02-10 14:03:04.934 - skills - mycroft.skills.skill_manager:_unload_plugin_skill:591 - INFO - Unloading plugin skill: skill-ovos-setup.openvoiceos
2023-02-10 14:03:04.934 - skills - mycroft.skills.skill_manager:_unload_plugin_skill:591 - INFO - Unloading plugin skill: skill-ovos-setup.openvoiceos
2023-02-10 14:03:04.934 - skills - mycroft.skills.skill_manager:_unload_plugin_skill:591 - INFO - Unloading plugin skill: skill-ovos-setup.openvoiceos
2023-02-10 14:03:04.934 - skills - mycroft.skills.skill_manager:_unload_plugin_skill:591 - INFO - Unloading plugin skill: skill-ovos-setup.openvoiceos
2023-02-10 14:03:04.936 - skills - mycroft.skills.skill_loader:load:399 - INFO - ATTEMPTING TO LOAD SKILL: skill-ovos-setup.openvoiceos
2023-02-10 14:03:04.937 - skills - mycroft.skills.skill_manager:run:453 - ERROR - Something really unexpected has occured and the skill manager loop safety harness was hit.
Traceback (most recent call last):
  File "/home/aix/ovos/ovos-core/mycroft/skills/skill_manager.py", line 449, in run
    self._load_new_skills()
  File "/home/aix/ovos/ovos-core/mycroft/skills/skill_manager.py", line 504, in _load_new_skills
    self._unload_plugin_skill(skill_id)
  File "/home/aix/ovos/ovos-core/mycroft/skills/skill_manager.py", line 598, in _unload_plugin_skill
    self.plugin_skills.pop(skill_id)
KeyError: 'skill-ovos-setup.openvoiceos'
2023-02-10 14:03:04.938 - skills - mycroft.skills.skill_loader:_load_skill_source:506 - ERROR - Failed to load skill-ovos-setup.openvoiceos due to a missing file.

Platforms shipping their own setup skill and platforms that don't require a setup skill are now forced to deal with this new plugin install, or need to hack packaging to fix requirements.txt

Skills should not be forced with basic requirements.txt, let distributions package their own skills and requirements  for the specific platform

If platforms/distributions choose they can install the essential skills. Don't make setup skill a hard requirement for every platform out there.

This is present in 0.0.6 https://github.com/OpenVoiceOS/ovos-core/pull/266 so it's in the wild

This is present in 0.0.6 #266 so it's in the wild

skills-essential is not an egg manjaro packages, because its got its own set of skills, the skills were not part of the requirements.txt that is the very basic to get any platform running before 0.0.7, we only install requirements.txt

I think this might speak to a broader need to clarify all those dep models, because, now that I've looked at the cleanup pass that introduced the offending dep to requirements.txt, it looks like Jarbas was trying to make them a little easier to read and his clipboard betrayed him. The whole set came over! I'm guessing something else was meant to go in that spot.

Whatever it is, I would suggest and hope not doing an other Mycroft forcing their skills on installations, then causing platforms and distributions and anyone wanting to make any product out of mycroft being forced to add ugly workarounds and hacks at various levels to deal with this issue.

Marking https://github.com/OpenVoiceOS/ovos-core/pull/277 this as a potential fix for this issue, where platforms packaging OVOS can choose to only install the platform-requirements.txt and not include base skills

packaging is roadmapped for 0.0.8, the metapackages automations will make this clearer, this immediate issue is fixed by #278
0.0.7 only has roadmapped to finish the defaults skills list introduced in 0.0.6, we probably should split this into several recommended lists, all these optional and not part of all except for essential

essential_skills -> needed for core to work, "unknown", "stop" etc
recommended_skills -> what we ship in our images, so we all use the same list
media_skills -> recommended list of base skills for media center, some music radio etc skills

PRs welcome to get the above going, many skills still need automations and publishing in pypi
some info for other people, adapted from chat discussion:

an explanation of requirements is warranted:

minimal -> this is shared between all services and always needed, its the ovos-core lib
bus -> extra deps for running bus service
skills -> extra deps for running skill service
X -> extra deps for running X service
skills_essential -> list of essential ovos skills
requirements.txt -> all in setup.py, when you want the full voice assistant

not having skills in all was raised a few times in chat by new users, so they were added there, also this is what manual git installs will usually pull
a distro should never use requirements.txt, distros should use minimal + the relevant individual services, we can even add new optional requirements with default skills for distros we want to officially support (eg, bigscreen). the WIP metapackages will make this easier on the distros side when packaging


Add First Contributor in All Contributors

Right now, All Contributors returns an invalid response because of the lack of contributors.

@all-contributors please add @garrettmflynn for projectManagement, ideas, content, and code


macOS support

Hi,
does this pipe is working with Mac?

Hello @Nucleon729
I have not had a chance to test it on Mac yet. But mostly it won't run as the default device is CUDA.


Improve error handling

This adds http-errors package for easier error handling and modifies resource hooks to display error messages in the notice filed of the response.

Codecov Report

Merging #309 into v2.0 will increase coverage by 7.85%.
The diff coverage is 28.57%.

@@            Coverage Diff             @@
##             v2.0     #309      +/-   ##
==========================================
+ Coverage   51.18%   59.04%   +7.85%
==========================================
  Files         186      235      +49
  Lines        2454     3777    +1323
  Branches      408      565     +157
==========================================
+ Hits         1256     2230     +974
- Misses       1099     1410     +311
- Partials       99      137      +38

Impacted Files
Coverage Δ

src/frontend/hooks/use-resource-edit.ts
22.85% <0%> (-0.68%)
:arrow_down:

src/frontend/hooks/use-resource-new.ts
22.85% <0%> (-0.68%)
:arrow_down:

src/backend/controllers/api-controller.ts
46.47% <40%> (ø)
:arrow_up:

src/backend/actions/list-action.ts
41.66% <0%> (-58.34%)
:arrow_down:

...tem/atoms/illustrations/software-brothers-logo.tsx
42.85% <0%> (-57.15%)
:arrow_down:

...ponents/design-system/atoms/illustrations/moon.tsx
42.85% <0%> (-57.15%)
:arrow_down:

.../design-system/atoms/illustrations/file-search.tsx
42.85% <0%> (-57.15%)
:arrow_down:

.../design-system/atoms/illustrations/github-logo.tsx
42.85% <0%> (-57.15%)
:arrow_down:

...esign-system/atoms/illustrations/adminbro-logo.tsx
42.85% <0%> (-57.15%)
:arrow_down:

...sign-system/atoms/illustrations/document-check.tsx
42.85% <0%> (-57.15%)
:arrow_down:

... and 143 more

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 d69dc07...9ea6d74. Read the comment docs.

Codecov Report

Merging #309 into v2.0 will increase coverage by 7.85%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             v2.0     #309      +/-   ##
==========================================
+ Coverage   51.18%   59.04%   +7.85%
==========================================
  Files         186      235      +49
  Lines        2454     3777    +1323
  Branches      408      565     +157
==========================================
+ Hits         1256     2230     +974
- Misses       1099     1410     +311
- Partials       99      137      +38

Impacted Files
Coverage Δ

src/backend/actions/list-action.ts
41.66% <0.00%> (-58.34%)
:arrow_down:

...ponents/design-system/atoms/illustrations/moon.tsx
42.85% <0.00%> (-57.15%)
:arrow_down:

...nents/design-system/atoms/illustrations/launch.tsx
42.85% <0.00%> (-57.15%)
:arrow_down:

...ents/design-system/atoms/illustrations/folders.tsx
42.85% <0.00%> (-57.15%)
:arrow_down:

.../design-system/atoms/illustrations/file-search.tsx
42.85% <0.00%> (-57.15%)
:arrow_down:

.../design-system/atoms/illustrations/github-logo.tsx
42.85% <0.00%> (-57.15%)
:arrow_down:

...esign-system/atoms/illustrations/adminbro-logo.tsx
42.85% <0.00%> (-57.15%)
:arrow_down:

...sign-system/atoms/illustrations/document-check.tsx
42.85% <0.00%> (-57.15%)
:arrow_down:

...tem/atoms/illustrations/software-brothers-logo.tsx
42.85% <0.00%> (-57.15%)
:arrow_down:

...rontend/components/property-type/datetime/show.tsx
50.00% <0.00%> (-50.00%)
:arrow_down:

... and 140 more

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 d69dc07...9ea6d74. Read the comment docs.

Codecov Report

Merging #309 into v2.0 will decrease coverage by 7.92%.
The diff coverage is 50%.

@@            Coverage Diff             @@
##             v2.0     #309      +/-   ##
==========================================
- Coverage   59.04%   51.12%   -7.93%
==========================================
  Files         235      185      -50
  Lines        3777     2455    -1322
  Branches      565      410     -155
==========================================
- Hits         2230     1255     -975
+ Misses       1410     1101     -309
+ Partials      137       99      -38

Impacted Files
Coverage Δ

src/frontend/components/actions/edit.tsx
41.66% <ø> (ø)
:arrow_up:

src/backend/adapters/base-resource.ts
92.3% <ø> (ø)
:arrow_up:

src/backend/utils/filter.ts
38.88% <0%> (ø)
:arrow_up:

src/frontend/hooks/use-records.ts
23.68% <100%> (ø)
:arrow_up:

src/backend/utils/configuration-error.ts
0% <0%> (-88.89%)
:arrow_down:

src/backend/utils/not-found-error.ts
0% <0%> (-88.89%)
:arrow_down:

...frontend/components/design-system/atoms/button.tsx
45.45% <0%> (-54.55%)
:arrow_down:

.../frontend/components/design-system/atoms/input.tsx
50% <0%> (-50%)
:arrow_down:

...c/backend/bundler/generate-user-component-entry.ts
50% <0%> (-43.34%)
:arrow_down:

src/frontend/components/property-type/index.tsx
17.64% <0%> (-42.01%)
:arrow_down:

... and 143 more

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 9ea6d74...29fb999. Read the comment docs.

Codecov Report

Merging #309 into v2.0 will increase coverage by 7.84%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             v2.0     #309      +/-   ##
==========================================
+ Coverage   51.18%   59.02%   +7.84%
==========================================
  Files         186      235      +49
  Lines        2454     3795    +1341
  Branches      408      569     +161
==========================================
+ Hits         1256     2240     +984
- Misses       1099     1417     +318
- Partials       99      138      +39

Impacted Files
Coverage Δ

src/backend/actions/list-action.ts
41.66% <0.00%> (-58.34%)
:arrow_down:

...ponents/design-system/atoms/illustrations/moon.tsx
42.85% <0.00%> (-57.15%)
:arrow_down:

...nents/design-system/atoms/illustrations/launch.tsx
42.85% <0.00%> (-57.15%)
:arrow_down:

...ents/design-system/atoms/illustrations/folders.tsx
42.85% <0.00%> (-57.15%)
:arrow_down:

.../design-system/atoms/illustrations/file-search.tsx
42.85% <0.00%> (-57.15%)
:arrow_down:

.../design-system/atoms/illustrations/github-logo.tsx
42.85% <0.00%> (-57.15%)
:arrow_down:

...esign-system/atoms/illustrations/adminbro-logo.tsx
42.85% <0.00%> (-57.15%)
:arrow_down:

...sign-system/atoms/illustrations/document-check.tsx
42.85% <0.00%> (-57.15%)
:arrow_down:

...tem/atoms/illustrations/software-brothers-logo.tsx
42.85% <0.00%> (-57.15%)
:arrow_down:

...rontend/components/property-type/datetime/show.tsx
50.00% <0.00%> (-50.00%)
:arrow_down:

... and 142 more

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 fcaff4b...3be4a1e. Read the comment docs.

@wojtek-krysiak I think the changes requested have been made.

Closing since it's no longer relevant.


Removed unusuable version tag

$ npm i --save eosjs@beta3
npm ERR! code ETARGET
npm ERR! notarget No matching version found for eosjs@beta3
npm ERR! notarget In most cases you or one of your dependencies are requesting
npm ERR! notarget a package version that doesn't exist.

Looks like this version doesn't exist, so I updated the readme to refer to whatever is tagged as the latest version in NPM.

eosjs@beta should work, I think it should be updated to that.

good catch, went ahead and merged that in!


issues with current version of  tailwind code in "/templates/local/tailwind"  -- how to update those

There is a bug in tailwind current version code integrated with justpy. The code below should create a div area of half the size of the screen  but ends up not creating no div element:
def split_screen():
  full_div = jp.Div(
        a=wp, classes="w-screen h-screen bg-pink-100")

    tt = jp.Div(a=full_div, classes="w-1/2 h-1/2 bg-gray-400")
    jp.P(a=tt, text="area1")
    return wp

However, if I force to use latest tailwind version
wp.head_html = '<link href="https://unpkg.com/tailwindcss/dist/tailwind.min.css" rel="stylesheet">'

the above code works as expected.  Also, where can I grab base.css, components.css and other tailwind codes for justpy.
Thanks.

The current version of JustPy loads the version 1 of Tailwind. The solution is to do what you have done. tailwind.min.css includes all three files so you don't need to load them seperately.

Thank you. Will also look into if can could replace the base.css and related files for the latest version.


"run_proxy.bat" may not be executed with a low but persistent possibility

When we run our bot on clusters, we see a low but persistent crash rate of our bot, about 1 out of 50 games. After printing out the log, we found that the "run_proxy.bat" was not executed for those crashed games(but this file does exist, just not executed). We run a python model in "run_proxy.bat", which is essential to our bot.
We think this may caused by java Runtime environment in line 146 of /src/utility/WindowsCommandTools.java
Process proc = Runtime.getRuntime().exec(windowsCommandPrefix + command); Too frequent commands may invalidate this one.
We did a test to simulate this situation, the code is published in https://github.com/LukeZhuang/test_proxy. We use Java Runtime to run the test "run_proxy.bat" for 200 times and wait for 10 seconds after each 2 times. After checking "output.txt", we found that "run_proxy.bat" was in fact executed for 100 times, just half of them was executed.
Potential Solution:
We found that adding sleep command after excuting Java Runtime can solve this problem. For example:
Process proc = Runtime.getRuntime().exec(windowsCommandPrefix + command);
Thread.sleep(10);
Then the crash rate is 0 after adding that.
Probably it creates a latency so it make sure that each command will not be overrided.
After adding this to our test simulation, we found that "run_proxy.bat" was executed for 160 times, more than before, but still not 200 times. So, we think we can conclude that this problem is caused by too frequent commands.

Thanks for creating the test code. I am able to reproduce this in your test if I take out the python and just try to run a batch file that prints the time. I'm going to look into why it fails a bit more before putting in a fix.

I changed the test code (see below) to print out the error stream from the process (only on even calls, otherwise the delay prevents the error) and found that the error message was:
"The process cannot access the file because it is being used by another process."
I thought this meant the problem was too many calls to access the same batch file, but if I use two different batch files for each pair of runs the problem still happens. If you change the code to produce 200 unique output files it will successfully create all of them. I believe the issue we're seeing with the test is just multiple processes trying to write to the same output file.
I don't know what the actual problem happening in the Tournament Manager is, then, since the process to run "run_proxy.bat" is only created once. The only other process created before that in the startStarCraft() method is one that renames the character files (ClientCommands.Client_RenameCharacterFile()).
Could you try adding some similar code to log the error message (if any) in your actual bot setup?
And did I understand correctly that adding the 10ms delay stopped the crashes completely?
public class Main{
	public synchronized static void runCommand(int id, boolean printErrors){
		try
		{
			String idString=Integer.toString(id+1);
			String command="D:\\test\\AI\\run_proxy.bat";
			String windowsCommandPrefix = "CMD /C ";
			String completeCommand = windowsCommandPrefix + command;
			System.out.println("\n" + idString+ " "+ completeCommand);
			Process proc = Runtime.getRuntime().exec(windowsCommandPrefix + command);
			if (printErrors) {
				BufferedReader br = new BufferedReader (new InputStreamReader(proc.getErrorStream()));
				String line;
				if ((line = br.readLine())!= null) { //or while to print multiple lines
					System.out.println(line); //log to a file instead?
				}
			}
			//Thread.sleep(10);
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
	}

	public static void main(String[] args){
		try{
			for(int i=0;i<100;i++){
				runCommand(i, false);
				runCommand(i, true);
				//Thread.sleep(2);
			}
		}catch (Exception e)
		{
			e.printStackTrace();
		}
	}
}


[ISSUE #6747]feat:add INNER_MULTI_DISPATCH check, can not contains '/' path separator

Fixes #6747
Brief Description
Check from client side and broker side:
Client side: INNER_MULTI_DISPATCH contains "/" throws MQClientException to avoid illegal LMQ path
Broker side: If receive old version clients message, generate CQ file for valid LMQ and skip generate CQ file for invalid LMQ
How Did You Test This Change?
Client exception:

Broker log:

To avoid too many logs with every message, the code had delete the error log when skip generate the invalid LMQ.

Codecov Report

Merging #6746 (5a61d7c) into develop (88000da) will decrease coverage by 0.32%.
The diff coverage is 33.33%.

@@              Coverage Diff              @@
##             develop    #6746      +/-   ##
=============================================
- Coverage      43.18%   42.86%   -0.32%
- Complexity      8848     8991     +143
=============================================
  Files           1094     1113      +19
  Lines          77184    78620    +1436
  Branches       10070    10231     +161
=============================================
+ Hits           33332    33701     +369
- Misses         39682    40686    +1004
- Partials        4170     4233      +63

Impacted Files
Coverage Δ

...c/main/java/org/apache/rocketmq/common/MixAll.java
41.44% <ø> (ø)

...n/java/org/apache/rocketmq/store/ConsumeQueue.java
66.29% <ø> (-3.21%)
:arrow_down:

...in/java/org/apache/rocketmq/client/Validators.java
64.58% <33.33%> (-2.09%)
:arrow_down:

... and 202 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

LMQ is currently used in the MQTT scenario. The Topic in the MQTT protocol contains multiple levels, so it will contain / characters. Therefore, such transmission cannot be prevented at the client level.


Clean lightkurve cache periodically

Lightkurve downloads a bunch of data which can be too much for Tobin's computing cluster runs. We should try to wipe it periodically during a run to keep the size down.

Working on this now - plan is

Add an option to EnsembleLC like avoid_lightkurve_cache
If that option exists then set the download_dir (see here) as some temporary folder
Delete that folder after every sector


Support OpenShift 4.10

Change Overview

Changed instances of OpenShift 4.9 to 4.10 in these files:

Makefile
build/integration-test.sh
pkg/app/utils.go
pkg/testing/integration_register.go

Based on these previous PRs for upgrading from 4.7 to 4.9:

https://github.com/kanisterio/kanister/pull/1181/
https://github.com/kanisterio/kanister/pull/1191/

Pull request type
Please check the type of change your PR introduces:

[ ] :construction: Work in Progress
[ ] :rainbow: Refactoring (no functional changes, no api changes)
[x] :hamster: Trivial/Minor
[ ] :bug: Bugfix
[ ] :sunflower: Feature
[ ] :world_map: Documentation
[ ] :robot: Test

Issues

#1474

Test Plan

[x] :muscle: Manual
[ ] :zap: Unit test
[ ] :green_heart: E2E

...TBD...

@eric-nadeau can we close this, since https://github.com/kanisterio/kanister/pull/1499 is already merged?

Closing - superseded by #1499. Feel free to re-open, if needed.


[AGENT-11735] Add release note for agent panic bug fix

What does this PR do?
Add release note for agent panic bug fix
Motivation
Adding information to the agent panic bug fix PR

/merge


Flaky AdaptVQE test causing errors in CI

Environment

Qiskit Terra version: main @ (I'm on my phone looking at CI)
Python version: 3.7
Operating system: Windows

What is happening?
I've seen a CI failure cause by a seemingly flaky cyclicity test in AdaptVQE, added in #7930. It doesn't seem to happen that often, but the commit only merged yesterday and we've had a CI failure of it since, so it's got too high a chance.
How can we reproduce the issue?
The CI failure was
test.python.algorithms.minimum_eigensolvers.test_adapt_vqe.TestAdaptVQE.test_cyclicity
--------------------------------------------------------------------------------------

Captured traceback:
~~~~~~~~~~~~~~~~~~~
    Traceback (most recent call last):

      File "D:\a\1\s\test\python\algorithms\minimum_eigensolvers\test_adapt_vqe.py", line 119, in test_cyclicity
    self.assertEqual(res.termination_criterion, TerminationCriterion.CYCLICITY)

      File "C:\hostedtoolcache\windows\Python\3.7.9\x64\lib\unittest\case.py", line 852, in assertEqual
    assertion_func(first, second, msg=msg)

      File "C:\hostedtoolcache\windows\Python\3.7.9\x64\lib\unittest\case.py", line 845, in _baseAssertEqual
    raise self.failureException(msg)

    AssertionError: <Term[13 chars]ion.CONVERGED: 'Threshold converged'> != <Term[13 chars]ion.CYCLICITY: 'Aborted due to a cyclic select[23 chars]ors'>

What should happen?
Tests are reliable.
Any suggestions?
Possibly there's somewhere in that test that needs to set a random seed (algorithm_globals.rng or something?). I haven't looked at the test case, to know if it could possibly be a true failure, or if it's just bad luck with an optimiser stuck in a very non-optimal plateau. If the issue appears again and we can't immediately find the problem, we might consider disabling that test temporarily to avoid jamming CI during the potential RC release.

That is not good.. Will take a look right now :+1:

Looks like this still appears to be an issue: https://dev.azure.com/qiskit-ci/qiskit-terra/_build/results?buildId=40314&view=logs&j=f6ccd89d-3934-51bf-5c91-df7a7550b1a5&t=28300182-9c62-50f4-80d6-8fa111cef733&l=17957
I am going to open a PR in a second which will hopefully address this once and for all...


Initialize project with components

Adding the following components:

Books
Book
Categories
Navbar

index.js displays the navbar above everything else which can change the local path of the page on click, then calls App.js, which checks the path and renders the corresponding page.

Thanks for the approval! Merging right away! 🎉


Return early if owner is not well-known

Description
If we don't return early, when the owner is NOT well-known, then we will have a permission error when trying to get it with the client.
How can this be tested?
tbd 😅

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 64.31%. Comparing base (04f0f72) to head (039fe00).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@             Coverage Diff              @@
##           release-1.3    #3783   +/-   ##
============================================
  Coverage        64.31%   64.31%
============================================
  Files              352      352
  Lines            18996    18996
============================================
  Hits             12217    12217
  Misses            5526     5526
  Partials          1253     1253

Flag
Coverage Δ

unittests
64.31% <100.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

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


Change tod api

Current dependencies on/for this PR:

main

PR #300   👈

This comment was auto-generated by Graphite.

@stacksjb My next tod release is a large breaking change to the Tod API. It uses commands that are inspired by GitHub CLI https://cli.github.com/ .
It means that I can separate the commands into sections, makes the commands more intuitive and easier to remember, allows future expansion and provides both flags and interactive functionality.
But it is totally going to break your workflow. Once this is released you will need to use tod issue create -p inbox -c "task text here" to create a task using your library.
How can I coordinate with you to makes this as small a breakage as possible? Perhaps I can time the release of this so that you could update your workflow at the same time.

Commenting here to keep flow going. let me know when updates are made for a single NLP input and I can absolutely test and ensure that they are kept in sync. Thanks for your help!

Quick add is in, and unlike the others, this one doesn't require quotes.
tod -q Remember the milk #groceries
tod --quickadd Go for a run today

If you clone the repo and have rust installed you can run either cargo build --release and find the executable in target or run the command with cargo run -- -q Remember the milk.

Thx - I will test this later today!

Thx - I will test this later today!

Hey @stacksjb just checking in with you on whether you've had the chance to look, is there anything I can do to assist?

Hey @stacksjb it's been a couple of weeks so I am going to merge with apologies for any breakages, and move onto the next things.
Let me know if you have any issues on your end, and I'll make sure to be responsive to them

Thx for the comments - sorry for delay.
I tested today and it seems that projects are not being parsed - if I add a "#Project" they are still only added to the inbox. It does parse @ and // correctly though. Is that expected? I seem to remember being able to add directly to projects (assuming they already existed).

Oh I found the problem.
If you do this:
tod -q "this is a test #project"

it will put it in that project, but if you dont't quote
tod -q this is a test #project

It will consider the octothorpe # to be a bash comment and ignore everything after it, you can see it in the highlighting of my fish terminal

I should have caught that! Great point. Thanks!

Tested and works great! I'll push an updated workflow shortly. Thanks!


CLI should sort packages/actions/triggers/rules alphabetically

Here is the output of wsk list in my namespace:
Entities in namespace<EMAIL_ADDRESS>packages
<EMAIL_ADDRESS> private
<EMAIL_ADDRESS>private
<EMAIL_ADDRESS>to Slack                     private
<EMAIL_ADDRESS>                             private
actions
<EMAIL_ADDRESS>private
<EMAIL_ADDRESS>private
<EMAIL_ADDRESS>private
<EMAIL_ADDRESS>private
<EMAIL_ADDRESS>private
<EMAIL_ADDRESS>private
<EMAIL_ADDRESS>private
<EMAIL_ADDRESS>private
<EMAIL_ADDRESS>           private
<EMAIL_ADDRESS>                private
<EMAIL_ADDRESS>                 private
<EMAIL_ADDRESS>                    private
<EMAIL_ADDRESS>                   private
<EMAIL_ADDRESS>recommendations to Slack     private
triggers
<EMAIL_ADDRESS>         private
rules
<EMAIL_ADDRESS>Slack recommendation message private

using whisk CLI version	2016-11-17T09:38:33+00:00
would be great to sort the entries by name.

As part of the work done on this task (https://github.com/apache/incubator-openwhisk/pull/2326) we've determined that the CLI should not be responsible for sorting entity names. Instead we should try to retrieve the entity names from the database using a view that sorts for us. The type of sort should be controllable via a flag passed to the REST interface.
We can sort the entity names in the CLI as shown below. However, when the --limit or --skip flags are specified, an unexpected list is returned. From the example below, a user would expect to see the entities 9992 and aaaaaaa when using a --limit with an argument of 2. This is not the case in the example below because NoSQL DB-em_Credentials-1 and cloudant_Credentials-1 are returned from the server since the backend sorts entities by creation date.
wsk package list
packages
/namespace/9992                                           private
/namespace/aaaaaaa                                        private
/namespace/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa private
/namespace/asdfasdfasdfasedf2                             private
/namespace/NoSQL DB-6v_Credentials-1                      private
/namespace/NoSQL DB-em_Credentials-1                      private
/namespace/Hub-ju_Credentials-1                           private
/namespace/cloudant_Credentials-1                         private

$ wsk package list --limit 2
packages
/namespace/NoSQL DB-em_Credentials-1                      private
/namespace/cloudant_Credentials-1                         private

we've determined that the CLI should not be responsible for sorting entity names. Instead we should try to retrieve the entity names from the database using a view that sorts for us.

hmm... why? and are you imaging this is a second view in addition to the one sorted by date or in lieu of?

CLI list now support the flag for sorting
-n, --name-sort     sorts a list alphabetically by entity name; only applicable within the limit/skip returned entity block


Inconsistency between program and schedule on pretalx

There is an inconsistency between the web program and the schedule on pretalx for the tutorials on Tuesday morning in track 2 (Baroja). This PR provides the change required to be consistent with the schedule on pretalx. Whether this PR should be merged depends on which version of the schedule is the correct one. As one of the two speakers concerned, I am completely open for either of the two versions. But the information on the webpage and the abstract page produced by pretalx should be consistent to not confuse participants.

@alanderex ping

The Schedule on the EuroSciPy website is the one that counts
https://www.euroscipy.org/2019/program.html. We tried the schedule via Pretalx but the experience was not so nice. We'll removed it. Sorry for the confusion.

The only problem is that when following the link from the program to the abstract, the time taken from the Pretalx schedule is displayed which is in contradiction to the official program and might confuse participants. Probably the two talks need to be interchanged in Pretalx then.


Refactor away in_array() for $availableLocales in favor of hashtable (isset)

Reference doc:
http://maettig.com/1397246220
I know that $availableLocales are usually not that many, but if in_array() is inherently slow, this slowness will scale up when the request traffic ramps up.
Then why not just refactor it into isset() (hash table), to make it future-proof?
Thanks for your consideration.

Although I understand what you are saying, this is a really minor issue for us to spend time on. If you really think this should be changed, feel free to make a PR.
Thanks!


Update blog hero image

The current banner image was loading slow for me because it is 1.2MB. Could we use this JPG version that is 131KB?

thxxx


First pull request to test the contribution workflow

(At the risk of being self-deprecating) Everyone can safely ignore this PR for at least a week as I test and retry various workflows intricacies. There will be lots of small commits. Thanks!

No problem! GitHub lets you mark your pull requests as draft on the right hand side of this page ("Still in progress? Convert to draft")

Well, I guess we've discovered the limits of Docusaurus's allowed menu levels (that is, two).

@allanaaa Are you referring to some limit with Subcategories in the Sidebar? https://docusaurus.io/docs/en/navigation#adding-subcategories
or something in the Site Navigation Bar? https://docusaurus.io/docs/en/navigation#additions-to-the-site-navigation-bar
or something else?
Screenshot would help (you can copy paste a png or jpg image file directly into a reply comment on GitHub)

Well, I was making a note to myself first and foremost - no need to watch what happens in this space. But yes, I mean you can't nest subcategories.

Is this still active/needed or has it been supplanted by the real documentation PR?

It's not needed!


Update PDF

I noticed when testing #259 that the PDF version hasn't been updated in 15 months.  There have been a fair deal of content changes lately, so we should make sure to generate a new copy.

It would be a fun project to automate this with a GitHub Action 😎

Great idea @parkerbxyz

We might need to wait to automate this via Actions until we tackle #196.  I'm not sure that the Calibre dependency would work all that well in Actions.

When the time comes, I'm interested in building this Action, there are a few PDF generation Actions I came across and this seems promising: https://github.com/marketplace/actions/publish-markdown-as-pdf

Nice.  That does look promising @rwnfoo.

Nice.  That does look promising @rwnfoo.


Selenium/Geb incorrect versions loaded

Geb 5 depends on selenium-api:3.141, but 4.0.0-beta3 is used across the project.

Fixed


possible permanent solution for preventing sensors from being bricked

null on the wyze community forums has identified how to write-protect the sensor firmware so as to prevent the mac from being overwritten in a low-battery state: https://forums.wyzecam.com/t/unbricking-wyze-contact-sensor-pcb-reset-pin/146856/112

..."Flash Programmer 2: Go to Edit, select CCFG, click Read. Go to 1FFF0, change the FF FF FF FF to 00 00 00 00, then click Write.
UniFlash: Go to Memory, click Read, Export, enter address 0x0, size 0x20000, Generate. Open the file using a hex editor, go to offset 1FFF0 and replace the FF FF FF FF with 00 00 00 00. Flash the file as usual.
This sets CCFG_PROT_31_0 setting in the CCFG.
But before doing this, make sure the sensor is paired to the bridge since you can’t change it once it’s set.
To flash a new image in the future, erase the entire flash first."

..."Flash Programmer 2: Go to Edit, select CCFG, click Read. Go to 1FFF0, change the FF FF FF FF to 00 00 00 00, then click Write.
UniFlash: Go to Memory, click Read, Export, enter address 0x0, size 0x20000, Generate. Open the file using a hex editor, go to offset 1FFF0 and replace the FF FF FF FF with 00 00 00 00. Flash the file as usual.
This sets CCFG_PROT_31_0 setting in the CCFG.
But before doing this, make sure the sensor is paired to the bridge since you can’t change it once it’s set.
To flash a new image in the future, erase the entire flash first."


VLM: PaliGemma Finetuning

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint. The docs are available until 30 days after the last update.


Coverity scan

Enable automated static analysis on the 'coverity_scan' branch. This includes a few fixups necessary to keep coverity from having a heart attack. There are still a few items to fix in the test code but everything under src/ got a clean bill of health.

This resolves #36


HTTP/2 support

Now that we are set with ALPN support, shouldn't have any roadblock that would impede HTTP/2 support. The good news is that the hacked ALPN support mentioned in issue #293 should also work cross platform since we are not doing any kind of reflection or native calls. I haven't read the spec complete, but few open source implementations of both server and client seem to be available. So we can perhaps reuse them. Some links below.

http://httpwg.org/specs/rfc7540.html (Spec)
https://github.com/Matthias247/http2dotnet (which claim to have a complete implementation of server & client in C#) and has MIT license.

I am not going to work on this in immediate future. But if anybody is interested this is up for grab. Doesn't  necessarily need to implement a fully functional PR, bugs are expected and PRs with phase by phase progressions are welcome. Whatever work on this we will be doing a beta first. We should try to isolate the HTTP/2 handlers from current Request/Response handlers since it a totally different protocol from whatever I read. There are different scenarios we would probably need to handle. These scenarios should work for both SSL and non-SSL connections. When SSL is used HTTP/2 can be negotiated via ALPN, while for non-SSL connections HTTP/2 is done by upgrade headers mentioned in spec.

Client to proxy HTTP 1.1 => Proxy to server HTTP/2
Client to proxy HTTP 1.1 or below => Proxy to Server HTTP 1.1 or below (which is already implemented)
Client to proxy HTTP/2 => Proxy to server HTTP 1.1
Client to proxy HTTP/2 => Proxy to server HTTP/2

For now the 4th option would be a good start.

As mentioned in below issue for StreamExtended we have to wait for official ALPN support, our hack won't work due to message integrity checks happen at the end of Ssl negotiation.
https://github.com/justcoding121/StreamExtended/issues/1

@honfika I noted that you made some setup to support HTTP 2.0. So I assumed you may be working on it in future. Feel free to remove assignee.

4th option implemented in readonly mode (not able to modify neither the header nor the body)
HTTP/2 support should be enabled with the ProxyServer(instance).EnableHttp2 flag.
I plan to add the "edit mode" in the near future, too. (option 4th)

any update on this?

Partially it was impemented, but it work only with dotnet core 2.1+

not a need but would be nice to support transparent (Client to proxy HTTP/2 => Proxy to server HTTP/2)

seems to me most people are using 2.1+ now as well so compatibility should not be too big of an issue

Just simply forwarding the traffic without modifying that?

yeah the issue appears to be upgrade h2c support

As far as I understood h2c is just an unencrypted http/2. Do you really need http/2 without tls?


Epic: pageserver support for sharding phase 1

This epic describes the pageserver changes required to enable sharding phase 1.
Phase 1 does not include splitting: tenants will be created with a set number of shards.
Tasks
Part 1: establish APIs
Milestone: control plane code that expects sharding-aware APIs can talk to the pageserver, and compute will work when using a ShardMap to talk to multiple pageservers.
### Tasks
- [ ] https://github.com/neondatabase/neon/issues/5505 (https://github.com/neondatabase/neon/pull/5432)
- [x] https://github.com/neondatabase/neon/issues/5787 Adjust TenantsMap to use a tuple of (TenantId, shard) as its key, so that one pageserver can accomodate multiple shards from the same tenant.
- [x] https://github.com/neondatabase/neon/issues/5788  Let tenant APIs accept a shard identity

Part 2: make sharding work
Milestone: the shards  within a tenant will store different data: we can demonstrate hosting a 1TiB tenant where each pageserver only holds 1/nth data.
### Tasks
- [ ] https://github.com/neondatabase/neon/issues/5924
- [ ] https://github.com/neondatabase/neon/issues/6026
- [ ] https://github.com/neondatabase/neon/issues/6025

Part 3: Loose ends
Outstanding loose ends items moved into https://github.com/neondatabase/neon/issues/6288
### Tasks
- [ ] Compaction: figure out if gap detection needs to be made stripe-aware to avoid spuriously splitting layers
- [ ] https://github.com/neondatabase/neon/issues/5953
- [ ] initdb uploads: these are written in a shard-naive path.  That's fine as long as our deletion still deletes the entire tenant prefix at some point, need to validate + write tests to ensure that is the case.
- [ ] TenantHarness should use a sharding-enabled state by default for unit tests
- [ ] neon_fixtures.py should use explicitly-set shard by default, even for default unsharded scenario.
- [ ] https://github.com/neondatabase/neon/issues/5929
- [ ] Make a plan for optimizing the way page_service requests might end  up looking up tenant shard on every getpage (see "note to reviewers" on https://github.com/neondatabase/neon/pull/5980)
- [ ] https://github.com/neondatabase/neon/issues/6038
- [ ] https://github.com/neondatabase/neon/issues/6072

Loose ends moved into https://github.com/neondatabase/neon/issues/6288


Refactor to separate notification-core as a plugin and a notification-core-spi from old SPI subproject

Description

Seperate SPI project to 2 subprojects

core: a plugin with core functionalities. This plugin extends ExtensiblePlugin interface and implement loadExtension method to provide a NotitficationCore object to any extension plugins.
core-spi:  an SPI that notification plugin should implement, in order to communitcate with notification-core-plugin

resolve build issues such as jarhell, test failures, etc
update github workflow to upload 2 plugin artifacts

After the change, the project structure will be like the following:

notification[root folder]

core[notification-core-plugin]
core-spi[notification-core-spi]
notification[plugin]

Issues Resolved
#315
Check List

[ ] New functionality includes testing.

[ ] All tests pass, including unit test, integration test and doctest

[ ] New functionality has been documented.

[ ] New functionality has javadoc added
[ ] New functionality has user manual doc added

[ ] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #308 (8447a53) into main (d0d3e48) will increase coverage by 15.32%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##               main     #308       +/-   ##
=============================================
+ Coverage     64.54%   79.86%   +15.32%
=============================================
  Files           139       60       -79
  Lines          4422     1644     -2778
  Branches        717      433      -284
=============================================
- Hits           2854     1313     -1541
+ Misses         1381      323     -1058
+ Partials        187        8      -179

Flag
Coverage Δ

dashboards-notifications
79.86% <ø> (ø)

opensearch-notifications
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

.../notifications/action/PublishNotificationAction.kt

...otifications/action/GetNotificationConfigAction.kt

...rch/notifications/action/SendNotificationAction.kt

...rch/notifications/index/NotificationConfigIndex.kt

.../org/opensearch/notifications/model/DocMetadata.kt

...opensearch/notifications/index/ConfigOperations.kt

...fications/action/UpdateNotificationConfigAction.kt

...ensearch/notifications/model/SendMessageRequest.kt

...otifications/action/GetFeatureChannelListAction.kt

...g/opensearch/notifications/metrics/BasicCounter.kt

... and 34 more

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 d0d3e48...8447a53. Read the comment docs.

may be we can rename corespi to just spi (i.e. suffix core may not required for spi)

may be we can rename corespi to just spi (i.e. suffix core may not required for spi). also may be update PR description?

@akbhatta fixed. Could you approve the PR again, thx

lgtm, why is the directory and plugin name core-spi rather than just spi?

@joshuali925 just naming to make it clear this spi is for notification-core-plugin, not for the other notification-plugin. Especially since we decided to seprate core-spi at the same folder level as core and notification


Update notes for AOAI on your data web app

Update the AOAI 'use your data' concepts page with a few notes about the latest web app code.

@aahill

Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

Merged these changes into another PR, which will be live early next week. Thanks for this update!
#please-close


Add swarm mode support

This was based off #491, with a few changes -

all commits were squashed into one
the SwarmModeDockerClient and DefaultSwarmModeDockerClient subclasses
were removed and pushed into DockerClient and DefaultDockerClient

I'm at a loss to understand why checkstyle is failing even on master. But the build is apparently green. https://travis-ci.org/spotify/docker-client/branches
Does someone have any pointers?

I looked at your latest builds. Checkstyle is passing, so I guess you managed to fix whatever it found distasteful.
But all the tests are failing. Like, every one. I think it could be the unix socket connection. All the test failures are trying to connect to unix://localhost:80. Typically the socket connections are to unix:///var/run/docker.sock.
(Total speculation follows:) are you testing this code locally with your docker daemon open to http connections? Because if I remember correctly the daemon on the test machines is not; the only way to connect is /var/run/docker.sock.

Pretty sure I did not change any setup, in fact I'm on a Mac, so nothing
running on port 80. I suspect it is Travis doing something funny.
Will investigate further.
On Thu, Sep 22, 2016, 4:37 PM Flavin<EMAIL_ADDRESS>wrote:

I looked at your latest builds. Checkstyle is passing, so I guess you
managed to fix whatever it found distasteful.
But all the tests are failing. Like, every one. I think it could be the
unix socket connection. All the test failures are trying to connect to
unix://localhost:80. Typically the socket connections are to
unix:///var/run/docker.sock.
(Total speculation follows:) are you testing this code locally with your
docker daemon open to http connections? Because if I remember correctly the
daemon on the test machines is not; the only way to connect is
/var/run/docker.sock.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/spotify/docker-client/pull/499#issuecomment-248872080,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAApZmgi0HiNKRyl4S9JxPWI2vqUw9Wlks5qsmFmgaJpZM4KDrKK
.

Current coverage is 39.47% (diff: 0.45%)

Merging #499 into master will decrease coverage by 10.87%

@@             master       #499   diff @@
==========================================
  Files            83        128    +45
  Lines          3235       4106   +871
  Methods           0          0
  Messages          0          0
  Branches        460        597   +137
==========================================
- Hits           1629       1621     -8
- Misses         1456       2333   +877
- Partials        150        152     +2

Powered by Codecov. Last update 6b5cea8...e051aa7

Allright, the build is now green, however the coverage is down because of the plethora of classes that represent the JSON data.
If all is good, can I expect a 5.0.3 release?

BTW — support for docker node and friends is not part of this PR, if you're OK merging this PR, I'll submit another PR for docker node support.

@davidxia — I've changed all timestamp fields from String to java.util.Date.

In src/test/java/com/spotify/docker/client/DefaultDockerClientTest.java:

@@ -3041,6 +3064,198 @@ public void testIpcMode() throws Exception {

}

@Test
public void testInspectSwarm() throws Exception {
requireDockerApiVersionAtLeast("1.24", "swarm support");

final Swarm swarm = sut.inspectSwarm();
assertThat(swarm.createdAt(), is(not(isEmptyOrNullString())));
Should we check not null for the other fields? Seems like we should check for ID at least.

I'm not sure what "value" asserting on fields adds, esp for code that appears to declarative in nature. I've added a test to assert the swarm id attribute as you requested.

Also, I could not help but notice that the indentation in most of the code is off. Some files are indented using 2 spaces, others with 4 spaces. What's the deal?

All tests are green now

Since a chunk of the code in this PR was originally contributed by @derekadams, is there any way to maintain that info in the commit author field?

I'm not sure how to go about putting multiple authors in the author field. I'm happy to attribute the entire commit to him, I don't care so much about my attribution.
Let me know what you'd prefer, I'd really like to get this merged ASAP :)

This looks like it will do the trick: http://stackoverflow.com/a/31669789/1288474

@johnflavin — Done, travis is green.

Bump!

@ketan Thanks so much for your patience. I took a closer look. I think we should be good to once you address my comments.

replaced by https://github.com/spotify/docker-client/pull/514


How to pass context into Router when using useContext hooks + static rendering?

I'm currently having trouble trying to add authentication guards to my routes in an app that has been setup for static rendering (which, btw is itself not working due to issue  https://github.com/frontarm/navi/issues/92).
My app is integrated with Auth0 and receives auth state via a useContext hook. However, to pass Navi context I have to add it to the Router component. The Router component is rendered in the async main function, which sits on the register function in order to handle static rendering. However, Hooks can only be used within functional components, so I could place the Router component in a functional component, except the Router component needs to await the navigation.getRoute function.
Now I have multiple levels of components trying to pass around this context, which still doesn't seem to be appearing in the map callback of my routes definition.
I switched to Navi from React Router yesterday due to the enticing promise of easy static rendering and a declarative API, but at the moment I am just chasing my tail, and I can't find any relevant combination of topics (i.e. static rendering + context) in the docs. I have seen something about setContext mentioned (https://frontarm.com/navi/en/reference/navigation/#navigationsetcontext), but it's hard to put all these pieces together and make sense of what's actually happening.
If anyone can point me in the right direction I'd appreciate it! Otherwise it might be back to React Router.

Sorry about the delay in replying to this one. Access to context is indeed a big problem, and it's something I'm not sure is easy to fix with the Navi architecture.
The issue is, Navi is designed to work externally from React, and inject the resulting state into different points in the React tree – a little like Redux and connect(). Unfortunately, this makes it difficult to access anything in context.
My current thought on this is that it probably makes sense to also handle authentication state externally from React. Ideally, Navi should be a generalized middleware tool that can handle authentication and navigation, and then transparently inject these into React context. I'll have more on this soonish with Navi 1.0.


DEV is not defined

When installed I am getting this error
TransformError: /Users/patricklewis/Documents/sites/react-native/flex/node_modules/react-native-checkbox-field/index.js: __DEV__ is not defined

Whats odd is i don't see DEV used in your source. Any idea what might be going on? Removing the npm package fixed my issue.

I've updated the package and removed some dependencies, as well as upgraded to the latest React + React Native with an example project. Please update the package and try again - hopefully this will resolve the issue!

thank you @vincee48


The some parts of outputs are displayed in all tabs, if the cell has multi type outputs

If you make a chart with '%matplotlib inline' in a cell, the cell outputs 2 part data, the execute_result type data and the display_data type data.
In this case, the execute_result type output are displayed in the all tabs.
Reproduction procedure
1st execution

outputs:

<matplotlib.axes._subplots.AxesSubplot at 0x7f67a121a610>, execute_result type
the chart image, display_data type

2nd execution

2nd tab contents:

<matplotlib.axes._subplots.AxesSubplot at 0x7f67a121a610>, execute_result type (1st execution output)
<matplotlib.axes._subplots.AxesSubplot at 0x7f67a1094cd0>, execute_result type (2nd execution output)
the chart image, display_data type (2nd execution output)

select 1st tab

1st tab contents:

<matplotlib.axes._subplots.AxesSubplot at 0x7f67a121a610>, execute_result type (1st execution output)
the chart image, display_data type (1nd execution output)
<matplotlib.axes._subplots.AxesSubplot at 0x7f67a1094cd0>, execute_result type (2nd execution output)

Even when you switch the current tab, all execute-result type outputs are always displayed in all tabs.
I assume that the multi_outputs extension appends only the last output to the tab area.

Fix by #17


Init Containers work with rktlet

This depends on the upstream integration (presumably via kuberuntime) supporting init containers. Once it supports them, we should get this totally for free, but we should still verify it works.

[x] Upstream kuberuntime implements init containers in their syncpod
[x] Manual testing of init containers works
[ ] The e2e init container tests all pass with rktlet

Blocked on #52

I ran init container tests like this:
go run hack/e2e.go -- --provider=local -v --test --test_args="--ginkgo.focus=InitContainer"

The result was
Ran 4 of 651 Specs in 445.976 seconds
SUCCESS! -- 4 Passed | 0 Failed | 0 Pending | 647 Skipped PASS


Is there an existing issue for this?

[X] I have searched the existing issues

Are you using the latest version currently available?

[X] I am using the latest version currently available

Mod name/version/id
Appleskin-fabric1.19-2.4.1
Link
https://www.curseforge.com/minecraft/mc-mods/appleskin
Alternatives
No response
Additional Context
When using this with appleskin, appleskin can't draw the saturation overlays unless the vanilla texture sheet is used inside armor points ++ config, but then of course armor points ++ crashes and doesn't work.

Actually, as ap++ supports appleskin - and has for quite some time now - i think you're just using the 1.19.3 version in 1.19.2, which won't work.

As listed, I'm using the latest appleskin (2.4.1) for 1.19.2.
I was also using ap++ 1.19.2-3.0.9
For now, I just had to switch to detail armor bar

i'll look into it when i have the time to


DeOldify on macOS

Hi! Are you guys planning to make a DeOldify app for macOS? It would be great if you guys could. Thanks!

Hello! Theoretically, you can use the Linux version on macOS. You need to follow the official instructions for installing mono on macOS: https://www.mono-project.com/download/stable/#download-mac . Then follow the instructions for Linux from the DeOldify.NET repository. You should start with the "Download sources" item. If you manage to run the application on mac OS, leave a review and a description of what you did and I will add this information to the repository.

A cross platform UI framework (Avalonia, MAUI, or Uno) should have been used. WinForms is obsolete.

Despite the obsolescence of WinForms, the technology is supported by Windows, Linux and macOS and will not cease to be available for use in the foreseeable future. The main goal of the project is to use a minimum number of components and dependencies to minimize possible incompatibility problems and simplify installation and use DeOldify.NET to the limit. Using something from what you have suggested, for example, will radically complicate the compilation and launch of the application on Windows. Now on Windows you can build and use DeOldify.NET, using pre-installed Microsoft .NET Framework, however, the use of the proposed frameworks for GUI implementation deprives this possibility.

@GlebSBrykin in case you don't know, ever since macOS becomes 64 bit only, there isn't WinForms on macOS any more. That's why this issue was opened (I guess you don't have a Mac right now).
 You are showing people how to use modern technologies like deep learning, so you should also avoid obsolete things.

Perhaps you are right. I can't talk with confidence about mac OS, since I've never worked with it. I get all the information from my colleagues. As for newer GUI frameworks, they will definitely be used in the future. In one of the issues , I talked about long - term plans to migrate the code to .NET 5 or .NET 6 in order to improve performance by using vector processor instructions. When I work on this, then I will implement a new interface.


Fisrt draft for a possible implementation of HAL on fractal

Could this be a possible solution for a HAL on fractal.
To implement this the class that needs HAL implementation should implement HalInterface
ex:
class Book implements League\Fractal\Hal\HalInterface
{
With this fractal engine knows that it can generate the HAL structure.
This is not a final version just a first draft to be discussed as possible implementation, a serializer for HAL could be added but the data classes must implement the HalInterface.
With the current solution some fixes still need to be done like use always for HAL the ArraySerializer so data key is not added to end result.
Some tests where added but since its a first draft I only added 2.

I'd be a bit worried about implementing a very different set of logic for HAL. Really whoever is leading the charge on this mission needs to find ways to make this as abstract as possible, so the same serializer logic can be used for HAL, JSON_API, etc. Identifying relationships and how they are represented (ids or objects) and that sort of thing.
Know what I mean?

Closed


port to new ray train api in estimators

Currently used ray.train.Trainer has been deprecated. In addition, the get_model method is not working now. This PR updates to use TorchTrainer and TensorflowTrainer and implements get_model based on checkpoint.

@KepingYan , can you please take a look as well?


Profile application performance in android

Description
Describe profile application performance in android
Domain
Android Dev (Java)
Type of Contribution
Documentation
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of this project.

/assign


Light finish Play Test 1 integration

Included Changes

Move Work bench in front of player
Add quit game UI button in level
Update models for plant prefabs
Scatter seeds in level

What to test

DemoScene:

Can grab seeds on ground
Can grab gun
Can click to shoot gun, spawning seed
On seed collision with object, it becomes plant
Can walk over to quit button and stop the game

Known issues
When shooting near player (almost straight down), seed can clip through ground without colliding.

Everything works fine but there was one issue. I could move around with the rig simulator, but I couldn't with my headset on. I noticed that the functionality for movement was not included so I added the components for it back.

I think the issues should be resolved. I'll go ahead and merge it in.

Never mind, I think I could merge it now.


New mutation operator: ABS(Absolute Value Mutator)

The worst performing mutator was ABS(Absolute Value Mutator) that would replace an expression with ±abs(expression), for example: absl::Minutes(10) - elapsed; --> absl::Minutes(-abs(10)) - elapsed;

Googler described an interesting mutation operator in his article about mutation testing in Google.
https://testing.googleblog.com/2021/04/mutation-testing.html

Just for reference, we have cxx_minus_to_noop that removes unary minus.
I see a value in the ABS operator, but I cannot give any ETA when it (and if) it will be implemented.


SparseMatrix implementation of DoTransposeThisAndMultiply

Addition of a SparseMatrix implementation of DoTransposeThisAndMultiply(Vector rightSide, Vector result), for Double, Single, Complex and Complex32 types.
This change is to address the performance issue identified and discussed in issue #573.

Thanks a lot, and apologies for the late merge!


Increase Access and Refresh Tokens Lifespan

I've noticed that the access tokens and refresh tokens only last for 1 hour. This means that every hour I have to contact the token endpoint in order to refresh the tokens, which becomes annoying to do. I'm just wondering why does only last for 1 hour, and could it be extended to 1 month instead. (Pinterest has their access and refresh token's lifespan set to 1 month, and I am wondering why DeviantArt couldn't do the same)

+1

Hi,
At this time, we will not be changing the expiration time of access tokens.
Refreshing the token every hour is the expected behaviour and your code should be developed to manage this requirement.
Please refer to the Authentication page of our API documentation for more on refreshing your existing tokens.


virt: proxmox vma: Fix assert when output to tmpfs

VMA is Proxmox's virtual machine image format that wraps QEMU images, augmenting these with proxmox-specific configuration file. proxmox-image.nix uses the VMA tool to create vma image files. The VMA tool exists as a patchset ontop of QEMU.
VMA writes its output with open() and O_DIRECT flag. O_DIRECT does not work on Linux tmpfs [1]. Thus:
$ vma create ~/output.vma ...  # works, assuming home isn't tmpfs. $ vma create /dev/shm/output.vma ...  # fails since /dev/shm is tmpfs Failure results in assert(*errp == NULL).
O_DIRECT is a cache performance hint.
But it currently blocks our usage of nixos-generate -f proxmox from Non-NixOS hosts and Docker.
The patch here simply removes O_DIRECT:
vma-writer.c later performs memalign due to O_DIRECT, but this is safe to do with or without O_DIRECT.
Ideally, this should be fixed in upstream Proxmox: Perhaps by falling back to open without O_DIRECT.
Another attempt to fix this SIGABRT is [2], which writes the vma file directory to $out/ folder -- however that may still be tmpfs mounted which it is in our case.
[1]<EMAIL_ADDRESS>[2] https://github.com/NixOS/nixpkgs/pull/224282
Description of changes

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Please open an issue upstream (QEMU or whatever) and ideally link it here, they should try O_DIRECT and if they have EINVAL, they should not go to O_DIRECT.
But the situation is suboptimal.

Thanks. Bug filed: https://bugzilla.proxmox.com/show_bug.cgi?id=4710

Please add the link to the issue tracker as a comment above your inline patch and after this, we can merge.

Final thing (sorry I didn't have much sleep those last days), can you reformat your commits (and the PR title) according to the CONTRIBUTING guide? nixos/virtualisation/proxmox-image: disable O_DIRECT to fix assert errors something along those lines with a proper comment message explaining the context.

(sorry I didn't have much sleep those last days),

Me neither; newborn keeping me up.

can you reformat your commits (and the PR title)

nixos/proxmox-image: appears the be the default prefix headline according to git log.
Let me know if this is OK.


generate JSON from jstree

help to generate JSON data from a jstree

Please, read the docs:
https://www.jstree.com/api/#/?q=json&f=get_json([obj, options])

I got this JSON data from jstree
{"id":"j1_1","text":"Root","icon":"glyphicon glyphicon-flash","li_attr":{"id":false},"a_attr":{"href":"#","id":"j1_1_anchor"},"state":{},"data":false,"parent":"#","type":"default"}]
but i want to get only id and text.help me solve it...
Thanks

Loop through the array (or use the native JS .map function) and leave only what you need.


Walls are not shown on Windows

Windows 8.1
Emacs 24.5.1
Pacman.el 05e30ca

Looks like there is a discrepancy between how pacman-create-color-block function works on Windows and on Linux

Looks like we didn't capture that. The root cause of the bug is that for Linux in xbm 1 means foreground color, 0 means background. But for Emacs on Windows for some reason the behavior is swapped. That is 1 means background and 0 means foreground.
That's way we introduced that workaround with setting the same color for both foreground and background. But this workaround prevents us from easy implementation of #131
Maybe we have to do something with it, 'cause I don't wanna draw those sprites manually. :)

@ForNeVeR btw, could you please checkout f7b17f7~1 and check if the bug is reproducible on your environment?

I think that the bug is reproducible for me in the mentioned commit. In it I cannot see any walls at all.


batch reads options added

https://app.codacy.com/manual/PlaytikaCodacy/aerospike-janusgraph-storage-backend/pullRequest?prid=4216103


Skip initializing modules when creating the model for generation benchmark

The PR introduces the no_init_weights from transformers to speed up the model loading process.
Tested on Llama-2-7b-chat-hf:

w/o no_init_weights

Loading model ...
Time to load model: 57.50 seconds

w/ no_init_weights

Loading model ...
Time to load model: 15.64 seconds

cc @HDCharles @jerryzh168

can we just load the model in meta device? like: https://github.com/pytorch/ao/blob/a31e15d1f4eb393de00a1c0c5536b4f8f8af5784/test/integration/test_integration.py#L1048

can we just load the model in meta device? like:
https://github.com/pytorch/ao/blob/a31e15d1f4eb393de00a1c0c5536b4f8f8af5784/test/integration/test_integration.py#L1048

Yes, it's more elegant


Create sendsms.ro

What kind of change does this PR introduce?

[ ] Bug fix
[x] Feature
[ ] Documentation update
[ ] Other (please specify)

What is the current behavior?
Currently, the OTP sending mechanism does not comply with the zero-knowledge approach. The OTP is sent in clear text, and there is no mechanism to hash the OTP before sending or to replace it in logs. This can lead to security vulnerabilities as the OTP may be exposed in logs or message histories.
Please link any relevant issues here:

Issue # (if applicable)

What is the new behavior?
This PR introduces a new implementation for the OTP sending mechanism using the sendsms.ro API that adheres to the zero-knowledge approach. Key changes include:

The OTP is replaced with **** in the message template sent to the user.
The OTP is hashed using a salt provided in the response from the otp_send API call before being sent for verification.
The implementation ensures that no clear text OTPs are stored or logged.

Implementation Details of sendsms.ro
sendsms.ro Documentation

SendsmsProvider Struct: This struct holds the configuration for the sendsms.ro API, including the username, password, and sender label.

SendsmsResponse and SendsmsCheckResponse Structs: These structs represent the JSON response from the sendsms.ro API for sending and checking OTPs, respectively.

NewSendsmsProvider Function: Initializes a new SendsmsProvider instance and validates the configuration.

SendMessage Method: Responsible for sending an OTP. It calls the SendSms method with the phone number and OTP.

SendSms Method:

Constructs the request URL with the necessary parameters for sending an OTP.
Sends a GET request to the otp_send endpoint.
Replaces the OTP in the message with **** to ensure it is not exposed.
Decodes the response and checks for success.
Generates a hash using the salt provided in the response and the OTP, returning the UID and hash for tracking.

VerifyOTP Method:

Constructs the request URL for the otp_check endpoint.
Sends a GET request to verify the OTP using the provided hash.
Returns whether the OTP is valid or an error message.

Additional context

This change enhances the security of the OTP mechanism by ensuring that sensitive information is not exposed.
The implementation is consistent with the existing SMS providers (Twilio and Textlocal) in terms of structure and error handling.

Add any other context or screenshots.

While I appreciate your pull request and clear description I think moving forward these types of integrations will be done with auth hooks. If you create a corresponding issue with this it can be discussed and tracked further their.


optimize cross join probe

What problem does this PR solve?
Issue Number: close #7443
Problem Summary:
This is the second pr for #7443, the main changes includes
What is changed and how it works?

Introduce shallow cross probe mode, so when doing cross join probe, there are two cross probe mode

DEEP_COPY_RIGHT_BLOCK: the original way, will use CrossJoinAdder to construct the probe result block, will be used when right side has few rows
SHALLOW_COPY_RIGHT_BLOCK: construct the probe block without copy right block, will be used when right side has many rows

Add a new config shallow_copy_cross_probe_threshold to decide the cross probe mode
Add more cross join tests
Move ProbeProcessInfo to a standalone file.

Test result:
Test the following query on a TiDB cluster of 1 TiFlash nodes, based on the dataset of TPCH-100
select count(*),count(ps_comment) from partsupp join supplier on ps_SUPPKEY > S_SUPPKEY where s_suppkey >= 1 and s_suppkey < 100000 and ps_suppkey >= 1 and ps_suppkey < 20000;

The query plan is
mysql> explain  select count(*),count(ps_comment) from partsupp join supplier on ps_SUPPKEY > S_SUPPKEY where s_suppkey >= 1 and s_suppkey < 100000 and ps_suppkey >= 1 and ps_suppkey < 20000;
+--------------------------------------------+-----------------+--------------+----------------+----------------------------------------------------------------------------------------------+
| id                                         | estRows         | task         | access object  | operator info                                                                                |
+--------------------------------------------+-----------------+--------------+----------------+----------------------------------------------------------------------------------------------+
| HashAgg_44                                 | 1.00            | root         |                | funcs:count(Column#16)->Column#14, funcs:count(Column#17)->Column#15                         |
| └─TableReader_46                           | 1.00            | root         |                | MppVersion: 1, data:ExchangeSender_45                                                        |
|   └─ExchangeSender_45                      | 1.00            | mpp[tiflash] |                | ExchangeType: PassThrough                                                                    |
|     └─HashAgg_15                           | 1.00            | mpp[tiflash] |                | funcs:count(1)->Column#16, funcs:count(tpch100.partsupp.ps_comment)->Column#17               |
|       └─Projection_43                      |<PHONE_NUMBER>92.80 | mpp[tiflash] |                | tpch100.partsupp.ps_comment                                                                  |
|         └─HashJoin_40                      |<PHONE_NUMBER>92.80 | mpp[tiflash] |                | CARTESIAN inner join, other cond:gt(tpch100.partsupp.ps_suppkey, tpch100.supplier.s_suppkey) |
|           ├─ExchangeReceiver_25(Build)     | 99048.17        | mpp[tiflash] |                |                                                                                |
|           │ └─ExchangeSender_24            | 99048.17        | mpp[tiflash] |                | ExchangeType: Broadcast, Compression: FAST                                                   |
|           │   └─TableRangeScan_23          | 99048.17        | mpp[tiflash] | table:supplier | range:[1,100000), keep order:false                                                           |
|           └─Selection_27(Probe)            | 1628430.35      | mpp[tiflash] |                | ge(tpch100.partsupp.ps_suppkey, 1), lt(tpch100.partsupp.ps_suppkey, 20000)                   |
|             └─TableFullScan_26             | 80000000.00     | mpp[tiflash] | table:partsupp | keep order:false                                                                             |
+--------------------------------------------+-----------------+--------------+----------------+----------------------------------------------------------------------------------------------+

Right side has 99999 rows, and the left side has 1599920 rows, the join result has<PHONE_NUMBER>0 rows

Cross join mode
time cost
memory usage

before #7444
OOM
OOM, memory usage is at least 150GB

deep copy mode
1159.54s
822.61 MB

shallow copy mode
145.76s
447.94 MB

Check List
Tests

[x] Unit test
[ ] Integration test
[ ] Manual test (add detailed scripts or steps below)
[ ] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Documentation

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Changes MySQL compatibility

Release note

None

/run-all-tests

/run-all-tests

/run-all-tests

/merge

/merge


Max 7 package page 404'ing

http://monome.org/docs/app/ -> http://monome.org/docs/app/package/ is 404'ing, even though the doc is live: https://github.com/monome/docs/blob/gh-pages/app/package.md
wasn't sure how to get this cleaned up on my own :\

fixed 28a2bee..6b93cc8


No logging is done after an --exit

Unlike ios-sim 3.x, we can't log after the process exits.

Alternatives:

symlink to actual log
some out-of-process logging to file

Is this for logging during running of application as well? I cannot see logging message while running.

Yup logging for as long as the simulator is running, for the app. In 3.x even with --exit flag, you could log to file, but with 4.x, you can't.

@shazron Alright! Thank you for info. I'm looking forward to this too.

Hey all,
since I spent several days with this bug, I wanted to share my thoughts and my workaround/solution for this with you.
Even if you omit the --exit flag and send ios-sim to background using &, the logging isn't done right but old log entries can suddenly appear in the log output. The culprit for this isn't clear to me, as fs.watch in the Tail module gets a "rename" event even if the system.log of the emulator wasn't renamed. When that event was raised, all contents of the simulator's system.log gets copied into the log output again. So maybe it's an issue within the fs module, but I don't know.
In our scenario, we run unit tests with Jasmine in the emulator and need to wait for a specific line to determine if the tests were successful or not. My workaround is this little script:
`
#!/bin/bash
SIM_DEVICE="iPhone 5s"
SIM_IOS="9.1"
modify device name for ios-sim
MOD_DEVICE=echo $SIM_DEVICE | sed 's/ /-/'
check if there exists a simulator for the given DEVICE_NAME and IOS_VERSION
SIM_UDID=""
while read -r line
do
if [[ "$line" =~ "${SIM_DEVICE} (${SIM_IOS})" ]]; then
SIM_UDID=echo $line | sed 's/^.*\[\(.*\)\]$/\1/'
fi
done < <(instruments -s devices)
if [ "$SIM_UDID" = "" ]; then
echo "no matching device found"
exit 1
fi
echo "Found simulator UDID: $SIM_UDID"
SIM_DIR=~/Library/Logs/CoreSimulator/${SIM_UDID}/
if [ ! -d "$SIM_DIR" ]; then
echo "Simulator directory $SIM_DIR does not exist!"
exit 1
fi
echo "building app"
phonegap  build ios
echo "clearing simulator log"
SIM_LOG=${SIM_DIR}/system.log
echo "" > ${SIM_LOG}
echo "starting simulator with app"
ios-sim launch platforms/ios/build/emulator/MyPhoneGapTest.app --devicetypeid "${MOD_DEVICE}, ${SIM_IOS}" --exit
echo "waiting for tests"
tail -f ${SIM_LOG} | while read LOGLINE
do
[[ "${LOGLINE}" =~ ^.*#.*spec.*assertion.failure. ]] && pkill -P $$ tail
done
tail ${SIM_LOG} | grep "^.*#.*specs.*assertions.failures."
cp ${SIM_LOG} ios.log
`
In the first part of the script, I get the emulator's UDID via the given device type and iOS version. Then I use Phonegap only to build the app but start it then in ios-sim manually. In the last part, I only wait for the expected line.
I hope that this script may be useful for others, too!
-- Max


Add tests for Openpulse frontend common module

Summary
Add tests for Openpulse frontend common module
Details and comments

fix a bug in acquire instruction
change constructor interface of Interval
add tests for timeslots

I have no plan to move the contents of common to top-level pulse modules. But I think we have no problem to do so.


Youtube-DL Not Detecting 1080p Streams On Facebook

Checklist

[x ] I'm reporting a broken site support
[x ] I've verified that I'm running youtube-dl version 2020.06.06
[x ] I've checked that all provided URLs are alive and playable in a browser
[x ] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[ ] I've searched the bugtracker for similar issues including closed ones

Verbose log

https://www.facebook.com/fivepoints/videos/996028423892697/

[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', 'https://www.facebook.com/fivepoints/videos/996028423892697/']
[debug] Encodings: locale cp1252, fs mbcs, out cp437, pref cp1252
[debug] youtube-dl version 2020.06.06
[debug] Python version 3.4.4 (CPython) - Windows-7-6.1.7601-SP1
[debug] exe versions: ffmpeg git-2020-06-04-7f81785, ffprobe git-2020-06-04-7f81785
[debug] Proxy map: {}
[facebook]<PHONE_NUMBER>92697: Downloading webpage
[debug] Default format spec: bestvideo+bestaudio/best
[debug] Invoking downloader on 'https://video-dfw5-1.xx.fbcdn.net/v/t42.9040-2/10000000_175573326461994_6669545570249474
048_n.mp4?_nc_cat=103&_nc_sid=5aebc0&efg=eyJ2ZW5jb2RlX3RhZyI6ImRhc2hfdjRfaHEyX2ZyYWdfMl92aWRlbyJ9&_nc_ohc=QD1nkUCRYPQAX8
X0kvE&_nc_ht=video-dfw5-1.xx&oh=3ba3b4a328fe99e6072d5082fbe2b11a&oe=5EDB598F'
[download] Destination: One story told five ways - meet CJ. After finding an eviction notice at his ho...-99602842389269
7.f175573313128662v.mp4
[download] 100% of 95.51MiB in 00:38
[debug] Invoking downloader on 'https://video-dfw5-2.xx.fbcdn.net/v/t42.1790-2/34002262_447522052361556_7540298375028015
104_n.mp4?_nc_cat=104&_nc_sid=5aebc0&efg=eyJ2ZW5jb2RlX3RhZyI6ImRhc2hfdjRfaHExX2ZyYWdfMl9hdWRpbyJ9&_nc_ohc=j4CAMKexg7cAX8
r6JOF&_nc_ht=video-dfw5-2.xx&oh=e02f4ae1d155b7e223764953c595c624&oe=5EDB55D0'
[download] Destination: One story told five ways - meet CJ. After finding an eviction notice at his ho...-99602842389269
7.f447522045694890a.m4a
[download] 100% of 4.76MiB in 00:02
[ffmpeg] Merging formats into "One story told five ways - meet CJ. After finding an eviction notice at his ho...-9960284
23892697.mp4"
[debug] ffmpeg command line: ffmpeg -y -loglevel "repeat+info" -i "file:One story told five ways - meet CJ. After findin
g an eviction notice at his ho...-996028423892697.f175573313128662v.mp4" -i "file:One story told five ways - meet CJ. Af
ter finding an eviction notice at his ho...-996028423892697.f447522045694890a.m4a" -c copy -map "0:v:0" -map "1:a:0" "fi
le:One story told five ways - meet CJ. After finding an eviction notice at his ho...-996028423892697.temp.mp4"
Deleting original file One story told five ways - meet CJ. After finding an eviction notice at his ho...-996028423892697
.f175573313128662v.mp4 (pass -k to keep)
Deleting original file One story told five ways - meet CJ. After finding an eviction notice at his ho...-996028423892697
.f447522045694890a.m4a (pass -k to keep)

Description

I always look up available formats of a video, before I attempt downloading one.  When I look up this video, and other videos of other series, the 1080p streams do not get detected.

No 1080p exists for this video.

@dstftw There is a 1080p stream, but youtube-dl is unable to detect it.  That is what I was trying to say.

I did and there is no 1080p as already pointed out.

@dstftw I just downloaded the 1080p stream using JDownloader.  Here is a screencap.
http://cdn-images.imagevenue.com/8c/2b/d0/ME123PCA_o.jpg
And, here is the MediaInfo.
`General
Complete name               : C:\Users\Navid\Downloads\Five Points S01E01 And Yet Here We Are.mp4
Format                      : MPEG-4
Format profile              : Base Media
Codec ID                    : isom (isom/iso2/avc1/mp41)
File size                   : 219 MiB
Duration                    : 13 min 31 s
Overall bit rate mode       : Variable
Overall bit rate            : 2 268 kb/s
Movie name                  :<PHONE_NUMBER>92697
Writing application         : Lavf56.40.101
Video
ID                          : 1
Format                      : AVC
Format/Info                 : Advanced Video Codec
Format profile              : Main@L4
Format settings             : CABAC / 5 Ref Frames
Format settings, CABAC      : Yes
Format settings, Reference  : 5 frames
Format settings, GOP        : M=4, N=48
Codec ID                    : avc1
Codec ID/Info               : Advanced Video Coding
Duration                    : 13 min 31 s
Bit rate                    : 2 216 kb/s
Width                       : 1 920 pixels
Height                      : 1 080 pixels
Display aspect ratio        : 16:9
Frame rate mode             : Constant
Frame rate                  : 23.976 (23976/1000) FPS
Color space                 : YUV
Chroma subsampling          : 4:2:0
Bit depth                   : 8 bits
Scan type                   : Progressive
Bits/(Pixel*Frame)          : 0.045
Stream size                 : 214 MiB (98%)
Writing library             : x264 core 148
Encoding settings           : cabac=1 / ref=5 / deblock=1:0:0 / analyse=0x1:0x111 / me=hex / subme=8 / psy=0 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=2 / 8x8dct=0 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=0 / threads=34 / lookahead_threads=5 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=48 / keyint_min=25 / scenecut=0 / intra_refresh=0 / rc_lookahead=48 / rc=crf / mbtree=1 / crf=25.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / vbv_maxrate=16200 / vbv_bufsize=32400 / crf_max=0.0 / nal_hrd=none / filler=0 / ip_ratio=1.40 / aq=2:1.00
Language                    : English
Color range                 : Limited
Color primaries             : BT.709
Transfer characteristics    : BT.709
Matrix coefficients         : BT.709
Codec configuration box     : avcC
Audio
ID                          : 2
Format                      : AAC LC SBR
Format/Info                 : Advanced Audio Codec Low Complexity with Spectral Band Replication
Commercial name             : HE-AAC
Format settings             : NBC
Codec ID                    : mp4a-40-5
Duration                    : 13 min 31 s
Duration_LastFrame          : 104 ms
Bit rate mode               : Variable
Bit rate                    : 48.0 kb/s
Maximum bit rate            : 1 800 kb/s
Channel(s)                  : 2 channels
Channel layout              : L R
Sampling rate               : 48.0 kHz
Frame rate                  : 23.438 FPS (2048 SPF)
Compression mode            : Lossy
Stream size                 : 4.64 MiB (2%)
Language                    : English
Default                     : Yes
Alternate group             : 1
`


Add text about how long a proposal will be available to Vote on once it's submitted on chain

@Thomas-Upfield has informed me that proposals have 6 epochs to run in the Voting period. We need to inform users of this. I'm pretty sure it's not currently on Gov Tool.
Also, we should update the guides with this info.

It is currently 6 epochs and its defined by the protocol parameter govActionLifetime.
I assume it can be changed through protocol parameter update type of governance action as under the guardrails of CIP-1694:
"GAL-02 (y) govActionLifetime must not exceed 15 epochs (75 days)"
CC @Ryun1

we can show users the current amount of days as per govActionLifetime

@m-i-k-e Can you prepare the designs?

There are some problems here: The text is completely incorrect.

Before submitting a Governance Action on chain you need to submit a Proposal.

Not true. You can submit a GA outside of GovTool directly to chain
This allows you to get feedback from the community to refine and improve your proposal, increasing the chances of your Governance Action getting approved, (Not true, it could also increase your chances of getting dissapproved)
and also building up supporting context in the form of metadata (Irrelevant)
Once you are happy with your proposal you can open a poll to check ‘Is this proposal ready to be submitted on chain?’ Very poorly worded
If you get support on the poll you are ready to submit your proposal on chain as a Governance Action to get voted on. Not true, you don't even need a poll to submit to chain

@m-i-k-e True. If you have a suggestion, feel free to put it in place.

@bosko-m I am working on it. Those notes are there to understand the problem.

@m-i-k-e If this one is not yet ready, then Im moving it for the later this month.


Fixing test needed before save in elasticsearch

Summary
Fixing test needed before save in elasticsearch
Ticket Link
MM-21010

Creating a new SpinWick test server using Mattermost Cloud.

Mattermost test server created! :tada:
Access here: https://mattermost-webapp-pr-4483.test.mattermost.cloud

Account Type
Username
Password

Admin
sysadmin
Sys@dmin123

User
user-1
User-1@123

Test server destroyed

Test server destroyed


Add extra detail to team work contract

From https://github.ubc.ca/MDS-2020-21/DSCI_522_dsci-workflows_students/blob/master/release/milestone1/milestone1.md:

How will work be distributed in a fair and equitable way?
How often will group meetings occur?
Will you have meeting agendas and minutes? If so, what will be the system for rotating through these responsibilities?
What will be the style of working?
Will you start each day with stand-ups, or submit a summary of your contributions 4 hours before each meeting? or something else?
What is the quality of work each team member expects from themselves and each other?

I don't think we should answer this individually. We can enhance the contract next week.

Yeah, they are just suggested things to include. I added a section for meeting cadance and team member responsibility so now I feel like we have enough.


Character object export

I was curious when the character obj format exporting will be done? Also, can i convert the intermediate formats into something that I can use? Or is that not possible yet?
Awesome project. Thanks.

Sorry i was on the dev branch.


Update sbt-microsites to 1.1.3

Updates com.47deg:sbt-microsites from 1.1.2 to 1.1.3.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.47deg", artifactId = "sbt-microsites" } ]

labels: sbt-plugin-update, semver-patch

Codecov Report

Merging #49 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master    #49   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files          16     16
  Lines          84     84
=====================================
  Hits           84     84

Flag
Coverage Δ

#unittests
100% <ø> (ø)
: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 e30e0f6...1e7b40b. Read the comment docs.


Fix #661, TBL events update

Describe the contribution
Removes unused defines (recently added), adds documentation to TBL event defines.
fix #661
Testing performed
make doc, examined output
Contributor Info - All information REQUIRED for consideration of pull request
<EMAIL_ADDRESS>

CCB-20200506 - APPROVED