aws components - validate credentials and connection on init or ping

Describe the feature
Existing component implementations such as postgres, mysql, redis,..., use init function or at least the optional ping function in order to validate as much as possible the provided configuration for the component and to guarantee that it's properly configured and it would work as expected during runtime.
To get a consistent experience, and to be able to properly validate components and avoid runtime errors because of misconfigurations, It would be desirable that as much components as possible properly validate the provided configuration and establish a connection, or at least somehow probe the connection, with the underlying backing infrastructure.
The ask for this issue is to try to implement that behavior for the aws components.
i.e I've had issues with the aws s3 binding component. I had an invalid configuration, with wrong access key and secret key, however the component initialization was successfull but during runtime I got this error using the binding API
{
    "errorCode": "ERR_INVOKE_OUTPUT_BINDING",
    "message": "error invoking output binding bucket-wrong-users: s3 binding error: uploading failed: InvalidAccessKeyId: The AWS Access Key Id you provided does not exist in our records.\n\tstatus code: 403, request id:xxxxx, host id: xxxxxxx"
  },

I assume there should be some aws API or function in the aws sdk which can be used to probe aws and test the provided configuration, credentials,.... If no adhoc validating API exists, maybe the component can perform a GET request to the s3 bucket or other metadata API... however I'm afraid that may become expensive for users.
Release Note

RELEASE NOTE: ADD connection validation for aws components

RELEASE NOTE:

/assign

@famarting we can easily check if the credentials are valid using sts.GetCallerIdentity. This will be shared across all aws components.
In addition, we could do an extra check specific to the component, for example "Is the DynamoDb table present"? I couldn't find any specific api for that check, but we could do a SCAN with a limit of 1. Should I add that?

So that's actually part of why I suggested the sts.GetCallerIdentity call, because it doesn't require permissions, as per the docs:

No permissions are required to perform this operation. If an administrator attaches a policy to your identity that explicitly denies access to the sts:GetCallerIdentity action, you can still perform this operation. Permissions are not required because the same information is returned when access is denied.

oh nice, good catch, ty, so then the perfect solution would be calling first to sts.GetCallerIdentity and then the specialized validation

@famarting I ended up removing the sts.GetCallerIdentity check because it's redundant if we're doing the specialised checks anyway.
I will do this for other components too.
Here's the PR: https://github.com/dapr/components-contrib/pull/3285

Working on all the other AWS components in this PR: https://github.com/dapr/components-contrib/pull/3301

Still missing:

[ ]  Bindings: DynamoDB
[ ]  Bindings: Kinesis
[ ]  Bindings: S3
[ ]  Bindings: SES
[ ]  Bindings: SNS
[ ]  Bindings: SQS

I'll be working on them this week


initial patch for abort and force-complete handling

Need to add WQ element manipulation which distinguishes aborted from force complete work

Just linking this patch to the issue it's trying to fix: #5631

and shall we close this one as well @ticoann ?


C/C++ client

Hi, do you have C/C++ client for etcd?

Hi @topilski please review the integrations list we currently have a v2,v3 client in C++.
https://github.com/coreos/etcd/blob/master/Documentation/integrations.md

Hi @hexfusion , thank you for reply i'am looking for offical api, i thinking about integration etcd into FastoNoSQL.


Bomb suit explosion resistance

About the PR

Media

Changelog

:cl:

fix: fixed bomb suit explosion resistance values (50% for helmet and 80% for suit - 90% in total - which is enough to survive minibomb explosion)

armour is multiplicative and not additive isn't it

it is but old code assumed it was additive

0.2 * 0.5 is 0.1 modifier, 90% reduction

Now it shows explosion resistance


