New command Add Client Side WebPart to Modern Page

[EDIT] I forgot to mention the related issue #366

Coverage remained the same at 100.0% when pulling<PHONE_NUMBER>49a364798a63762d7be8a3e2f0211e on ypcode:dev-addclientsidewebpart into ce66365c77b9884784d5e44fe2fd75cc13485091 on pnp:dev.

Thanks @ypcode, will have a look shortly

Forgot to mention: the page-clientsidewebpart-add.md file, must be linked from the ./docs/manual/mkdocs.yml file or it won't be included in the build docs.

Hi Waldek,
Sure, I’ll do it in a few days :) thanks for the great review :)

From: Waldek Mastykarz<EMAIL_ADDRESS>Sent: Friday, July 6, 2018 7:53:46 PM
To: pnp/office365-cli
Cc: Yannick Plenevaux; Mention
Subject: Re: [pnp/office365-cli] New command Add Client Side WebPart to Modern Page (#502)
Forgot to mention: the page-clientsidewebpart-add.md file, must be linked from the ./docs/manual/mkdocs.yml file or it won't be included in the build docs.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/pnp/office365-cli/pull/502#issuecomment-403104635, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AH9X1FouyxSREHiPtut__G-RElKGHjlbks5uD6QqgaJpZM4U2RCY.

Thanks for helping out! For a first contribution, pretty well done 👏

Hi @waldekmastykarz ,
I adjusted as you requested, after messing up a bit because I forgot to rebase. it should be all fine now, however I don't know why the CircleCi tests still fail ? it compiles just fine on my computer.
I will submit another PR for the add clientsidetext command with a refactored helper class

Cool! Thanks @ypcode! I will have a look shortly!

Hey @ypcode, could you please do me a favour? Could you please squash your commits into one? I'm getting a bunch of conflicts along the way when trying to do it after merging with the latest dev and I would hate to brake something you've built. Thanks in advance!

Hi @waldekmastykarz , does it go better now?
Sorry for some mess up with this, I squashed and it looks more clear now.
Tell me if I can do anything else :)

Ideally, your PR should say that you want to merge 1 commit. If you look at the top, it says at the moment that there are 6 commits. No worries and thanks for helping me process the changes. It will be cool to get them merged.

I initially planned to have a single commit :p, here did I squash the big amount of commits I did wrong when committing adjustments. I can work it further if you wish but not before this evening.
Sorry for the issues...
At least I am gaining experience with git intricacies :p

Hi @waldekmastykarz, that should be fine now, I see "wants to merge 1 commit" :), I forgot a + sign to override the remote branch, that's why we were still seeing the previous commits :)

Perfect! Thanks again @ypcode!

Merged manually with some additional fixes. Once again, thanks @ypcode and welcome aboard as an Office 365 CLI contributor 👏


[5.5] Remove branch-alias to missing 5.x-dev branch

This will allow projects (between now and release) to be able to use
"laravel/framework": "dev-master as 5.5.0"

in their composer file.  Since there is no more 5.x-dev branch (seems to be master now), the current branch alias is no longer necessary.
Tweak as necessary, I think you know what the ultimate goal is. :)
PS: changes in laravel/laravel will be necessary as well between now and actual release.

I think it looks OK to me? It's just telling Composer to treat "master" branch as "5.5-dev".

You're right, I thought it looked ok too but was getting an install error yesterday.  Seems to work today, might have been a problem on our end with packagist.com cache perhaps?  I will close this, thanks.


[Project 1] mlfqs-nice-10 fail

mlfqs-nice-10 fail....

I don't why....:(

The issue is in this line: https://github.com/taeguk/OS-pintos/blob/master/pintos/src/threads/thread.c#L466
You need to remove t from a ready_queue if and only if the priority changed.


Create README.md

This is a test to see what cla-bot does.

@cla-bot recheck

@cla-bot check

@cla-bot check


fix: replace missing uuid dependency with crypto.randomUUID

as per this suggestion, this replaces the uuid dependency with crypto.randomUUID which Generates a random RFC 4122 version 4 UUID.

crypto.randomUUID([options])
Added in: v15.6.0, v14.17.0

@Privatecoder We might need to set Node.js version restriction in package.json (https://docs.npmjs.com/cli/v8/configuring-npm/package-json#engines) because crypto.randomUUID is not available on (very) old Node.js versions. Some people might still be using Node.js older than v14.17.

Didn't think of that. As far as I know < 14 is not LTS and end of life


Qingwei/minor refactor

This does not solve re-render perfectly, but I think it's good enough, as in TradeViewChart does not render more than necessary.
My judgement is that doing it perfectly does not worth it.
If we still have FF perf issue, we can profile it and find the hotspot.

Coverage increased (+0.07%) to 30.308% when pulling e9ddc2df57593b52d8e599d892a1950750864006 on qingweibinary:qingwei/minor_refactor into c84cf5e0b7b8e4761d4a225a1be77498ff6bc358 on binary-com:master.


Update documentation with custom binary path information

ie: Update https://splinter.readthedocs.io/en/latest/drivers/chrome.html with
from selenium import webdriver

chrome_options = webdriver.chrome.options.Options()
chrome_options.binary_location = "/path/to/canary"
browser = Browser('chrome', options=chrome_options)

but for Firefox as well.

I would like to work on this!

@ketangupta34  Go for it

Is this issue open?

@mohitdmak yes

@mohitdmak yes

ok, so do I need to be assigned this to work on it?

ok, so do I need to be assigned this to work on it?

@mohitdmak the assign is not necessary. a message here informing that you are working on this issue is enough.

@mohitdmak the assign is not necessary. a message here informing that you are working on this issue is enough.

I have submitted a pull request. Thank you!

Addressed by #1184


[FEATURE] Do not change rider size

When a rider that is the same (grid) size of the mount gets on it, it gets smaller. This works well with bordered tokens, but it makes no sense with the more realistic ones.

It would be really nice if we can control the amount of size reduction and/or turn that feature on and off.


Avoid initial input focus

I pass null to focusedInput property and works but I get an error:

Warning: Failed prop type: The prop focusedInput is marked as required in Content, but it's value is null.

There is any way to avoid this error?

What the fudge is Content? Can you share the full stacktrace?
are you importing the focusedInput proptype anywhere and then setting .isRequired on it? Because that would (unfortunately) break things.

I’m not sure why; .isRequired returns a new validator, it doesn’t mutate the original one.

Right but putting .isRequired on PropTypes.oneOf([START_DATE, END_DATE]) would fail for a value of null.
Because I never put in the effort to figure out how to get explicitNull working.

I think this is due to a prop type validation on a component above react-dates. None of our components have a required focusedInput which is why you are able to pass null. If you want to do the same for your Content component, I think you will have to remove the isRequired flag on its prop type definition. :) Let me know if you have more Qs!


Update create-a-wmi-event-alert.md

Update Applies to from SQL+MI to SQL only as alerts are not supported for MI at all.  also, removed the Important box which discusses the differences with Managed instance which is not needed.  Confirm Alerts are not supported here: https://learn.microsoft.com/en-us/azure/azure-sql/managed-instance/transact-sql-tsql-differences-sql-server?view=azuresql#sql-server-agent

@arkingmyname - can you review the proposed changes?
IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion, and we will reopen the issue. To see what the community is wanting, please visit the SQL Server User Feedback site or the Q & A site.


Sticky is not working in chrome

Sticky works only in Firefox and doesn't seem to work in all Webkit based browsers and chrome.
This is the used html:

Hi @danieladonna, saying that sticky doesn't work with Chrome in general is wrong as it works for me in Chrome in multiple places. It has to be related to your code that it doesn't work, but I cannot find anything in the code you pasted. Could you provide us a Codepen (you may use this template) reproducing your issue with the whole page code?

Hey @danieladonna Were you able to get this working, or to give us an example in a codepen? If not we'll close this issue in a few days.
Thanks,
Brandon

Hi guys,
in codepen it works fine. Probably it is a mistake in my installation of
foundation.
Thank you for the support, you can close the issue.
On Wed, Oct 26, 2016 at 7:50 PM Brandon Arnold<EMAIL_ADDRESS>wrote:

Hey @danieladonna https://github.com/danieladonna Were you able to get
this working, or to give us an example in a codepen? If not we'll close
this issue in a few days.
Thanks,
Brandon
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/zurb/foundation-sites/issues/9258#issuecomment-256425672,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ASQ5IOKJ394cTU1YjK7_pypWhlMX1kbzks5q35LZgaJpZM4KXIuS
.

--
Mit freundlichen Grüßen,
Daniela Donna.
<EMAIL_ADDRESS>
INSPIRATIONlabs GmbH
Rohrbacher Str. 79 | D-69115 Heidelberg | Germany
Tel. +49-6221-9853-680
Web: inspirationlabs.com
Sitz der Gesellschaft: Heidelberg
Handelsregister: Amtsgericht Mannheim, HRB 704782


filter: Gremlin-based Topology Filter

Example for test:

Add to skydive.yml this section:
fabric:
- TOR1[Name=tor1] -> [color=red] TOR1_PORT1[Name=port1, MTU=1500]
- TOR1[Name=tor1] -> [color=red] TOR1_PORT2[Name=port2, MTU=1500]
- TOR1[Name=tor1] -> [color=red] TOR1_PORT3[Name=port3, MTU=1500]
Try following expression: G.V().Has("Name", Regex("port"))
Expected result: three nodes <port1, port2, port3>

This patch adds new functionality to UI.
Now user should be able to filter graph topology using Gremlin syntax.
In this version we support only Gremlin expressions that filter nodes. Then edges that connect nodes that are both filtered are also added to the topology.

ok to test

The change relates to issue #317

Already merged


Multiple file upload tests

Codecov Report

Merging #158 (f2bd4a4) into main (44d3779) will decrease coverage by 3.49%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main     #158      +/-   ##
==========================================
- Coverage   83.81%   80.31%   -3.50%
==========================================
  Files          11       11
  Lines         278      254      -24
  Branches       30       26       -4
==========================================
- Hits          233      204      -29
- Misses         39       42       +3
- Partials        6        8       +2

Impacted Files
Coverage Δ

backend/controllers/admissions.js
72.27% <0.00%> (-8.53%)
:arrow_down:

backend/services/mailer.js
77.14% <0.00%> (-2.86%)
:arrow_down:

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 44d3779...f2bd4a4. Read the comment docs.


Upgrade Go version to 1.20

What problem are you facing?

User has to move down from Go 1.20 to 1.9 to work with the latest upjet.  The request is to support Go 1.20 which was released on 2023-02-01 and has gone through 6 minor releases.
How could Upjet help solve your problem?

@s-vo we are going to move to Go 1.20 once this PR lands: https://github.com/upbound/upjet/pull/224/files

@s-vo We've landed a PR upgrading to Go 1.20: https://github.com/upbound/upjet/pull/236

@jeanduplessis awesome! thank you.


Panes Not Restoring IL VIew Selection

Using multiple panes are not restoring the IL view selection after closing, then reopening a file.
Repro:

Open three panes (LLIL, MLIL, HLIL)
Switch to graph view for all three
close tab/reopen
Notice the IL view selections are not preserved

Can't repro it following these exact steps. Can you record a video?

