How to use it without Browserify, simply with bower?

I'm trying to add angular-cached-resource to a project with Gulp and without Browserify.
I'm having trouble because of this:

The angular-cached-resource is assuming there will be a module.exports object, which this project doesn't.
I tried to edit these lines to remove the if statement, but then it will fail because my project doen't use require.
My question is, is there a minified version I could just import using Bower and start using by simply injecting the dependency to my angular module?

@demands Would really appreciate your input in this, Max!

Hi @felippenardi -- try the newest version (angular-cached-resource.js | angular-cached-resource.min.js).
I think your problem is solved with this commit. Let me know.

Thanks @demands !!!


Remove legacy werkzeug support

Since 3e3ee8b, werkzeug is required in version 1.0 or above
Also align deps in tox.ini with the ones in setup.py

Rebased and ready for review


PostgreSQL version 15 extensions support

[Extensions for PostgreSQL version 15 are not updated in the document]

Document Details
https://learn.microsoft.com/en-us/azure/postgresql/flexible-server/concepts-extensions
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: ab533e2e-3fb7-6bed-dd07-1cb4de0368ba
Version Independent ID: 1df8b46e-3491-ac8b-ba15-03bd062b8680
Content: Extensions - Azure Database for PostgreSQL - Flexible Server
Content Source: articles/postgresql/flexible-server/concepts-extensions.md
Service: postgresql
Sub-service: flexible-server
GitHub Login: @sunilagarwal
Microsoft Alias: sunila

@v-mubalakris Thank you for your feedback. We will review and update as appropriate.

#reassign:@varun-dhawan

Thanks @v-mubalakris for taking the time to report this problem! We've recently incorporated some automation mechanism to keep the table that exposes versions of all our supported extensions accurately updated.

#please-close


⚙ Simplify updates of GOV.UK frontend and any other frontend dependencies

User Story
As a developer
I expect to update GOV.UK frontend frequently
To pick up fixes and improvements to the design system components
Value / Purpose
Currently we haven't automated frontend builds, so when dependabot detects there are new versions, it's not enough to merge the PR, we also need to perform some steps manually:

Run an npm install
Copy the javascript from node modules to the assets directory
Run npm sass to recompile CSS from SASS

This could be simplified if we

Adopt a build tool
Build the asset as part of our docker build

This would mean we can merge updates to GOV.UK frontend as they come in and they would be tested in CI and reflected in the next deployment.
Useful Contacts
Mat
User Types
Developers
Hypothesis
If we make it easier to update our Javascript and CSS dependencies
Then we will do a better job at keeping them up to date
Proposal
Pick a build tool and integrate it into the repo.
The build tool could be a frontend focused tool like webpack, something simple like a Makefile, or something more geared towards Django development.
Have a look at some of our other django repos and see how this is done there.
Additional Information
No response
Definition of Done

[ ] There is one command to build all frontend assets (pull in dependencies, stick them somewhere Django's asset pipeline can pull from)
[ ] The command is documented in our readme
[ ] The command is run as part of building the docker image
[ ] The command is run as part of CI

gulp is a build tool I've seen in another repo https://github.com/ministryofjustice/cla_public/blob/master/gulpfile.js
I'm going to use this to build the static files

https://github.com/ministryofjustice/find-moj-data/pull/330

https://design-patterns.service.justice.gov.uk/get-started/installing-with-npm/#recommended-solution Justice Gov have recommendations for how to install with npm. Using npm scripts is one of the solutions they list. I have chosen it over a tool such as gulp for simplicity and so we don't need to worry about gulp plugin updates.


Code Formatting

code formatting that aligns with our standard and fixes that the style checker will complain about.
this is based on existing structure and based off current master.

@kensipe, question for you, don't you need to update the Java Formatter referenced in the pom.xml accordingly?

rebased to master after gradle merge

@elingg the maven formatter now matches our standard.  It is also the default format (with our standard) of the IDEA code formatter.  ready to merge as soon as Travis says so.

hey @kensipe, I'll take a look soon. Travis is now failing, can you look into that? @adam-mesos can optionally review as well.

@elingg the failure was on a maven central download... I'll double check, but this seems like a networking issue.  especially since it passed one of the CI builds.

Ok, I'm rerunning the build now.

LGTM! Any final objections before merging, @adam-mesos?

A couple of minor nits, but I won't hold back the merge for them. @kensipe might have better ideas of how to address my concerns.

oh... formatting... oh how I loathe and welcome you.  I'll see what we can do and be back.

@elingg ready to go!

Thanks! Ship it! :rocket:

Looks good, that is better!


add hpfeeds support

Hello could you add hpfeeds support?

Thank you for the suggestion. I will think about the possibility and might do it once I get some time. In the meantime, pull requests are welcome.


Converting XLS to PDF is not in A4 format

[Enter feedback here]
When converting an XLS file the height and width are 216x279 instead of the wanted A4 format 210x297.
The doc does not specify this implicit conversion. Is it customizable ?

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

ID: a53d4b0e-4bf4-01a7-229c-5073dd56f45d
Version Independent ID: 8dc763d8-6252-d6af-5be5-99b7a9277fbd
Content: Convert to other formats - Microsoft Graph v1.0
Content Source: api-reference/v1.0/api/driveitem-get-content-format.md
Product: sharepoint
Technology: microsoft-graph
GitHub Login: @JeremyKelley
Microsoft Alias: JeremyKelley

As part of a repository clean up effort we are closing older issues. If this issue remains, please: open a new issue, reference this issue, and provide any additional details that may help in resolution. Thank you for your understanding as we work to improve our responsiveness.


Cerebral cortical atrophy HP:0002120 feature of medullary cystic kidney disease?

Medullary cystic kidney disease 1 is currently listed as 1 of the 164 diseases associated with cerebral cortical atrophy (HP:0002120). See attached download from HPO. We have not found any information indicating an association between the two. Additionally, we received an email from a leading researcher in the field stating that this is incorrect.
Please take a look.
@GARDInfoCenter
ORCID: https://orcid.org/0000-0002-6548-5200
CerebralCorticalAtrophy_MedullaryCysticKidneyDisease1.xlsx

@nicolevasilevsky wanted to check in on this issue. GARD received another e-mail from the same leading expert in kidney diseases we previously referenced. He is concerned that the HPO table has not been updated yet. Do you know whether any progress has been made on this issue?
Thanks,
@GARDInfoCenter

Sorry for the delay, I'll make sure this is posted on the HPO annotations tracker and try to address this ASAP

@GARDInfoCenter I deleted this annotation, it must have been added as a mistake. Thanks for following up.


DO NOT MERGE

Signed-off-by: Ricardo Noriega<EMAIL_ADDRESS>
Which issue(s) this PR addresses:

Closes #

/retest

/retest

/retest

/retest

/retest

@oglok this is going to keep failing until we fix the images #528

/retest


Setting face colour using the Face Properties dock doesn't appear to do anything

As title says, it doesn't appear to do anything. The vertex painting feature works fine, and I can set it's component type to Face and that works, but I'd like to use the Face Properties as it seems less tedious if you just wanna colour the whole face.
There's a chance I'm just not understanding this, but I felt worst case scenario that reporting it might highlight something to specify in the docs.
I have no idea of the relevant code, but I did vertex paint before trying the face properties so I'm mildly curious if this is some sort of interaction where vertex colours and face colours are different values and vertex overrides face. I can see in the Mesh Vector Data that the Face Properties colour seems to be written to the Face Data object, but the vertex colours I painted is written to Face Vertex Data.

Alright I decided to dive into this a little bit. There's a chance that I'm just elaborating on something blackears already knows and plans to deal with but eh, can't hurt.
So in ConvexVolume's create_mesh I can see that it pulls the color from the FaceVertexInfo, that field is set by the paint stroke command, so all that makes sense for why vertex painting works. Changing the colour in the Face Properties dock creates a CommandSetFaceColor, which sets the field on the FaceInfo, not the FaceVertexInfo. I'm not sure if the color field on FaceInfo is ever meaningfully used? Seems like it gets used in build_face_vertices but that might just be an initialization thing?
Obviously, I'm on outsider to this code base, but from my perspective, it seems like there's two options of what to do there:

Remove the FaceInfo color field and have the dock set the FaceVertexInfo colors. This is pretty straight-forward and least likely to surprise users I imagine. It's certainly how I assumed it'd work. But obviously I'm not party to your (blackears') motivations and long-term goals, and perhaps there is a desire for this separation of face color and vertex color. Or perhaps the separation is incidental and just something that emerged as the code-base evolved.
Keep both and multiply them. It's an easy change in ConvexVolume from "colors.append(fv.color)" and to "colors.append(fv.color*face.color)". This is an interesting option, allows you to colour faces but then paint a vertex later to modulate it. I can see somewhat niche use cases for this. But it's perhaps unnecessarily complicated?

I have my own local-fork and for now, I've simply added this loop into the relevant place in do_it() inside cmd_set_face_color.gd
		for fv in vol.face_vertices: 			if rec.face_indices.has(fv.face_index): 				fv.color = color
So it still sets face color, it just also writes face_vertex color. This is a nice local change for anyone who just wants to be able to use this right now like myself, because it doesn't really change anything about the underlying data, and whatever blackears decides to do you should be able upgrade to newer versions without much surprise. I don't really recommend anyone hack their local version to do the multiply thing because you're fundamentally changing the meaning of the data and there's no guarantee it'd be compatible with whatever blackears chooses to do. If they ditch FaceInfo.color entirely, you'll need to either hard-fork or lose all your per-face colors.
Anyway, there's a chance I've massively misunderstood the entire thing, and none of my suggestions make sense. But worst case scenario, that'll potentially highlight some doc clarifications.

In the original design, colors were stored per-face but when I added the vertex color brush, colors are now stored per face-vertex and the face color is ignored.  I didn't remove the face color data yet, though, in case that caused issues with people importing older projects.  So this control should be changed to set face-vertex colors or removed all together.  The intended way to set colors now is with the vertex color brush.
I'm in the middle of rewriting menus and keymapping right now, so it might take me a while to get to this.

