perf: lazy load rollup during dev

Description
We merged some PRs that moved rollup from being lazily loaded during dev (see for example a here for a properly use of rollup) to being statically imported and blocking the server init.
This PR reworks the changes done in the following PRs so rollup is lazily loaded again:

https://github.com/vitejs/vite/pull/8675
https://github.com/vitejs/vite/pull/10964
https://github.com/vitejs/vite/pull/14508
https://github.com/vitejs/vite/pull/14833

With this PR, the dev server is starting ~15% faster on my M1, seeing sub 100ms now.
For #14833, if we want to continue to expose the sync parseAst from rollup, we need to do it by also exporting an initRollupParseAst function that should be called before it. This is breaking but I don't think there should be much usage for it yet. I can break the PR if needed but it would be good if we could merge it for Vite 5.1 and not have to wait for Vite 6
cc @sapphi-red, @sheremet-va, @bluwy as we were all involved in reviewing the PRs above

What is the purpose of this pull request?

[ ] Bug fix
[ ] New Feature
[ ] Documentation update
[x] Other

/ecosystem-ci run

Extracted the rollup/parseAst changes into #15639, so this one is easier to review and merge.

I'm not really oppose to this, but it's kinda unfortunate that we can't use the exported version now. Should we reach to Rollup if they could export it as a subpath? (though feels a bit redundant, i guess it would be nice if the utils are placed under rollup/utils perhaps)

I'm not really oppose to this, but it's kinda unfortunate that we can't use the exported version now. Should we reach to Rollup if they could export it as a subpath? (though feels a bit redundant, i guess it would be nice if the utils are placed under rollup/utils perhaps)

Do you mean that rollup should expose a small rollup/utils entry point with the version, and maybe later things like normalizePath? We can ping Lukas to see what he thinks later, but we could move forward with the PR and improve things later when we have a better story upstream.

Yeah I think we can figure out the rollup/utils thing later and we can do this for now. Sorry for not responding earlier, I'd prefer the esbuild changes done separately, or even not done at all 😬 I feel like we're using esbuild a lot more frequent than Rollup, and it's not really worth optimizing the esbuild import.

I extracted the esbuild changes as a draft to

https://github.com/vitejs/vite/pull/15685

This PR only avoids statically loading rollup before the server starts now. I need to run proper benchmarks with the other extracted PRs so we can discuss them further 👍🏼


ci-automation/tapfile_helper_lib.sh: only ASCII chars

This change removes all non-ASCII characters from test debug / error output when ingesting the output for inclusion in the TAP report. Jenkins TAP parser does not handle some unicode chars, leading to tap parser errors with e.g. Cilium output (which uses unicode).
Needs to be cherry-picked to flatcar-3033, flatcar-3139, and flatcar-3165.

Merged + cherry-picked to flatcar-3033, flatcar-3139, and flatcar-3165.


How to dockerize?

I can't dockerize this app using the NextJS with-docker example, but it isn't working correctly. The docker container starts up and runs, but the app doesn't load when navigating to the URL. I've tested with a fresh NextJS app and it works fine, so I'm guessing something is set up different in this one that isn't compatible.
The only way I've gotten it to work is to copy the whole project into the image and run it with yarn start. However, this isn't ideal as it copies literally everything in the folder into the image which bloats the size immensely, making it slow to build, slow to upload to our repository, and slow to then download to our hosting environment. The NextJS example does some optimization (using the output: 'standalone' feature) and also only copies the modules that are actually needed which greatly reduces the size of the final image.
Our current method of making a docker image adds 10 minutes to our CICD pipeline just to build and upload the image.

Hi @donkee,
I've created a Dockerfile for the version 2.0 of this solution :
# Use an official Node.js runtime as a parent image
FROM node:14-alpine

# Set the working directory to /app
WORKDIR /app

# Copy package.json and package-lock.json to the container
COPY package*.json ./

# Install dependencies
RUN apk update && apk add --no-cache nodejs npm && \
    npm ci --only=production

# Copy the rest of the application code to the container
COPY . .

# Build the TypeScript code (if applicable)
RUN npm run build

# Expose the port that the application will listen on
EXPOSE 3000

# Start the application
CMD ["npm", "start"]

You can clone the repo from here
Then create a Dockerfile on this same folder.
Run :

docker build -t tokyo-image .

And to deploy the container use :

docker run -p 3000:3000 --name tokyo_container -d tokyo-image

Browse to : localhost:3000

I hope this is gonna be helpful.

Hi @AbdelatifAitBara , thanks for commenting. This isn't a viable solution for me, however, since it still requires copying the entire project contents into the container. The NextJS Dockerfile copies some optimized files/folders that are generated when you have output set to standalone in the next config file. That SHOULD result in a smaller image (this is my goal, as creating the image and uploading it are taking up the majority of my build pipeline - 10+ minutes). The NextJS official solution doesn't seem to work with this project, however.

Hi @donkee,
Ok, I got you now ;) , could you tell me please the smaller image size that you have achieved ?

Hi @AbdelatifAitBara , my images are about 500MB right now.

Hi @donkee,
Yea me as well, I got the same size anyway, if I find a better solution I'll keep you on touch.
Have a good day.


Curated_List_of_all_Online_Python_resources Issue No#598

Description 📜
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context.
Fixes #598

Type of change 📝

[ ] Au#dio (Should be in mp3 format Includes speech clarity, Concise ,Low distortion)
[ ] Vi#deo (Animations, screen-recordings, presentations and regular explanatory films are all possibilties etc)
[x] Doc#umentation (Content Creation in the form of codes or tutorials)
[ ] Other (If you choose other, Please mention changes below)

Domain of Contribution 📊

[ ] Android Dev #(Flutter)
[ ] Android Dev #(Java)
[ ] Android Dev #(Kotlin)
[ ] Backend Dev #(Java)
[ ] Backend Dev #(.NET)
[ ] Backend Dev #(PHP)
[ ] Backend Dev #(Python)
[ ] C/#CPP
[ ] Competitive #Programming
[ ] Cyber #Security
[ ] DS#A
[ ] Data#base
[ ] Datascience with #Python
[ ] Datascience with #R
[ ] Frontend Dev #HTML/CSS/JS
[ ] Frontend Dev #React/Angular/Vue
[ ] Go#lang
[ ] Interview #Prep
[ ] Java_#Domain
[ ] Java#Script
[ ] ME#RN
[ ] Machine #Learning
[ ] Open #Source
[x] Python_#Domain
[ ] Ru#st
[ ] Statis#tics
[ ] UI/#UX

Checklist ✅

[x] I follow Contributing Guidelines & Code of conduct of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I'm GWOC'21 contributor

Screenshots / Gif (Optional) 📸

@Randrita I selected the python branch while pushing the changes don't know how it ended up at main? So should I close this PR and create a new one but this time I would have to push it to the python branch?

Ping me in discord!


Simulate compute asset containers

Computing is currently done inside the JobRun class. Instead, we should have some classes representing assets. These classes would model container images, and they would replace the current any-object data assets in the AssetStore. JobRun would then obtain them from the relevant store, and run them with the input assets, probably by calling a run() method and passing a dictionary of input assets.
Class hierarchy: Asset{} < ComputeAsset{run(inputs: Dict)} so that we can later add a DataAsset class for those.

@LourensVeen do you agree that this issue is fixed by https://github.com/SecConNet/proof_of_concept/pull/11? So then we can close this issue?

Hmm, well just going by what's written I still miss the "JobRun would then obtain them from the relevant store" part. That could also be split off into a separate PBI/Issue though.

Moved that to #13, closing this. Thanks for implementing this!

Bueno!


Click house/v1.44.1

@karthikravis

 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 13 committers have signed the CLA.:white_check_mark: rschu1ze:x: ctiller:x: jtattermusch:x: lidizheng:x: ashithasantosh:x: drfloob:x: yashykt:x: markdroth:x: dmaclach:x: yousukseung:x: sergiitk:x: veblush:x: sifmelcaraYou have signed the CLA already but the status is still pending? Let us recheck it.


Share Component with polyfill

Implement simple component that uses the share API with a fall back, to enable developers to easily add sharing tools to hubspot sites without libraries.

Perhaps just implement as a class triggered by a click. Demo site can show a button but the button is just standard + maybe some aria stuff if necessary.


Unsealed structs

Because the VM doesn't support reentrancy all that well, it would make sense to have some way of creating "unsealed" Rust types that can be implemented from inside of Mica.

Implementation idea: create an add_native block that uses the engine to compile some functions into a dtable that is then used to augment the existing dtable.
tb.add_native(r#"
impl Self
  func hello()
    print("Hello from Mica from Rust!")
  end
end
"#)


Publish latest release on NPM

Hi,
It seems that npm publication is still in version 1.4.10 while your last git version is 1.5.1.
I'm not working with the git repository, only with npd packages
Can you publish it on each release ?

@paztis Based on discussion with @jeromeetienne we want to automate the npm publishing. So on each release the npm publishing should be triggered by a webhook. Can you point us to a solution? What's the common practice?

How about using Travis? https://docs.travis-ci.com/user/deployment/npm/

Hi all,
I never automate it, but is seems that Travis is one of the most used solutions

I'm happy to set it up, if nobody else wants to do it 🙃

@AVGP Pullrequests with some setup instructions are very welcome!

Well no PR needed, really:

go to travisci.org
login with your Github account
Click "+" on the left side next to "My repositories"
Click on the repository you wanna add to Travis and activate it
Follow instructions at https://docs.travis-ci.com/user/deployment/npm/
That's all folks :)

Has there been any progress on automating this via Travis? Looks like we have a good solution pending implementation :)

Hello, i'm interested in this too, it would be great to have an up to date npm package.

@jeromeetienne i think this is important. can we resolve this?

