Turnoff backend unittest

When the issue was fixed, please turn the unit tests back on.
Other triggers can be managed in Console - Cloud Build.

I am not quite sure if we just want to deploy this into Master/Prod or we would like to "have the fix" AND "merge Master to Prod". I rebased this from Master and now it should work. Any additional changes should have the yaml file included in their branch so that the test can pass.

I am not quite sure if we just want to deploy this into Master/Prod or we would like to "have the fix" AND "merge Master to Prod". I rebased this from Master and now it should work. Any additional changes should have the yaml file included in their branch so that the test can pass.

By the way there are front-end testings failing as well. Shall we just remove all the unit-testing checks or we plan to fix the unit tests first?

By the way there are front-end testings failing as well. Shall we just remove all the unit-testing checks or we plan to fix the unit tests first?

Thanks Zephyr!
For now we only agreed to disable the backend tests as the frontend ones were ok last time we checked. We should look into fixing FE tests rather than disabling. But thanks to this PR we now know where to look to disable them if we need to.

Thanks Zephyr!
For now we only agreed to disable the backend tests as the frontend ones were ok last time we checked. We should look into fixing FE tests rather than disabling. But thanks to this PR we now know where to look to disable them if we need to.


[opentitantool] Avoid required --help argument

A few subcommands used a --hexdata option with the short form -h, conflicting with standard -h for --help.  The tpm.rs file used -d as the short form of --hexdata, though.
This PR standardizes on -d as the short form of --hexdata, eliminating the conflict with build in help.  The immediate need for this CL is that somehow, the explicit declarations of long-form only --help cases errors about "Required argument: help".  And rather than figuring our how to properly declare --help as optional, I think it makes sense to standardize on a short form that does not conflict with -h.

I digged into clap's expansion, and it seems that in the code generated by the derive macro, when trying to get value from matches, it does not care about whether required is true or not (it's indeed false in this case, because bool implies takes_value = false).
The fix without changing the command name is actually to use help: () instead of help: bool:
     // `disable_help_flag` disable both short and long help flags. Add long help back.
     #[arg(long, action = clap::ArgAction::Help, help = "Print help")]
-    help: bool,
+    help: (),

That said, if we are allowed to change the CLI, then I'd be more than happy to get rid of the horrible disable_help_flag hacks!

Thanks for pointing out SpiRead.  I tried that as well and found that currently, it too fails with error: The following required argument was not provided: help.
I have removed the short form of --hexdata on spi read, to avoid the conflict with -h for --help.
I do not think it is a problem to change the short forms of the flags.  I will let Chris chime in.


Self defense system (PvP)

Current State
The self defense system is not implemented yet.
How should it work?
When a player attacks another innocent player (in a lower state than 1st and 2nd player kill level), the self defense system activates for some time.
During this period, the attacked player can attack back and kill the attacker without fearing consequences (PlayerKillLevel stays the same).
Things to consider

The duration of the self defense should be configurable.
The duration starts again on each hit of the attacker.
It would be nice to give a warning to the player some seconds before the period ends.
It should not be activated in PvP events like Chaos Castle or in a duel (duels are not implemented yet, too)

Additional context
PvP mechanics at muonlinefanz.com

A first approach is implemented at #381.


Prepare 3.2.0 release

Some things are still TODO:

[x] go through permissions to see what the bot still needs and adjust invite codes accordingly
[x] Test permission by adding bot using new invite
[x] Check If "thanks for adding me" message is still sent to guild owners
[x] maybe create a VM on GoogleCloud instead of using AppEngine which might kill instances?
[x] revert a few GCloud things like /tmp and the yamls
[ ] do final test of all commands on M(alpha)gibot

Errors found

[x] joinsound set soundfile somehow failing

Followup

[ ] adjust in-platform invite to also just require those permissions : https://discord.com/developers/applications/384820232583249921/oauth2/general

permissions that we need:

ReadMessageHistory
AddReactions
ViewChannel
CreateInstantInvite

there seems an issue with ffmpeg and heroku
IDK if i can fix it
maybe it would be nice to take a look at something like this: https://console.cloud.google.com/appengine/start?project=magibot-358120
it seemed like they have a free tier as well somewhere

things that are working:

all old commands being used tell the user where to go to continue using them

commands tested:

[ ] /ping
[ ]  /roll
[ ]  /invite
[ ]  /bugreport
[ ] /randomfact
[ ]  /salt
[ ]  /profile
[ ]  /joinsound
[ ]  /info
[ ] /vote
[ ] /help
[ ] /queue
[ ] /admin salt
[ ]  /admin joinsound
[ ] /admin config


Login to zabbix does not work if not default locale is set for zabbix login screen

Hi
If Zabbix is setup with not the default locale for login screen (e.g. russian, as in my case), than POST request to login fails because of Zabbix expecting translated value for "enter" field (e.g. "Войти" instead of "Sign in"), while "Sign in" is hardcoded in zbxtg.py. Simple solution is to adjust data_api variable in login function of ZabbixAPI class to suite your locale. More generic solution is to request the Zabbix JSON API key and then use it to construct the cookie for regular request to chart3.php, here is the patch:
--- zbxtg.py.orig	2017-10-23 21:23:29.844699802 +0300
+++ zbxtg.py	2017-10-23 21:19:38.638553246 +0300
@@ -275,16 +275,26 @@
         if not self.verify:
             requests.packages.urllib3.disable_warnings()