Alright, that is broadly what I expected had happened, and certainly keeping the faceinfo colour during the transition makes absolute sense.
I will mention that as a user I am pro keeping the ability to set the vertex colors face-by-face like this personally, but I say that only to provide a single data-point that you are free to ignore without me getting weirdly entitled about it. You're presumably mostly making this for yourself and I fully respect that you'll take it in whatever direction you please. Worst case scenario, that feature seems like something that'd be easy for me to maintain for myself in a local-fork.


Create pt.json

@ViPeR5000 thank you for your contribution.
Could you please create one pull request containing all the changes.
Also please update the table of languages in the Readme.


Typo

@msingle : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@msingle - thanks for fix.


Disabled fieldset validating disabled fields

Subject of the issue
If I disable a random field, it won't get validated (and that's ok).
If I disable a <fieldset> all the fields inside shouldn't be validated, as if they were all disabled
Your environment

jquery-validation v1.14.0 - 6/30/2015 // Fiddle using 1.15 (latest)
Browser: any (Chrome latest)

Steps to reproduce
Disable a fieldset with some required fields in it
Fiddle : https://jsfiddle.net/yoLut4zq/
Expected behaviour
Validation shouldn't trigger
Actual behaviour
Validation triggers, so you "should" type something in a disabled input

Is this ever going to be fixed?

Also asking for solution of it.

Still using jQuery in (almost) 2022? 😮
I seriously doubt that this will ever be fixed, though. @wacki4

If it is still working, why not use it ? ;)
Last push requests from 29 days ago, so it looks like it is still popular ;)


"Cannot reconnect. Please reload the window."

Keep getting the following error message following recent update: Cannot reconnect. Please reload the window. It happens shortly after logging me in, and keeps happening despite attempts to refresh/open again.
Version: 1.66.2
Commit: dfd34e8260c270da74b5c2d86d61aee4b6d56977
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.60 Safari/537.36
Embedder: codespaces

@calston16 Are there any errors in the console?
cc @jkeech