Hey,
Is this issue resolved because I tried importing ar.js using npm but it didn't work for me. I am using the create-react-app to create a react app and then import ar.js using import or require but it doesn't seem to work :(. Also when testing with runkit it show error 'Error: Cannot find module 'ar.js''

Very surprised this hasn't been sorted yet

When can we expect an updated npm package?

I think this issue should be closed. The latest release (1.6.2) is on NPM.
Any issues about using it as an NPM module should be a separate issue


⚠ Samsung has degraded performance

In ee1922c, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2154 ms

Resolved: Samsung performance has improved in 4868755.


Annotations should be optional, not automatically added.

When using the ORAS binary, it automatically adds several annotations. This was intended to be representative of what's possible, however as we consider adding to OCI as a standard library, there's valid concern that this implies a standard, as opposed to an ability.
Some of the annotations are in the "interesting" meta-data category, while others are used to determine how/where to extract compressed content. Such as a directory of files passed in.
This issue is to track removal of annotations without explicitly asking for them, and finding an alternative means for the file compression/decompression of files. Perhaps using the config object.
oras push localhost:5000/hello-artifact:v2 \
  --manifest-config config.json:application/vnd.acme.rocket.config.v1+json \
  artifact.txt:text/plain \
  ./docs/:application/vnd.acme.rocket.docs.layer.v1+tar

{
  "schemaVersion": 2,
  "config": {
    "mediaType": "application/vnd.acme.rocket.config.v1+json",
    "digest": "sha256:7aa5d0dee9a3a73c81db4356cf7aa5666e175d96e68ee763eeb977bd7ba59ee5",
    "size": 20
  },
  "layers": [
    {
      "mediaType": "text/plain",
      "digest": "sha256:a948904f2f0f479b8f8197694b30184b0d2ed1c1cd2a1ec0fb85d299a192a447",
      "size": 12,
      "annotations": {
        "org.opencontainers.image.title": "artifact.txt"
      }
    },
    {
      "mediaType": "application/vnd.acme.rocket.docs.layer.v1+tar",
      "digest": "sha256:20ae7d51e2365405e6942439140d897548e1d4610db60354aef8a5ce1f1699a7",
      "size": 196,
      "annotations": {
        "io.deis.oras.content.digest": "sha256:4329ea6c620ca4e9cedc5f5e8040432114cb5d64fc53107ea870db149e3d2b9e",
        "io.deis.oras.content.unpack": "true",
        "org.opencontainers.image.title": "docs"
      }
    }
  ]
}

Reviewing the tar docs, it's not clear why we need the layer annotations.
When the oras binary is used, can we be smarter about the extension used on the layer.mediaType? In the example below, since "mediaType": "application/vnd.acme.rocket.docs.layer.v1+tar" is tar, we could simply untar it in the root of the directory oras is executed within. if "mediaType": "application/vnd.acme.rocket.docs.layer.v1+tar+gzip" we untar and decompress.
{
      "mediaType": "application/vnd.acme.rocket.docs.layer.v1+tar",
      "digest": "sha256:20ae7d51e2365405e6942439140d897548e1d4610db60354aef8a5ce1f1699a7",
      "size": 196,
      "annotations": {
        "io.deis.oras.content.digest": "sha256:4329ea6c620ca4e9cedc5f5e8040432114cb5d64fc53107ea870db149e3d2b9e",
        "io.deis.oras.content.unpack": "true",
        "org.opencontainers.image.title": "docs"
      }
    }

Looks like the annotations are used to persist individual files, not tars.
For the ORAS binary, what if we always tar files, so the metadata for the filename is persisted in the tar?

I think that the original purpose of using org.opencontainers.image.title is so that oras knows the name of the files to place onto the filesystem based on layers retrieved on pull.

When using the ORAS binary, it automatically adds several annotations

I believe this is incorrect, just one annotation, org.opencontainers.image.title. I'm unfamilair with the other ones used on tarring a directory, I'm not sure why these are need. cc @shizhMSFT
I agree that these should not be automatically added when using as a Go library, however it is already achievable using oras.WithNameValidation(nil). As it relates to the binary, I think the annotation is a requirement and I don't particularly see any issue with that. If it's something we need to bake into the distribution spec, then lets address it.

Closing as this new issue tracks the larger set of issues.

Closing as this new issue tracks the larger set of issues.


Passing further passed values

https://github.com/ngenworks/rest_framework_ember/blob/master/rest_framework_ember/parsers.py
    def parse(self, stream, media_type=None, parser_context=None):
        """
        Parses the incoming bytestream as JSON and returns the resulting data
        """
        result = super(JSONParser, self).parse(stream, media_type=None,
                                                    parser_context=None)
        ...

You should do super(JSONParser, self).parse(stream, media_type=media_type,  parser_context=parser_context)

This fix is now merged into the develop branch, thanks!


Terminal font rendering problem

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version: 1.66.2
OS Version: openSUSE Tumbleweed
Theme: Photonica
Font: FiraMono Nerd Font

Steps to Reproduce:
The font rendering is not correct in VSCode's terminal.
However, it works well in Konsole.
in VSCode:

in Konsole

TLDR;  "terminal.integrated.minimumContrastRatio": 1,
See https://code.visualstudio.com/updates/v1_66#_minimum-contrast-ratio-default-changed

TLDR; "terminal.integrated.minimumContrastRatio": 1
See https://code.visualstudio.com/updates/v1_66#_minimum-contrast-ratio-default-changed

edq

/duplicate #146168


click for BIT* plan in CAMP

UI feature where clicking on chart calls BIT* planner, generates plan, and boat starts following the plan.

[ ] possible TODO:

            // TODO SJW: maybe alter the following two blocks for BIT*? I.e., we're not checking ribbon coverage, we're just checking if we got to a goal pose. Maybe this would change once we have the point-and-click feature.
            { // and again
                std::lock_guard<std::mutex> lock1(m_RibbonManagerMutex);
                if (m_RibbonManager.done()) {
                    // tell the node we're done
                    cerr << "Finished covering ribbons" << endl;
                    m_TrajectoryPublisher->allDone();
                    break;
                }
            }
            // display ribbons
            { // one more time
                std::lock_guard<std::mutex> lock1(m_RibbonManagerMutex);
                m_TrajectoryPublisher->displayRibbons(m_RibbonManager);
            }


Composite Operation on StageGL?

Hey folks - does compositeOperation work on StageGL?  I can't seem to get it working.  It might be related to https://github.com/CreateJS/EaselJS/issues/943.

Yes, it's working !
Look the 3.4.1. The mix-blend-mode property part at this link: https://drafts.fxtf.org/compositing/
You can use: normal | multiply | screen | overlay | darken | lighten | color-dodge |color-burn | hard-light | soft-light | difference | exclusion | hue |
saturation | color | luminosity

Thanks @Pi-Bouf - how do we apply the mix-blend-mode property to an object in CreateJS?

Like this:
bitmap.compositeOperation = "multiply";

Hi @Pi-Bouf compositeOperation is what I am using and it is not working.  Is there an update since Easel V1 that needs to be used?  If I set the stage to stageGL  rect.compositeOperation = "difference"; does not work - if I use a regular stage then it works.  If this should work or works for you guys, then I can put together a CreateJS based test - right now I am testing in ZIM which makes the CreateJS objects in the background.  Thanks - sorry to be a bother.

No problem my dude ! :D @danzen
I never touch the StageGL (because i can't make a linear background), so i can't help you on it... I only use compositeOperation on regular stage, sorry !


Adding frontend theme ?

Is there a way to generate multiple theme for frontend?

You can publish the view or use the customize module


Segmentation fault 139 (SIGSEGV)

What happened?
While opening a set of netCDF files in a for loop, using xr.open_dataset().load(), I get a segmentation error (nr. 139). Please see code example below:
for region in region_list:
   [some code to read data associated to each region...]

   region_pred = xr.open_dataset(io.BytesIO(data)).load()

   [other code working on region_pred...]

The error is shown in Linux/Mac after running my Python code, whereas Windows seems to be masking it. I was able to catch that on Windows by launching my code as:
python3 my_code.py && echo ok || echo KO

In this way, KO gets printed and the segmentation fault is now noticeable.
I managed to fix the issue by using a second variable (called reg_pred) in addition to region_pred:
for region in region_list:
   [some code to read data associated to each region...]

   region_pred = xr.open_dataset(io.BytesIO(data))
   reg_pred = region_pred.load()

   [other code working on reg_pred...]

What did you expect to happen?
I don't know if the issue I described is something that the developers made on purpose. Personally, I think it is an issue and that's why I am reporting it. If it is not an issue, I would like to get a clarification in order to understand what am I missing.
Thank you in advance.
Minimal Complete Verifiable Example
for region in region_list:
   with storage_client.open(region, "rb") as f:
      data = f.read()
   region_pred = xr.open_dataset(io.BytesIO(data)).load()

   # some code working on region_pred to compute weather indices...

MVCE confirmation

[X] Minimal example — the example is as focused as reasonably possible to demonstrate the underlying issue in xarray.
[ ] Complete example — the example is self-contained, including all data and the text of any traceback.
[ ] Verifiable example — the example copy & pastes into an IPython prompt or Binder notebook, returning the result.
[X] New issue — a search of GitHub Issues suggests this is not a duplicate.
[ ] Recent environment — the issue occurs with the latest version of xarray and its dependencies.

Relevant log output
No response
Anything else we need to know?

See #7079, #7549, #7879, and #8289 for related issues, and in particular the latter comments in #8289 might point us in the right direction to finally fix this. As a workaround, you might be able to pin either netcdf4 to <=1.6.1 (or libnetcdf to 4.8.1, not sure if this is necessary).

I appreciate these are quite difficult to debug.
It is quite unlikely to be a problem with xarray itself, since xarray only python code — even though xarray is wrapping other libraries.
It's worth looking through the other issues and seeing whether those are similar.
Unless there's an MCVE of something that's not in those issues, we don't generally leave issues open, so in that case we can close this in time.

Closing but feel free to reopen with an MCVE


Automatically register plugins in FlutterEngine

Automatically register plugins in FlutterEngine.
Proposal:
https://docs.google.com/document/d/1xNkBmcdVL1yEXqtZ65KzTwfr5UXDD05VVKYXIXGX7p8/edit?usp=sharing

Done here: https://github.com/flutter/engine/pull/13455


Onboarding flow

When a user logs in for the first time, we at least need to create a new logbook with their personal callsign.

This was fixed with 021137fe0f8546f67deefecd8a85bff734a948b0.


Update PHI (PHI)

UPDATE PHI (PHI)
Fixes # .
Changes proposed in this pull request:
Update PHI (PHI) Snapshot subgraph

Why spamming PRs? use the first PR to make any changes https://github.com/snapshot-labs/snapshot.js/pull/591


hi please tell me the approach to solve this problem

You have to solve a multi-label classification problem statement.
It contains two files: train.csv and test.csv.
The dataset contains the following columns:

LossDescription: Description of Event
ResultingInjuryDesc: Injury Description
PartInjuredDesc: Body Part Injured Description
Cause - Hierarchy 1: Cause Hierarchy 1
Body Part - Hierarchy 1: Body Part Hierarchy 1
Index: Identifier

Tasks:

Perform exploratory data analysis (EDA) on the dataset.
Train multi-label classification models to predict "Cause - Hierarchy 1" and "Body Part - Hierarchy 1" when other columns are given.
Two models will be required to predict each target variable.

please tell the approach to solve this problem


Is docs site replaced?

Is https://docs.zed.dev/ replaced by https://zed.dev/docs/configuring-zed?
If so, do you plan on removing this repo once the docs are completed on the other site?

Yes, the docs live in the Zed repo now.
We do need to archive/remove this repo.


DHCP builds might need to be faster

17:00:51 < akeym> simulate 100k interfaces; if that can't be built in under 9 minutes, we need to fix it

its fine for now, takes 3-4mins normally.


Add Click Tracking setting enable_text

Description of the change:
Reason for the change:
Link to original source:

Closes #

Hello @jacobmovingfwd,Thanks again for the PR! We appreciate your contribution and look forward to                                              continued collaboration. Thanks!                                             Team SendGrid DX


Manage Users via LDAP

As a developer, I would rather not implement a user management system every time I create a project. Therefore, to be able to use an LDAP System like Microsoft AD or just LLDAP, I need an LDAP User management.

[ ] It is possible to login in the example as an LDAP user
[ ] It is possible to login just when a certain permission is given

LLDAP is an option to test is locally

duplicate, more advanced issue #106


fixed missing parentheses

Python 3 does not allow print without parentheses

should fix #26.

Close #26. Thanks!


fix(*): set worker ID of privileged agent to -1

Summary

By default, ngx.worker.id() returns nil for the privileged agent. Now Fall back to -1 as the worker ID of privileged agent worker to avoid error, like this one in the repo https://github.com/Kong/kong/blob/0ff50d5237d16b7f3535d57e9ef63dfd603ac62a/kong/globalpatches.lua#L427
Checklist

[ ] The Pull Request has tests
[x] A changelog file has been created under changelog/unreleased/kong or skip-changelog label added on PR if changelog is unnecessary. README.md
[ ] There is a user-facing docs PR against https://github.com/Kong/docs.konghq.com - PUT DOCS PR HERE

Issue reference

Fix #FTI-5707

ngx_worker_id

Will do


Less verbose class initialization

🔍 Search Terms
class verbose, class boilerplate
✅ Viability Checklist

[X] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[X] This wouldn't change the runtime behavior of existing JavaScript code
[X] This could be implemented without emitting different JS based on the types of the expressions
[X] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
[X] This isn't a request to add a new utility type: https://github.com/microsoft/TypeScript/wiki/No-New-Utility-Types
[X] This feature would agree with the rest of our Design Goals: https://github.com/Microsoft/TypeScript/wiki/TypeScript-Design-Goals

⭐ Suggestion
Initializing classes which take an options-bag constructor parameter, and copy properties of the options-bag into fields, is very boilerplatey. It'd be good if a) a class could say it implements an interface without having to explicitly redeclare all the fields and b) if it could use something like Object.assign(this, options) to set many fields in one go.
📃 Motivating Example
Here's an example of a Column class, say representing a database table column:
interface ColumnParams {
  table: string
  name: string
  type: string
  nullable: boolean
}
class Column implements ColumnParams {
  table: string
  name: string
  type: string
  nullable: boolean

  constructor(public params: ColumnParams) {
    this.table = params.name
    this.name = params.table
    this.nullable = params.nullable
  }

  get quotedName() {
    return quoteIdentifier(this.name)
  }

  // ...other methods
}

Note that each field in ColumnParams results in three lines of code, only one of each carries any real information/intent in terms of what the program is supposed to do. And in fact the constructor has two bugs in it:

we're doing this.table = params.name and this.name = params.table. This is a mistake that's easy to write and very hard to catch - the compiler won't catch it.
we also forgot to set this.type = params.type. If the tsconfig has strictNullChecks: true this will be caught, but plenty of projects don't have that (this example is from a port of a python library, which I hope to one day enable strictNullChecks on, but that will require diverging from the port, so won't happen immediately)

Plus, every time we add a property to ColumnParams (say we add column: string), we risk regressing these bugs after fixing.
It'd be great if we could do this:
interface ColumnParams {
  table: string
  name: string
  type: string
  nullable: boolean
}
class Column implements ColumnParams {
  constructor(public params: ColumnParams) {
    Object.assign(this, params)
  }

  get quotedName() {
    return quoteIdentifier(this.name)
  }

  // ...other methods
}

That way:

There's less code - the signal-to-noise ratio is higher. There's only one place the properties + types are declared
No possibility of mixing up properties
No possibility of forgetting to assign properties
Maintainability is higher - adding a property is a one-liner

There are cases where the above might not be wanted - say there are some properties of ColumnParams that shouldn't be assigned to this - but of course the old form would continue to work.
💻 Use Cases

What do you want to use this for? Writing classes with less error-prone boilerplate
What shortcomings exist with current approaches? It's verbose and error prone, see bugs in example above
What workarounds are you using in the meantime? Using plain functions instead of classes can allow relying more on type inference, but classes have benefits and fit plenty of use-cases better

Duplicate of #26792 / #28883.

@MartinJohns thank you! Those cover Object.assign(this, params), do you know if something exists for allowing skipping the redeclaring of interface fields on a class?

do you know if something exists for allowing skipping the redeclaring of interface fields on a class?

That sounds like either https://github.com/microsoft/TypeScript/issues/36165 or https://github.com/microsoft/TypeScript/issues/32082.

do you know if something exists for allowing skipping the redeclaring of interface fields on a class?

That sounds like either https://github.com/microsoft/TypeScript/issues/36165 or https://github.com/microsoft/TypeScript/issues/32082.  It's unlikely you'd be able to omit the fields entirely though - otherwise if you wrote

class A implements B {}

then TS would have to include the fields from B inside A in the output at compile-time, which falls under the category of type-directed emit and would surely be rejected for that reason (TS as a rule only erases types, and a class without explicitly declared fields behaves differently at runtime than one with them).

#32082 looks close, thank you. Re type-directed emit, I wouldn't think so.
I'm suggesting that these become
equivalent:
interface B {
  name: string
}

class A implements B {
}

And:
interface B {
  name: string
}

class A implements B {
  name: string
}

i.e. ok if strict null checks are off, but gets "name is not definitely assigned in the constructor" with strict null checks. That's where Object.assign complements it well:
interface B {
  name: string
}

class A implements B {
  constructor(params: B) {
    Object.assign(params)
  }
}

This would make the error go away but js output is unaffected.
So maybe it's still worth having one issue for those two changes together even if each is somewhat covered by those linked duplicates.

I'm suggesting that these become equivalent

Yes, that's type-directed emit, because TS would have to emit the name field in the output for A for them to behave the same at runtime.  class A { foo; } in JS is not the same as class A {}.

I'm suggesting that these become equivalent

Yes, that's type-directed emit, because TS would have to emit the name field in the output for A for them to behave the same at runtime.  class A { foo; } in JS is not the same as class A {}.

Hmm is that right? This playground shows no effect of a field that's never set.
Typescript:
class A {
  name: string
}

Output:
class A {
}

The difference appears when you enable useDefineForClassFields, which is enabled by default for ES2022 and later.

Interesting, I had missed that, thanks for explaining. I agree that this is a non-starter if it allows interfaces to affect emit. But couldn't this still be pretty easily workable:
interface B {
  x: string
}
class A implements B {
}

Emits
class A {
}

Or more realistically, since the above class is fairly pointless:
interface B {
  x: string
}
class A implements B {
  constructor(params: B) {
    Object.assign(this, params)
  }
}

Emits:
class A {
  constructor(params) {
    Object.assign(this, params)
  }
}

This is already what typescript emits. The only thing new would be that this second example no longer has a compiler error (Class 'A' incorrectly implements interface 'B'. Property 'x' is missing in type 'A' but required in type 'B'). Playground
Could that even be a useful change not just for the sake of verbosity - what if you have a specific reason to want to avoid the Object.defineProperty(...) stuff emitted by declaring the field explicitly?

A quite silly workaround, but that does seem to work ok at compile time and runtime:
export function AutoThisAssigner<T>(): new (params: T) => T
export function AutoThisAssigner<T, X extends new (...args: any[]) => any>(
  C: X,
): new (params: T, ...args: ConstructorParameters<X>) => T & InstanceType<X>
export function AutoThisAssigner<T, X extends abstract new (...args: any[]) => any>(
  C: X,
): new (params: T, ...args: ConstructorParameters<X>) => T & InstanceType<X>
export function AutoThisAssigner(C: any = Object) {
  return class extends C {
    constructor(params: any, ...args: any[]) {
      super(...args)
      Object.assign(this, params)
    }
  }
}

Can be used like this (note, no explicit constructor, no duplicating field types, no line-by-line field setting, but you still get type safety):
interface ColumnParams {
  table: string
  name: string
  type: string
  nullable: boolean
}
class Column extends AutoThisAssigner<ColumnParams>() {
  quotedName() {
    return JSON.stringify(this.name)
  }
}

const column = new Column({
  table: 'foo',
  name: 'bar',
  type: 'text',
  nullable: false,
})

console.log(column.table, column.quotedName())

It works by abusing class extension to be a cross between extends and implements, so it's less than ideal. You can also extend another class with the overloaded version:
interface GeneratedColumnParams {
  expression: string
  stored: boolean
}

class GeneratedColumn extends AutoThisAssigner<GeneratedColumnParams, typeof Column>(Column) {
  validate() {
    if (!this.expression.includes('foo bar')) {
      throw new Error(`Invalid expression: ${this.expression}`)
    }
  }
}

const generatedColumn = new GeneratedColumn(
  {
    expression: 'foo bar',
    stored: true,
  },
  {
    table: 'foo',
    name: 'bar',
    type: 'text',
    nullable: false,
  },
)

generatedColumn.validate()
console.log(generatedColumn.table, generatedColumn.quotedName(), `is stored: ${generatedColumn.stored}`)

Playground for anyone interested.
@MartinJohns @RyanCavanaugh since this is marked as a duplicate, but the issues it duplicates are years old, would you recommend something like this if we want something like this functionality now? Or is there an existing community solution that does something like this? Or are there hidden pitfalls to the above do you think?

@mmkal runtime functionality is explicitly out-of-scope

@mmkal runtime functionality is explicitly out-of-scope. Your solution looks good to me

@RyanCavanaugh I'm not proposing runtime functionality. Sorry if it was unclear - I'm proposing no changes to emit whatsoever. Just to make this no longer a compile error (i.e. catch up with js - what's emitted right now runs the way most people would expect, despite the compiler slapping your wrist):
interface A {
  x: 1
  y: 2
}

class B implements A {
  constructor(a: A) {
    Object.assign(this, a)
  }
}

Emit stays the same, so no new runtime functionality is introduced. My previous comment was just a hack that allows you to simulate the convenience of this with current typescript. But it's just a hack, involves dynamically building a class etc. I'm not proposing that hack be incorporated into typescript.

@mmkal is the feature proposal that Object.assign get special treatment, or that saying B implements A just implies that the fields must be there?

Both. I think either one is useful, and perhaps covered by other tickets, but the two together allow a significant reduction in noise and likelihood of errors. I thought the use case might be clearer/more convincing when proposed together.

So when you implement an interface but are missing properties from the interface in your class declaration, would they be implicitly declared (but still require assignment)?
interface ExampleLike {
    interfaceMember: number;
}

class Example implements ExampleLike {
    // Not needed, implicit via `implements` clause
    //interfaceMember: number;

    public constructor(init: ExampleLike){
        // Satisfies assignment requirement
        Object.assign(this, init);
    }
}

In this case I would expect Example.interfaceMember to behave like an ad-hoc property (not part of class declaration in emit).


Pruner logs in archival node

Description
I'm seeing pruner logs in archival node. They shouldn't be there
2024-04-18T19:59:25.960044Z  INFO Pruner started tip_block_number=1372930
2024-04-18T19:59:25.960223Z  INFO Pruner finished tip_block_number=1372930 elapsed=145.155µs stats={}

bump I also see it :) and it's really confusing cause now I'm not sure which mode i'm running in.


Type Checker keeps giving warnings about almost everything guidance

I use guidance according to the examples. But there are several areas where the type-checker yells at me for a variety of reasons:

Example 1:

Example 2:

Example 3:

Example 4:

I could go on, but I think these examples point to a more fundamental issue with guidance and how it's programmed. I raised these issues in the previous version (https://github.com/guidance-ai/guidance/issues/111). It's disappointing that this issue still exists in the new version.
If there's any workaround, please share here.

Workaround for #1

Use:
from guidance.models.llama_cpp._llama_cpp import LlamaCpp

and then use
LlamaCpp(...)

instead of models.LlamaCpp(...).

@ryanpeach made a change in the latest version of guidance that allows this alternative import for when Type Checkers get upset.

from guidance import guidance

Note that this isn't a bug, just something weird with how the type checker processes our module...if anyone has tips on code we can add in the library so that we disable this type check on our module decorator, please let us know!

Workaround for Example-4:

Use:
from guidance._guidance import guidance

instead of
from guidance import guidance

@ibehnam , if I'm understanding right, both import guidance and from guidance import guidance cause issues with your type checker? Mypy runs on the codebase and I don't have any of these issues with the Python Language Server checks in VS Code, so I'm not sure what's causing it :|.
Can I ask what type checker you have configured?

@Harsha-Nori Yes, they cause issues with the type checker. Haven't tried mypy yet. The errors are given by Pylance:
"guidance" is not exported from module "guidance"
  Import from "guidance._guidance" insteadPylance[reportPrivateImportUsage](https://github.com/microsoft/pyright/blob/main/docs/configuration.md#reportPrivateImportUsage)

@ibehnam thanks!  I unfortunately can't reproduce on my side even though I'm running the Python Language Server too :(.
I think adding this line: # pyright: ignore to some of the init.py lines might solve the type checker problem.
From: https://microsoft.github.io/pyright/#/comments?id=line-level-diagnostic-suppression
If you're up for helping us out, you could clone the codebase, do a local install (pip install -e .), and add the # pyright: ignore comment on lines in the init logic. Would be great to know if this resolves the issue, and we'd be thrilled to have a PR on this.

@Harsha-Nori Okay, I'll try to do that and report the results here. Is cloning the repo necessary, or can I just modify the installed guidance files?

If you installed guidance via a pre-built .whl on PyPi (e.g. pip install guidance), I'd recommend cloning the repo and running in a fresh environment. There's sometimes ambiguity in where the running code actually sits when you do a pypi/conda install. You get full control over that with a local editable install (and also the benefit of automatically re-installing the package every time you change the code).

Thanks! Okay, I will clone the repo and test with Pylance and report here. I just checked from guidance import guidance with mypy and it found no issues with it.

Good to hear that mypy works at least!


Using videojs-youtube with vue-video-player in nuxt (VIDEOJS: ERROR: The "youtube" tech is undefined)

Hi all,
I am trying to use videojs-youtube plugin in nuxt, but I face the error :

VIDEOJS: ERROR: The "youtube" tech is undefined. Skipped browser support check for that tech.

I read all the issues, but I don't find the way to use this combination.
I am using :

vue-video-player 5.0.2,
videojs-youtube 2.6.1,
nuxt 2.11

Here is my /plugins/nuxt-video-player-plugin.js
import Vue from 'vue'
if (process.browser) {
    const VueVideoPlayer = require('vue-video-player/dist/ssr')
    Vue.use(VueVideoPlayer)
}
Other information : when I use a video that doesn't require a video plugin, it works, so my only problem is to be able to use youtube plugin.

require('videojs-youtube')

Hi @cerclecheung
Thanks for your reply, I tried to add that line in the Vue component file, it doen't work, I face the same error
Do you mean that I should add that line in another place ?

The solution is to use https://www.npmjs.com/package/vue-plyr


Extension Suggestion: Table of Contents

I'm working on a one-hour presentation with DeckJS. Since it is quite long, I'd like to be able to give hints to the user of the overall plan.
It would be really great to be able to do something as I did in LateX: http://www.slideshare.net/vjeux/slides-8510637

Tags in order to tell where the (sub)sections are: <h1/2/3/4 class="toc">Name</hx>
Tag to display the Table of contents:
Some template that would display the table of content and current position on every slide.

Hi,
I just released a Deck.toc.js extension (temporarily https://github.com/barraq/deck.js) which fullfils all the requests above.
By default all the h1,h2... tags are used in the TOC construction, but I could add a setting to make it take into account only the class="toc" h* tags when specified.
Let me know if the extension is working as you expect.
Best,
Rémi

Given @barraq's extension I'm going to close this. @vjeux If there are any adjustments or suggestions please direct issues there.  Or if it's way off the mark from what you were looking for (which I doubt) feel free to reopen.


fix ttl creation in rmb rmb client

make the tfchain request before creating the envelope
Description
After creating the envelope, we are making a request to get the user twin, this request takes some time of the envelope ttl.
Changes
we just make the tfchain request before create the envelope.
Related Issues

#1379

Checklist

[ ] Tests included
[x] Build pass
[ ] Documentation
[x] Code format and docstrings
[ ] Screenshots/Video attached (needed for UI changes)

still facing this issue https://github.com/threefoldtech/tfgrid-sdk-ts/issues/1352#issuecomment-1807082416


Add missing private header in OCMockLib.

Noticed that this header is missing from the OCMockLib target. (OCMFunctionsPrivate.h)
It shouldn't matter, but the pbxproj nazi inside me insisted on sending this PR.
Please note that OCMBoxedReturnValueProviderTests changes are done automatically by Xcode. There should be no asset tag on these files anyway, so I feel like the change is for better.

@erikdoe Ping?

Whee!


adapt to renku-python 1.0.0*

done @burnout87 ? which commits?

done @burnout87 ? which commits?

This. So, yes, done


question regarding handler + reverse proxy

how do i pass ctx request to reverseproxy?
how do i return ctx response of what reverseproxy returns?
i'm not sure how to pass ctx to reverse proxy etc because in fasthttp it's just a simple &ctx or *ctx copy around but how does this work with hertz?
with reference below. sorry, if i can figure out then i guess conversion is easier.
package main

import (
	"context"

	"github.com/cloudwego/hertz/pkg/app"
	"github.com/cloudwego/hertz/pkg/app/client"
	"github.com/cloudwego/hertz/pkg/app/server"
	"github.com/cloudwego/hertz/pkg/network/standard"
	"github.com/hertz-contrib/reverseproxy"
)

func main() {

	h := server.New()
	h.Use("/", ProxyHandlerTemp)
	h.Spin()

}

func ProxyHandlerTemp(c context.Context, ctx *app.RequestContext) {

	ctx.Request.Header.Set("Hello", "123")
	//how do i pass ctx request to reverseproxy?

	h := server.New()
	rp, _ := reverseproxy.NewSingleHostReverseProxy("https://localhost:8082/test", client.WithDialer(standard.NewDialer()))
	h.Any("/", rp.ServeHTTP)
	h.Spin()

	//how do i return ctx response of what reverseproxy returns?

	ctx.Response.Header.Set("Goodbye", "321")

}

not support and you can refer to https://www.cloudwego.io/docs/hertz/tutorials/basic-feature/proxy/#reverse-proxy and use SetDirector and  SetModifyResponse

@li-jin-gou can you provide an example of how to transfer from the reverse proxied results to the current h.Use() handler?
what's the ideal way to get the "fastest" response from the reverse proxy with/without the handler function?

@li-jin-gou can you provide an example of how to transfer from the reverse proxied results to the current h.Use() handler? what's the ideal way to get the "fastest" response from the reverse proxy with/without the handler function?

cc @Skyenought

i just realised i cannot do/use http2 + reverse proxy together

c, _ := client.NewClient()
	c.SetClientFactory(factory.NewClientFactory(
		config.WithDialer(standard.NewDialer()),
		config.WithTLSConfig(&tls.Config{InsecureSkipVerify: true})))

proxy, err := reverseproxy.NewSingleHostReverseProxy("http://<IP_ADDRESS>:8000/proxy")
    if err != nil {
        panic(err)
    }

proxy.SetClient(c)

same to https://github.com/cloudwego/hertz/issues/407
A slight adjustment to its logic is all that is required. however, I would like to remind you that you need to read the documentation yourself and we will add examples where possible.

@li-jin-gou您能否提供一个示例，说明如何从反向代理结果转移到当前的 h.Use() 处理程序？从有/没有处理函数的反向代理获得“最快”响应的理想方法是什么？

抄送@Skyenought @L2ncE

I think this example needs to be added.

please assign to me.

please assign to me.

thanks


Want to pass custom request request code as shown in git document

Hi
what I am trying to do is in same page got 3 different images to capture,in latest version I am unable to pass request code in
ImagePicker.Companion.with(this)
.crop()
.cropOval()
.maxResultSize(512, 512, true)
.createIntentFromDialog((Function1) (new Function1() {
public Object invoke(Object var1) {
this.invoke((Intent) var1);
return Unit.INSTANCE;
}
public final void invoke(@NotNull Intent it) {
Intrinsics.checkNotNullParameter(it, "it");
launcher.launch(it);
}
}));
I want to pass custom request code as show in your git document and on launcher I can capture as per request code shown below
ActivityResultLauncher launcher =
registerForActivityResult(new ActivityResultContracts.StartActivityForResult(), (ActivityResult result) -> {
if (result.getResultCode() == RESULT_OK) {
//here I want to check request code so that I can use my logic
} else if (result.getResultCode() == ImagePicker.RESULT_ERROR) {
// Use ImagePicker.Companion.getError(result.getData()) to show an error
}
});

.start()
this command is not available in new version


Use HTTPS for Maven POM Schema

Overview
The other things are namespace declarations
and are not retrievable resources, hence must remain intact.
Also, remove tidy-maven-plugin: it forbids HTTPS in schema location, required
by the Maven POM Convention.
See also:

ECR-4051
ECR-4052

Definition of Done

[x] There are no TODOs left in the code
[x] Changelog is updated if needed (in case of notable or breaking changes)
[ ] The continuous integration build passes

Coverage remained the same at 86.717% when pulling 52b6df9c589991c3e109a0f4f894f60810c784ba on dmitry-timofeev:use-https-for-pom-schema into 642ca6f8777eec4ddc88fd762c45f437e66c2ceb on exonum:master.


Vouchers

Context

Vouchers are signed payloads provided by an issuer
Vouchers can be claimed via a claim code
Once a voucher is claimed, an update is made in the usedVouchers registry
usedVouchers registry used the voucherHash as it's key, to represent the unique hash of a voucher

We better generate really good vouchers though!: https://arstechnica.com/information-technology/2016/02/password-cracking-attacks-on-bitcoin-wallets-net-103000/


fix(paresr): do not report missing initializer error in ambient context

closes #5958

#6020  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @Boshen and the rest of your teammates on  Graphite


Remove libunwind in conanfile

Libunwind is useless and will cause Mac problems and this PR removes it

/kind improvement

/lgtm


Simplify containers that didn't use the Commanders Act API to store data

Description
Uses the internal variable that creates and stores the UPD ID, in order to remove the complexity introduced in some containers.

The complexity from the livecenter pages container was removed.


Consider renaming the project

@davidlenfesty would you support the renaming proposal that is currently being voted on? Shall the maximum renaming option be accepted, this project will likely have to adopt a new name.

Yeah I've been noodling it a little bit. The most likely option is just go with cyphal.rs, as that doesn't require any creativity on my part but I haven't come close to any actual ideas.

@davidlenfesty @thirtytwobits it is time to go ahead and rename the project. I believe David already has the required access privileges so please go ahead and do it unless there are objections.


Boolean MySQL migration vs. auto-model-attribute-typecast inconsistency

TINYINT(1) column is created using $this->boolean() in migration
BIT(1) column is type-casted to bool during model population (TINYINT(1) column is type-casted as integer)

@rob006 @bizley What would be the best way to solve this problem.

I would check typecasting process.

Maybe we should have the same condition in MySQL Schema as for SQLite:
https://github.com/yiisoft/yii2/blob/5f3d36ea21dfc7b39d1c438e85971f03bf43f193/framework/db/sqlite/Schema.php#L333

Maybe we should have the same condition in MySQL Schema as for SQLite:
https://github.com/yiisoft/yii2/blob/5f3d36ea21dfc7b39d1c438e85971f03bf43f193/framework/db/sqlite/Schema.php#L333

The change seems correct to me, but it will be BC, since it currently returns integer, i think it would be correct, and the other dbms return integer too, It would also be correct to normalize it.
https://github.com/yiisoft/yii2/blob/5f3d36ea21dfc7b39d1c438e85971f03bf43f193/tests/framework/db/SchemaTest.php#L431,

If you look at the mysql documentation, you can see that this data type can be -128...127 signed and 0...255 unsigned. tinyint(1) doesn't equal the boolean type and this change will potentially break a lot of projects
https://dev.mysql.com/doc/refman/8.0/en/integer-types.html

Why would you use tinyint(1) if you want just tinyint? Defining length does not create any additional constrains and does not make data more compact.

Document https://github.com/yiisoft/yii2/blob/6804fbeae8aa5f8ad5066b50f1864eb0b9d77849/framework/db/QueryBuilder.php#L1183

I also stumbled upon this ... and I asked myself the following question:
Why did $this->boolean() in migrations not simply create a BIT(1) column? Which was always typecasted to boolean.

Why would you use tinyint(1) if you want just tinyint? Defining length does not create any additional constrains and does not make data more compact.

For new projects this would be fine, but I think @VladimirRakovich comment was about existing projects, where model values are now boolean instead of integer - this should be a concern, especially with PHP 8.1 and above.

@samdark

As for doing it at schema level, it may break things.

https://github.com/yiisoft/yii2-gii/issues/440#issuecomment-788069836
Why did you change your mind :) ?

I think this is because of MySQL docs where it was mentioned as a preferred implementation of boolean column (I hope I remember it correctly and not making it up).

This is an old bug, which was fixed according to the Yii2 documentation, so it is complicated to make any corrections to the master branch.

For new projects this would be fine, but I think @VladimirRakovich comment was about existing projects

My questions stands also for existing projects - why would you specify length as 1 for tinyint? It does not have any practical effect, and for me it was always used to indicate that this is a boolean column.

My questions stands also for existing projects - why would you specify length as 1 for tinyint? It does not have any practical effect, and for me it was always used to indicate that this is a boolean column.

Yeah, but this also works the other way :)
Since it has no practical effect why bother; or maybe you work against an existing database where this is actually used to store values from 0, 255. Such an application would be completely broken.

I think this is because of MySQL docs where it was mentioned as a preferred implementation of boolean column (I hope I remember it correctly and not making it up).

It's here: https://dev.mysql.com/doc/refman/8.0/en/numeric-type-syntax.html
But the alias does not really apply vice-versa.

Do we have a way to overwrite this detected type in somewhat convenient manner? I still think that tinyint(1) should be treated as bool by default, but it would be worth to add a way to overwrite detected type and handle edge cases when tinyint(1) actually represents a number.

IMHO it is simply wrong to assume in the schema that EVERY tinyint col (no matter if with or without length) is a boolean.
https://github.com/terabytesoftw/yii2/blob/b40de6a5380819472f5bde6c5d120e9c83146c87/framework/db/mysql/Schema.php#L282
this is valid (My)SQL and the state column is clearly NOT a boolean.
CREATE TABLE `dev1` (
       `id` int(11) NOT NULL,
       `state` tinyint(1) unsigned DEFAULT 0,
       PRIMARY KEY (`id`)
  ) ENGINE=InnoDB;

INSERT INTO `dev1` (`id`, `state`) VALUES (1, 255);

select * from `dev1`;
+----+-------+
| id | state |
+----+-------+
|  1 |   255 |
+----+-------+

And for MySQL the length param for tinyint has no effect. The possible range of values is only dependent on signed or unsigned.

If you are right in this case, we can fix it

How? Column schema does not check what values are stored in this column.

If you are right in this case, we can fix it

How? Column schema does not check what values are stored in this column.

https://github.com/yiisoft/yii2/blob/6804fbeae8aa5f8ad5066b50f1864eb0b9d77849/framework/db/mysql/Schema.php#L282

If you are right in this case, we can fix it

How? Column schema does not check what values are stored in this column.

And even if you look at what is stored so far, how is schema supposed to know what i want to store tomorrow?

That is why I propose a way to define types of columns in config and keep current type detection as a fallback. For me this guessing  PHP type from DB schema was always a bit too magic, I would prefer to keep these definitions as part of the code with explicitly defined defaults or types.

Example and discussion from a non-PHP project: https://github.com/metabase/metabase/issues/3506
tldr: They implemented a driver flag tinyInt1IsBit=false where TINYINT(1) columns treated as numbers instead of booleans.
We have the manual saying TINYINT(1) and BOOLEAN are synonyms, although it is not enforced on db-level.
So you could argue, that using TINYINT(1) for values other than 0 and 1 is "wrong" - but yeah, this is more a made-up argument.

I just did a test for the boolean column, it is a Yii2 mapping, which phpTypeCast will always return a boolean value, be it tinyint(1) or bit(1), in any case as I said before,

Just for the record ... I did some tests on the db-level.

column       length
-------------------------
tiny1        1
tinynolen    4
tiny5        5
tiny0        4

tinyint and tinyint(0) is tinyint(4)

@terabytesoftw
sorry, but if it is boolean or not has nothing to do with signed or unsigned. the signed/unsigned flag "just" define the possible range for tinyint.
https://dev.mysql.com/doc/refman/8.0/en/integer-types.html
Still valid SQL but still NO boolean col:
CREATE TABLE `dev1` (
       `id` int(11) NOT NULL,
       `state` tinyint(1) DEFAULT 0,
       PRIMARY KEY (`id`)
  ) ENGINE=InnoDB;

INSERT INTO `dev1` (`id`, `state`) VALUES (1, 127);

select * from dev1;
+----+-------+
| id | state |
+----+-------+
|  1 |   127 |
+----+-------+

To be clear: i understand the problem, that MySQL has no real boolean column type, and that the docs state that boolean "is" a tinyint(1), but the assumption the other way around, that every tinyint(1) is a boolean is simply wrong.

related:
https://github.com/yiisoft/yii2/pull/9339
https://github.com/yiisoft/yii2/pull/9324
https://github.com/yiisoft/yii2/issues/15471
https://github.com/yiisoft/yii2/pull/9324#issuecomment-128127967
Yii2 not only supports Mysql 8, it also supports the legacy versions.

That is why I propose a way to define types of columns in config and keep current type detection as a fallback. For me this guessing PHP type from DB schema was always a bit too magic, I would prefer to keep these definitions as part of the code with explicitly defined defaults or types.

@rob006 How would that look like?
Also related in general:

https://github.com/propelorm/Propel2/issues/1490

related:
#9339 #9324 #15471 #9324 (comment)

https://github.com/yiisoft/yii2/pull/9339#issuecomment-485972726
:slightly_smiling_face:

btw in Yii3 we use bit(1), but that here would be BC.

if it is correct that tinyint(1) would be synonymous with boolean, but not tinyint(1) unsigned which would be integer, then for me two solutions.

boolean is "stored" as integers 0|1 in a tinyint col because there is no real boolean type
tinyint signed or unsigned are integers not booleans

see: https://github.com/yiisoft/yii2/issues/19808#issuecomment-1787325152
Why here, because of this one word synonyms from the doc, it is pretended that there is a defined column data type Boolean, and that this Boolean type is tinyint(1), I honestly don't understand. MySQL has no defined storage type for boolean. If there would be one, it would surely be called boolean and stored as boolean and it would not be allowed to store an integer 42 in this col.
Just open a MySQL and try it yourself what you can write into a tiniyint field and what you get out of it.
If you still think it's a good idea to always cast the value from a tinyint(1) column to the php type boolean, go ahead.
This would be obviously a bug and will potentially break perfectly valid code, but hey, we would have a boolean or at least we could pretend that it is so.
I'm out.

if it is correct that tinyint(1) would be synonymous with boolean, but not tinyint(1) unsigned which would be integer, then for me two solutions.

boolean is "stored" as integers 0|1 in a tinyint col because there is no real boolean type
tinyint signed or unsigned are integers not booleans

see: #19808 (comment)
Why here, because of this one word synonyms from the doc, it is pretended that there is a defined column data type Boolean, and that this Boolean type is tinyint(1), I honestly don't understand. MySQL has no defined storage type for boolean. If there would be one, it would surely be called boolean and stored as boolean and it would not be allowed to store an integer 42 in this col.
Just open a MySQL and try it yourself what you can write into a tiniyint field and what you get out of it.
If you still think it's a good idea to always cast the value from a tinyint(1) column to the php type boolean, go ahead.
This would be obviously a bug and will potentially break perfectly valid code, but hey, we would have a boolean or at least we could pretend that it is so.
I'm out.

The first thing I must clarify is that I have not said that there is a boolean type in MYSQL, simply by not having a specific type a mapping is made, and this is the Framework specification, you can consult QueryBuilder in getColumnType, if it is correct or not, It's another discussion, it simply refers me to the existing documentation, keep in mind that this also handles legacy versions of mysql, where in the previous documentation it said that tinyint(1) was synonymous with boolean, i'm not making it up.

@terabytesoftw

If you do the test, using the Framework, you will see that it only saves 0 and 1, when you use $this->boolean().

How would the framework do that? Aren't you able to set $model->is_something = 5 and save that.
In a project I have columns defined in migration with $this->boolean() and my expectation was that I can easily work with true and false - but that is not the case, firstly gii generates an integer validator, which prevents me from setting true/false, secondly values from the db are also integersin the model.

@terabytesoftw

If you do the test, using the Framework, you will see that it only saves 0 and 1, when you use $this->boolean().

How would the framework do that? Aren't you able to set $model->is_something = 5 and save that.
In a project I have columns defined in migration with $this->boolean() and my expectation was that I can easily work with true and false - but that is not the case, firstly gii generates an integer validator, which prevents me from setting true/false, secondly values from the db are also integersin the model.

The framework works this way in this case, you can read the code and documentation, where it clearly says that tinyint(1) works with 0 for false, 1 for true, the framework does the typeCast, this is how it works for this case, In Yii3 to eliminate ambiguity we use bit(1), and that is why I asked here how the best way to solve it would be, since here applying bit(1) would be BC, but it eliminates the ambiguity.

https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-19.html
The type is . MySQL Connectors make the assumption that columns originated as columns; this exception enables them to continue to make that assumption. TINYINT(1)TINYINT(1)BOOLEAN

@samdark @bizley IMHO, the changes in #20045 should be reverted, there's just too much what could break.
Ie. all models generated with gii which have a property for a tinyint(1) column have IntegerValidators, but the value would now be a boolean. And this is just one example.

Yes, i agree, this commit should be reverted.


help me!!!!

Fixed in 1.19.3+k3s2, thanks!
I updated the version but still getting the error
Originally posted by @japsu in https://github.com/k3s-io/k3s/issues/2470#issuecomment-721197436

Is this a legitimate issue? If so, please fill out the issue template:
https://github.com/k3s-io/k3s/issues/new?assignees=&labels=&template=bug_report.md&title=


Rubocop integration

Updated numerous files to become compliant with Samvera style guide (approx. 81 issues remain)
Updated Gemspec file
1.) Added Authors
2.) Added bixby gem to development dependencies
Added  .rubocop.yml configuration file
Added .rubocop_fixme.yml configuration file
Added .bixby_default.yml configuration file