Also, does it repro with a clean BN_USER_DIRECTORY and QSettings?

https://github.com/Vector35/binaryninja-api/assets/29309548/b87faa94-4e50-4a8d-9d0e-1661da136f76


How to set OIDC env using vault sidecar

vault.hashicorp.com/agent-inject-secret-oauth2-secrets.sh: "secret/[DC]/oidc-client-secret"
vault.hashicorp.com/agent-inject-template-oauth2-secrets.sh: |
    {{- with secret "secret/[DC]/oidc-client-secret" -}}
    OAUTH2_PROXY_CLIENT_ID='name-oauth-client'
    OAUTH2_PROXY_CLIENT_SECRET={{ .Data.oidc_client_secret }}
    OAUTH2_PROXY_COOKIE_SECRET=dd if=/dev/urandom bs=32 count=1 2>/dev/null | base64 | tr -d -- '\n' | tr -- '+/' '-_' ; echo
    {{- end -}}

How can we set the above in deployment.yaml ?
@pierluigilenoci - Would appreciate any help on this.

@himanshujaindev, could you help me understand exactly what you want to achieve?
I suggest having your sidecar inject a secret into the OAuth2 Proxy namespace.
Then use this: https://github.com/oauth2-proxy/manifests/blob/main/helm/oauth2-proxy/values.yaml#L246.
Does this answer your question?

@himanshujaindev, can this https://github.com/oauth2-proxy/manifests/pull/230 solve your problem?


Adopt official electron.d.ts

Now that we are going to Electron 1.7.x we should drop our outdated electron.d.ts and replace it with the official one that Electron ships: https://github.com/electron/electron/releases/download/v1.7.4/electron.d.ts

I had trouble getting the official xterm.d.ts integrated last week. I ended up just copying it over to typings.
It would be good if someone more familiar with our setup/TS config could look into pulling the typings directly from the modules when available /cc @mjbvz

Yeah, tricky because we always end up patching the d.ts. I think we can only do that if our changes are 0. I pushed it in.


Add core and tablesaw as dependencies in pom

Thanks, a very simple solution that I was needlessly agonising over!

If you don't mind, I'll add you to the contributors list.

I will do a 2.0.1 release in the next few days.

Great, thanks!


Update Getting Started Razor doc for Visual Studio for Mac to use New Project

In the Introduction to Razor Pages in ASP.NET Core doc for Visual Studio for Mac at the very top it instructs the reader to use dotnet new to create the Razor web project.

Visual Studio for Mac has a Razor template, the ASP.NET Core Web App template. This should be updated to instruct the reader how to create the project in Visual Studio for Mac instead of using dotnet new.
I just saw that this tutorial does the same thing.

Moved to #8369
@sayedihashimi  thanks for the report. We're creating doc issues from the GitHub integration at the bottom of the doc. That makes it more visible when we're updating the doc. We'll get this fixed in the next update.
This is not an onboarding tutorial despite being in the "Get started" section. The new instructions will be like the Visual Studio tab instructions, a link to another article.


Beep before prompt request

I've been doing builds of Hercules on s390x Unbuntu using hercules-helper and it's been working great. However, since it is so incredibly slow (s390x Unbuntu, not hercules-helper!), it is proving to be a PITA to have to babysit it whenever the --prompts option is used.
I was thinking it would be nice if hh (hercules-helper) would beep whenever a prompt was issued. This would allow me to not have to closely monitor it for prompts and instead go on to doing something else (rather than have to babysit it). The audible beep would then alert me that it was prompting me for something. (It doesn't have to be a beep. It can be any sound really.)
You could even make the beeping the default with an option to not beep (run silently instead) for those who might not desire it.
I believe such an option would make hh much nicer when used in situations such as mine, where it runs very slow, and might even be a benefit in other situations too where it runs quickly.
What do you think?

Fish, yes that's a good idea!

Fish,
Try this on your Ubuntu VM and let me know if you like the sound presentation?
echo -ne '\a'; sleep 0.15; echo -ne '\a'

Bill

echo -ne '\a'; sleep 0.15; echo -ne '\a'

[...]

echo -ne '\a'; sleep 0.15; echo -ne '\a'

Not bad. But 3 slightly closer together beeps sounds better IMO:
echo -ne '\a'; sleep 0.07; echo -ne '\a'; sleep 0.07; echo -ne '\a'
Maybe you can make it an environment variable setting? That way people can set it to whatever value they want? After all, my personal likes/dislikes should not rule the day!
And maybe we can somehow incorporate something similar into Hercules itself too? Whenever it detects the guest is waiting for a response it can provide an audible response as well? (or those cases where the user prefers to use the HMC rather than e.g. PuTTY?) If we do that, then the user can actually set (at least on Windows) to any .WAV file they want. Even one they record themselves, like "Okay, THAT'S done. NOW what do you want me to do?!"  :)

sounds.zip

I have my Visual Studio (2008) installation customized to play different sounds whenever a build completes depending on whether it completes with no errors, with warnings, or with errors:

build-sounds.zip

Been using those sounds for probably 20+ years now, on occasion have thought of maybe changing them to Homer Simpson instead (just to be different), but never got around to doing it.

Simpsons.zip

The feature has been added with commit https://github.com/wrljet/hercules-helper/commit/e230cfd490919895bd466641e16df7a10c3c2196
Use --beep or --beeps to enable it.
Thank you, Fish, for the suggestion.
Bill

The feature has been added with commit e230cfd
Use --beep or --beeps to enable it.

Cool! Thanks!
Now all I have to do is figure out how to get your changes over to my s390x Ubuntu 18.04 Hercules system.  :)

Thank you, Fish, for the suggestion.

You're very welcome, Bill. To reciprocate, I would like to thank YOU for writing Hercules-Helper in the first place!

Fish,

Now all I have to do is figure out how to get your changes over to my s390x Ubuntu 18.04 Hercules system.  :)

Do you not have networking rigged in your zLinux?

Do you not have networking rigged in your zLinux?

Of course. And it works fine too. I just forget where the HH repository is off the top of my head. I'll have to check my notes. I think it's ~/hercules-helper. Yes?

Yes, should be able to:
cd ~/hercules-helper
git pull

Of course, a simple ls in the home dir will show you where things are.

Of course, a simple ls in the home dir will show you where things are.

Duh! I would have eventually figured it out. I was just commenting on the fact that it's been a while since I've messed with that particular Hercules system and so forgot where everything was at. I was kind of hoping for you to have made your current reply several GitHub comments ago. Sheesh.  :)

The feature has been added with commit e230cfd
Use --beep or --beeps to enable it.

I just tried it and it works GREAT!
THANK YOU, Bill!  :-)


Click drag on scrollbars

conflicts with current version and has some other flaws (like console.log) - rejected


change table to div

The purpose of this PR is to remove the table elements from the opportunities table as it was flagged as not meeting accessibility.
Table elements have been removed and replaced by div and p.
FYI making this change will prevent us from adding filter functionality in the future.
Not sure if how I have coded this is good code. Was a 'hack it 'til it works' situation.
The look of the cards is mostly like the current website although the card header is a lighter grey and the link text is purple. I'd prefer the look we have now (dark grey header and white font) but not sure how to do that.

Looks great! I noticed a missing  only which was making the layout misbehave when there was an open opportunity.
I'll be pushing a few little changes:

switch to HTML file since there is virtually no Markdown content at all in the file (makes for document auto formatting way easier, which helped find the missing tag)
add a "no  open opportunities" note when count of open opportunities equals 0
Remove commented out HTML since we're not going to use that for a long time, if ever. (still in the history of the project if need be but better off cleaning up the code for better readability and maintenance.)

Thanks for doing all those tests @gcharest!


Add support for $all with nested $elemMatch

Fixes https://github.com/fakemongo/fongo/issues/230

Thanks !


update record parameter IV to ivParameterSpec

Purpose

Describe the problems, issues, or needs driving this feature/fix and include links to related issues in the following format: Resolves issue1, issue2, etc.

Related #16830 https://github.com/wso2-enterprise/choreo/issues/16830
Goals

Describe the solutions that this feature/fix will introduce to resolve the problems described above

Approach

Describe how you are implementing the solutions. Include an animated GIF or screenshot if the change affects the UI (email<EMAIL_ADDRESS>to review all UI text). Include a link to a Markdown file or Google doc if the feature write-up is too long to paste here.

User stories

Summary of user stories addressed by this change>

Release note

Brief description of the new feature or bug fix as it will appear in the release notes

Documentation

Link(s) to product documentation that addresses the changes of this PR. If no doc impact, enter “N/A” plus brief explanation of why there’s no doc impact

Training

Link to the PR for changes to the training content in https://github.com/wso2/WSO2-Training, if applicable

Certification

Type “Sent” when you have provided new/updated certification questions, plus four answers for each question (correct answer highlighted in bold), based on this change. Certification questions/answers should be sent to<EMAIL_ADDRESS>and NOT pasted in this PR. If there is no impact on certification exams, type “N/A” and explain why.

Marketing

Link to drafts of marketing content that will describe and promote this feature, including product page changes, technical articles, blog posts, videos, etc., if applicable

Automation tests

Unit tests

Code coverage information

Integration tests

Details about the test cases and coverage

Security checks

Followed secure coding standards in http://wso2.com/technical-reports/wso2-secure-engineering-guidelines? yes/no
Ran FindSecurityBugs plugin and verified report? yes/no
Confirmed that this PR doesn't commit any keys, passwords, tokens, usernames, or other secrets? yes/no

Samples

Provide high-level details about the samples related to this feature

Related PRs

List any other related PRs

Migrations (if applicable)

Describe migration steps and platforms on which migration has been tested

Test environment

List all JDK versions, operating systems, databases, and browser/versions on which this feature/fix was tested

Learning

Describe the research phase and any blog posts, patterns, libraries, or add-ons you used to solve the problem.

Closing as these same changes are merged to 2201.4.1 branch via https://github.com/ballerina-platform/asyncapi-triggers/pull/132


Incorrect link while sharing

Current link - /<community>/@<author>/<permlink>
Expected - /@<author>/<permlink>

Expected link is getting shared!


MAX! cube ?

Hi,
have you made any attempt or are there even plans to also support running the MAX! cube in lxc?
I'd guess it should be somewhat similar to the CCU firmware.

No, as I have no real knowledge about MAX, I do not have any plans for this.


⚠ LPDM Handbook (hosted on Divio) has degraded performance