Does not work on MacOS

      Beginning configuration for readline-6.2 for arm-apple-darwin22.4.0

      checking whether make sets $(MAKE)... yes
      checking for gcc... gcc
      checking for C compiler default output file name...
      configure: error: in `/private/var/folders/2t/xk3xx8314n79j993kytyvd1w0000gn/T/pip-install-o9gprzmi/readline_987e6150a8154c0db4814f61c3738b8d/rl/readline-lib':
      configure: error: C compiler cannot create executables
      See `config.log' for more details.

      ============ Building the readline extension module ============

      /Users/sean/GitHub/GPT-CLI/venv/lib/python3.11/site-packages/setuptools/dist.py:770: UserWarning: Usage of dash-separated 'multi-version' will not be supported in future versions. Please use the underscore name 'multi_version' instead
        warnings.warn(
      running install
      /Users/sean/GitHub/GPT-CLI/venv/lib/python3.11/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
        warnings.warn(
      running build
      running build_ext
      building 'readline' extension
      creating build
      creating build/temp.macosx-13-arm64-cpython-311
      creating build/temp.macosx-13-arm64-cpython-311/Modules
      creating build/temp.macosx-13-arm64-cpython-311/Modules/3.x
      clang -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk -DHAVE_RL_CALLBACK -DHAVE_RL_CATCH_SIGNAL -DHAVE_RL_COMPLETION_APPEND_CHARACTER -DHAVE_RL_COMPLETION_DISPLAY_MATCHES_HOOK -DHAVE_RL_COMPLETION_MATCHES -DHAVE_RL_COMPLETION_SUPPRESS_APPEND -DHAVE_RL_PRE_INPUT_HOOK -I. -I/Users/sean/GitHub/GPT-CLI/venv/include<EMAIL_ADDRESS>-c Modules/3.x/readline.c -o build/temp.macosx-13-arm64-cpython-311/Modules/3.x/readline.o -Wno-strict-prototypes -arch i386 -arch x86_64
      Modules/3.x/readline.c:842:19: warning: initializing 'char *' with an expression of type 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
                  char *s = _PyUnicode_AsString(r);
                        ^   ~~~~~~~~~~~~~~~~~~~~~~
      Modules/3.x/readline.c:1179:34: warning: incompatible function pointer types assigning to 'char *(*)(FILE *, FILE *, const char *)' (aka 'char *(*)(struct __sFILE *, struct __sFILE *, const char *)') from 'char *(FILE *, FILE *, char *)' (aka 'char *(struct __sFILE *, struct __sFILE *, char *)') [-Wincompatible-function-pointer-types]
          PyOS_ReadlineFunctionPointer = call_readline;
                                       ^ ~~~~~~~~~~~~~
      2 warnings generated.
      Modules/3.x/readline.c:842:19: warning: initializing 'char *' with an expression of type 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
                  char *s = _PyUnicode_AsString(r);
                        ^   ~~~~~~~~~~~~~~~~~~~~~~
      Modules/3.x/readline.c:1179:34: warning: incompatible function pointer types assigning to 'char *(*)(FILE *, FILE *, const char *)' (aka 'char *(*)(struct __sFILE *, struct __sFILE *, const char *)') from 'char *(FILE *, FILE *, char *)' (aka 'char *(struct __sFILE *, struct __sFILE *, char *)') [-Wincompatible-function-pointer-types]
          PyOS_ReadlineFunctionPointer = call_readline;
                                       ^ ~~~~~~~~~~~~~
      2 warnings generated.
      creating build/lib.macosx-13-arm64-cpython-311
      clang -bundle -undefined dynamic_lookup -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk build/temp.macosx-13-arm64-cpython-311/Modules/3.x/readline.o readline/libreadline.a readline/libhistory.a -lncurses -o build/lib.macosx-13-arm64-cpython-311/readline.cpython-311-darwin.so -arch i386 -arch x86_64
      clang: error: no such file or directory: 'readline/libreadline.a'
      clang: error: no such file or directory: 'readline/libhistory.a'
      error: command '/usr/bin/clang' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: legacy-install-failure

× Encountered error while trying to install package.
╰─> readline

@seanaguinaga Can you please run the following command and paste the output?
brew info readline

You should see the version info of the package, as well as the following:
For compilers to find readline you may need to set:
  export LDFLAGS="-L/opt/homebrew/opt/readline/lib"
  export CPPFLAGS="-I/opt/homebrew/opt/readline/include"

For pkg-config to find readline you may need to set:
  export PKG_CONFIG_PATH="/opt/homebrew/opt/readline/lib/pkgconfig"

Have you tried setting the above environment variables?

sean@Seans-Mac-Studio GPT-CLI % brew info readline
==> readline: stable 8.2.1 (bottled) [keg-only]
Library for command-line editing
https://tiswww.case.edu/php/chet/readline/rltop.html
/opt/homebrew/Cellar/readline/8.2.1 (50 files, 1.7MB)
  Poured from bottle using the formulae.brew.sh API on 2023-03-30 at 11:07:34
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/readline.rb
License: GPL-3.0-or-later
==> Caveats
readline is keg-only, which means it was not symlinked into /opt/homebrew,
because macOS provides BSD libedit.

For compilers to find readline you may need to set:
  export LDFLAGS="-L/opt/homebrew/opt/readline/lib"
  export CPPFLAGS="-I/opt/homebrew/opt/readline/include"

For pkg-config to find readline you may need to set:
  export PKG_CONFIG_PATH="/opt/homebrew/opt/readline/lib/pkgconfig"
==> Analytics
install: 12,691 (30 days), 912,188 (90 days), 5,822,682 (365 days)
install-on-request: 402 (30 days), 29,954 (90 days), 202,527 (365 days)
build-error: 0 (30 days)

I set the variables and get:
      ============ Building the readline extension module ============

      /opt/homebrew/lib/python3.11/site-packages/setuptools/dist.py:770: UserWarning: Usage of dash-separated 'multi-version' will not be supported in future versions. Please use the underscore name 'multi_version' instead
        warnings.warn(
      running install
      /opt/homebrew/lib/python3.11/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
        warnings.warn(
      running build
      running build_ext
      building 'readline' extension
      creating build
      creating build/temp.macosx-13-arm64-cpython-311
      creating build/temp.macosx-13-arm64-cpython-311/Modules
      creating build/temp.macosx-13-arm64-cpython-311/Modules/3.x
      clang -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -fwrapv -O3 -Wall -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk -I/opt/homebrew/opt/readline/include -DHAVE_RL_CALLBACK -DHAVE_RL_CATCH_SIGNAL -DHAVE_RL_COMPLETION_APPEND_CHARACTER -DHAVE_RL_COMPLETION_DISPLAY_MATCHES_HOOK -DHAVE_RL_COMPLETION_MATCHES -DHAVE_RL_COMPLETION_SUPPRESS_APPEND -DHAVE_RL_PRE_INPUT_HOOK -I<EMAIL_ADDRESS>-c Modules/3.x/readline.c -o build/temp.macosx-13-arm64-cpython-311/Modules/3.x/readline.o -Wno-strict-prototypes -arch i386 -arch x86_64
      Modules/3.x/readline.c:842:19: warning: initializing 'char *' with an expression of type 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
                  char *s = _PyUnicode_AsString(r);
                        ^   ~~~~~~~~~~~~~~~~~~~~~~
      Modules/3.x/readline.c:914:24: warning: 'Function' is deprecated [-Wdeprecated-declarations]
          rl_startup_hook = (Function *)on_startup_hook;
                             ^
      /opt/homebrew/opt/readline/include/readline/rltypedefs.h:35:40: note: 'Function' has been explicitly marked deprecated here
      typedef int Function () __attribute__((deprecated));
                                             ^
      Modules/3.x/readline.c:916:26: warning: 'Function' is deprecated [-Wdeprecated-declarations]
          rl_pre_input_hook = (Function *)on_pre_input_hook;
                               ^
      /opt/homebrew/opt/readline/include/readline/rltypedefs.h:35:40: note: 'Function' has been explicitly marked deprecated here
      typedef int Function () __attribute__((deprecated));
                                             ^
      Modules/3.x/readline.c:919:41: warning: 'CPPFunction' is deprecated [-Wdeprecated-declarations]
          rl_attempted_completion_function = (CPPFunction *)flex_complete;
                                              ^
      /opt/homebrew/opt/readline/include/readline/rltypedefs.h:38:46: note: 'CPPFunction' has been explicitly marked deprecated here
      typedef char **CPPFunction () __attribute__((deprecated));
                                                   ^
      Modules/3.x/readline.c:1179:34: warning: incompatible function pointer types assigning to 'char *(*)(FILE *, FILE *, const char *)' (aka 'char *(*)(struct __sFILE *, struct __sFILE *, const char *)') from 'char *(FILE *, FILE *, char *)' (aka 'char *(struct __sFILE *, struct __sFILE *, char *)') [-Wincompatible-function-pointer-types]
          PyOS_ReadlineFunctionPointer = call_readline;
                                       ^ ~~~~~~~~~~~~~
      5 warnings generated.
      Modules/3.x/readline.c:842:19: warning: initializing 'char *' with an expression of type 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
                  char *s = _PyUnicode_AsString(r);
                        ^   ~~~~~~~~~~~~~~~~~~~~~~
      Modules/3.x/readline.c:914:24: warning: 'Function' is deprecated [-Wdeprecated-declarations]
          rl_startup_hook = (Function *)on_startup_hook;
                             ^
      /opt/homebrew/opt/readline/include/readline/rltypedefs.h:35:40: note: 'Function' has been explicitly marked deprecated here
      typedef int Function () __attribute__((deprecated));
                                             ^
      Modules/3.x/readline.c:916:26: warning: 'Function' is deprecated [-Wdeprecated-declarations]
          rl_pre_input_hook = (Function *)on_pre_input_hook;
                               ^
      /opt/homebrew/opt/readline/include/readline/rltypedefs.h:35:40: note: 'Function' has been explicitly marked deprecated here
      typedef int Function () __attribute__((deprecated));
                                             ^
      Modules/3.x/readline.c:919:41: warning: 'CPPFunction' is deprecated [-Wdeprecated-declarations]
          rl_attempted_completion_function = (CPPFunction *)flex_complete;
                                              ^
      /opt/homebrew/opt/readline/include/readline/rltypedefs.h:38:46: note: 'CPPFunction' has been explicitly marked deprecated here
      typedef char **CPPFunction () __attribute__((deprecated));
                                                   ^
      Modules/3.x/readline.c:1179:34: warning: incompatible function pointer types assigning to 'char *(*)(FILE *, FILE *, const char *)' (aka 'char *(*)(struct __sFILE *, struct __sFILE *, const char *)') from 'char *(FILE *, FILE *, char *)' (aka 'char *(struct __sFILE *, struct __sFILE *, char *)') [-Wincompatible-function-pointer-types]
          PyOS_ReadlineFunctionPointer = call_readline;
                                       ^ ~~~~~~~~~~~~~
      5 warnings generated.
      creating build/lib.macosx-13-arm64-cpython-311
      clang -bundle -undefined dynamic_lookup -isysroot /Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk -L/opt/homebrew/opt/readline/lib -I/opt/homebrew/opt/readline/include build/temp.macosx-13-arm64-cpython-311/Modules/3.x/readline.o readline/libreadline.a readline/libhistory.a -lncurses -o build/lib.macosx-13-arm64-cpython-311/readline.cpython-311-darwin.so -arch i386 -arch x86_64
      clang: error: no such file or directory: 'readline/libreadline.a'
      clang: error: no such file or directory: 'readline/libhistory.a'
      error: command '/usr/bin/clang' failed with exit code 1
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
error: legacy-install-failure

× Encountered error while trying to install package.
╰─> readline

@seanaguinaga I updated the program to use the gnureadline package instead of the built-in readline on MacOS.
Can you clone the repo again and see if it works for you now?
You will need to run the following if gnureadline is not already installed:
pip3 install gnureadline

Glad to hear it


Claves<EMAIL_ADDRESS>

https://github.com/actions/setup-java/issues/656

Hello @Chuysalgafo ,
Since this appears to be spam, I am going to close the issue.


docs: add v0.1.5 release details to the CHANGELOG

Description
Add the v0.1.5 release details to the CHANGELOG in preparation for the release.
References
Review Checklist

[X] I have added documentation for new/changed functionality in this PR or in openfga.dev
[X] The correct base branch is being used, if not main

Codecov Report

Merging #107 (020e1ff) into main (170a683) will decrease coverage by 0.11%.
The diff coverage is n/a.

:exclamation: Current head 020e1ff differs from pull request most recent head ab2a0e8. Consider uploading reports for the commit ab2a0e8 to get more accurate results

@@            Coverage Diff             @@
##             main     #107      +/-   ##
==========================================
- Coverage   76.66%   76.54%   -0.12%
==========================================
  Files          76       76
  Lines        8343     8343
==========================================
- Hits         6396     6386      -10
- Misses       1564     1570       +6
- Partials      383      387       +4

Impacted Files
Coverage Δ

server/commands/check.go
84.98% <0.00%> (-1.81%)
:arrow_down:

server/commands/check_utils.go
91.23% <0.00%> (-1.20%)
:arrow_down:

storage/postgres/postgres.go
64.74% <0.00%> (-0.67%)
:arrow_down:

server/errors/errors.go
80.88% <0.00%> (+1.47%)
:arrow_up:

pkg/tuple/validation.go
69.44% <0.00%> (+2.77%)
: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 170a683...ab2a0e8. Read the comment docs.


Build schema

new file schema.graphql
new file schema.json

ref #124
@wenzowski I've got the schema building manually, but where does this fit in the CI/CD pipeline?

We want to make sure this is built in to the to docker image so the api is statically loaded from compiled schema vs dynamically introspected from database in production.


computeScore performance issue

Motivation

We keep computing peer score in a lot of places without any cache
It's not scalable: the more messages, the more function calls we have for computeScore()(). When there are a lot of messages, it takes 4% cpu time of lodestar
1130_lodestar_subscribeAllSubnets_local.cpuprofile.zip

Note

It's not likely it's a performance issue of computeScore() function itself

@tuyennhv I had the same though on this, we compute the scores incredibly often. You could add some quick and dirty metrics to know how many times computeScore() is called per second


Automatically handle adding rev property?

I noticed that @taras'sember-pouchDB library doesn't require you to add rev properties to each model.
This is the code from his project that handles that: /lib/ember-pouchdb/storage.js.
(storage.js imports Model from /lib/ember-pouchdb/model.js which is the only other file referencing the rev property)
I would imagine there's some good way to automatically handle adding the same string field to every model so a user doesn't have to do this. (and if there isn't a good way that maybe there should be some api added to ember or pouchdb)

Ah, no I realized probably the best api would be to use a Ember-Pouch's own model methods, (DS.Pouch.Model.extend({) so in case there are any changes the library want's to make with how models are handled it can make those changes without the user having to do anything. I think in the virtue of jQuery and Ember DS.Model should not be touched, but I think adding unique properties to DS is fine and this communicates that the model is still an Ember-data model (imo)

This is fixed in PR#32. It's handled by the serializer.

ember-pouch 2.0 provides a Model base class which does this.


FunctionMetadataProviderGenerator code fails to build if project name has dash in name

Given a project with name IM-CFS-AADLCM, FunctionMetadataProviderGenerator  creates a namespace of:
namespace IM-CFS-AADLCM
which fails during build:

Changing the dash character to underscore, i.e. IM_CFS_AADLCM creates a namespace of:
namespace IM_CFS_AADLCM
which successfully builds.  Is this expected behavior?

As per the specs, namespaces cannot have - in it.
If not overridden, The RootNamespace msbuild property value is populated from the project name. You are seeing the issue because your RootNamespace has - in it and the auto generated types are defined in a namespace which is same as the RootNamespace value by default. You can override this behavior by explicitly specifying another valid namespace name in the FunctionsGeneratedCodeNamespace property. See #1930 for details.
To resolve your issue, either change your RootNamespace  to a value without a dash in it or explicitly specify a value for FunctionsGeneratedCodeNamespace msbuild property.
<FunctionsGeneratedCodeNamespace>TestFunction</FunctionsGeneratedCodeNamespace>
Let us know if you still run into issues.

I guess the challenge is that the namespace is being derived from the project name by FunctionMetadataProviderGenerator , not inherent within the code itself.  If would seem appropriate to either collapse the generated namespace or generate a unique value rather than generate a non-compliant name.

@mlhickey Agree. We will look into making a fix to handle this and release and update to the package.

@mlhickey
Thank you for your patience. We released a new version of the worker.sdk package which includes a fix for this issue. Please upgrade Microsoft.Azure.Functions.Worker.Sdk package to 1.16.3 or later.
https://github.com/Azure/azure-functions-dotnet-worker/releases/tag/sdk-1.16.3
Should you encounter any further challenges with the dotnet isolated model, please do not hesitate to reach out. Thank you for your understanding and cooperation.


[z_vcpkg_cmake_fixup] Fix handling of files without RPATH

Amends #36056
Fixes #37183
Towards #25668

This looks correct to me so I'm going to cherry pick it into https://github.com/microsoft/vcpkg/pull/37129 to coalesce world rebuilds

@BillyONeal don't forget about ports.cmake otherwise this will change nothing


Pokemons that last longer than 15 minutes, only show when they are 15 minutes away from expiring

This has happened to me twice in the last couple of days (with a Primeape and a Dratini). I could see them in Pokemon GO, but they would not show in the map. After a while (~10mins), the map found them with still 12-14 minutes to expire.

No pokemon spawn for more than 15min.
The complete cycle can last up to 10min if you select a radius of 5.

@jareem Is there a source for that? I had an Eevee show up in my Sightings list earlier today. I have two instances going on this map, with a scan radius of 3, so it refreshes pretty fast all things considered. Took over 10 minutes for Eevee to show up on the map, and the timer said 15 minutes.

@jareem : My radius was just 2 and I centered it at the exact spot where they were.
AFAIK, althought rare, there are pokemon that stay longer than 15 minutes and those are only being shown when they are 15 minutes away from expiring.

@jareem, @romanticheart
Actually, someone else just opened a thread about this issue on reddit:
https://www.reddit.com/r/pokemongodev/comments/4x8xk3/false_positive_pokemon_db_spawn_entries_indicates/


[FLINK-8856] [TaskManager] Move all cancellation interrupt calls to TaskCanceller thread

What is the purpose of the change
This changes the responsibilities of the threads involved in cancelling a task execution.
The PR cleans up the code and guards against a JVM bug where interrupt() calls
block/deadlock if the thread is engaged in certain I/O operations.
We now use three threads potentially in the cancellation

Cancel thread, calls cancel() on the invokable and closes input/output gates. This pretty much as before.
The interrupting thread calls repeated interrupts after a while, to get the thread out of blocking I/O operations. This helps when the user code is engaged in I/O (directly on through a library) and does not handle interrupts correctly.
The watchdog thread which kills the TM if cancellation does not succeed after some time (3 minutes default).

Previously, thread two and three were the same, but we saw cases where the watchdog deadlocked (due to a JVM bug) and the hard task cancellation never happened.
Some minor robustness enhancements related to this change are included in this PR.
Verifying this change
The change is motivated by an occasional JVM bug that I could not purposefully trigger in tests to guard against rollback to the prior state. All tests were passing prior to this change and are passing after this change.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

CI failure unrelated, due to https://issues.apache.org/jira/browse/FLINK-8882

Please close this PR @StephanEwen since the commits have been merged.


When no room created for the page - suggest creating/selecting a room on attempt to create a highlight

Right now clicks on the highlight buttons are just ignored and user does not get any feedback on what is wrong.
A mild improvement would be to show an error saying they need to create a room.
Ideally that interaction would just bring up "create/select a room" window, so user can rectify situation straight away.
Potentially automatically creating a room can also be a good option (though need to think about this one more)

Hi!
First of all, thanks for giving Matrix Highlight a go, and for taking the time to file issues! I really appreciate it. I agree that the color buttons should somehow communicate that a highlighting room hasn't been created. It shouldn't be too hard to bring up the "create room" menu.
I'm wary of automatically creating a room for reasons of pollution (does the user share their regular matrix account with matrix-highlight? If they do, do they really want tons of rooms auto-created without their explicit confirmation?) and due to potential interactions (I suspect that #links-to-ids might lead to the creation of tons of new rooms for a single page).

Hi!
First of all, thanks for giving Matrix Highlight a go, and for taking the time to file issues! I really appreciate it. I agree that the color buttons should somehow communicate that a highlighting room hasn't been created. It shouldn't be too hard to bring up the "create room" menu.
I'm wary of automatically creating a room for reasons of pollution (does the user share their regular matrix account with matrix-highlight? If they do, do they really want tons of rooms auto-created without their explicit confirmation?) and due to potential interactions (I suspect that #links-to-ids might lead to the creation of tons of new rooms for a single page).

First of all, thanks for giving Matrix Highlight a go, and for taking the time to file issues! I really appreciate it

Thanks for building it, excited that it exists :) I re-derived the idea by myself and was excited to find out that someone already built it!

I'm wary of automatically creating a room for reasons of pollution

That is fair, this is worth thinking through in more detail. Plausibly having a separate space for these rooms helps!

I suspect that #links-to-ids might lead to the creation of tons of new rooms for a single page

plausibly it makes sense to truncate the hash part of url for the purposes of identification?

First of all, thanks for giving Matrix Highlight a go, and for taking the time to file issues! I really appreciate it

Thanks for building it, excited that it exists :) I re-derived the idea by myself and was excited to find out that someone already built it!

I'm wary of automatically creating a room for reasons of pollution

That is fair, this is worth thinking through in more detail. Plausibly having a separate space for these rooms helps!

I suspect that #links-to-ids might lead to the creation of tons of new rooms for a single page

plausibly it makes sense to truncate the hash part of url for the purposes of identification?

This is closed by #31 I believe.


Automatic release publishing to Chrome Web Store

Today Version 0.9.11 was released. But it's not yet availalble in the Chrome Web Store. Seems that right now someone has to do the manual Update your Chrome Web Store item. But there is also Chrome Web Store Publish API. This API can be used either via this npm package: chrome-webstore-upload or that GitHub Action Chrome Extension upload & publish.

Hello Gregor,
It is on our internal roadmap to look into this topic. As mentioned on twitter, our bigger priority is to increase the frequency with which we push new releases.
Best regards,
Jordan

Hi Jordan,
but doesn't the automation of the publishing process achieve exactly that?
CU
Gregor

Hello Gregor,
Automating the upload of build zip will only partially help as we have other stages and issues with the release process.
This improvement is still on our roadmap and to date all other steps are automated as much as possible such as regularly building new versions and version management.
This issue will be updated when news happen in this direction.
Best regards,
Jordan

Hi @jdichev,
any new regarding the automatic release?

Hello @gregorwolf,
We'll consider that in the future. For now the creation of new versions of UI5 Inspector is scheduled to happen on a regular basis if there is enough increment and when it happens it is fully automated. After a new version is created a version is not automatically pushed to Chrome Web Store until it is validated by internal testing.
Therefore, everything that needs to be covered by an automated procedure is covered.
Best regards


Add Brandenburg an der Havel, Germany

After @hjoertel mapped the key, I got curious and wanted to try the project in my city. Unfortunately, the tag has not yet been used, so I still have a lot to do. But I am also attracted by the historical aspect.
I would like to transfer the project then. Let me know if something is missing or I should do something. I have already created a MAPBOX_TOKEN in the settings.
Repo: https://github.com/Itchiii/equalstreetnames-brandenburg-an-der-havel
A small thing, because in my city the key was not used yet, I got an error (division by zero) with the command composer run update-data.

Awesome! 🎉
I've created a "Brandenburg an der Havel" team so you should be able to transfer your repository.
I'll take care of the last steps once it's transferred.

I've created a "Brandenburg an der Havel" team so you should be able to transfer your repository.

Done

Thanks, I'll take care of the next steps later today :)

There you go : https://brandenburg-an-der-havel.equalstreetnames.eu/ 🚀
Domain name is provided and managed by @RobinLinde. Let us know if you want to setup your own domain name.

@jbelien Great! I've already added data to some more streets to test ESN-edit a bit more and added platz to the list of common words.


RF02 Search for existing metadata records or DCPR records by text

Text searches shall allow filtering of existing catalogue records by a number of their existing textual properties. This shall include:

[x] Title
[x] Abstract
[x] Unique Identifier (also referred to as record search).

@Mohab25 or @Samweli, @ricardo marked this as partly implemented in https://github.com/kartoza/ckanext-dalrrd-emc-dcpr/wiki/Functional-Requirements. Please establish what remains to complete it and describe that in the OP

@gubuntu @Mohab25  the current Text searches cover the Title and Abstract, what remains is the Unique Identifier inclusion.

related to #272

as there isn't feedback, wet took the path of having both the doi, and the metadata record name (name in CKAN terms, which is pretty much the url of the record) to be the unique identifiers, both of these are searchable via the search form


[charls] upgrade to 2.1.0

Upgrade to the latest released version of CharLS.
Note: The patch file has become obsolete.
The following triplets are supported:
charls:x86-windows
charls:x86-windows-static
charls:x64-windows
charls:x64-windows-static
charls:x64-uwp
charls:x64-linux
charls:x64-osx

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: vbaderks sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

Note: the CI checks are currently failing/pending. This seems to be caused by other changes and the problem with the macOS pipeline.

/azp run

Thanks for the PR!


Update sbt-sonatype to 3.9.13

Updates org.xerial.sbt:sbt-sonatype from 3.9.11 to 3.9.13.
GitHub Release Notes - Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Files still referring to the old version number
The following files still refer to the old version number (3.9.11).
You might want to review and update them manually.
project/Versions.scala

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.xerial.sbt", artifactId = "sbt-sonatype" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "org.xerial.sbt", artifactId = "sbt-sonatype" }
}]

labels: sbt-plugin-update, early-semver-patch, semver-spec-patch, old-version-remains, commit-count:1

Superseded by #270.


Logo under images/ is out of date

Snakemake now has a lovely green logo, but the files found under the images directory in the source contain the old logo. Could the new logo be added to the source? Is there an SVG version available?
My motive for asking this is I'd like to request workflowhub.eu to use the new logo for tagging the Snakemake workflows on their site, and then I realised that they are using the one from images/logo.svg and this should really be updated.
Thx

Realised the logo is available here:
https://github.com/snakemake/snakemake-workflow-catalog/blob/main/logo-snake.svg


The wbr element

The wbr element http://www.w3.org/TR/html5/text-level-semantics.html#the-wbr-element

This issue was imported from Google Moderator
Moderator votes: +22
Issue added by Stefan on 2014-03-22
To vote this issue up or down, simply include +1 or -1 in your comment.

+1

+1

+1

+1

+1

Now available at http://caniuse.com/#feat=wbr-element


Need Better Support For Ruby & Rails

It's better to have a support for Ruby and Rails. Hard to find a better Extensions.

there are a quite a few ruby extensions in the marketplace.  if there are issues, please do submit an issue with the extension you are using.


Repeated info

The "other ways" section at the end of this doc appears to be repeating paragraphs that are already included above under "Monitor costs". Please take a look and clean up the doc.

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

ID: cd5030ed-0c42-3667-38d9-08f1eaefac9b
Version Independent ID: e3aea896-36ba-42b8-2abd-349c26706820
Content: Plan and manage costs for Azure Sentinel
Content Source: articles/sentinel/azure-sentinel-billing.md
Service: azure-sentinel
GitHub Login: @batamig
Microsoft Alias: bagol

@dcbrown16 Thank you for your feedback . We will investigate and update the thread.

@dcbrown16 Thanks for the feedback. We will engage the content development team for further investigation, they will verify and perform necessary changes in the document as needed.

Hi @dcbrown16 - thank you so much for your feedback!
We always welcome input from our readers, and I've added your notes as an action item in our backlog.
We'll review again and make any updates required in an upcoming publish.
I'm going to close this issue in the meantime, but feel free to add more comments as needed.
Thanks for your contributions to docs!
#please-close


"System administrator has set policies to prevent this installation" error when installing PowerShell 7.4.5 on Windows 11 as admin on a non-domain machine...

Prerequisites

[X] Write a descriptive title.
[X] Make sure you are able to repro it on the latest released version
[X] Search the existing issues.
[X] Refer to the FAQ.
[X] Refer to Differences between Windows PowerShell 5.1 and PowerShell.

Steps to reproduce
I am encountering an issue when trying to install PowerShell 7.4.5 on a Windows 11 system using the MSI installer (PowerShell-7.4.5-win-x64.msi). Upon running the installer, I receive an error message stating, "The system administrator has set policies to prevent this installation."
I am logged in as an administrative user, I have unblocked the file
Steps to Reproduce:

Download the PowerShell 7.4.5 MSI installer (PowerShell-7.4.5-win-x64.msi) from the official GitHub release page.
Run the installer on a Windows 11 machine.
Observe the error message.

The certificate does appear revoked, please see screenshot.
Expected behavior
The installer should run and install PowerShell 7.4.5 without displaying the error, assuming proper administrative privileges.

Actual behavior
An error dialog appears with the message: "The system administrator has set policies to prevent this installation.

Error details
=== Verbose logging started: 2024-08-23  14:23:32  Build type: SHIP UNICODE 5.00.10011.00  Calling process: C:\Windows\system32\msiexec.exe ===
MSI (c) (74:E0) [14:23:32:749]: Font created.  Charset: Req=0, Ret=0, Font: Req=MS Shell Dlg, Ret=MS Shell Dlg

MSI (c) (74:E0) [14:23:32:750]: Font created.  Charset: Req=0, Ret=0, Font: Req=MS Shell Dlg, Ret=MS Shell Dlg

MSI (c) (74:F8) [14:23:32:765]: Resetting cached policy values
MSI (c) (74:F8) [14:23:32:765]: Machine policy value 'Debug' is 0
MSI (c) (74:F8) [14:23:32:765]: ******* RunEngine:
           ******* Product: PowerShell-7.4.5-win-x64.msi
           ******* Action:
           ******* CommandLine: **********
MSI (c) (74:F8) [14:23:32:766]: Machine policy value 'DisableUserInstalls' is 0
MSI (c) (74:F8) [14:23:32:782]: SOFTWARE RESTRICTION POLICY: Verifying package --> 'C:\Users\Arsalan\downloads\PowerShell-7.4.5-win-x64.msi' against software restriction policy
MSI (c) (74:F8) [14:23:32:782]: SOFTWARE RESTRICTION POLICY: C:\Users\Arsalan\downloads\PowerShell-7.4.5-win-x64.msi has a digital signature
MSI (c) (74:F8) [14:23:32:869]: SOFTWARE RESTRICTION POLICY: C:\Users\Arsalan\downloads\PowerShell-7.4.5-win-x64.msi is not permitted to run at the 'unrestricted' authorization level.
MSI (c) (74:F8) [14:23:32:869]: SOFTWARE RESTRICTION POLICY: C:\Users\Arsalan\downloads\PowerShell-7.4.5-win-x64.msi was disallowed because a required certificate in its digital signature has been revoked by its issuer (status = 0x800B010C). The returned execution level was 0
MSI (c) (74:F8) [14:23:32:869]: The installation of C:\Users\Arsalan\downloads\PowerShell-7.4.5-win-x64.msi is not permitted by software restriction policy. The Windows Installer only allows installation of unrestricted items. The authorization level returned by software restriction policy was 0x0 (status return 0x800b010c).

MSI (c) (74:F8) [14:23:32:869]: Note: 1: 1718 2: C:\Users\Arsalan\downloads\PowerShell-7.4.5-win-x64.msi
MSI (c) (74:F8) [14:23:32:869]: MainEngineThread is returning 1625
=== Verbose logging stopped: 2024-08-23  14:23:32 ===

Environment data
The system is running Windows 11.
The MSI installer was run from an elevated command prompt.
The error appears despite having administrative privileges.
I checked Group Policies, but no explicit restrictions seem to be in place for MSI installations.
The error might be related to a certificate issue, as indicated by the log entry 0x800B010C, which suggests that a required certificate in the digital signature has been revoked.

Visuals

Same issue affects Macs using the .pkg installer. Apple's built-in security policy prevents installation unless you go to the Privacy & Security page in the macOS Settings app and override the policy.

Same issue affects Macs using the .pkg installer. Apple's built-in security policy prevents installation unless you go to the Privacy & Security page in the macOS Settings app and override the policy.

This will only get worse in a few weeks when macOS Sequoia is released.


Remove -help requirement from buy -server -help

I feel it's a bit redundant to make that extra step. Perhaps there is some reason for it later on if you add more options. If I type buy -server, it should be obvious that I want a list of servers that are available and their costs

I think I have done the same for abilities, but if we do it for buy -server we must also do it for buy -ability.

Yes absolutely, and buy -hacker. I find it really annoying when I run buy -server and then it's like "nah, gotta use help" and I forget every time. If there are more options that you are going to place, then it might be required

Okay, if you want to do the changes for server, ability and hacker, you can do it, it's a good QoL.


Feature: Panel splitter classes

The original PanelTimeSeriesSplit class is refactored into three classes:

ForwardPanelSplit

Maintains the functionality of PanelTimeSeriesSplit with n_split_method="expanding"

KFoldPanelSplit

Maintains the functionality of PanelTimeSeriesSplit with n_split_method="rolling"

IntervalPanelSplit

Maintains the functionality of PanelTimeSeriesSplit with train_intervals

The split() methods now yield the splits instead of a returning a list of all splits.

To be reviewed on my end today.


Option to add other users

⚠ Please verify that this feature request has NOT been suggested before.

[X] I checked and didn't find similar feature request

🏷 Feature Request Type
UI Feature, Other
🔖 Feature description
You should add the option to add other user accout to view details from status-page e.g. the value of dns checks or the ping delays/history.
✔ Solution
Adding the UI Feature for the logged-in admin User to add new users via E-Mail or simple username and password as "Viewer" only.
❓ Alternatives
implement a user-rights-management
📝 Additional Context
If there is feature already (and i can't find

That were great if i can add more Admins or Viewer Only Users.
Please add this Feature.

Yes, this would be very helpful.

a view only user would be great
or to view without login ( limit via my Firewall )
limit view  access via source IP list/ranges

Duplicate of #128

@funky123 I think this is a duplicate of #128
Duplicates only hurt issue discoverability and lead to zombies, could you either

clairify why this is not a duplicate
or close this issue?


Release Google.Cloud.CloudControlsPartner.V1Beta version 1.0.0-beta03

Changes in this release:
New features

Field behavior for field customer_onboarding_state in message .google.cloud.cloudcontrolspartner.v1beta.Customer is changed (commit 4a276df)
Field behavior for field is_onboarded in message .google.cloud.cloudcontrolspartner.v1beta.Customer is changed (commit 4a276df)
A new value ACCESS_TRANSPARENCY_LOGS_SUPPORT_CASE_VIEWER is added to enum .google.cloud.cloudcontrolspartner.v1beta.PartnerPermissions.Permission (commit 4a276df)

Documentation improvements

A comment for field display_name in message .google.cloud.cloudcontrolspartner.v1beta.Customer is changed (commit 4a276df)
Mark the accessApprovalRequests.list method as deprecated (commit 95e9579)

Created release for Google.Cloud.CloudControlsPartner.V1Beta-1.0.0-beta03


MongoDB Atlas tutorial

Added tutorial for the topic
4 | MongoDB | Database | How to create a database on MongoDB Atlas and access if from your laptop?

Hi @girishgr8 . A microbyte is not a tutorial. It is Learn by doing the project. when a person takes a microbyte they need to work their way thru it, like they will have to follow a set of hints/guidelines to solve some mini-issues and also indirectly build something in the end that will facilitate the effective learning process. So we are sorry but we cannot be accepting this as this is totally against our guidelines as mentioned before.
Please refer to other microbytes(especially in the miscellaneous section) to better understand what I am implying.

Alright. I will make necessary changes considering the guidelines.

Hey @girishgr8!
Thanks for understanding.
Try to make the contributions asap as you already have the content, need a reordering basically.
Feel free to ping us on Slack in case of any queries 😄

@girishgr8 Pls work on my comments. We are eager to see ur completed contribution. U will get creator badges only if u do the needed latest by today midnight

@girishgr8 Pls work on my comments. We are eager to see ur completed contribution. U will get creator badges only if u do the needed latest by today midnight

I will try to incorporate the changes, but I am quite confused about how to tweak in the changes to make my contribution not tutorialish.

@girishgr8 Pls work on my comments. We are eager to see ur completed contribution. U will get creator badges only if u do the needed latest by today midnight

I will try to incorporate the changes, but I am quite confused about how to tweak in the changes to make my contribution not tutorialish.

Thing is u need to revamp ur project as it is a tutorial. Like some application of MongoDB using its commands(in either shell or compass), like gridFS for file sharing, or image/pdf storing, etc. But don't make it into a tutorial to complete that application. Make it Learning as well as hands-on doing

@girishgr8 Pls work on my comments. We are eager to see ur completed contribution. U will get creator badges only if u do the needed latest by today midnight

I will try to incorporate the changes, but I am quite confused about how to tweak in the changes to make my contribution not tutorialish.

Thing is u need to revamp ur project as it is a tutorial. Like some application of MongoDB using its commands(in either shell or compass), like gridFS for file sharing, or image/pdf storing,MongoDB shell methods etc. But don't make it into a tutorial to complete that application. Make it Learning as well as hands-on doing

I have changed the tutorialish stuff and added hands-on learning for uploading files using gridfs & mongodb. Please guide me how to add the updated changes in this pull request.

Introduction
MongoDB

MongoDB is a open-source document database and leading NoSQL database with the scalability and flexibility that you want with the querying and indexing.

MongoDB Atlas

MongoDB Atlas provides an easy way to host and manage your data in the cloud. MongoDB Atlas is a fully-managed cloud database.

Ever wondered how to store large files like pdfs or images into databases ? If you have basic knowlegde of MySQL (A relational database), then you might know there is blob datatype which can be used to store pdfs. But how to do the same in MongoDB ?

MySQL is relational database and hence it is not recommended to use for storing large amount of files, instead many professionals use MongoDB (A document-oriented NoSQL) database for it.

Now, the solution for storing big files is using GridFS with MongoDB.
GridFS

GridFS is the MongoDB specification for storing and retrieving large files such as images, audio files, video files, etc. GridFS has the capability to store files even greater than its document size limit of 16MB.
GridFS divides a file into chunks and stores each chunk(piece) of data in a separate document, each of maximum size 255K.

Activities
Activity 1: Setting up MongoDB cluster using MongoDB Atlas
Follow the instructions in the document

Activity 2: Import the libraries which will be required for our tasks:

This microbyte uses Python language for performing tasks.
Firstly open terminal and copy the following snippet & paste it in the terminal.

    $ pip install pymongo gridfs bson dnspython

Import MongoClient so that we can connect to a running mongod instance on our cluster.
Import GridFS from gridfs module so that we may put, get and delete files in MongoDB.
Import objectid from the bson library because we will be requiring it.
dnspython package is needed to make network calls to the cluster.

Open the command prompt and type python and click enter (This will turn your cmd into python shell):

from pymongo import MongoClient
from gridfs import GridFS
from bson import objectid
import dns

Activity 3: Connect to the cluster and access the database

Now, we have imported the libraries, our task is to connect to the online cluster through our system.

Task 1: Get the connection string to your cluster & connect to your database

Hint
While performing the Activity 1 above, you might have encountered with the connection string to your cluster and wondered about the use of it. This connection string is unique for every individual's cluster. Copy that connection string. Now use MongoClient to connect to it.
connection_url = "mongodb+srv://CrioBytes:CrioBytes@criobytes.dyseu.mongodb.net/CrioBytes?retryWrites=true&w=majority"
conn = pymongo.MongoClient(connection_url)
# dbname will be present in your url (default db) named `test`
dbname = 'CrioBytes'
db = conn[dbname]

Activity 4: Lets get started with interacting with our db & clear some basics

Task 1: Create the GridFS object

objects ! The entire universe is made of objects !!!
Here, I refer object as creating the instance of GridFS class i.e. GridFS().
GridFS() takes an argument which is the object (oops! again an object) of db which we created in Activity 3.

Hint
    gridfs = GridFS(db)

Task 2: Store simple string "Microbytes" in the database using gridfs

Use put() method of gridfs instance we created to insert "Microbytes" in db
The put() method returns the object id of newly inserted object (may it be string or any file)

Hint
    obj = gridfs.put('MicroBytes')

Note: This string is stored in fs namespace which is the default namespace used for storing data using GridFS

Curious about knowing what is namespace ?

A namespace is a system to have a unique name for each and every object.
At times, an object might be a variable or a method.
Lets break the keyword namespace as name (which means name, an unique identifier) + space(which tells us something related to scope). Here, a name might be of any method or variable and space depends upon the location from where is trying to access a variable or a method.

Activity 5: Diving deeper into GridFS
Task 1: Create your own namespace

Connect to cluster and create your own namespace while instantiating gridfs object
The GridFS() can also take another parameter which is the name of the namespace we wanna create.

Hint
    fs = GridFS(db, "microbytes")

Task 2: Insert any pdf file using gridfs

Now, for inserting any file, we must have a reference pointing to that file.
In Python, we use open() function to open any file. This method returns a reference object to the file we opened.

    f = open('/path_to_your_file/sample_bytes.pdf')

Use this reference object for inserting our pdf file.

Hint
    file_id = fs.put(f, content_type='application/pdf', filename='sample_bytes.pdf')
    # you can provide the filename if you want to upload it with different name

Here, The put() method returned the file_id.

Now if you go to the database 'CrioBytes' in your cluster you fill find the collections named 'microbytes.files' & 'microbytes.chunks'

Task 3: Read the uploaded file using the file_id object

Can you use get() & read() method provided by fs object.
get() method returns a file-like-object, and to see the content, we can call read() method on this file-like-object.
Will get() method require some parameter associated with the file we wanna retrieve? Ofc yes ! To find the file we want, it takes in the file_id.

Hint
    print(fs.get(file_id).read())
    # This will print the content of the file which has id as file_id

Task 4: Let's insert txt file into MongoDB

Since you have worked with inserting pdf files, this task shall not be difficult one.
You will perform something just like below :

    f = open('/path_to_your_file/sample_bytes.pdf')
    fs.put(f, filename="sample_text.txt")

What if we want to insert the file which is not present on the local system ? Can we insert some text file by inputting the data into that text file on the fly ? (dynamically) !! This might be necessary in some crucial tasks !!! So, lets see how to do so !

You might remember, we inserted the simple string "MicroBytes" at the start, and in subsequent task, we inserted text file. Now, the solution is simple, combine/tweak both ?

    fs.put("Hello, This is a sample string", filename="new.txt")

Task 5: Find a file in our database & read its contents

As mentioned Task 2 of Activity 5, the files are stored in db.namespace.files collection. Use this collection to find the file stored.
Use find_one() method to find the document inside the collection.
Use get() & read() to read the contents of file.

Hint
    file_id = db.microbytes.files.find_one({"filename" : "sample_text.txt"},{"_id":1})
    print(fs.get(file_id['_id']).read())
    # Contents of the file `sample_text.txt` will be printed

Task 6: Delete the file

Now, suppose we want to delete the stored file, then use delete() method of fs object.
delete() method will also require the file_id of the file one wants to delete (Remember ! The get() method also needed file_id)

Hint
    fs.delete(file_id)

Hooray 🎉🎉 We have successfully setup clustes, created database,uploaded, retrieved, deleted files using GridFS file system it through our personal laptop/desktop.
Summary
We have created a database on MongoDB Atlas and accessed it from your own laptop.
References

https://docs.atlas.mongodb.com/getting-started/
https://www.w3schools.com/python/python_mongodb_getstarted.asp
https://www.tutorialspoint.com/mongodb/mongodb_gridfs.htm
https://psabhay.com/posts/mongodb/mongodb-gridfs-using-python/

Do u use command line or giuhub directly?
Also there are 2 bad practices here:

U passed ur code as a comment. In other scenarios someone may copy it without ur consent; and also it is not plesaing for someone to follow the comments this way
Always make a pull request from a branch. That way ur main repo is safe

Keep these in mind.

Do u use command line or giuhub directly?
Also there are 2 bad practices here:

U passed ur code as a comment. In other scenarios someone may copy it without ur consent; and also it is not plesaing for someone to follow the comments this way
Always make a pull request from a branch. That way ur main repo is safe

Keep these in mind.

I use Github directly. Sorry for pasting in the code directly, I was unaware that such thing is a bad practice. I will make a pull request again with updated code. Is that okay ?

Delete one file and add its subsequent file

opening a new PR will make our entire conversation go futile for other ppl to learn from

I have updated the repo with the changes and added the file in my forked repo. Will you please review the same?

Don't use the light shading(>) markdown everywhere. Us it for special mentions/notes only

Give some article link for relational database in MongoDB atlas section

Give a section of pre-requisites. MongoDB basic/ database basic, basic python, etc.

Post a question regarding how big a BSON file can be uploaded. Does gridfs support multiple document transactions? Address how it stores data(in chunks), give some illustrative explanation. Give some other trivia that u find

NOTE: Always use git(i.e. from cmd line or git bash). It is very powerful and will help u in managing ur code around github better. Do learn it

Make the aforementioned changes. rest looks fine for now :p

Updates done:

Pre-requisites added
Removed unnecessary light shaded text
Added article link for basic difference between relational & nosql db
BSON-document max size limit
Question & reasoning on why GridFS doesnot support multi-doc transactions
Basic explanation on how files are stored in chunks.
Fixed the typos

@Kevinpaulose05
Please review the changes.

Are any changes required ?

The first place u mentioned BSON, give a link to it. Newbies may think it as JSON maybe ;)

The first place u mentioned BSON, give a link to it. Newbies may think it as JSON maybe ;)