Is .bixby_default.yml supposed to be copied into our gem?
As I understand it from the documentation, we should be able to reference the bixby's gem's .yml from our own rubocop.yml.
See https://github.com/samvera/hyrax/blob/master/.rubocop.yml#L1-L4 for example.


Update encryption-office-365-certificate-chains.md

Deleted fals information: GlobalSign Root CA - R2 -> GlobalSign Root CA R2 & GlobalSign Root CA R4 are no longer owned by GlobalSign nv-sa (GlobalSign Certification Practice Statement, 2017)
Modify information: GlobalSign Root CA names (R1, R2)
GlobalSign Root Certificates: https://support.globalsign.com/ca-certificates/root-certificates/globalsign-root-certificates

@JohanFreelancer9 - kindly do the copy editor review for this PR. Thanks

@JohanFreelancer9 - kindly do the copy editor review for this PR. Thanks

@JohanFreelancer9 @yogkumgit: There are actually 2 different certificates with the same name: DigiCert Cloud Services CA-1. The related change does not need to be enforced. Pull request that handles the change correctly: #3930 Sorry! The other information is fine in this PR.

@JohanFreelancer9 @yogkumgit: There are actually 2 different certificates with the same name: DigiCert Cloud Services CA-1. The related change does not need to be enforced. Pull request that handles the change correctly: #3930 Sorry! The other information is fine in this PR.