-        data_api = {"name": self.username, "password": self.password, "enter": "Sign in"}
-        answer = requests.post(self.server + "/", data=data_api, proxies=self.proxies, verify=self.verify,
+        data_api = {
+            "jsonrpc": "2.0",
+            "method": "user.login",
+            "params": {
+                "user": self.username,
+                "password": self.password
+            },
+            "id": 1,
+            "auth": None
+        }
+        answer = requests.post(self.server + "/api_jsonrpc.php", json=data_api, proxies=self.proxies, verify=self.verify,
                                auth=requests.auth.HTTPBasicAuth(self.basic_auth_user, self.basic_auth_pass))
-        cookie = answer.cookies
         if len(answer.history) > 1 and answer.history[0].status_code == 302:
             print_message("probably the server in your config file has not full URL (for example "
                           "'{0}' instead of '{1}')".format(self.server, self.server + "/zabbix"))
-        if not cookie:
+        if (answer.status_code != 200) or ('result' not in answer.json()):
             print_message("authorization has failed, url: {0}".format(self.server + "/"))
             cookie = None
+        else:
+            cookie = {"zbx_sessionid": answer.json()['result']}

         self.cookie = cookie

@halsbox thanks for the report


zapier integration [WIP]

to send a weather update once daily in the morning.

Automated message from Dropbox CLA bot
@wizsid11, thanks for the pull request! It looks like you haven't yet signed the Dropbox CLA. Please sign it here.

Automated message from Dropbox CLA bot
@wizsid11, thanks for signing the CLA!

@wizsid11 thanks for working on this!  We actually just merged a Zapier integration this morning ( https://github.com/zulip/zulip/pull/3351).  Comparing the code, I think the implementation we merged is a bit more generic and I think should support the weather notification use case you have, but it'd be awesome if you tried it out to confirm that and/or propose any improvements to the documentation!


Blank Page and stuff

Hi,
First, thank you for Traccar !!!!!
I have a synology DS214+.
I install Traccar but when I run it, there are a blank page.
In the Admin consol, it's write this :
Uncaught Error: You're trying to decode an invalid JSON String:
    at new Ext.Error (cdnjs.cloudflare.com/ajax/libs/extjs/6.0.1/ext-all.js:22)
    at Function.raise (cdnjs.cloudflare.com/ajax/libs/extjs/6.0.1/ext-all.js:22)
    at Object.Ext.raise (cdnjs.cloudflare.com/ajax/libs/extjs/6.0.1/ext-all.js:22)
...

I'm use the 55000 port.
I'm open it on my FAI Box and It's not blocked on my Synology Firewall.
I tested the Windows manager and it's run.
Can you help me ?
My mail<EMAIL_ADDRESS>Thanks you very much

Closing as duplicate of the forum thread:
https://www.traccar.org/forums/topic/blank-page-and-stuffs/


Build packages

Hi Hyeshik,
nice work with the new packages! Are you able to build and upload them, or do you want me to do that? We could also try to setup the anaconda build service for linux-64, but so far I did no manage to connect it with github...

Hi Johannes & Hyeshik -
I built my packages locally, but am unable to upload to the bioconda channel. The only solution I was able to find for organizations was in this post, but
anaconda upload -u bioconda anaconda2/conda-bld/linux-64/subread-1.4.6p5-0.tar.bz

gives me the error [BinstarError] Can not create package.
Have either of you had luck uploading to the bioconda organization?

Hi Ryan,
I do that all the time. I have changed your rights to admin. Does it work now?

Hmm, still not working for me.  I made my own test organization and was able to successfully upload a new package to it, so it seems like things are configured correctly on my machine, at least for organizations created by my user name.
I added you as a user with "owner" rights to that new organization, which is unoriginally named "temp" . . . are you able to upload packages there?

Yes, I can upload there...
I have moved you to the owners group. Does it work now?

Yep, now it works. Thanks!

I was trying to figure out how to upload the package. I just successfully finishing uploading my packages. Thank you!


Error when command-line window is open

Error executing vim.schedule lua callback: /home/nbe/.local/share/nvim/lazy/fidget.nvim/lua/fidget.lua:91: Error occured:
/home/nbe/.local/share/nvim/lazy/fidget.nvim/lua/fidget.lua:319: E11: Invalid in command-line window; <CR> executes, CTRL-C quits
stack traceback:
        [C]: in function 'error'
        /home/nbe/.local/share/nvim/lazy/fidget.nvim/lua/fidget.lua:91: in function 'render_fidgets'
        /home/nbe/.local/share/nvim/lazy/fidget.nvim/lua/fidget.lua:223: in function 'fmt'
        /home/nbe/.local/share/nvim/lazy/fidget.nvim/lua/fidget.lua:342: in function 'do_spin'
        /home/nbe/.local/share/nvim/lazy/fidget.nvim/lua/fidget.lua:363: in function 'spin'
        /home/nbe/.local/share/nvim/lazy/fidget.nvim/lua/fidget.lua:354: in function ''
        vim/_editor.lua: in function ''
        vim/_editor.lua: in function <vim/_editor.lua:0>
Press ENTER or type command to continue

Repro:

Open a file. Observe that fidget.nvim is doing it's thing in the corner.

In normal mode, press either of the following:

q:
q?
q/
: followed by ctrl+f

Type some text in the command-line window.

Interesting. I'm not able to reproduce this at all on Nvim 0.9.0.
What version are you on?

I'm on nightly. I don't have the exact version at the moment, but any build in the last few weeks should be affected.

$ nvim -v
NVIM v0.10.0-dev-f2ce31d
Build type: Release
LuaJIT 2.1.0-beta3
Run "nvim -V1 -v" for more info

I also encountered the same problem when I updated to night of neovim this morning.
$ nvim -v
NVIM v0.10.0-dev-2095+gdf2f5e391-Homebrew
Build type: Release
LuaJIT 2.1.0-beta3
Run "nvim -V1 -v" for more info

I'm having the same issue:
NVIM v0.10.0-dev-882+gd7ae9ae3e
Build type: RelWithDebInfo
LuaJIT 2.1.0-beta3
Run "nvim -V1 -v" for more info

Same here
NVIM v0.10.0-dev-1137+gf54677132b
Build type: RelWithDebInfo
LuaJIT 2.1.1694285958
Run "nvim -V1 -v" for more info

Same here
NVIM v0.10.0-dev-be10d65
Build type: RelWithDebInfo
LuaJIT 2.1.1694751058
Run "nvim -V1 -v" for more info


Adobe Premiere Pro not managed by default

For some reason, Adobe Premiere was evading Yabai's management 🥵
I thought maybe because I was using Premiere (Beta), the window was being rendered in an experimental way.
Adding the line below to .yabairc puts Adobe Premiere under Yabai's managment, and I am much happier for it!
yabai -m rule --add app="^Adobe Premiere Pro" manage=on

Creating this issue in case someone else searches the same problem.
Being curious,  I am also hoping to learn why every window is managed by default except Adobe windows?

Thank you!


[eWeLink] ***** Disabling plugin. *****

[10/10/2022, 07:01:13] [eWeLink] An error occurred during http getHomes().
[10/10/2022, 07:01:13] [eWeLink] ***** Disabling plugin. *****
[10/10/2022, 07:01:13] [eWeLink] ***** socket hang up at Function.AxiosError.from (file:///var/lib/homebridge/node_modules/homebridge-ewelink/node_modules/axios/lib/core/AxiosError.js:89:14). *****
is this a new thing? i go through system maintenance which includes reboots and after reboots I started seeing this due internet connection not yet available. Why does it disable itself? I want it to try again to reconnect and it does not try to reconnect until i reboot homebridge it stops working basically. Any advice?

Hi,
Closing this just as been a little overwhelmed with issues recently.
If this is still an issue or a feature you would like implemented then please do re-open this ticket!
Thanks for your understanding!


publish the C# specs for 9.0

See dotnet/csharplang#3731
There are several new files published here. This link provides a starting point to the 9.0 proposals.

The build warnings are addressed in dotnet/csharplang#3750


Draft of bootloader + OS

Bootloader:
Read the second sector of booted disk at physical address 0x9000 and look for a magic number (bytes 1337). If found, JUMP to the operating system. Very straightforward, but took me 6 hours to make right...
OS:
Print a banner and read a key from keyboard, when pressed something reboots.
The boot is so fast that bootloader message doesn't appear...
OS is assembled in raw binary format and the image is created using fdisk and dd.
Tested on QEMU.

C'mon, I'm not an author, at least not yet :-)

Leave this open, after we finish nash packages I would like to view this with you personally so you can enlighten me on some x86 assembly :-)


what's the cpp version pywhispercpp bind to?

Forgive me if the question is dumb. I'm totally unfamiliar with pybind. But when I compare pywhispercpp and whispercpp cli, I found the difference.
The comparison is under same conditions:

same prompt: "好，我们开始上课。请输出简体中文，以下是专有名词“ （means: ok, let's start the lesson. Please output zh-cn, not zh-tw"
this is how cpp is invoked: ./main -l zh  -t 8 -m models/ggml-large-v2.bin -osrt --prompt '好,我们开始上课.请输出简体中文' -of /tmp/whisper.cpp.srt /tmp/output005.wav
this is how I construct pywhispercpp model:

    model = Model(model,
                  n_threads=8,
                  n_max_text_ctx=448,
                  max_len=30,
                  split_on_word=True,
                  initial_prompt=prompt,
                  language="zh"
                  )
    segments = model.transcribe(input_audio, new_segment_callback=new_segment_callback)

however, pywhispercpp yields traditional Chinese characters, and its output is not as accurate as whispercpp.
So, is there any difference between pywhispercpp and whispercpp? The version of whispercpp I used is 1.7.1, released four days ago, so I wonder pywhispercpp has not bound to latest one yet?

@zillionare, how did you install pywhispercpp, through pip or from source ?

can't remember exactly and can't find by history command( weired). But I should follow the readme, so it is probably pip install pywhispercpp.

yeah, the pypi version is very old, I am planning to release a new version soon.
Please compile it from source for now and let me know if you still have issues.
Make sure to remove the old pypi version or create a new virtual env.

Hi, does the master branch update to date now?
THIS is the only whipser.cpp bind that looks like good.

Hi, does the master branch update to date now?
THIS is the only whipser.cpp bind that looks like good.

Hi @MonolithFoundation,
The PYPI wheels are up to date with the main branch.

Hi，is there any way to set language='en' or other lans same as transformers whisper pipeline?
it can be achieved by sepcific some decoder id

Hi，is there any way to set language='en' or other lans same as transformers whisper pipeline?
it can be achieved by sepcific some decoder id

Yes, you can set the language parameter in the transcribe function to any language code supported by whisper.
Take a look at the docs to see all the parameters you can use.

hi, another question would be, what if i have VAD already, how to transcribe without timestamp output?

hi, another question would be, what if i have VAD already, how to transcribe without timestamp output?

Each segment output has t0, t1 and text; if you are using a VAD, you can use the text attribute and ignore the timestamps very simply.

thanks so much.
I have a Chinese finetune whisperv3-turbo model from community, do u know why it can not inference with pywhispercpp?
(the offcial turbo model is ok).
https://huggingface.co/BELLE-2/Belle-whisper-large-v3-turbo-zh-ggml/tree/main
This load got some key errors. It's the ggml version too old or pywhispercpp too old?

@MonolithFoundation, Is it working with the actual version whisper.cpp ? if not then maybe your ggml is too old. Otherwise please open a new issue with the errors you are getting.

I would 怀疑 might be ggml model version too old. is there any tool can convert this ggml to newest? Or does pywhispercapp can directly load pth model and convert to ggml at first load?

pywhispercpp cannot load pt models directly, but the conversion script is already available in the whisper.cpp repo, you can use it to convert that model and use it with pywhiserpercpp.


Menu component has web accessibility issues

An element's ID must be unique in the DOM. The Menu id is the same as the child ul and div ids. This is not disability compliant - https://github.com/GoogleChrome/accessibility-developer-tools/wiki/Audit-Rules#ax_html_02

Thanks for merging this.  Maintainers, can you publish a new release to NPM containing this PR?

I'll close this one, thanks for this PR, we've also updated the NPM package.


Pytimetk's Pandas requirement incompatible with Pycaret's Pandas requirement

pycaret 3.1.0 depends on pandas<2.0.0 and >=1.3.0
pytimetk 0.1.0 depends on pandas<3.0.0 and >=2.1.0

I just relaxed the dependency to pandas 1.5.0. See if that works.

This should be fixed now.


[otbn/otp_ctrl] Replicate dmem scrambling keystream

This replicates the keystream instead of instantiating multiple PRINCE primitives, as discussed in detail in #7054. This effectively means that the OTBN nonce is now only 64bit wide, and this patch changes the widths throughout the otp_ctrl and otbn designs.
Signed-off-by: Michael Schaffner<EMAIL_ADDRESS>

I chose to not merge the OTBN key request channel into the SRAM key request channel vector since OTBN does not have the same nonce width as the SRAMs (64bit instead of 128bit) since OTBN scrambling does not make use of the LFSR init feature.
Also, it turns out that just adjusting the widths is actually straightforward and requires less DV and toplevel changes.

Note: this does not significantly change the OTP design. On the DV side, the only change needed is a parameter change (see @cindychip's commit).


Detect CPUID vendor string

Issue #, if available: #80
Description of changes:

fix compile time warnings in lib.h
add CPUID vendor string detection and parsing
print CPU vendor string during bootup

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Testing done:

vendor string printed running qemu:

CPU: QEMU TCG CPU version 2.5+

vendor string printed running virtual box:

CPU: Intel(R) Core(TM) I7-7700HQ CPU @ 2.80GHz


Update environment.yaml

tqdm did not get automatically installed.

nevermind, I accidently removed it while doing weird stuff. Please ignore this.


Tnixa corpus dir

Changes to handle adding corpora from a directory containing individual corpora files. The basename of the file is used for the corpora name.
DCO 1.1 Signed-off-by: Terrence Nixa -<EMAIL_ADDRESS>

@tnixa Have you updated the README with the instructions? - I don't know how to use this new functionality

@tnixa One suggestion during the upload process:
Instead of showing the lines below

Corpora  corpora-text-file1  created
resp result status:  pending
model in 'pending' status, waiting until 'ready'...
resp result status:  pending
model in 'pending' status, waiting until 'ready'...
resp result status:  ready

... maybe we should display something more user friendly like

Pending state: Processing file - please wait...
Ready state: Corpora  corpora-text-file1  processed

Corpora  corpora-text-file1  created
Processing file - please wait...
Processing file - please wait...
Processing file - please wait...
Processing file - please wait...
Corpora  corpora-text-file1  processed

Maybe we can do the same for training messages

Executing operation: update on type: custom_model
resp result status:  training
model in 'training' status, waiting until 'available'...
resp result status:  training
model in 'training' status, waiting until 'available'...
resp result status:  training
model in 'training' status, waiting until 'available'...
resp result status:  training
model in 'training' status, waiting until 'available'...
resp result status:  training
model in 'training' status, waiting until 'available'...
resp result status:  available

... to something like:

Executing operation: update on type: custom_model
Training in progress. Please wait...
Training in progress. Please wait...
Training in progress. Please wait...
Training in progress. Please wait...
Training in progress. Please wait...
Training in progress. Please wait...
Training in progress. Please wait...
Training in progress. Please wait...
Training in progress. Please wait...
Training in progress. Please wait...
Training complete. Custom model is ready to use.

@marco how does this look now?
15:28:46 in ~/watson/sandbox/watson-stt-wer-python on  tnixa-corpus-dir [✘!?] via 🐍 3.9.11
[I] ➜ python models.py -c config.ini.tnixa-corpus-dir -o create -t corpus -dir corpora/2.HumanaGen_NextGen
Executing operation: create on type: corpus
Creating corpora coronaV-intents in progress. Please wait...
Corpora coronaV-intents processed
Creating corpora Humana-Eligibility in progress. Please wait...
Creating corpora Humana-Eligibility in progress. Please wait...
Corpora Humana-Eligibility processed
Creating corpora crisis-intents in progress. Please wait...
Corpora crisis-intents processed
Creating corpora Humana-Claims in progress. Please wait...
Corpora Humana-Claims processed
{}

15:29:29 in ~/watson/sandbox/watson-stt-wer-python on  tnixa-corpus-dir [✘!?] via 🐍 3.9.11 took 41s
[I] ➜ python models.py -c config-humana-gen.ini -o create -t word -f words/humanaGenFaxMod.json
Executing operation: create on type: word
Creating words from words/humanaGenFaxMod.json in progress. Please wait...
Creating words from words/humanaGenFaxMod.json in progress. Please wait...
Words processed.
{}

15:43:02 in ~/watson/sandbox/watson-stt-wer-python on  tnixa-corpus-dir [✘!?] via 🐍 3.9.11 took 12s
[I] ➜ python models.py -c config-humana-gen.ini -o update -t custom_model
Executing operation: update on type: custom_model
Training in progress. Please wait...
Training in progress. Please wait...
Training in progress. Please wait...
Training in progress. Please wait...
Training complete. Custom model is ready to use.
{}

@tnixa Have you updated the README with the instructions? - I don't know how to use this new functionality
@marconoel
README updated with an example in the latest commit

@marconoel how does this look now?
15:28:46 in ~/watson/sandbox/watson-stt-wer-python on  tnixa-corpus-dir [✘!?] via 🐍 3.9.11
[I] ➜ python models.py -c config.ini.tnixa-corpus-dir -o create -t corpus -dir corpora/2.HumanaGen_NextGen
Executing operation: create on type: corpus
Creating corpora coronaV-intents in progress. Please wait...
Corpora coronaV-intents processed
Creating corpora Humana-Eligibility in progress. Please wait...
Creating corpora Humana-Eligibility in progress. Please wait...
Corpora Humana-Eligibility processed
Creating corpora crisis-intents in progress. Please wait...
Corpora crisis-intents processed
Creating corpora Humana-Claims in progress. Please wait...
Corpora Humana-Claims processed
{}

15:29:29 in ~/watson/sandbox/watson-stt-wer-python on  tnixa-corpus-dir [✘!?] via 🐍 3.9.11 took 41s
[I] ➜ python models.py -c config-humana-gen.ini -o create -t word -f words/humanaGenFaxMod.json
Executing operation: create on type: word
Creating words from words/humanaGenFaxMod.json in progress. Please wait...
Creating words from words/humanaGenFaxMod.json in progress. Please wait...
Words processed.
{}

15:43:02 in ~/watson/sandbox/watson-stt-wer-python on  tnixa-corpus-dir [✘!?] via 🐍 3.9.11 took 12s
[I] ➜ python models.py -c config-humana-gen.ini -o update -t custom_model
Executing operation: update on type: custom_model
Training in progress. Please wait...
Training in progress. Please wait...
Training in progress. Please wait...
Training in progress. Please wait...
Training complete. Custom model is ready to use.
{}

Great job! Love it


Nested Conditional Blocks are Lifted when they Shouldn't Be

Describe the bug
When a conditional includes nested conditionals that are invalid for lifting, the outer conditional may incorrectly be lifted into a generated callable by the ConditionallyControlled rewrite step. See discussion with concrete examples in comments here #767 (comment).
To Reproduce
Remove the Skip condition from this test in the ClassicallyControlledSupportTests.qs and run it. The test contains a nested condition with a return statement in it. Neither of the conditionals should be lifted into their own callables because of the return statement. However, the outer condition does get lifted, resulting in incorrect behavior.
Expected behavior
The test should pass. Because the inner conditional contains a return statement, neither the inner conditional nor the outer conditional should be lifted into their own callables.

@ScottCarda-MS Based on the description, I thought this should be resolved with https://github.com/microsoft/qsharp-compiler/pull/1114 - is that not correct? The test case in the description is still commented out. If the issue is resolved with #1114, please enable the test case and close this issue.

@ScottCarda-MS Based on the description, I thought this should be resolved with #1114 - is that not correct? The test case in the description is still commented out. If the issue is resolved with #1114, please enable the test case and close this issue.

This is not resolved with #1114. This is the more fundamental issue with lifting that has yet to be addressed. #1114 just prevented this issue from surfacing to the level of mattering for hardware jobs.

Resolved with #1277


Empire-Web API doesn't output file

Empire Version
Empire Version 2.5
OS Information (Linux flavor, Python version)
Kali Linux 2018
Python version 2.7.15
Expected behavior and description of the error, including any actions taken immediately prior to the error. The more detail the better.
It refers to the Empire Web-API.
When the command
"curl --insecure -i -H "Content-Type: application/json" https://localhost:1337/api/stagers?token=ks23jlvdki4fj1j23w39h0h0xcuwjrqilocxd6b5 -X POST -d '{"StagerName":"windows/dll", "Listener":"testing", "OutFile":"/tmp/launcher.dll"}'"
is issued, it should create a stager at the tmp folder. But it doesnt, and instead it throws output to the screen.
The case is with every stager.
However, if we set Outfile to " " we get the stager output to the screen in a usable form which can thenn be written to a file manually. Sadly, it cant be done for a DLL as we cant simply write it to a file.
Screenshot of error, embedded text output, or Pastebin link to the error

Any additional information
I dont know if I am making a mistake somewhere or this is a bug, newbie to Empire.

Went through the codebase, /Empire/empire.sh , what I percieved its not yet scripted to work that way, seeing this.
if ('OutFile' in stagerOut) and (stagerOut['OutFile']['Value'] != ''):
# if the output was intended for a file, return the base64 encoded text
stagerOut['Output'] = base64.b64encode(stager.generate())
else:
# otherwise return the text of the stager generation
stagerOut['Output'] = stager.generate()


Fedora 14 and MacOS broken due to __sighandler_t

gcc -DHAVE_CONFIG_H -I. -I../..  -I../.. -I../../src/hdrs = -I/usr/local/include -I/sw/include  -g -O2 -W -Wall -Wcast-align = -Wmissing-declarations -Wmissing-prototypes -Wreturn-type = -Wstrict-prototypes -pedantic -g -MT addkey.o -MD -MP -MF = .deps/addkey.Tpo -c -o addkey.o addkey.c In file included from addkey.c:32:
../../src/hdrs/llstdlib.h:147:18: error: unknown type name = '__sighandler_t'
void set_signals(__sighandler_t handler);
Reported by Peter Fales (Fedora 14) and Michael Hendry (MacOS).

The problem appears to be the use of the __sighandler_t "internal" type.  By adding #define USE_GNU before #include <signal.h> on newer distros we can use the more generic sighandler_t type, which will probably work better on older Linux distros and possibly BSD-derived systems (eg, MacOS).

Fixed via #348


CRUD api for long running operation notification config

Issue #, if available:
#700
Description of changes:

add CRUD api for long running operation notification config
add a new .opensearch-control-center index to save configs

CheckList:

[x] 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 #722 (ac046fe) into main (8fe17c7) will decrease coverage by 0.25%.
The diff coverage is 81.39%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@             Coverage Diff              @@
##               main     #722      +/-   ##
============================================
- Coverage     76.01%   75.76%   -0.25%
- Complexity     2663     2747      +84
============================================
  Files           333      351      +18
  Lines         15400    15844     +444
  Branches       2272     2318      +46
============================================
+ Hits          11706    12004     +298
- Misses         2376     2495     +119
- Partials       1318     1345      +27

Impacted Files
Coverage Δ

...pensearch/indexmanagement/util/RestHandlerUtils.kt
100.00% <ø> (ø)

...otification/action/index/IndexLRONConfigRequest.kt
42.85% <42.85%> (ø)

...er/notification/action/get/GetLRONConfigRequest.kt
50.00% <50.00%> (ø)

...ification/action/delete/DeleteLRONConfigRequest.kt
69.23% <69.23%> (ø)

...controlcenter/notification/ControlCenterIndices.kt
75.00% <75.00%> (ø)

...ent/controlcenter/notification/model/LRONConfig.kt
75.29% <75.29%> (ø)

.../controlcenter/notification/model/LRONCondition.kt
75.75% <75.75%> (ø)

...ion/action/index/TransportIndexLRONConfigAction.kt
81.03% <81.03%> (ø)

...ement/controlcenter/notification/util/LRONUtils.kt
82.92% <82.92%> (ø)

...ification/resthandler/RestIndexLRONConfigAction.kt
86.66% <86.66%> (ø)

... and 10 more

... and 15 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

docker security test fail due to docker image is not update to date which not includ Strings refactor change.


Snippets formatting

Code snippets are formatted as inline code instead of code blocks.
Referenced from #14
https://msdn.microsoft.com/visualfsharpdocs/conceptual/query-expressions-[fsharp]
@saldana for visibility.

@hexiaokai for visibility as well.


(Accessibility) Selected card difficult to distinguish

Selected cards have a different border color, but being the border is small it is difficult to tell which card was selected. A few suggestion would be applying a css outline in addition to the border:

Or simply changing the background color:

I really like this suggestion and would be open to a PR.
The file to look at is src/GameBoard/GameCard.jsx


fix: review for code smell, duplicates, IDE notices

I noticed that there were some code smells, duplicates, and IDE notices in the codebase.
Pretty normal stuff, but I wanted to clean it up a bit while we were in there.
Let me know if anyone has any questions.

:tada: This PR is included in version 1.1.8 :tada:
The release is available on:

GitHub release
npm package (@latest dist-tag)

Your semantic-release bot :package::rocket:


add LIMAs

Add 4 concordance statistics proposed by Rey (2016)

Local Tau
Neighbor set LIMA
Neighborhood set LIMA
Inter and Intraregional decomposition of Tau

We should move this to a different branch as there is some refinement and additional testing that need to be fleshed out before this goes into pysal:dev.
Please create a branch "lima" in your repos and you and I can collaborate on that. Once you do, I will close this pr and we will pick up on your branch.


Deploy nuget 3.0.0

[3.0.0] - 2022-03-15
Full Changelog
Breaking Changes

Exceptions module has been moved to PowerUtils.GuardClauses.Validations project so it can be used individually;
ErrorCodes module has been moved to PowerUtils.Validations.Primitives project so it can be used individually;
Error codes for status code 409-Conflict changed from ALREADY_EXISTS to DUPLICATED;
Removed unused property Message from object ValidationNotification;
Removed the constructor ValidationNotification(string property, string errorCode, string message);
Object ValidationNotification named to ValidationFailure;
Interface IValidationNotificationsPipeline named to IValidationNotifications;
Object ValidationNotificationsPipeline named to ValidationNotifications;
Helper ValidationsContractNotificationsErrors named to ValidationsContractExtensions;
Helper *ValidationsContract named to *ValidationRules;
Remove unused property IgnoreProperties from IValidationsContract;

Close this PR to re-open to trigger the sonar pipeline


Migrate from mime_guess to mime_guess2

mime_guess is unmaintained and already missing some important stuff such as JPEG XL.
Also I'd like to contribute to mime_guess2 at some point so that .obj defaults to wavefront rather than tgif (see #3772).
But for that we need to migrate ~egui_commonmark~ egui-extras off of mime_guess first.

I misread the output of cargo tree earlier: egui_commonmark isn't the source of the conflict, it's egui_extras.
I'll make a PR.

We need https://github.com/emilk/egui/pull/3456 to be merged and released now.

Blocked on #4111


Authentication Context Cache - Optimization

Is your suggestion related to an experience ? Please describe.

When we consider the temporary session data types,  the size of the Authentication Context Cache is large. Based on the analysis, we had some suggestions for the optimization of the authentication context cache. We have

Some set of data that is defined in the server which are stored in the session objects.
Entire Identity Provider and Service Provider objects which are also defined in the server.
Some repeated values in a few distinct places of authentication context.

We can optimize the server level data by persisting only the reference of them instead of the entire object.
Describe the improvement

Authentication Context Loader class was created to optimize the authentication context cache object and load the optimized authentication context cache object. We are going to optimize the authentication context object when the context object passes to the authentication context cache class using addToCache method. We introduced some attributes to store the reference in respective classes which have bulk objects and server level data. We are going to set the references in newly added attributes and set the bulk objects as null during the optimization. We are going to load the optimized object by using those references.
Additional context

https://github.com/wso2/carbon-identity-framework/pull/4059

Implemented with https://github.com/wso2/carbon-identity-framework/pull/4446


[0567] Removed old_publish_link_for

Context
Unneeded old_publish_link_for
Changes proposed in this pull request
Removed old_publish_link_for
It is no longer needed.
Guidance to review
Checklist

[x] Make sure all information from the Trello card is in here
[x] Attach to Trello card
[x] Rebased master
[x] Cleaned commit history
[x] Tested by running locally

 Update back links in new publish to point to new publish

There seems to be flaky tests


145 highlight text

@tobiasKaminsky @stefan-niedermann given that #145 is fixed is this branch still needed / shall be merged or to be deleted?

This can be closed and the branch deleted.
This was only to easily reproduce the issue, the fix was in https://github.com/nextcloud/android-common/pull/155 and has been merged into main before version 1.12.0 was released.

Thanks for the quick feedback! 👍


Segmentation Fault when Cellpose is not First Import on M3 Mac [BUG]

Importing any package before Cellpose in a python script results in a segfault when the model is instantiated.
import numpy as np # or matplotlib, skimage ...
from cellpose.models import Cellpose

model = Cellpose(gpu=True, model_type='cyto')

However running
from cellpose.models import Cellpose
import numpy as np # or matplotlib, skimage ...

model = Cellpose(gpu=True, model_type='cyto')

works fine.
To Reproduce
Running in a cellpose conda environment on 64-bit arm M3 Mac.
Installed using https://forum.image.sc/t/cellpose-napari-napari-n2v-installation-and-use/79521/3 but I think same issue with standard installation instructions https://forum.image.sc/t/cellpose-on-macos-m1-pro-apple-silicon-arm64/68018/4 .
Run log
(cellpose) nicholb@CM2WYTVH6V hcr-pypline % python tests/minimal_cellpose_bug.py --verbose
zsh: segmentation fault  python tests/minimal_cellpose_bug.py --verbose

Even this is giving an error -
from cellpose.models import Cellpose

model = Cellpose(model_type='cyto3')
print("done")

Process finished with exit code 139 (interrupted by signal 11:SIGSEGV)

On a M1 Pro Mac with 16GB of memory.

please try the latest cellpose version, let me know if it's still an issue pip install cellpose --upgrade


Provenance table behavior with empty records

Currently, adding provenance with an empty record raises an error.  This behavior differs from tskit-python.  Should we change it?  IMO, it is unclear what the client intended re: provenance here, signalling an error happening somewhere in the work flow?

cc @benjeffery @jeromekelleher -- I noticed that the Python API is fine with empty records for provenance.  However, that's "weird" in a few senses.  Here, I've been raising an error, because one is probably making a mistake by adding an empty entry to the provenance table.  Wondering if this should a.) be changed on the Python side, b.) changed here, c.) neither?