The first place u mentioned BSON, give a link to it. Newbies may think it as JSON maybe ;)
in pre requisites give a python installation link

Yaaa alright.... I will add that !

Can u come up with some challenege based on gridfs? So that learners can solve it. Try to think of something. It wud be good.
Also kindly centre align both images(chunk one and immediate next one-shards one)

Also just add some vibrant images like file sharing ginto database, or any funny photo that will make ur microbyte an eye-catcher? Just a suggestion. Work on the previous ones first :)

Can u come up with some challenege based on gridfs? So that learners can solve it. Try to think of something. It wud be good.
Also kindly centre align both images(chunk one and immediate next one-shards one)

Ya actually there can be some challenge related to adding the same file to the database using gridfs again and again and asking user some task related to it ?

Take time if needed. There is no hurry

Can u come up with some challenege based on gridfs? So that learners can solve it. Try to think of something. It wud be good.
Also kindly centre align both images(chunk one and immediate next one-shards one)

Ya actually there can be some challenge related to adding the same file to the database using gridfs again and again and asking user some task related to it ?

Yup. that will do

Take time if needed. There is no hurry

My contribution won't count in this repository if it exceeds time ?

Take time if needed. There is no hurry. I have added the label. So ur PR I counted in the official contest(revert back here if not). We will accept submissions as and when u like. But kindly don't stretch it too much.