@kelleyvice-msft Please merge this PR. Thanks.

@kelleyvice-msft Please merge this PR. Thanks.


Minor typo fix in the banner comment

Huh, why are tests failing? Travis going nuts maybe?
Thanks for the lint 🌸

Yeah, apparently.
Thanks again <3

Yes most likely a random failure :)


Runtime crashes instead of panicking depending on subsequent code

Description:
$title. When the panicking code is used as an argument.
Steps to reproduce:
public function main() {
    int[] a = [10, 20];

    function () fn = function () {
        int _ = a[4294967295];
    };
    errFn(fn()); // no trap, should panic

    // Panics as expected when the following is commented out.
    fn = function () {
        int _ = a[127];
    };
    errFn(trap fn());
}

function errFn(error? res) {
}

Running executable

[2022-03-13 08:59:42,172] SEVERE {b7a.log.crash} - Bad local variable type
Exception Details:
  Location:
    test.main(Lio/ballerina/runtime/internal/scheduling/Strand;)Ljava/lang/Object; @1198: aload
  Reason:
    Type top (current frame, locals[64]) is not assignable to reference type
...

Affected Versions:
2201.0.1

This can be reproduced by the following code also.
public function main() {

    function () fn = function () {
    };

    errFn(fn());
    errFn(trap fn());

}