In 82a5db7, LPDM Handbook (hosted on Divio) (https://repohubdev.tk) experienced degraded performance:

HTTP code: 500
Response time: 5646 ms

Resolved: LPDM Handbook (hosted on Divio) performance has improved in 37c24c3.


Cannot create deployment after an initial failed attempt

Setup

Rancher version:  v2.7-58aede67b99fd5002cc44c2b36583834595acad2-head
Rancher UI Extensions:
Browser type & version: Firefox 115.0.1 (64-bit)

Describe the bug

If I get an error while creating a "deployment" the UI behaves as if the "deployment " were created.
After fixing the error the UI tries to update the deployment instead of creating a new one.
To Reproduce
go to a cluster -> workloads -> deployments -> Create.
"Populate" the "deployment"  with an error (I used a Node Port listening on port 80).
Go  to  "Edit as YAML" -> press "create".   On this point u should get an error.
Press "Back to Form" -> "Okay".
Result
At this point we go to a "Deployment Created page" even with an error wile creating the deployment
If we go to the "container name" tab, in this case nginx, and fix the problem and press create it will try to do an update (PUT).
Expected Result

After getting and error wile creating a deployment I should be kept on the "creation screen" instead of the "created one"
Screenshots
 Ceate

@gaktive @nwmac this doesn't look like a JIRA issue... No SURE label and was raised from a SUSE employee. Going to remove the JIRA label as it creates confusion.

This reported issue is present of 2.8.0.
When you follow the repro steps, the problem is that the deployment is created before the services and the error is only thrown on the creation of the nodePort service.
If you jump back to the form, remove the nodePort and click save for creation, it tries again to create the Deployment, hence the PUT message mentioned.
Either we move the user forward and leave the deployment on a bad state (ignore the error coming the nodePort creation) OR we need to remove the resources created so that a user can retry the creation of a deployment. 🤔
https://github.com/rancher/dashboard/assets/97888974/89b9966a-9ccb-41e9-a000-bece2ee7cf3e

One path moving forward would be to explore the dryRun parameter on the kubernetes api https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.29/#write-operations-deployment-v1-apps (there's the same for services, where we could test all of the API calls before actually submitting the operations to the API.
We should test if this param works with Steve /v1 and also on the proxy to the kubernetes API /k8s
FYI @nwmac


How can i use the ord client batch inscribe the brc20?

How can i use the ord client batch inscribe the brc20?
please give me an example
--batch
Inscribe multiple inscriptions defined in a yaml <BATCH_FILE>

https://docs.ordinals.com/guides/batch-inscribing.html
Also,  maybe first make sure these inscriptions will be considered valid by BRC-20 or not.

mode: separate-outputs
postage: 546
inscriptions:

file: token0.json
metaprotocol: brc-20

file: token1.json
metaprotocol: brc-20

file: token2.json
metaprotocol: brc-20
file: token3.json
metaprotocol: brc-20

for example: I want to inscribe a brc20-token, this is the json {"p": "BRC-100", "op": "mint", "tick": "inbrc", "amt": "1000"}
will this yaml file be working ?
Thank you very much!

I'd recommend asking in discord linked on ordinals.com. Github issues probably not the best place for this.


parse V5 (nu5) transactions

todo:

add relevant V5 fields to CompactBlock (instead of skipping over)
add V5 test vectors to unit tests

It's easier to review this PR if you ignore whitespace: https://github.com/zcash/lightwalletd/pull/367/files?w=1

Force-pushed to incorporate @nuttycom's suggestions (thanks!). There are now separate functions to parse pre-V5 transactions and V5 transactions. In order to not duplicate too much code, I refactored the transparent parsing into a separate function (called by both top-level transaction parsers). This didn't work out so nicely for the Sapling spends and outputs, so I didn't do the same there.
It's easiest to review this code with whitespace ignored: https://github.com/zcash/lightwalletd/pull/367/files?w=1


MAINT, TST: test_public_api.py can fail with NumPy main, via CuPy

On latest NumPy main alongside SciPy main, with python dev.py test -j 32 (no array API stuff activated), I get an error that traverses through CuPy in test_public_api.py. I think my argument here is that I should be able to have pretty much any old version of CuPy installed that I want if I'm not opting in to the array API stuff when testing, at least for now.
Traceback below the fold

================================================ FAILURES =================================================
______________________________________ test_all_modules_are_expected ______________________________________
[gw0] linux -- Python 3.11.2 /home/treddy/python_venvs/py_311_scipy_dev/bin/python
scipy/_lib/tests/test_public_api.py:222: in test_all_modules_are_expected
    for _, modname, ispkg in pkgutil.walk_packages(path=scipy.__path__,
        _          = FileFinder('/home/treddy/github_projects/scipy/build-install/lib/python3.11/site-packages/scipy/_lib/array_api_compat')
        ispkg      = True
        modname    = 'scipy._lib.array_api_compat.cupy'
        modnames   = []
../../../../../spack/opt/spack/linux-ubuntu22.04-skylake/gcc-11.3.0/python-3.11.2-4qncg2nqev5evxfmamde3e6rnb34b4ls/lib/python3.11/pkgutil.py:107: in walk_packages
    yield from walk_packages(path, info.name+'.', onerror)
        info       = ModuleInfo(module_finder=FileFinder('/home/treddy/github_projects/scipy/build-install/lib/python3.11/site-packages/scipy'), name='scipy._lib', ispkg=True)
        onerror    = None
        path       = ['/home/treddy/github_projects/scipy/build-install/lib/python3.11/site-packages/scipy/_lib']
        prefix     = 'scipy.'
        seen       = <function walk_packages.<locals>.seen at 0x7fd2a8311800>
../../../../../spack/opt/spack/linux-ubuntu22.04-skylake/gcc-11.3.0/python-3.11.2-4qncg2nqev5evxfmamde3e6rnb34b4ls/lib/python3.11/pkgutil.py:107: in walk_packages
    yield from walk_packages(path, info.name+'.', onerror)
        info       = ModuleInfo(module_finder=FileFinder('/home/treddy/github_projects/scipy/build-install/lib/python3.11/site-packages/scipy/_lib'), name='scipy._lib.array_api_compat', ispkg=True)
        onerror    = None
        path       = ['/home/treddy/github_projects/scipy/build-install/lib/python3.11/site-packages/scipy/_lib/array_api_compat']
        prefix     = 'scipy._lib.'
        seen       = <function walk_packages.<locals>.seen at 0x7fd2a8312ac0>
../../../../../spack/opt/spack/linux-ubuntu22.04-skylake/gcc-11.3.0/python-3.11.2-4qncg2nqev5evxfmamde3e6rnb34b4ls/lib/python3.11/pkgutil.py:92: in walk_packages
    __import__(info.name)
        info       = ModuleInfo(module_finder=FileFinder('/home/treddy/github_projects/scipy/build-install/lib/python3.11/site-packages/scipy/_lib/array_api_compat'), name='scipy._lib.array_api_compat.cupy', ispkg=True)
        onerror    = None
        path       = ['/home/treddy/github_projects/scipy/build-install/lib/python3.11/site-packages/scipy/_lib/array_api_compat/common']
        prefix     = 'scipy._lib.array_api_compat.'
        seen       = <function walk_packages.<locals>.seen at 0x7fd2a8312c00>
scipy/_lib/array_api_compat/cupy/__init__.py:1: in <module>
    from cupy import *
        __builtins__ = <builtins>
        __cached__ = '/home/treddy/github_projects/scipy/build-install/lib/python3.11/site-packages/scipy/_lib/array_api_compat/cupy/__pycache__/__init__.cpython-311.pyc'
        __doc__    = None
        __file__   = '/home/treddy/github_projects/scipy/build-install/lib/python3.11/site-packages/scipy/_lib/array_api_compat/cupy/__init__.py'
        __loader__ = <_frozen_importlib_external.SourceFileLoader object at 0x7fd2a83326d0>
        __name__   = 'scipy._lib.array_api_compat.cupy'
        __package__ = 'scipy._lib.array_api_compat.cupy'
        __path__   = ['/home/treddy/github_projects/scipy/build-install/lib/python3.11/site-packages/scipy/_lib/array_api_compat/cupy']
        __spec__   = ModuleSpec(name='scipy._lib.array_api_compat.cupy', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7f...ons=['/home/treddy/github_projects/scipy/build-install/lib/python3.11/site-packages/scipy/_lib/array_api_compat/cupy'])
/home/treddy/python_venvs/py_311_scipy_dev/lib/python3.11/site-packages/cupy/__init__.py:17: in <module>
    from cupy import _core  # NOQA
        __builtins__ = <builtins>
        __cached__ = '/home/treddy/python_venvs/py_311_scipy_dev/lib/python3.11/site-packages/cupy/__pycache__/__init__.cpython-311.pyc'
        __doc__    = None
        __file__   = '/home/treddy/python_venvs/py_311_scipy_dev/lib/python3.11/site-packages/cupy/__init__.py'
        __loader__ = <_frozen_importlib_external.SourceFileLoader object at 0x7fd2a8332bd0>
        __name__   = 'cupy'
        __package__ = 'cupy'
        __path__   = ['/home/treddy/python_venvs/py_311_scipy_dev/lib/python3.11/site-packages/cupy']
        __spec__   = ModuleSpec(name='cupy', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7fd2a8332bd0>, origin='/home/t...nit__.py', submodule_search_locations=['/home/treddy/python_venvs/py_311_scipy_dev/lib/python3.11/site-packages/cupy'])
        _environment = <module 'cupy._environment' from '/home/treddy/python_venvs/py_311_scipy_dev/lib/python3.11/site-packages/cupy/_environment.py'>
        _functools = <module 'functools' from '/home/treddy/github_projects/spack/opt/spack/linux-ubuntu22.04-skylake/gcc-11.3.0/python-3.11.2-4qncg2nqev5evxfmamde3e6rnb34b4ls/lib/python3.11/functools.py'>
        _numpy     = <module 'numpy' from '/home/treddy/python_venvs/py_311_scipy_dev/lib/python3.11/site-packages/numpy/__init__.py'>
        _sys       = <module 'sys' (built-in)>
        _util      = <module 'cupy._util' from '/home/treddy/python_venvs/py_311_scipy_dev/lib/python3.11/site-packages/cupy/_util.cpython-311-x86_64-linux-gnu.so'>
        _version   = <module 'cupy._version' from '/home/treddy/python_venvs/py_311_scipy_dev/lib/python3.11/site-packages/cupy/_version.py'>
        cuda       = <module 'cupy.cuda' from '/home/treddy/python_venvs/py_311_scipy_dev/lib/python3.11/site-packages/cupy/cuda/__init__.py'>
/home/treddy/python_venvs/py_311_scipy_dev/lib/python3.11/site-packages/cupy/_core/__init__.py:3: in <module>
    from cupy._core import core  # NOQA
        __builtins__ = <builtins>
        __cached__ = '/home/treddy/python_venvs/py_311_scipy_dev/lib/python3.11/site-packages/cupy/_core/__pycache__/__init__.cpython-311.pyc'
        __doc__    = None
        __file__   = '/home/treddy/python_venvs/py_311_scipy_dev/lib/python3.11/site-packages/cupy/_core/__init__.py'
        __loader__ = <_frozen_importlib_external.SourceFileLoader object at 0x7fd2a833ed10>
        __name__   = 'cupy._core'
        __package__ = 'cupy._core'
        __path__   = ['/home/treddy/python_venvs/py_311_scipy_dev/lib/python3.11/site-packages/cupy/_core']
        __spec__   = ModuleSpec(name='cupy._core', loader=<_frozen_importlib_external.SourceFileLoader object at 0x7fd2a833ed10>, origin='/...py', submodule_search_locations=['/home/treddy/python_venvs/py_311_scipy_dev/lib/python3.11/site-packages/cupy/_core'])
        _carray    = <module 'cupy._core._carray' from '/home/treddy/python_venvs/py_311_scipy_dev/lib/python3.11/site-packages/cupy/_core/_carray.cpython-311-x86_64-linux-gnu.so'>
        _dtype     = <module 'cupy._core._dtype' from '/home/treddy/python_venvs/py_311_scipy_dev/lib/python3.11/site-packages/cupy/_core/_dtype.cpython-311-x86_64-linux-gnu.so'>
        internal   = <module 'cupy._core.internal' from '/home/treddy/python_venvs/py_311_scipy_dev/lib/python3.11/site-packages/cupy/_core/internal.cpython-311-x86_64-linux-gnu.so'>
        syncdetect = <module 'cupy._core.syncdetect' from '/home/treddy/python_venvs/py_311_scipy_dev/lib/python3.11/site-packages/cupy/_core/syncdetect.py'>
cupy/_core/core.pyx:1: in init cupy._core.core
    ???
cupy/_core/_scalar.pyx:64: in init cupy._core._scalar
    ???
/home/treddy/python_venvs/py_311_scipy_dev/lib/python3.11/site-packages/numpy/__init__.py:393: in __getattr__
    raise AttributeError(
E   AttributeError: `np.float_` was removed in the NumPy 2.0 release. Use `np.float64` instead.
        attr       = 'float_'
        warnings   = <module 'warnings' from '/home/treddy/github_projects/spack/opt/spack/linux-ubuntu22.04-skylake/gcc-11.3.0/python-3.11.2-4qncg2nqev5evxfmamde3e6rnb34b4ls/lib/python3.11/warnings.py'>

So, yeah, maybe something to be patched in CuPy eventually, but for now I should be able to run the testsuite just fine in this scenario I'd say.

Should vendored git subpackages even be considered in this test?

Don't know, and certainly not urgent (Happy Holidays!), but seems a bit weird. Maybe we just add to the SKIP.. variable I see in that module, but not 100 % sure.

From https://docs.python.org/3/library/pkgutil.html:

onerror is a function which gets called with one argument (the name of the package which was being imported) if any exception occurs while trying to import a package. If no onerror function is supplied, ImportErrors are caught and ignored, while all other exceptions are propagated, terminating the search.

If ImportErrors are already being caught and ignored, I suppose we can just add a wrapper to ignore known upstream errors.


hungarian localisation

@chrisbra

ping @arpadffy

closing for the reasons mentioned here https://github.com/vim/vim/pull/14703#issuecomment-2092337585


Remove Separators

Is there a way currently to remove separators between recycler view items? At the moment when the recyclerview has items one on top of another, there appears to be a 1px or so grey line. With ListViews one can use
getListView().setDivider(null);
getListView().setDividerHeight(0);

or
android:divider="@null" in xml. Is there something similar already implemented?

Hi. RecyclerView does not have has native item divider feature, instead it provides more flexible mechanism called ItemDecoration. The demo app uses SimpleListDividerDecorator class to draw item dividers, so if you want to hide them just remove the line attaching the decorator to RecyclerView.
mRecyclerView.addItemDecoration(new SimpleListDividerDecorator(...));

to

// mRecyclerView.addItemDecoration(new SimpleListDividerDecorator(...));


Ayyy lmao I'm not dead

Fixed #59
Am currently looking into Resolved #60, it wasn't an ExNihilo issue
Cleaned up some HeatRegistry stuff
Fixed some world time related code
Changed up some sieve enchantment stuff, especially luck of the sea
Removed Herobrine

can you fix the "soul sand recipe not working"?and "soul sand recipe not in the jsons"

can you compile a pre release version? because the mod author that releases in curse must be off and it will take a long time to release a fix to this issues that we were having with the mod


Use channel in messaging between goroutine instead of zmq.REQ

This will resolve socket exhaust problem on high concurrency.
connects #160

Resubmitted at #181

don’t know what you are doing

I am going to merge this anyway.


Credential update for machines in rolling update

How to categorize this issue?

/area operations
/kind bug
/priority normal
What happened:
I think what has happened is that there was a worker pool with valid credentials. The machine images were updated.  And then secret credentials were updated to an incorrect one. And then the credentials was again updated to the correct one. Bcoz the machine class had a deletion timestamp the credentials were not updated properly by the Gardener extension.
NAME READY DESIRED UP-TO-DATE AVAILABLE AGE
machinedeployment.machine.sapcloud.io/shoot--xxx-worker-z1 1 1 0 1 27h
NAME DESIRED CURRENT READY AGE
machineset.machine.sapcloud.io/shoot--xxx-worker-z1-c876ff6df 1 1 0 24h
NAME STATUS AGE
machine.machine.sapcloud.io/shoot--xxx-worker-z1-c876ff6df-lm4z9 Running 24h
NAME MACHINE TYPE AMI AGE
awsmachineclass.machine.sapcloud.io/shoot--xxx-worker-z1-a827a m5.large ami-x 24h
awsmachineclass.machine.sapcloud.io/shoot--xxx-worker-z1-ebc99 m5.large ami-y 27h
I could delete the machine using CLI, but I think there needs to be a fix in the gardener/extension to handle such cases and update the old machineSet's credentials.
What you expected to happen:
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Environment:

Gardener version:
Kubernetes version (use kubectl version):
Cloud provider or hardware configuration: AWS
Others:

@prashanth26 can you give an update or close this issue if it's not relevant anymore?

I haven't observed this since PR #2626 is merged on the Gardener. Let's close it for now and reopen if we see it again.
/close


Conda package

Hi,
Have you considered creating a conda package for connor?
I am happy to add it to bioconda. Would you be able to assist if I find any issues in the process?
Best regards,
Sebastian

Hi Sebastian,
We have considered adding a Conda package, but it's lower down on our roadmap. If you wanted to give it a whirl, I could probably assist with any simple problems.
Thanks!
cg

Hi Chris,
Great, I have just created an initial version of the recipe:
https://github.com/bioconda/bioconda-recipes/pull/5960
Let's wait for the tests to finish and follow up there.
Best regards,
Sebastian

Hi Chris,
Thanks for your input. connor can be already installed with conda using the bioconda channel.
It will soon appear in the search website:
http://bioconda.github.io/recipes.html
Best regards,
Sebastian

Thank you, Sebastian! I will add this option to our install instructions!
cg
On Thu, Sep 14, 2017 at 3:47 AM, Sebastian Luna-Valero <
<EMAIL_ADDRESS>wrote:

Hi Chris,
Thanks for your input. connor can be already installed with conda using
the bioconda channel.
It will soon appear in the search website:
http://bioconda.github.io/recipes.html
Best regards,
Sebastian
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/umich-brcf-bioinf/Connor/issues/3#issuecomment-329402273,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAiXW3dXFziyMpNwQYmVMr0NYaqaFWK4ks5siNongaJpZM4PN-YI
.

FYI:
http://bioconda.github.io/recipes/connor/README.html
;)


Add files via upload

Added Cycle Detection In Linked List Problem & Palindrome Checker Problem In The Miscellaneous !

Description

Related Issue

This PR closes #29
Motivation and Context

Screenshots (if any)
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.

Hey @manishtambe it would be great if you could move the programs into the Data_Structures directory. I'll merge the PR once that's done

ok I will do that right now !

Done Can you please check ?

@manishtambe I don't think the changes were committed, could you please check again?

Alright, merging! Thanks for contributing to the repository 🚀

Can you please check now ?

Can you please add label as "hacktoberfest" accepted label ?

@SVijayB can you please add "hacktoberfest - accepted" label  to this PR?


source base class time options

Add support in the base class to handle the various time bounds
options:

ensure they are the appropriate types
verifying that -from isn't greater than -to
disallowing combinations of -from or -to with -last

Also add support for setting defaults for from / to with an optional
constraint that one of them must be supplied.
Removed the scattered logic for the above from the adapters and from
the implementation of emit.
As a side-effect of this change, we now support -last :x: in both
emit and the file adapter.
This is the same code as #206 but squashed and using a more appropriate branch name.
Relates to #168

@davidvgalbraith After a long long slog through travis I've got a green build. Maybe take a final look at this one before I merge?

Still looks good!


Empty branch pickers in "Create Pull Request" view

Don't have perfect steps but I think I just did this

Opened vscode in our repo
Check out the branch roblou/issue142870_2
Run "Create Pull Request"
Get empty fields in the view. When I click the dropdowns to pick a branch, nothing happens

ghpr.log
I see this error:
[2022-06-06 16:39:09.866] [renderer1] [error] Failed to execute git
[2022-06-06 16:40:44.405] [renderer1] [error] Not Found: HttpError: Not Found
    at /Users/roblou/.vscode-insiders/extensions/github.vscode-pull-request-github-0.43.2022060609/dist/extension.js:1075:6173
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at xt.compareCommits (/Users/roblou/.vscode-insiders/extensions/github.vscode-pull-request-github-0.43.2022060609/dist/extension.js:1168:41969)
    at Kh.getTotalGitHubCommits (/Users/roblou/.vscode-insiders/extensions/github.vscode-pull-request-github-0.43.2022060609/dist/extension.js:1180:43565)

I have been using the pr extension heavily and have not seen this since the fix


Update digest and assignment emails to link to new grant details pages

Why is this issue important?
When we implement the grant details pages that have unique urls, we want to direct users back to grant finder rather than grants.gov from our email digests. Note that this work will need to be feature flagged so it can be released along with the grant details page implementation
Current State
In the current email digest and the assignment email, each grant has two links to the grant page in grants.gov:

from the title of the grant
after the description, the "View on Grants.gov" link

Expected State

In the digest email, both links to grants.gov should direct to the grant details page in grant finder
In the assignment email, both links to grants.gov should direct to the grant details page in grant finder
in both emails for the link after the description, the "View on Grants.gov" link should be changed to "View on Grant Finder" with a link to the grant details page in grant finder

Implementation Plan
Important note regarding feature enablement
Be aware that until the new full-page Grant Details view is live in Production, implementation changes to be gated using a server-side feature flag. Although no official mechanism exists for instrumenting feature flags in server-side code under packages/server/src, we can use environment variables for this purpose.
The reason for this requirement is that the until the corresponding feature flag that controls the new Grant Details view is enabled, there is no way to directly link to a grant in the Grant Finder tool. Therefore, updating the links as described in the following sections before the Grant Details view is made available will cause the links to be broken. We want emails to continue providing links to Grants.gov until the new Grant Details view is available in our Grant Finder tool.
Setting server-side environment variables requires making changes to Terraform. The following steps demonstrate the process for adding a new $NEW_GRANT_DETAILS_PAGE_ENABLED server-side environment variable that evaluates to different values in Staging and Production:

To add the environment variable with a (string) value of true to Staging, modify terraform/staging.tfvars by adding the following input variable configuration under the // API / Backend commented section of that file:api_container_environment = {
    NEW_GRANT_DETAILS_PAGE_ENABLED = true,
}

To add the environment variable with a (string) value of false to Production, modify terraform/prod.tfvars by adding the following input variable configuration under the // API / Backend commented section of that file:api_container_environment = {
    NEW_GRANT_DETAILS_PAGE_ENABLED = true,
}