I don't have a strong opinion here @molpopgen - probably the Python behaviour is just an oversight. I wouldn't worry about the inconsistency though, we'll have to be pretty relaxed about what we accept as provenance in practise probably (should we ever decide we want to do something with it, which I'm skeptical about)

Thanks.  In my mind, the only issue that it brings up is that if something is created in Python, and then processed in rust, there's the possibility of getting an error when trying to process a providence row with an empty record.

There's no restrictions made at the C level, so I think Rust will have to assume that there could basically be anything in there.

So right now, we are assuming that valid strings are in there, meaning valid utf8.  Allowing more general notions of "records" will require some tweaking.


Proposal: Device Support

This is a rough overview of a proposed design for device support in Swarm. This is a possible implementation of #1244. The objective is to implement, in a way sensible to the cluster, support for devices. Please note that this is not yet on the road map; this is an early-stage proposal.
For community members, even if you don't or haven't contributed directly to swarmkit:
Does this meet or exceed the community's needs for device support? Is the UI flexible, ergonomic, and easy to use? Feel free to leave a comment explaining what is good and bad about this proposal.
Overview
Devices will be added as a first-class feature of swarm. The user will be able to define device classes, to which devices belong to. The user will be able to register devices on specific nodes, indicating to what class the device belongs to and what path the device is located at. The user can then specify device classes that a task needs to execute, and the swarmkit scheduler will assign a device to the task and place the task on the node with that device.
Goals
The goal of this proposal is to implement the most basic device-aware scheduling system, to swarmkit to fully support devices in a clustered environment.
Non-Goals
Non-goals of this proposal are to support things like security profiles or permissions. Additionally, though the device management workflow presented in this PR is a bit onerous and requires manual registration of devices, implementing automatic device detection and registration is out of scope.
Detailed Design
Data Model
The basic data model of devices is as follows:

Device Classes represent a set of interchangeable and equivalent devices equally suited for scheduling. All devices belong to exactly one device class.
Individual devices will be registered belonging to a class on a per-node basis. Once registered, a task may be assigned to use them.
Task Specs will be updated to include the desired device classes and attachment options.

Devices are host-specific resources, but different devices on the same or different hosts may possibly be treated as interchangeable or equivalent. For example, many nodes in the cluster could possibly be attached to some GPU. Though the actual GPU on different nodes may be different, and there may even be more than one GPU per node, their functionality is equivalent, and any of these nodes is an equally suitable candidate for scheduling. Further, some devices should only be used by one task in the cluster, whereas others can be shared between as many tasks as needed.
Device classes are the object that represents the top-level concept of a device. Tasks can only specify devices in terms of device classes they desire. The specific device chosen is the prerogative of the swarmkit scheduler.
The individual devices available are a property of the node. A node may have as many devices specified as necessary. In keeping with the security pattern of not trusting workers, devices are always registered through the swarmkit manager, never self-reported or self-discovered.
Task Specs will include a list of device classes and options desired, including where in the task’s file system to place the device. Tasks must be prepared to accept any device in the class as equivalent. When a task is created, it will have the full run-time device parameter included in the object.
User Interface
Adding devices will introduce a new command and subcommands for the management of devices. The first command, and the biggest change, will be to add new subcommands to manage device classes:
Usage: docker swarm device COMMAND

Manage Swarm devices

Commands:
  add      Add a new device class to the swarm
  ls       List device classes on this swarm
  inspect  Show information about a device class and its devices
  rm       Remove a device class from the swarm

The add command adds a new device to the the swarm:
Usage: docker swarm device add [OPTIONS] CLASS

Add a new device class to the swarm

Options:
     --shared      Allow this class to be shared between tasks
     --label list  Set metadata on this device class

The ls command will allow listing all available device classes
Usage: docker swarm device ls [OPTIONS]

List device classes on this swarm

Options:
  -q, --quiet   Only display IDs
  -f, --filter  Filter output based on conditions provided

The inspect command will allow showing full information about device classes, as well as allowing the user to include all devices currently registered belonging to a device class.
Usage: docker swarm device inspect [OPTIONS] CLASS [CLASS]

Display detailed information one one or more device classes

Options:
  -f, --format string   Format the output
      --pretty          Print the information human friendly
      --devices         Include devices belonging to this class

The remove command is similar to all other rm commands, and its usage is obvious, with the caveat that removal of a device class will be disallowed if a device is in use by task. There is no update command, as device classes will not be treated as updateable.
To manage particular devices on nodes, the existing node update command will receive new flags:
--device-add device  Register a device on a node with the swarm
--device-rm device   Deregister a device with the swarm

Similar to other options like ports and volumes, devices will accept both short- and long-form versions.
The short form will take the format target:class, where path is the path of device on the host, and class is the device class to register with. as such
--device-add /dev/nvidia0:gpu

The long form of the command allows specifying these options independently, and allows future expansion of options for devices (such as host-specific cgroup options):
--device-add target=”/dev/nvidia0”,class=”gpu”

The device rm option for node update acts as expected, but will disallow removing a device that is in use.
Services would also support new flags. Service create will have a new option, --device, with both a long form and a short form. The short form will be reciprocal of the the --device flag on the node, taking the form class:path. It will also optionally support a third rwm field, mirroring the --device flag on docker run. The long form will take discrete arguments, and allow the user to specify cgroup options as supported in th
The short form, for mounting a GPU:
--device gpu:/dev/nvidia0