function errFn(error? res) {
}


Rename admin module

This is a continuation of https://github.com/jazzband/wagtailmenus/pull/472 to address https://github.com/jazzband/wagtailmenus/issues/459.
In particular, this:

renames the menu administration module from modeladmin to menuadmin
renames test modules with include modeladmin to now include menuadmin
updates module paths throughout

@dkirkham lmk if you need help with the rebasing or if you wanna do the honors yourself!

Hi @MrCordeiro and @schlich, it shouldn't need a rebase to merge - github says there are no conflicts and I was careful to keep these changes self contained.

Hi, I didn't mean a git rebase.
What I suggested was this: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/incorporating-changes-from-a-pull-request/about-pull-request-merges#rebase-and-merge-your-commits
It's an option next to GitHub's merge button. There are three options: default, squash merge (it adds a single commit to the main branch) and the rebase PR merge, which is akin to git merge -ff

Ah, thanks for the clarification.


vectorzied fix array_map function analyzed failed with order by clause

Proposed changes
mysql [test_query_qa]>select * from array_test order by array_max(array_map(x->x,c_array));
ERROR 1105 (HY000): errCode = 2, detailMessage = The lambda function of params must be array type, now the param of c_array is INVALID_TYPE
Issue Number: close #xxx
Problem summary
Describe your changes.
Checklist(Required)

