why the image-spec has a vendor directory?

runtime-spec doesn't have it, it doesn't vendor anything at all. Right now, this is breaking code which uses the image-spec with stuff like:
oci/layout/oci_dest.go:142: cannot use digest (type "github.com/opencontainers/go-digest".Digest) as type "github.com/opencontainers/image-spec/vendor/github.com/opencontainers/go-digest".Digest in assignment

I understand this is how golang works, but image-spec isn't going to work as a package this way..
@vbatts can we get rid of that vendoring altogether?

Similar issue: https://github.com/docker/distribution/issues/2130 .
I’d prefer dropping the vendor directory, but if that were not acceptable, at least a type Digest digest.Digest somewhere in the non-vendor parts of the tree would make the type available for casts.

@mtrmac @runcom Do your vendoring tools not remove subvendoring?

@stevvooe we use vndr (used is docker projects as well). The point is not what we use. The point is that packages other than the "main" one shouldn't have a vendor folder at all to me.

@mtrmac @runcom Do your vendoring tools not remove subvendoring?

If a library expects all its consumers to remove its vendored dependencies, then presumably the library does not care which version of those dependencies are used when the library is used in a consumer; in that case the library might just as well not vendor the dependency at all.
(Or, well, perhaps the library expects all its consumers to remove its vendored dependencies, and then vendor exactly the same version into the consumer. That breaks down pretty much every time two different libraries want to use the same dependency, in a diamond dependency pattern, because they are quite unlikely to want to use exactly the same version.)
AFAICT, it’s easiest when library APIs are backward-compatible and never remove or redefine old symbols. If that doesn't happen, vending can mask only some failure cases.


Improve cipher suite, based on Mozilla's TLS recommendations (https:/…

…/wiki.mozilla.org/Security/Server_Side_TLS, via their SSL-Config-Generator). Prefer forward secrecy, with clients selecting the "best" cipher they (and the server) support. While keeping support for older clients, and avoid selecting a cipher on the blacklist for HTTP2 which was the case for some browsers. (Ciphers not yet supported by servers openssl version are ignored).
Fixes sameersbn/docker-redmine#226

Assuming @frank-dspeed  doesn't have any problems with this, I say we merge this pull request.
Though I'd prefer the commit message be reworded to "ugly fix".

Though I'd prefer the commit message be reworded to "ugly fix".

Hmm, I meant to say remove the words "ugly fix" from the commit... my bad.

exec_as_redmine sed -i "/.*:secure => true,.*:key => '_redmine_session'/! s/:key => '_redmine_session'/:secure => true, :key => '_redmine_session'/" ${REDMINE_INSTALL_DIR}/config/application.rb

The first .* isn't necessary. Regex searches the whole line anyways.  Also since we are making this sed more complicated should we add a comment. Maybe something like # Check to ensure "secure => true" isn't already set before inserting it.
Being pedantic here:
Git commit logs should have a 50 character title on the first line, then an empty line followed by a paragraph or more explaining the reason for the commit.
https://chris.beams.io/posts/git-commit/
Avoid adding double "secure" flags for cookies.

Perhaps it would be best to make sure cookies secure flags are always set when using
REDMINE_HTTPS, but I have no time / interest to test the combination of HTTPS enabled
but not secure cookies (proxy?).

This is related to issue sameersbn/docker-redmine#297.

Allow extra flags when checking for secure flag in cookies setting

This will work even if an extra flag is set (":http_only => true,"), which could be located
before or after any possible secure flag but if no such new flag is set it will still ignore
lines with a secure flag already set. Otherwise it will insert a secure flag between the
potential http_only flag and the :key.

This is better than 17b5c04, but still somewhat fragile.
This is related to issue sameersbn/docker-redmine#297.

@jcormier do you think this pull is worth merging befor we go without nginx even? for me it Looks good it simply needs testing @sameersbn did not authorize me to add travis and he don't finished the travis setup so we can't test that :) out of my view we should simple keep that open to add that to the new stuff for the without nginx image

Cherry-picked the commits and cleaned up the commit messages.  Pushed to master


Selectable Software Updates not working with 10.13.3 Supplemental Update

It seems the 10.13.3 supplemental update is not working well with the script, it prompts to install it, and if you do so it immediately goes to reboot but never triggers the install.

Seeing this issue as well. Some details we have found, there is something going on with the name of the updates to download

UpdateName='macOS High Sierra 10.13.4 Update ( )'
echo 'Now installing macOS High Sierra 10.13.4 Update ( )...'
Now installing macOS High Sierra 10.13.4 Update ( )...
/Applications/Utilities/cocoaDialog.app/Contents/MacOS/cocoaDialog progressbar --title '' --text ' Preparing to install selected updates...' --posX center --posY 198 --width 450 --float --icon installer
/usr/sbin/softwareupdate --verbose -i 'macOS High Sierra 10.13.4 Update-'
read line
++ ps axc
++ grep cocoaDialog
++ wc -l
++ sed 's/^ *//'
[[ 2 != \2 ]]
++ echo 'macOS High Sierra 10.13.4 Update-: No such update'

So looking manually we see after softwareupdate -l
Software Update found the following new or updated software:

macOS High Sierra 10.13.4 Update-
macOS High Sierra 10.13.4 Update ( ), 2299964K [recommended] [restart]

Then trying to just download them manually
bash-3.2# softwareupdate -d "macOS High Sierra 10.13.4"
Software Update Tool
macOS High Sierra 10.13.4: No such update
No updates are available.
bash-3.2# softwareupdate -d "macOS High Sierra 10.13.4 Update"
Software Update Tool
macOS High Sierra 10.13.4 Update: No such update
No updates are available.
bash-3.2# softwareupdate -d "macOS High Sierra 10.13.4 Update-"
Software Update Tool
macOS High Sierra 10.13.4 Update-: No such update
No updates are available.
bash-3.2# softwareupdate -d "macOS High Sierra 10.13.4 Update ( )"
Software Update Tool
macOS High Sierra 10.13.4 Update ( ): No such update
No updates are available.
So yeah, have tried playing around with different versions of the update name, nothing seems to work...

Should be fixed by https://github.com/mm2270/CasperSuiteScripts/pull/15


UT3 character models section overhaul