Sure. I will try to update it by today itself.

@Kevinpaulose05
Please review the changes which were suggested by you.

Can u change ur MB name to something like file sharnig with mongodb or something. MongoDb is a generic name

Can u change ur MB name to something like file sharnig with mongodb or something. MongoDb is a generic name

Sure ! I will change it File Sharing using GridFS & MongoDB ? Is that okay ?

Can u change ur MB name to something like file sharnig with mongodb or something. MongoDb is a generic name

Sure ! I will change it File Sharing using GridFS & MongoDB ? Is that okay ?

gridfs in MongoDB? Ig this is right?

Can u change ur MB name to something like file sharnig with mongodb or something. MongoDb is a generic name

Sure ! I will change it File Sharing using GridFS & MongoDB ? Is that okay ?

gridfs in MongoDB? Ig this is right?

Ya I did the changes .. Is this name okay ?

awesome work @girishgr8 . Two things to do after merging:

Open issues related to ur MB
Also, kindly showcase your MicroByte in the #microbyte-showcase channel over at our slack workspace, using this template.

Also, kindly fill this form.

Thank you for guiding me so nicely and suggesting the  good changes.

Awesome work @girishgr8 . I love your approach.

Thank you so much !

@girishgr8 The content looks pretty decent now. I really like the way you've laid out the entire content of yours. Nice value added to the learning scope. 💯
Just one minor change though. Kindly rename your folder to specifically state the purpose of the MicroByte in a very brief manner. The current title MongoDB isn't good enough.
Just make this change, and we'll get the PR merged.