Services would also support a long form of the command:
--device class=”gpu”,path=”/dev/nvidia0”

Note: the long form of the command could possibly support further cgroup options, as allowed in the docker REST API for container creation.
Service update would include --device-add and --device-rm flags. --device-add syntax will be equivalent to the --device flag of create.  Because a task may have more than one device of a class mounted into its running container, --device-rm would require both the class and path of the device to disambiguate the specific device that is to be removed.
--device-rm class=”gpu”,path=”/dev/nvidia0”

REST API
The Docker engine REST API would require a new set of endpoint to accommodate the concept of device classes. These endpoints would return the JSON representation of the objects described in the example Protocol Buffers. These endpoints would be as follows:
GET    /devices             List device classes
POST   /devices/create      Create a new device class
GET    /devices/{id}        Inspect a device class
POST   /devices/{id}/update Update a device class
DELETE /devices/{id}        Delete a device class

Protocol Buffers
In swarm, protocol buffers define the internal API and object structure.
The DeviceClass proto will form a new top-level type, like a Network or a Service. It will have an ID and a name.
// DeviceClass is a specification for a particular device, zero or more of
// which may be available on the cluster. It refers to the general class of
// devices that the user wishes to be assumed as interchangeably usable. For
// example, a cluster may have many possible block devices on many nodes, but
// any of them are valid. The specific implementation of a specific device on a
// node is provided by the node. A particular device may only belong to one
// device class.
message DeviceClass {
  string id = 1;

  Meta meta = 2 [(gogoproto.nullable = false];

  // Shared represents whether this device can be shared between many tasks, or
  // whether it should be uniquely mapped to a particular task. Shared devices
  // may have any number of tasks assigned to them.
  //
  // Note that Shared has strong security risks; shared devices may be used by
  // tasks to communicate with one another.
  bool shared = 3;
}

The Device proto is included as a repeated field on Node specs. It defines a particular available device belonging to a class.
// Device represents a particular available device on a node. It is one
// particular instance of a DeviceClass, and is interchangeable with other
// devices in the DeviceClass
message Device {
  // DeviceClassID is the ID of the device class that this device belongs to.
  string device_class_id = 1;

  // PathOnHost is the path in the host's filesystem that this device should be
  // mounted from.  For example, a block device may have this value as
  // "/dev/sda". A particular device may belong to only 1 device class;
  // assigning a device to more than one class may cause it to be conflictingly
  // scheduled.
  string path_on_host = 2;
}

The DeviceAttachmentSpec is a repeated field found in the TaskSpec proto, and defines the devices that a task should be attached to.
// DeviceAttachmentSpec represents the spec for a device attachment
message DeviceAttachmentSpec {
  // DeviceClass is the ID or name of the device class that is to be used for
  // this spec. The actual device may be any device of this class on any node.
  string device_class = 1;

  // Path represents the path in the task's filesystem that this device should
  // be mounted at.
  string path = 2;

  // DeviceCgroupRules represents the cgroup rules that should be applied to
  // this device.
  repeated string device_cgroup_rules = 16;
}

The DeviceAttachment is a repeated field on Tasks which defines specifically the run-time parameters of a device attachment for a particular task.
// DeviceAttachment represents the run-time configuration of a device in use.
// It includes both the path on the host and the path in the Task of the
// device, because a Task may have many devices of the same class reserved, and
// those reservations would be otherwise indistinguishable.
message DeviceAttachment {
  // DeviceClassID is the ID of the device class used for this device
  string device_class_id = 1;

  // PathOnHost is the path on the host's filesystem of the device to be used
  // by the task.
  string path_on_host = 2;

  // PathInTask is the path in the task's filesystem that the device will be
  // mounted at.
  string path_in_task = 3;

  // DeviceCgroupRules represents the Cgroup rules that should be applied to
  // this device.
  repeated string device_cgroup_rules = 16;
}

Swarmkit Implementation
The device allocator will be implemented as a sub-component of the Scheduler. It will be created when a scheduler is created, and keep track of the available devices in the cluster. Scheduling for available devices forms part of the constraint-solving portion of the scheduler.
Task updates present a difficulty for devices. If devices in the class can be shared between tasks (marked --shared), then there is not problem. However, the start-first update strategy would fail if there were not at least one device in a class available, such that the new task could start with a fresh device, allowing the old task to shut down and free its in-use device. There is no easy solution for this, I think. We should instead document thoroughly that using start-first with devices may cause trouble.
Error Handling
Because of the nature of distrusting the workers, it is difficult or impossible for swarm to “prove” that a given device exists on a node, or performs as the user expects. Swarm will therefore make no attempts to verify the correctness of provided user data. If a device is mistakenly assigned to the wrong class, or if it does not exist at all, the task is expected to fail to start. It should enter a terminal state of FAILED and should include an error message explaining that the errant device is at fault.
Notably, in this proposal, there will be no attempt to “downweight” or otherwise attempt to avoid a node with a failing device. This functionality may come later, but not as part of this proposal.
Security
It must be understood that once on the host, swarmkit has no control over how a task uses devices. If improperly used, devices can be an extreme security hole for swarm tasks. For example, mounting block devices may allow read or write access to all of their contents. If the host’s primary block device were mounted into a task, that task could have full access to the host filesystem.
About Generic Resources
Swarmkit currently includes a feature called “Generic Resources”, which serves to allow scheduling based on kinds of resources. The design doc for Generic Resources [2] outlines their use, which overlaps with the use case of this proposal. Specifically, Generic Resource already keeps track of resources which are available and in use on a cluster.
However, GenericResource has a notable deficiency: it lacks context about the runtime usage of a particular reserved resource. Essentially, a task is only informed of a resource at runtime, and the swarmkit worker has no way to know how to make use of a particular resource, which makes the feature quite useless.
The obvious solution would be to include in the TaskSpec instructions for how to make use of a resource. However, this puts the information about how to use a resource separate from the information about what resource is required. A TaskSpec might, for example, request in its ResourceReservations 3 GPUs, but in its ContainerSpec in a hypothetic Devices field, only use 2 of them, leaving 1 wasted. Or, alternatively, a TaskSpec might include instructions for mounting an audio device, but not include a reservation for one. This means that run time checks would be needed to make sure that the requested resources match the runtime instructions for using resources. Instead, this proposal uses the type system to make this kind of mismatch impossible to express.
Additionally, we cannot simply annotate or augment the GenericResource type in the task resource reservations, because the same type is shared between the TaskSpec (requested resources), the Task itself (assigned resources), and the Node (available resources). The same type is used to express which resources are available, which resources are assigned, and which resources are requested. However, these types all serve different purposes. Available resources don’t need to be aware of how they should be used by a task and requested resources can’t be aware of what resource will be assigned. This means that fields on the GenericResource would either mean different things in different places, or there would only be a subset of fields in use on any given object.
[2] https://github.com/docker/swarmkit/blob/de950a7/design/generic_resources.md

While I cannot claim to know anything about the implementation or protocols, I can say that this is a desperately needed feature for any sort of IoT development for which current solutions (however clever) are insufficient.  +1 due to that.
The user interface that's proposed also seems fairly intuitive. My question is, would this then support docker-compose files?

I don't have a design for compose support, but I imagine it would be straightforward. You would just include devices in a service definition, like you do networks or ports. Something like this (very rough, not part of the proposal):
version: '3'
services:
  iot:
    build: .
    ports:
     - "5000:5000"
    volumes:
     - .:/datastore
    devices:
    - target: sensor
      path: /dev/sensor

The only open question is whether a compose file should also be able to define device classes and devices per node. That's a better question for the compose team, after we've passed this phase of design.

@dperny I like the plan, would be great to see this!

@dperny This would cover our needs for using hardware security modules in containers. I cannot find anything wrong in the proposal.

I'm... kind of a doofus? And totally forgot that swarm supports Generic Resource constraints, design doc here: https://github.com/docker/swarmkit/blob/master/design/generic_resources.md
This work, which everyone seems to have forgotten even happened, handles the difficulty of managing which resources are in use on which nodes and by which tasks, which is the more complicated part of this proposal.
However, there is a big problem with the generic resources: the resource availability is decoupled at the data model from the way the resource is used. Essentially, you can keep track of which and how many resources a node has, but not how to actually make use of those resources. This is an explicit non-goal of the Generic Resource design. Quote,

As swarmkit is not responsible for exposing the resources to the container (or acquiring them),
it needs a way to communicate how many generic resources were assigned (in the case of
discrete resources) or / and what resources were selected (in the case of sets).
The reference implementation of the executor exposes the resource value to
software running in containers through environment variables.
The exposed environment variable is prefixed with DOCKER_RESOURCE_ and it's key
uppercased.

This implies that tasks should be responsible for requisitioning their own resources at run time. However, this is impossible for devices. A task, from within a container, cannot attach devices after it has started. So the task has an awareness of what resources are available to it, but no actual way to make use of them. This basically explains why nobody uses this feature; the only way to do so would be to create tasks mounting the docker socket that spawn new containers.
The executor will have to be aware of how devices are accessed for devices to work. The responsibility for putting those devices into the task will have to live entirely within the agent.
I'll need to rewrite this proposal to accommodate this existing GenericResource feature, so we don't have two overlapping features with different but similar purposes.

I'm poking at how to leverage the existing GenericResource code, and it's honestly not that sensible. The use case is too different. The amount of mogrification to the GenericResource concept that one would have to do is untenable.
Honestly... GenericResource isn't a super sensible implementation anyway. It totally decouples a task's resource demands from the actual use of resources, which is a serious problem. If a Task reserves a resource, but does not have any way to use it, the resource is wasted. However, if a Task specifies how to use a resource, but no such reservation was made, then the Task will fail in strange ways.
I think, despite the slight duplication of efforts, the use case for actually using devices is sufficiently different to warrant a separate design.

Updated the design document to include section on GenericResource

@dperny Any update on progress for those of us who are eagerly waiting?

Yes, I'm gonna do it, I just keep getting pulled away on other things internally. But it's gonna happen. Soon™.

Any updates or timeline? Thanks!

is any progress about this issue?

Seems not ^^

i had a bunch of free time for a little while, and then it rapidly became not a bunch of free time, and now i'm doing other things. i'm really sorry, i started promising this a year ago and i feel The Guilt over not delivering on it.

@dperny Please do not feel any guilt. No matter how snarky the comments from people like @flopon are (and I am sure he didn't mean to put any pressure on you), without throwing loads of money towards you there is no right to expect any progress.
Please do not ever feel bad for not delivering on a ticket on an (mostly) OSS project. Your work is highly appreciated and please do not let any comments get your motivation down!

i mean, i am having loads of money thrown at me, it's just being thrown at me to work on other features.

No problem @dperny.
I would really like this feature to be developed, which in my opinion would make swarm the orchestrator of choice for IoT, but I'm not going to put the pressure on you. If it is not possible we will do otherwise, as always.
But I admit that I'm a little worried about the lack of attention on swarm: as I tend, for example, to validate the choice not to implement the "depends_on" function in swarm, here I have more the impression that swarm is no longer a priority project.
I hope that I am wrong, and that we will have news of this feature in a while!
By then, good luck for your current projects!

@flopon I moved my stuff to the Balena platform and it has been awesome for me. It’s still all the docker goodness but with proper support for devices, multicontainer orchestration, and it even makes flashing the device easy. It’s worth checking out.

do you have Device supporting (new device like GPU, FPGA, etc) solution for single machine, without cluster? this is simple scenario for Device supporting.

I would also like to see this feature. I would like one of my containers in my service stack to have access to i2c. Still researching whether I can leverage k8s to achieve similar results. At most I have found https://github.com/kubernetes-sigs/cri-o/pull/1882 which was in V1.13.0 of cri-o which seems to support "additional devices", but I'm not familiar with cri-o or how it interfaces with k8s.

Since #1030 will soon be available does it make sense to tackle this next? Having services that may need special access to devices makes scheduling a lot easier

I know too little about swarm mode for now to know if this has been covered in this thread.
Let say a node has 10 serial ports (/dev/ttyO{0..9}).
Would this proposal let me spawn 10 containers that would each grab 1 device from this device pool and start working?

Do we have any Docker-EE customers that require this?  If so, can you raise it through your special channels?
Unfortunately, my only use case is Plex using the /dev/dri for hardware encoding.

Not an EE customer, but I'd also like to see this.  I'd like to run my home automation platform in swarm mode, but currently it can't get at the zwave dongle.

I would definitely want this feature. Currently this blocks docker stack deployment for most use cases that requires device mapping :(

To all:
Balena is a great solution and is open source.
On Sat, Nov 16, 2019 at 8:58 PM Harry Lee<EMAIL_ADDRESS>wrote:

I would definitely want this feature. Currently this blocks docker stack
deployment for most use cases that requires device mapping :(
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/docker/swarmkit/issues/2682?email_source=notifications&email_token=AFIKHA5OQO2VVBYMDORKVDDQUC6OTA5CNFSM4FIAAKKKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEEIBGCI#issuecomment-554701577,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFIKHA34TLEYPVIJNEWXWN3QUC6OTANCNFSM4FIAAKKA
.

Why are talking about balena ? Banela doesn't even have swarm support.

@dperny I'm afraid to ask, but any updates?

it's not on the roadmap but i haven't forgotten about it. volume support is at the forefront, and if that proceed much faster than expected, then i'm planning to lobby to do this next
that said, you could build it, if you wanted to!

Another use case is running Google's cAdvisor with OOM-detection, which requires access to /dev/kmsg.

Any progress on this? Docker-compose will (hopefully) have it soon: https://github.com/docker/docker-py/pull/2471
Does that help in any way?

is the devices functionality alreday available in the swarm mode ???? if not how could i hack it  i would like to access  dev/video on a pc and pin usb port on the raspberry pi

@dperny - Any update on this? Really hoping this is on the roadmap for swarm?

I understand you may not want to hear yet another  "any updates?" from me... Yet, with this issue running for years now, it would really be nice to hear something like "yea, we will deliver it in Q1 2021" or whatever is the plan for it or "no, we're not implementing this, swarm is not for you if you need to access devices". It'd really help making informed decisions.

Okay, now I realize the magnitude of the problem, the project is apparently silently deprecated, looking at the support. I'm gonna start migrating to Kubernetes and would advise others to consider doing the same.

I really don't think the project is deprecated at all￼

@prologic What makes you think so? :astonished:

@prologic What makes you think so? 😲

Oh I dunno, the fact that there were 5 fixes/enhancements in in Docker Engine two versions ago in 20.10.5? 🤷♂ Some of which were long awaited feature requests?

@prologic I admit, that I didn't expect docker engine getting updates in 2021, but still according to changelog link you sent and also according to Github there is no change for docker engine in 20.10.5.
Anyway, I am happy to be proven wrong that Docker is dead. So there is still some hope. That's always good to hear.

@prologic I admit, that I didn't expect docker engine getting updates in 2021, but still according to changelog link you sent and also according to Github there is no change for docker engine in 20.10.5.
Anyway, I am happy to be proven wrong that Docker is dead. So there is still some hope. That's always good to hear.

Just because it doesn't see any new hot 'n shiny new features doesn't mean it's dead 😀 -- Just because Kubernetes is getting all the attention also doesn't mean Docker is dead or somehow worth less. In fact AFAIK Kubernetes still uses Docker as the default container engine anyway. 🤷♂

Well, Docker is now considered deprecated in Kubernetes and will switch to unsupported in some of the next version this year.
The Kubernetes clusters I work with switched from Docker almost two years ago and with the recent deprecation of it as a container engine and rumors about it being sold and killed I thought the development is close to zero...
I am using Swarm on my cluster of Raspberry PIs at home as I love it's simplicity and it is also not a resource hog as Kubernetes is for these small SBCs.
Issues like this one are driving me in K3s way though...

I dunno @johny-mnemonic I think the reason for Docker's deprecation in Kubernetes is more "political" than "technical". But what would I know 🤷♂ 😂
OTOH Docker is Open Source Software. Anyone is welcome to contribute to it. There is absolutely no reason Docker as a software, platform, set of libraries (whatever) should die -- But this happens all the time in open-source. I guess it's human nature? 🤔

Yeah, I don't know either.
My bet is, that since containerd was taken out of Docker, there is no reason why would Kubernetes even wanted to use Docker. The only thing it needs is engine capable of running containers and that's containerd. Most of other features Docker have are of not much use for Kubernetes.

There are no updates on this issue? @dperny the last message from you in this thread is over a year ago. maybe something has changed?

Volume support wrapping up soon, this is probably next on the list (but might not be).

Volume support wrapping up soon, this is probably next on the list (but might not be).

@dperny Where can I follow the volume support development?

This issue was updated six months ago, could you tell me is the problem solved now please? I urgently need to mount the device in swarm mode.

@se7enXF If you need it urgently, you can use workaround and use a wrapper service which runs your container: https://serverfault.com/a/1089792

@se7enXF If you need it urgently, you can use workaround and use a wrapper service which runs your container: https://serverfault.com/a/1089792

Thank you for your advice. In reality, I need to use compose-file to start the service, so the method you propose is not applicable.

@djmaze Thank you for your advice. In reality, I need to use compose-file to start the service, so the method you propose is not applicable.

@se7enXF And I guess this doesn't count as using a compose file?
version: "3.7"

services:
  app:
    image: docker
    command: docker run --rm --device <DEVICE> <IMAGE> <ARGS>
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro

I've created a docker plugin for this but unfortunately I do not know how to make it work for cgroup v2 yet. If you are using a cgroup v1 OS like alpine to run docker swarm then this plugin may work for you https://github.com/allfro/device-volume-driver

I sent a chain of PRs which implement something like this at https://github.com/moby/swarmkit/pull/3106 (see also https://github.com/moby/swarmkit/issues/1244#issuecomment-1364595389).
But, I didn't go so far as to actually do everything in this proposal, instead opting for the plain plumbing which is done for other options. I personally feel like this is fine.

I would also like just a basic implemetation to start. Just something that i can work with. I accept the risks associated with that.
To me its better to have a simple version and let others guide the focus of development than go fully featured in one go. You may find that half of the implementation goes unused.

everybody ready for this christmas present :)

...


Insecure source code functions have been used in the binary

Environment
Xcode version: 12.5
Firebase Pod version: 8.1.0
Firebase Component: FirebaseCrashlytics
Language: Swift
Problem
We are using the firebase for push notifications in our application.
Our penetration testing team have found out that some insecure source code functions are being used in the application(strlen, memcpy and malloc) which is found in the firebase library in the below functions:
strlen:
FIRCLSBinaryImage
FIRCLSDataParsing
FIRCLSDwarfUnwind
FIRCLSFile
FIRCLSInternalLogging
FIRCLSMachOBinary
FIRCLSUtility
FIRCLSMachO
FIRCLSReportAdapter
FIRCLSUtility
pb_decode.c
Could you remove these from the Firebase library in your upcoming release or if it is required, could you let us know why it is required?

The answer at https://github.com/firebase/firebase-ios-sdk/issues/905#issuecomment-372387613 likely still applies

@HariIDPal can your team elaborate on where uses of these functions may be insecure?

I will update more information.


https authentication support

This addeds two-way https authentication. If the flag -tlscacert is used, docker client will authenticate the server based on this. CA as well as docker daemon will authenticate clients based on this CA.
This closes #1745
This does not support unauthenticated HTTPS because I don't really see the need and it makes the flag/user interface much harder to understand. So -tlscacert is what enables https and docker will accept remotes only if signed by that CA.
This PR also includes a basic https integration test. I'm happy to add more test cases (at least some invalid certificate for both server and client), but since I struggled hard with the tests and I'm not very happy with them, I would like to get some input on what I have so far.

The basic authentication on docker private registry using nginx is real tricky one.
Not sure if that really works with docker client.
I have docker registry running on a ssl enabled server. I am using nginx to enable ssl and configured the basic authentication too.
The curl works find to connect to registry and get response. Where as the docker client can't go through with the following error message :
Error response from daemon: Server Error: Post https://example.domain.com/v1/users/:
x509: certificate signed by unknown authority
I have figured out that the docker won't work with self signed certificates and hence created a CA certificate and used the same, still the same issue.
Am I missing anything here or is it a bug?

@paturuv have you looked in current open issues? A quick search for "x509" in the open issues showed some other people having problems getting it to work; https://github.com/docker/docker/issues?q=is%3Aissue+is%3Aopen+x509 perhaps those contain useful information to get it working.

Hi-
Thank you so much pointing me to the issues log, that helped in resolving the login issue.
Thanks
Venkat
Sent from my iPhone

On Jan 19, 2015, at 6:24 PM, Sebastiaan van Stijn<EMAIL_ADDRESS>wrote:
@paturuv have you looked in current open issues? A quick search for "x509" in the open issues showed some other people having problems getting it to work; https://github.com/docker/docker/issues?q=is%3Aissue+is%3Aopen+x509 perhaps those contain useful information to get it working.
—
Reply to this email directly or view it on GitHub.


Consider better ways to create variance matrices

The current method is to create them via a classmethod, but perhaps a factory object would make more sense, especially for selection routines that use them. The classmethod strategy to create objects is also not mutually exclusive with the factory strategy. Both can be used.

I have created factory classes for the Variance Matrix family of classes in a new branch which will eventually be merged. The use of these classes in selection methods makes things substantially easier.


Update versions

Waiting for lightning release.

Just as a note to the reader: it was decided to let check-catalyst fail (which is ok) since we only care about the wheels. This will avoid changes being merged back to main.


date added in navbar

@mnosov622
Description:
Current date added in navbar both in desktop and mobile
Issue: #6
Screenshot:

Logo is moved, could you fix it ?

@mnosov622 ,
I can see date been added to navbar by you, please close this issue. hereafter dont raise new issue and assign someone when you can do it by yourself

Hi !
I'm sorry. With your PR logo was moved :(


Update governance.md

Add Santiago Soler (@santisoler) as a co-director of operations for SimPEG.
Santi's contributions to SimPEG include improving documentation of code (e.g. simpeg/simpeg#1192) and for the community (e.g. simpeg/simpeg#1247), code quality (simpeg/simpeg#1200, simpeg/simpeg#1202, simpeg/simpeg#1238 are just a few!), refactoring and improving the clarity of code (e.g. simpeg/simpeg#1241), adding features to improve interoperability with fatiando and other communities (e.g. simpeg/discretize#325). He is leading the BIRS 2023 workshop and playing an important role in supporting the community.
I would like to nominate Santi as a co-director of operations for SimPEG and to give him administrative access to SimPEG on github. I have chatted with both @santisoler and @jcapriot about adding Santi as an admin to the SimPEG org, and I would like to use this pr to formalize this.
@rowanc1, @sgkang, @jcapriot and @santisoler: could you please indicate if you support adding Santi as an admin and co-director of operations for SimPEG with a 👍 and / or comment below? If you have any questions or concerns, please feel free to reach out to me. I would be happy to chat.

I am so glad to hear @santisoler is stepping up and playing an important role for the SimPEG community.
Two thumbs up for including @santisoler as a co-director of SimPEG!

Thanks @lheagy for the offering, and @jcapriot, @sgkang, @rowanc1 for accepting me. I gladly accept this role!

Is this ready to be merged? Are there any changes to be made?

I'd like to see a better distinction in duties personally. Just to be transparent, when Lindsey and I originally discussed this we had talked only about adding you as an administrator for simpeg.
We had wanted to discuss how the running of simpeg should work in the future and if the current model needs updating when multiple people from multiple organizations have a role (e.g. do we move to a steering council type approach?)

Thanks so much to @jcapriot, @santisoler, @rowanc1 and @sgkang for the constructive conversations about making some updates to our governance structure. I will respond here in light of the comments above and then create a couple of pr’s (to follow soon!).
First, with respect to the title of “Director of Operations”: this title was when Joe came to UBC GIF. This role combined technical leadership in SimPEG with the deliverables and needs of the GIF research group. But now, we have expanded in the folks who are contributing to core maintenance (thrilled to have Santi’s leadership in SimPEG too🚀), and we have core maintainers at multiple institutions, so having a singular title doesn’t work. Also, the “Director” naming mixes a title that describes responsibilities with a way to give attribution and acknowledgement of contributions in SimPEG. To update the role descriptions, here is the plan:
Retire the title of “Director of Operations.” The role of Maintainer replaces the Director of Operations role and focuses the scope to SimPEG and the responsibilities of a Maintainer. In the upcomig pr, we will outline the responsibilities of being a Maintainer and GitHub Admin in the SimPEG organization. This is the group of people with the ability to merge PRs, and have access on conda-forge, pip, etc (We can use the PR to flesh out the Maintainer description). Currently, @jcapriot and @santisoler are Maintainers of SimPEG. They both have admin permissions in the project.
Next, we should explore creating a SimPEG Distinguished Contributors award: this can be an avenue to acknowledge long-standing contributions to the project and is something that people can put on their CVs. This is where we attribute and celebrate contributions. To initiate this discussion, I will start a separate PR with suggestions for how we set this up and ask for input from the community on how we nominate contributors as well as bootstrap this for the first year. I think an important piece will be to include a citation (much like other awards) so that we can describe the contributions. This is loosely modelled after the Jupyter community.
The current model then falls back to a BDFL style in all but name. Few other open-source projects use the “Managing Director” title (and “Director” in both cases feels a bit corporate for an open-source project). We will also remove the “Managing Director” title to align this with other open-source communities and stick with BDFL.
Overall, this is primarily a renaming of the existing roles in the project, and better identifying contributions and responsibilities. Strategic decision-making happens as we do it now – over PRs and in SimPEG meetings. With the formalization of an admin role, we aim to increase the capacity of our community and continue to improve and solicit contributions. Over the coming years, we can consider a steering council approach, especially as more lab groups are formally and financially dependent on SimPEG. However, the project funding base is primarily from a single institution at the moment, so continuing with a BDFL model for the time being keeps the governance and formality lightweight. Ideally, governance should be a structure that is there in the background, but there when we need it. Decisions are first and foremost made with the community. To help promote opportunities for strategic thinking about the project and community, I will start one more pr where we can add a document that helps us track and initiate semi-regular meetings dedicated to strategic thinking.
I am excited about the steps we are taking here as the project and community continue to grow!

Shall we close this PR in favor of #18 then?

closing in favour of #18


prepare v5.1.0

New stuff

✨ add !links command (#1236)

Updates/Changes

✅ Properly handle inventory fetch (#1228)
✅ Allow Discord bot to chat with non-admin (#1234)
🛑 Throw an error on reptf returns invalid response message (#1235)

Fixes

🐛 Fix html not filtered in log (v5.0.1 extension, dce09f9, 632793b)

Just saw your review request on #1234. Since it was already merged, will leave it here.
As I understand right now, steamID.type === 0 is being used when we work with quasi-id (which doesn't have actual steam ID). Probably it's good. But I don't understand, do you allow !message for Discord non-admin user: on one side, you're blocking it , but on the other hand, you mentioned it in .
Also I see two problems with code quality, which I can fix:

The try-catch duplication  can be easily simplified.
I have a feeling that  requires some logging.

Also, when I was implementing redirectAnswerTo thing, I thought that it might be used for something other in the future, not just for Discord. That's why I inserted checking for it being instance of DiscordMessage (Message from discord.js). I would make something similar . Right now it's not required, but might be useful in the future.

Thank you for the review.

Just saw your review request on #1234. Since it was already merged, will leave it here.
As I understand right now, steamID.type === 0 is being used when we work with quasi-id (which doesn't have actual steam ID). Probably it's good. But I don't understand, do you allow !message for Discord non-admin user: on one side, you're blocking it here, but on the other hand, you mentioned it in help.

Oh yeah, I think I accidentally include !message together with other available commands. I will remove it (or you can for sure, just create another pull request for it).

Also I see two problems with code quality, which I can fix:

The try-catch duplication here can be easily simplified.

Oh right, just combine altogether. 👍

I have a feeling that this part requires some logging.

Not sure why need some logging. This part will just to make sure to ignore command spam on Discord, as far as I understand.

Also, when I was implementing redirectAnswerTo thing, I thought that it might be used for something other in the future, not just for Discord. That's why I inserted checking for it being instance of DiscordMessage (Message from discord.js). I would make something similar here. Right now it's not required, but might be useful in the future.

Yeah, for now, maybe just stick with this.

Merging...


redirect test 3

Docs Build status updates of commit d8f1420:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel

Docs Build status updates of commit d8f1420:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Zero data row table causes Excel error

If I
sheet.add_table "A1:#{Axlsx::cell_r(header_fields.length,sheet.rows.length-1)}"

when there is only a single row in the range specified  (the header row and zero data rows), Excel 2010 gives me an error upon opening the file (saying it removed a table from the sheet) and the table functionality is indeed not applied to that range.
If I have at least two rows in the range (at least one other data row after the header row), everything works as expected.

this is not an issue with axlsx itself - native Excel doesn't allow zero data row tables either, but it, too, immediately inserts a dummy row when one tries to create a zero data row table.


ALPHA TEST 01. Registration Process

Navigate to https://lasair-dev.lsst.ac.uk, try to create an account and sign in.
CHECKLIST:

can you find the registration page easily?
can you quickly and easily sign-up?
can you login and out easily?
any other feedback or improvements to the sign-up process you can suggest?

Note the registration page has a non-intrusive captcha (see bottom right corner) that can tell whether you are a human or a robot due to the way you interact with the page. Hence I have removed the need for email verification. This speeds up the sign-up process.

Registration appears to work OK (provided the user knows to click on "sign in", which is pretty common) with my default browser settings (Firefox)
Login/logout all looks fine
The sign in page appears to be trying and failing to download fonts from https://lasair-dev.lsst.ac.uk/lasair/static//webfonts/fa-solid-900.ttf and https://lasair-dev.lsst.ac.uk/lasair/static//webfonts/fa-solid-900.woff2 but this doesn't appear to actually cause any problems
The registration page doesn't seem to handle short browser windows properly - the bottom of the page falls outside the broswer window with no scroll bar to access it
I tried disabling scripts on the registration page to see whether it would cause the captcha to fail and it actually caused the username validation to fail (thinks I haven't entered a username when I have) which in turn causes the "sign up" button to fall off the bottom of the display (as in previous note).

Just checked and the short broswer window/no scrollbar problem isn't Firefox specific, I got the same in Safari. Also just tried Edge on Windows and that has the same issue.

As reduced on mac chrome  as well

Great feedback already! Scrolling should be fixed if you would like to test.

The new scrolling works great.

It's fixed on the registration page, but the sign in page still appears to have the same problem (although being shorter it only appears at smaller window sizes).

Sign-up doesn't seem to work from a mobile. Captcha issues.

All worked fine on iPad and Safari (20:20 on 16th Dec). No problem with capchta or scrolling. Very smooth, sign out and in again all ok. Can’t repeat any of the problems listed above

A few notes from me:

The "Username" field prevents the entry of special characters, but the "First Name" and "Last Name" fields do not. While the fields appear to handle the input of special characters okay, we might want to consider restricting the fields to only letters and a few special characters (like hyphens), just like the Username.

Entering something wrong on the form and trying to submit returns you to the form as expected, but there is an extra "This field is required" warning message above the sign-up button. I guess this is related to the hidden CAPTCHA field?

Rather unappetising front page on my phone. Need to click the top right triple-bar before the black menu comes up.

@gpfrancis  I have fixed the missing webfont issue. The console error should now be gone.
@gpfrancis  I have also fix scrolling on the login page (and a couple of other pages with the same issue).
@genghisken  We have all suspected that you are a robot for some time. I have reduced slightly the score required from the captcha to prove you are human. Hopefully you can signup now?
I have now added the 'Lasair Privacy Statement' that Roy was strong-armed into adding to the registration page. New users are required to confirm they have read the statement before being able to register. Navigate here and click on the 'Lasair Privacy Statement' link above the sign up bottom to read.
https://lasair-dev.lsst.ac.uk/register/

It would be good to get an acknowledgement email of registering so if someone did sign you up for an account and you didn't want one that you would be notified so one could take action

Thanks @mschwamb. @RoyWilliams requested email verification be added back into the workflow too. Unless others voice a strong opinion to the contrary I will readd it to the signup process.

Howdy all. A bit late to the party... got overtaken by christmas and flu! Using Safari on Mac:

Finding sign-in / sign-up page: at first it was hidden by Dave's techy sidebar, but I guess eventually that won't be an issue..

signing up: complained about short password; that's standard of course. Fixed that, but I got a HUGE long error page complaining of "integrity error". I can't figure out how to attach a file here, but I can email it if you want it. ... however, after ignoring this, I could log in with the name/pw I just created with no problem!

logging in / out did this multiple times, including after closing tab etc.

Like others, I think email verification would be positively good. People expect it and its re-assuring that things are working.

Thanks @andyxerxes. Please do send me the integrity error screengrab!


impellerc flaky failing build on Windows in engine CI

An example is here https://ci.chromium.org/ui/p/flutter/builders/prod/Windows Unopt/5930/overview
FAILED: gen/flutter/impeller/entity/genlib_gles_entity_shaders.shaderblob
C:/b/s/w/ir/cipd_bin_packages/cpython3/bin/python3.exe ../../build/gn_run_binary.py blobcat.exe --output=gen/flutter/impeller/entity/genlib_gles_entity_shaders.shaderblob --input=gen/flutter/impeller/entity/advanced_blend.vert.gles --input=gen/flutter/impeller/entity/advanced_blend_color.frag.gles --input=gen/flutter/impeller/entity/advanced_blend_colorburn.frag.gles --input=gen/flutter/impeller/entity/advanced_blend_colordodge.frag.gles --input=gen/flutter/impeller/entity/advanced_blend_darken.frag.gles --input=gen/flutter/impeller/entity/advanced_blend_difference.frag.gles --input=gen/flutter/impeller/entity/advanced_blend_exclusion.frag.gles --input=gen/flutter/impeller/entity/advanced_blend_hardlight.frag.gles --input=gen/flutter/impeller/entity/advanced_blend_hue.frag.gles --input=gen/flutter/impeller/entity/advanced_blend_lighten.frag.gles --input=gen/flutter/impeller/entity/advanced_blend_luminosity.frag.gles --input=gen/flutter/impeller/entity/advanced_blend_multiply.frag.gles --input=gen/flutter/impeller/entity/advanced_blend_overlay.frag.gles --input=gen/flutter/impeller/entity/advanced_blend_saturation.frag.gles --input=gen/flutter/impeller/entity/advanced_blend_screen.frag.gles --input=gen/flutter/impeller/entity/advanced_blend_softlight.frag.gles --input=gen/flutter/impeller/entity/blend.frag.gles --input=gen/flutter/impeller/entity/blend.vert.gles --input=gen/flutter/impeller/entity/border_mask_blur.frag.gles --input=gen/flutter/impeller/entity/border_mask_blur.vert.gles --input=gen/flutter/impeller/entity/gaussian_blur.frag.gles --input=gen/flutter/impeller/entity/gaussian_blur.vert.gles --input=gen/flutter/impeller/entity/glyph_atlas.frag.gles --input=gen/flutter/impeller/entity/glyph_atlas.vert.gles --input=gen/flutter/impeller/entity/gradient_fill.frag.gles --input=gen/flutter/impeller/entity/gradient_fill.vert.gles --input=gen/flutter/impeller/entity/solid_fill.frag.gles --input=gen/flutter/impeller/entity/solid_fill.vert.gles --input=gen/flutter/impeller/entity/solid_stroke.frag.gles --input=gen/flutter/impeller/entity/solid_stroke.vert.gles --input=gen/flutter/impeller/entity/texture_fill.frag.gles --input=gen/flutter/impeller/entity/texture_fill.vert.gles --input=gen/flutter/impeller/entity/vertices.vert.gles --input=gen/flutter/impeller/entity/vertices.frag.gles
[ERROR:flutter/fml/platform/win/file_win.cc(365)] Could not create temporary file.
Could not write shader blob to path gen/flutter/impeller/entity/genlib_gles_entity_shaders.shaderblob

Not sure where this started happening. First instance was on a Skia roll, but the commit right before was https://github.com/flutter/engine/pull/33824, which was the change to use impellerc for FragmentProgram API unit tests, so guessing it might be related.

@jonahwilliams I remember you saying you have a Windows machine.

I haven't seen this happen in the past. I'll update to ToT and try again on a few clean builds to see what happens

Yup, this repros.
Could not write shader blob to path gen/flutter/impeller/entity/genlib_gles_entity_shaders.shaderblob

Since tempfile creation fails it might be because the file already exists - i.e. it didn't get cleaned up from a prior run. L365 uses OPEN_ALWAYS to open the temp file, which I think will fail if its already there

or maybe not, that should succeed since we don't check the last error, just if the handle is valid.
maybe multiple steps that use the same temp file are stepping on eachother?

This can be triggered by changing file_win.cc and rebuilding. With more info:
Could not create temporary file: \gen\flutter\impeller\entity\genlib_gles_entity_shaders.shaderblob 3 The system cannot find the path specified.

 (3).

So can't find the file path. @zanderso any pointers 😄

I think something might be going wrong with GetAbsolutePath and/or GetFullHandlePath. Could you add some more logging there?

\gen\flutter\impeller\entity\genlib_gles_entity_shaders.shaderblob  is the result of GetAbsolutePath on L360

This looks similar to the problems I ran into for impellerc while getting impeller_unittests to build on Windows. The solution I employed was to punt the job of path resolution to std::filesystem: https://github.com/flutter/engine/pull/33705

I'm not sure if we're comfortable depending on that or not for fml itself though... and I believe there are no abseil shims yet.

I don't think we should change fml, but maybe impellerc doesn't need to use fml for this?


Launching services from Flake fails due to invalid .devenv directory path

Describe the bug
A clear and concise description of what the bug is.
When trying to launch Devenv's postgresql service from Nix Flake, it fails on following error:
creating directory /.devenv/state/postgres ... initdb: error: could not create directory "/.devenv": Permission denied

To Reproduce
Please provide an sscce by creating a gist using devenv.nix, devenv.yaml and optionally devenv.lock.

Create Flake from Devenv's template

mkdir my-project
cd my-project
git init

nix flake init --template github:cachix/devenv
git add flake.nix

Add postgresql service to default shell

{
  inputs = {
    nixpkgs.url = "github:NixOS/nixpkgs/nixos-22.11";
    devenv.url = "github:cachix/devenv";
  };

  outputs = { self, nixpkgs, devenv, ... } @ inputs:
    let
      systems = [ "x86_64-linux" "i686-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ];
      forAllSystems = f: builtins.listToAttrs (map (name: { inherit name; value = f name; }) systems);
    in
    {
      devShells = forAllSystems
        (system:
          let
            pkgs = import nixpkgs {
              inherit system;
            };
          in
          {
            default = devenv.lib.mkShell {
              inherit inputs pkgs;
              modules = [
                {
                  # https://devenv.sh/reference/options/
                  packages = [ pkgs.hello ];

                  services.postgres.enable = true;  # <-- this line was added

                  enterShell = ''
                    hello
                  '';
                }
              ];
            };
          });
    };
}

Enter default shell and try to launch services

nix develop

devenv up

mkdir: cannot create directory ‘/.devenv’: Permission denied
/nix/store/c2y297vhz9v57r271n3qfsib73xwg6dd-devenv-up: line 22: /.devenv/state/devenv.pid: No such file or directory
15:54:12 system     | postgres.1 started (pid=473927)
15:54:12 postgres.1 | The files belonging to this database system will be owned by user "imincik".
15:54:12 postgres.1 | This user must also own the server process.
15:54:12 postgres.1 |
15:54:12 postgres.1 | The database cluster will be initialized with locale "C".
15:54:12 postgres.1 | The default text search configuration will be set to "english".
15:54:12 postgres.1 |
15:54:12 postgres.1 | Data page checksums are disabled.
15:54:12 postgres.1 |
15:54:12 postgres.1 | creating directory /.devenv/state/postgres ... initdb: error: could not create directory "/.devenv": Permission denied
15:54:12 system     | postgres.1 stopped (rc=1)

Version
Paste here the output of $ devenv version.
devenv version
devenv: 0.5

@imincik, does it work if you launch the shell with nix develop --impure?

@imincik, does it work if you launch the shell with nix develop --impure?

Yes, with nix develop --impure it works OK .
Apparently DEVENV_* variables are not set correctly in pure mode
nix develop

env | grep DEVENV
DEVENV_DOTFILE=/.devenv
DEVENV_ROOT=
DEVENV_PROFILE=/nix/store/mmi1i9hl99r1hc9yacxf76q9pbnpw4cz-devenv-profile
DEVENV_STATE=/.devenv/state

nix develop --impure

env | grep DEVENV
DEVENV_DOTFILE=/home/imincik/Projects/nix/devenv/flake-issue/.devenv
DEVENV_ROOT=/home/imincik/Projects/nix/devenv/flake-issue
DEVENV_PROFILE=/nix/store/9ijy9g28lbn6gb1h46n4n0wipn5ifywf-devenv-profile
DEVENV_STATE=/home/imincik/Projects/nix/devenv/flake-issue/.devenv/state

I think the docs should default to --impure and we should add a note as to why it's needed. This is a design choice/limitation of flakes: untracked files are not accessible in pure mode.

I think the docs should default to --impure. We don't have a way of setting these paths from inside the flake in pure mode right now.