This list aims to provide correct names and list authors for UT3 characters and models. Info taken from various readme's, surviving UT websites and a little bit from memory. Searching info became much harder after Epic Games Forums were shutdown.
PART 1:
Adam (https://unrealarchive.org/models/unreal-tournament-3/A/adam_16cdd566.html): Author - Anderson Cascardi Pinheiro
Alice Beta (https://unrealarchive.org/models/unreal-tournament-3/A/alice-beta_7f8efc89.html) : Author - Michel "INVICTRA" Љpoljar
Alien (https://unrealarchive.org/models/unreal-tournament-3/A/alien_f912135f.html): Name was incorrectly indexed, should be Alien & Tribalien
Alien (https://unrealarchive.org/models/unreal-tournament-3/A/alien_d1d97086.html): Name was incorrectly indexed, should be AlienVsPredator Models Pack
Anubis (https://unrealarchive.org/models/unreal-tournament-3/A/anubis_1e898128.html): Name was incorrectly indexed, should be Smite Character Pack
Balrog (https://unrealarchive.org/models/unreal-tournament-3/B/balrog_0da8555e.html): Name was incorrectly indexed, should be Lord of the Rings Models pack
BE Heavy (https://unrealarchive.org/models/unreal-tournament-3/B/be-heavy_55cf151c.html): Name was incorrectly indexed, should be Tribes: Ascend Models Pack
Bender (https://unrealarchive.org/models/unreal-tournament-3/B/bender_ab4a5286.html): Author - Waz (Justin Wasilenko)
BigSister (https://unrealarchive.org/models/unreal-tournament-3/B/bigsister_2db125bd.html): Name was incorrectly indexed, should be BioShock Models Pack
Blip (https://unrealarchive.org/models/unreal-tournament-3/B/blip_a630dcf5.html): Author - Karl Peel
BumbleBee (https://unrealarchive.org/models/unreal-tournament-3/B/bumblebee_2d06f469.html): Name was incorrectly indexed, should be Transformers V2
Rodents, Mice and Bunnys (https://unrealarchive.org/models/unreal-tournament-3/R/rodents-mice-and-bunnys_bb90784b.html): here's an incorrectly indexed older version, that should be a variation of the main file: https://unrealarchive.org/models/unreal-tournament-3/B/bunny_2f7012e4.html
Captain Juno (https://unrealarchive.org/models/unreal-tournament-3/C/captain-juno_9b1be55a.html): Name was incorrectly indexed, should be Star Wars Models Pack V3
CH_Abaddon_Model (https://unrealarchive.org/models/unreal-tournament-3/C/ch_abaddon_model_99f2e0f0.html): Name was incorrectly indexed, should be Abaddon Head (this is a character accessory)
CH_Alios_04 (https://unrealarchive.org/models/unreal-tournament-3/C/ch_alios_04_332b6313.html): Name was incorrectly indexed, should be Alios
Cheburashka (https://unrealarchive.org/models/unreal-tournament-3/C/cheburashka_f79a9fe4.html): Author - SDX-LV
Cloud_and_Zack__PC__V2 (https://unrealarchive.org/models/unreal-tournament-3/C/cloud_and_zack__pc__v2_340bfb3a.html): Name was incorrectly indexed, should be Cloud & Zack
Crusader (https://unrealarchive.org/models/unreal-tournament-3/C/crusader_2ff40c6f.html): Author - RuneStorm
Crysis (https://unrealarchive.org/models/unreal-tournament-3/C/crysis_2993ca17.html): Author - EvilEngine
damarus_ut3 (https://unrealarchive.org/models/unreal-tournament-3/D/damarus_ut3_33ffd895.html): Name was incorrectly indexed, should be Damarus. Author - ChaZcaTriX
EarthWorm Jim (https://unrealarchive.org/models/unreal-tournament-3/E/earthworm-jim_013f465c.html): Author - TheAntiYou
Faraleth_B (https://unrealarchive.org/models/unreal-tournament-3/F/faraleth_b_ba0a54f3.html): Name was incorrectly indexed, should be Faraleth. Author - kobra_k88 (Khoa Nguyen)
ForeverDuke (https://unrealarchive.org/models/unreal-tournament-3/F/foreverduke_cb382638.html): Name was incorrectly indexed, should be Duke Nukem Models Pack
Harly Elite (https://unrealarchive.org/models/unreal-tournament-3/H/harly-elite_39727c23.html): Name was incorrectly indexed, should be Assassin's Creed Model Pack
Hel (https://unrealarchive.org/models/unreal-tournament-3/H/hel_4b76b559.html): Author - RuneStorm
Homer (https://unrealarchive.org/models/unreal-tournament-3/H/homer_5ea3f766.html): Author - Paul Mahoney
Hulk (https://unrealarchive.org/models/unreal-tournament-3/H/hulk_ef69e3c9.html): Author - Anderson Cascardi Pinheiro
Hyora (https://unrealarchive.org/models/unreal-tournament-3/H/hyora_41c8c883.html): Author - Chris Lee
IK_BARNAKAS (https://unrealarchive.org/models/unreal-tournament-3/I/ik_barnakas_e5d6b97c.html): Name was incorrectly indexed, should be IK-Beester-Skin-Pack. Author - Francis Briau
Infiltrator (https://unrealarchive.org/models/unreal-tournament-3/I/infiltrator_5c91f799.html): Name was incorrectly indexed, should be Terminator
Ironman (https://unrealarchive.org/models/unreal-tournament-3/I/ironman_36b93bc4.html): Name was incorrectly indexed, should be Avengers Model Pack v 2.0
Jaca (https://unrealarchive.org/models/unreal-tournament-3/J/jaca_22ce5499.html): Name was incorrectly indexed, should be Polar and Dumon Soldiers. Auhtor - Rodrigo Banzato
Jack (https://unrealarchive.org/models/unreal-tournament-3/J/jack_3bd7cf80.html): Name was incorrectly indexed, should be Jack Skellington
JC Denton beta2 (https://unrealarchive.org/models/unreal-tournament-3/J/jc-denton-beta2_7aaa3d8b.html): Author - SDX-LV
July (https://unrealarchive.org/models/unreal-tournament-3/J/july_f46f7a04.html): Author - Aberiu. Repackaged duplicate: https://unrealarchive.org/models/unreal-tournament-3/J/july_65121dee.html
K-Rod_2k8_UT3 (https://unrealarchive.org/models/unreal-tournament-3/K/k-rod_2k8_ut3_3efaf136.html): Name was incorrectly indexed, should be K-Rod
KaT (https://unrealarchive.org/models/unreal-tournament-3/K/kat_4cf9c44d.html): Older version, that should be a varation: https://unrealarchive.org/models/unreal-tournament-3/K/kat_72f83d10.html
Kerrigan (https://unrealarchive.org/models/unreal-tournament-3/K/kerrigan_0bb476a2.html): Author - Albatr0s
Leksa (https://unrealarchive.org/models/unreal-tournament-3/L/leksa_333748a7.html): Author - Matthew Hall (TortillaChips)

PART 2:
Linna (https://unrealarchive.org/models/unreal-tournament-3/L/linna_de4873b7.html): Name was incorrectly indexed, should be BubbleGum Crisis Pack. Author - kobra_k88 (Khoa Nguyen)
Lizard Warrior Brown (https://unrealarchive.org/models/unreal-tournament-3/L/lizard-warrior-brown_58e60536.html): Name was incorrectly indexed, should be Vindictus Lizardman
M Paladin (https://unrealarchive.org/models/unreal-tournament-3/M/m-paladin_6f191b09.html): Name was incorrectly indexed, should be Knight Paladins
Malcolm (https://unrealarchive.org/models/unreal-tournament-3/M/malcolm_774cc753.html): Incorrect author. Correct one - Jochen "Slaughter" Bremer (or just Slaughter)
Miyuki (https://unrealarchive.org/models/unreal-tournament-3/M/miyuki_26c8df2f.html): Author - Mel_Danes 2008
Nova Terra (https://unrealarchive.org/models/unreal-tournament-3/N/nova-terra_d7ab8063.html): Author -  urPackage
nyota-ut3 (https://unrealarchive.org/models/unreal-tournament-3/N/nyota-ut3_25bf2867.html): Name was incorrectly indexed, should be Nyota. Author - Apoptoid
Orks (https://unrealarchive.org/models/unreal-tournament-3/O/orks_a7af0d4f.html): Authors - Johannes "Fraeger" Boehm and MisterTrioxin
Orthos (https://unrealarchive.org/models/unreal-tournament-3/O/orthos_3a19b210.html): Author - Apoptoid
Queen Myrrah (https://unrealarchive.org/models/unreal-tournament-3/Q/queen-myrrah_4b2cf20a.html): Name was incorrectly indexed, should be GirlsofGears Models Pack V2
Rankin (https://unrealarchive.org/models/unreal-tournament-3/R/rankin_bd684608.html): Author - Chris Lee
Rose (https://unrealarchive.org/models/unreal-tournament-3/R/rose_0d06de8d.html): Name was incorrectly indexed, should be Rose Lotus. Author - Jusagi~
RuneStorm Skeleton (https://unrealarchive.org/models/unreal-tournament-3/R/runestorm-skeleton_2d3d70de.html): Author - RuneStorm
RuneStorm Zombie (https://unrealarchive.org/models/unreal-tournament-3/R/runestorm-zombie_1607a38b.html): Author - RuneStorm
SC Camo (https://unrealarchive.org/models/unreal-tournament-3/S/sc-camo_d904881e.html): Name was incorrectly indexed, should be StarCraft Marines
selig_motig_remake_ut3_models (https://unrealarchive.org/models/unreal-tournament-3/S/selig_motig_remake_ut3_models_57a7ad3d.html): Name was incorrectly indexed, should be Selig and Motig. Author - ChaZcaTriX
Siegfried (https://unrealarchive.org/models/unreal-tournament-3/S/siegfried_5eb8845f.html): Author - Albatr0s
Sister of Battle (https://unrealarchive.org/models/unreal-tournament-3/S/sister-of-battle_06f3523d.html): Author -  Ivan "iWaNN" Grudinin
Skaarj (https://unrealarchive.org/models/unreal-tournament-3/S/skaarj_000b0f96.html): Name should probably be changed to UT3 Skaarj. Author - EvilEngine
Solkova (https://unrealarchive.org/models/unreal-tournament-3/S/solkova_dff05eda.html): Name was incorrectly indexed, should be General Solkova. Author - Bartosz Danielak
Spartan (https://unrealarchive.org/models/unreal-tournament-3/S/spartan_c893b0e7.html): Name was incorrectly indexed, should be Halo Spartan. Author - EvilEngine
Spawn (https://unrealarchive.org/models/unreal-tournament-3/S/spawn_f55abc6a.html): Author - EvilEngine
Starcraft 2 (https://unrealarchive.org/models/unreal-tournament-3/S/starcraft-2_59316cb9.html): Name was incorrectly indexed, should be Starcraft Terran Marine. Author - Discmage
Strapped_model01 (https://unrealarchive.org/models/unreal-tournament-3/S/strapped_model01_b9a5373b.html): Name was incorrectly indexed, should be Strapped
Sun Kralls (https://unrealarchive.org/models/unreal-tournament-3/S/sun-kralls_652066c6.html): Author - Thomas "MacTom27" Veyrat
Tarja (https://unrealarchive.org/models/unreal-tournament-3/T/tarja_04c994c7.html): Author - Andrй T. "erter" Johansen
Terminator_old (https://unrealarchive.org/models/unreal-tournament-3/T/terminator_old_684bf6b0.html): Name was incorrectly indexed, should be T800 Terminator. Author - EvilEngine
Tritigon (https://unrealarchive.org/models/unreal-tournament-3/T/tritigon_a9bc01b2.html): Author -  Jason Cecrle
U2 Skaarj (https://unrealarchive.org/models/unreal-tournament-3/U/u2-skaarj_8bc7fd74.html): Author - EvilEngine
Xan_model_EE_beta1.4-12.7 (https://unrealarchive.org/models/unreal-tournament-3/X/xan_model_ee_beta14-127_4391b95c.html): Name was incorrectly indexed, should be Xan Kriegor. Author - EvilEngine
Xenohuman (https://unrealarchive.org/models/unreal-tournament-3/X/xenohuman_64264dc8.html): Author - EvilEngine. Duplicate: https://unrealarchive.org/models/unreal-tournament-3/X/xenotype1_9cf9cb7c.html

All done.
Thanks for all that, the section should be looking a lot more coherent now :)


Disable uwebsockets header?

Hi,
I've noticed uwebsocket is exposing it's major version in a header.
The C++ version of this library has a compile time option to disable this "watermark" under the define UWS_HTTPRESPONSE_NO_WRITEMARK but that won't work with the js version.
I do get that it's a bit of a pride thing too and you're probably not eager to disable it by default.
How about an environment variable to disable it at startup time:
UWS_HTTPRESPONSE_NO_WRITEMARK=1 node index.js
Best regards,
Mark

It's not a pride thing. It's a business thing. If you want to remove the header you can do so in your proxy. Alternatively I might put it under a code, which can be retrieved by registering your company with us for statistics.


Issues configuring auth with google

I configured a website according to the documentation using Google to authenticate and now I'm getting this error after I sign in to my account.
The Lambda function returned invalid json: The json output must be an object type.
If you received this error while trying to use an app or access a website, please contact the provider or website owner for assistance.
If you provide content to customers through CloudFront, you can find steps to troubleshoot and help prevent this error by following steps in the CloudFront documentation (https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/http-502-bad-gateway.html).

has this ever happened to you?
Thank you!

Hmmm... the first thing would be to check the logs to see where in the process this happened. I've had 502 errors before, but I don't recall this specifically.

AFAIK there were no logs at all. I finally run the build script again with different options and worked fine.
the options that did't work for me was to authenticate against google and provide a list of valid emails.

I see. I will have to give that method a closer look. Admittedly, that one doesn't get as much attention as the others, so it's possible there's an issue there.
If you enable logs, you should see some form of output in CloudWatch for the corresponding log stream.

We are having the same error when using the list of valid emails in Google Authentication
Errors from the lambda logs are:
 2019-06-18T10:07:25.762Z	57428f26-843e-402c-b169-5730db1e12f3	(node:1) UnhandledPromiseRejectionWarning: TypeError: callback is not a function
at internalServerError (/var/task/index.js:350:3)
at /var/task/auth.js:13:7
at <anonymous>
at process._tickDomainCallback (internal/process/next_tick.js:228:7)

2019-06-18T10:07:25.762Z	57428f26-843e-402c-b169-5730db1e12f3	(node:1) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 16)

This is an old thread, but I just hit this issue with a specific user, did you ever have an answer as to what caused this @Isaacpm


GoAccess 0.9.5 crashed by Signal 11

==48347== GoAccess 0.9.5 crashed by Signal 11
==48347==
==48347== VALUES AT CRASH POINT
==48347==
==48347== Line number: 84899
==48347== Offset: 84642
==48347== Invalid data: 183
==48347== Piping: 0
==48347== Response size: 0 bytes
==48347==
==48347== STACK TRACE:
==48347==
==48347== 0 goaccess(sigsegv_handler+0x166) [0x408446]
==48347== 1 /lib/x86_64-linux-gnu/libpthread.so.0(+0xfcb0) [0x7f95d7f39cb0]
==48347== 2 /lib/x86_64-linux-gnu/libc.so.6(+0x1314d7) [0x7f95d7c9d4d7]
==48347== 3 goaccess(str2enum+0x39) [0x407679]
==48347== 4 goaccess(ignore_panel+0x28) [0x414ab8]
==48347== 5 goaccess() [0x40c697]
==48347== 6 goaccess() [0x40ccba]
==48347== 7 goaccess(main+0x1e0) [0x4055b0]
==48347== 8 /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed) [0x7f95d7b8d76d]
==48347== 9 goaccess() [0x406205]
==48347==
==48347== Please report it by opening an issue on GitHub:
==48347== https://github.com/allinurl/goaccess/issues

Seems related to #322, #323, #326 -
@jps3 have you tried building from the latest master branch?

Thanks for reporting this. As @aphorise mentioned, it seems to be the same as issue #323.
Please build from master and let us know if that fixes the issue. Thanks.

Ok. Got the lastest Master from Github, and followed build instructions. Crashes seem to only happen when it starts to follow/process additional log lines (ie. if I have a test client start making requests).
==52771== GoAccess 0.9.5 crashed by Signal 11
==52771==
==52771== VALUES AT CRASH POINT
==52771==
==52771== Line number: 118946
==52771== Offset: 118807
==52771== Invalid data: 0
==52771== Piping: 0
==52771== Response size: 0 bytes
==52771==
==52771== STACK TRACE:
==52771==
==52771== 0 goaccess(sigsegv_handler+0x166) [0x408546]
==52771== 1 /lib/x86_64-linux-gnu/libpthread.so.0(+0xfcb0) [0x7fed56742cb0]
==52771== 2 /lib/x86_64-linux-gnu/libc.so.6(+0x131476) [0x7fed564a6476]
==52771== 3 goaccess(str2enum+0x39) [0x407779]
==52771== 4 goaccess(ignore_panel+0x28) [0x414ce8]
==52771== 5 goaccess() [0x412b47]
==52771== 6 goaccess(parse_log+0x5c) [0x41380c]
==52771== 7 goaccess() [0x40cdf2]
==52771== 8 goaccess(main+0x1e0) [0x405640]
==52771== 9 /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed) [0x7fed5639676d]
==52771== 10 goaccess() [0x406295]
==52771==
==52771== Please report it by opening an issue on GitHub:
==52771== https://github.com/allinurl/goaccess/issues

Thanks for posting back. Could you please post the content of your config file.

color_scheme 1

I'm assuming you meant ~/.goaccessrc ...

My bad, I neglected to look at /usr/local/etc/goaccess.conf. I've not changed it from whatever settings it was at time of make install, still want me to paste it up here?

@jps3 - yes indeed whats been requested in the configuration (eg: /etc/goaccess.conf or /usr/local/etc/goaccess.conf) - particularly the lines pertaining to how your log should be parsed / understood for example:
#time-format %H:%M:%S
#date-format %Y-%m-%d
#log-format %h %^[%d:%^] "%r" %s %b

But its not needed I guess if you've not changed it... can you provide some details regarding your log & what this looks like? or perhaps any idea why / how far it gets into the log (which line) before crash?

Actually post your goaccess.conf any please.

Here is /usr/local/etc/goaccess.conf.
######################################
# Time Format Options (required)
######################################
#
# The hour (24-hour clock) [00,23]; leading zeros are permitted but not required.
# The minute [00,59]; leading zeros are permitted but not required.
# The seconds [00,60]; leading zeros are permitted but not required.
# See `man strftime` for more details
#
#time-format %H:%M:%S
#
# Google Cloud Storage or
# The time that the request was completed, in microseconds since the Unix
# epoch.
#
#time-format %f

######################################
# Date Format Options (required)
######################################
#
# The date-format variable followed by a space, specifies
# the log format date containing any combination of regular
# characters and special format specifiers. They all begin with a
# percentage (%) sign. See `man strftime`
#
# Apache log date format. The following date format works with any
# of the Apache's log formats below.
#
#date-format %d/%b/%Y
#
# AWS | Amazon CloudFront (Download Distribution)
# AWS | Elastic Load Balancing
# W3C (IIS)
#
#date-format %Y-%m-%d
#
# Google Cloud Storage or
# The time that the request was completed, in microseconds since the Unix
# epoch.
#
#date-format %f

######################################
# Log Format Options (required)
######################################
#
# The log-format variable followed by a space or \t for
# tab-delimited, specifies the log format string.
#
# NOTE: If the time/date is a timestamp in seconds or microseconds
# %x must be used instead of %d & %t to represent the date & time.
#
# NCSA Combined Log Format
#
#log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"
#
# NCSA Combined Log Format with Virtual Host
#
#log-format %v:%^ %h %^[%d:%t %^] "%r" %s %b "%R" "%u"
#
# Common Log Format (CLF)
#
#log-format %h %^[%d:%t %^] "%r" %s %b
#
# Common Log Format (CLF) with Virtual Host
#
#log-format %v:%^ %h %^[%d:%t %^] "%r" %s %b
#
# W3C
#
#log-format %d %t %h %^ %^ %^ %^ %r %^ %s %b %^ %^ %u %R
#
# AWS | Amazon CloudFront (Download Distribution)
#
#log-format %d\t%t\t%^\t%b\t%h\t%m\t%^\t%r\t%s\t%R\t%u\t%^
#
# AWS | Elastic Load Balancing
#
#log-format %dT%t.%^ %^ %h:%^ %^ %T %^ %^ %^ %s %^ %b "%r" "%u"
#
# Google Cloud Storage
#
#log-format "%x","%h",%^,%^,"%m","%U","%s",%^,"%b","%D",%^,"%R","%u"

######################################
# UI Options
######################################

# Prompt log/date configuration window on program start.
#
config-dialog false

# Choose among color schemes
# 1 : Default grey scheme
# 2 : Green scheme
#
color-scheme 1

# Color highlight active panel.
#
hl-header true

# Set HTML report page title and header.
#
#html-report-title My Awesome Web Stats

# Turn off colored output. This is the  default output on
# terminals that do not support colors.
# true  : for no color output
# false : use color-scheme
#
no-color false

# Don't write column names in the terminal output. By default, it displays
# column names for each available metric in every panel.
#
no-column-names false

# Disable progress metrics.
#
no-progress false

# Enable mouse support on main dashboard.
#
with-mouse false

# Disable summary metrics on the CSV output..
#
no-csv-summary false

# Custom colors for the terminal output
# Tailor GoAccess to suit your own tastes.
#
# Color Syntax:
# DEFINITION space/tab colorFG#:colorBG# [[attributes,] PANEL]
#
# FG# = foreground color number [-1...255] (-1 = default terminal color)
# BG# = background color number [-1...255] (-1 = default terminal color)
#
# Optionally:
#
# It is possible to apply color attributes, such as:
# bold,underline,normal,reverse,blink.
# Multiple attributes are comma separated
#
# If desired, it is possible to apply custom colors per panel, that is, a
# metric in the REQUESTS panel can be of color A, while the same metric in the
# BROWSERS panel can be of color B.
#
# The following is a 256 color scheme (Monokai palette)
#
#color COLOR_MTRC_HITS     color197:color-1
#color COLOR_MTRC_VISITORS color148:color-1
#color COLOR_MTRC_DATA     color7:color-1
#color COLOR_MTRC_BW       color81:color-1
#color COLOR_MTRC_AVGTS    color247:color-1
#color COLOR_MTRC_CUMTS    color95:color-1
#color COLOR_MTRC_MAXTS    color186:color-1
#color COLOR_MTRC_PROT     color141:color-1
#color COLOR_MTRC_MTHD     color81:color-1
#color COLOR_MTRC_PERC     color186:color-1
#color COLOR_MTRC_PERC     color186:color-1 VISITORS
#color COLOR_MTRC_PERC     color186:color-1 OS
#color COLOR_MTRC_PERC     color186:color-1 BROWSERS
#color COLOR_MTRC_PERC     color186:color-1 VISIT_TIMES
#color COLOR_MTRC_PERC_MAX color208:color-1
#color COLOR_MTRC_PERC_MAX color208:color-1 VISITORS
#color COLOR_MTRC_PERC_MAX color208:color-1 OS
#color COLOR_MTRC_PERC_MAX color208:color-1 BROWSERS
#color COLOR_MTRC_PERC_MAX color208:color-1 VISIT_TIMES
#color COLOR_PANEL_COLS    color242:color-1
#color COLOR_BARS          color186:color-1
#color COLOR_ERROR         color231:color197
#color COLOR_SELECTED      color0:color215
#color COLOR_PANEL_ACTIVE  color7:color240
#color COLOR_PANEL_HEADER  color7:color237
#color COLOR_PANEL_DESC    color242:color-1
#color COLOR_OVERALL_LBLS  color251:color-1
#color COLOR_OVERALL_VALS  color148:color-1
#color COLOR_OVERALL_PATH  color186:color-1
#color COLOR_ACTIVE_LABEL  color7:color237
#color COLOR_BG            color7:color-1
#color COLOR_DEFAULT       color7:color-1
#color COLOR_PROGRESS      color7:color141

######################################
# File Options
######################################

# Specify the path to the input log file. If set, it will take
# priority over -f from the command line.
#
#log-file /var/log/apache2/access.log

# Send all debug messages to the specified file.
#
#debug-file debug.log

# Specify a custom configuration file to use. If set, it will take
# priority over the global configuration file (if any).
#
#config-file <filename>

# Log invalid requests to the specified file.
#
#invalid-requests <filename>

# Do not load the global configuration file.
#
#no-global-config false

######################################
# Parse Options
######################################

# Include static files that contain a query string in the static files
# panel.
# e.g., /fonts/fontawesome-webfont.woff?v=4.0.3
#
all-static-files false

# Consider the following extensions as static files
# The actual '.' is required and extensions are case sensitive
#
static-file .css
static-file .CSS
static-file .dae
static-file .DAE
static-file .eot
static-file .EOT
static-file .gif
static-file .GIF
static-file .ico
static-file .ICO
static-file .jpeg
static-file .JPEG
static-file .jpg
static-file .JPG
static-file .js
static-file .JS
static-file .map
static-file .MAP
static-file .mp3
static-file .MP3
static-file .pdf
static-file .PDF
static-file .png
static-file .PNG
static-file .svg
static-file .SVG
static-file .swf
static-file .SWF
static-file .ttf
static-file .TTF
static-file .txt
static-file .TXT
static-file .woff
static-file .WOFF

# Exclude an IPv4 or IPv6 from being counted.
# Ranges can be included as well using a dash in between
# the IPs (start-end).
#
#exclude-ip <IP_ADDRESS>
#exclude-ip <IP_ADDRESS>-<IP_ADDRESS>
#exclude-ip ::1
#exclude-ip 0:0:0:0:0:ffff:808:804-0:0:0:0:0:ffff:808:808

# Enable a list of user-agents by host. For faster parsing, do not
# enable this flag.
#
agent-list false

# Include HTTP request method if found. This will create a
# request key containing the request method + the actual request.
#
http-method true

# Include HTTP request protocol if found. This will create a
# request key containing the request protocol + the actual request.
#
http-protocol true

# Ignore request's query string.
# i.e.,  www.google.com/page.htm?query => www.google.com/page.htm
#
# Note: Removing the query string can greatly decrease memory
# consumption, especially on timestamped requests.
#
no-query-string false

# Disable IP resolver on terminal output.
#
no-term-resolver false

# Write output to stdout given one of the following formats:
# csv  : A comma-separated values (CSV)
# json : JSON (JavaScript Object Notation)
# html : HTML report
#
#output-format json

# Display real OS names. e.g, Windows XP, Snow Leopard.
#
real-os true

#  Enable IP resolver on HTML|JSON output.
#
with-output-resolver false

# Treat non-standard status code 444 as 404.
#
444-as-404 false

# Add 4xx client errors to the unique visitors count.
#
4xx-to-unique-count false

# Decode double-encoded values.
#
double-decode false

# Ignore crawlers from being counted.
# This will ignore robots listed under browsers.c
# Note that it will count them towards the total
# number of requests, but excluded from any of the panels.
#
ignore-crawlers false

# Ignore parsing and displaying the given panel.
#
#ignore-panel VISITORS
#ignore-panel REQUESTS
#ignore-panel REQUESTS_STATIC
#ignore-panel NOT_FOUND
#ignore-panel HOSTS
#ignore-panel OS
#ignore-panel BROWSERS
#ignore-panel VISIT_TIMES
#ignore-panel VIRTUAL_HOSTS
ignore-panel REFERRERS
#ignore-panel REFERRING_SITES
ignore-panel KEYPHRASES
#ignore-panel GEO_LOCATION
#ignore-panel STATUS_CODES

# Ignore referers from being counted.
# This supports wild cards. For instance,
# '*' matches 0 or more characters (including spaces)
# '?' matches exactly one character
#
#ignore-referer *.domain.com
#ignore-referer ww?.domain.*

# Sort panel on initial load.
# Sort options are separated by comma.
# Options are in the form: PANEL,METRIC,ORDER
#
# Available metrics:
#  BY_HITS
#  BY_VISITORS
#  BY_DATA
#  BY_BW
#  BY_AVGTS
#  BY_CUMTS
#  BY_MAXTS
#  BY_PROT
#  BY_MTHD
# Available orders:
#  ASC
#  DESC
#
#sort-panel VISITORS,BY_DATA,ASC
#sort-panel REQUESTS,BY_HITS,ASC
#sort-panel REQUESTS_STATIC,BY_HITS,ASC
#sort-panel NOT_FOUND,BY_HITS,ASC
#sort-panel HOSTS,BY_HITS,ASC
#sort-panel OS,BY_HITS,ASC
#sort-panel BROWSERS,BY_HITS,ASC
#sort-panel VISIT_TIMES,BY_DATA,DESC
#sort-panel VIRTUAL_HOSTS,BY_HITS,ASC
#sort-panel REFERRERS,BY_HITS,ASC
#sort-panel REFERRING_SITES,BY_HITS,ASC
#sort-panel KEYPHRASES,BY_HITS,ASC
#sort-panel GEO_LOCATION,BY_HITS,ASC
#sort-panel STATUS_CODES,BY_HITS,ASC

######################################
# GeoIP Options
# Only if configured with --enable-geoip
######################################

# Standard GeoIP database for less memory usage.
#
#std-geoip false

# Specify path to GeoIP database file. i.e., GeoLiteCity.dat
# .dat file needs to be downloaded from maxmind.com.
#
# For IPv4 City database:
# wget -N http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
# gunzip GeoLiteCity.dat.gz
#
# For IPv6 City database:
# wget -N http://geolite.maxmind.com/download/geoip/database/GeoLiteCityv6-beta/GeoLiteCityv6.dat.gz
# gunzip GeoLiteCityv6.dat.gz
#
# For IPv6 Country database:
# wget -N http://geolite.maxmind.com/download/geoip/database/GeoIPv6.dat.gz
# gunzip GeoIPv6.dat.gz
#
# Note: `geoip-city-data` is an alias of `geoip-database`
#
#geoip-database /usr/local/share/GeoIP/GeoLiteCity.dat

######################################
# Tokyo Cabinet Options
# Only if configured with --enable-tcb=btree
######################################

# GoAccess has the ability to process logs incrementally through the on-disk
# B+Tree database.
#
# It works in the following way:
# - A data set must be persisted first with --keep-db-files, then the same data
#   set can be loaded with --load-from-disk.
# - If new data is passed (piped or through a log file), it will append it to
#   the original data set.
# - To preserve the data at all times, --keep-db-files must be used.
# - If --load-from-disk is used without --keep-db-files, database files will be
#   deleted upon closing the program.

# On-disk B+ Tree
# Persist parsed data into disk. This should be set to
# the first dataset prior to use `load-from-disk`.
# Setting it to false will delete all database files
# when exiting the program.
#keep-db-files true

# On-disk B+ Tree
# Load previously stored data from disk.
# Database files need to exist. See `keep-db-files`.
#load-from-disk false

# On-disk B+ Tree
# Path where the on-disk database files are stored.
# The default value is the /tmp directory.
#
#db-path /tmp

# On-disk B+ Tree
# Set the size in bytes of the extra mapped memory.
# The default value is 0.
#
#xmmap 0

# On-disk B+ Tree
# Max number of leaf nodes to be cached.
# Specifies the maximum number of leaf nodes to be cached.
# If it is not more than 0, the default value is specified.
# The default value is 1024.
#
#cache-lcnum 1024

# On-disk B+ Tree
# Specifies the maximum number of non-leaf nodes to be cached.
# If it is not more than 0, the default value is specified.
# The default value is 512.
#
#cache-ncnum 512

# On-disk B+ Tree
# Specifies the number of members in each leaf page.
# If it is not more than 0, the default value is specified.
# The default value is 128.
#
#tune-lmemb 128

# On-disk B+ Tree
# Specifies the number of members in each non-leaf page.
# If it is not more than 0, the default value is specified.
# The default value is 256.
#
#tune-nmemb 256

# On-disk B+ Tree
# Specifies the number of elements of the bucket array.
# If it is not more than 0, the default value is specified.
# The default value is 32749.
# Suggested size of the bucket array is about from 1 to 4
# times of the number of all pages to be stored.
#
#tune-bnum 32749

# On-disk B+ Tree
# Specifies that each page is compressed with ZLIB|BZ2 encoding.
# Disabled by default.
#
#compression zlib

@jps3  thanks.
Can you also provide a sample (2-4 lines) of your log file?
Any ideas where / at which line or after it crashes?

Yes, I can provide some log file, just need to sanitize a few things in it...

These are the lines that had been logged between starting and right after crash. (Sorry for delay, I ran it though a dozen or so times to try to get the smallest number of lines between start and crash.)
 I'm trying to see if I can find anything common between them that looks significant.

It seems that you are behind a reverse proxy? - I state this as all your initial IP values are the same.
If you are using apache2 - I think the CustomeLog format you'd probably want is (/etc/apache2/apache2.conf):
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\" \"%{Host}i\" %v" proxy_format

Then use that in your vhost:
<VirtualHost *:58800>
# ....
        CustomLog /var/log/apache2/access_proxy.log proxy_format

As it is your logs would not / could not be analyzed.
In any event it seems that you've stumbled upon a bug - which shouldnt be causing GoAccess to crash. @allinurl has already marked this as a bug - and I'm sure a related fix will be forthcoming.

Not behind a proxy, I'd just scrubbed the actual IPs from those log snippets. The last octet of each is same as actual last octet of clients here. (Was trying to follow best/secure practices for sharing logs.) Actual IPs do reverse lookup properly, if that's what you're suggesting (just checked using <IP_ADDRESS> as a sanity check).
Will give that log format a try, thank you very much for suggesting it.

Not behind a proxy, I'd just scrubbed the actual IPs from those log snippets.

Smart! - Your log format is CLF & selection via TUI (when you start GoAccess from cli) - is correct.
Is it possible that you can try splitting your log file into multiple parts as you're doing - and then to see if each smaller chunk - up to and beyond where it crashes normally in a single file - does in fact parsed / read? - this would also help guarantee that no bad or inconsistent entries exist in your log.

Will do. I'll see if I can't get a small shell script to do this for the next few hours and dig into the results from there.

I was able to replicate this with multiple & duplicate ignore-panel options. Just to make sure we are looking at the same issue, would you be able to run it through gdb and get a full back trace?
# gdb goaccess
// add any command line options you use
(gdb) set args -f access.log
(gdb) r
// after crash
(gdb) bt full <enter>

Thanks again!

@jps3 you can tail - head - respective portions of the log.
For future reference you can start with something simple like (in shell):
alog='a_file.log'
l_total=$(wc -l $alog | awk '{print $1}')
l_half=$((l_total/2))
head -n $l_half $alog > top_half.log
tail -n $l_half $alog > bottom_half.log
# goaccess ... -f top_half.log
# goaccess ... -f bottom_half.log

I'm a little rusty with the gnu/autoconf/etc tools. I re-compiled with --enable-debug flag, then make && make install. Ran gdb per @allinurl suggestion. (Only mentioned as not sure if the "No symbol table info available line" indicates I did something wrong with the recompile.)
(gdb) bt full
#0  0x00007ffff74e84db in ?? () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#1  0x0000000000407099 in str2enum (map=0x63cae0, len=13, str=0x10043263e <Address 0x10043263e out of bounds>) at src/commons.c:123
        i = 0
#2  0x00000000004070e4 in get_module_enum (str=0x10043263e <Address 0x10043263e out of bounds>) at src/commons.c:137
No locals.
#3  0x000000000041b4a4 in ignore_panel (mod=VISITORS) at src/settings.c:385
        i = 142
        module = 8
        view = 0x10043263e <Address 0x10043263e out of bounds>
#4  0x00000000004190aa in process_log (glog=0xaef580) at src/parser.c:1783
        parse = 0x63f460
        module = VISITORS
#5  0x0000000000419280 in pre_process_log (logger=0x645800,
    line=0x7fffffffd520 "<IP_ADDRESS> - - [26/Oct/2015:12:59:24 -0400] \"GET /content/downloads/29/09/zzz031-12127/h7m2piu99eos0c25f9qqpq1c2pjxuisfsv/LeopardMigrationAssistant.dst/031-12127.English.dist HTTP/1.1\" 200 3991 \""..., test=0) at src/parser.c:1835
        glog = 0xaef580
#6  0x00000000004199ab in parse_log (logger=0x640448,
    tail=0x7fffffffd520 "<IP_ADDRESS> - - [26/Oct/2015:12:59:24 -0400] \"GET /content/downloads/29/09/zzz031-12127/h7m2piu99eos0c25f9qqpq1c2pjxuisfsv/LeopardMigrationAssistant.dst/031-12127.English.dist HTTP/1.1\" 200 3991 \""..., lines2test=-1) at src/parser.c:1957
        test = 0
#7  0x000000000040f52b in perform_tail_follow (size1=0x7fffffffe548) at src/goaccess.c:581
        size2 = 49897090
        buf = "<IP_ADDRESS> - - [26/Oct/2015:12:59:24 -0400] \"GET /content/downloads/29/09/zzz031-12127/h7m2piu99eos0c25f9qqpq1c2pjxuisfsv/LeopardMigrationAssistant.dst/031-12127.English.dist HTTP/1.1\" 200 3991 \""...
        fp = 0xaef340
        __FUNCTION__ = "perform_tail_follow"
#8  0x000000000040fbaf in get_keys () at src/goaccess.c:832
        search = 0
        c = -1
        quit = 1
        size1 = 49825530
#9  0x000000000040fcef in curses_output () at src/goaccess.c:892
No locals.
#10 0x000000000041024b in main (argc=81, argv=0x642f20) at src/goaccess.c:1036
        quit = 0
        __FUNCTION__ = "main"

As a test: if I extract a segment of /var/log/apache2/access/log which spans a what had been appended when goaccess had crashed one or more times to a static file... It doesn't crash.
I also tried on /var/log/apache2/access.log.1 (881,806 lines) and it also didn't crash.
Perhaps it's something happening while goacces is "tail'ing" the live log file?

I think it's the same issue that I got prior this commit. What do you get if you run goaccess --dcf?

# goaccess --dcf
/usr/local/etc/goaccess.conf

Thanks, I'm able to replicate the same issue. I'll have a fix asap.

OK. This should be fix now. Please build from master again and let us know if this time works.
Thanks.

As a test, I set off ~100 clients to check server. No crashes, even at an estimated sustained requests rate of ~200 req/sec.
Sweet!

That's great to hear. Can I ask you to pull from master the latest commit and build again? I added a minor change. If all goes fine, I'll be pushing out a new release pretty soon!

Pulled and built 5d5233684d7ed2d03773f11705d211a525d94814, with the debug flag, and from within gdb (just in case). So far so good, no crashes. Kicked off all clients again as a form of a stress test, and no problems as far as I can see (certainly no crashes), counters/numbers ratchet up as requests come in.

Awesome. I'll deploy v0.9.6 in a few hours. Thanks again for all the help and reporting it!

Sure! Glad to be helpful.

This has been fixed. v0.9.6 has been released which includes this fix.
Thanks @jps3 and @aphorise for the help!


Optional property of type list is initialized with empty list instead of UNSET when using from_dict()

Describe the bug
A model with a property of type Union[Unset, List[SomeEnum]] initializes correctly when using __init__ initialization:
>>> # with non-empty list
>>> SomeRequestBody(my_optional_list=[SomeEnum.FOO])
SomeRequestBody(my_optional_list=[<SomeEnum.FOO: 'FOO'>], additional_properties={})

>>> # with empty list
>>> SomeRequestBody()
SomeRequestBody(my_optional_list=<fake_spec_client.types.Unset object at 0x7ff2001db9d0>, additional_properties={})

BUT, when I initialize it using .from_dict() method, unexpectedly it provides an empty list as a default value:
>>> # everything's fine when passing an explicit value
>>> SomeRequestBody.from_dict(dict(my_optional_list=['FOO']))
SomeRequestBody(my_optional_list=[<SomeEnum.FOO: 'FOO'>], additional_properties={})

>>> # but this is not expected. I'd expect the same result as from regular initialization SomeRequestBody()
>>> SomeRequestBody.from_dict(dict())
SomeRequestBody(my_optional_list=[], additional_properties={})

From my point of view, .from_dict() initialization should keep align with the logic in __init__ initialization.
OpenAPI Spec File
{"openapi": "3.0.2", "info": {"title": "fake_spec", "version": "0.0.0"},
  "paths": {},
  "components": {
    "schemas": {
      "SomeRequestBody": {
        "title": "SomeRequestBody",
        "type": "object",
        "properties": {
          "my_optional_list": {"type": "array", "items": {"$ref": "#/components/schemas/SomeEnum"}}
         }
      },
      "SomeEnum": {
        "title": "SomeEnum",
        "enum": ["FOO", "BAR"],
        "type": "string"
      }
    }
  }
}

Desktop (please complete the following information):

OS: macOS 14.1
Python Version: 3.10
openapi-python-client version: reproduced on v0.13.4 (which I use because I need Python 3.7 support) and on the latest v0.17.2

I'm having this problem too :'(
I have two optional lists, and I want to be able to set one to [] without doing anything to the other. However, if I do a MyModel.from_dict({'myoptionallist': None}), both 'myoptionallist' and 'myotheroptionallist' get set to [].

I tried last week and I'm having the same issue.

OS: masOS 14.5
Python version: 3.11.8
openapi-python-client: 0.21.1

I look for some examples but I couldn't find any, Could any maintener help us?

I'm gonna try datamodel_code_generator/ an alternative supported by Pydantic. Maybe it is helpful for others.

Are you only seeing this with non-primitive types?
I don't have any lists of enums, but I do have a list of a class of objects, where I see this behaviour. However, I also have a list of integers and that doesn't have this issue.


api: Modify subscribe API response to include id as well.

Current response format for POST /users/me/subscription:
{
    "already_subscribed": {},
    "msg": "",
    "result": "success",
    "subscribed": {
<EMAIL_ADDRESS>[
            "new stream"
        ]
    }
}

Desired response format :
{
    "already_subscribed": {},
    "msg": "",
    "result": "success",
    "subscribed":
        {
<EMAIL_ADDRESS>[
                {
                     "name": "new stream",
                     "id": 10,
                }
             ]
       }
}

@zulipbot claim

We also want to get email addresses out of this API's response; given that we probably will need a client_capability for this change anyway to avoid breaking mobile, it's possible we also change the keys to be user IDs.
@sahil839 thoughts on the format question?

Hmm, stream_id will probably not used by our webapp client or likely other clients too (we only use name to show the success and failure messages in UI), but yeah other users using the API in other way may require stream_id, so I cannot think of any other format other than mentioned above as of now and cannot see any disadvantages of this format at present.

(See also #10744, which is for a similar change in the parameters of this endpoint rather than its return value.)

@zulipbot claim

@timabbott Appreciate this is a fairly old issue now, but my proposal is as the original poster suggested, but to use "stream_id" for the key rather than "id". Do you have a preference/standard for the API?


Fix Syntax Highlighting in documentation

This PR fixes some issues with syntax highlighting in the documentation.
This is done by adding support for missing languages.
I also added some comments to the docs/docusaurus.config.ts file for reference.
Example images:
before

after

Yeah this is fine. Nothing is perfect.


Error in integrating with react template

I generated a sample react project template using dfx, and after installing the ic-auth package, I am getting this error when i try to import any of the wallets from the package.

Any idea on what is causing this?

Will look into that over the weekend and leave an update here, thanks for letting me know!

Alright, I will be waiting

My apologies for the extra long wait on this, I did end up hunting down the issue and it turned out to be a t.ds generation issue. It has now been fixed in version 0.9.1
Thank you for your patience and I really apologize for the inconvenience and the wait time.

I have tested it on my end. It now works well. Thank you for the fix
On Sun, 2 Jun 2024, 03:34 Daniel McCoy, @.***> wrote:

My apologies for the extra long wait on this, I did end up hunting down
the issue and it turned out to be a t.ds generation issue. It has now been
fixed in version 0.9.1
Thank you for your patience and I really apologize for the inconvenience
and the wait time.
—
Reply to this email directly, view it on GitHub
https://github.com/id-daniel-mccoy/ic-auth/issues/1#issuecomment-2143646188,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AYO2DEGYKLQMIJR4N45QLJTZFJSCHAVCNFSM6AAAAABFMTBKAKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCNBTGY2DMMJYHA
.
You are receiving this because you authored the thread.Message ID:
@.***>


Branching logic problem with Matrix + Survey UI tweaks

In RedCap, I am using  matrix in the drag and drop style with the help of the Survey UI tweaks external module. The matrix is setup in a way that the top 3 choices selected in the 1st matrix lead to 3 other matrix. Those matrix are dependend of the top 3 choices made in the 1st matrix. When I add the 1st matrix to the "Survey UI tweaks" module, everything works fine. But when I enter the others, the branching logic stop to work and the choices of those matrix all appears in the survey even if no choices have been made in the 1st matrix. It look like if the subsequent matrix can not get deal with the branching logic when they are setup in the drag&drop style. It works fine in the traditionnal Redcap matrix style.

Actually I realize that the branching logic just do not work with the drag and drop style.... even for the first matrix. It always show up even if I make a branching logic condition not to.


ci: add automatic release and provenance generation

Description
This PR adds a new GitHub Actions workflow to automate the release of the artifacts and generate SLSA provenances.
To use this Action to release, the following secrets need to be created:

MAVEN_USERNAME: the username to used to deploy the artifacts to Maven Central.
MAVEN_CENTRAL_TOKEN: the token that you can obtain from the Maven Central portal
MAVEN_GPG_PRIVATE_KEY: the GPG private key
MAVEN_GPG_PASSPHRASE: the GPG private key passphrase

When the project is ready for the next release, the version should be bumped as usual and committed to the repo. Then a draft release and tag can be created using GitHub's release feature.. Once the release is created, the release.yaml GitHub Action will automatically run and deploy the artifact to Maven Central.
For more information, see the documentation here: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#Publishing-using-Apache-Maven
Motivation
Having automatic releases and generating provenances helps mitigating supply-chain attacks. For example, if the deployment is done manually and the maintainer's machine is compromised, the released artifact may contain malicious code and abused by malicious actors to distribute malware.

I will close this PR because the artifacts need to be released to Maven Central from an Oracle internal service.


Delete parts of the crate-level docs.

This is attempting to make the crate docs less overwhelming.
This removes the explanation for the global lock, assuming
the reader will understand the implications of fail points
being global resources.
It also removes a big explanation about the nature of the
closure passed to the macro. This information is also
in the docs for the macro itself.
It also removes a minor style suggestion from the
final bullet list of considerations.
Fixes #27.
PTAL @Hoverbear @nrc

@BusyJay


feat(yarn): add yarn folder

I didn't read all the right documentation regarding icon coloring when I originally opened this. So I converted it to a draft for now.

Fixes #2685
Changes proposed:

[X] Add
[ ] Delete
[ ] Fix
[ ] Prepare

@oliversalzburg the icons look nice! We're using Illustrator. I'll try to pass them through it and push to your PR before merging. Thanks for your work!

@robertohuertasm Thanks a lot! I sadly don't have Illustrator available to me at the moment :(

No worries! Thanks again for preparing those icons. It has already been published yesterday so you should have them available by now.


bugfix - passes typical user agent

Pass a typical user agent when querying the GVB API.

I have read the CLA Document and I hereby sign the CLA

recheck

recheck


jenkins-job-builder: 3.9.0 -> 3.10.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://pypi.org/project/jenkins-job-builder/.
meta.description for jenkins-job-builder is: "Jenkins Job Builder is a system for configuring Jenkins jobs using simple YAML files stored in Git"
meta.homepage for jenkins-job-builder is: "https://docs.openstack.org/infra/jenkins-job-builder/"
meta.changelog for jenkins-job-builder is: ""
Updates performed

Version update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

/nix/store/5g6w785v68b3dqssh0vv8abq9j1a7087-python3.9-jenkins-job-builder-3.10.0/bin/jenkins-jobs passed the binary check.

/nix/store/5g6w785v68b3dqssh0vv8abq9j1a7087-python3.9-jenkins-job-builder-3.10.0/bin/.jenkins-jobs-wrapped passed the binary check.

2 of 2 passed binary check by having a zero exit code.

2 of 2 passed binary check by having the new version present in output.

found 3.10.0 with grep in /nix/store/5g6w785v68b3dqssh0vv8abq9j1a7087-python3.9-jenkins-job-builder-3.10.0

found 3.10.0 in filename of file in /nix/store/5g6w785v68b3dqssh0vv8abq9j1a7087-python3.9-jenkins-job-builder-3.10.0

directory tree listing: https://gist.github.com/226da13a0c246a08b59e7cc385d75097

du listing: https://gist.github.com/248fbd753a96ab2b42f24b56549ea65f

Rebuild report (if merged into master) (click to expand)

12 total rebuild path(s)

3 package rebuild(s)

3 x86_64-linux rebuild(s)
3 i686-linux rebuild(s)
3 x86_64-darwin rebuild(s)
3 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
jenkins-job-builder
python38Packages.jenkins-job-builder
python39Packages.jenkins-job-builder

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/5g6w785v68b3dqssh0vv8abq9j1a7087-python3.9-jenkins-job-builder-3.10.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A jenkins-job-builder https://github.com/r-ryantm/nixpkgs/archive/1401511bf140738a127b538213213b75a29ef8bf.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/5g6w785v68b3dqssh0vv8abq9j1a7087-python3.9-jenkins-job-builder-3.10.0
ls -la /nix/store/5g6w785v68b3dqssh0vv8abq9j1a7087-python3.9-jenkins-job-builder-3.10.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

2 packages built:

jenkins-job-builder (python39Packages.jenkins-job-builder)
python38Packages.jenkins-job-builder

Maintainer pings

Result of nixpkgs-review pr 135522 at 1401511b run on x86_64-linux 1

2 packages built successfully:

jenkins-job-builder (python39Packages.jenkins-job-builder)
python38Packages.jenkins-job-builder

2 suggestions:

warning: unused-argument
Unused argument: isPy27.
Near pkgs/development/python-modules/jenkins-job-builder/default.nix:1:39:
  |
1 | { lib, buildPythonPackage, fetchPypi, isPy27
  |                                       ^

warning: maintainers-missing
Package does not have a maintainer. Consider adding yourself?
Near pkgs/development/python-modules/jenkins-job-builder/default.nix:33:5:
   |
33 |     maintainers = with maintainers; [ ];
   |     ^


Method POST not allowed

I got error Method Not Allowed when called POST method.
I got this error when updated grape from 0.9.0 to 0.12.0
Response headers
Allow:OPTIONS, GET, HEAD
...

Please post a repro, obviously POST is allowed :)

My project contains Rails(with grape gem) + EmberJS.
I received this error when try to login via request POST 'login_url'.
For authenticate on server side I've used devise.
This worked on 0.9.0 grape version.

I want to help you, but there's nothing to work with here. Maybe try to put a project up that reproduces the problem?

Btw, https://github.com/dblock/grape-on-rails is a working example of a recent Grape w/ Rails.

Actually I found problem.
It didn't work when I've created resource :users and created here only '/users/:id' route and tried to made post request like '/users/sign_in'.
/users/sign_in route created on routes.rb file but grape overrides my routes from routes.rb and returned error(Method not allowed) to any post request to /users/some_not_matched_route.
How can I include my routes from routes.rb file?

I found solution. I mounted API after my custom routes. Thank`s


SEO meta tags only generated on client side

metatags only generated on client site, when build and start is running, search engines not able to see meta tags

#27


Add event OnBeforeReservationEntryIsEmpty into codeunit 99000835 "Item Jnl. Line-Reserve"

Describe the request
The code should be like this:
procedure ReservEntryExist(ItemJournalLine: Record "Item Journal Line"; var ReservationEntry: Record "Reservation Entry"): Boolean
begin
    ReservationEntry.InitSortingAndFilters(false);
    ItemJournalLine.SetReservationFilters(ReservationEntry);
    OnBeforeReservationEntryIsEmpty(ReservationEntry, ItemJournalLine);
    exit(not ReservationEntry.IsEmpty());
end;

[IntegrationEvent(false, false)]
local procedure OnBeforeReservationEntryIsEmpty(var ReservationEntry: Record "Reservation Entry"; ItemJournalLine: Record "Item Journal Line")
begin
end;

Additional context
This code is usefull for anyone want to modify filters on "Reservation Entry" record before execute IsEmpty() function.
Internal work item: AB#536977

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 20256.


WA and WD installation is getting failed.

Describe the bug
Watson Assistance installation is failed
To Reproduce
While installing the watson-assistance using cloud-pak-deployer on AWS environment, installation is failed with below message. It's also not creating namespace "openshift-storage". Same issue may present for watson-discovery too.
TASK [cp4d-cartridge-install : Set up Multicloud Object Gateway (MCG) secrets for watson_assistant in CP4D project cpd, logs are in /home/ec2-user/cpd-status/log/cpd-watson_assistant-setup-mcg.log] ***
Thursday 09 November 2023  07:34:20 +0000 (0:00:00.051)       0:26:42.451 *****
fatal: [localhost]: FAILED! => {"changed": true, "cmd": "set -o pipefail\nsetup-mcg \\n    --components=watson_assistant \\n    --cpd_instance_ns=cpd \\n    --noobaa_account_secret=noobaa-admin \\n    --noobaa_cert_secret=noobaa-s3-serving-cert | tee /home/ec2-user/cpd-status/log/cpd-watson_assistant-setup-mcg.log\n", "delta": "0:00:00.147544", "end": "2023-11-09 07:34:21.267867", "msg": "non-zero return code", "rc": 1, "start": "2023-11-09 07:34:21.120323", "stderr": "Error from server (NotFound): secrets "noobaa-admin" not found", "stderr_lines": ["Error from server (NotFound): secrets "noobaa-admin" not found"], "stdout": "Running the setup for the watson_assistant component using the cpd project.", "stdout_lines": ["Running the setup for the watson_assistant component using the cpd project."]}
PLAY RECAP *********************************************************************
localhost                  : ok=1235 changed=148  unreachable=0    failed=1    skipped=575  rescued=0    ignored=0
Thursday 09 November 2023  07:34:21 +0000 (0:00:00.411)       0:26:42.862 *****
cp4d-scheduling-service : Run scheduler installation script, output can be found in /home/ec2-user/cpd-status/log/cpd-apply-scheduler.log - 308.72s
cp4d-cluster : Run script to setup instance topology, output can be found in /home/ec2-user/cpd-status/log/cpd-setup-instance-topology.log - 205.80s
cp4d-subscriptions : Run apply-olm command to install cartridge subscriptions, logs are in /home/ec2-user/cpd-status/log/cpd-apply-olm-cartridge-sub.log - 183.72s
cp-fs-cluster-components : Run shell script to apply cluster components, logs are in /home/ec2-user/cpd-status/log/cpd-apply-cluster-components.log - 176.57s
cp4d-catalog-source : Run apply-olm command to create catalog sources, logs are in /home/ec2-user/cpd-status/log/apply-olm-create-catsrc.log - 173.82s
cp4d-catalog-source : Generate preview script to create catalog sources, logs are in /home/ec2-user/cpd-status/log/apply-olm-create-catsrc.log - 102.04s
cp4d-subscriptions : Generate preview script to install cartridge subscriptions, logs are in /home/ec2-user/cpd-status/log/cpd-apply-olm-cartridge-sub.log -- 30.60s
cp4d-cluster : Run apply-cr command to install Cloud Pak for Data platform, logs are in /home/ec2-user/cpd-status/log/cpd-apply-cr-cpd-platform.log -- 24.82s
cp4d-cluster : Run script to authorize instance, output can be found in /home/ec2-user/cpd-status/log/cpd-authorize-instance.log -- 17.93s
cp4d-cluster : Generate preview script to install Cloud Pak for Data platform, logs are in /home/ec2-user/cpd-status/log/cpd-apply-cr-cpd-platform.log -- 15.52s
openshift-download-installer : Unpack OpenShift installer -------------- 15.39s
cpd-cli-download : Unpack cpd-cli from /home/ec2-user/cpd-status/downloads/cpd-cli-linux-amd64.tar.gz -- 12.66s
aws-download-cli : Unpack aws-cli client installer ---------------------- 7.72s
openshift-download-client : Unpack OpenShift client from /home/ec2-user/cpd-status/downloads/openshift-client-linux.tar.gz-4.12 --- 5.20s
openshift-download-client : Unpack OpenShift client from /home/ec2-user/cpd-status/downloads/openshift-client-linux.tar.gz-4.12 --- 3.38s
ibm-pak-download : Extract ibm-pak from /home/ec2-user/cpd-status/downloads/oc-ibm_pak-linux-amd64.tar.gz --- 3.36s
openshift-download-client : Unpack OpenShift client from /home/ec2-user/cpd-status/downloads/openshift-client-linux.tar.gz-4.12 --- 3.26s
cloudctl-download : Unpack cloudctl from /home/ec2-user/cpd-status/downloads/cloudctl-linux-amd64.tar.gz --- 3.03s
cp4d-cluster : Run apply-entitlement command ---------------------------- 2.62s
cp4d-variables : Add versions details from olm-utils -------------------- 2.60s
====================================================================================
Deployer FAILED. Check previous messages. If command line is not returned, press ^C.
Expected behavior
WA should install successfully.
Desktop (please complete the following information):
AWS environment - self-managed and ROSA openshift

related issue: https://github.com/IBM/cloud-pak-deployer/issues/493

We found that MCG does not get deployed when STS is used for authentication:
time="2023-11-20T08:11:50Z" level=info msg="✅ RPC: system.update_endpoint_group() Response OK: took 0.3ms"
time="2023-11-20T08:11:50Z" level=info msg="✈  RPC: redirector.register_to_cluster() Request: <nil>"
time="2023-11-20T08:11:50Z" level=info msg="✅ RPC: redirector.register_to_cluster() Response OK: took 0.2ms"
time="2023-11-20T08:11:50Z" level=info msg="❌ Not Found: BackingStore \"noobaa-default-backing-store\"\n"
time="2023-11-20T08:11:50Z" level=info msg="CredentialsRequest \"noobaa-aws-cloud-creds\" created. Creating default backing store on AWS objectstore" func=ReconcileDefaultBackingStore sys=openshift-storage/noobaa
time="2023-11-20T08:11:50Z" level=info msg="❌ Not Found:  \"noobaa-aws-cloud-creds-secret\"\n"
time="2023-11-20T08:11:50Z" level=info msg="Secret \"noobaa-aws-cloud-creds-secret\" was not created yet by cloud-credentials operator. retry on next reconcile.." sys=openshift-storage/noobaa
time="2023-11-20T08:11:50Z" level=info msg="SetPhase: temporary error during phase \"Configuring\"" sys=openshift-storage/noobaa
time="2023-11-20T08:11:50Z" level=warning msg="⏳ Temporary Error: cloud credentials secret \"noobaa-aws-cloud-creds-secret\" is not ready yet" sys=openshift-storage/noobaa
time="2023-11-20T08:11:50Z" level=info msg="UpdateStatus: Done generation 2" sys=openshift-storage/noobaa

After some research, this turns out to be the same issue as #458 . When trying to provision ODF, the default backing store is not created and the CredentialsRequest does not result in the creation of a secret for the NooBaa operator.

Steps to reproduce the issue:
Manually provisioning an OpenShift cluster on AWS with temporary credentials (STS)
Set environment variables
export AWS_REGION=eu-central-1
export AWS_CFG_DIR=~/aws
export OCP_CLUSTER_NAME=aws-sts
export OCP_DOMAIN_NAME=deployer-demo.eu

export AWS_ACCESS_KEY_ID=your_access_key
export AWS_SECRET_ACCESS_KEY=your_secret_access_key

Create directories
mkdir -pv $AWS_CFG_DIR

Download installer and client
mkdir -pv $AWS_CFG_DIR/downloads

curl -sLo $AWS_CFG_DIR/downloads/openshift-install-linux.tar.gz https://mirror.openshift.com/pub/openshift-v4/clients/ocp/stable-4.12/openshift-install-linux.tar.gz
tar xvzf ${AWS_CONFIG}/downloads/openshift-install-linux.tar.gz -C ~/bin/

Prepare permanent credentials
In case you want to run the process multiple times, it is best to have a script to reset the AWS credentials to the permanent ones, after which you can generate new temporary credentials.
cat << EOF > $AWS_CFG_DIR/aws-reset-creds.sh
export KUBECONFIG=${AWS_CFG_DIR}/${OCP_CLUSTER_NAME}/auth/kubeconfig
export AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID
export AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY
unset AWS_SESSION_TOKEN
EOF

Reset environment
rm -rf  $AWS_CFG_DIR/$OCP_CLUSTER_NAME
mkdir -pv  $AWS_CFG_DIR/$OCP_CLUSTER_NAME
source $AWS_CFG_DIR/aws-reset-creds.sh

Generate AWS STS token
printf "\nexport AWS_ACCESS_KEY_ID=%s\nexport AWS_SECRET_ACCESS_KEY=%s\nexport AWS_SESSION_TOKEN=%s\n" $(aws sts assume-role \
--role-arn arn:aws:iam::872255850422:role/fk-sts-role \
--role-session-name OCPInstall \
--query "Credentials.[AccessKeyId,SecretAccessKey,SessionToken]" \
--output text) > /tmp/sts-credentials.sh

source /tmp/sts-credentials.sh

Create Cloud Credentials Operator resources
RELEASE_IMAGE=$(openshift-install version | awk '/release image/ {print $3}') && echo "Release image: ${RELEASE_IMAGE}"

CCO_IMAGE=$(oc adm release info --image-for='cloud-credential-operator' $RELEASE_IMAGE -a /tmp/ocp_pullsecret.json) && echo $CCO_IMAGE

pushd ~/bin
oc image extract $CCO_IMAGE --file="/usr/bin/ccoctl" -a /tmp/ocp_pullsecret.json
popd
chmod 775 ~/bin/ccoctl

oc adm release extract --credentials-requests --cloud=aws --to=${AWS_CFG_DIR}/credrequests --from=$RELEASE_IMAGE

ccoctl aws create-all --name=${OCP_CLUSTER_NAME} --region=eu-west-1 --credentials-requests-dir=${AWS_CFG_DIR}/credrequests --output-dir=${AWS_CFG_DIR}/credoutput

Prepare OpenShift installation
mkdir -p ${AWS_CFG_DIR}/${OCP_CLUSTER_NAME}

cat << EOF > ${AWS_CFG_DIR}/${OCP_CLUSTER_NAME}/install-config.yaml
apiVersion: v1
baseDomain: ${OCP_DOMAIN_NAME}
credentialsMode: Manual
metadata:
  name: ${OCP_CLUSTER_NAME}

controlPlane:
  hyperthreading: Enabled
  name: master
  platform:
    aws:
      type: m5.xlarge
      zones:
      - ${AWS_REGION}a
  replicas: 3

compute:
- hyperthreading: Enabled
  name: worker
  platform:
    aws:
      type: m5.4xlarge
      zones:
      - ${AWS_REGION}a
  replicas: 3

networking:
  clusterNetwork:
  - cidr: <IP_ADDRESS>/14
    hostPrefix: 23
  networkType: OpenShiftSDN
  serviceNetwork:
  - <IP_ADDRESS>/16

platform:
  aws:
    region: ${AWS_REGION}

fips: false
pullSecret: '$(cat /tmp/ocp_pullsecret.json)'
sshKey: $(cat ~/.ssh/id_rsa.pub)
EOF

pushd ${AWS_CFG_DIR}/${OCP_CLUSTER_NAME}
openshift-install create manifests
popd

cp ${AWS_CFG_DIR}/credoutput/manifests/* ${AWS_CFG_DIR}/${OCP_CLUSTER_NAME}/manifests
cp -r ${AWS_CFG_DIR}/credoutput/tls ${AWS_CFG_DIR}/${OCP_CLUSTER_NAME}

Create OpenShift cluster
openshift-install create cluster --dir=${AWS_CFG_DIR}/${OCP_CLUSTER_NAME} --log-level=debug

Connect to OpenShift
export KUBECONFIG=${AWS_CFG_DIR}/${OCP_CLUSTER_NAME}/auth/kubeconfig

Install OpenShift Storage operator
oc create ns openshift-storage

cat << EOF | oc apply -f -
---
apiVersion: operators.coreos.com/v1
kind: OperatorGroup
metadata:
  name: openshift-storage
  namespace: openshift-storage
spec:
  targetNamespaces:
  - openshift-storage
---
apiVersion: operators.coreos.com/v1alpha1
kind: Subscription
metadata:
  labels:
    operators.coreos.com/ocs-operator.openshift-storage: ""
  name: odf-operator
  namespace: openshift-storage
spec:
  channel: stable-4.12
  installPlanApproval: Automatic
  name: odf-operator
  source: redhat-operators
  sourceNamespace: openshift-marketplace
EOF

Now wait until the OpenShift Data Foundation operator is ready.
watch "oc get csv -n openshift-storage -l operators.coreos.com/ocs-operator.openshift-storage --no-headers -o custom-columns='name:metadata.name,phase:status.phase'"

Patch OpenShift console
oc patch console.operator cluster \
    -n openshift-storage \
    --type json \
    -p '[{"op": "add", "path": "/spec/plugins", "value": ["odf-console"]}]'

Create storage cluster
cat << EOF | oc apply -f -
---
apiVersion: ocs.openshift.io/v1
kind: StorageCluster
metadata:
  annotations:
    uninstall.ocs.openshift.io/cleanup-policy: delete
    uninstall.ocs.openshift.io/mode: graceful
  name: ocs-storagecluster
  namespace: openshift-storage
spec:
  multiCloudGateway:
    dbStorageClassName: gp3-csi
    reconcileStrategy: standalone
EOF

Wait for the Storagecluster to reconcile. It never does because it fails to create the backingstore.
Create backingstore manually
cat << EOF | oc apply -f -
apiVersion: noobaa.io/v1alpha1
kind: BackingStore
metadata:
  name: noobaa-default-backing-store
  namespace: openshift-storage
spec:
  pvPool:
    numVolumes: 1
    resources:
      requests:
        storage: 100Gi
    secret: {}
    storageClass: gp3-csi
  type: pv-pool
EOF

Go to OpenShift console
echo "Go to console: https://$(oc get route --no-headers -n openshift-console console -o custom-columns='host:.spec.host')"
echo "Log in as kubeadmin, password $(cat ${AWS_CFG_DIR}/${OCP_CLUSTER_NAME}/auth/kubeadmin-password)"

Destroy OpenShift cluster
openshift-install destroy cluster --dir=${AWS_CFG_DIR}/${OCP_CLUSTER_NAME} --log-level=debug

We found a way to work around the current issue by creating the backingstore that is expected by the StorageCluster. The backingstore will be based on a PVC instead of AWS S3. This is not ideal, but will help us to progress with the provisioning of MCG.

This has been resolved by using OpenShift 4.14.

Issued reopened. The StorageCluster does get to a Ready state in OpenShift 4.14, but the BackingStorage stays in the BackingStorePhaseRejected state and no bucket is created for the cluster, meaning that any attempt to access the bucket fails.
Need to make the following changes:

Create namespace with the correct label.

apiVersion: v1
kind: Namespace
metadata:
  labels:
    openshift.io/cluster-monitoring: "true"
  name: openshift-storage

Update CredentialsRequest to work with ServiceAccount:

oc get credentialsrequest -n openshift-storage noobaa-aws-cloud-creds -o yaml > nooba-credreq.yaml
NOOBA_BUCKET=$(cat nooba-credreq.yaml|grep arn:aws:s3:::|head -1|awk -F: '{print $7}')
# add the following at the end
      # serviceAccountName:
      #   - noobaa
ccoctl aws create-iam-roles --name="${OCP_CLUSTER_NAME}" --region="${AWS_REGION}" --credentials-requests-dir=. --identity-provider-arn=arn:aws:iam::<PHONE_NUMBER>22:oidc-provider/${OCP_CLUSTER_NAME}-oidc.s3.${AWS_REGION}.amazonaws.com
aws s3api create-bucket --bucket ${NOOBA_BUCKET} --region ${AWS_REGION} --create-bucket-configuration LocationConstraint=${AWS_REGION}

Create BackingStore:

cat <<EOF | oc apply -f -
apiVersion: noobaa.io/v1alpha1
kind: BackingStore
metadata:
  finalizers:
  - noobaa.io/finalizer
  labels:
    app: noobaa
  name: noobaa-default-backing-store
  namespace: openshift-storage
spec:
  awsS3:
    awsSTSRoleARN: arn:aws:iam::<PHONE_NUMBER>22:oidc-provider/${OCP_CLUSTER_NAME}-oidc.s3.${AWS_REGION}.amazonaws.com
    targetBucket: ${NOOBA_BUCKET}
    secret:
      name: noobaa-aws-cloud-creds-secret
      namespace: openshift-storage
  pvPool:
    numVolumes: 1
    resources:
      requests:
        storage: 50Gi
    secret: {}
    storageClass: gp3-csi
  type: pv-pool
EOF

Hi @fketelaars , is there any update on MCG issue? There are certain watsonx (WA, watsonx.ai, watsox.data) PoC request on HCP. Due to MCG issue, we are not able to move on this.

Since OCP 4.15, the STS cluster can successfully provision NooBaa (MCG): https://docs.redhat.com/en/documentation/red_hat_openshift_data_foundation/4.16/html-single/managing_hybrid_and_multicloud_resources/index?extIdCarryOver=true&sc_cid=701f2000001Css0AAC#creating-an-aws-sts-backed-backingstore_rhodf. Ran some initial tests and the backingstore is created successfully.

Test with MCG on OCP 4.15 and 4.16 and this worked now. Running another test for ODF.

I managed to install CP4D with WA, both on AWS-STS clusters with ODF and with elastic storage with MCG. Steps taken from: https://docs.redhat.com/en/documentation/red_hat_openshift_data_foundation/4.15/html-single/managing_hybrid_and_multicloud_resources/index?extIdCarryOver=true&sc_cid=701f2000001Css0AAC#creating-an-aws-sts-backed-backingstore_rhodf
For reference, the following was needed:

Create a new role that has access to S3, federating the STS role: https://docs.redhat.com/en/documentation/red_hat_openshift_data_foundation/4.15/html-single/managing_hybrid_and_multicloud_resources/index?extIdCarryOver=true&sc_cid=701f2000001Css0AAC#creating-an-aws-role-using-a-script_rhodf
Install ODF operator referencing the ARN of the new role: https://docs.redhat.com/en/documentation/red_hat_openshift_data_foundation/4.15/html-single/managing_hybrid_and_multicloud_resources/index?extIdCarryOver=true&sc_cid=701f2000001Css0AAC#installing-openshift-data-foundation-operator-in-aws-sts-openshift-cluster_rhodf
Install ODF or Multicloud Object Gateway (MCG) using the standard method.


SPIFFS_USE_MAGIC and erase race problem

Hello,
I found one issue with SPIFFS_USE_MAGIC. Problem is simple: erase a sector, and reset/turn off the device before a magic write. In this case the sector is erased, but lost for SPIFFS, because does not contain the magic on its begining.
Fix for this can be simple, but incomplete (see below): write the magic into the sector, when it is detected as erased during a mount.
But switch off during an undesirable moment and flash content is more complicated problem. It can happen during erasing flash in physical layer. After this, flash sector will not be completely erased and can't be used for SPIFFS (independent if the magic is used or not).
Therefore here is better solution:

use magic every time
when sector does not contain magic, erase it and write the magic on mount
when sector contain invalid non-SPIFFS data, erase it and write the magic on mount

It is implemented the way you describe it. If a block is found without magic, it is erased. And spiffs always write magic directly after erasing a block. Also, if spiffs finds more than one bad block the entire fs is formatted.
Have you found something wierd it should be some other bug. Do you have more details?

Opps. I has more than one block without magic. If I understand correctly, in this case mount function returns -1 and I must call format function. It is not done automatically in mount. Correct?
In this case, spiffs_obj_lu_scan bail out for more than one unerased block. And return code bail out from mount.
Thanks for the information and sorry for invalid issue. Have a nice day.

You're right, no automatic formatting. Spiffs_errno should return a SPIFFS_ERR_NOT_A_FS.
Cheers!


Need something like 'topic' to constrain ETOR data to ETOR receivers only.

User Story:
As someone outside the ReportStream team, I need a simple, foolproof way, independent of the data itself, to configure my Senders and Receivers so my data is partitioned from everyone else's data.
Detailed descriptions of simple, foolproof, and independent, are below.
Description/Use Case/Further Details
A couple analogies might be helpful

I need something that acts a like a VPN.  My data flows in my ReportStream 'private virtual network', and your data flows in yours, and RS guarantees the wires never cross.
Another analogy might be observer/observable or 'topics' in subscription models. My senders submit messages within a particular topic, and my receivers subscribe to those topics.   Its leak-proof - anyone not subscribed never gets my data.

Here's why it needs to be simple, foolproof, and independent:

Simple:  The Requirement is best described with an example: It is likely that  ETOR onboarding and operations will be managed by Technical Assistants ("TA") hired directly by CDC, not by people on the ReportStream team.   Those non-ReportStream teams need a very simple foolproof way to stovepipe their data, to avoid confusion and errors.
Foolproof:  The implementation should default to not send -- it can't depend on a human remembering to put in an extra clause in one of the FHIR path filters.    (Although I think that solution is fine for a UP MVP).
Independent of the data itself:  You can easily conceive of situations where the data itself might not contain enough info to determine if it belongs within a particular topic.   Or, situations where the customers repeatedly change datatypes as they setup their system.  That is, the private network is tied to senders and receivers, and may not be in the data itself.   Topics should be an abstraction.

Risks/Impacts/Considerations
Its possible this the current filters will become a performance issue.  ETOR may end up having thousands of receivers.   RS's powerful filter mechanism tries them all right now.   'topic', or something like it, acting basically as an "initial filter" will help you constrain the number of comparisons occurring.  Why bother trying to send full-elr data through ETOR and vice versa?
Dev Notes:
The problem of mixing data has already happened.  The first time I submitted ETOR data, I immediately found it flowing to bizarre places, like the 'ignore' full-elr test receivers even though its not full-elr data. This is confusing, and further, it breaks easily. (See #8583 for an example - this is not a one-off problem -- filters necessarily make assumptions about the type of data coming through their receivers, so this will recur)
In the old pipeline, this requirement was met with the 'topic' concept, which was simple and foolproof.   We either need topics, or something that fills the equivalent role, in the new pipeline. Whereas filters sometimes depend on the data in a message, topics work above the level of the message and are concerned with settings. This way ReportStream can publish topics it supports, for example "ETOR", and senders can identify themselves, in their settings, as sending that topic and at the same time receivers can identity themselves, in their settings, as wanting to receive that topic.
Acceptance Criteria

[ ]
[ ]

needs acceptance criteria

@jimmyfagan The schema associated with a receivers has a message type in it (R01, for example) and the message type acts like a partition type. Is this sufficient enough?

Yea filters in the settings can include message type checks, or the receiver transforms can require a particular condition, but we probably need to make sure message type filters to go along with jurisdictional filters or something like that to kick it in sooner and not log filter results for message type mismatches (we currently log filtered results that pass the juris filter but don't pass other filters). You could theoretically tie that directly into the juris filters, but that's maybe less foolproof that Jim had in mind in his description, and an enum or something like that would be better. Anyway, I don't think any work here is strictly required or urgent, but it's probably worth keeping this ticket around.


Fix negative GW storage and flux

This PR fixex the possibility of negative groundwater storage and flow. Included a warning when GW flow is larger than GW storage.
Other changes include:

remove soil_params.mult from configuration file and code. This parameter referred to the LKSATFAC in the NWM, but is not used in CFE;
Removed previously commented Xinanjiang_partitioning_scheme function. Only slightly differences to the function that is currently being used;
Included Evapotranspiration in the water balance.

Testing

Testing was performed in the standalone version and on the framework.

Screenshots
Notes

A new PR will be submitted later this week for the GIUH component "/params/". The current function uses files from the old version of the hydrofabric. The function will be updated to use the new files.

Todos

Checklist

[x ] PR has an informative and human-readable title
[ ] Changes are limited to a single goal (no scope creep)
[ x] Code can be automatically merged (no conflicts)
[ ] Code follows project standards (link if applicable)
[ x] Passes all existing automated tests
[x ] Any change in functionality is tested
[ x] New functions are documented (with a description, list of inputs, and expected output)
[x ] Placeholder code is flagged / future todos are captured in comments
[x ] Visually tested in supported browsers and devices (see checklist below :point_down:)
[ ] Project documentation has been updated (including the "Unreleased" section of the CHANGELOG)
[ ] Reviewers requested with the Reviewers tool :arrow_right:

Testing checklist
Target Environment support

[ ] Windows
[ ] Linux
[ ] Browser

Accessibility

[ ] Keyboard friendly
[ ] Screen reader friendly

Other

[ ] Is useable without CSS
[ ] Is useable without JS
[ ] Flexible from small to large screens
[ ] No linting errors or warnings
[ ] JavaScript tests are passing

@lcunha0118 - to Nel's point, I believe the only commit you need for this PR is this one.
Also - If removing soil_params.mult, go ahead and remove it's "set check",is_soil_params__mult_set, here.

@madMatchstick I removed the is_soil_params__mult_set.
@hellkite500 Sorry for the accumulated commits. I was not able to send just a few of them without creating conflicts. I am new to GitHub so I am not exactly sure why.

Would be happy to help show some ways to clean up and isolate changes. It is mostly just git commands in the right order and some branch management.

Create a branch from this point to contain the updates you want to PR.  Form this branch, we will steal the commit we want to use using cherry pick
git checkout -b fix-neg-gw
git cherry-pick 954d6ffe0487d20f25c5a263e2134e7f587aaa9e

If you need to adjust the changes in this commit, you can reset and re-commit:
git reset --soft HEAD~2
git status

And you will see the various files in that commit.  You can then use
git add include/cfe.h src/cfe.c
git commit -m "fix negative GW storage and flux"

To stage just the required files for the fix.  Finally, we can either update the PR branch (in this case master on a fork), or push our new branch and pr that one.
To update the current PR
git push origin fix-neg-gw:master

You may need to force this change using -f
git push -f origin fix-neg-gw:master

Or to push the branch and open a new PR
git push origin fix-neg-gw

Then when you go to the repository on GitHub you should see a prompt to open a PR with this newly pushed branch.

Okay to merge.


troubles navigating log on finished job

When a job is finished and there is a long log and the job page is opened new, the logs are being loaded to the window. It can last several minutes. During this time it is not possible to scroll to the end of the log - the window will scroll through the logs as it is being loaded. This is pretty inconvenient. I am not sure how this should work, but it should not change the focus of what is displayed and scroll somewhere else.

It should be fixed, please try now the latest version.


Search results

How are search results ordered?

To some extent, you can choose the sort order by selecting from the drop down.

It looks like the default ordering is by "relevance". The relevance is based off of the score in the response from Solr when a query is made.  From the Solr Admin UI, all of the hits that I've seen so far have had a score of 1.0.
So, what happens when all the scores are equal? From what I see, it looks like Solr is returning them in the order that they were first uploaded. Modifying a work does not seem to change its placement in the search results when all of the scores are the same and the ordering is by relevance (as far as I can tell at least). I haven't found code yet to verify this, but I'll post back if I do find it (or if I give up).
One link that is helpful is the following:
https://github.com/projectblacklight/blacklight/wiki/Configuration---Solr-fields
It describes how to configure the types of sorting options in the drop down. For our application, they are currently defined here: https://github.com/dibbs-vdc/ccql/blob/e58400f74a22282cedb3f6be7767733b527d1517/app/controllers/catalog_controller.rb#L335

I can't find any documentation that definitely describes what happens to the sort order when the scores are all the same. However, I did find information on how to configure multiple sort orderings, so we can change the ordering if need be.
https://wiki.apache.org/solr/CommonQueryParameters#sort

Closing this for now. Please feel free to open it up again for any reason!


Schema doesn't work when tested against zuul/zuul

Testing against the opendev zuul project, the tool gives errors for single items needing to be lists. Similar to 48259a9d58486c96bc0316e0dddfeb4374c0d47f, other attributes should be allowed single items over list format.

Hi there, sorry for the very late response.
I was not able to reproduce your issue in the most recent version of Zuul and zuulcilint. Can you tell me which specific files caused an error? Also, could you provide the command output? Maybe it's already fixed!

No worries! I appreciate the tool, and the efforts to maintain. I am unfortunately not familiar with modifying jsonschema files, so I was hesitant to make my own PR.
Here is the output of the command
`zuul$ python3 -m zuulcilint .zuul.yaml
.zuul.yaml
Validation error:
File: .zuul.yaml
Message: 'zuul/zuul' is not of type 'array'
Path: [18, 'job', 'allowed-projects']
Schema Path: ['items', 'properties', 'job', 'properties', 'allowed-projects', 'type']
Validation error:
File: .zuul.yaml
Message: 'zuul/zuul' is not of type 'array'
Path: [19, 'job', 'allowed-projects']
Schema Path: ['items', 'properties', 'job', 'properties', 'allowed-projects', 'type']
Validation error:
File: .zuul.yaml
Message: 'zuul/zuul' is not of type 'array'
Path: [20, 'job', 'allowed-projects']
Schema Path: ['items', 'properties', 'job', 'properties', 'allowed-projects', 'type']
Checking for duplicate jobs
No duplicate jobs found
Checking for inexistent nodesets
ubuntu-jammy
Warnings
Total warnings: 1
Inexistent nodeset warnings:
Found 1 inexistent nodesets
ubuntu-jammy
Failed
Total errors: 3
YAML validation errors: 3`
Here is what I think are the relevant parts of my environment:
`zuul$ python3 --version
Python 3.10.12
zuul$ python3 -m pip list | grep zuulcilint
zuulcilint                0.2.5
zuul$ git log -1
commit 59ca809a9e8b722bd25e17508710821c2e27e9d0 (HEAD -> master, origin/master, origin/HEAD)
Merge: afcbe6559 505253bed
Author: Zuul<EMAIL_ADDRESS>Date:   Wed Apr 10 22:48:09 2024 +0000
Merge "Handle artifacts created by non change refs"`

Thank you for the comprehensive logs. I have identified the issue.
In my PR, the allowed-projects property of job objects accepts single string values as well.

Closing issue.
Fix is available in version 0.2.6 which is now live.
Thanks for your effort
@martimmatias
@same-code-different-day


Masky Agent - Sign Manifest when compiling

Problem
Currently, the Masky agent solution contains ClickOnce or some kind of certificate signing. When you clone the repo and try to compile the agent, the following error comes up:
Unable to find manifest signing certificate in the certificate store.

Solution
This can be fixed with

Project Properties -> Signing -> Tick off Sign the ClickOnce manifests  or, by
Changing the .csproj file with

<PropertyGroup>
  <SignManifests>false</SignManifests>
</PropertyGroup>

I wasn't sure if this was intended or not. Also, if I were to make a PR to the agent code, is it okay for me to disable the ClickOnce manifest and then make the PR?

@Z4kSec  Thank you for the help! The compilation worked right away (except changing debug -> release due to dnmerge, but that's w/e), and the -e flag also worked smoothly with the obfuscated Masky agent.
└─# masky -d choi.local -u da -p 'REDACTED' -ca dc01.choi.local\\choi-DC01-CA <IP_ADDRESS> -e invismoosky.exe

[ .... ]
[+] (<IP_ADDRESS>) Gathered NT hash for the user 'choi.local\administrator': REDACTED
[*] Exiting...

Think we can close this issue. Ty for the help!

Thank you ! v0.1.2 merged to master :)
I close the issue.


Disable incremental compilation of idris2 compiler

Also don't clean support files. rm -r build/ttc can in some cases be more reliable than idris2 --clean (if a module has been deleted for example) but this shouldn't matter

Thanks for cleaning this up!


fix: missing BURN event in GalleryItem Activity tab

Thank you for your contribution to the KodaDot NFT gallery.
👇 _ Let's make a quick check before the contribution.
PR Type

[x] Bugfix
[ ] Feature
[ ] Refactoring

Context

[x] Closes #4805
[ ] Requires deployment <>

Before submitting pull request, please make sure:

[x] My contribution builds clean without any errors or warnings
[x] I've merged recent default branch -- main and I've no conflicts
[x] I've tried to respect high code quality standards
[x] I've didn't break any original functionality
[x] I've posted a screenshot of demonstrated change in this PR

Optional

[ ] I've tested it at </bsx/collection>
[ ] I've tested PR on mobile
[ ] I've written unit tests 🧪
[ ] I've found edge cases

Had issue bounty label?

[x] Fill up your KSM address: Payout

Community participation

[x] Are you at KodaDot Discord?

Screenshot 📸

[x] My fix has changed something on UI; a screenshot is best to understand changes for others.

/snek/gallery/331660682-4

CONSUME on rmrk
BURN on bsx/snek

edit: nvm...

It will be unified with RMRKv2


Fix json_decode exception when the identity cookie is an array object.

How to reproduce the issue it's fixing?

This shouldn't happen unless you incorrectly set it to be an array during development. In that case, you should manually delete the cookie. With cookie protection, it is impossible for end users to make up a cookie with this problem


x/sys/unix: missing function to marshal a Cmsghdr

What version of Go are you using (go version)?

$ go version
go version go1.20.3 linux/amd64

Does this issue reproduce with the latest release?
Yes.
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE="on"
GOARCH="amd64"
GOBIN=""
GOCACHE="/root/.cache/go-build"
GOENV="/root/.config/go/env"
GOEXE=""
GOEXPERIMENT=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GOMODCACHE="/root/src/go/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/root/src/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/root/bin/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/root/bin/go/pkg/tool/linux_amd64"
GOVCS=""
GOVERSION="go1.20.3"
GCCGO="gccgo"
GOAMD64="v1"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/dev/null"
GOWORK=""
CGO_CFLAGS="-O2 -g"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-O2 -g"
CGO_FFLAGS="-O2 -g"
CGO_LDFLAGS="-O2 -g"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -Wl,--no-gc-sections -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build1782644412=/tmp/go-build -gno-record-gcc-switches"

What did you do?
I'm implementing UDP GSO for quic-go (tracking issue). Since quic-go does DPLPMTUD, a server will send packets with different sizes to different clients. Therefore, we can't just set a single packet size per UDP socket. Instead, we have to pass the desired packet size to the kernel with every sendmsg call.
In Go, this is done using the WriteMsgUDP function on the net.UDPConn. The size is encoded as a control message, which is passed in the oob []byte parameter to that function:
cm = CMSG_FIRSTHDR(&msg);
cm->cmsg_level = SOL_UDP;
cm->cmsg_type = UDP_SEGMENT;
cm->cmsg_len = CMSG_LEN(sizeof(uint16_t));
*((uint16_t *) CMSG_DATA(cm)) = gso_size;

Proof of concept here: https://gist.github.com/marten-seemann/a549773b53f30960b966a9f4068b6e48#file-gso-go-L45-L50
What did you expect to see?
The proof of concept works, as can be confirmed by running tcpdump (e.g. tcpdump host <IP_ADDRESS> -n -v -i eth0).
What did you see instead?
Serializing the control message has to be done by hand (see the getCmsg function in my PoC). The precise format of the control message is highly dependent on the architecture, and my PoC will only work on amd64 (see definition). Other architectures serialize this message slightly different, there are 41 (!) architecture-dependent ztypes_ files in the unix package that define the Cmsghdr.
x/sys/unix already provides a deserialization function (via ParseOneSocketControlMessage / ParseSocketControlMessage). It would it would provide some kind of serialization function that works on all architectures as well.

Here's a proposal for an API:
Since this function is potentially called on every WriteMsgUDP call (although for the GSO use case, the result could obviously be cached for every packet size), it's essential that it doesn't cause any allocations. I therefore propose an append-style API:
func (Cmsghdr) Append(b []byte, data []byte) []byte

For example, for amd64, this would result in:
type Cmsghdr struct {
	Len   uint64
	Level int32
	Type  int32
}

func (h Cmsghdr) Append(b []byte, data []byte) []byte {
	b = binary.LittleEndian.AppendUint64(b, h.Len + uint64(len(data)))
	b = binary.LittleEndian.AppendUint32(b, int32(h.Level))
	b = binary.LittleEndian.AppendUint32(b, int32(h.Type))
	return append(b, data...)
}

x/sys/unix already supports most of what you need. See UnixRights for an example.
For your use case I believe it would be:
datalen := 2 // your payload is a uint16, which is 2 bytes
b := make([]byte, unix.CmsgSpace(datalen))
h := (*unix.Cmsghdr)(unsafe.Pointer(&b[0]))
h.Level = syscall.IPPROTO_UDP
h.Type = UDP_SEGMENT
h.SetLen(unix.CmsgLen(datalen))

// UnixRights uses the private `data` method, but I *think* this achieves the same goal.
offset := unix.CmsgSpace(0)
*(*uint16)(unsafe.Pointer(&b[offset:])) = uint16(size)

return b

Since your message is always the same length, you could choose to allocate the whole byte slice once, and just overwrite the uint16 payload each time.

@marten-seemann There is CmsgAlignof that will expand the oob byte slice.
I'm trying to implement cmsg for KCAPI and I think the ideal cmsg related function should be:
cmsg := unix.NewCmsg(x)
buf, _ := cmsg.MarshalBinary() // interface of https://pkg.go.dev/encoding#BinaryMarshaler, Aligned data.
msg := &unix.Msghdr{
    Control: &buf[0],
}
msg.SetControllen(len(buf))


Plans to add support for VBScript?

I wish it could run someway vbscript also and trace it informations.
Do you have any plans for one day implement? Or do you have any idea how this can be done?

This project is no longer maintained by me. See #6 for more information
I think VBScript support is unlikely with this codebase. The reason this "emulator" works for WScript is because WScript is a flavor of Javascript, so I only had to overcome the differences between them to get WScript to run in Javascript. For VBScript one would need to write a full language parser, and then convert it to another language so it can run and be traced. Absolutely doable, but unlikely


Lima VM doesn't support the existing VPN connections on host

I've integrated the lima software to my MacOS machine as described here: https://blog.carlosnunez.me/post/docker-desktop-alternative-for-mac/
The overall functionality is great, however, I've come across one big problem.
I use the Viscosity VPN  to connect to our internal network, which is required by some tools I use in the container. But when I've moved from Docker Desktop to Lima this connection stopped working inside the container.
Does Lima support this? If so, should I change some configuration in order to solve this issue?
Thank you for help :)

The same for me. I have hit the same issue. The lima looks good as a good alternative for me, but without supporting VPN it does not as I would wish for my work.
Nevertheless, good job with Lima, go ahead.
If you need some more traces, just ask, like serial.log etc.

Same issue here with rancher desktop implementation of lima. It is unable to connect use the VPN of the host.


Neuronal Analysis of Leifer Dataset

for now just the heatmap

still need to assign names to neuron ids - prioritise metadata project for now and come back to