I renamed the microbyte folder to "File Sharing using GridFS in MongoDB" is that okay ?

Yeah, cool.

@all-contributors kindly add @girishgr8 for:

[x] code
[x] content
[x] ideas
[x] doc

Thank you @Kevinpaulose05 @amoghrajesh @Ak-Shaw @archithdwij  for guiding & helping me out in creating such good microbyte. It was a wonderful experience !!

The feeling is mutual.

awesome work @girishgr8 . Two things to do after merging:
1. Open issues related to ur MB

2. Also, kindly showcase your MicroByte in the **#microbyte-showcase** channel over at our slack workspace, using [this](https://github.com/Crio-Bytes/Demo-Repo/blob/master/Maintainer%20Resources/new-microbyte-showcase-template.md) template.

Also, kindly fill this form.

Kindly do these.

awesome work @girishgr8 . Two things to do after merging:
1. Open issues related to ur MB

2. Also, kindly showcase your MicroByte in the **#microbyte-showcase** channel over at our slack workspace, using [this](https://github.com/Crio-Bytes/Demo-Repo/blob/master/Maintainer%20Resources/new-microbyte-showcase-template.md) template.

Also, kindly fill this form.

Kindly do these.

The slack workspace link is broken. The page is not found ! Also, just a small doubt, I should add further improvement scope for this MB in the issues section right ?