[ ] Does it affect the original behavior
[ ] Has unit tests been added
[ ] Has document been added or modified
[ ] Does it need to update dependencies
[ ] Is this PR support rollback (If NO, please explain WHY)

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run p0


Even more Web Platform Tests

These are the last of the tests that we can put in here before we need to start tracking info such as expires outside of the document.cookie variable.

@koddsson this looks good :+1: . Is there anything holding this up from being merged?

@koddsson apologies but I ended rebasing next branch with master and it caused this branch to be out of date. Rebasing this branch with next branch should get it straight.


Create rule "ghactions-same-name"

Checks if workflow filename matches "name" attribute of the workflow.

Enable rule

{
  "rules": {
    "ghactions-same-name": true
  }
}

hey @flaviostutz I would like to do this


Undefined reference to `H5Literate'

I'm trying to compile netcdf-c for WRF and I get the following error during compilation:
...
/bin/sh ../libtool  --tag=CC   --mode=link /opt/ibm/spectrum_mpi/bin/mpicc -std=gnu11  -I/home/wtrojak/.local/pkg/hdf5/1.14.0/include -fno-strict-aliasing   -L/home/wtrojak/.local/pkg/hdf5/1.14.0/lib -L/home/wtrojak/.local/pkg/zlib/1.2.13/lib -o ncgen3 main.o load.o escapes.o getfill.o init.o genlib.o ncgeny.o ../liblib/libnetcdf.la -lhdf5_hl -lhdf5 -lm -lz -lsz -lbz2 -lzstd -lxml2 -lcurl
libtool: link: /opt/ibm/spectrum_mpi/bin/mpicc -std=gnu11 -I/home/wtrojak/.local/pkg/hdf5/1.14.0/include -fno-strict-aliasing -o .libs/ncgen3 main.o load.o escapes.o getfill.o init.o genlib.o ncgeny.o  -L/home/wtrojak/.local/pkg/hdf5/1.14.0/lib -L/home/wtrojak/.local/pkg/zlib/1.2.13/lib ../liblib/.libs/libnetcdf.so -lhdf5_hl -lhdf5 -lm -lz -lsz -lbz2 -lzstd -lxml2 -lcurl -Wl,-rpath -Wl,/home/wtrojak/.local/pkg/netcdf-c/4.9.2/lib
../liblib/.libs/libnetcdf.so: undefined reference to `H5Literate'
make[2]: *** [ncgen3] Error 1
make[2]: Leaving directory `/autofs/home/wtrojak/install/netcdf-c-4.9.2/ncgen3'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/autofs/home/wtrojak/install/netcdf-c-4.9.2'
make: *** [all] Error 2

I was wondering if anyone could provide help getting to a fix for this?
Here is the configuration command I used for netcdf-c:
export H5DIR=$HOME/.local/pkg/hdf5/1.14.0
export ZDIR=$HOME/.local/pkg/zlib/1.2.13
FC=$( which mpif90 ) \
CC=$( which mpicc ) \
CXX=$( which mpic++ ) \
./configure \
  --prefix=$HOME/.local/pkg/netcdf-c/4.9.2 \
  --disable-byterange \
  --disable-dap \
  --enable-parallel-tests \
  --enable-shared \
  --enable-hdf5

When compiling HDF5 I've tried a few different configs/cmake setups, all gave the same error during compilation. What I used in this was 1.14.0 with the following cmake command:
CC=$( which mpicc ) \
FC=$( which mpif90 ) \
CXX=$( which mpic++ ) \
cmake ../.

Try this.  Remove -DDEFAULT_API_VERSION:STRING=v110 and rebuild HDF5, then Netcdf.  After v1.10, H5Literate changed from a function to a macro with version numbered symbols.  I believe that Netcdf 4.9.2 is set up to build against the default HDF5 v1.14 API, not the v1.10 API.
https://portal.hdfgroup.org/display/HDF5/Migrating+from+HDF5+1.10+to+HDF5+1.12

Hi @Dave-Allured thanks for getting back to me. I initially tried without that flag and got the same error. I just deleted hdf5 and recompiled it without and I do indeed get the same error. I have also tried building netcdf-c-4.9.2 using cmake and get the same issue.
Adding the verbose make file command to cmake, this is the command that is failing:
/opt/ibm/spectrum_mpi/bin/mpicc -I/home/wtrojak/.local/pkg/hdf5/1.14.0/include -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -O -L/home/wtrojak/.local/pkg/hdf5/1.14.0/lib -L/home/wtrojak/.local/pkg/zlib/1.2.13/lib CMakeFiles/nc_test4_tst_camrun.dir/tst_camrun.c.o -o nc_test4_tst_camrun  -Wl,-rpath,/home/wtrojak/.local/pkg/zstd/1.5.5/lib64:/home/wtrojak/install/netcdf-c-4.9.2/build/liblib /usr/lib64/libm.so /usr/lib64/libz.so /home/wtrojak/.local/pkg/zstd/1.5.5/lib64/libzstd.so /usr/lib64/libbz2.so /usr/lib64/libcurl.so /usr/lib64/libxml2.so ../liblib/libnetcdf.so.19 /home/wtrojak/.local/pkg/hdf5/1.14.0/lib/libhdf5_hl.so.310.0.0 /home/wtrojak/.local/pkg/hdf5/1.14.0/lib/libhdf5.so.310.0.0 /usr/lib64/libm.so /usr/lib64/libz.so /home/wtrojak/.local/pkg/zstd/1.5.5/lib64/libzstd.so /usr/lib64/libbz2.so /usr/lib64/libcurl.so /usr/lib64/libxml2.so -ldl
../liblib/libnetcdf.so.19: undefined reference to `H5Literate'

Using ldd on libnetcdf.so.19 all the links seem to be found, and using grep on libhdf5_hl.so it seems that "H5Literate" is in there.

All right.  Please show the full output from three commands.  Add the correct path prefixes, or change directory, as needed.  Each should only be a few lines:
nm libhdf5.so    | grep H5Literate
nm libhdf5_hl.so | grep H5Literate
nm libnetcdf.so  | grep H5Literate

Below are the outputs, for some reason there is no H5Literate in hdh5 but there are H5Literate1 and H5Literate2.
$ nm /path/to/hdf5/1.14.0/lib/libhdf5.so | grep H5Literate
00000000003b3d00 T H5Literate1
00000000003b1960 T H5Literate2
00000000003b2060 T H5Literate_async
00000000003b4560 T H5Literate_by_name1
00000000003b2520 T H5Literate_by_name2

Whereas H5Literate2 is undefined in hdf5_hl
$ nm /path/to/hdf5/1.14.0/lib/libhdf5_hl.so | grep H5Literate
0000000000006440 t 00000017.plt_call.H5Literate2
                 U H5Literate2

I realise this means it's not a netcdf problem, but can you offer any suggestions on how this might be fixed?