Fixes issue with windows current directory (issue #4)

Added windows specific code to try and workout the current working directory by using regex. This solution is a workaround till a more effective (hyper) solution can be found. See issue #4 for more details.

It doesn't change if you switch tabs, otherwise not bad, but a bit slow, thank you :)

Thanks for noticing. I never tried switching tabs as I don't use multi-tabs :-(

Issues with multi-tabs :-(


Add a timeout because sometimes output is really slow.

Pull Request Description
What issue does this change request address?
Closes #2156
What are the significant changes in functionality due to this change request?
Adds a timeout when trying to get output, because sometimes the output never comes.

For Change Control Board: Change Request Review
The following review must be completed by an authorized member of the Change Control Board.

[ ] 1. Review all computer code.
[ ] 2. If any changes occur to the input syntax, there must be an accompanying change to the user manual and xsd schema. If the input syntax change deprecates existing input files, a conversion script needs to be added (see Conversion Scripts).
[ ] 3. Make sure the Python code and commenting standards are respected (camelBack, etc.) - See on the wiki for details.
[ ] 4. Automated Tests should pass, including run_tests, pylint, manual building and xsd tests. If there are changes to Simulation.py or JobHandler.py the qsub tests must pass.
[ ] 5. If significant functionality is added, there must  be tests added to check this. Tests should cover all possible options.  Multiple short tests are preferred over one large test. If new development on the internal JobHandler parallel system is performed, a cluster test must be added setting, in  XML block, the node <internalParallel> to True.
[ ] 6. If the change modifies or adds a requirement or a requirement based test case, the Change Control Board's Chair or designee also needs to approve the change.  The requirements and the requirements test shall be in sync.
[ ] 7. The merge request must reference an issue.  If the issue is closed, the issue close checklist shall be done.
[ ] 8. If an analytic test is changed/added is the the analytic documentation updated/added?
[ ] 9. If any test used as a basis for documentation examples (currently found in raven/tests/framework/user_guide and raven/docs/workshop) have been changed, the associated documentation must be reviewed and assured the text matches the example.

Job Test qsubs sawtooth on 2a791af : invalidated by @joshua-cogliati-inl
closed programs using directory

Job Test qsubs sawtooth on 2a791af : invalidated by @joshua-cogliati-inl
failed in fetch

Job Test qsubs sawtooth on 2a791af : invalidated by @joshua-cogliati-inl
failed in set python environment with  WARNING conda.gateways.disk.delete:unlink_or_rename_to_trash(144): Could not remove or rename

checklist is good.

@PaulTalbot-INL @dylanjm FYI, HERON regression tests failed on test machines. Could you take a look at those failed tests?


Not working

Hello, I just installed this and then did:
templates/index.hbs

    {{#left-page-split}}
      {{#sticky-container}}

# home

      {{/sticky-container}}

it does not stick.. am I doing something wrong?
I notice in debugger that it has class "sticky"

# home

That all looks right. Does your page scroll? What version are you using? I have it in production and it's working well.

Seeing the same issue, and my page scrolls and has the sticky class. Setup fires.

Looks like it might be related to this: https://github.com/garand/sticky/issues/118
Maybe the setup needs to happen 'afterRender'?

Do you use liquid-fire? It seems that it does not work together.

Ah, yes that is likely.

So what's the solution? Do not use liquid-fire? Probably most popular tool in rich UI apps?


chore(deps): update terraform-module

This PR contains the following updates:

Package
Type
Update
Change

terraform-ibm-modules/cbr/ibm (source)
module
patch
1.22.1 -> 1.22.2

terraform-ibm-modules/cos/ibm (source)
module
minor
8.3.2 -> 8.4.0

terraform-ibm-modules/landing-zone-vpc/ibm (source)
module
patch
7.18.2 -> 7.18.3

terraform-ibm-modules/observability-agents/ibm (source)
module
patch
1.25.2 -> 1.25.3

terraform-ibm-modules/observability-instances/ibm (source)
module
minor
2.12.2 -> 2.13.1

terraform-ibm-modules/resource-group/ibm (source)
module
patch
1.1.5 -> 1.1.6

terraform-ibm-modules/security-group/ibm (source)
module
patch
2.6.1 -> 2.6.2

Release Notes

terraform-ibm-modules/terraform-ibm-cbr (terraform-ibm-modules/cbr/ibm)
v1.22.2
Compare Source
Bug Fixes

remove upper limit for required terraform version (#458) (f388f0c)

terraform-ibm-modules/terraform-ibm-cos (terraform-ibm-modules/cos/ibm)
v8.4.0
Compare Source
Features

removed kms_region from the bucket DA inputs as its now programmatically determined.* The existing_kms_instance_guid input variable has been replaced by the existing_kms_instance_crn in the both bucket DA solutiona. The CRN should now be passed to it instead of the GUID. (#642) (9748e04)

v8.3.3
Compare Source
Bug Fixes

remove upper limit for required terraform version (#639) (ef51c60)

terraform-ibm-modules/terraform-ibm-landing-zone-vpc (terraform-ibm-modules/landing-zone-vpc/ibm)
v7.18.3
Compare Source
Bug Fixes

remove upper limit for required terraform version (#800) (0bf01d7)

terraform-ibm-modules/terraform-ibm-observability-agents (terraform-ibm-modules/observability-agents/ibm)
v1.25.3
Compare Source
Bug Fixes

remove upper limit for required terraform version (#347) (83bbb99)

terraform-ibm-modules/terraform-ibm-observability-instances (terraform-ibm-modules/observability-instances/ibm)
v2.13.1
Compare Source
Bug Fixes

remove upper limit for required terraform version (#518) (f6c7d7e)

v2.13.0
Compare Source
Features

enable_archive variable has been removed and is now replaced by two new variables log_analysis_enable_archive and activity_tracker_enable_archive to allow consumers more flexibility on what components to enable archiving on  (#515) (51cba89)

terraform-ibm-modules/terraform-ibm-resource-group (terraform-ibm-modules/resource-group/ibm)
v1.1.6
Compare Source
Bug Fixes

remove upper limit for required terraform version (#624) (0c4a55a)

terraform-ibm-modules/terraform-ibm-security-group (terraform-ibm-modules/security-group/ibm)
v2.6.2
Compare Source
Bug Fixes

remove upper limit for required terraform version (#286) (ccd2d6f)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

:tada: This PR is included in version 3.25.5 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Mac OS build agent Xcode and SDK versions

Azure devops mac os build host is running on Xcode 9.4 and SDK version 11.4.
And Apple says:

WARNING ITMS-90725: "SDK Version Issue. This app was built with the iOS 11.4 SDK. Starting March 2019, all iOS apps submitted to the App Store must be built with the iOS 12.1 SDK or later, included in Xcode 10.1 or later."

So, the build agent must be updated.

@jzeferino I'll pass this along, and moving forward, the best place to file issues with the product is here:
Please report Azure DevOps or TFS software bugs, feedback, or questions in the Azure DevOps Developer Community.

Hi @steved0x, we are running into this same issue with our Xamarin.iOS app.  It appears that locally I am using Mono 5.16, but the build machine is using 5.12.  Perhaps this is leading to incorrect Xamarin.iOS version selection? Could you please point me to the appropriate place to track/discuss this topic? I tried searching the devops community link posted, but have not found much.  Thanks!

for reference, we are using the Hosted macOS image documented here https://github.com/Microsoft/azure-pipelines-image-generation/blob/master/images/macos/macos-Readme.md and building a Xamarin.iOS app that attempts to target the latest iOS SDK

OK, have posted here https://developercommunity.visualstudio.com/content/problem/416822/azure-devops-hosted-macos-xamarinios-build-sdk-ver.html
also included in link above - a promising looking workaround for a script build task that allows you to select desired versions of Xcode, Mono, Xamarin.iOS, if anyone else is hitting the same issue.


Inference TruthValue refactoring + refactoring controlflow in SyllogisticRules (2)

budget function lookup
refactoring of control flow to enable further refactoring

another try

A suggestion; !(taskSentence.isQuestion() || taskSentence.isQuest())
can be replaced with (taskSentence.isJudgment() || taskSentence.isGoal())
But I already approved it. You can either do this (if you agree to the suggestion) and I will approve again, nor you can merge it already, both works for me.


Dripsy import

https://github.com/tamagui/tamagui/blob/3c9d4f59ec541058426844d1591199d123ebdccc/packages/benchmarks/bench/drispy/index.tsx#L1
super cool! I think this View should be imported from RN though, rather than a recursive styled call (I have to update Dripsy docs for this)

Thanks, should be fixed now I'll re-run benchmarks.


DartUriResolver doesn't implement restoreAbsolute()

This is a benign problem, since the two ultimate users of restoreAbsolute() are:

Import fixup generation in analysis server, which has special-case logic to handle "dart:" URIs
Choosing the proper URI to use when adding sources to add to an analysis context; this never has to deal with "dart:" URIs since the user never explicitly analyzes "dart:" URIs.

However, to avoid future confusion, it would be really nice for all implementations of UriResolver to have an implementation of restoreAbsolute(), since this method is an exposed part of the analyzer API that is callable by clients.

Dropping to P4 as this is "benign."

I think we can close this. DartUriResolver is an internal class, and we can add the functionality when we need it.


Vim crashed with plugin using lua

Hi,
Vim crashed randomly but often if I enable the vim plugin using lua (neocomplete).
The gdb give the information:
Program received signal SIGSEGV, Segmentation fault.
0x00000000004633c1 in set_ref_in_item ()
(gdb) bt
#0  0x00007ffff4a1a937 in kill () from /usr/lib/libc.so.6
#1  0x0000000000530680 in mch_exit ()
#2
#3  0x00000000004633c1 in set_ref_in_item ()
#4  0x00000000005d5889 in ?? ()
#5  0x00007ffff5397950 in ?? () from /usr/lib/liblua.so.5.3
#6  0x00007ffff5397d0b in ?? () from /usr/lib/liblua.so.5.3
#7  0x00007ffff539386e in lua_callk () from /usr/lib/liblua.so.5.3
#8  0x00000000005d6f78 in set_ref_in_lua ()
#9  0x000000000046ce7d in garbage_collect ()
#10  0x00000000005c1e2c in gui_wait_for_chars ()
#11 0x00000000005aeca0 in ui_inchar ()
#12  0x00000000004c29bf in inchar ()
#13 0x00000000004c49bd in ?? ()
#14 0x00000000004c52f6 in vgetc ()
#15 0x00000000004c5679 in safe_vgetc ()
#16 0x000000000051263d in normal_cmd ()
#17 0x00000000005efa85 in main_loop ()
#18 0x000000000043a230 in main ()
============================================
vim version information:
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Sep 25 2015 01:17:15)
Included patches: 1-873
Compiled by Arch Linux
Huge version with GTK2 GUI.  Features included (+) or not (-):
+acl             +farsi           +mouse_netterm   +syntax
+arabic          +file_in_path    +mouse_sgr       +tag_binary
+autocmd         +find_in_path    -mouse_sysmouse  +tag_old_static
+balloon_eval    +float           +mouse_urxvt     -tag_any_white
+browse          +folding         +mouse_xterm     -tcl
++builtin_terms  -footer          +multi_byte      +terminfo
+byte_offset     +fork()          +multi_lang      +termresponse
+cindent         +gettext         -mzscheme        +textobjects
+clientserver    -hangul_input    +netbeans_intg   +title
+clipboard       +iconv           +path_extra      +toolbar
+cmdline_compl   +insert_expand   +perl            +user_commands
+cmdline_hist    +jumplist        +persistent_undo +vertsplit
+cmdline_info    +keymap          +postscript      +virtualedit
+comments        +langmap         +printer         +visual
+conceal         +libcall         +profile         +visualextra
+cryptv          +linebreak       +python          +viminfo
+cscope          +lispindent      -python3         +vreplace
+cursorbind      +listcmds        +quickfix        +wildignore
+cursorshape     +localmap        +reltime         +wildmenu
+dialog_con_gui  +lua             +rightleft       +windows
+diff            +menu            +ruby            +writebackup
+digraphs        +mksession       +scrollbind      +X11
+dnd             +modify_fname    +signs           -xfontset
-ebcdic          +mouse           +smartindent     +xim
+emacs_tags      +mouseshape      -sniff           +xsmp_interact
+eval            +mouse_dec       +startuptime     +xterm_clipboard
+ex_extra        +mouse_gpm       +statusline      -xterm_save
+extra_search    -mouse_jsbterm   -sun_workshop    +xpm
system vimrc file: "/etc/vimrc"
user vimrc file: "$HOME/.vimrc"
2nd user vimrc file: "~/.vim/vimrc"
user exrc file: "$HOME/.exrc"
system gvimrc file: "/etc/gvimrc"
user gvimrc file: "$HOME/.gvimrc"
2nd user gvimrc file: "~/.vim/gvimrc"
system menu file: "$VIMRUNTIME/menu.vim"
fall-back for $VIM: "/usr/share/vim"
Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK  -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/libdrm -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include  -D_FORTIFY_SOURCE=2  -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong --param=ssp-buffer-size=4 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linking: gcc   -L. -Wl,-O1,--sort-common,--as-needed,-z,relro -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-E -Wl,-rpath,/usr/lib/perl5/core_perl/CORE  -Wl,-O1,--sort-common,--as-needed,-z,relro -L/usr/local/lib -Wl,--as-needed -o vim   -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lglib-2.0 -lfontconfig -lfreetype  -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE  -lm -lncurses -lelf -lnsl   -lacl -lattr -lgpm -ldl  -L/usr/lib -llua -Wl,-E -Wl,-rpath,/usr/lib/perl5/core_perl/CORE -Wl,-O1,--sort-common,--as-needed,-z,relro -fstack-protector-strong -L/usr/local/lib  -L/usr/lib/perl5/core_perl/CORE -lperl -lpthread -lnsl -ldl -lm -lcrypt -lutil -lc -L/usr/lib/python2.7/config -lpython2.7 -lpthread -ldl -lutil -lm -Xlinker -export-dynamic   -lruby -lpthread -lgmp -ldl -lcrypt -lm  -L/usr/lib
Thank you very much. Let me know if you need more information.
Best regards,
Quan

I ran into the same problem here. Using plugins that have Lua components will make Vim segfault randomly (I really couldn't find the exact condition where Vim would crash).
It seems to me this is very similar to Debian Bug 778821. According to the bug status, it was fixed by Path 609 (2459a5ecaa43c8549ea53e9364253ff891676da5).
I'm also using Vim from Archlinux, which definitely includes Patch 609 (at the time I'm writing this, it's 7.4.884).
color_coded is one example plugin that will trigger this issue. There's a bug report related to this: https://github.com/jeaye/color_coded/issues/68

Same problem here

Fixed by 7.4.954?
https://groups.google.com/d/topic/vim_dev/Wt8hE0x3pJ0/discussion

The fix seems very promising and reasonable to me, but I can't say for sure
it fixes the issue. Anyway, I'm pretty sure #468 is a duplicate of this
issue.
I have an environment that triggers this segfault frequently (but still
more or less randomly). I'll test the patch for some time and see
On Thu, Dec 3, 2015, 14:29 Shougo<EMAIL_ADDRESS>wrote:

Fixed by 7.4.954?
https://groups.google.com/d/topic/vim_dev/Wt8hE0x3pJ0/discussion
—
Reply to this email directly or view it on GitHub
https://github.com/vim/vim/issues/434#issuecomment-161807974.

closed by 7.4.954. If it doesn't please open a new ticket.


Fixes #7474 - Handles all redirects for Web UI File CRUD

This fixes Issue #7474, enhancing the commit form to better handle branching and making a patch and going to the pull request creation page once done with a file create/update/delete/upload (it wasn't going to the pull request create page if you selected to make a new branch).
This also fixes how deleting a file in a directory was taking you back to the root, when you should stay in the directory, or go up to the first one that has files.

Codecov Report

Merging #7478 into master will decrease coverage by <.01%.
The diff coverage is 24.44%.

@@            Coverage Diff            @@
##           master   #7478      +/-   ##
=========================================
- Coverage    41.2%   41.2%   -0.01%
=========================================
  Files         469     469
  Lines       63556   63594      +38
=========================================
+ Hits        26189   26201      +12
- Misses      33947   33972      +25
- Partials     3420    3421       +1

Impacted Files
Coverage Δ

routers/repo/editor.go
25.87% <24.44%> (+0.03%)
:arrow_up:

models/unit.go
67.56% <0%> (+5.4%)
:arrow_up:

Continue to review full report at Codecov.

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


bug:

Causing uptime issues!

is it heroku? Elaborate please

is it heroku? Elaborate please

Not sure, it's just like the previous 403 unauthorised error. This might be because of outdated dependency or intents! Atm I'm working of v3 which should remove this issue, if there is any in the code.

is it heroku? Elaborate please

Not sure, it's just like the previous 403 unauthorized error. This might be because of outdated dependency or intents! Atm, I'm working on v3 which should remove this issue, if there is any in the code. https://github.com/Dude-Perfect-Discord-Bot/Dude-Perfect/discussions/141#discussion-3573533

I see, are we rewriting the bot in v3 then?

I see, are we rewriting the bot in v3 then?

Yes! That's why I have been studying examples of sapphire and started refactoring the code for v3.
https://github.com/Dude-Perfect-Discord-Bot/Dude-Perfect/tree/Sapphiredev

o, makes sense


allow noninteractive running

Currently there's no way through Hail Batch to request a test cohort of >= 100 samples, or any of the other situations in which a keyboard input request arises.
This adds a 'noninteractive' flag to skip those confirmation points

Codecov Report
Patch and project coverage have no change.

Comparison is base (5d4404d) 65.29% compared to head (565f7af) 65.29%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #460   +/-   ##
=======================================
  Coverage   65.29%   65.29%
=======================================
  Files          73       73
  Lines        6288     6288
=======================================
  Hits         4106     4106
  Misses       2182     2182

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Sails.io.js WebSocket only works intermittently

Node version: 12.14.1
Sails version (sails): 1.2.4
ORM hook version (sails-hook-orm): 2.1.1
Sockets hook version (sails-hook-sockets): 2.0.0
Organics hook version (sails-hook-organics): N/A
Grunt hook version (sails-hook-grunt): 3.1.0
Uploads hook version (sails-hook-uploads): N/A
DB adapter & version (e.g. sails-mysql@5.55.5<EMAIL_ADDRESS>Skipper adapter & version (e.g. skipper-s3@5.55.5): N/A

Hi,
I have a sails.js application that uses websockets (sails.io) to communicate with a React application.
Most of the time, the socket fails to connect. The error in the React console on the frontend is:
WebSocket connection to 'ws:<URL>/socket.io/?__sails_io_sdk_version=1.2.1&__sails_io_sdk_platform=node&__sails_io_sdk_language=javascript&EIO=3&transport=websocket' failed: WebSocket is closed before the connection is established.
 ====================================
sails.io.js:420  The socket was unable to connect.
sails.io.js:420  The server may be offline, or the
sails.io.js:420  socket may have failed authorization
sails.io.js:420  based on its origin or other factors.
sails.io.js:420  You may want to check the values of
sails.io.js:420  `sails.config.sockets.onlyAllowOrigins`
sails.io.js:420  or (more rarely) `sails.config.sockets.beforeConnect`
sails.io.js:420  in your app.
sails.io.js:420  More info: https://sailsjs.com/config/sockets
sails.io.js:420  For help: https://sailsjs.com/support
sails.io.js:420
sails.io.js:420  Technical details:
sails.io.js:420  Error: websocket error
    at WS.push../node_modules/engine.io-client/lib/transport.js.Transport.onError (transport.js:68)
    at WebSocket.ws.onerror (websocket.js:159)
    at WS.push../node_modules/engine.io-client/lib/transports/websocket.js.WS.doClose (websocket.js:244)
    at WS.push../node_modules/engine.io-client/lib/transport.js.Transport.close (transport.js:98)
    at Socket.push../node_modules/engine.io-client/lib/socket.js.Socket.onClose (socket.js:713)
    at close (socket.js:661)
    at Socket.push../node_modules/engine.io-client/lib/socket.js.Socket.close (socket.js:656)
    at manager.js:263

I have implemented a simple beforeConnect in the backend that looks like this:
  beforeConnect: function(handshake, proceed) {

    // Send back `true` to allow the socket to connect.
    // (Or send back `false` to reject the attempt.)
    console.log(handshake);
    console.log(proceed);
    return proceed(undefined, true);

  },

This should simply show the handshake and continue.
When the connection is successful, which is random and maybe happens 10% of the time, this works as expected and shows the handshake object. I then see that the frontend has connected in the console.
When it does not work, the beforeConnect function doesn't even seem to be called, so I'm not sure that the connection is even reaching the sails app. Since I set io.socket._raw.io._reconnection to true, it tries to reconnect, but again, the sails app doesn't seem to get the connection.
I should note that the same thing works both locally and in production on a cloud foundry service.
For more info, the front end code:
let socketIOClient = require('socket.io-client');
let sailsIOClient = require('sails.io.js');
let io = sailsIOClient(socketIOClient);

// This function is called when the app starts
const initSocket = () => {
    io.sails.url = currentURL; // Set the base URL for sockets
    io.socket._raw.io._reconnection = true;
}

const update = (data) => {
    let roomId = uuidv4();
    let request = {data: data, roomId: roomId};

    store.dispatch(Actions.updateStatus.reset());

    try {
        io.socket.post('/update', request, () => {
            toastr.info('Starting update');
        });

        io.socket.on('success', (success) => {
            store.dispatch(Actions.updateStatus.addSuccess(success.data));
        });

        io.socket.on('failure', (failure) => {
            store.dispatch(Actions.updateStatus.addFailure(failure.data));
        });

        io.socket.on('done', () => {
            io.socket.post('/finishUpdate', {roomId: roomId}, () => {
                toastr.info('Done updating');
                store.dispatch(Actions.updateStatus.signalComplete());
            })
        });
    } catch (err) {
        toastr.error('Socket Failure');
        return;
    }

}

Backend:
pdeUpdate: async function (req, res) {

    let data = req.body.data;
    let updatedBy = 'unknown';

    if (!req.isSocket) {
        sails.log.error('request was not a socket: ' + JSON.stringify(req));
        return res.badRequest();
    }

    var roomId = req.body.roomId;

    sails.sockets.join(req, roomId, function(err) {
        if (err) {
          return res.serverError(err);
        }

        return res.json({
          message: `Subscribed to ${roomId}`
        });
    });
    outerData:
    for (let item in data) {
        try {
            let result = await sails.sendNativeQuery('CALL update($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14);', [... (args here)]);
            if (typeof result.rows !== 'undefined') {
                if (typeof result.rows[0] !== 'undefined') {
                    for (let row in result.rows[0]) {
                        if (typeof result.rows[0][row]['@full_error'] !== 'undefined') {
                            sails.sockets.broadcast(roomId, 'failure', {result: 'failure', data: data[item].name});
                            continue outerData;
                        }
                    }
                }
            }
            if (typeof result !== 'undefined'){
                sails.sockets.broadcast(roomId, 'success', {result: 'success', data: data[item].name});
            }
        } catch (err) {
            sails.log.error('error on row ' + JSON.stringify(data[item]) + err);
            sails.sockets.broadcast(roomId, 'failure', {result: 'failure', data: data[item].name});
            continue;
        }
    }
    sails.sockets.broadcast(roomId, 'done', {message: 'done'});
},

finishUpdate: async function (req, res) {
    let roomId = req.body.roomId;

    sails.sockets.leave(req, roomId, function(err) {
        if (err) {
          return res.serverError(err);
        }

        return res.json({
          message: `done with ${roomId}`
        });
    });
}

Hi @anthozep Thanks for all the detailed info on this issue.  Can you make us an empty Sails repo that reproduces this issue without any of the business logic?

Sure, this will take a bit of time, but I'm on it


Make code platform independent

By creating this pull request, I confirm that I have read and fully accept and agree with one of the Petrobras' Contributor License Agreements (CLAs):

ICLA: Individual Contributor License Agreement on behalf of only yourself;
CCLA: Corporate Contributor License Agreement on behalf of your employer.

Our CLAs are based on the Apache Software Foundation's CLAs:

ICLA: Individual Contributor License Agreement
CCLA: Corporate Contributor License Agreement

Removed conda dependencies in environment.yaml that were built for windows (unsure if they are needed).
Removed build names from environment.yaml
Fixed code relating to path construction that only worked in windows.
Small fix in doc (changed 3w to 3W)

Hi, @pivettamarcos. Thank you for submitting this PR, which will be treated as follows:

README.md will be updated as suggested. The suggested name for the virtual environment is actually 3W. Thank you for pointing out this mistake;
main.ipynb and misc.py will be updated as suggested after confirmation that they are working as expected. It is really desirable that the 3W toolkit and 3W dataset's overviews work on any operating system. Thank you for this contribution;
Changes in environment.yml will not be integrated into the main branch. We recognize that our recommendation for promoting reproducibility results in a very restrictive .yml file, but we believe that excluding build information in this file is not enough to have a more appropriate recommendation. We are studying alternatives, whether with conda or other tools, that promote reproducibility on different operating systems and at the same time reduce restrictions on the .yml file (or alternative format). If you or others in the community have suggestions in this regard, please feel encouraged to submit proposals (either via a specific PR, comments in this PR or dedicated discussion).

Once again, we thank you for your contributions.


Increase the size of virtual box disk during installation?

I would like to customize the default disk size during installation. Increasing the disk after installation is a pain to set up on new machines.

see the output of boot2docker init --help - you can also create a boot2docker config file using the output of boot2docker config


/dexsearch: add 'resists' parameter

wait why did this become two commits? Give me a second to fix that.

Apparently squashing whatever that merge was reverted some changes, uhh...

Okay after Git did many weird things to me I managed to fix it.


Using pnpm + next-css: Module not found: Error: Can't resolve 'extracted-loader'

I'm using pnpm, which has a stricter node_modules structure than npm / yarn. When I install react + react-dom + next + next-css with yarn or npm, packages are flattened to the root node_modules folder, approximately like this:
node_modules/
  @babel/
  @zeit/next-css/
  extracted-loader/
  next/
  react/
  react-dom/
  ... many more packages

However with pnpm, there is no flattening, so the structure looks more like npm<=2's:
node_modules/
  @zeit/next-css/
  next/
  react/
  react-dom/

Due to this structure, when I run my Next.js app, this error occurs:
ModuleNotFoundError: Module not found: Error: Can't resolve 'extracted-loader' in 'myrepo/packages/myapp'
    at factory.create (myrepo/packages/myapp/node_modules/.registry.npmjs.org/webpack/4.20.2/node_modules/webpack/lib/Compilation.js:798:10)
    at factory (myrepo/packages/myapp/node_modules/.registry.npmjs.org/webpack/4.20.2/node_modules/webpack/lib/NormalModuleFactory.js:397:22)
    at resolver (myrepo/packages/myapp/node_modules/.registry.npmjs.org/webpack/4.20.2/node_modules/webpack/lib/NormalModuleFactory.js:130:21)
    at asyncLib.parallel (myrepo/packages/myapp/node_modules/.registry.npmjs.org/webpack/4.20.2/node_modules/webpack/lib/NormalModuleFactory.js:337:24)
    at myrepo/packages/myapp/node_modules/.registry.npmjs.org/neo-async/2.5.2/node_modules/neo-async/async.js:2817:7
    at myrepo/packages/myapp/node_modules/.registry.npmjs.org/neo-async/2.5.2/node_modules/neo-async/async.js:6783:13
    at myrepo/packages/myapp/node_modules/.registry.npmjs.org/neo-async/2.5.2/node_modules/neo-async/async.js:2817:7
    at done (myrepo/packages/myapp/node_modules/.registry.npmjs.org/neo-async/2.5.2/node_modules/neo-async/async.js:2914:13)
    at resolver.resolve (myrepo/packages/myapp/node_modules/.registry.npmjs.org/webpack/4.20.2/node_modules/webpack/lib/NormalModuleFactory.js:447:23)
    at doResolve (myrepo/packages/myapp/node_modules/.registry.npmjs.org/enhanced-resolve/4.1.0/node_modules/enhanced-resolve/lib/Resolver.js:184:12)
    at hook.callAsync (myrepo/packages/myapp/node_modules/.registry.npmjs.org/enhanced-resolve/4.1.0/node_modules/enhanced-resolve/lib/Resolver.js:238:5)
    at _fn0 (eval at create (myrepo/packages/myapp/node_modules/.registry.npmjs.org/tapable/1.1.0/node_modules/tapable/lib/HookCodeFactory.js:32:10), <anonymous>:15:1)
    at resolver.doResolve (myrepo/packages/myapp/node_modules/.registry.npmjs.org/enhanced-resolve/4.1.0/node_modules/enhanced-resolve/lib/UnsafeCachePlugin.js:37:5)
    at hook.callAsync (myrepo/packages/myapp/node_modules/.registry.npmjs.org/enhanced-resolve/4.1.0/node_modules/enhanced-resolve/lib/Resolver.js:238:5)
    at _fn0 (eval at create (myrepo/packages/myapp/node_modules/.registry.npmjs.org/tapable/1.1.0/node_modules/tapable/lib/HookCodeFactory.js:32:10), <anonymous>:15:1)
    at hook.callAsync (myrepo/packages/myapp/node_modules/.registry.npmjs.org/enhanced-resolve/4.1.0/node_modules/enhanced-resolve/lib/Resolver.js:238:5)

webpack sees 'extracted-loader' in its config, so it tries to resolve 'extracted-loader' relative to my application rather than relative to next-css.
Suggested fix
Loaders should be resolved directly in next-css (and other Next.js enhancers), rather than by webpack. Generally, require.resolve can do this. e.g. for next-css, we can replace this:
!isServer && dev && 'extracted-loader',

with this:
!isServer && dev && require.resolve('extracted-loader'),

Just ran into this issue.

I have the same issue

Still seeing this

Yes that's a common problem with a lot of next plugins.
I'm going to take a look at other plugins which may have issues, @elliottsj did a great job !

Hi, thanks for creating an issue. We currently recommend using https://nextjs.org/docs/basic-features/built-in-css-support as the plugins have been deprecated in favor of the built-in support.


Migration for DB backed Service Provider application certs for request object validation

Previously(before IS 5.5.0-alpha) we supported storing application/SP public cert in keystore. Now we have removed that support and moved to DB backed public certificates.
Therefore we would require to provider a migration from public certs in keystore to db backed public certs.

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


Safari on IOS 11 doesn't let write in the inputs

Can you provide more information? or a code example reproducing this?


[FLINK-21721] Add EgressMessageBuilder

The Java SDK is missing a generic egress message builder (an egress that is not Kinesis or Kafka).
This exists in the Python SDK: https://github.com/apache/flink-statefun/blob/master/statefun-python-sdk/statefun/messages.py#L178
And it is used to send messages to custom egresses.

LGTM! Merging.


Create Query API Endpoint

Create a date-range search for searching transactions given the below parameter:

Account
StartDate
EndDate

The result should be sorted in ascending order.

In the process it is found that MongoDB Panache query CANNOT handle multiple conditions with respect to the same variable.  Therefore, the way of "Panache QL" is modified in JSON format, thus able to execute query correctly.


.forRoot() not working

Hi,
The forRoot() method does not seem to work for me.
Here's my package.json:
{
  "name": "my-project",
  "version": "1.0.0",
  "description": "My Project",
  "author": "Alphero",
  "contributors": [
    "Martín Martínez"
  ],
  "license": "UNLICENSED",
  "engines": {
    "node": ">=5.11.0",
    "npm": ">=3.8.6"
  },
  "scripts": {
    "reinstall": "rimraf node_modules && npm cache clean && npm install",
    "postinstall": "npm run typings",
    "typings": "typings install",
    "updatetypings": "typings ls | awk '$2 ~ /.+/ {print $2}' | xargs -I {} typings i dt~{} -SG",
    "prebuild": "rimraf dist",
    "build": "webpack --config config/webpack.prod.js --progress --profile --bail",
    "start": "webpack-dev-server --inline --progress --port 8079 --debug",
    "test": "karma start"
  },
  "keywords": [],
  "dependencies": {
    "@angular/common": "^2.0.1",
    "@angular/compiler": "^2.0.1",
    "@angular/core": "^2.0.1",
    "@angular/forms": "^2.0.1",
    "@angular/http": "^2.0.1",
    "@angular/platform-browser": "^2.0.1",
    "@angular/platform-browser-dynamic": "^2.0.1",
    "@angular/router": "^3.0.1",
    "angular2-recaptcha": "^0.3.4",
    "angular2-text-mask": "^2.1.0",
    "core-js": "^2.4.1",
    "headroom.js": "^0.9.3",
    "moment": "^2.17.0",
    "reflect-metadata": "^0.1.8",
    "rxjs": "5.0.0-beta.12",
    "zone.js": "^0.6.23"
  },
  "devDependencies": {
    "autoprefixer": "^6.4.1",
    "browser-sync": "^2.16.0",
    "browser-sync-webpack-plugin": "^1.1.3",
    "css-loader": "^0.25.0",
    "extract-text-webpack-plugin": "^1.0.1",
    "file-loader": "^0.9.0",
    "html-loader": "^0.4.4",
    "html-webpack-plugin": "^2.22.0",
    "jasmine-core": "^2.5.2",
    "karma": "^1.3.0",
    "karma-jasmine": "^1.0.2",
    "karma-phantomjs-launcher": "^1.0.2",
    "karma-sourcemap-loader": "^0.3.7",
    "karma-spec-reporter": "0.0.26",
    "node-sass": "^3.10.0",
    "null-loader": "^0.1.1",
    "phantomjs-prebuilt": "^2.1.12",
    "postcss-loader": "^0.13.0",
    "raw-loader": "^0.5.1",
    "rimraf": "^2.5.4",
    "sass-loader": "^4.0.2",
    "style-loader": "^0.13.1",
    "ts-loader": "^0.8.1",
    "tslint": "^3.15.1",
    "typescript": "^2.1.0-dev.20160926",
    "typings": "^1.4.0",
    "webpack": "^1.13.2",
    "webpack-dev-server": "^1.16.1",
    "webpack-merge": "^0.14.1"
  }
}

I get the forRoot() is not a function error when going:
import { RecaptchaModule } from 'ng2-recaptcha';
import { BrowserModule }  from '@angular/platform-browser';

@NgModule({
  bootstrap: [MyApp],
  declarations: [MyApp],
  imports: [
    BrowserModule,
    RecaptchaModule.forRoot(), // Keep in mind the "forRoot"-magic nuances!
  ],
})
export class MyAppModule { }

Let me know if you need further information.
Cheers!
Martín.

To start with, I don't see the ng2-recaptcha module referenced in your package.json, just the angular2-recaptcha (which is a different library). Could you please double-check that you're posting issues to the correct repo / using the right module?

Hi,
Sorry about that. I moved to a different recaptcha implementation after this did not do it for me.
The rest of the setup is what I had when I tried yours.
Cheers!
Martín.

Do you mind also posting your tsconfig.json contents? I cannot reproduce the issue you're seeing so far, maybe that will help

Thanks for the quick reply, man.
Here's my tsconfig.json:
{
  "compileOnSave": false,
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": true,
    "noImplicitAny": false,
    "baseUrl": ".",
    "paths": {
      "*": [
        "app/components/*",
        "app/*"
      ]
    }
  },
  "exclude": [
    "node_modules",
    "dist",
    "typings/index.d.ts",
    "app/assets",
    "app/styles"
  ]
}

I hope that helps. :)
Cheers!
Martín.

@loqtor sorry, but still no progress on that. Instead of me asking you to post a gazillion files here, here's what you can do. The gh-pages branch has the source code for demo site. The files you might be interested in are /examples/app/main-basic.ts and pretty much the rest of /examples/ directory :)
If you could also create a plunker that shows the issue, that would be awesome! You can use this as a starting point.
I'm sorry to hear that this didn't work for you.

No worries, man.
It must be something on my side. I was more about letting you know that the instructions were a bit misleading, since it seemed a real shame given that you did a really good job on this module. :)
Once again, thanks for your help.
Cheers!
Martín.

Thx, @loqtor !
I'm going to leave this one open for now - if anyone else encounters this issue, please submit a comment

Closing this issue since no more complaints have been heard


Doesn't install. I get errors.

C:\Users\azlan>npm install deskgap
npm WARN deprecated<EMAIL_ADDRESS>request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated<EMAIL_ADDRESS>this library is no longer supported
npm WARN deprecated<EMAIL_ADDRESS>Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.

<EMAIL_ADDRESS>postinstall C:\Users\azlan\node_modules\deskgap
node install.js

Downloading deskgap-v0.2.0-win32-ia32.zip
Error: GET https://dl.bintray.com/patr0nus/DeskGap/deskgap-v0.2.0-win32-ia32.zip returned 403
Error: GET https://dl.bintray.com/patr0nus/DeskGap/deskgap-v0.2.0-win32-ia32.zip returned 403
at Request. (C:\Users\azlan\node_modules\nugget\index.js:169:61)
at Request.emit (events.js:376:20)
at Request.onRequestResponse (C:\Users\azlan\node_modules\request\request.js:1059:10)
at ClientRequest.emit (events.js:376:20)
at HTTPParser.parserOnIncomingClient (_http_client.js:647:27)
at HTTPParser.parserOnHeadersComplete (_http_common.js:126:17)
at TLSSocket.socketOnData (_http_client.js:515:22)
at TLSSocket.emit (events.js:376:20)
at addChunk (internal/streams/readable.js:309:12)
at readableAddChunk (internal/streams/readable.js:284:9)
npm WARN enoent ENOENT: no such file or directory, open 'C:\Users\azlan\package.json'
npm WARN azlan No description
npm WARN azlan No repository field.
npm WARN azlan No README data
npm WARN azlan No license field.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"ia32"})
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>postinstall: node install.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR!      C:\Users\azlan\AppData\Roaming\npm-cache_logs\2021-06-06T18_19_54_847Z-debug.log

please check other issues first, before opening new one
https://github.com/patr0nus/DeskGap/issues/73#issuecomment-853504942
also use code blocks to paste log


tools: API boosting support for rewriting elaborated types.

This PR introduces API boosting support for ElaboratedTypeLoc, one of a
number of Clang AST nodes that we need to analyze and rewrite to move to
the latest type according to the type database.
The approach taken is to generate a replacements YAML file suitable for
consumption by clang-apply-replacements; this is how clang-tidy works
internally. Replacements are a series of patch like file transformation
operations, Clang has nice support for building replacement sets and
serializing to YAML.
This PR also starts to split out api_booster into more modules (just
some utils to start with), introduces some more unit tests and a golden
C++ source file test framework.
Risk level: Low
Testing: New unit and e2e golden tests added.
Signed-off-by: Harvey Tuch<EMAIL_ADDRESS>

Note that CI tests are coming, I need to sort out https://github.com/envoyproxy/envoy/issues/9339 first.


Linux Compatibility

Adjusted dependencies and tweaked a little code to get compatibility with linux

Everything still working, thanks again for the pr


chore: update CRDs to v1.8.0

This PR was automatically created by 🏗 Update CRDs workflow on run #10899337479.
This was triggered by commit refs/tags/v1.8.0 on traefik/hub-crds.

no-merge: feature not ready yet.


Compress to '.zip' on macOS.

.zip is more familiar as a compressed file extension to macOS users than .tar.gz because it's used by default in the Finder.

Should we work on this halfway step when .dmg is the most familiar file extension for application bundles for macOS users? If we can achieve deterministics DMGs with docker, I vote that we publish those instead of tar.gz

Good point @nylira

Sounds good.

FYI the reason we are using .tar.gz instead of .zip/.dmg is because there will need to be some extra work to make them deterministic. This will probably mean overwriting some timestamps or something like that.
.tar.gz was just an easy solution for the time-being.

.zip is already deterministic.  We're using it for Windows.


[Processing Request]: Idaho CSLC-S1

Venue
PST
Product
CSLC-S1
SAS Version
No response
SDS Version
No response
Input Data
Idaho_t71_frame_18896.txt
Share Results

[ ] Google Earth Engine (GEE)
[ ] NASA Distributed Active Archive Centers (DAAC) User Acceptance Testing (UAT)

Additional Notes
No response

Static layers derived from the following:
S1A_IW_SLC__1SDV_20190926T134916_20190926T134946_029193_0350BD_FB9B
S1A_IW_SLC__1SDV_20191101T134935_20191101T135005_029718_0362E9_1BB3
S1A_IW_SLC__1SDV_20170620T134937_20170620T135007_017118_01C89B_6BF1

Output manifest: request_35_outputs.txt


False Result on Many websites

There is several issue, I can try to pull requests for somes websites.
The thing is we get false result on every websites.

yes i'm aware of that. This will be fixed in the next release in a few days. :D


Getting ERROR `/css/main.css' not found

Hi, after cloning the project I get ERROR `/css/main.css' not found
Any idea why?
Thank you

I gave it a go and didn't run into that error, only thing I can think of is maybe a jekyll version issue?  I am on version 3.8.3.

Unfortunately I don't have any ideas.  I installed ruby and jekyll on a clean Mac OS VM, cloned the repo and ran jekyll s... no errors popped up.

It works when running jekyll new generator without passing the --blank flag.
Maybe related to the jekyll-sass-converter gem, and it not being present when running with --blank..
Thank you anyways!


Issue in updating the document via lan

Hello Team,
I have deployed the docker container on one machine and I am trying to access the application using private IP over port 8484(Via Lan). I am able to access the UI but as and when I try to update the document (from the remote system over LAN). I see this error
Client error message =Unexpected quantifier.

![Uploading 169202579...]

Thanks for reporting this @opsbuddies. What browser is this with?

@paulfitz Every browser I tried on remote computer, Just for reference - I tried Firefox and IE

This is the error message in logs - Client error message =Unexpected quantifier.
I will share the detailed logs as well. But just to reinitiate my statement my docker container and application works good when using localhost:8484 This error only occurs when I try to access the UI from private IP on another system (Over LAN)

I did a little digging. It looks like you are using Firefox/68.0 (from a message in the screenshot), which is from 2019, and it indeed fails on parsing a regular expression, as Paul suspected. The regular expression comes from the moment-guess library, which uses "named capture groups". According to https://caniuse.com/mdn-javascript_builtins_regexp_named_capture_groups, those are supported on Firefox since version 78 (released June 2020), and not supported on IE at all.
Might you be able to update Firefox on the remote system from which you are trying to access Grist, and try again?

@dsagal This helped, thank you so much we can close this issue.
Just a quick question will it support previous versions of mozilla/chrome? In further releases?

@opsbuddies I think we are unlikely to grow our support of older versions of browsers, since by their nature they matter to fewer and fewer people as time goes on. One option if you really need this would be to hire a developer to figure out the code changes needed for your situation.


getError always return an error even if touched is true

Right now, getError always return an error message if the field is invalid, even if it isn't marked a touched yet. I think this is fine, but it makes writing code using error strings a bit complicated.
I'm wondering if you'd be open to add a getTouchedError function API that would only return an error message if a field was actually touched?

You can simply combine the touched and error values to achieve this functionality. If you really want some custom logic/style etc for your inputs, I would recommend creating your own custom fields via the FormField component. Also, stay tuned for V2 of react form, it will be published soon and the docs have example of how to create your own custom fields. When you do just use the getToucehd and getError functions that are exposed tot he formFields.

@joepuzzo right now the issue is <FormError /> always returns a components, so we need to combine a lot of logic to know if we need to display an error message or not. If it returned null when empty, this might also fix the problem without extra function.

Check out https://react-form.js.org/#/custom-input and tell me if thats getting close to what you need. That custom input shows how to use the getError, getWarning, and getSuccess functions to hide or show messages. Would using the getTouched fix this issue?

@joepuzzo's new custom input HOC's should do the trick. This is much better now. Going to close for now.

Hey guys, I've had some time to play with the new custom-input, and I don't think this match our use case.
The issue is custom inputs also always returns a value (a react component). I was initially hoping the custom components could returns null, but because of the dependency on context, we need to create an component instance; so the error is still always truthy.
What I need is a way to know outside of the form context if an error for n field is displayed or not.
Right now we just hack it with:
const getTouchedError = field => {
    if (getTouched(field)) {
        return getError(field);
    }
    return undefined;
};

Any chance we could modify the current API to allow that? Could be adding a new function to formApi or maybe an option to getError? Like getError(field, requireTouch)?

Why not just display error under this case ‘if( getTouched( field ) && getError( field )’

In fact, I do this in all of my custom inputs AND I also have this check as well for another use case if( getTouched( field ) && getValue( field ). << that will only show error if user interacts with field.

This just feel like a common enough use case that could be solved in react-form rather than everyone having to write the logic (+ unit tests) every time.

Agreed but you really only have ti write one function and one test. It would start to get messy if react form had a function for every combination of getters. I get that u are asking for only one. But one simple helper method written once would solve your issue

That being said i am working on an update that willl include what i call, styled inputs, that will apply classes to he inputs and have props for things like this.


Mypy check seems not working in PR check.

Mypy is important piece to keep our code readable and it seems like not working in PR check.
Example PR: https://github.com/lyft/amundsendatabuilder/pull/48

does mypy work for py27? Databuilder currently still runs on py27 instead of py36.

Yep, Mypy is not limited by version -- was working fine when it was internal. It needs to use different convention # type but it seems PR is not checking that.


Use javascript not  AutoComplete?

VSCode Version: 1.0.0
OS Version: win8.1

In the old version:

Now:

What should I do can be as old as ?

以上问题是根据 官方文档中智能感知 提出。

Intellisense now only works for .js files. So you have to save the file with .js suffix and it will work as before.

@egamma Thank you so much.


Remove mock from requirements.txt

mock is a test dependency and as such should not live in the requirements.txt file.
Its usage is directly specified in tox.ini
This was introduced in 64cf924 (#1157)

:+1:

That was fast − thanks @brutasse!
(By the way, I did all my recent few PRs against master − should I backport all or part to 0.9.x ?)


Added links to elmah.io

Here are the changes in regards to the sponsored post. I also updated the link to the ELMAH open source project, since that moved from google code to GitHub recently.

Looks good to me. I will go ahead with the merge when I'm back home this evening ! Thank you!

Sounds great. I just updated the urls with some google analytics campaign data.

Build just finished and its live https://dusted.codes/demystifying-aspnet-mvc-5-error-pages-and-error-logging

Awesome. Thanks.


Labeling & moderation updates [DRAFT]

Blocked on https://github.com/bluesky-social/atproto/pull/1366

[x] Switch to new labeling SDK (https://github.com/bluesky-social/atproto/pull/1366)
[x] Improved moderation UIs including explainer modals
[x] Implement rendering of blocked and deleted quote posts
[x] Fix incorrect handling of moderation action on quoted posts
[x] Place replies which have moderation states at the bottom of the thread
New moderation behaviors:

[x] Post and profile "alerts"
[x] Profile information (display name, bio) blurring
[x] Show moderation state on profile listings (eg muted, blocked, content warnings, etc)

Fixes to filtering

[x] Do not filter users from mutelists, search results, etc (this often creates confusion)
[x] Do filter users from discovery (suggested follows)
[x] Replies and quotes to muted and blocked content should now be filtered

Future tasks:

Update moderation config to use labeling SDK

How are you planning on labeling accounts as "pornography"? Is that something that people can mark on their own accounts or is it applied automatically with an algorithm?

How are you planning on handling labeling accounts as "pornography"? Will that be self-determined by those people, or is it applied automatically based on an algorithm?

I don't understand why flagging a whole account as porn makes sense vs just the content? And I assume this means those whole accounts will poof out of the default iOS app by default?
And how would an account get unflagged?

Why label an entire account as pornography? Most sex worker accounts post things that are completely unrelated to their jobs and many non-pornographic accounts have explicit posts from time to time.

Please make it so that individual post can be labeled. Our SWs have more to offer than nudity. I also want to have their humor, their thoughts, and their interactions.

I will also urge you not to label whole accounts as pornography, as I have many times before. This in addition to replies at bottom is becoming a level of shadowbanning and will likely lead to more targeting and other harms. A huge benefit of the platform is that posts are weighed individually, not as an aggregate for the account. With account level shadowbans there are few reasons for many to use this platform over others. I would also urge you to speak with a variety of industry professionals about these things such as Jessica Stoya who has offered before.

the ability to self-flag nsfw posts would solve the same problem without having to label entire accounts

In the history of account labeling, marking whole accounts as "pornography" has been greatly weaponized against sex workers and trans folks. I highly recommend removing that tag.

I feel like automatically labeling entire accounts as "pornography" isn't a good thing, it seems like it boils down certain accounts to that being all they do. Self-labeling NSFW posts could be better, I think

I think labeling entire accounts misses the nuance of the content users might be sharing. Blanket solutions like this don't work.

Please do not read into the usage of the "Pornography" label in these screenshots -- it's used as an example of some specific behaviors and is not meant to communicate our plans to use the label in that context.
I do understand the concerns about the potential for moderation tools to suppress valid activity on the network. I shouldn't have used that label in the PR screenshots, and I apologize for creating concerns in doing so. What I was intending to do was demonstrate a particular set of generic behaviors; I was not attempting to communicate anything about our policies.

A bit more context:
The labeling system is a part of the overall moderation system that's still being finished. Aspects are still somewhat incomplete such as processes for appeals and tools for self-labeling. This update is specifically to improve on the implementation of labels, blocks, and mutes. It does not represent the final labeling system or the full moderation system, but is rather a piece of the overall system. You can read about these particular systems in the following (WIP) documents:

Labels Reference. This is not final and has some entries I'm pretty unsure of. IMPORTANTLY the set of labels which the systems supports is wider than the ones we do apply, which I'll expand upon below.
Post Moderation Behaviors. This shows the effects of different moderation actions on posts in different contexts.
Profile Moderation Behaviors. This shows the effects of different moderation actions on profiles in different contexts.

Now let me clarify the question about the Pornography label. If you look in the Moderation Behaviors documents above, you'll see that there are different effects depending on where a label is applied to. There are 3 main label targets being developed here (the account itself, the profile record, and a post record) and this has a diverse set of effects depending on the context. For instance:

Placing a label that "blurs" content (for instance intolerant) on a profile will cause the avatar and the bio information to be hidden
Placing a label that "blurs" media (for instance pornography) on a profile will only cause the avatar to be hidden
Placing a label that "alerts" (for instance scam) on a profile will only cause a warning to show

There is a wide combination of behaviors here, and all of them are important capabilities for the system to have. Again, what I was trying to do was demonstrate the second behavior.

I have more to say but I'm going to do so in a followup so as to not leave people waiting.

@pfrazee What protections will there be for users to not be targeted with this sort of labelling structure? It's my understanding that the nature of AT protocol allows for a high degree of customization, building tools on top of existing infrastructure. How can you ensure this doesn't happen?

I would second that it's not the actual specific labels, but the feature itself here which is inherently abusable.
It seems like all of the proposed use cases would better handled either (a) via account deletion for TOS violation or (b) by users simply seeing the account and bio and then deciding themselves whether they want to follow/interact.
Most of the stuff like filtering porn could, as far as I can tell, be solved much more cleanly by just allowing users to self-tag posts.

@watsonkm core issue is where does the platform draw the line regarding proactively labeling content vs putting the onus on users to do so; I briefly go into detail here: https://bsky.app/profile/purposeunknown.xyz/post/3k3m42bqyja2i

@PurposeUnknown I definitely think you make a great point, but also think that this feature doesn't serve the problem you raise.
Mute lists and action from a moderation team together work in complement to help manage legal compliance and remove truly awful content while allowing users to tune their experience toward their preferences.
Labels on accounts appears (to me) superfluous in the sense that either a mute list or TOS option could do the same thing (depending on if it's a "this is wildly illegal" or "people may prefer not to see this") without the significant potential for negatively affecting sex workers and trans folks.

@pfrazee Here is an account that was hidden due to nudity in the PFP (understandable). The user had no clue. Had to tell them myself cause (in a funny turn) all the text posts were hitting the Lewds feed and it's still like he doesn't exist if you don't opt into NSFW even after changing stuff.
From your response, is this refinement something that would alleviate this kind of situation? If so, can't you see how these flags on the grounds of "pornography" is incredibly worrying if we already have an account that's now stuck in a flagged state?
This is the account: https://bsky.app/profile/0b1nr4y.bsky.social

To be clear: it's an active dialogue to get these systems right, and then an active dialogue to create the policies for using these systems. It's going to take some iteration and active feedback. If you want to laugh, you should check out the insane matrix of effects in the post moderation doc. This thing is pretty complex, and I'm not going to claim I got it all right from the get go.
I want to address some specific questions:

Are the labels in the atproto repo the final set? No they are not. They are drawn from the original proposal document shared a while back, but the labels will be an evolving system. I have some pretty specific concerns about the ones present in there; see for instance this commit where I dropped the CSAM label in favor of using other systems due to concerns about highlighting the illegal content. I have a similar concern about the nonconsenual-nudity label. The label set and behaviors are a work in progress.
Should labels ever be placed on entire accounts instead of individual records? Generally we should avoid it. A case where we would do that is systemic behavior like spam. A case where that would be going too far is porn. At the moment the label definitions don't specify which targets are valid for a label -- the thinking was that moderation teams would make the choice at their discretion -- but I can see a case being made for codifying the allowed targets in the label definitions.
Which of the labels does Bluesky plan to use, and when? I'm talking with the T&S team to get their current policy table for this. Will follow up.
Some of the labels seem pretty subjective, what's that about? If you look at the list of labels in the other PR you'll notice some that are pretty subjective, such as the Curation group. These are oriented toward some speculative design-thinking about community driven labeling, where you have a higher trust relationship with the people doing the labeling. I still haven't fully wrapped my head around how that will work, so I'm pretty ambivalent about having included them in the PR. It might be wise to cut those out until we're confident they can be applied in a trustworthy fashion, but I was trying to think ahead.
How does a label get appealed? Right now, you'll be contacted by our moderation team by email if an action is taken and you can appeal by emailing them. I'm actively working on the protocols for this in the federated context.
Is self-labeling coming? Yes, it's driving me crazy that it's taken so long to get done. I much prefer self-labeling.
What protections will there be for users to not be targeted with this sort of labelling structure? from arielsilvestri. This is another protocol design choice I'm actively working on because I'm also actively concerned about how labeling and user-lists could be abused in a system with no mechanisms for accountability. For the past 2 weeks, I have been heads-down on this code during the day, and working on design docs for accountability and anti-abuse at night.

Again, I apologize for how these PRs came off. I'm honestly not used to this much focused external attention on PRs. These came together after 2 weeks of pretty extensive heads-down work, and I was racing to the finish line last night at around 1am.

@pfrazee Here is an account that was hidden due to nudity in the PFP (understandable). The user had no clue. Had to tell them myself cause (in a funny turn) all the text posts were hitting the Lewds feed and it's still like he doesn't exist if you don't opt into NSFW even after changing stuff.

From your response, is this refinement something that would alleviate this kind of situation? If so, can't you see how these flags on the grounds of "pornography" is incredibly worrying if we already have an account that's now stuck in a flagged state?

This is the account: https://bsky.app/profile/0b1nr4y.bsky.social

Yes! That is a case which we are specifically attempting to fix with this update. Because the label targets are now much more refined, it will be possible to apply the nudity label to the profile record. The nudity label uses the blur-media behavior, which on profiles means it will only cause the PFP to get blurred.

Paul thanks for that clarification, but do you have time to change the example images used to not mention pornography? x

@pfrazee Here is an account that was hidden due to nudity in the PFP (understandable). The user had no clue. Had to tell them myself cause (in a funny turn) all the text posts were hitting the Lewds feed and it's still like he doesn't exist if you don't opt into NSFW even after changing stuff.

From your response, is this refinement something that would alleviate this kind of situation? If so, can't you see how these flags on the grounds of "pornography" is incredibly worrying if we already have an account that's now stuck in a flagged state?

This is the account: https://bsky.app/profile/0b1nr4y.bsky.social

Yes! That is a case which we are specifically attempting to fix with this update. Because the label targets are now much more refined, it will be possible to apply the nudity label to the profile record. The nudity label uses the blur-media behavior, which on profiles means it will only cause the PFP to get blurred.

it needs to be clear to new users that not using a SFW profile pic results in actions like this. additionally some sort of yes/no this is okay or not scan on the pic before publishing

The T&S team gave me this list as the current labeling policy. I will describe their effects according to the PRs as they are right now.

nudity

Definition: Nudity which is not sexual, or that is primarily artistic in nature.
Applied to:

posts - blurs the images
profiles - blurs the PFP

porn

Definition: Images of full-frontal nudity (genitalia) in any sexualized context, or explicit sexual activity (meaning contact with genitalia or breasts) even if partially covered.
Applied to:

posts - blurs the images
profiles - blurs the PFP

sexual

Definition: Content that does not meet the level of "pornography", but is still sexual. Some common examples have been selfies and hornyposting with underwear on.
Applied to:

posts - blurs the images
profiles - blurs the PFP

gore

Definition: Intended for shocking images, typically involving blood or visible wounds
Applied to:

posts - blurs the images
profiles - blurs the avatar

nsfl

Definition: "Not Suitable For Life." This includes graphic images like goatse.
Applied to:

posts - blurs the images
profiles - blurs the avatar

torture

Definition: Depictions of torture of a human or animal
Applied to:

posts - blurs the post
profiles - blurs the avatar, display name, and bio

self-harm

Definition: A visual depiction (photo or figurative) of cutting, suicide, or similar. Used for images only.
Applied to:

posts - blurs the images
profiles - blurs the avatar

impersonation

Definition: Accounts which falsely assert some identity
Applied to:

account - places an alert on the profile, the avatar, and their posts

spam

Definition: Repeat, low-quality messages which are clearly not designed to add to a conversation or space
Applied to:

account - places an alert on the profile, blurs the avatar, blurs their posts
posts - blurs the post

intolerant-*

Definition: A set of labels applied to hateful or intolerant content; the individual labels include race, gender, sexual orientation, religion, and a catchall.
Applied to:

posts - blurs the post
profiles - blurs the avatar, display name, and bio

icon-intolerant

Definition: Visual imagery associated with a hate group, such as the KKK or Nazi, in any context (supportive, critical, documentary, etc)
Applied to:

posts - blurs the images
profiles - blurs the avatar

!warn

Definition: A general "content warning" used as an emergency fallback to handling situations that aren't covered by anything else.
Applied to:

posts - blurs the post
profiles - blurs the avatar, display name, and bio
account - blurs the avatar, display name, bio, and posts

Paul thanks for that clarification, but do you have time to change the example images used to not mention pornography? x

I don't have time atm to replace them so I just removed them for now.

nsfl label? Didn't you mean NSFW?

nsfl label? Didn't you mean NSFW?

He specifically cited Goatse as an example of NSFL. And while you're right that it's not safe to work, very few people are going to sticking their hands in their pants as a result of an image like that.

@antoniocali nsfl looks to be related to gore but without blood. guessing something like an X-ray of a severely mangled hand would fit there. grotesque is clearer to me imo.

notes:

self flagging nsfw content will not solve this issue since the proposals say that the most extreme label will always be adopted

I do not understand why a nude pfp would cause all media posts to be labeled instead of just the pfp itself being blurred. A NSFW profile photo does not effect everything else an account does, unlike a pfp that implies impersonation affecting all actions by an account

I do not understand why a nude pfp would cause all media posts to be labeled instead of just the pfp itself being blurred. A NSFW profile photo does not effect everything else an account does, unlike a pfp that implies impersonation affecting all actions by an account

I think you may be responding to something which is currently happening to a user. That is not the desired or intended behavior, and part of this PR is to address that.
The correct behavior, as this PR is intended to establish, is to label the profile record for nudity. Since nudity's effect is to blur media, the only intended result is that the PR will blur the PFP. (The logic of this being that the PFP is an image record attached to the profile record.)

I do not understand why a nude pfp would cause all media posts to be labeled instead of just the pfp itself being blurred. A NSFW profile photo does not effect everything else an account does, unlike a pfp that implies impersonation affecting all actions by an account

I think you may be responding to something which is currently happening to a user. That is not the desired or intended behavior, and part of this PR is to address that.
The correct behavior, as this PR is intended to establish, is to label the profile record for nudity. Since nudity's effect is to blur media, the only intended result is to blur the PFP. (The logic of this being that the PFP is an image record attached to the profile record.)

Ty Paul, I'll pass this forward

I do not understand why a nude pfp would cause all media posts to be labeled instead of just the pfp itself being blurred. A NSFW profile photo does not effect everything else an account does, unlike a pfp that implies impersonation affecting all actions by an account

I think you may be responding to something which is currently happening to a user. That is not the desired or intended behavior, and part of this PR is to address that.
The correct behavior, as this PR is intended to establish, is to label the profile record for nudity. Since nudity's effect is to blur media, the only intended result is to blur the PFP. (The logic of this being that the PFP is an image record attached to the profile record.)

Thanks. I had assumed as much from your later comments and also tried to clarify for people freaking out on BSky tonight. That this is, on the whole, a current problem that this actually fixes somewhat. <3


Enable size & color definitions in icon literal

Let an icon literal contain additional definitions for size and color, such as

icon-code
icon-code:icon-size
icon-code:icon-size:icon-color

Fixed with https://github.com/aalmiray/ikonli/commit/74d31a8ae1ce025717c59ba15e5d9315b4dc4bba


Sync opendatahub-io/kubeflow v1.9-branch to main

+ git push origin main
remote: error: GH006: Protected branch update failed for refs/heads/main.
remote:
remote: - 2 of 2 required status checks are expected.
To https://github.com/red-hat-data-services/kubeflow.git
 ! [remote rejected]   main -> main (protected branch hook declined)
error: failed to push some refs to 'https://github.com/red-hat-data-services/kubeflow.git'

Still having problems in https://github.com/red-hat-data-services/rhods-devops-infra/actions/runs/12394487743/job/34598072628

/override odh-notebook-controller-e2e
ClusterOperators:
	clusteroperators are missing

level=fatal msg=failed to fetch Cluster: failed to fetch dependency of "Cluster": failed to generate asset "Platform Quota Check": error(MissingQuota): compute.googleapis.com/routers is not available in global because the required number of resources (1) is more than remaining quota of 0, and could not find information on iam.googleapis.com/quota/service-account-count
Installer exit with code 1


Avoid iloop externalizing diagnostics for invalid references

What
Don't store Vals with broken object references in the diagnostic event log.
Why
This avoids an infinite loop / recursion. There may be better solutions.
This is a followup to https://github.com/stellar/rs-soroban-sdk/pull/1068 where I was experimenting with feeding the Env objects with invalid references.
The Host has a check_val_integrity function that is called on every Val it sees in order to prevent bad Vals from entering the environment, in particular it errors when it sees objects with broken references.
This function ends up calling visit_obj_untyped. When that function fails to find an object body it returns this
            Err(self.err(
                ScErrorType::Object,
                ScErrorCode::MissingValue,
                "unknown object reference",
                &[obj.to_val()],
            ))

When diagnostics are on, the effect of this is to log an "unknown object reference" event that contains the broken object, then immediately generate an error; while generating that error it attempts to externalize the diagnostic it just logged;
that diagnostic contains a broken object, and while externalizing it will generate more errors, etc. forever.
It is not clear to me why this doesn't smash the stack, but instead iloops (maybe the XDR DepthLimiter is helping). Here is a ~3k frame backtrace captured in gdb: https://gist.github.com/brson/aa2799208123895316228ca0cb425317
Known limitations

This loses information about the broken object.
There may be other ways to get into similar situations with the event log.

I may not be seeing it smash the stack because it is potentially generating exponentially increasing numbers of diagnostics at each recursion level. Just taking a long time to hit the end of the stack.


Add support for ipsec accelerator extern

PNA extern for IPsec:
	// IPsec accelerator result for the current packet
	enum ipsec_status {
	    IPSEC_SUCCESS,
	    IPSEC_ERROR
	}

	// IPsec accelerator extern definition
	extern ipsec_accelerator {
	                // IPsec constructor.
	                ipsec_accelerator();

	                // Set the security association (SA) index for the current packet.
	                //
	                // When not invoked, the SA index to be used is undefined, leading to target dependent
	                // behavior.
	                void set_sa_index<T>(in T sa_index);

	                // Set the offset to the IPv4/IPv6 header for the current packet.
	                //
	                // When not invoked, the default value set for the IPv4/IPv6 header offset is 0.
	                void set_ip_header_offset<T>(in T offset);

	                // Enable the IPsec operation to be performed on the current packet.
	                //
	                // The type of the operation (i.e. encrypt/decrypt) and its associated parameters (such as
	                // the crypto cipher and/or authentication parameters, the tunnel/transport mode headers,
	                // etc) are completely specified by the SA that was set for the current packet.
	                //
	                // When enabled, this operation takes place once the deparser operation is completed.
	                void enable();

	                // Disable any IPsec operation that might have been previously enabled for the current
	                // packet.
	                void disable();

	                // Returns true when the current packet has been processed by the IPsec accelerator and
	                // reinjected back into the pipeline, and false otherwise.
	                bool from_ipsec(out ipsec_status status);
	}

This extern is to be included in dpdk specific pna.p4
Pseudo Header for IPsec accelerator (platform_hdr_t)
This a pseudo header inserted by the compiler with one field for security association index. This header needs to be instantiated in the main encapsulating header struct which is passed as argument to MainParser and MainControl

			T is a bit type
			header platform_hdr_t {
			    T sa_id;
			}

			struct headers_t {
			    ... existing headers
				platform_hdr_t ipsec_hdr;
			}

Insert the pseudo header only if ipsec_accelerator is instantiated and enable is called.
3. IPSec needs 4 location registers. Size of these registers is 1 and these are set by the    control plane.
   ipsec_port_out_inbound
       ipsec_port_out_outbound
       ipsec_port_in_inbound
       ipsec_port_in_outbound

Method “set_sa_index”: sets the ipsec_hdr.sa_id field.
Method “enable”:
a. Needs to validate the ipsec_instrisic header: ipsec_hdr.setValid()
b. Needs to set the output port to the IPsec output port. This is done in the beginning of deparser, so that if there are multiple calls to enable and disable, the setting of output port for ipsec is done just once.

	1. if (ipsec_hdr.isValid())
		port_out = (direction == NET_TO_HOST) ? ipsec_inbound_port_out : ipsec_outbound_port_out ;
	2. //Deparser original start
	3. emit(ipsec_hdr)
	4. emit(rest of the headers)

Method “disable”:
a. Needs to invalidate the ipsec_hdr: ipsec_hdr.setInvalid()
Method “from_ipsec”:
a. Needs to test if the input port is equal to the IPsec accelerator port
b. Currently, for P4-DPDK, the status is always set to “success”.

status = SUCCESS
from_ipsec = (port_in == ipsec_port_in_inbound) && (port_in == ipsec_port_in_outbound)

Closing as up-streamed


[fontconfig] build failure

Host Environment

OS: Ubuntu 18.04.5 LTS
Compiler: gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0

To Reproduce
Steps to reproduce the behavior:
apt install -y automake autopoint gperf libtool # needed to build

install:
./vcpkg install fontconfig

This happens in a Google colab notebook environment in particular: https://colab.research.google.com/drive/16t70NhnnnxQhA3Nn5-6djFqGmkQatO7j?usp=sharing
Failure logs
-- Performing post-build validation
There should be no empty directories in /content/vcpkg/packages/fontconfig_x64-linux
The following empty directories were found:

    /content/vcpkg/packages/fontconfig_x64-linux/share/fontconfig/locale/zh_CN/LC_MESSAGES

If a directory should be populated but is not, this might indicate an error in the portfile.
If the directories are not needed and their creation cannot be disabled, use something like this in the portfile to remove them:

    file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/a/dir" "${CURRENT_PACKAGES_DIR}/some/other/dir")

Found 1 error(s). Please correct the portfile:
    /content/vcpkg/ports/fontconfig/portfile.cmake
-- Performing post-build validation done
Error: Building package fontconfig:x64-linux failed with: POST_BUILD_CHECKS_FAILED

Additional context
Looks like files in that directory are provided in the RPM package (https://centos.pkgs.org/8/centos-baseos-x86_64/fontconfig-2.13.1-3.el8.i686.rpm.html) [and other managers], so this seems like a port bug.

I have the feeling that this happens due to gettext (msgfmt or similar) not being found on configure.

On my machine:
autoreconf: Entering directory `.'
autoreconf: running: autopoint --force
autopoint: *** The AM_GNU_GETTEXT_VERSION declaration in your configure.ac
               file requires the infrastructure from gettext-0.19.8 but this version
               is older. Please upgrade to gettext-0.19.8 or newer.
autopoint: *** Stop.
autoreconf: autopoint failed with exit status: 1

We really need to add tool port auto-tools to vcpkg.

change
https://github.com/microsoft/vcpkg/blob/65d742a57d9f6db031f8e9a356feb1dca4211cd3/ports/gettext/portfile.cmake#L59
to
vcpkg_install_make()
and it will install autopoint and the tools for localization. You then just need to put them on the path for the port.

@JackBoosY — I reproduced the issue you saw with AM_GNU_GETTEXT_VERSION when trying to install the port on a clean Ubuntu 16.04 system. Either way, it seems these two issues are different but might have the same underlying cause. Can I help in any way? Is the gettext version issue going to be fixed?

@jacobkahn According to the error message, we want to solve this issue from the surface is very simple: remove this empty folder.
But looking deeper, I want to confirm whether this will affect other parts of the configuration.

In SOURCE/po-config/Makefile.in.in line 298 and SOURCE/po/Makefile.in.in line 297:
	      ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
	      ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
	      cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
	      echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \

I think that's why this empty folder was installed.

I think that's why this empty folder was installed.

the folder is not empty for me but contains the zh_CN translation

installing ./zh_CN.gmo as /cygdrive/E/vcpkg_folders/fontconfig/packages/fontconfig_x64-windows/E/vcpkg_folders/fontconfig/installed/x64-windows/share/fontconfig/locale/zh_CN/LC_MESSAGES/fontconfig-conf.mo

@Neumann-A  The directory is also not empty on my machine.
@jacobkahn Can you find fontconfig-conf.mo in VCPKG_ROOT/buildtrees/fontconfig/x64-linux-dbg ?

@JackBoosY fontconfig-conf.mo isn't present — https://colab.research.google.com/drive/16t70NhnnnxQhA3Nn5-6djFqGmkQatO7j?usp=sharing.
Also, @JackBoosY @Neumann-A — is this other issue with an outdated version of gettext that you mentioned here also going to be looked at? I actually am running into that issue as well in a different environment (Ubuntu 16.04). Should I open a separate issue for that?

@jacobkahn Same problems should be record in one issue : )

I have got the same error as @jacobkahn pointed. Repro steps for me in the docker image:
# start container with nvidia/cuda:10.1-cudnn7-devel-ubuntu18.04 and inside
apt-get update
APT_INSTALL="apt-get install -y --no-install-recommends"

DEBIAN_FRONTEND=noninteractive $APT_INSTALL zlib1g-dev libcurl4-openssl-dev wget
# install cmake 3.10.3
cd /tmp && wget https://cmake.org/files/v3.10/cmake-3.10.3.tar.gz  &&     tar -xzvf cmake-3.10.3.tar.gz  && cd cmake-3.10.3  &&     ./bootstrap --system-curl &&     make -j$(nproc) &&  make install && cmake --version

$APT_INSTALL curl zip unzip tar g++ git pkg-config gperf autoconf autopoint libtool

cd /tmp && git clone https://github.com/microsoft/vcpkg
./vcpkg/bootstrap-vcpkg.sh
./vcpkg install fontconfig

I don't know if this data file is important, if it's not, I can give you a patch to fix it.

@JackBoosY I can try your patch to build it and then downstream packages I need and test if everything works if this will be helpful for you (at least unblock me on my own stuff).

@tlikhomanenko  Please unzip this file to VCPKG_ROOT/ports/fontconfig and try again.

@JackBoosY — assuming the data file isn't important for most use cases, is it reasonable to expect a fix to the port soon, or should I remove the port from my dependency tree? This is affecting downstream users of my project's port who are reporting this failure.

@jacobkahn Since the root cause has not been found, I am not sure if this is the best solution.

Looking at this: https://gitlab.freedesktop.org/fontconfig/fontconfig/-/blob/master/po-conf/zh_CN.po (Being the only translation present)
It seems to be translations for settings in conf.d files.
I don't think it's very helpful for libraries and I feel it can be safely removed.


Feature : change color of highlighted to theme color in edit project

Is your feature request related to a problem? Please describe
Highlighted color of option of project access type should be as theme color of CircuitVerse

Describe the solution you'd like
Highlighted color of option of project access type should be as theme color of CircuitVerse as the highlighted color of the page is also as Circuitverse theme color
Describe alternatives you've considered
No response
Additional context
No response
Are you working on this?
Yes

if verified please assign this issue to me


Question: Is it possible to expose a .NET object to JavaScript which has a method returning an IEnumerable?

I'm trying to create a .NET class that will be exposed to JavaScript via Jurassic. The class represents an HTTP response object. Since an HTTP response may have multiple headers with the same name, I would like to include a method that returns an IEnumerable of the headers with a particular name.
This is what I have so far:
public class JsResponseInstance : ObjectInstance
{
    private IDictionary<string, IList<string>> _headers;

    public JsResponseInstance(ObjectInstance prototype)
        : base(prototype)
    {
        this.PopulateFunctions();
        _headers = new Dictionary<string, IList<string>>();
    }

    [JSFunction(Name = "addHeader")]
    public virtual void addHeader(string name, string value)
    {
        IList<string> vals;
        bool exists = _headers.TryGetValue(name, out vals);
        if (!exists)
        {
            vals = new List<string>();
            _headers[name] = vals;
        }
        vals.Add(value);
    }

    [JSFunction(Name = "getHeaders")]
    public virtual IList<string> getHeaders(string name)
    {
        IList<string> vals;
        bool exists = _headers.TryGetValue(name, out vals);
        if (!exists)
        {
            return new List<string>();
        }
        return vals;
    }
}

When I test the getHeaders method I get a JavascriptException: Unsupported type: System.Collections.Generic.IList'1[System.String]
I've tried changing the return type of the getHeaders method from IList to string[] and also adding the optional IsEnumerable property to the JSFunction attribute decorating the method. Neither change made a difference, I was still seeing the same exception.
Is there any way of returning an IEnumerable from a method in a .NET class that is exposed to JavaScript?
Cheers.

You need to return something that inherits from ObjectInstance. For example:
    [JSFunction(Name = "getHeaders")]
    public virtual ArrayInstance getHeaders(string name)
    {
        IList<string> vals;
        bool exists = _headers.TryGetValue(name, out vals);
        if (!exists)
        {
            return ArrayConstructor.New();
        }
        return ArrayConstructor.New(vals.ToArray());
    }

Thanks Paul.  I'll give it a shot later today.

I've run into trouble.  I can't see a static New method in the ArrayConstructor class, only a New instance method.  I then tried
return new ArrayConstructor();

instead of
return ArrayConstructor.New();

but the constructor of the ArrayConstructor class is internal, so not accessible from my code.
I'm not sure how I should use the ArrayConstructor, given the lack of a public constructor or static methods.

Oh sorry, it's accessible via the ScriptEngine.
scriptEngine.Array.New(...);

Thanks, that did the trick.
For anyone else in a similar situation the working code is:
[JSFunction(Name = "getHeaders")]
        public virtual ArrayInstance getHeaders(string name)
        {
            IList<string> vals;
            bool exists = _headers.TryGetValue(name, out vals);
            if (!exists)
            {
                return this.Engine.Array.New();
            }
            return this.Engine.Array.New(vals.ToArray());
        }


Average B1+ curves across subjects, and scale along x-axis

Fixes #27

With 3c262fe, subjects are averaged. However, given the large variability across subjects, the graph will be unclear with all shim methods:

It is probably better to make one graph per subject

Yes, much better indeed (8790d10):

And after normalizing x-ticks to PAM50 vertebrae, for all subjects 9dbab60

With smoothing 61ae0e1:


OrderedClassElementsFixer - PHPUnit assert(Pre|Post)Conditions methods support

Add support for PHPUnit TestCase::assertPreConditions() and TestCase::assertPostConditions() methods.
TestCase::assertPreConditions() is called between TestCase::setUp() and test.
TestCase::assertPostConditions() is called between test and TestCase::tearDown().

:+1:
RTM from me if the tests pass

Coverage increased (+0.0007%) to 92.853% when pulling 153e50c45cebba739fae5f84996bd486dc9c2ddc on meyerbaptiste:fix_orderedclasselementsfixer into 07430f5aca4874476bf175317cfb6284cd80421a on FriendsOfPHP:master.

Thank you @meyerbaptiste.


gh-426 POC for getting all Cities from JansuGraph through GraphQL

DO NOT MERGE
This PR simply serves as a basis for a proposal of how to structure the dbConnector methods to be used when connecting the GraphQL api with the DB.
Goal of this POC

Query list of names of cities through GraphQL

Purpose of this POC

Get familiar with the code base, see how easy or difficult it is to make changes
Come up with a proposal for how to further structure the interface of the dbConnector (see basis discussion between @JeroenStravers1 and @bobvanluijt in #480)
First steps for #426

State of this POC

we can get the properties of all cities now 🎉 (and possibly other classes)
Types are currently over-simplified, we're just pretending everything is a map[string]inteface{} in the resolvers. This happens to match for Thing.Schema

Proposal for dbConnector interface

Previously we assumed we'd have a single GetGraph() or GetLocalGraph() method that would be used in all resolvers
For the data loader we need to handle the specific methods explicitly, see #480
This PR proposes to duplicate all methods we already have for the REST API

we can not reuse the exact same methods, as the signature is different
the internals overlap quite a bit though, we can probably extract the shared logic into private helper methods

Why is this beneficial for the GraphQL connector (besides the data loader)?
The fact that GraphQL has already figured out that we're the in the resolver for a list of things is valuable information. If we just redirect to a generic resolver entrypoint, such as GetGraph(), we need to figure out again that we want to get a list of things. With my current understanding it is easier to have those explicit.

Great work, but we're not going to merge this in this form :)
It's a good exercise to understand the guts of the system though.