Try this: https://join.slack.com/t/criodo-world/shared_invite/zt-ijwn6acw-oF7qy9eiYGgJJQPh5QuPGQ

Yeah, create improvement issues if you have ideas.


training is slow, why?

Game 484 Score 11 Record: 69
after so many failures, only got a record 69, any way to improve it? or is it possible to achieve better?

increase tick speed so the games go faster

or turn the tick speed to 0, sure it will be hard on your CPU but it is worth it for results under 10 minutes, also tick speed 0 is for some reason faster than<PHONE_NUMBER>0000000000000000, just the way python works sometimes.

I've also improved it by adding a additional layer in the neural network, the code was:
self.Linear1 = nn.Linear(input_size, hidden_size)
self.Linear2 = nn.Linear(hidden_size, hidden_size)
self.Linear3 = nn.Linear(hidden_size, output_size) # NOTE: HAS TO BE WITHIN THE "model.py" FILE WITHIN THE SUPER INIT.

for the forward() function yes you do have to do everything manually, here is the code:
def forward(self, x):
    x = F.relu(self.Linear1(x))
    x = F.relu(self.Linear2(x))
    x = self.Linear3(x) # Output layer, no ReLU here
    return x

these are the parts of the file you need to edit to get a better model, do not add too many layers or overfitting may occur.

the entire code would be like such:
import torch
import torch.nn as nn
import torch.optim as optim
import torch.nn.functional as F
import os

class Linear_QNet(nn.Module):
    def __init__(self, input_size, hidden_size, output_size):
        super().__init__()
        self.linear1 = nn.Linear(input_size, hidden_size)
        self.linear2 = nn.Linear(hidden_size, hidden_size)
        self.linear3 = nn.Linear(hidden_size, output_size)

    def forward(self, x):
        x = F.relu(self.linear1(x))
        x = F.relu(self.linear2(x)) # ReLU activations introduce non-linearity.
        x = self.linear3(x)
        return x

    def save(self, file_name='model.pth'):
        model_folder_path = './model'
        if not os.path.exists(model_folder_path):
            os.makedirs(model_folder_path)

        file_name = os.path.join(model_folder_path, file_name)
        torch.save(self.state_dict(), file_name)

class QTrainer:
    def __init__(self, model, lr, gamma):
        self.lr = lr
        self.gamma = gamma
        self.model = model
        self.optimizer = optim.Adam(model.parameters(), lr=self.lr)
        self.criterion = nn.MSELoss()

    def train_step(self, state, action, reward, next_state, done):
        state = torch.tensor(state, dtype=torch.float)
        next_state = torch.tensor(next_state, dtype=torch.float)
        action = torch.tensor(action, dtype=torch.long)
        reward = torch.tensor(reward, dtype=torch.float)
        # (n, x)

        if len(state.shape) == 1:
            # (1, x)
            state = torch.unsqueeze(state, 0)
            next_state = torch.unsqueeze(next_state, 0)
            action = torch.unsqueeze(action, 0)
            reward = torch.unsqueeze(reward, 0)
            done = (done, )

        # 1: predicted Q values with current state
        pred = self.model(state)

        target = pred.clone()
        for idx in range(len(done)):
            Q_new = reward[idx]
            if not done[idx]:
                Q_new = reward[idx] + self.gamma * torch.max(self.model(next_state[idx]))

            target[idx][torch.argmax(action[idx]).item()] = Q_new

        # 2: Q_new = r + y * max(next_predicted Q value) -> only do this if not done
        # pred.clone()
        # preds[argmax(action)] = Q_new
        self.optimizer.zero_grad()
        loss = self.criterion(target, pred)
        loss.backward()

        self.optimizer.step()

The best way to improve the Snake AI however, is the following code:
model.to('cuda:0')

add this code right after the definition of 'model(state)'.

Probably you need to change a little bit the logic and the weights to work better in the long run, increase the layers or neurons in the model probably isn't the better choice, I implemented the code and notice that even the AI goes well arround 60-200 games it keeps making same mistakes as 1-10 games such looping in a corner.
I didn't improve the NN, I rebalance the weights and the aleatority param to make sure IA keeps improve and change the logic to make this kind of early issues didn't affect anymore in the long run.
The purpouse of this exercises is to introduce to these complex algorithms and techonlogies so we can search and find out studying and practicing, so I suggest you guys to revise the basics of ML and NN so you can understand better the unsupervisioned learning concepts and then by yourselves improve this code because it's very simple and wasn't made to give us the fish, but to incentive us to learn how to fish

Thanks, looking back at my code, it seems I should have been more focused on the rewarding system, I am seeing if I can do what is called a genetic algorithm that adjusts weights subtly, and perhaps changes the rewards very gradually, and it uses natural selection, making sure at least 5 original Worm workers will be saved and refered to in the future.


Jarvis tasks two

adding versions to tasks
improving lookup of tasks by terms

Looks good.
Make sure you squash the commits.
I'll assume this has been tested.  :)


Mocking FindAsync seems to not be returning results

Dear Michal,
I am trying out your EF  Mocking library, but I am making calls to FindAsync that, I suppose, is not mocked, is that correct? And is it possible to add mocking for this?
Regards,
Remco Bosman

Hi,
I will summarise our discussion also in issue. Some of it has been published in pull requests #17.
Generally, at first I wanted to add this feature to this lib. Today I think that it is not needed. I created a branch for this case - FindAsync where I placed some example to this issue.
In class UsersService I created FindAsync method:
public async Task<User> FindAsync(params object[] keyValues)
{
   return await this.usersContext.Users.FindAsync(keyValues);
}

To test that you can use existing library and add small additional mocking:
[Fact]
public async Task Given_ListOfUser_When_FindAsync_Then_CorrectUserIsReturned()
{
    var users = GenerateNotLockedUsers();
    var userContextMock = new Mock<UsersContext>();
    userContextMock.Setup(m => m.Users.FindAsync(It.IsAny<object[]>())).Returns<object[]>(async (d) => await Task.FromResult(users.FirstOrDefault()));

    var usersService = new UsersService(userContextMock.Object);
    var user = users.FirstOrDefault();

    //Act
    var userToAssert = await usersService.FindAsync(user.Id);

    //Assert
    Assert.Equal(userToAssert, user);
}

You need just to customize mock - check if correct parameters are provided to FindAsync and adjusted return.
Please let me know if this will solve your issue.


Update index.d.ts

Description
The getWorkout function was removed as part of #23 another PR, so the types should be updated.
Type of change

[x] Bug fix (non-breaking change which fixes an issue)
[x] This change requires a documentation update

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have checked my code and corrected any misspellings

Thank you 😄


std::async invoked synchronously, causing problems in C++20

The std::future returned by std::async is discarded here:
https://github.com/googleapis/google-cloud-cpp/blob/c8625e063050fc406de8a5afe7913a9a1d80b082/google/cloud/bigtable/mutation_batcher_test.cc#L821
This is likely a bug and will also trigger compiler diagnostics in C++20 due to [[nodiscard]] being added to it.