Those symbols in libhdf5 and libhdf5_hl are what I expected for HDF5 1.14, and as described in the above migration guide.
I think I was mistaken above, suggesting that -DDEFAULT_API_VERSION:STRING=v110 might be the cause of your problem.  Regardless, it is best practice in my opinion to never specify -DDEFAULT_API_VERSION for any HDF5 build for general deployment.  This allows a single HDF5 build to remain compatible with multiple user programs, provided that older programs, made with previous HDF5 versions, use the correct API compatibility controls.
I think that your H5Literate issue stems from a problem with HDF5 header files used in the Netcdf build.  They might be misconfigured, or your build might be picking up the wrong header file from some other location.  However, I do not see the exact problem yet.

Those symbols in libhdf5 and libhdf5_hl are what I expected for HDF5 1.14, and as described in the above migration guide.
I think I was mistaken above, suggesting that -DDEFAULT_API_VERSION:STRING=v110 might be the cause of your problem. Regardless, it is best practice in my opinion to never specify -DDEFAULT_API_VERSION for any HDF5 build for general deployment. This allows a single HDF5 build to remain compatible with multiple user programs, provided that older programs, made with previous HDF5 versions, use the correct API compatibility controls.
I think that your H5Literate issue stems from a problem with HDF5 header files used in the Netcdf build. They might be misconfigured, or your build might be picking up the wrong header file from some other location. However, I do not see the exact problem yet.

When I have seen this in the past, the build has somehow picked up an incompatible mixture of includes and libraries due to a different version of HDF5 being installed system-wide and locally.  For some combinations, it will pick up one set for include and another for linking.

When I have seen this in the past, the build has somehow picked up an incompatible mixture of includes and libraries due to a different version of HDF5 being installed system-wide and locally. For some combinations, it will pick up one set for include and another for linking.

Agreed.  @WillTrojak, does your compiler have debug options to show either the expanded include file paths during compilation, or alternatively the full included text?  I think you are looking specifically for the compile of netcdf-c-4.9.2/libhdf5/hdf5open.c, which contains the single invocation of H5Literate.

Hi thanks for this it really helped. I seemingly managed to get it to compile. For anyone who has this problem with IBM XL compilers in the future, the issue was that xl was including system hdf5 headers and not the ones for the compiled HDF5. I discovered this by adding the -qlist c flag.
The issue was caused by the environment variables I set in the HDF5 lmod modulefiles relating to the include path. Specifically, the environment variables that caused the errors were CPATH and C_INCLUDE_PATH

Great!  Thanks for posting the solution for the XL compiler.  Please close this issue.

What I have found is that it's best not to use the HDF5 compatibility macros, but just switch to using the new function where available.
This means that netcdf-c should not have to specify any required compatibility macros be set.


Ubuntu (re)install instructions void of installation candidates: docker-ce, docker-ce-cli, containerd.io

File: engine/install/ubuntu.md

Linux:
Follow the official install instructions for Docker CE/EE 18.06+. If you use Docker Compose, follow the Docker Compose 1.21+ install directions.
Add your user to the docker group by using a terminal to run: sudo usermod -aG docker $USER Sign out and back in again so this setting takes effect.
-- https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack

puter@com ~/Projects/server $ sudo apt remove docker.io docker docker-engine containerd runc
[sudo] password for tim:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package 'docker-engine' is not installed, so not removed
Package 'docker' is not installed, so not removed
The following packages will be REMOVED:
  containerd docker.io runc
0 upgraded, 0 newly installed, 3 to remove and 1 not upgraded.
After this operation, 319 MB disk space will be freed.
Do you want to continue? [Y/n] y
(Reading database ... 431358 files and directories currently installed.)
Removing docker.io (19.03.6-0ubuntu1~18.04.1) ...
'/usr/share/docker.io/contrib/nuke-graph-directory.sh' -> '/var/lib/docker/nuke-graph-directory.sh'
Removing containerd (1.3.3-0ubuntu1~18.04.2) ...
Removing runc (1.0.0~rc10-0ubuntu1~18.04.2) ...
 Done
Building dependency tree
Reading state information... Done
3 packages can be upgraded. Run 'apt list --upgradable' to see them.
puter@com ~/Projects/server $ sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
Reading package lists... Done
Building dependency tree
Reading state information... Done
ca-certificates is already the newest version (20190110~18.04.1).
curl is already the newest version (7.58.0-2ubuntu3.10).
The following NEW packages will be installed:
  apt-transport-https gnupg-agent software-properties-common
0 upgraded, 3 newly installed, 0 to remove and 3 not upgraded.
Need to get 15.3 kB of archives.
After this operation, 211 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://packages.linuxmint.com tricia/upstream amd64 software-properties-common all <IP_ADDRESS> [8,772 B]
Get:2 http://archive.ubuntu.com/ubuntu bionic-updates/universe amd64 apt-transport-https all 1.6.12ubuntu0.1 [1,692 B]
Get:3 http://archive.ubuntu.com/ubuntu bionic-updates/universe amd64 gnupg-agent all 2.2.4-1ubuntu1.3 [4,876 B]
Fetched 15.3 kB in 0s (46.7 kB/s)
Selecting previously unselected package apt-transport-https.
(Reading database ... 431101 files and directories currently installed.)
Preparing to unpack .../apt-transport-https_1.6.12ubuntu0.1_all.deb ...
Unpacking apt-transport-https (1.6.12ubuntu0.1) ...
Selecting previously unselected package gnupg-agent.
Preparing to unpack .../gnupg-agent_2.2.4-1ubuntu1.3_all.deb ...
Unpacking gnupg-agent (2.2.4-1ubuntu1.3) ...
Selecting previously unselected package software-properties-common.
Preparing to unpack .../software-properties-common_<IP_ADDRESS>_all.deb ...
Unpacking software-properties-common (<IP_ADDRESS>) ...
Setting up apt-transport-https (1.6.12ubuntu0.1) ...
Setting up gnupg-agent (2.2.4-1ubuntu1.3) ...
Setting up software-properties-common (<IP_ADDRESS>) ...
puter@com ~/Projects/server $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
OK
puter@com ~/Projects/server $ sudo apt-key fingerprint 0EBFCD88
pub   rsa4096 2017-02-22 [SCEA]
      9DC8 5822 9FC7 DD38 854A  E2D8 8D81 803C 0EBF CD88
uid           [ unknown] Docker Release (CE deb<EMAIL_ADDRESS>sub   rsa4096 2017-02-22 [S]

puter@com ~/Projects/server $ inxi
CPU: Quad Core AMD A6-7310 APU with AMD Radeon R4 Graphics (-MCP-)
speed/min/max: 1796/1000/2000 MHz Kernel: 4.15.0-118-generic x86_64 Up: 1d 7h 46m
Mem: 9425.8/10907.9 MiB (86.4%) Storage: 111.79 GiB (78.3% used) Procs: 344
Shell: bash 4.4.20 inxi: 3.0.32
puter@com ~/Projects/server $ sudo add-apt-repository "deb [arch=amd64] https://download.docker/com/linux/ubuntu $(lsb_release -cs) stable"
puter@com ~/Projects/server $ sudo apt update
Ign:1 http://packages.linuxmint.com tricia InRelease
Hit:2 http://packages.linuxmint.com tricia Release
Hit:3 http://ppa.launchpad.net/phoerious/keepassxc/ubuntu bionic InRelease
Get:4 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]
Ign:5 http://dl.google.com/linux/webdesigner/deb stable InRelease
Hit:6 http://packages.microsoft.com/repos/vscode stable InRelease
Hit:7 http://archive.canonical.com/ubuntu bionic InRelease
Hit:8 http://archive.ubuntu.com/ubuntu bionic InRelease
Hit:9 http://dl.google.com/linux/webdesigner/deb stable Release
Hit:10 http://apt.postgresql.org/pub/repos/apt bionic-pgdg InRelease
Get:11 http://archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB]
Err:12 https://download.docker/com/linux/ubuntu tricia InRelease
  Could not resolve 'download.docker'