To use this new environment as a feature flag in JavaScript, perform a check like this:if (process.env.NEW_GRANT_DETAILS_PAGE_ENABLED === 'true') {
    // This feature is enabled
}

Note that the feature flag should only be considered enabled if its value is exactly (using the strict equality === operator) a string value of 'true'.

1. Server Side: Update the link_url mustache template parameter value

In packages/server/src/lib/email.js, update the getGrantDetail() function to change the link_url value provided when calling mustache.render().
Currently, this value is set to a string that provides a URL to view the grant on Grants.gov.
Instead, we want this URL to point to the Grant Details page in the Finder tool.

The domain name for the new URL must be set to reflect the environment in which the getGrantDetail() function is called – i.e. if the email is generated in our Staging environment, the URL's domain should be staging.grants.usdr.dev; in Production, the domain should be grants.usdigitalresponse.org.
The domain name to use for the current environment is provided by process.env.WEBSITE_DOMAIN.
The URL to the Grant Details page can be built in a manner similar to how the grantsUrl variable is constructed (also within the getGrantDetail() function).
The path to use in the URL for the Grants Details page is structured like /grant/12345, where 12345 is the grant_id associated with the relevant grant record. In the getGrantDetail() function, this can be obtained via  grant.grant_id.
The fully-assembled URL to the relevant Grant Details page must also include the following query parameters:

utm_source: hard-coded to usdr-grants
utm_medium: hard-coded to email
utm_campaign: set to the value of the emailNotificationType parameter passed to getGrantDetail() (which will be either GRANT_ASSIGNMENT or GRANT_DIGEST)
utm_content: hard-coded to grant-details

2. Server Side: Update link and related text in the mustache HTML template

In packages/server/src/static/email_templates/_grant_detail.html, update the part of the HTML that currently says  "View on Grants.gov".

New text: "View on Grant Finder".
Ensure that the "Grant Finder" text in "View on Grant Finder" is a hyperlink to the updated {{ link_url }} value.

Relevant Code Snippets
In packages/server/src/lib/email.js:
function getGrantDetail(grant, emailNotificationType) {
    const grantDetailTemplate = fileSystem.readFileSync(path.join(__dirname, '../static/email_templates/_grant_detail.html'));

    const description = grant.description.substring(0, 380).replace(/(<([^>]+)>)/ig, '');
    const grantsUrl = new URL(process.env.WEBSITE_DOMAIN);
    if (emailNotificationType === notificationType.grantDigest) {
        grantsUrl.pathname = 'grants';
    } else {
        grantsUrl.pathname = 'my-grants';
    }
    grantsUrl.searchParams.set('utm_source', 'subscription');
    grantsUrl.searchParams.set('utm_medium', 'email');
    grantsUrl.searchParams.set('utm_campaign', emailNotificationType);
    const grantDetail = mustache.render(
        grantDetailTemplate.toString(), {
            title: grant.title,
            description,
            status: grant.opportunity_status,
            show_date_range: grant.open_date && grant.close_date,
            open_date: grant.open_date ? new Date(grant.open_date).toLocaleDateString('en-US', { timeZone: 'UTC' }) : undefined,
            close_date: grant.close_date ? new Date(grant.close_date).toLocaleDateString('en-US', { timeZone: 'UTC' }) : undefined,
            award_floor: grant.award_floor || '$0',
            award_ceiling: grant.award_ceiling || 'Not available',
            // estimated_funding: grant.estimated_funding, TODO: add once field is available in the database.
            cost_sharing: grant.cost_sharing,
            link_url: `https://www.grants.gov/search-results-detail/${grant.grant_id}`,
            grants_url: grantsUrl.toString(),
            view_grant_label: emailNotificationType === notificationType.grantDigest ? undefined : 'View My Grants',
        },
    );
    return grantDetail;
}

In packages/server/src/static/email_templates/_grant_detail.html:

        {{{description}}}... View on Grants.gov

@TylerHendrickson would you be able to fill in implementation details?

@ClaireValdivia Implementation details added.

@ClaireValdivia Implementation details added. Note that is this issue is completed with a feature flag (that is, implementation happens before the new Grant Details page is live/active and considered stable in Production), we will need follow-up tasks:

To enable in Production: Update the prod.tfvars Terraform configuration to enable the server-side environment variable that functions as a feature flag for these email links.
To clean up after the feature flag is no longer needed: Remove the environment variable configuration from Terraform and its associated conditional checks in server-side JavaScript code.

thanks Ty! Have added #2685  and #2686 for feature flag tasks

I'm not sure that we have a good way to test this in staging. We can discuss in our meeting, but @jeffsmohan one question I have regarding the screenshots in the PR - it looks like the summaries are truncating much shorter than they currently do - was something changed there?
this is what our current digest looks like:

@ClaireValdivia Looks like the shorter description text is simply because the email was generated using our devbox fake data, which doesn't really have long description texts. In the screenshots I posted, it's actually displaying the full description text without truncation, and it just happens to be shorter than we're used to. I don't believe this code change will have changed the description text length at all. Is that something we can just double-check via a staging email?

sounds good! the staging emails wont generate until tomorrow morning so ill check it then

This is looking good to me! It's a little hard to test without the feature flag being default on in staging so will want to test again once it is.


Cannot Connect To Doltgres with Slonik

Slonik is a popular JavaScript library to connect to Postgres. It is not an ORM - in fact I'd expect it to be pretty friendly with Doltgres.
Here is a reproduction. Here is the README of the reproduction just so I can show y'all what I mean:
Testing Slonik & Doltgres

Confirm that Doltgres is running at the URL of your choice

psql postgresql://doltgres@localhost:5438/foo
psql (14.12 (Homebrew), server 15.0)
WARNING: psql major version 14, server major version 15.
         Some psql features might not work.
Type "help" for help.

foo=> \q

Show that Slonik cannot connect to Doltgres

POSTGRES_URL=postgresql://doltgres@localhost:5438/foo bun run .
ECONNREFUSED: Failed to connect
 syscall: "connect"

This does work when I switch the Postgres URL to a normal Postgres database.

Show that Slonik can connect to a normal Postgres database

POSTGRES_URL=postgresql://@localhost/foo bun run .
{
  now:<PHONE_NUMBER>466,
}

I think connect is fixed in main but not released. Getting this in the right repo

Ah, thank you - sorry, yeah, I meant to have this in Doltgres.
And great!

@alexhwoods Sorry for the delay on this, but I have your script running successfully. Well, not successfully, there are still some compatibility errors. But it connects fine. When I'm not running the doltgres server:
% POSTGRES_URL=postgresql://doltgres@localhost:5433/foo bun run
 .
ECONNREFUSED: Failed to connect
   errno: 16
 syscall: "connect"

Bun v1.1.22-canary.96+df33f2b2a (Linux x64)