Thanks for the bug report, as this is only in a test I think it is only a P3.


add curations

Description
The OSS Scan again had some false positive findings. This will fix them

This commit will only suppress them. Please provide rational, for false-positive.


[CAMEL-8349] Context should be started with defined TCCL

https://issues.apache.org/jira/browse/CAMEL-8349

We cannot accept such changes on a patch branch, eg 2.14.x.
Please redo the PR against master, which we can accept.

ok


remove conditional zoom logic

changes which correspond with Esri/esri-leaflet#695

just remembered that these changes need to be merged and another release needs tagged here before we tag another esri-leaflet release.
if it'd be helpful, feel free to give me push in this repo and on npm and i can take care of the tagging/publishing.


Improve number literal highlighting (WIP)

Highlight new octal literal prefix syntax
Allow uppercase prefixes in binary/hexadecimal/octal literals

Let me know if these commits are too small and should be squashed.  I'm not sure about the prevailing style.

We could also just use syn case ignore around the whole number section?

I don't know. You know syntax highlighting better than I do, but I think that the smaller the change to be made, the better. All of this is just so brittle.

OK, there's a few edge-case bugs in the number literal highlighting.  So leave this PR open and I'll add to it when I get a chance over the next week or so.
Thanks,
Doug

So sanity has prevailed and some of the 'interesting' edge cases are now invalid in recent versions so I won't bother with them.
I'm assuming the principle for this project's syntax highlighting is that anything valid should be highlighted?
What about things like misuse of _ in number literals (E.g. 1__2__3__) that are only flagged with a warning?  Is it worth adding optional error highlighting or does that just annoy everyone for no real gain?  I've never been sure, myself.

I don't see value in accomodating 1__2__3__

No, \d and, similar classes, were introduced in Vim 6 and they're already being used in the file.  They always have been, even in those number literal patterns. :)


[Feature Request] Make each rolltable entry only rollable ones

If I want to create a new random merchant, it can be annoying that some values on a rolltable can be rolled multiple times.
Example:
I want to create a merchant with 5 random items. Each item is supposed to be available 2 times.
If I update the shop inventory with:

Shop Qty Formula: 5
Item Qty Formula: 2
Limity Qty: 10

It can happen that I get 4 items but one item with 4 items in stock.
Unique item rolling would be nice

Solved in: https://github.com/jopeek/fvtt-loot-sheet-npc-5e/pull/124


help at getting perlnavigator working

perl version: 5.36.0
perl path: /ur/bin/perl
ide/text editor: neovim, lunarvim. vscode
install method: Mason, vscode marketplace
setup method: lspconfig
hi, i wanted to start learning perl and wanted to get perlnavigator working with lunarvim and lsp but i can't get the completion to work.
i already opened an issue on lunarvim for this ages ago but couldn't find an answer to my problem i also tried to get perlnavigator working on neovim with lspconfig and the default config in the README however that also didn't work, i have also tried to download the perlnavigator extension for vscode and still didn't have any completion for  perl.
i think perl navigator is working since it does give warnings like the one below:

i also had the same warnings come up in the vscode extension.
Again this is the first time i am using perl so is there more i have to configure or add to get the completion working.

What completion plugin are you using for neovim? Are you using the builtin completion? I'd recommend nvim-cmp. It will require a small number of other plugins, but that should be documented on the github site. Once it is setup properly you will get completions. I can guarantee that because that's what I have setup.

i am using nvim-cmp with the config from https://github.com/LunarVim/Neovim-from-scratch/blob/master/lua/user/cmp.lua (pasted below)
local cmp_status_ok, cmp = pcall(require, "cmp")
if not cmp_status_ok then
  return
end

local snip_status_ok, luasnip = pcall(require, "luasnip")
if not snip_status_ok then
  return
end

require("luasnip/loaders/from_vscode").lazy_load()

local check_backspace = function()
  local col = vim.fn.col "." - 1
  return col == 0 or vim.fn.getline("."):sub(col, col):match "%s"
end

--   פּ ﯟ   some other good icons
local kind_icons = {
  Text = "",
  Method = "m",
  Function = "",
  Constructor = "",
  Field = "",
  Variable = "",
  Class = "",
  Interface = "",
  Module = "",
  Property = "",
  Unit = "",
  Value = "",
  Enum = "",
  Keyword = "",
  Snippet = "",
  Color = "",
  File = "",
  Reference = "",
  Folder = "",
  EnumMember = "",
  Constant = "",
  Struct = "",
  Event = "",
  Operator = "",
  TypeParameter = "",
}
-- find more here: https://www.nerdfonts.com/cheat-sheet

cmp.setup {
  snippet = {
    expand = function(args)
      luasnip.lsp_expand(args.body) -- For `luasnip` users.
    end,
  },
  mapping = {
    ["<C-k>"] = cmp.mapping.select_prev_item(),
		["<C-j>"] = cmp.mapping.select_next_item(),
    ["<C-b>"] = cmp.mapping(cmp.mapping.scroll_docs(-1), { "i", "c" }),
    ["<C-f>"] = cmp.mapping(cmp.mapping.scroll_docs(1), { "i", "c" }),
    ["<C-Space>"] = cmp.mapping(cmp.mapping.complete(), { "i", "c" }),
    ["<C-y>"] = cmp.config.disable, -- Specify `cmp.config.disable` if you want to remove the default `<C-y>` mapping.
    ["<C-e>"] = cmp.mapping {
      i = cmp.mapping.abort(),
      c = cmp.mapping.close(),
    },
    -- Accept currently selected item. If none selected, `select` first item.
    -- Set `select` to `false` to only confirm explicitly selected items.
    ["<CR>"] = cmp.mapping.confirm { select = true },
    ["<Tab>"] = cmp.mapping(function(fallback)
      if cmp.visible() then
        cmp.select_next_item()
      elseif luasnip.expandable() then
        luasnip.expand()
      elseif luasnip.expand_or_jumpable() then
        luasnip.expand_or_jump()
      elseif check_backspace() then
        fallback()
      else
        fallback()
      end
    end, {
      "i",
      "s",
    }),
    ["<S-Tab>"] = cmp.mapping(function(fallback)
      if cmp.visible() then
        cmp.select_prev_item()
      elseif luasnip.jumpable(-1) then
        luasnip.jump(-1)
      else
        fallback()
      end
    end, {
      "i",
      "s",
    }),
  },
  formatting = {
    fields = { "kind", "abbr", "menu" },
    format = function(entry, vim_item)
      -- Kind icons
      vim_item.kind = string.format("%s", kind_icons[vim_item.kind])
      -- vim_item.kind = string.format('%s %s', kind_icons[vim_item.kind], vim_item.kind) -- This concatonates the icons with the name of the item kind
      vim_item.menu = ({
        nvim_lsp = "[LSP]",
        luasnip = "[Snippet]",
        buffer = "[Buffer]",
        path = "[Path]",
      })[entry.source.name]
      return vim_item
    end,
  },
  sources = {
    { name = "nvim_lsp" },
    { name = "luasnip" },
    { name = "buffer" },
    { name = "path" },
  },
  confirm_opts = {
    behavior = cmp.ConfirmBehavior.Replace,
    select = false,
  },
  window = {
    documentation = {
      border = { "╭", "─", "╮", "│", "╯", "─", "╰", "│" },
    },
  },
  experimental = {
    ghost_text = false,
    native_menu = false,
  },
}

recently i started getting this error on perl files only and completion on vanilla neovim works with other lsp like pyright and bashls.
error:

I'll use the LunarVim config and see if I can get it working. Or if I can replicate your problem.

It looks like nvim-basic-ide is the same project but different somehow? It's maintained by the same user and is recommended in the Neovim-from-Scrath README. I don't know if it will help, but may be worth a shot if all other attempts fail.

Ok, I started using the Neovim-from-scratch config. I made one change and it immediately started working for Perl, including completion. The change I made was I added 'perlnavigator' to the list of servers in lua/user/lsp/mason.lua.

@amonull if you are still using Neovim-from-scratch I would suggest you start, like I did, with a fresh install and perform the change I mentioned. Then start adding in any other changes you have made until it breaks. You will then know what is causing the problem. The takeaway is that completion works fine and is pretty simple to get working with a vanilla install of Neovim-from-scratch.

i just copied the neovim-from-scratch repo and moved it to ~/.config/nvim without making any changes other than adding perlnavigator to server list however i still am not getting any lsp completion.
example of what it looks like:

LspInfo:

lsp is running fine as usual and still gives errors the only problem is completion. i am also getting the exact same results with lunarVim where the lsp is running and i am getting syntax errors shown to me but no completion.

Thanks @WhoIsSethDaniel for jumping in here, the vim family of editors is not my strong suit.
@amonull, another thing to watch out for is the relatively targeted set of items in the Perl Navigator autocomplete. I like the autocomplete feature, as it tries to provide the most relevant suggestions and some cases may not have any suggestions at all. In your screenshot for example, I wouldn't expect anything since there are no variables or imported packages. However, it should complete in the context of use File:: and also if you have any my $foo variables defined in the file.

Thanks @bscan.  @amonull if you start with nvim something.pl and type:
#!/usr/bin/perl

use Moose;
M

When you type the "M" it should display completion options. If you then use completion to have it type "Moose", so you have
this:
#!/usr/bin/perl

use Moose;
Moose

Type "->" (or even just "-") directly after "Moose" and you'll get a bunch of other completions relating to the Moose module.

thank you @bscan  and @WhoIsSethDaniel for the help in me understanding perlnavigator.
i thought that using single letters would start giving me lsp completion suggestions i didn't realize perl was different in giving structures. everything works fine and has been working fine all along. sorry for my confusion and again thank you both for the help


Add DocumentMatcher

This matcher allows expectations to be checked on the entire documentation value
for an exposure, or individual keys of the documentation.

Rebased this change.

Rebased to add support for values to the DocumentMatcher.