Hit:14 https://deb.nodesource.com/node_13.x bionic InRelease
Get:15 http://archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB]
Fetched 252 kB in 4s (67.1 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
3 packages can be upgraded. Run 'apt list --upgradable' to see them.
W: Failed to fetch https://download.docker/com/linux/ubuntu/dists/tricia/InRelease  Could not resolve 'download.docker'
W: Some index files failed to download. They have been ignored, or old ones used instead.
puter@com ~/Projects/server $ sudo apt install docker-ce docker-ce-cli containerd.io
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package docker-ce is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'docker-ce' has no installation candidate
E: Unable to locate package docker-ce-cli
E: Unable to locate package containerd.io
E: Couldn't find any package by glob 'containerd.io'
E: Couldn't find any package by regex 'containerd.io'

Looks like you're trying to install Ubuntu packages on Linux Mint. While those may work, you need to manually update the release version with the Ubuntu version that matches your Mint version (see the "other distro versions on this page: https://docs.docker.com/engine/install/);
This step automatically sets the release-version, but expects you're running that on an Ubuntu machine;
sudo add-apt-repository "deb [arch=amd64] https://download.docker/com/linux/ubuntu $(lsb_release -cs) stable"

On your machine, this produces tricia. which is not an ubuntu release version;
Err:12 https://download.docker/com/linux/ubuntu tricia InRelease

And therefore fails;
W: Failed to fetch https://download.docker/com/linux/ubuntu/dists/tricia/InRelease  Could not resolve 'download.docker'

I'll close this ticket, because Ubuntu and Debian derivatives are not officially supported, but I hope the info above helps you further


Add rake tasks for claiming & drafting calculator start page (a transaction)

Move the start page for the child tax benefit calculator from calculators to Publisher/Frontend.
Part of https://trello.com/c/rz7jFckZ/
This will allow content designers to make changes to the content and will make the page consistent with other start pages.

The path needs to be claimed so that Publisher can publish to it
(this will stop Calculators from publishing to that path too)
Draft a start page with content that's currently live
Delete any old artefact owned by calculators so new artefact can be created

Maintain Need IDs
Use existing content_id so that content doesn't need to be unpublished
(which would risk users not seeing the page)

Steps to switch the start page:

Merge and deploy: https://github.com/alphagov/calculators/pull/185
Run claim rake task
Run draft rake task
Preview draft, send to review, skip review then publish

cc @kevindew

Closing until https://github.com/alphagov/calculators/pull/185 is re-opened with fix.

Problem with alphagov/calculators#185 fixed, re-opening.


feat: add cnpg builder cluster parameters

Type of change:

[ ] Bugfix
[x] New feature provided
[ ] Improve performance
[ ] Backport patches

What this PR does / why we need it:

Pre-submission checklist:

[ ] Did you explain what problem does this PR solve? Or what new features have been added?
[ ] Have you added corresponding test cases?
[ ] Have you modified the corresponding document?

Codecov Report

Merging #432 (6c91e2b) into main (3604a24) will decrease coverage by 2.68%.
The diff coverage is 30.09%.

@@            Coverage Diff             @@
##             main     #432      +/-   ##
==========================================
- Coverage   39.71%   37.04%   -2.68%
==========================================
  Files          51       56       +5
  Lines        6083     6438     +355
==========================================
- Hits         2416     2385      -31
- Misses       3448     3828     +380
- Partials      219      225       +6

Impacted Files
Coverage Δ

pitr/agent/internal/handler/restore.go
0.00% <0.00%> (ø)

pitr/cli/internal/cmd/restore.go
58.33% <0.00%> (-0.99%)
:arrow_down:

pitr/cli/internal/pkg/local-storage.go
40.65% <0.00%> (-2.09%)
:arrow_down:

...tor/cmd/shardingsphere-operator/manager/manager.go
0.00% <0.00%> (ø)

...phere-operator/pkg/controllers/chaos_controller.go
0.00% <0.00%> (ø)

...perator/pkg/controllers/compute_node_controller.go
0.00% <0.00%> (ø)

...rdingsphere-operator/pkg/kubernetes/pod/builder.go
0.00% <0.00%> (ø)

...gsphere-operator/pkg/kubernetes/service/builder.go
76.92% <0.00%> (ø)

...operator/pkg/reconcile/computenode/compute_node.go
0.00% <0.00%> (-38.30%)
:arrow_down:

...re-operator/pkg/reconcile/computenode/configmap.go
0.00% <0.00%> (ø)

... and 12 more

... and 2 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Missing documentation for Account / Trade Endpoints

Hello,
Readthedocs does not mention about "Account / Trade Endpoints" on SPOT APIs list. See SPOT APIs list, there is no link to Account endpoints currently.
Searching leads to this page, which is only way to access docs for order methods.

The document is updated.
https://binance-connector.readthedocs.io/en/latest/CHANGELOG.html
Thanks


Change sorting method in Vimiv

I have some files in a directory. In e.g. file explorer Thunar they are sorted in this order:

w8.jpg
w10.jpg
w11.jpg
w89.jpg
w100.jpg
Whatsapp.jpg

In most image viewer, when I open the image w100.jpg, the next image is Whatsapp.jpg to be displayed.
In vimiv, when I view w100.jpg file. Then the next image to be shown will be w10.jpg. I would expect the file Whatsapp.jpg  in alphabetically order. the The way vimiv select the next image in line is very confusing.
For the other fileviewer like feh, you can change the sorting option  with the -S/--sort option according to their manual. Would it be possible to enable logical sorting in vimiv, or adjust it via configuration?

Hey and thanks for your interest in vimiv!
In case you are actually still using the Gtk version, this will unfortunately not be implemented here. We made the switch to Qt a while ago and are only actively improving this version with limited time, sorry for that.
New features are thus only worked on in the Qt port. If you are able to make the switch (the Qt version has a bunch of improvements!), this is actually already implemented with the sort.image_order and sort.directory_order settings.
There is some more information on migrating available in the documentation as well. Hope this helps!


Added ISC license text

I would like to package this for fedora and I need to have license text in the tarball. Could you please merge this and release a new one?

Merged and released. Thank you!


Fedimint swap to lightning results in loss of funds. Please help recover funds.

I was trying to swap 600,000 sats from fedimint balance to lightning. It is stuck in pending status and my funds are lost. The decoded LN invoice says that the invoice is already expired.
This is a dangerous feature. How can I get my 600,000 sats back? Was I rug pulled? I'm using the "Freedom One" federation.
I think that most likely the invoice expired but Mutiny refuses to "fail" the swap, so it is stuck in pending forever.

Before anyone says "you should not have risked 600,000 in fedimint", Mutiny forces deposits to go into fedimint, I did not have a choice. I simply went to recieve and gave the sender an onchain address. It showed up and after confirmed I tried to sweep the funds from fedimint to self custody (swap to lightning).
Did I lose my funds? This is alot of sats.

Upload logs.

Mr. @TonyGiorgio thank you for your response to this. Where do I find the log files? I am using the web based app.

Emergency toolkit in the settings.

Am I safe to upload logs here or does it contain potentially sensitive info?

mutiny-logs.txt

@TonyGiorgio  I uploaded two screenshots and the log file above.

My balance does not show the 593,044 sats , and transaction is stuck in pending. I did try the "resync wallet" and "stop node" option under the admin section then close and re-open the tab to no effect.

Stuck payments can take a few days to resolve. Nothing looks out of the ordinary. If the funds are not unstuck by Monday then feel free to open again.


LCFS - Progress tracking breadcrumb on new transfers page

Description:

Add a progress tracking breadcrumb to the new transfer page.
Material UI
Statuses to include in breadcrumb for BCeID users: Draft > Sent > Submitted > Recorded
Draft is selected within the breadcrumb

Note: there will be some additional statuses included in this breadcrumb for IDIR users only and/or if the transfer is a certain status (e.g., refused, rescinded, declined)
Wireframe: https://preview.uxpin.com/59145260c7d8cc48969ac79401cc03d84843c3d9#/pages/164908152/simulate/no-panels
Purpose and benefit to user:
Enables the user to track the progress of a transfer and understand where it currently resides in terms of workflow / processing / completion
Acceptance Criteria:

[ ] Given I am a BCeID, When I am on the transfers page, then the breadcrumb should show
[ ] the breadcrumb should show 4 steps ( draft, sent, submitted, recorded ).
[ ] when a step is complete, its corresponding breadcrumb step should show the checkmark ui

Development Checklist:

[ ] In the breadcrumb component, check the current step to show appropriate icons/ui

Notes:

[ ] MUI component

Hey team! Please add your planning poker estimate with Zenhub @AlexZorkin @hamed-valiollahi @jig-patel @kevin-hashimoto @prv-proton

Note for testing: The default view for a newly created transfer should be that the progress bar is completely greyed out. Progress will then begin tracking when the user saves a draft or sends the transfer to the other organization (i.e., at a point when the transaction is created and assigned an ID #).

@justin-lepitzki Thank you for adding the testing notes. Since this feature is not yet fully functional and requires backend implementation for complete testing, I've included a few screenshots for you to preview how it will appear.

Requires BCeID user access to test.


Error using svelte-multiselect in Svelte REPL

Svelte-MultiSelect no longer works in the Svelte REPL.

@otprocta Thanks for reporting. Looks like something went wrong in the transition from v4 to v5. Just looked in the package folder at generated files. MultiSelect.svelte now has a weird remnant from a type import line
import './';

that used to be removed entirely. Not sure if that's the cause for this error. Need to investigate more. As a short-term fix, you can append package version numbers onto NPM imports. You're error disappears if you use the latest v4 release:
-  import MultiSelect from 'svelte-multiselect'
+  import MultiSelect from<EMAIL_ADDRESS>

Unfortunately these errors are hard to troubleshoot in the REPL due to lack of stack trace (outstanding issue https://github.com/sveltejs/sites/issues/173) and I can't reproduce locally.

@otprocta Small update: this might be an issue with the Svelte REPL and not with MultiSelect. Follow https://github.com/sveltejs/sites/issues/354 for further developments.

Just noticed that this issue was fixed upstream. Svelte REPL now successfully deploys the latest version 7.1.0 of Multiselect.


test: initial subxt test

alternative tests using subxt, currently using raw selector until the ABI are compatible where we can just use contract-transcode.
test cases are semantically derived from the original substrate integration tests using polkadot.js.

Started to use contract-transcode for encoding message selector, which works with the two exception:

constructor overloading will not work due to all constructors have the same name, which contract-transcode will only match the first one
transcoding U256/I256 won't work. U256 is configured with sp_core::U256 as it's custom transcoder but it won't actually use it since it's using the TypeInfo::type_info() to get the Path, which is all empty for solang runtime types. I256 is unprocessed at all.

I think this is a great effort overall!

when using constructor overloading, due to all constructors have the same name, which contract-transcode will only match the first one, currently it'll never reach the second constructor.

Options I see so far:

Introduce a custom attribute to set a name for the constructor (e.g. like the way it is done for selector), and default to new or something else when no overloading is happening and no name is given.
Mangle the name based by its arguments, would be less work to code up I guess, but ugly from a user perspective

transcoding U256/I256 won't work. U256 is configured with sp_core::U256 as it's custom transcoder but it won't actually use it since it's using the TypeInfo::type_info() to get the Path, which is all empty for solang runtime types. I256 is unprocessed at all.

U256 is not (yet) supported in ink!. The easiest solution would be if we can get it to work by using the U256 path of ethereum-types lib somehow?

@extraymond it makes me sad that we didn't go forward sooner with this PR, sorry!. I really like what you implemented here. In the long run, it would make sense to integrate this with #1061. How-ever, this should not block your nice work here. May I ask you for the favor of merging current main with this again? Then I'd be very happy to give a usual round of review and LGTM!

@extraymond it makes me sad that we didn't go forward sooner with this PR, sorry! I really like what you implemented here. In the long run, it would make sense to integrate this with #1061. How-ever, this should not block your nice work here. May I ask you for the favor of merging current main with this again? Then I'd be very happy to give a usual round of review and LGTM!

Sure! I'll be on it sometime this week.

@xermicus @seanyoung
Rebased to current master. Some failed tests are ignored as suggested. Looking forward for your review.

@xermicus  I think it would be nice to tap into debug buffer when contract trapped. It's very hard to debug why it's trapped within the test.

@xermicus I think it would be nice to tap into debug buffer when contract trapped. It's very hard to debug why it's trapped within the test.

I see what you mean; however I think this should ideally be done by contracts pallet (so the runtime executing the contract). In the contract code itself, we have limited control about trapping. We might write into the debug buffer if we know for sure we are going to trap (for example because the compiler inserts a trap manually). However, there are many other cases (OOM, invalid instructions etc) only the runtime knows or has control about.
For this to work we would need to provide the runtime debug info, but for now IIRC the contracts pallet doesn't support this.

@xermicus I think it would be nice to tap into debug buffer when contract trapped. It's very hard to debug why it's trapped within the test.

I see what you mean; however I think this should ideally be done by contracts pallet (so the runtime executing the contract). In the contract code itself, we have limited control about trapping. We might write into the debug buffer if we know for sure we are going to trap (for example because the compiler inserts a trap manually). However, there are many other cases (OOM, invalid instructions etc) only the runtime knows or has control about.
For this to work we would need to provide the runtime debug info, but for now IIRC the contracts pallet doesn't support this.

Yeah, cargo-contract does it by doing a sequential read call if a first write call failed. Maybe we should revisit it later when we have some shared lib from cargo-contract that we can directly pulled.

@seanyoung I think one of my forced push for rebase cleared your original change request. I believe I have implemented the suggestion back then.

Amazing, thank you!

@extraymond good stuff, thanks!


Always Mark Hidden conversations as Read

As a User, I would not like to see any Unread notifications on conversations that I've hidden.
So, I would like Zen Mode to automatically and continuously mark such conversations as Read when new messages are received (without showing them on screen).
Settings: this feature should be on-by-default. The user should have a way to disable it.
Add to Zen Menu a new command "Auto-read Hidden Conversations" that is checked by default. When the user clicks on it, the checkmark is removed and the feature is disabled.

Ack. added to the list to be discussesd

We decided that :

will be activated via submenu "Setting" ( in Hebrew " הגדרות")
Configuration button should look like this :

Default is On

ask №76 in tasklist
76.1 — 7h
76.1.1 — 5h
76.1.2 — 3h
The initial result of the team is 15 hours
2) In our experience, the team's estimate error is 30%.
15 x 1.3 = 20
3.) Our insurance rate is 30%.
20 x 1.3 = 26
Full optimistic estimate out of 15 pessimistic out of 26 hours

Fix estimation:Task 85

Initial estimate 10 h
10 x 1.3 = 13
Our safety stock ratio is 30%
13 x 1.3 = 17
Optimistic estimate 10 hour,pessimistic assessment 17 hours.