When it's running:
% POSTGRES_URL=postgresql://doltgres@localhost:5433/foo bun run .
30 |     for (const typeParser of typeParsers) {
31 |         const postgresType = postgresTypes.find((maybeTargetPostgresType) => {
32 |             return maybeTargetPostgresType.typname === typeParser.name;
33 |         });
34 |         if (!postgresType) {
35 |             throw new Error('Database type "' + typeParser.name + '" not found.');
                       ^
error: Database type "interval" not found.
      at /c/Users/zachmu/node_modules/@slonik/pg-driver/dist/factories/createPgDriverFactory.js:35:19

Bun v1.1.22-canary.96+df33f2b2a (Linux x64)

Any chance you have the port mixed up, or it's unavailable for some other reason?

I can get even farther if I change the problem line line this:
-
+            //            throw new Error('Database type "' + typeParser.name + '" not found.');
+           continue;

Then I hit an actual error, about DISCARD not being supported:
521 |         result = new this._Promise((resolve, reject) => {
522 |           query.callback = (err, res) => (err ? reject(err) : resolve(res))
523 |         }).catch((err) => {
524 |           // replace the stack trace that leads to `TCP.onStreamRead` with one that leads back to the
525 |           // application that created the query
526 |           Error.captureStackTrace(err)
                      ^
error: DISCARD is not yet supported
 code: "XX000"

      at /c/Users/zachmu/node_modules/pg/lib/client.js:526:17
      at processTicksAndRejections (native:1:1)

I'll get to work converting DISCARD in the meantime, as well as fixing the type incompatibilities.

@alexhwoods I've confirmed the application works after https://github.com/dolthub/doltgresql/pull/585 and https://github.com/dolthub/doltgresql/pull/596 are included. We'll have a release with those two changes for you on Monday.

@alexhwoods – thanks for taking the time to report this one so we could get it fixed! 🙏  The latest version of Doltgres should support this use case now.
Let us if you're still having problems or hit any other issues and we'll be happy to dig in!


Fix NPE in SendEmailNotificationDAO

My first thought was that it might be better if the generated Java code returned an empty List by default instead of null for StringArray foam properties, but I wasn't sure how to do that.
This code is just a simple null check, but I'd happily change it to a more generally applicable fix if anyone else can confirm that would be a better fix and can point me where to make the change.

@penzital @kgrgreer @eatonk please review.

@TW80000 In refinements.js look for the StringArray refinement and add a javaFactory to the list of properties.
['javaFactory', 'return new String[0];']

@jlhughes @eatonk Updated.


betaflight-configurator: init at 10.4.0

Motivation for this change
Adding more GCS/Drone Configuration tools to the nixpkgs
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[X] Assured whether relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

@ryantm @wucke13  I don't think this is WIP any more, is it?

It is, but I'm on it right now. If you agree on writing the runner script using some shell magic instead of writeShellScriptBin, than I will adjust accordingly in the next hours

Whatever works.  I was just trying to ask some questions.  I have no power here. :)

@corngood Ready for merge. Not WIP anymore.

Hey, any news on this PR ?

@nyanloutre I think its ready for merge

@nyanloutre Thanks for the two commits too. I applied adjusted accordingly. Feel free to review the current state :smile:

This pull request has been mentioned on Nix community. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review-may-2019/3032/12


add exception handling

Add exception handling and debugging output to add_quota_avu command

@mjstealey All checks have passed for this PR, so you can merge it now.

@mjstealey I have merged this PR since it passed all Jenkins checks.


Nodes fullHostname appears as a service name if any service is bound to the host IP

Description
If in the cluster there is a service having the host's IP address as an endpoint (e.g. a pod with hostNetwork: true), CoreDNS will return the service name as the reverse for the Host's IP, rather than forwarding this upstream.
This causes the agent to report that service name as the fullHostname for the node.
Expected Behavior
fullHostname for the nodes should be the FQDN of the node, not a service name.

To be discussed with @rubenruizdegauna

Just wanted to say that we're seeing this as of V3 and it's causing some issues.

This issue is fixed in the nri-kubernetes chart, but it will take some days to get propagated to nri-bundle


Do not try to install on a node that is already part of another Scale cluster

Attempting to add a node that is already part of another cluster should be detected and gracefully fail with problem determination and messaging to prevent an installation attempt or package shipment to the new node.

As per our design and discussion , we are not planning to add any hard validation in the open source code.  user needs to define inventory accordingly. we will have real validation in the toolkit.

As per our design and discussion , we are not planning to add any hard validation in the open source code.  user needs to define inventory accordingly. we will have real validation in the toolkit.


Cookbook metadata should not depend on the berkshelf gem

Testing the chef supermarket cookbook berkshelf-api-server with test-kitchen, chef_zero and vagrant cannot be performed due to the following problem.  I have set up a testing environment for berkshelf-api-server with test-kitchen.  The configuration I used is shown on gist.  With the configuration, running the test by test-kitchen immediately failed and emitting following confusing error message:
Running handlers:
[2015-01-01T06:43:31+00:00] ERROR: Running exception handlers
Running handlers complete
[2015-01-01T06:43:31+00:00] ERROR: Exception handlers complete
[2015-01-01T06:43:31+00:00] FATAL: Stacktrace dumped to /tmp/kitchen/cache/chef-stacktrace.out
Chef Client failed. 0 resources updated in 3.866940327 seconds
[2015-01-01T06:43:31+00:00] ERROR: undefined method `values' for "":String
[2015-01-01T06:43:33+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)

The full execution log is shown on gist.  After several surveys, I found something wrong with metadata.rb in the cookbook berkshelf-api-server.  In fact, require 'berkshelf/api/version' in metadata.rb raises LoadError like this:
#<LoadError: cannot load such file -- berkshelf/api/version>

(this was retrieved by evil way of adding begin ... rescue ... end and IO.write in metadata.rb :) )
Current test-kitchen installs chef-client 12.0.3 in testing VM and further inspectation revealed that chef-client 12.0.3 does not includes berkshelf gem. It suggests that berkshelf-api-server failed to run because it requires not yet installed gem.
This PR is to remove dependency on berkshelf/api/version from metadata.rb in the cookbook berkshelf-api-server.  Because metadata.rb is loaded in the very first stage of chef-client local mode execution, it cannot be avoided by prepending the berkshelf installation in node run_list.

@umireon this is 100% intended and perfectly valid metadata. I think you might be getting the "evil" idea here from the thor_scmversion gem which used a begin ... rescue ... end block to silently recover from an exception raised while building metadata and then using a bogus version.
I wrote a blog article a bit ago on compiled versus raw metadata that you might find useful. Your problem here is that the raw metadata is being evaluated by the Chef-Client. This is supposed to be evaluated and written to compiled metadata before the Chef-Client run is even begun.

@umireon this is 100% intended and perfectly valid metadata. I think you might be getting the "evil" idea here from the thor_scmversion gem which used a begin ... rescue ... end block to silently recover from an exception raised while building metadata and then using a bogus version.
I wrote a blog article a bit ago on compiled versus raw metadata that you might find useful. Your problem here is that the raw metadata is being evaluated by the Chef-Client. This is supposed to be evaluated and written to compiled metadata before the Chef-Client run is even begun.

@reset I can finally solve the problem by updating berkshelf to 3.2.1.  I am convinced that the precedence of compiled metadata is very reasonable idea.  Thanks for replying!


Bug in print

Hello on day 2 "Operators" precisely on line 8 of your repository, when you do the following:
print "The total meal cost is %s dollars." %str(int(round(totalcost, 0)))
I need to open the print parenthesis. The correct or corrected line would be like this
print("The total meal cost is %s dollars. " %str(int(round(totalcost, 0))))

Since I used python 2.7 it works perfectly fine with it without parenthesis. for python3 we need () for print.


Uncaught TypeError: Super expression must either be null or a function

in production getting the following error:
Uncaught TypeError: Super expression must either be null or a function
    at react-draggable.min.js:598
    at react-draggable.min.js:597
    at Module.<anonymous> (react-draggable.min.js:504)
    at n (react-draggable.min.js:14)
    at Object.e.exports (react-draggable.min.js:93)
    at n (react-draggable.min.js:14)
    at e.exports (react-draggable.min.js:50)
    at Object.<anonymous> (react-draggable.min.js:4)
    at i (index.html:1)

any idea how to solve this?

hello， how to solove it?

in production getting the following error:
Uncaught TypeError: Super expression must either be null or a function
    at react-draggable.min.js:598
    at react-draggable.min.js:597
    at Module.<anonymous> (react-draggable.min.js:504)
    at n (react-draggable.min.js:14)
    at Object.e.exports (react-draggable.min.js:93)
    at n (react-draggable.min.js:14)
    at e.exports (react-draggable.min.js:50)
    at Object.<anonymous> (react-draggable.min.js:4)
    at i (index.html:1)

any idea how to solve this?

how to solove it?


Fall Cleaning OIF development update

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: maroberts82:x: Jerome CzachorJerome Czachor seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


61 refactor sides closes #61

This PR refactors the board object to be quite a bit better.

Great refactor. This helps a bunch! Thanks for taking the time to do this.


ARROW-16107: [Dev][Archery] Fix archery crossbow latest-prefix query

The nightly tests were broken into multiple groups, so with this small fix, the following works again:
$ archery crossbow latest-prefix --no-fetch nightly-tests
nightly-tests-2022-04-04-0
$ archery crossbow latest-prefix --no-fetch nightly-packaging
nightly-packaging-2022-04-04-0


Light mode

Added a light mode to the app

https://github.com/Aleksej222/PhotoEditor/blob/main/Screenshot.png?raw=true
//Does this work
You can fork this repo again, paste the changes and make another Pull request.


Metrics files

Right now, there are two metrics files that aren't getting spit out in the final results from the immuno pipeline.

we're not generating a flagstat for the RNAseq bam (or if we are, we're not outputting it)
we're not keeping the markduplicates metrics file.

Both should be easy enough to add and dump out.

You know what, I take it back. The old picard method for marking duplicates used to spit out more detailed information. This one just gives the number of dups, which is the same information that can be seen in the flagstat for the bam, so no reason that it should need to be output.
I do still think a generating a flagstat for the rna bam would be a good idea


Allow setting "NULLS LAST" or "NULLS FIRST" on SQLAlchemy admin views

Hi,
I would like to sort results using "NULLS LAST" or "NULLS FIRST" but column_default_sort only supports True or False.
I guess we only need to rewrite part of ModelView._apply_sorting method, but not sure how to accomplish it.
Any suggestion on how to proceed?

Finally found a way to implement it by overriding ModelView._order_by and using magic sort_desc value. Not too elegant, but it is a nice starting point. Not finished, I should add a control to allow combining LAST/FIRST and the ordering.
class NullOrderMixinView(object):
    """
    A mixin view that will allow setting NULLS FIRST or NULLS LAST

    """

    def _order_by(self, query, joins, sort_joins, sort_field, sort_desc):
        """
            Apply order_by to the query

            :param query:
                Query
            :pram joins:
                Current joins
            :param sort_joins:
                Sort joins (properties or tables)
            :param sort_field:
                Sort field
            :param sort_desc:
                Select sort order:
                * True: for descending order
                * False or None: for ascending default order
                * 'LAST': for NULLS LAST
                * 'FIRST': for NULLS FIRST
        """
        if sort_field is not None:
            # Handle joins
            query, joins, alias = self._apply_path_joins(query, joins, sort_joins, inner_join=False)

            column = sort_field if alias is None else getattr(alias, sort_field.key)

            if sort_desc is True:
                if isinstance(column, tuple):
                    query = query.order_by(*map(desc, column))
                else:
                    query = query.order_by(desc(column))
            elif sort_desc is False:
                if isinstance(column, tuple):
                    query = query.order_by(*column)
                else:
                    query = query.order_by(column)
            elif sort_desc == 'LAST':
                query = query.order_by(nullslast(column))
            elif sort_desc == 'FIRST':
                query = query.order_by(nullsfirst(column))

        return query, joins

Actually your solution is the right way to do it. Having something like that in the core would be certainly nice to have too.

Could someone do a PR for this fix?


fix: elasticserach version 7.17.3

Elasticsearch version 7.16.1 is not supported by Optimize.
I know that Optimize is disabled with these values, but maybe if people use this configuration as a starting point, it may be good to use a supported elasticsearch version.
Current version of Optimize supports following Elasticsearch versions:
7.10.0+
7.11.0+
7.12.0+
7.13.0+
7.14.0+
7.15.0+
7.16.2+
7.17.0+
Your current Elasticsearch version is: 7.16.1

Uh :warning: Here be dragons :dragon:  you access now unclear terrain :warning:
We have multiple components which access elasticsearch and there is currently no clear process defined for upgrading the dependencies.
If we now take a look at the different main branches of the components we can see all use a different version:

Operate 7.17.3
Zeebe 7.17.0
Optimize 7.17.2

So which is the right one now? :)
Has to be decided by @felix-mueller I guess

I see, thanks @Zelldon. In the Docs there is also an error regarding the supported Elasticsearch versions for optimize (opened a PR for that as well). According to the docs with Elasticsearch 7.16.2(taking into consideration that Optimize does not support 7.16.0 - 7.16.1) all components should be fine with it.

Thanks @ManuelDittmar :+1:


Fixes for Pull Request #1

Hi @camfindlay
Sorry about the delay
Changed Variables as needed to make it more clear
Moved average rating html into a template instead of Controller
Thanks
Michael

Awesome work appreciate the refactor. Will review now and get this merged 👍  I'll close the other PR.


i18n(ko-KR): update layouts.mdx

Description (required)

update layouts.mdx
#9344

Related issues & labels (optional)

Closes #
Suggested label:

Once #9365 is merged, it is expected that this PR will also be merged successfully.


xgenerator

As discussed, renamed xindex_function to xgenerator.
Removed all functions except for arange, linspace and logspace.

Woot!

Crazy build errors ... will have to look at it maybe tomorrow :)
Anyways, any suggestions on how to improve xgenerator.hpp?
Should shape_type be a template parameter, such that it could also be a fixed size container?

nice! :)

Bravo. I restarted the os x build since the failure did not seem legitimate.

(Feel free to squash my two commits in your last commit.)

Happy it's building now.
Isn't it better to squash the commits upon merging?
Let me know if there is anything that needs to be fixed/improved.

Isn't it better to squash the commits upon merging?

I don't mean to squash all your commits in one. I don't like this practice which does not give credit to contributors who put a significant work into a PR and get everything squashed in one commit.
I only mean to squash the two commits I made from the GH UI into your last one. git rebase -i master should do it. Then force push to your branch. But there is no obligation.

Regarding the state of the PR, I will let Johan the time to comment but IMO we are in a merge-able state.
There are a few things that we will probably do after such as change the initializer_list API to have a static dimension.

So the command to rebase is git rebase -i master and replace the pick with squash in front of the two commits that I authored, then git push YOUR-REMOTE xgenerator -f

💯

Merging as it is now.
Two areas where I think this will probably be modified:

Potentially allowing to take a simple std::function functor instead of one already providing operators (), []and element.
The way std::initializer_list is handled (fixed dimension).

great!


[6.0] ComputeSideEffects: correctly handle escaping arguments

Explanation: This fixes a mis-compile caused by wrong side-effect analysis. It can result in use-after free crashes. The problem occurs if a function argument escapes (e.g. to the return value of the function) and therefore a side-effect is not visible by analyzing the function.
Risk: Low. The change is small and makes side-effect analysis more conservative.
Testing: Tested by a test case
Issue: https://github.com/apple/swift/issues/73477 and rdar://127691335
Reviewer:  @atrick
Main branch PR: https://github.com/apple/swift/pull/73595

@swift-ci test


Add Tuning Fork

With this app you can play notes to tune musical instruments or use it for fun
Tunings:

Tuning forks (440Hz, 432Hz, etc.)
Scientific pitch (..., 256Hz, 512Hz, 1024Hz, ...)
Guitar Standard (6 strings)
Guitar Drop D (6 strings)
Guitar D (6 strings)
Guitar Drop C (6 strings)
Guitar Standard (7 strings)
Bass Standard (4 strings)
Bass Standard Tenor (4 strings)
Bass Standard (5 strings)
Bass Standard Tenor (5 strings)
Bass Drop D (4 strings)
Bass D (4 strings)
Bass Drop A (5 strings)

List of things that can be hacked with the Flipper Zero... checks off guitar


new release with inferSchema option

I noticed that the latest code has an option to infer the schema, which is great!  Is there a timeline to include this in the next release?  I don't think it is part of 1.1.0.  Thanks!

I will cut a release soon. There are two PRs waiting to be merged which also add useful features.


Added landing page of Responsive-website-restaurant using HTML

Added a landing page of a Responsive Website Restaurant using HTML
issue #47

pls follow me bro and star this repo ur PR will be accepted


"ValueError: Can only assign sequence of same size" when changing circle's visible attribute

When i try to change 'visible' attribute of Circle instance, i have traceback:
_Traceback (most recent call last):
File "/data/Atom projekty/AI samochodzik/main.py", line 33, in
random_dot.visible = False
File "/home/piotr/venv-TF-samochodzik/lib/python3.8/site-packages/pyglet/shapes.py", line 307, in visible
self._update_position()
File "/home/piotr/venv-TF-samochodzik/lib/python3.8/site-packages/pyglet/shapes.py", line 417, in _update_position
self.vertex_list.vertices[:] = vertices
ValueError: Can only assign sequence of same size
[Finished in 0.466s]
Class declaration:
main.py
random_dot = pyglet.shapes.Circle(x=50,
                                  y=50,
                                  radius=30,
                                  batch=batch_car,
                                  group=foreground)
random_dot.visible = False

pyglet version is 1.5.8

Can confirm this:
>>> import pyglet
>>> window = pyglet.window.Window()
>>> batch = pyglet.graphics.Batch()
>>> @window.event
... def on_draw():
...     window.clear()
...     batch.draw()
...
>>> group = pyglet.graphics.Group()
>>> circle = pyglet.shapes.Circle(x=50, y=50, radius=30, batch=batch, group=group)
>>> circle.visible = False
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\Lenny\AppData\Local\Programs\Python\Python38\lib\site-packages\pyglet\shapes.py", line 307, in visible
    self._update_position()
  File "C:\Users\Lenny\AppData\Local\Programs\Python\Python38\lib\site-packages\pyglet\shapes.py", line 417, in _update_position
    self._vertex_list.vertices[:] = vertices
ValueError: Can only assign sequence of same size

Ill take a look and see what could be causing this.

Can confirm this:
>>> import pyglet
>>> window = pyglet.window.Window()
>>> batch = pyglet.graphics.Batch()
>>> @window.event
... def on_draw():
...     window.clear()
...     batch.draw()
...
>>> group = pyglet.graphics.Group()
>>> circle = pyglet.shapes.Circle(x=50, y=50, radius=30, batch=batch, group=group)
>>> circle.visible = False
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\Lenny\AppData\Local\Programs\Python\Python38\lib\site-packages\pyglet\shapes.py", line 307, in visible
    self._update_position()
  File "C:\Users\Lenny\AppData\Local\Programs\Python\Python38\lib\site-packages\pyglet\shapes.py", line 417, in _update_position
    self._vertex_list.vertices[:] = vertices
ValueError: Can only assign sequence of same size

Ill take a look and see what could be causing this.

This problem should now be solved, let me know if it still appears to be broken.

This fix is in the latest release. Thanks Lenny!


Wrong URL chosen

New Issue Checklist (tick off like this: [x])

[x] I checked existing issues (open and closed) for possible duplicates
[X] I can reproduce the problem on the latest stable version (not nightly!)
[X] If you have a problem with a specific website: adding the domain to your no-skip-urls-list does not solve the problem
[X] The issue is not about adding entries to the default no-skip-urls-list

What is your browser?

[X] Firefox
[ ] Chrome

What is your operating system?

[X] Linux
[ ] Mac
[ ] Windows

Description (please include examples/screenshots where applicable)
When using startpage.com, sponsored links have complicated URLs like this:
https://syndicatedsearch.goog/aclk?sa=L&ai=DChcSEwi8laO-qZmGAxWbklAGHXarAGwYABAMGgJkZw&gclid=EAIaIQobChMIvJWjvqmZhgMVm5JQBh12qwBsEAAYAiAAEgLa7PD_BwE&sig=AOD64_191zW-dqzDmtPAo0LQEYNlQFe_lg&adurl=https://panasonicdirect.store.panasonic.co.uk/c-55-televisions.aspx%3Fgad_source%3D5&q=&nb=0&rurl=https%3A%2F%2Fwww.startpage.com%2F&nm=27&is=598x747&clkt=182&nx=355&ny=16

Skip Redirect reduces this to
https://www.startpage.com/

which means I'm back at the beginning.  Instead it should pick the adurl value and go to the Panasonic website:
https://panasonicdirect.store.panasonic.co.uk/c-55-televisions.aspx

Apart from that, this add-on works very well -- thank you.

Oops!  Sorry -- now that I've read the documentation more carefully, I can see that you've already dealt with issues like this.


Prevent assigning class name to variable.

@lifepillar @yegappan @dkearns please review.
Code reviewers, please consider where the errors are generated. Is there a better place to check? Are all the cases caught?
Error is E1393: Cannot use a class as a variable or value
notes on changes
Prevent assignment

from non-value items, e.g. class or typealias.
of non-value items as function argument or return.
to dict/list: var l = [1, C], var d = {x: C}.

NOTE: currently non-value items can be added to a list (while #13421 is being sorted out)
NOTE: a builtin must not return a non-value:, bare, in list, in dict
Here's an overview of the code changes made (so far).
simple assignments
    scriptlevel assignment  ex_let_one in evalvars.c
    :def assignment         compile_assignment in vim9compile.c

Function related checks
    scriptlevel argument    get_func_arguments in userfunc.c
    argument, call in def   check_ufunc_arg_types in vim9execute.c
    return value            ISN_RETURN (but gives wrong line number)
    defer/funcref           check_func_args_from_type in vim9instr.c

dict/list checks
    script list         eval_list in list.c
    script dict         eval_dict in dict.c
    compile list/dict   get_member_type_from_stack in vim9instr.c

There is a separate commit for instanceof() experimentation.
There is a separate commit for uniform builtin argument checking.
TODO

More tests.
Fixed tests as needed, but have around a dozen or so tests to write based on debug scripts. Plan to add tests after initial review (particularly of the error message).

What now?
This PR is very conservative. Some of the checks could be backed out.
The advantage of aggressive checks is uniformity, which should be less
confusing.

No extra builtin checks, builtins have their own checks.
Allow non-values in list/dict.
This would ease some problems with builtins like instanceof()
This still wouldn't allow the use of the non-value.
Need to prevent non-value from being the result of an expression;
protects against usage like aList[0].new().

Notes on why the change
With this PR, Test_call_constructor_from_legacy() failed, the test has been
replaced with Test_construct_object_from_legacy() which shows an alternate
way to do the same thing.
There's the following TODO item:
When "Meta" is a class, is "const MetaAlias = Meta" allowed?  It should
either work or given an error. Possibly give an error now and implement it
later (using a typedef).  #12006

This PR "give[s] an error now".
The important question: does preventing this take away an important capability?
When I first saw this TODO, I wondered why not just let it be, and take care
of it later. I played with it, #12961, and noted that it was very limited with
common stuff not working. I think I didn't read the original issue, #12006,
carefully; just reading it now, Bram's argument is

it should be handled by typedef whenever something like that becomes available
there is no class type.

If it's left in, it leaves a lot of technical debt to get it fully working.
Some uses for this, can be achieved with something like
class C
    static def CreateC(): any ... enddef
endclass
var CreateC: func = C.Create

Add additional test, it does: call(A.new, args)

Transitioning this to Ready for review.  Not Ready for commit, although it is and I'd like to see it committed at some point.

This is just a quick general comment for the moment, not addressing the specifics of the PR.
It seems to me, from the existing implementation, that classes were intended to to be first-class objects.  This is in keeping with the language in general.

there is no class type.

:help type() lists v:t_class and it is implemented.

a quick general comment

Appreciated. Main question is whether or not var c = SomeClass, which I think is accidentally implemented,  should be allowed in v9.1; assuming vim9.1 is relatively soon and that there's no work to make class a full blown variable type or that there's not going to be an alternate way (like typedef) to do this. Is there a downside to disallowing the assignment for now, until a decision is made?

there is no class type.

:help type() lists v:t_class and it is implemented.

Interesting point, that statement is based on Bram's comment "It's not an object and we don't have a type that is a class" in https://github.com/vim/vim/issues/12006#issuecomment-1546748966; Bram closed that issue with "Once something like a typedef has been implemented please check this again. Closing for now."
Maybe the distinction is that it's not a type because you can't do
var someClass: class

although internally there is a vim object of type VAR_CLASS. And you can do
vim9script
class C
endclass
echo type(C)
echo typename(C)

12
class<C>

But there are several breadcrumbs about a class type.

I am actually assigning classes to a const variables in my code. This is my use case:
import `mylibrary.vim`
const SomeClass = mylibrary.SomeClass

As you mention, that might be:
typedef SomeClass mylibrary.SomeClass

but that is not implemented yet, afaik. If the class assignment is removed, one is forced to use imported classes with a prefix, I think. Or is there another way?
I personally find it very convenient to be able to assign non-prefixed aliases to imported names; it makes my code much easier to read and write.

@errael  Can you elaborate on your proposed workaround? I have tried this:

vim9script
# lib.vim

export class Context
  this.text: string
  public this.index: number = 0

  static def MakeContext(text: string, index = 0): any
    return Context.new(text, index)
  enddef

  def new(this.text, this.index = v:none)
  enddef
endclass

vim9script

import './lib.vim'
const MakeContext = lib.Context.MakeContext

def Test_MakeContext()
  var ctx = MakeContext("X", 42)
  assert_equal(v:t_object, type(ctx))
  assert_equal("X", ctx.text)  # <== E715
  assert_equal(42, ctx.index)  # <== E715
enddef

Test_MakeContext()

Sourcing the latter script results in E715: Dictionary required any tyme a member is accessed.

Ok, I can make it work like this:
vim9script
# lib.vim

export class Context
  this.text: string
  public this.index: number = 0

  def new(this.text, this.index = v:none)
  enddef
endclass

export def NewContext(text: string, index = 0): Context
  return Context.new(text, index)
enddef

vim9script

import './lib.vim'
const NewContext = lib.NewContext

def Test_MakeContext()
  var ctx = NewContext("X", 42)
  assert_equal(v:t_object, type(ctx))
  assert_equal("X", ctx.text)
  assert_equal(42, ctx.index)
enddef

Test_MakeContext()

It is still the case, though, that if I want to define a function that takes a Context object as an argument, I need to qualify it:
def F(context: lib.Context)
...

A bit cumbersome, but maybe not too bad, after all. Please consider the ergonomics of removing the assignment without providing a replacement. It feels a bit unnatural to me that I can assign anything but classes.

import `mylibrary.vim`
const SomeClass = mylibrary.SomeClass

I personally find it very convenient to be able to assign non-prefixed aliases to imported names; it makes my code much easier to read and write.

Oh crap, how could I forget this important case, which I use all the type with functions. Without :type this assignment is needed.

vim9script
# lib.vim

export class Context
  static def MakeContext(text: string, index = 0): any
endclass

Right, MakeContext() can't be properly declared because of #12369.

vim9script
def Test_MakeContext()
  var ctx = MakeContext("X", 42)
  assert_equal("X", ctx.text)  # <== E715
enddef

Sourcing the latter script results in E715: Dictionary required any time a member is accessed.

If object was a type, #13404, then could do static def MakeContext(): object, that should provided sufficient information to the compiler to avoid the all to familiar E715.  But that's a workaround in this case, (and it's not implemented anyway). In other cases it can be useful.

It is still the case, though, that if I want to define a function that takes a Context object as an argument, I need to qualify it:
def F(context: lib.Context)
...

A bit cumbersome, but maybe not too bad, after all.

You're right, I don't think that's acceptable. But maybe :type.

Please consider the ergonomics of removing the assignment without providing a replacement. It feels a bit unnatural to me that I can assign anything but classes.

class C defines a type, you can do var o: C.
If var x = C works, would you expect var x = number to work?
But it's beginning to look like :type might be an option, #13407.
Would type Context lib.Context be OK?

I see. Clearly, something like var x = C where C is a class (that is, a type) makes sense if classes are themselves values (as in languages like Ruby, where each class is an instance of Class, iirc). But the Ruby way doesn't fit Vim 9 script.

Would type Context lib.Context be OK?

It's the proper way to do it, imo. If you are going to implement :type then I have no objections against merging this PR. :type is the only feature I miss in Vim 9 script. I'm looking forward to replacing things like func(func(list<dict<any>>)): dict<any> with a readable name :)

If you are going to implement :type then I have no objections against merging this PR.

Cool. I'll put it back to "Draft PR", and reopen when :type is available. That should allow the smoothest transition after breaking your code.

Main question is whether or not var c = SomeClass, which I think is accidentally implemented, should be allowed in v9.1; assuming vim9.1 is relatively soon and that there's no work to make class a full blown variable type or that there's not going to be an alternate way (like typedef) to do this. Is there a downside to disallowing the assignment for now, until a decision is made?

Probably not now that :type is available to take care of the aliasing cases.
I think you've missed assignments to parameters.
vim9script

class A
endclass

def Foo(c: any)
  echomsg typename(c)
enddef

Foo(A)

there is no class type.

:help type() lists v:t_class and it is implemented.

Interesting point, that statement is based on Bram's comment "It's not an object and we don't have a type that is a class" in #12006 (comment); Bram closed that issue with "Once something like a typedef has been implemented please check this again. Closing for now."

I can't understand the comment there, given that the help entry was added only a month earlier.

But there are several breadcrumbs about a class type.

Indeed.  I wouldn't like to see it sent out into the world in its current state even with assignment disabled without some sort of reasonable narrative.
It looks a bit like class/singleton-metaclass pairs.  I suppose something like that could fall out of the implementation but class<Foo> looks quite specific.

I think you've missed assignments to parameters.
vim9script

class A
endclass

def Foo(c: any)
  echomsg typename(c)
enddef

Foo(A)

Ah, of course. Thanks. Need a function like check_is_value(typval_T*)

there is no class type.

:help type() lists v:t_class and it is implemented.

Interesting point, that statement is based on Bram's comment "It's not an object and we don't have a type that is a class" in #12006 (comment); Bram closed that issue with "Once something like a typedef has been implemented please check this again. Closing for now."

I can't understand the comment there, given that the help entry was added only a month earlier.

But there are several breadcrumbs about a class type.

Indeed. I wouldn't like to see it sent out into the world in its current state even with assignment disabled without some sort of reasonable narrative.

I found @lifepillar's distinction between type and value clarifying. https://github.com/vim/vim/pull/13404#issuecomment-1774181117

It looks a bit like class/singleton-metaclass pairs. I suppose something like that could fall out of the implementation but class<Foo> looks quite specific.

class<Foo> might be an artifact of how typename() displays non-value items. And now there's
vim9script
type LN list<number>
echo typename(LN)

which outputs typealias<list<number>>

Implementation note: From what I've seen there's a dictionary of accessible names.
dictitem_T *v = find_var(name, ...)
typval_T *tv = &v->di_tv;

Maybe pre vim9class, tv was always a value. Now it can also be a type.

Pushed a tweak to allow non-value items in list while instanceof() issues are sorted out.

Can you elaborate on your proposed workaround? I have tried this:
[snip]
vim9script

import './lib.vim'
const MakeContext = lib.Context.MakeContext

def Test_MakeContext()
  var ctx = MakeContext("X", 42)
  assert_equal(v:t_object, type(ctx))
  assert_equal("X", ctx.text)  # <== E715
  assert_equal(42, ctx.index)  # <== E715
enddef

Test_MakeContext()

Sourcing the latter script results in E715: Dictionary required any time a member is accessed.

@lifepillar With :type (now merged) you can do the following to easily specify the type and avoid E715.
vim9script

import '/tmp/xlib.vim'

type Context = xlib.Context
const MakeContext = xlib.Context.MakeContext

def Test_MakeContext()
  var ctx: Context = MakeContext("X", 42)
  echo ctx.text
  echo ctx.index
enddef

Test_MakeContext()

There are still things that are a hassle or unexpected. Which make this a workaround.

If  #12369 is fixed, the type could be automatically assigned.
The typealias can not be used as a class type in all situations
Context.new('X', 42) does not work, necessitating the MakeContext class function.
const MakeContext = Context.MakeContext does not work

Rebase with :type. Without design review/feedback (see description https://github.com/vim/vim/pull/13404#issue-1955679155) this PR is on hold.

Why was this PR closed?

Why was this PR closed? Is this not needed anymore?

I closed it in favor of https://github.com/yegappan/vim/pull/2 which is identical to this PR.

The typealias can not be used as a class type in all situations

I have updated PR https://github.com/vim/vim/pull/13441 to address this issue.

@yegappan can you please check , if  Commit feaccd239573a6265d39d3a917862ee40742eab4  includes your latest change?

@yegappan can you please check , if Commit feaccd2 includes your latest change?

Yes.  Your commit includes the latest change.  Thanks.

Thanks. Glad I didn't merge 5 minutes earlier :)


ldap_modify: Error 80 adding TLS certificates and keys

Hi everyone,
I just had this weird error ldap_modify: Other (e.g., implementation specific) error (80) when Puppet was applying the LDIF to modify the SSL / TLS certificates and keys for OpenLDAP.
Here my initial puppet code:
class profile::openldap (
String $server_name = 'example',
String $tld = 'com',
String $admin_password,
String $ssl_key_path = '/etc/ssl/private/ssl-cert-snakeoil.key',
String $ssl_cert_path = '/etc/ssl/certs/ssl-cert-snakeoil.pem',
) {

class { '::openldap::server':
  provider => 'olc',
  ssl_key => $ssl_key_path,
  ssl_cert => $ssl_cert_path,
}

openldap::server::database { "dc=${server_name},dc=${tld}":
  ensure => present,
  rootdn => "cn=admin,dc=${server_name},dc=${tld}",
  rootpw => $admin_password,
}

The complete error message:
Error: LDIF content:
dn: cn=config
add: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ssl/certs/ssl-cert-snakeoil.pem
-
add: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ssl/private/ssl-cert-snakeoil.key
-

Error message: Execution of '/usr/bin/ldapmodify -Y EXTERNAL -H ldapi:/// -f /tmp/openldap_global_conf20190209-14638-1aj63yj' returned 80: SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
ldap_modify: Other (e.g., implementation specific) error (80)
modifying entry "cn=config"
Error: /Stage[main]/Openldap::Server::Slapdconf/Openldap::Server::Globalconf[TLSCertificate]/Openldap_global_conf[TLSCertificate]/ensure: change from 'absent' to 'present' failed: LDIF content:
dn: cn=config
add: olcTLSCertificateFile
olcTLSCertificateFile: /etc/ssl/certs/ssl-cert-snakeoil.pem
-
add: olcTLSCertificateKeyFile
olcTLSCertificateKeyFile: /etc/ssl/private/ssl-cert-snakeoil.key
-

Error message: Execution of '/usr/bin/ldapmodify -Y EXTERNAL -H ldapi:/// -f /tmp/openldap_global_conf20190209-14638-1aj63yj' returned 80: SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
ldap_modify: Other (e.g., implementation specific) error (80)
modifying entry "cn=config"

After digging around for quite some time I found the issue: slapd was unable to access the files!
Albeit, this is a very bad error message for that.
$ ls -l /etc/ssl/private/ssl-cert-snakeoil.key
-rw-r----- 1 root ssl-cert 1704 Feb  9 18:00 /etc/ssl/private/ssl-cert-snakeoil.key
$ groups openldap
openldap : openldap

The fix was to add the 'openldap' user (which slapd runs as on Debian) to the 'ssl-cert' group (which has access to the certificates and private keys). Also don't forget to restart your slapd!
Fix in Puppet:
user { 'openldap':
  groups => ['ssl-cert'],
  require => [ Package['ssl-cert'], Package['slapd'] ],
  notify => Service['slapd'],
}

Afterwards Puppet ran just fine:
Notice: /Stage[main]/Openldap::Server::Install/Package[slapd]/ensure: created
Notice: /Stage[main]/Openldap::Server::Config/Shellvar[slapd]/value: value changed ['ldap:/// ldapi:///'] to ['ldap:/// ldapi:/// ']
Notice: /Stage[main]/Openldap::Server::Service/Service[slapd]: Triggered 'refresh' from 1 event
Notice: /Stage[main]/Openldap::Server::Slapdconf/File[/etc/ldap/slapd.d]/mode: mode changed '0755' to '0750'
Notice: /Stage[main]/Openldap::Server::Slapdconf/Openldap::Server::Globalconf[TLSCertificate]/Openldap_global_conf[TLSCertificate]/ensure: created
Notice: /Stage[main]/Openldap::Server::Slapdconf/Openldap::Server::Database[dc=my-domain,dc=com]/Openldap_database[dc=my-domain,dc=com]/ensure: removed
Notice: /Stage[main]/Profile::Openldap/Openldap::Server::Database[dc=example,dc=com]/Openldap_database[dc=example,dc=com]/ensure: created

Just a heads-up in case anyone else stumbles onto this issue.
For reference also posted on my blog: https://blog.cubieserver.de/2019/openldap-implementation-specific-error-80-when-adding-tls-certificate/

Since I had this exact error and this solution didn´t fix it:
This error can be caused by multiple things, thus its not so bad that the error message keeps things vague. For me, AppArmor was causing the issue. Running in one terminal aa-genprof slapd (you might need to install apparmor-utils first) and running puppet agent -t in a second terminal, allowing the upcoming things for appamor fixed it.
Since this page came up right away on my research, I thought I add it here.