[Bug]: next/link hash links don't work and cause full page reload

Summary
Using next/link to link to a target on the current page does not work and causes the page to reload, e.g.
import Link from 'next/link'

function App() {
  return (

      <Link href="#example">Example</Link>

        {/* ... */}

  )
}

A link to a reproduction repository
https://github.com/bradlc/netlify-next-issue
Expected Result
Clicking on the nav links should trigger a smooth scroll down to the corresponding section. The same project deployed to Vercel shows the expected result: https://netlify-next-issue.vercel.app/
Actual Result
The page reloads and the hash is not appended to the URL: https://main--warm-banoffee-17e92b.netlify.app/
Steps to reproduce

Click one of the nav links ("One", "Two", or "Three")

Next Runtime version
4.40.1
Is your issue related to the app directory?

[X] Yes, I am using the app directory

More information about your build

[ ] I am building using the CLI
[ ] I am building using file-based configuration (netlify.toml)

What OS are you using?
None
Your netlify.toml file
No response
Your public/_redirects file
No response
Your next.config.js file

`next.config.js`
/** @type {import('next').NextConfig} */
const nextConfig = {}

module.exports = nextConfig

Builds logs (or link to your logs)

Build logs
11:53:26 AM: build-image version: 6cae66f783f2b7ff8e3a9cdbb5031761f0b47719 (focal)
11:53:26 AM: buildbot version: 6cae66f783f2b7ff8e3a9cdbb5031761f0b47719
11:53:26 AM: Fetching cached dependencies
11:53:26 AM: Failed to fetch cache, continuing with build
11:53:26 AM: Starting to prepare the repo for build
11:53:26 AM: No cached dependencies found. Cloning fresh repo
11:53:26 AM: git clone --filter=blob:none https://github.com/bradlc/netlify-next-issue
11:53:26 AM: Preparing Git Reference refs/heads/main
11:53:28 AM: Starting to install dependencies
11:53:28 AM: Python version set to 3.8
11:53:28 AM: Attempting Ruby version 2.7.2, read from environment
11:53:29 AM: Using Ruby version 2.7.2
11:53:29 AM: Started restoring cached go cache
11:53:29 AM: Finished restoring cached go cache
11:53:29 AM: go version go1.19.12 linux/amd64
11:53:30 AM: Using PHP version 8.0
11:53:31 AM: v18.17.1 is already installed.
11:53:31 AM: Now using node v18.17.1 (npm v9.6.7)
11:53:31 AM: Enabling Node.js Corepack
11:53:31 AM: Started restoring cached build plugins
11:53:31 AM: Finished restoring cached build plugins
11:53:31 AM: Started restoring cached corepack dependencies
11:53:31 AM: Finished restoring cached corepack dependencies
11:53:31 AM: No npm workspaces detected
11:53:31 AM: Started restoring cached node modules
11:53:31 AM: Finished restoring cached node modules
11:53:31 AM: Installing npm packages using npm version 9.6.7
11:53:38 AM: added 321 packages, and audited 322 packages in 6s
11:53:38 AM: 117 packages are looking for funding
11:53:38 AM:   run `npm fund` for details
11:53:38 AM: found 0 vulnerabilities
11:53:38 AM: npm packages installed
11:53:38 AM: Install dependencies script success
11:53:38 AM: Starting build script
11:53:39 AM: Detected 1 framework(s)
11:53:39 AM: next at version 13.4.19
11:53:39 AM: Section completed: initializing
11:53:40 AM:
11:53:40 AM: Netlify Build
11:53:40 AM: ────────────────────────────────────────────────────────────────
11:53:40 AM:
11:53:40 AM: ❯ Version
11:53:40 AM:   @netlify/build 29.20.6
11:53:40 AM:
11:53:40 AM: ❯ Flags
11:53:40 AM:   baseRelDir: true
11:53:40 AM:   buildId: 64e5e520ea83420259308d5b
11:53:40 AM:   deployId: 64e5e520ea83420259308d5d
11:53:40 AM:
11:53:40 AM: ❯ Current directory
11:53:40 AM:   /opt/build/repo
11:53:40 AM:
11:53:40 AM: ❯ Config file
11:53:40 AM:   No config file was defined: using default values.
11:53:40 AM:
11:53:40 AM: ❯ Context
11:53:40 AM:   production
11:53:40 AM:
11:53:40 AM: ❯ Installing plugins
11:53:40 AM:    -<EMAIL_ADDRESS>11:53:50 AM:
11:53:50 AM: ❯ Using Next.js Runtime - v4.40.1
11:53:51 AM:
11:53:51 AM: @netlify/plugin-nextjs (onPreBuild event)
11:53:51 AM: ────────────────────────────────────────────────────────────────
11:53:51 AM:
11:53:51 AM: No Next.js cache to restore.
11:53:51 AM: Netlify configuration property build.environment.NEXT_PRIVATE_TARGET value changed.
11:53:51 AM:
11:53:51 AM: (@netlify/plugin-nextjs onPreBuild completed in 14ms)
11:53:51 AM:
11:53:51 AM: Build command from Netlify app
11:53:51 AM: ────────────────────────────────────────────────────────────────
11:53:51 AM:
11:53:51 AM: $ npm run build
11:53:51 AM: ><EMAIL_ADDRESS>build
11:53:51 AM: > next build
11:53:51 AM: - warn No build cache found. Please configure build caching for faster rebuilds. Read more: https://nextjs.org/docs/messages/no-cache
11:53:51 AM: - info Creating an optimized production build...
11:53:58 AM: - info Compiled successfully
11:53:58 AM: - info Linting and checking validity of types...
11:53:59 AM: - info Collecting page data...
11:54:06 AM: - info Generating static pages (0/4)
11:54:06 AM: - info Generating static pages (1/4)
11:54:06 AM: - info Generating static pages (2/4)
11:54:06 AM: - info Generating static pages (3/4)
11:54:06 AM: - info Generating static pages (4/4)
11:54:08 AM: - info Finalizing page optimization...
11:54:08 AM: Route (app)                                Size     First Load JS
11:54:08 AM: ┌ ○ /                                      10.3 kB        88.8 kB
11:54:08 AM: └ ○ /favicon.ico                           0 B                0 B
11:54:08 AM: + First Load JS shared by all              78.4 kB
11:54:08 AM:   ├ chunks/596-c294a7d39d9fe754.js         26.1 kB
11:54:08 AM:   ├ chunks/fd9d1056-a99b58d3cc150217.js    50.5 kB
11:54:08 AM:   ├ chunks/main-app-4194e38343a84834.js    219 B
11:54:08 AM:   └ chunks/webpack-cc3be81513004e4d.js     1.64 kB
11:54:08 AM: Route (pages)                              Size     First Load JS
11:54:08 AM: ─ ○ /404                                   182 B          76.4 kB
11:54:08 AM: + First Load JS shared by all              76.3 kB
11:54:08 AM:   ├ chunks/framework-8883d1e9be70c3da.js   45.1 kB
11:54:08 AM:   ├ chunks/main-6faadd80e6ce24f9.js        29.4 kB
11:54:08 AM:   ├ chunks/pages/_app-52924524f99094ab.js  195 B
11:54:08 AM:   └ chunks/webpack-cc3be81513004e4d.js     1.64 kB
11:54:08 AM: ○  (Static)  automatically rendered as static HTML (uses no initial props)
11:54:08 AM:
11:54:08 AM: (build.command completed in 16.8s)
11:54:08 AM:
11:54:08 AM: @netlify/plugin-nextjs (onBuild event)
11:54:08 AM: ────────────────────────────────────────────────────────────────
11:54:08 AM:
11:54:08 AM: Moving static page files to serve from CDN...
11:54:08 AM: Moved 4 files
11:54:08 AM: You are not using Netlify Edge Functions for image format detection. Set env var NEXT_FORCE_EDGE_IMAGES=true to enable.
11:54:08 AM: Netlify configuration property redirects value changed to [
11:54:08 AM:   { from: '/_next/static/*', to: '/static/:splat', status: 200 },
11:54:08 AM:   {
11:54:08 AM:     from: '/_next/image*',
11:54:08 AM:     query: { url: ':url', w: ':width', q: ':quality' },
11:54:08 AM:     to: '/_ipx/w_:width,q_:quality/:url',
11:54:08 AM:     status: 301
11:54:08 AM:   },
11:54:08 AM:   { from: '/_ipx/*', to: '/.netlify/builders/_ipx', status: 200 },
11:54:08 AM:   {
11:54:08 AM:     from: '/api/*',
11:54:08 AM:     to: '/.netlify/functions/___netlify-handler',
11:54:08 AM:     status: 200
11:54:08 AM:   },
11:54:08 AM:   {
11:54:08 AM:     from: '/*',
11:54:08 AM:     to: '/.netlify/functions/___netlify-handler',
11:54:08 AM:     status: 200,
11:54:08 AM:     conditions: { Cookie: [Array] },
11:54:08 AM:     force: true
11:54:08 AM:   },
11:54:08 AM:   {
11:54:08 AM:     from: '/*',
11:54:08 AM:     to: '/.netlify/functions/___netlify-handler',
11:54:08 AM:     status: 200
11:54:08 AM:   }
11:54:08 AM: ].
11:54:08 AM:
11:54:08 AM: (@netlify/plugin-nextjs onBuild completed in 71ms)
11:54:08 AM:
11:54:08 AM: Functions bundling
11:54:08 AM: ────────────────────────────────────────────────────────────────
11:54:08 AM:
11:54:08 AM: Packaging Functions from .netlify/functions-internal directory:
11:54:08 AM:  - ___netlify-handler/___netlify-handler.js
11:54:08 AM:  - ___netlify-odb-handler/___netlify-odb-handler.js
11:54:08 AM:  - _ipx/_ipx.js
11:54:08 AM:
11:54:21 AM:
11:54:21 AM: (Functions bundling completed in 13.6s)
11:54:21 AM:
11:54:21 AM: Edge Functions bundling
11:54:21 AM: ────────────────────────────────────────────────────────────────
11:54:21 AM:
11:54:21 AM: Packaging Edge Functions from .netlify/edge-functions directory:
11:54:21 AM:  - rsc-data
11:54:24 AM:
11:54:24 AM: (Edge Functions bundling completed in 2.5s)
11:54:24 AM:
11:54:24 AM: @netlify/plugin-nextjs (onPostBuild event)
11:54:24 AM: ────────────────────────────────────────────────────────────────
11:54:24 AM:
11:54:24 AM: Next.js cache saved.
11:54:24 AM: 🧪 Thank you for testing appDir support on Netlify. For known issues and to give feedback, visit https://ntl.fyi/next-13-feedback
11:54:24 AM:
11:54:24 AM: (@netlify/plugin-nextjs onPostBuild completed in 57ms)
11:54:24 AM:
11:54:24 AM: Deploy site
11:54:24 AM: ────────────────────────────────────────────────────────────────
11:54:24 AM:
11:54:24 AM: Starting to deploy site from '.next'
11:54:24 AM: Calculating files to upload
11:54:24 AM: 9 new files to upload
11:54:24 AM: 3 new functions to upload
11:54:32 AM: Starting post processing
11:54:32 AM: Skipping HTML post processing
11:54:32 AM: Post processing - header rules
11:54:32 AM: Post processing - redirect rules
11:54:33 AM: Post processing done
11:54:33 AM: Section completed: postprocessing
11:54:32 AM: Section completed: deploying
11:54:32 AM: Site deploy was successfully initiated
11:54:32 AM:
11:54:32 AM: (Deploy site completed in 7.8s)
11:54:34 AM: Site is live ✨
11:54:32 AM:
11:54:32 AM: Netlify Build Complete
11:54:32 AM: ────────────────────────────────────────────────────────────────
11:54:32 AM:
11:54:32 AM: (Netlify Build completed in 51.8s)
11:54:33 AM: Caching artifacts
11:54:33 AM: Started saving node modules
11:54:33 AM: Finished saving node modules
11:54:33 AM: Started saving build plugins
11:54:33 AM: Finished saving build plugins
11:54:33 AM: Started saving corepack cache
11:54:33 AM: Finished saving corepack cache
11:54:33 AM: Started saving pip cache
11:54:33 AM: Finished saving pip cache
11:54:33 AM: Started saving emacs cask dependencies
11:54:33 AM: Finished saving emacs cask dependencies
11:54:33 AM: Started saving maven dependencies
11:54:33 AM: Finished saving maven dependencies
11:54:33 AM: Started saving boot dependencies
11:54:33 AM: Finished saving boot dependencies
11:54:33 AM: Started saving rust rustup cache
11:54:33 AM: Finished saving rust rustup cache
11:54:33 AM: Started saving go dependencies
11:54:33 AM: Finished saving go dependencies
11:54:33 AM: Build script success
11:54:33 AM: Section completed: building
11:54:34 AM: Uploading Cache of size 175.0MB
11:54:36 AM: Section completed: cleanup
11:54:36 AM: Finished processing build request in 1m10.338s

Function logs
No response
.next JSON files
No response

Hey @bradlc - I think this is the same issue as this: https://github.com/netlify/next-runtime/issues/2089
We're looking at various fixes at the moment that should encompass this too.
See: https://github.com/netlify/next-runtime/issues/2089#issuecomment-1689892702

Hi @bradlc
The team at Netlify have now released the new v5 Next.js runtime which has support for both pages and app router, on-demand and time-based revalidation, automatic fine-grained cache control, and automatic image optimization using Netlify's image CDN.
You can find the documentation and additional information on the new runtime here: Next.js on Netlify
The v4 runtime is now in the maintenance support phase with no new features being added. Occasional bug fixes and security patches will be applied when needed.
Thanks!


Feat: Implement  Google login

Describe the feature
Allow users to sign in  using their existing Google accounts.
@SiddharthBahuguna ,kingly assign me this issue
Add ScreenShots

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

You can start working on it.

You can start working on it.
Thanks @SiddharthBahuguna .I will start working on it now

Hi, @Raghavi-22 , I have gone through your code base, and have developed a vivid understanding. Kindly, assign me this issue, I would love to work on it.


Internal IPAddress empty when using named external network

When I use version 2 of the docker-compose format to specify a named external network registrator registers my service with an empty IPAddress. Looking at the json returned from the inspect API call the IPAddress at the top level NetworkSettings.IpAddress is empty. A further iteration is needed to iterate NetworkSettings.Networks to get the IPAdddress per named attached network. I am getting this when using the internal flag as I want the internal IP and exposed ports registered on a named private network.

+1


Show line numbers (and file names?) in error messages

Currently errors are marked by byte offsets in the file, which is not very accessible for humans. It should report line numbers instead (and probably filenames as well, if processing a split up database). Line number ranges are probably not needed - the line of the left end of the range should be sufficient.

I have two suggestions for how to add line annotations:

Modify parser::Span to include line info (line and char, as well as byte index). There are potentially quite a few Spans generated, so this could be a lot of extra info. Alternatively, just track line/char for the spans used in diagnostics (rather than for every token). Still need a way to get the info out of the parser as it arrives.

Keep a separate LineData structure, which maps lines to indexes. This can be used to look up a line number given the byte indexes stored already, on demand.

I originally tried the first method but I am now leaning toward the second after realizing how prevalent Span is for tokens everywhere. The LineData structure needs about 4 bytes per line. If it is stored as an array of line start indexes, though, it will perform poorly w.r.t adding data in the middle of the file in incremental mode, because all the indexes after the addition must be shifted. It may be possible to store instead line lengths, in a binary tree with internal nodes annotated by the sum of the children, in order to quickly calculate the total number of characters in any subset of lines.
Any thoughts?

Last time I measured this, smetamath allocates 17 MB of Span structs, representing 21% of the memory which is consumed over the baseline of just loading the file.  So I've been looking at ways to make them smaller.
LineData is the SMM2 approach which I'm planning to bring forward.  It can be done with the same level of incrementality as the parser itself, I'm fairly sure.

You might not actually want an array of line starts, because making such an array will be rather hard on branch prediction.  Rather, in the post-MacOS-EOL world, the line number at offset X in buf is just buf.iter().filter(|x| **x == 10).count().  That loop still generates a conditional, but slight variations on it don't.
Actually I've gotten line-counting loops like the one below to run at 12–13 GB/s, so a line cache is not entirely necessary, although it would improve responsiveness if you make an edit that results in 100+ notes.
fn lines(mut buf: &[u8]) -> usize {
    let mut count = 0usize;
    while buf.len() >= 128 {
        let ps: i8 = buf[0..128].iter().map(|&x| if x == b'\n' { -1i8 } else { 0i8 }).sum();
        count += ps.wrapping_neg() as u8 as usize;
        buf = &buf[128..];
    }
    let ps: i8 = buf.iter().map(|&x| if x == b'\n' { -1i8 } else { 0i8 }).sum();
    count += ps.wrapping_neg() as u8 as usize;
    count
}

Wow, that's definitely doable then. It may help to encapsulate that function in a LineData server, though, which stores the last queried offset and bases the next query on it if the new offset is larger, and otherwise resets to the beginning. That way, in the common case when you need two offsets within a line or two, or many errors throughout the file (in increasing order), you don't have to make a thousand passes through the file to compute each line number.


HomePage

I think I can make some changes to the homepage and make it more visually appealing using CSS and HTML.

Lets make Homepage more aesthetic using CSS .@shivshankar9

Since there is no updates from @smridhiwho
Assigned to @darecoder-git


event.preventDefault prevents copying of webpage text

Promise pointed out to me that by using thumbnail.js (ski.js is actually the culprit), copying text on content of the webpage using ctrl-c is compromised. Not sure if there would be a proper fix to this, but we suspect the cause is coming from the use of event.preventDefault in the keypress event functions in ski.js.
Try copying text from this webpage.

i have no clue how to fix it quickly. like, literally no idea. the issue is that when a key event occurs its target is not the canvas element, it is the body element as a whole. from my testin', it should work, but it obviously doesn't. i would have to force you to click inside the canvas whenever you wanted to interact usin' the keyboard which will take some time. expect to have a patch by April 7th.
ski.js is a poorly developed library. i thought it was rock solid in the1.6.1 release, but issue after issue PR after PR brings up the fact that there's a lot of maintenance that needs to be done. lerpColor doesn't work properly clear & background are affected by transformations. no documentation. text still doesn't have proper width an' height parameters. i appreciate every issue, so in a long-winded manner, thank you for reportin' this.

i think this has been fixed, :D! check v1.1.0 of ski.js.


shared vSphere volume across nodes

vSphere Cloud Provider supports ReadWriteOnce access mode for the persistent volumes. The Volume can be mounted as read-write by a single node. Customer needs shared volumes - across few nodes at the same time.

Customer is looking for ReadWriteMany access mode for the persistent volumes.


[lint] Remove spaces surrounding docs strings

does what it says
also remove per-file exceptions for D210

D210 reads "No whitespaces allowed surrounding docstring text"  which is found with the pydocstyle pkg
"pydocstyle is a static analysis tool for checking compliance with Python docstring conventions."
pydocstyle is used by flake with https://pypi.org/project/flake8-docstrings/
this is not an enforced linter, but we had a mix and I had a few minutes.

@ssbarnea does this meet your challenge :)


Webrtc str0m slow in twcc::max_seq

Current implement bigO is O(n) with n is queue length, with default queue length is 1000 it take 1000 times check for finding each time a rtp package incoming.
pub fn max_seq(&self) -> SeqNo {
        self.queue
            .iter()
            .map(|r| r.seq)
            .max_by_key(|r| *r)
            .unwrap_or_else(|| 0.into())
    }

It can be optimize to near O(1) by pre-calculate max_queue each time insert to queue, each time pop from queue if max_queue is pop, we will regenerate by above function

I created PR into str0m and it merged to main. https://github.com/algesten/str0m/pull/432
I will update after str0m released

Fixed


[docs] Correct version on themed example

https://github.com/mui/toolpad/blob/master/examples/core/auth-nextjs-passkey/package.json and https://github.com/mui/toolpad/blob/master/examples/core/auth-vite/package.json have "@toolpad/core": "workspace:*" configuration, but other have 'latest'. IDK if this needs to be fixed.

https://github.com/mui/toolpad/blob/master/examples/core/auth-nextjs-passkey/package.json and https://github.com/mui/toolpad/blob/master/examples/core/auth-vite/package.json have "@toolpad/core": "workspace:*" configuration, but other have 'latest'. IDK if this needs to be fixed.

Good catch, all of these should be latest. I'll correct this here


Dev to master

#189: suggest people target most PRs to master instead of dev
@Spazholio Fixing the URLs again (#191)
Other minor changes

@Spazholio fixed merge conflicts. Can I get a :+1: that this looks good to merge to master?


Awareness health api rest and transport layer changes

Description
Adding rest and transport level changes for below approved PR https://github.com/opensearch-project/OpenSearch/pull/5231
Issues Resolved
https://github.com/opensearch-project/OpenSearch/issues/5230.
Check List

[X] New functionality includes testing.

[X] All tests pass

[X] New functionality has been documented.

[X] New functionality has javadoc added

[X] Commits are signed per the DCO using --signoff
[X] Commit changes are listed out in CHANGELOG.md file (See: Changelog)

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #5694 (1b62741) into main (be64e82) will decrease coverage by 0.11%.
The diff coverage is 25.00%.

@@             Coverage Diff              @@
##               main    #5694      +/-   ##
============================================
- Coverage     71.07%   70.95%   -0.12%
- Complexity    58687    58700      +13
============================================
  Files          4763     4769       +6
  Lines        279874   280002     +128
  Branches      40408    40408
============================================
- Hits         198907   198677     -230
- Misses        64658    65096     +438
+ Partials      16309    16229      -80

Impacted Files
Coverage Δ

...awarenesshealth/ClusterAwarenessHealthRequest.java
0.00% <0.00%> (ø)

...sshealth/ClusterAwarenessHealthRequestBuilder.java
0.00% <0.00%> (ø)

.../src/main/java/org/opensearch/client/Requests.java
46.42% <0.00%> (-0.85%)
:arrow_down:

.../org/opensearch/client/support/AbstractClient.java
32.38% <0.00%> (-0.63%)
:arrow_down:

...shealth/TransportClusterAwarenessHealthAction.java
25.00% <25.00%> (ø)

...warenesshealth/ClusterAwarenessHealthResponse.java
26.38% <26.38%> (ø)

...dmin/cluster/RestClusterAwarenessHealthAction.java
27.27% <27.27%> (ø)

.../main/java/org/opensearch/action/ActionModule.java
98.25% <100.00%> (+0.01%)
:arrow_up:

.../awarenesshealth/ClusterAwarenessHealthAction.java
100.00% <100.00%> (ø)

...n/indices/forcemerge/ForceMergeRequestBuilder.java
0.00% <0.00%> (-75.00%)
:arrow_down:

... and 488 more

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

Test Failures: https://github.com/opensearch-project/OpenSearch/issues/5766

for https://github.com/opensearch-project/OpenSearch/pull/5694#discussion_r1065332827 The level takes in Enum values and the param is string to need to have a switch case here itself. The level function existed previously as well so did not modify to take String input


Optimistic updates

Current thoughts:
https://gist.github.com/nhunzaker/81aa65a6a7b496a2e6ca
Pros:

Non-breaking change
Feels like a reasonable fit within the rest of the library

Cons:

Weight of regenerator
Unfamiliarity

Outstanding questions

How does this impact the #28 life cycle method conversation

Regenerator weight might not really be an issue https://github.com/facebook/regenerator

Working against:
https://github.com/vigetlabs/microcosm/compare/optimist


New built-in utility: text

🚀 Feature Proposal
I propose a new builtin text utility, that combines font size and line height.
Motivation
I love the inspirations xstyled 2 took from Tailwind, especially the new utility style props. One thing that I'm missing is Tailwind's combination of font size and line height, which makes an awful lot of sense. Unless you have very specific design needs, these two properties are always coupled.
Example
<x.div text="xl">...</x.div> = <x.div fontSize="xl" lineHeight="xl">...</x.div>
Pitch
xstyled 2 already has a lot of builtin utilities and a default theme, which is great! I think taking more inspiration from Tailwind can carve out a niche for xstyled among the dozens of low-level CSS-in-JS libraries by providing a more complete utility-based styling solution.

Would be happy to try and open a pull request for this 🤟

Would be happy to try and open a pull request for this 🤟

Hello @AndrewPrifer, I think it is better to be able to specify a lineHeight along a fontSize and use it in fontSize utility. Tailwind does it.
I think we could use an object in theme and detect it in fontSize utility:
const theme = {
  fontSizes: {
    xs: { fontSize: '10px', lineHeight: 1.4, letterSpacing: '-0.2em' },
  }
}

What do you think?

Hello @AndrewPrifer, I think it is better to be able to specify a lineHeight along a fontSize and use it in fontSize utility. Tailwind does it.
I think we could use an object in theme and detect it in fontSize utility:
const theme = {
  fontSizes: {
    xs: { fontSize: '10px', lineHeight: 1.4, letterSpacing: '-0.2em' },
  }
}

What do you think?

Good idea! Is there a downside to not having a separate text utility though? The default tailwind theme doesn't have default line heights for font sizes, preferring instead the text utility for specifying them together. I think one reason for that could be that it'd make the fontSize utility the single utility that applies two instead of one CSS property, which is a pretty huge exception. We could support both.

Good idea! Is there a downside to not having a separate text utility though? The default tailwind theme doesn't have default line heights for font sizes, preferring instead the text utility for specifying them together. I think one reason for that could be that it'd make the fontSize utility the single utility that applies two instead of one CSS property, which is a pretty huge exception. We could support both.

@AndrewPrifer could you link me text utility in Tailwind?

@AndrewPrifer could you link me text utility in Tailwind?

@gregberge sure, right at the top on this page: https://tailwindcss.com/docs/font-size

@gregberge sure, right at the top on this page: https://tailwindcss.com/docs/font-size

Okay, I definitely misunderstood the TW docs, I thought that font size and text size were separate things. I still think however that if xstyled is going to apply both a font size and a line height property, it shouldn't be named fontSize, because it can be confusing. I think Tailwind made the right call not calling it font-xs etc.

Okay, I definitely misunderstood the TW docs, I thought that font size and text size were separate things. I still think however that if xstyled is going to apply both a font size and a line height property, it shouldn't be named fontSize, because it can be confusing. I think Tailwind made the right call not calling it font-xs etc.

@AndrewPrifer yeah we should add text instead you are right.

@AndrewPrifer yeah we should add text instead you are right.

@gregberge one thing, I did some research and there is in fact one element, the svg element that supports a text attribute. Would you like it to be called textSize instead?

@gregberge one thing, I did some research and there is in fact one element, the svg element that supports a text attribute. Would you like it to be called textSize instead?

Hey guys, would love to help look into this as well.
In all of the projects where I've used xstyled (or styled-system in some older projects before I stumbled upon this), I have always added a Text component that kind of does what is requested here.
While I'm not 100% looking in the same direction as what the main topic of this request is, I do think we can combine efforts to create something that can be more widely used.
To chip in my current workflow: I always get my designs in Figma (which is quickly becoming the nr.1 design tool). In Figma, especially in bigger products or in designs where consistency is key, designers tend to work with text styles. The results in "named" combinations for a lot of the font properties. An example output of text that has a text style applied to it:
/* Display / Semibold Heading 1 */
font-family: Silka;
font-style: normal;
font-weight: 600;
font-size: 160px;
line-height: 192px;
/* identical to box height, or 120% */

What I often end up doing, is creating a Text file that handles this, which enables me to "think more like a designer" and further close the gap between our mental models.
Below is a small excerpt of the Text component in my latest project. It's not super heavily optimized, but it does the trick. I'd love to think with you guys on how we maybe could incorporate something similar into xstyled.
import React from 'react';
import styled from 'styled-components';
import { typography, TypographyProps, space, SpaceProps } from '@xstyled/system';

const Wrapper = styled.div<{ ref }>`
  ${typography};
  ${space};
`;

const styles = {
  ...
  SemiboldHeading1: {
    fontSize: 9,
    fontWeight: 600,
    lineHeight: 1.25,
  },
  ...
};

export type Styling =
  ...
  | 'SemiboldHeading1'
  ...;

export interface TextProps extends TypographyProps, SpaceProps {
  styling: Styling | { xs: Styling; sm?: Styling; md?: Styling; lg?: Styling; xl?: Styling };
  forwardAs?: React.ElementType;
  dangerouslySetInnerHTML?: {
    __html: string;
  };
}

const Text: React.FC<TextProps> = React.forwardRef(
  ({ styling, color = 'primary.text', forwardAs, ...rest }, ref) => {
    let stylingProps;
    if (typeof styling === 'string') {
      stylingProps = styles[styling];
    } else {
      stylingProps = {
        fontSize: {},
        fontWeight: {},
        lineHeight: {},
      };
      Object.keys(styling).forEach((breakPoint) => {
        stylingProps.fontSize[breakPoint] = styles[styling[breakPoint]].fontSize;
        stylingProps.fontWeight[breakPoint] = styles[styling[breakPoint]].fontWeight;
        stylingProps.lineHeight[breakPoint] = styles[styling[breakPoint]].lineHeight;
      });
    }

    return (
      <Wrapper
        fontFamily="primary"
        color={color}
        {...stylingProps}
        {...rest}
        ref={ref}
        as={forwardAs}
      />
    );
  },
);

export default Text;

This then allows me to use the Text component as follows, automatically setting all the correct props for me to correspond with the text style used by the designer.
<Text styling="SemiboldHeading1">Hello world</Text>

Hey guys, would love to help look into this as well.
In all of the projects where I've used xstyled (or styled-system in some older projects before I stumbled upon this), I have always added a Text component that kind of does what is requested here.
While I'm not 100% looking in the same direction as what the main topic of this request is, I do think we can combine efforts to create something that can be more widely used.
To chip in my current workflow: I always get my designs in Figma (which is quickly becoming the nr.1 design tool). In Figma, especially in bigger products or in designs where consistency is key, designers tend to work with text styles. The results in "named" combinations for a lot of the font properties. An example output of text that has a text style applied to it:
/* Display / Semibold Heading 1 */
font-family: Silka;
font-style: normal;
font-weight: 600;
font-size: 160px;
line-height: 192px;
/* identical to box height, or 120% */

What I often end up doing, is creating a Text file that handles this, which enables me to "think more like a designer" and further close the gap between our mental models.
Below is a small excerpt of the Text component in my latest project. It's not super heavily optimized, but it does the trick. I'd love to think with you guys on how we maybe could incorporate something similar into xstyled.
import React from 'react';
import styled from 'styled-components';
import { typography, TypographyProps, space, SpaceProps } from '@xstyled/system';

const Wrapper = styled.div<{ ref }>`
  ${typography};
  ${space};
`;

const styles = {
  ...
  SemiboldHeading1: {
    fontSize: 9,
    fontWeight: 600,
    lineHeight: 1.25,
  },
  ...
};

export type Styling =
  ...
  | 'SemiboldHeading1'
  ...;

export interface TextProps extends TypographyProps, SpaceProps {
  styling: Styling | { xs: Styling; sm?: Styling; md?: Styling; lg?: Styling; xl?: Styling };
  forwardAs?: React.ElementType;
  dangerouslySetInnerHTML?: {
    __html: string;
  };
}

const Text: React.FC<TextProps> = React.forwardRef(
  ({ styling, color = 'primary.text', forwardAs, ...rest }, ref) => {
    let stylingProps;
    if (typeof styling === 'string') {
      stylingProps = styles[styling];
    } else {
      stylingProps = {
        fontSize: {},
        fontWeight: {},
        lineHeight: {},
      };
      Object.keys(styling).forEach((breakPoint) => {
        stylingProps.fontSize[breakPoint] = styles[styling[breakPoint]].fontSize;
        stylingProps.fontWeight[breakPoint] = styles[styling[breakPoint]].fontWeight;
        stylingProps.lineHeight[breakPoint] = styles[styling[breakPoint]].lineHeight;
      });
    }

    return (
      <Wrapper
        fontFamily="primary"
        color={color}
        {...stylingProps}
        {...rest}
        ref={ref}
        as={forwardAs}
      />
    );
  },
);

export default Text;

This then allows me to use the Text component as follows, automatically setting all the correct props for me to correspond with the text style used by the designer.
<Text styling="SemiboldHeading1">Hello world</Text>

The text utility will allow to combine all typography properties into a single style. So it will be a perfect replacement for your component.

The text utility will allow to combine all typography properties into a single style. So it will be a perfect replacement for your component.

@gregberge @JDansercoer  I fee like this is getting out of scope for the original intention of unifying properties related to text size. I believe letter spacing is already somewhat stretching it (Tailwind does it too so it is fine), but I think font family, style and weight would belong somewhere else.
I'm all for creating more utilities, but I think font size, line height and letter spacing are significantly more coupled than the rest of the properties, and that's what I'd like to target here with the textSize utility.
I propose that for that, a separate textStyles utility be created to bundle all typographic properties together, similarly to what Chakra has, and leave this utility for size only, on the analogy of Tailwind's text-{size} utilities.

@gregberge @JDansercoer  I fee like this is getting out of scope for the original intention of unifying properties related to text size. I believe letter spacing is already somewhat stretching it (Tailwind does it too so it is fine), but I think font family, style and weight would belong somewhere else.
I'm all for creating more utilities, but I think font size, line height and letter spacing are significantly more coupled than the rest of the properties, and that's what I'd like to target here with the textSize utility.
I propose that for that, a separate textStyles utility be created to bundle all typographic properties together, similarly to what Chakra has, and leave this utility for size only, on the analogy of Tailwind's text-{size} utilities.

For the name, please use "text", the attribute does not exist, only a text tag exists
About the properties that it should support, for me it should support all typographies properties

@AndrewPrifer You said Tailwind uses only text-{size} but it is not true, text-left adjust the alignment for example.
xstyled provides a similar default theme as the Tailwind one, because Tailwind one is very good and allow to build a beautiful design easily. So in default theme, we will stick to the strategy and defines the utilities provided by Tailwind, example:
const theme = {
  texts: {
    center: { textAlign: 'center' },
    lg: { fontSize: '1.125rem', lineHeight: '1.75rem' },
  }
}

But I think it is a good thing that users could use it to create all their text styles. We have the best of two worlds.
So about spec.:

text utility will have no fallback like fontSize. It will only read values from theme.
In the texts section of theme, the properties will follow their own sections, I mean texts: { lg: { fontSize: 'lg' } }, fontSizes: { lg: '1.125rem' } } should work fine

@AndrewPrifer is it OK for you, if it is I would like to say to you welcome as a xstyled maintainer!

For the name, please use "text", the attribute does not exist, only a text tag exists
About the properties that it should support, for me it should support all typographies properties

@AndrewPrifer You said Tailwind uses only text-{size} but it is not true, text-left adjust the alignment for example.
xstyled provides a similar default theme as the Tailwind one, because Tailwind one is very good and allow to build a beautiful design easily. So in default theme, we will stick to the strategy and defines the utilities provided by Tailwind, example:
const theme = {
  texts: {
    center: { textAlign: 'center' },
    lg: { fontSize: '1.125rem', lineHeight: '1.75rem' },
  }
}

But I think it is a good thing that users could use it to create all their text styles. We have the best of two worlds.
So about spec.:

text utility will have no fallback like fontSize. It will only read values from theme.
In the texts section of theme, the properties will follow their own sections, I mean texts: { lg: { fontSize: 'lg' } }, fontSizes: { lg: '1.125rem' } } should work fine

@AndrewPrifer is it OK for you, if it is I would like to say to you welcome as a xstyled maintainer!

@gregberge sounds good! Sorry for the late reply, work got in the way! I'll get on it!

@AndrewPrifer You said Tailwind uses only text-{size} but it is not true, text-left adjust the alignment for example.

I don't recall saying this, Tailwind of course has many other text utilities, my statement only regarded how the text-{size} utilities and the fontSize theme property allow for controlling all size related css properties together.
But I agree, a generic text utility that allows controlling all typographic properties would also make sense.

Yeah, the philosophy of xstyled is giving power to user, everyone build his own design system with its own convention. That's why tokens are not prefixed by "$" for example, you are free to specify it or not. It will be the same for text utility, define size or more, as you want.

@AndrewPrifer This is a really great idea! I've been fiddling with it and wanted to share in case it helps with your PR
import {x as xx, style} from '@xstyled/styled-components'
import {typography} from '@xstyled/system'

const text = style({
  prop: 'text',
  themeGet: v => ({theme}) => typography({theme, ...theme.texts[v]}),
  cssProperty: v => v,
})

export const x = xx.extend(text)

This generalizes completely if you use system in place of typography, which may not be appropriate for this new built-in, but it makes me wonder a little bit. :thinking:
For my own projects, I may personally use something like this:
import {compose, space, typography} from '@xstyled/system'
import {omit} from '@xstyled/util'

const prose = style({
  prop: 'prose',
  themeGet: v => ({theme}) => compose(space, typography)({theme, ...theme.texts[v]}),
  cssProperty: v => v,
})

const ui = style({
  prop: 'ui',
  themeGet: v => ({theme}) => typography({theme, ...theme.texts[v]}),
  cssProperty: v => v,
})

so that I can apply the same set of typographic settings between prose with accompanying margins, and ui elements without.

It will be part of v3, https://github.com/gregberge/xstyled/pull/228

Catching up with Greg's latest changes, comparing what he did to what I had suggested above.
My solution (above)Greg's solution (08369145be722607f213c5b43f6b23263e7ca1a1)
const text = style({
  prop: 'text',
  themeGet: v => ({theme}) =>
    typography({theme, ...theme.texts[v]}),
  cssProperty: v => v,
})

const text = style({
  prop: 'text',
  key: 'texts',
  cssProperty: (value) => ({theme}) =>
    typography({...value, theme}),
})

In both solutions, there is an extra layer of indirection through the theme:

my solution: both lookups in themeGet, first is theme.texts[v], second is typography passing theme as a prop
Greg's solution: first is the default themeGet resolving key, second is cssProperty calling typography

Greg's solution was enabled by this change which enables cssProperty to do the theme lookup. Previously this was impossible, hence the hackiness of my approach with the identity function.
Finally, closing the loop on my personal usage with the enhanced cssProperty (which is called css in v3), I will probably take this approach:
import {x as xx, style} from '@xstyled/styled-components'
import {compose, space, typography} from '@xstyled/system'
import {omit} from '@xstyled/util'

/**
 * prose is like xstyled "text" but it also applies margins for space-after
 */
const prose = style({
  prop: 'prose',
  key: 'texts',
  css: (value) => ({theme}) => compose(space, typography)({...value, theme}),
})

export const x = xx.extend(prose)

With this approach, I have the xstyled-provided text for UI elements, and my own prose for full-flow typography. Both use values from theme.texts but the xstyled-provided text only applies typography so it will ignore margins specified there, whereas prose will apply them.


Vector data structure

🚀 Feature
Implement vector data structure in C++.
Have you read the Contributing Guidelines on Pull Requests?
Yes
Motivation
Vector is one of the most commonly used data structure from the C++ STL library. But many people are not aware how it works.
Pitch
The implementation will have all the functions like push_back(), pop_back(), front() etc.

Can I go ahead working on this?


Authentication

Discussed in https://github.com/conference-buddy/conference-buddy-web-app/discussions/18

Originally posted by raae December  9, 2021
The yolo code on stream this week followed the React Supabase tutorial

Currently working:

authentication via github

Todo next:

combine authentication with creating a user profile
enable more providers for auth


[Analyzer] Add model explainability

Adding support for model explainability with transformer models. It should be provided via optional dependencies along with optional parameter. Following repos can be used -
https://github.com/hila-chefer/Transformer-Explainability
https://github.com/cdpierse/transformers-interpret
[Bonus work :D ] For non transformer model
https://github.com/marcotcr/lime

@lalitpagaria  I'll take up this once #75 is closed.

@shahrukhx01 Let's wait for this -
https://github.com/cdpierse/transformers-interpret/discussions/48#discussioncomment-786271


Docs Reshuffle & Mini Brain Dump

Moved class components docs into a dedicated md file for #9
Added a quick note about computed properties (Options API)
Added some examples on typing ref's.
Added a tutorial video by Modus Create

Hey I know I came out of nowhere but I left some of my thoughts, hope it's ok

Hey I know I came out of nowhere but I left some of my thoughts, hope it's ok

Yes totally and much appreciated! Will have a look through the comments properly in the morning.

@sw-yx cool for me to merge this? Then I'm gonna open up another PR focused around making these docs Vue 3 first

@chiubaca of course man! this is your show, run it how you like I am only around to give feedback


modified linear search

What kind of change does this PR introduce? (check at least one)

[ ] Bugfix
[x ] New algorithm
[ ] Optimization in previous algorithms
[ ] Code style update
[ ] Refactor
[ ] Documentation
[ ] Other, please describe:

Briefly describe the changes in this PR

Other information:

Hi @arpitgoyal27,
You just need to update your file on the same branch of the pull request, and the pull request will be updated, you don't have to close it


OAuth Providers

I would like that you add a sample for how to handle OAuth providers, like Google or GitHub, ...

I'd recommend using this: https://github.com/vercel/next.js/tree/canary/examples/auth


Fallback on create & update actions

Fallback for create and update to new and edit actions, because they are probably duplicates.

Should I follow HoundCI's style convention?

If you wouldn't mind. Another alternative would be:
action_names = Hash.new { |hash, key| hash[key] = key }.merge("create" => "new", "update" => "edit"

The problem I see with this change is that if someone has actually specified a title for update or create views, they'll want that used instead of new/edit defaults. I don't think this would manage that case?

You're right.
I thought that in a normal way, handle create and update actions - which render the same views as of new and edit actions -, the title stay the same.
If you want I can try to code something accordingly.

This is certainly an improvement. Let me ping a few people using Title and see if this will break anything for them. I'm definitely thinking that this is an improvement and my case is a minority, if anyone.

We'll want a README update to mention either the mapping (as you've written it) or a fallback (if it changes), as well as a spec to verify the behavior.

Ok, I'll update the commit asap.
I have an ugly fix in mind in order to have a specific title for these actions: use the default: option in I18n.translate (see http://guides.rubyonrails.org/i18n.html#defaults). What do you think?

This looks like a really tidy solution guys - nice work.


first two software exercises

forgot that the text wrapping would make for an ugly PR. Will try to avoid for now.

can someone merge this for me? @osg-cat ?


Need a way to test UNKNOWN result for conditional mutations

Conditional mutations are used for metadata updates now.  Conditional mutations can return a result of UNKNOWN.  The Ample code that handles conditional updates has a method that accepts a lambda for handling these unknown conditions.  This code shows an example lambda.
These lambdas in the code currently have no test.  Need to devise a way to test these and then start writing test for all of the conditions.  It is possible that Ample may need to change to make this condition more testable.

@keith-turner and I discussed this today and came up with a plan to create a prototype test Ample that can be used to run tests against a different table that is similar to how the latest Fate changes added tests to run against a different Fate instance and table than the system tablet (#4049, #4202, etc)
The goal would be to mostly use the real Ample code but to add in some points (maybe some protected methods) to allow customizing behavior and testing real code but against a different table than actual metadata. Using the real metadata table is problematic since when the mini cluster is running it writes real data and interferes with the tests and what is expected. Using a test table allows us to crate/drop and do whatever we need to test algorithms without interfering.
We are thinking something like:
Ample ample = TestAmple.create(Map.of(DataLevel.USER, "mytable"))

// use ample to setup expected data prior to test

ample.mutateTablets()...

// call metadata algorithm lke split w/ ample

split(ample, splitData)

// verify after state using test ample

ample.readTablets()

I will start working on a prototype and if I get something usable can open up a draft PR.

@keith-turner and I discussed this today and came up with a plan to create a prototype test Ample that can be used to run tests against a different table that is similar to how the latest Fate changes added tests to run against a different Fate instance and table than the system tablet (https://github.com/apache/accumulo/pull/4049, https://github.com/apache/accumulo/pull/4202, etc)

This solves a more general problem than what was described initially in the issue.  We hope this can more solve that initial problem that was described and more.  The elasicity branch stores much more state in the metadata table and being able to more comprehensively test the algorithms that modify this state stored in the metadata table will be huge improvement for verify the correctness of the elasticity changes.
Hoping the proposed design can improve existing tests like #4321, #4323, and #4352 and also make it possible to test the metadata algorithms for compaction, bulk import, split, merge, tablet location update, minor compaction, etc more comprehensively.  Without something like this it would be hard to get full coverage  for edge case for all of these metadata algorithms.


Initialize pieces on constructor

Many prototype functions and properties use it and if it hasn't been initialized it will throw error as it's undefined.

Good catch. Released as v0.63.4.
Thanks for taking the initiative on this, and sorry for not releasing this sooner. I'm currently on vacation and have spotty internet. I'm back on Dec 22.
But next time, please don't commit the built webtorrent.min.js or push any git tags. That should be done when I run npm publish. I'm going to continue keeping the power to declare releases for myself on this for now, though I may add others in the future.


Configure scores to exclude current round in totals

Closing due to the expectation that the engine will submit all finished checks at the end of each round, instead of doing it throughout the round.


Roadmap

(codename: better late than never)

doc is here https://github.com/Greavesy1899/MafiaToolkit/wiki/Roadmap-in-Mafia-II-(traffic-paths)


Adding intro pages

Added the introductory pages with their designs, and fixed the flow accordingly.

Some tests are failing - https://travis-ci.org/e2email-org/e2email/builds/144157347.
There are linter errors (some style in files needs to be fixed - you can use fixjsstlyle for that) and some test expectations are failing, suggesting the tests have not been adjusted for the new code.

LGTM style-wise.

Rebased via b0cac2d2afea


rich text boxes initilized. Working on getting to compile.

I initially wanted to use Draft.js for the rich text editor, but then I found one called "lexical" which is made by Facebook and has a bit of a cleaner UI than Draft.js, I just have to ensure that it is compatible with our current stack. As of now it doesn't compile, but I should be able to get it going within the next week or so.

Fixed up the branch and merged in joshes branch. It works now with no errors it just a plain text box. Works great just need to do this part 3: Style a header using both bold and italics. from this issue https://github.com/oss-slu/lrda_website/issues/14.
Dont worry about the button because my issue adds a button: https://github.com/oss-slu/lrda_website/issues/15


Fix the issue in rollback the migration

we have the problem "unknown table" with rollback the migration, I've made fix for that

Coverage remained the same when pulling ed851a1cbd554550bf3f911dbdb93bc41d5050b9 on forever-sumit:master into 59cd0bb3cd55a7e9981044423e22aed25fcfb567 on comfy:master.


ProgrammingArticles/RISCV: RISC-V Serves Up Open-Source Possibilities

| RISC-V Serves Up Open-Source Possibilities for the Future / Electronic Design |

#2514 closes #2495


Discussion: Why pyo3_ffi vs pyo3

Just wondering what the reasoning is for using the lower level (and much more unsafe) pyo3_ffi bindings directly rather than the nicer pyo3 wrapper on top?

An updated benchmark on __eq__:
$ python -m timeit -s "from datetime import datetime, UTC; d1 = datetime.now(); d2 = datetime.now()" "d1 == d2"
20000000 loops, best of 5: 11.1 nsec per loop
$ python -m timeit -s "from whenever import Instant; d1 = Instant.now(); d2 = Instant.now()" "d1 == d2"
20000000 loops, best of 5: 11.5 nsec per loop

using this PyO3 definition added to the example maturin_starter:
    pub fn __richcmp__(&self, value: &Bound<'_, PyAny>, _x: pyo3::basic::CompareOp) -> bool {
        true
    }

(note: I did remember to build in --release mode)
$ python -m timeit -s "from maturin_starter.submodule import SubmoduleClass; f = SubmoduleClass(); f2 = SubmoduleClass()" "f == f2"
20000000 loops, best of 5: 17.7 nsec per loop

This looks a lot better, but note that this is the performance without the actual implementation. We'd still need to add the type checking and comparing the actual value. It's better than the 40ns observed in earlier PyO3 versions though. Could be worth doing a benchmark on the full logic 🤔

@Dr-Emann I've added this to the FAQ. PyO3/ffi discussion can always be opened later as PyO3 evolves further.


Python: CJK support for text splitter

Motivation and Context
The text splitting algorithm has hardcoded values for punctuation based on ASCII punctuation (,.; etc.) Chinese and Japanese use both full-width Unicode punctuation values https://en.wikipedia.org/wiki/Halfwidth_and_Fullwidth_Forms_(Unicode_block) or ideographic punctuation.
If you give the text splitter Japanese text it will incorrectly split in the middle of sentences
The current algorithm defaults to an approximation token counter, which is partly accurate for Indo-European/Latin Alphabet languages but totally out for CJK. This tests uses the BPE token length for cl100k_base (GPT3/4)
This is the Python version of this PR
Description
This change adds some basic full-width characters and ideographic punctuation to the built-in list.
It also adds a test which checks that it splits a sentence correctly. The first part of the test string (田中の猫はかわいいですね.) is 16 tokens for cl100k_base.
Contribution Checklist

The code builds clean without any errors or warnings
The PR follows the SK Contribution Guidelines and the pre-submission formatting script raises no violations
All unit tests pass, and I have added new tests where possible
I didn't break anything!

Python 3.8 Test Coverage Report • FileStmtsMissCoverMissingsemantic_kernel/text   text_chunker.py113496%208, 231, 248, 308TOTAL536598782%
Python 3.8 Unit Test Overview

Tests
Skipped
Failures
Errors
Time

1208
11 :zzz:
0 :x:
0 :fire:
15.992s :stopwatch:

Adding [related issue] (https://github.com/microsoft/semantic-kernel/issues/5490)

Hi @marlenezw, thanks for working on this. Could you please pull latest main, and re-build the poetry lock file from the Python directory? (poetry lock --no-update)

Hi @marlenezw, since we haven't heard from you in several weeks, we will close the PR. When ready, please re-open the PR against latest code from main. Thank you.


Expected schema?

Hi,
Sorry if it's a dumb question, but quickly glancing at the site and the readme, I don't understand what kind of schema is expected for dataSet ?
Thanks

This is what I get.
My data schema is as follow:
[
  {
    "address": string
    "amount": number
    "count": number
  }
]

All right! I was looking at the wrong thing!
My issue was different, in case it helps anyone in the future, when using pnpm you must explicitly add namor as a dependency:
pnpm add sveltable namor

now everything works! Great package 💪


Nightly build fails: Pytest test_rkhunter

What happened:
Currently, the nightly builds fail for test_rkhunter on metal platforms:
FAILED base/test/test_rkhunter.py::test_rkhunter - AssertionError: Could not

Related to multiple issues within the build pipeline (e.g. no external network access, killed processes, etc.)


Non-privileged docker builds feature request

Is this a BUG REPORT or FEATURE REQUEST?:
FEATURE REQUEST
What happened:
I am planing to have a lot of argo deployments in the same cluster being separated by namespace and service accounts.
What you expected to happen:
Able to run docker in docker without privileged access and have custom secrets.
Anything else we need to know?:
https://github.com/GoogleCloudPlatform/kaniko a possible solution for this

@andreimc our dind example is just a pattern, and is by no means the only solution to doing docker builds. For example, an alternative way of doing this is to have run docker as a daemonset and simply pointed DOCKER_HOST to the node IP. The dind container used in the example (maintained by docker) mandates the use of privileged access for it to function.
Also, argo workflows are namespaced resources and the workflows are unable to access secrets outside fo their namespace, so the isolation guarantees are the same as what kubernetes provides.
I don't believe there's any feature work needed by argo workflow engine to use something like kaniko. I think it's just another pattern/example. Let us know if you think otherwise.


Implemented setLocalizedDateFormatFromTemplate

I've implemented the missing method in DateFormatter.
I've only two questions:

I've called the relative class method using explicitly the DateFormatter class, it is better using the new type(of:)?
There are no tests for the class method dateFormat(fromTemplate:opts:locale:)to get inspiration any guidance on how to add for both the class and the instance method?

I've change a mistake in which locale use in the implementation and add a simple test

@swift-ci please test and merge


Add project contributor as maintainer

Hi,
As i am a fabio project contributor an i am now using conda at my company, it could be very useful to also maintain the recipe.
Here is a PR to had my github user name to this project.

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

There are 1 too many lines.  There should be one empty line at the end of the file.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


Missing error handler on socket. TypeError: (msg || "").replace is not a function Error

I'm getting the above error when I try to run jenkins jobs using karma. Any ideas what could be causing this?
Expected behavior
karma runs angular2 tests on jenkins, they run fine on desktop.
Actual behavior
`Missing error handler on `socket`.
TypeError: (msg || "").replace is not a function
    at /home/hudson/.hudson/jobs/workspace/example/node_modules/karma/lib/reporter.js:45:23
    at onBrowserError (/home/hudson/.hudson/jobs/workspace/example/node_modules/karma/lib/reporters/base.js:58:60)
    at null.<anonymous> (/home/hudson/.hudson/jobs/workspace/example/node_modules/karma/lib/events.js:13:22)
    at emitTwo (events.js:100:13)
    at emit (events.js:185:7)
    at onKarmaError (/home/hudson/.hudson/jobs/workspace/example/node_modules/karma/lib/browser.js:95:13)
    at Socket.<anonymous> (/home/hudson/.hudson/jobs/workspace/example/node_modules/karma/lib/events.js:13:22)
    at emitOne (events.js:95:20)
    at Socket.emit (events.js:182:7)
    at Socket.onevent (/home/hudson/.hudson/jobs/workspace/example/node_modules/socket.io/lib/socket.js:335:8)
    at Socket.onpacket (/home/hudson/.hudson/jobs/workspace/example/node_modules/socket.io/lib/socket.js:295:12)
    at Client.ondecoded (/home/hudson/.hudson/jobs/workspace/example/node_modules/socket.io/lib/client.js:193:14)
    at Decoder.Emitter.emit (/home/hudson/.hudson/jobs/workspace/example/node_modules/component-emitter/index.js:134:20)
    at Decoder.add (/home/hudson/.hudson/jobs/workspace/example/node_modules/socket.io-parser/index.js:247:12)
    at Client.ondata (/home/hudson/.hudson/jobs/workspace/example/node_modules/socket.io/lib/client.js:175:18)
    at emitOne (events.js:90:13)`

Enviroment Details

Karma version (output of karma --version):
Relevant part of your karma.config.js file

node --version
v5.7.0
npm --version
3.6.0
karma version
0.13.21

Steps to reproduce the behaviour

run tests in jenkins, (independent of the tests running) the above stacktrace is displayed

Just giving an update on this issue, I eventually got console access to the build server and found the root cause of this issue.
In my files section I had the following entry
{ pattern: 'node_modules/rxjs/bundles/rx.js', included: true, watched: true }
The file name is actually Rx.js and not rx.js, this was not a problem with case insensitive windows. Fixing the filename case and everything is now consistent.
{ pattern: 'node_modules/rxjs/bundles/Rx.js', included: true, watched: true }
I appreciate any time anyone spent on this issue till now. Turns out the exception I focused in on was a symptom of the file not being found.
Thanks
Paul

Thanks for the update, and happy to hear you were able to fix it.

@dignifiedquire there's still a problem to be fixed and that is the error message. It is very unhelpful and it would be very much appreciated by the community, I'm guessing, if the quality of that was improved. As shown here, the problem was a missing file. A missing file error would be much more appropriate and helpful to users.

I have the same problem, but I already have Rx.js file with capital R. (And I'm using my desktop computer with Windows).
What else could cause for this problem?

I can answer that question: traceur-runtime.js
Or rather, the lack of it. For some bizarre reason, without the traceur-runtime.js in the mix PhantomJS blows up badly while trying to run Angular2 unit tests. This doesn't seem to be a Karma thing at all, but I thought I'd mention it here so some people could fix their problem. I installed it via bower ("bower install traceur-runtime") and included it in my karma.conf.js ("{pattern: 'bower_components/traceur-runtime/traceur-runtime.js', included: true, watched: true}") and magically PhantomJS suddenly worked just as well as Chrome had.

I had this problem a few times. I managed to fix this by checking the files: [] section in the karma.conf.js. Make sure all the sources that are needed for your application (in my case Angular2) are in that array. Just as you would add them to index.html

I can answer that question: traceur-runtime.js
Or rather, the lack of it. For some bizarre reason, without the traceur-runtime.js in the mix PhantomJS blows up badly while trying to run Angular2 unit tests. This doesn't seem to be a Karma thing at all, but I thought I'd mention it here so some people could fix their problem. I installed it via bower ("bower install traceur-runtime") and included it in my karma.conf.js ("{pattern: 'bower_components/traceur-runtime/traceur-runtime.js', included: true, watched: true}") and magically PhantomJS suddenly worked just as well as Chrome had.

@JohnMunsch shouldn't es6-shim make up for that? I'm also just getting "module is not defined" if I include it in the karma.conf.js files

I'm getting this error if I run my Karma tests from the console opened inside WebStorm IDE. The same configuration runs fine from the Terminal window on my Mac OS.

@Cuel I agree, you would think that es6-shim would cover everything. But I'm not the first to find that traceur-runtime had to be added back to the mix in order for PhantomJS to work.

If you don't want to use traceur-runtime you could try core.js which karma uses itself.

@yfain same story here, but on Windows with IntelliJ: I get this error when I try to run the command from IntelliJ console, but it runs just fine when executed from Powershell. I'm opening a ticket with Jetbrains now,

I get this error when i add 'browserify' to preprocessors.

 preprocessors: {
            'unit-test/linkers/**/!(*spec).js': ['coverage','browserify']
        }

I was getting require not found when running karma, that made me add browserify, now i get this error.

i fixed this locally by adding the following lines to karma/lib/reporter.js @ line 45:
      if ( typeof msg !== "string") {
          msg = JSON.stringify(msg);
      }

so at least there's output

https://youtrack.jetbrains.com/issue/WEB-23485?query=intellijUtil.js filed a bug to JetBrains

I am still facing this issue with node-forge.
404: /base/node_modules/node-forge/js/node-forge.js Missing error handler on socket. TypeError: (msg || "").replace is not a function     at /GE/ROBUSTA_APP/robusta-core/node_modules/karma/lib/reporter.js:45:23

thats probably because msg became an array of strings, I'll look up into it later today

@nonmanifold Issue has fixed for me

I am also getting the same issue..Tried many options but everything failed :( :(

@saranyapm Hey
Did you add any new node module and that dependency in any of your angular2 application component?
If so you have to set the path in system.config.js and karma.config.js then probably you will come out from this issue.
Sample code
system.config.js
`'node-xyz': 'node_modules/node-xyz/xyz'
karma.config.js
{pattern: 'node_modules/node-xyz/xyz.js', included: false, watched: false},
please try this

@dileepkeeppalli  No..No such module. Now I am trying only with app component. Still I am facing the same issue.


Provide Darkmode Icon/Layout (EXPOSUREAPP-4237)

I got this working on my emulator - Android 10, but both my Nokia 3 - Android 9 and Huawei Mate 8 - Android 6, are not able to open the day fragment after pressing on a specific day in the list. I get a white page for a few seconds and then I'm returned to the home screen. As a sidenote, none of my physical phones have dark mode option.

Thre's still some minor differences from the design in dark mode.

The text for the selected tabs is white in the design while it's blue in the current version.
The text 'Noch keine Personen vorhanden' is white it the design while it's grey in the current version.
The same observations go to the 'Orte' page as well.

The entry text is white in the design but grey in the current version.
Same goes for the text in 'Orte'.
The rest seems to be fine.


How to using this to Azure web app?

Currently my project using this for host a local web server.
But I wonder How can we host this to Azure Web App (window)?

I'm sorry, i know nothing about Azure.. Try asking on Stackoverflow.


cargo-near extracts wrong ABI in some cases

Hi!
I'm trying to extract the ABI of the near-sdk-rs/examples code using cargo-near. However, it seems that it extracts the wrong ABI in some cases.
When I run cargo-near in examples/cross-contract-call/high-level , the factorial function comes out view function. But it only success when n = 1, and if n>1, the following error occurs:
Error: Querying [object Object] failed: wasm execution failed with error: FunctionCallError(HostError(ProhibitedInView { method_name: "promise_batch_create" })).
It success when I use call.

cross-contract-high-level-abi.json :
"functions": [
      {
        "name": "factorial",
        "kind": "view",
        "params": {
          "serialization_type": "json",
          "args": [
            {
              "name": "n",
              "type_schema": {
                "type": "integer",
                "format": "uint32",
                "minimum": 0.0
              }
            }
          ]
        },
        "result": {
          "serialization_type": "json",
          "type_schema": {
            "$ref": "#/definitions/PromiseOrValueuint32"
          }
        }
      },

Also in the case of examples/factory-contract/high-level, kind of deploy_status_message and get_result comes out view. However when I execute that method using view, an error occurs as same in the above case. And It works well when I use call.
{
        "name": "deploy_status_message",
        "kind": "view",
        "params": {
          "serialization_type": "json",
          "args": [
            {
              "name": "account_id",
              "type_schema": {
                "$ref": "#/definitions/AccountId"
              }
            },
            {
              "name": "amount",
              "type_schema": {
                "type": "string"
              }
            }
          ]
        }
      },
      {
        "name": "get_result",
        "kind": "view",
        "params": {
          "serialization_type": "json",
          "args": [
            {
              "name": "account_id",
              "type_schema": {
                "$ref": "#/definitions/AccountId"
              }
            }
          ]
        },
        "callbacks": [
          {
            "serialization_type": "json",
            "type_schema": {
              "type": "null"
            }
          }
        ],
        "result": {
          "serialization_type": "json",
          "type_schema": {
            "$ref": "#/definitions/Promise"
          }
        }
      },

I'm not sure but I think that abi is extracted like this in the case of a cross-contract call. Could you check this issue?

This is a part of a bigger problem where near-sdk-rs decides whether a function is call or view purely based on how self is borrowed. In this case, factorial borrows &self, which indicates that this is a view function. This is obviously false though as the function makes a cross-contract call. We could add an ad-hoc case where we check the return and mark functions as call if the return type is Promise.
The long-term fix would probably have to be explicit #[call]/#[view] annotations for all functions.
CC @miraclx @austinabell

@itegulov
Oh, I see. Thank you for your answer!
And also I wonder when this issue can be resolved👀


Scalar power operators?

I'm not sure if this should be a new issue.  It's closely related to #21.
I was experimenting with the 3D plotting examples in Tutorial 4.  That page still uses the old operator system, but that’s just a temporary problem.
The first 3D example includes this expression:
let z0 = Mat.(sin ((x **@ 2.) +@ (y **@ 2.))) in
+@ is now + in Mat.  I think that **@ refers to the function now called pow1, which raises each element of a matrix to a scalar power, but I don’t think that pow1 or pow0 (similar, but with arguments in the other order) are assigned to operators in Mat now.  This might be intended, but I thought I'd mention it in case it's an oversight.

Thanks for pointing it out. I have fixed the Plot tutorial. There are also some adjustments made to the APIs. pow0 and pow1 are now changed to pow_scalar and scalar_pow, you can use $ and $ correspondingly. Of course if you Ext module, then you always use ** and not need to worry about which is scalar and which is matrix.
The reason I didn't assign any operators to pow0 and pow1 before is because their naming need to be changed to be consistent with other operations in Owl (e.g. scalar_add and add_scalar). Thanks again for pointing it out.


Upon Purchase of Opposite Share, Going from NO->YES or YES->NO, Enforce Sale of Held Shares

Re:
https://github.com/qznc/prema/blob/master/source/app.d#L469
Basically, we're going to enforce that when you already hold shares in a market, let's say X NO shares, then buying Y YES shares would be equivalent to selling W = abs(X-Y) of NO shares first, then going through and buying the remainder of the YES shares at the resultant price.
The natural extension of this should be that users cannot simultaneously hold YES and NO Shares, it is enforced by the market mechanisms.
"Forcing a sell" ... more:

Forcing a Sell Before Buying the Opposite Position: This approach simplifies the user's position to be either in favor of YES or NO, making it straightforward to manage from both the user's and the market's perspective. It can reduce complexity in calculating payouts and positions but may limit strategic flexibility for the users.

Transparency and Rules: Clearly communicate the rules and strategies employed by your market to all participants. Transparency about how positions are handled and payouts are calculated is crucial for user trust and market integrity.

... this must be documented in the market mechanics about / math pages.

This has been handled by the usage of a rounding function when calculating aggregated positions rather than a forced sale.


Cryptic errors on Meteor <IP_ADDRESS>.

Created a brand new project and adding this package blows up upon installation:

meteor create siftie
cd siftie
mrt add accounts-entry
meteor

Errors:

you need to add the account-password package

Ah. K. Different errors after installing that:

Well, can't reproduce, are you sure you have last version of meteor, perform a meteor updateand let me know.

I'm on Meteor <IP_ADDRESS>. Here's a screencast showing the entire process:

Ahah, well done you spotted it, you should run the command joshowens:accounts-entry
I was doing it automatically
Updating the README. Sorry for that.

Ah, sorry I forgot to respond here - that fixed command was what I needed. Thanks, @fix!


PSA Encodings for EdDSA

Define encodings for EdDSA in the PSA API.
This is a proposed addition to the PSA Cryptography API specification, which we intend to implement in Mbed TLS ahead of its official adoption by PSA.
Resolves #4147.

A comment on the commit message in github.com/ARMmbed/mbedtls/pull/4174/commits/41bfc0e1fb5eca6e735140c30fb9956d2a52f7ab:
SM3 was added to v1.0.1, which is a published specification, so the collision does not merely occur in the next draft.
Note: once we have the encoding details published in an appendix (coming for vNext of the spec) it will be easier to identify an appropriate encoding for a new algorithm.

I've corrected the commit message.

I force-pushed to amend the last commit “Use a bit-size in the algorithm name ” which was incomplete and broke the build.
I added new commits to address the remaining comments about bit sizes and dom functions.

I force-pushed a rebased version of this PR to resolve the conflict in the systematically generated test data. In the commit “Add key material for twisted Edwards curves”, in addition to re-running generate_psa_tests.py, I fixed a mistake where I'd accidentally swapped the test data for Montgomery and Edwards curves. This wasn't caught before the rebase because that test data was only used for not-supported tests, but after the rebase, the storage format tests caught that the purported Curve25519 private key was not in canonical form.


Return 403 to space supporter on PATCH and GET environment variables

closes #2404
Authored-by: Michael Oleske<EMAIL_ADDRESS>Thanks for contributing to cloud_controller_ng. To speed up the process of reviewing your pull request please provide us with:

A short explanation of the proposed change:

An explanation of the use cases your change solves

Links to any other associated PRs

[x] I have reviewed the contributing guide

[x] I have viewed, signed, and submitted the Contributor License Agreement

[x] I have made this pull request to the main branch

[x] I have run all the unit tests using bundle exec rake

[ ] I have run CF Acceptance Tests

closing due to https://github.com/cloudfoundry/cloud_controller_ng/issues/2404#issuecomment-885257292

opening again because was too quick to close https://github.com/cloudfoundry/cloud_controller_ng/issues/2404#issuecomment-885262341


Faster normal_ordered() suggestion

It is about the function normal_ordered_ladder_term().
normal_ordered_ladder_term
I realized that we can actually break the layer of for j in range(i, 0, -1): .

I tried in my code and it seems no difference in terms of result, but gain 25% improved performance.
Can anyone verify this?
update:
Oh I saw the problem.
I haven't account for the situation list 3^ 2^ 1 0 9^, which it is necessary to put 9^ in front of 3^.
So simply just can't break the scanning until it scans the whole line.
update:
No. I am 85% sure that I was right.
Say it is in i_1 and looping through j.
When all j for i_1 is finished, everything in front of i_1 should be well-order.
Same thing applies to i_2, i_3, i_4, ...
Anything in front of i_[n-1] is well ordered.
If j th component do not need to swap places with (j-1)th in the first place, then there is no place for it to swap, so we can break the j loop.

Hi @eul94458 can you be a bit more specific here?  maybe with a worked example?  Certainly there are a lot of improvements we can apply to this area of the code and it would be great to see performance gains here.

Hi @eul94458 can you be a bit more specific here? maybe with a worked example? Certainly there are a lot of improvements we can apply to this area of the code and it would be great to see performance gains here.

Say there is a fermion operator (6^ 5^ 3 2^ 1 0)
First the program will look at compare (6^, 5^),
then it see it is normal ordered, it proceed to next comparison.
Next is (3, 2^), it is not normal ordered, so indices are swaped.
New operator will be (6^ 5^ 2^ 3 1 0).
Next it will compare (5^, 2^), and this is normal.
Then (6^ 5^), this is normal too.
And then I notice that we have already compared  (6^ 5^) at the very first moment,
so this time, the comparison is totally unnecessary and can be skipped.
It might look like this if you want the code.
            # Swap operators if raising on right and lowering on left.
            if right_operator[1] and not left_operator[1]:

            # Handle case when operator type is the same.
            elif right_operator[1] == left_operator[1]:

                # If same two Fermionic operators are repeated,
                # evaluate to zero.
                if parity == -1 and right_operator[0] == left_operator[0]:

                # Swap if same ladder type but lower index on left.
                elif right_operator[0] > left_operator[0]:

                ################## NEW ################
                # Break since everything in the front is well ordered
                else:
                    break
                #######################################


Gather info about teams building on substrate

The landing page of the new developer hub will have a section featuring teams building on substrate. For each team we will need.
[ ] Project Name
[ ] Logo
[ ] Link
[ ] Permission
According to riot chat @joepetrowski can help out with that this week, so I'm assigning this to him (to get the info) and @shawntabrizi (to enter the info).
I am happy to help out however I can, so ping me or assign me if necessary.

Good place to start (public site): https://forum.web3.foundation/t/teams-building-on-polkadot/67

Initial backfill: https://github.com/substrate-developer-hub/substrate-developer-hub.github.io/commit/6fa098f99a76ad685092d673673909b6be4e09b2
Follow up to this should be some sort of tweet from the Parity Tech/Polkadot twitters asking users to add/edit themselves using PRs to the config file

Here is an initial list of teams that are building publicly: https://github.com/fabiangmpf/substrate-adoption. Should be a good start for content.

Good place to start (public site): https://forum.web3.foundation/t/teams-building-on-polkadot/67

I'd be a little bit careful with this list. Let's focus on teams with public repos / testnets first before we jump to conclusions on the basis of old tweets and blog posts (which is what this list is doing sometimes).

https://github.com/substrate-developer-hub/substrate-developer-hub.github.io/commit/2a7f008983e09b14468d2557c11378577824657d
This is an update to:

Alphabetize the list
Choose some names to be featured on the home page

@fabiangmpf I can also include whoever is on your list, but I would need specific feedback to remove some names.

Yep, I will go over it and give some feedback on what to add / remove.

FWIW Joystream team has agreed to be included via Riot chat.
I'm going to close this issue. Please re-open or open new issues when changes are necessary.


Representing objects with arbitrary keys and values

Defining "type": "object" in JSON Schema always causes an open class to be generated, even when no properties are defined. How do we represent a plain Map, where property keys and values are determined at runtime?
Here's what I have now:
Example schema:
{
  "$id": "https://groundplatform.org/loi-document.schema.json",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "Location of Interest",
  "type": "object",
  "properties": {
    "foo": {
      "type": "object",
      "additionalProperties": true
    }
  }
}

Note: "additionalProperties": true is the default in JSON Schema, including it here for clarity.
The generated code:
data class LoiDocument(
    val foo: Foo? = null,
) {
    open class Foo
}

Update: Here's how I worked around this:
Schema:
{
  "$id": "https://groundplatform.org/loi-document.schema.json",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "foo": {
      "type": "object",
      "x-local-type": "map"
    }
  }
}

config.json:
{
  "customClasses": {
    "extension": {
      "x-local-type": {
        "map": "kotlin.collections.Map<String, Any>"
      }
    }
  }
}

The generated code:
data class LoiDocument(
    val foo: Map<String, Any>? = null,
)

`

Hi @gino-m , I often find myself having to respond to requests and suggestions from users by saying that their proposal sounds great, but it would be competing for my time with other equally worthy developments.
In this case, however, I can tell you that a solution for your issue has been under active development for a few weeks now, and I'm hopeful of having a working version within a week to ten days (yes, I'm aware of Hofstadter's Law).
Thank you for confirming the demand for this functionality; I'll report back here when I have a version for you to test.  In the meantime, the use of custom classes and a typealias to Map<String, Any?> is exactly what I have been recommending to anyone who needs to represent an object with unknown property names.

Hi pwall567@, thanks for your prompt, thoughtful reply. It's encouraging to know that issues and FRs are being addressed. We'd be happy to test out a fix once it's available. Keep up the great work!

OK, as expected, it took longer than I expected, but version 0.100 has now been uploaded to Maven Central.  This version includes support for additionalProperties and patternProperties, but it requires a configuration setting to enable this form of generation.
I hope this meets your needs, and I would welcome any feedback you may be able to give me.

@pwall567 This is great news! And timely, since we're just getting back to applying JSON Schema in groundplatform.org. Thank you for the fix and the update!

@os-micmec FYI


Update type and exports

Make family type property readonly and export all implemented families from the SDK root level

Codecov Report

Merging #18 (86cd961) into main (7b889ac) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head 86cd961 differs from pull request most recent head 4bba6c7. Consider uploading reports for the commit 4bba6c7 to get more accurate results

@@            Coverage Diff            @@
##              main       #18   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           15        15
  Lines          241       241
  Branches        42        42
=========================================
  Hits           241       241

Continue to review full report at Codecov.

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


Fix Markdown / Jupyter markup not getting counted

This allows an optional definition of the line type for a language. If it is defined, it will sum them together. Defaults to using .code. By using this definition, comments are included in the type of lines of code to be summed for Markdown and Jupyter Notebooks.
Fixes #933

I can add a test or two if needed.

Thanks for the review! I'll get to get_total_loc over the weekend.

Oops, I thought that I would be labelled the committer and you would be the author of https://github.com/o2sh/onefetch/pull/937/commits/f41bc02eb1c70c9abf27927c573eb42bce55d5a3. I guess codespaces behave differently.

As something to do in the future, I think it would be nice to collect code samples like linguist and tokei do, and perform some snapshot tests on the CLI output using those samples. As a lazy test, I used
{
 "cells": [
  {
   "attachments": {},
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Setup\n",
    "\n",
    "```bash\n",
    "echo 'Hello, World!'\n",
    "```"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.4.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}

And got 4 lines as expected (Jupyter contains Markdown, Markdown contains 3 comment lines and 1 line of Bash).

Just checked the source code of .summarise, and it looks like we'll lose some granularity.
Before https://github.com/o2sh/onefetch/pull/937/commits/aa31a72a583a1ad975d2106c81638a6d272c4654, a comment in a bash code block in Markdown in Jupyter would be ignored, since only code is counted for Bash. Summarise would combine the CodeStats from the Bash with the Markdown, making all comments get counted, as long as the 1st-level child is Markdown.
Which may be preferable behavior (it makes sense to me IMO), but I just want to throw that out there.


Implement something like Storm Guard, but using ERCOT grid forecasts

If the ERCOT grid is forecasted to have a small cushion, act like Storm Guard -- switch over to CHARGE_BATTERY_FROM_GRID.

There doesn't seem to be a good data API, but https://www.ercot.com/services/comm/mkt_notices/notices is scrape-able.


doc(model): in Event, two elements are inversed

The doc of those two elements from Event are inversed.
https://github.com/twilight-rs/twilight/blob/e82821a7fe6379c78722db0be4508a6c29ef5520/twilight-model/src/gateway/event/mod.rs#L92-L95

Thank you for the report. This has been fixed in pull request #2173.


Odsc 41744/move incorrect opctl information

Fixed incorrect opctl command help information.

Fixed the incorrect help information for delete/cancel/activate/deactivate commands
Fixed the help information for watch command.
Added SDK supported parameters for opctl watch for job/data flow/pipeline

Could you add testing screenshots please?


TE-18.6 gRIBI MPLS in UDP encap with ipsec

README PR at https://github.com/openconfig/featureprofiles/pull/3435


Hide tabs not working

I am having trouble with hide_tabs. I have the latest version of the plugin (1.5.8), and running the latest version of HA (0.111.2). This is my config. I am using all YAML mode and i have this below in the ui-lovelace file. It was always working, but I think after moving to 0.110 or 0.111 it stopped hiding my tabs. I like to hide the first tab. I have the following views below, but they are all commented out so it should be that on my iphone it hides home.yaml, and defaults to mobile_home.yaml.
custom_header:
  compact_mode: true
  menu: overflow
  exceptions:
    # - conditions:
    #     user: Miguel
    #   config:
    #     hide_tabs: '1 to 2'
    - conditions:
        user: Miguel
        user_agent: iPhone
      config:
        default_tab: 1
        hidden_tab_redirect: false
        hide_tabs: 0

title: Home
views:
- !include lovelace/views/home.yaml
#- !include lovelace/views/living_room.yaml
#- !include lovelace/views/bedroom.yaml
#- !include lovelace/views/office.yaml
- !include lovelace/views/mobile_home.yaml
- !include lovelace/views/mobile_climate.yaml
#- !include lovelace/views/mobile_remote.yaml
- !include lovelace/views/homelab.yaml
- !include lovelace/views/settings.yaml

Upon further testing i have noticed that my exception config is not picking up. So anything i put under conditions for Miguel and user_agent: iPhone is not picking up. I even changed it to Mobile.

So i removed everything to go down to this so i removed my user name and only left user_agent, and it seems that it works but only to hide the refresh, but it doesn't hide tab 0.
custom_header:
  compact_mode: true
  menu: overflow
  exceptions:
    - conditions:
        user_agent: iPhone
      config:
        hide_tabs: 0
        hide_refresh: true

title: Home
views:
- !include lovelace/views/home.yaml
- !include lovelace/views/mobile_home.yaml
- !include lovelace/views/mobile_climate.yaml
- !include lovelace/views/homelab.yaml
- !include lovelace/views/settings.yaml

OK figured it out. It only hides tabs, for me at least, based on view name.
custom_header:
  compact_mode: true
  menu: overflow
  exceptions:
    - conditions:
        user_agent: iPhone
      config:
        hide_tabs: home
        hide_refresh: true

title: Home
views:
- !include lovelace/views/home.yaml
- !include lovelace/views/mobile_home.yaml
- !include lovelace/views/mobile_climate.yaml
- !include lovelace/views/homelab.yaml
- !include lovelace/views/settings.yaml

Even further playing with this i see that the documentation seems to make no mention to support for view names when using default_tab as this worked for me. Yet still seems that the hide_tabs key doesn't work for me with numbers only works with names of views.
custom_header:
  compact_mode: true
  menu: overflow
  exceptions:
    - conditions:
        user_agent: Mobile
      config:
        default_tab: 1
        hide_tabs:
          - home
          - homelab
        hide_refresh: true

title: Home
views:
- !include lovelace/views/home.yaml
- !include lovelace/views/mobile_home.yaml
- !include lovelace/views/mobile_climate.yaml
- !include lovelace/views/homelab.yaml
- !include lovelace/views/settings.yaml

correction seems that the home assistant mobile app still doesn't display any of the changes I am doing, i was only able to fix this via my firefox browser by using inspector mode and switching the user agent.

Over the last few versions of the iOS app they changed the user agent to include no mention of device name, "mobile", etc. They are adding that back in (but not "mobile"). I believe this to be the source of all your issues.

I can close this now, as I noticed the forums: https://community.home-assistant.io/t/custom-header/155399/870?u=ha_fanatic
Also seems that now, for some reason, the hide_tabs accepts my numbers, i think it wasn't before.

Over the last few versions of the iOS app they changed the user agent to include no mention of device name, "mobile", etc. They are adding that back in (but not "mobile") in the next releases. I believe this to be the source of all your issues.

Thanks! I think so, i did noticed a weird issue where numbers didn't work to hide tabs, but now it seems to work here.
custom_header:
  compact_mode: true
  menu: overflow
  exceptions:
    - conditions:
        user_agent: iOS
      config:
        default_tab: 1
        hide_tabs:
          - home
          - 3
        hide_refresh: true

title: Home
views:
- !include lovelace/views/home.yaml
- !include lovelace/views/mobile_home.yaml
- !include lovelace/views/mobile_climate.yaml
- !include lovelace/views/homelab.yaml
- !include lovelace/views/settings.yaml


Resources with the same key but different value tags are not displayed correctly

Describe the bug
Create several EC2s with the key "App", one EC2 with the value "DatalakeHandson" and the second EC2 with the value "ScalableWebSiteApp " for the second EC2.
However, AWS Perspective shows only one tag. Also, when I display the resource with the tag "DatalakeHandson", the EC2 with the tag "ScalableWebSiteApp" is also displayed.
To Reproduce

Create an EC2.
Set the tag "App : DatalakeHandson
Create another EC2.
Set the tag to "App: ScalableWebSiteApp
In the AWS Perspective WebUI, display Resources - All - TAGS - TAG.
5-1. Sometimes only "App : ScalableWebSiteApp" is displayed, and sometimes only "App : DatalakeHandson" is displayed.
click on "App : ScalableWebSiteApp" and two EC2 instances will be displayed.

Expected behavior
The displayed resource switches depending on the value of the tag.
Screenshots
If applicable, add screenshots to help explain your problem.

Browser (please complete the following information):

Name Chrome on MacOS
Version 102.0.5005.115（Official Build） （x86_64）

Additional context
These instances were created according to the following hands-on procedure, and then tagged manually.
Sorry, this hands-on is in Japanese.
https://github.com/aws-samples/amazon-s3-datalake-handson/tree/master/JP
https://catalog.us-east-1.prod.workshops.aws/v2/workshops/47782ec0-8e8c-41e8-b873-9da91e822b36/

This is a bug in v1.x.x which has been fix in v2.0.0 that was released today.


Set up SSL certificates

If you do a search for "Campus Sustainability Hub" in Google, and click on our link, you get a warning, and the page displays incorrectly. This is due to display of "https" instead of "http"
Warning:

After bi-passing the warning:

FYI, I just discovered that clicking on "Hub" at the top left hand corner of the site, when already on the Hub site, results in the same error.

Certificates are in place! I still have two things I need to do:

[ ] force the redirect from http to https. I think I can use this app for that.
[ ] set up a renewal schedule for the certificates (they are only 90 day certs)


parser:  Refine LoadDataStmt

What problem does this PR solve?

Add restore part for  #274
As is described in MySQL Manual,  Load DATA statement support an mix of ColumnName and UserVariable after the IGNORE number clause.
For example, such sql as:

LOAD DATA INFILE 'file.txt'
  INTO TABLE t1
  (column1, @dummy, column2, @dummy, column3);

is legal in MySQL but not in TiDB for now
What is changed and how it works?
Refine related part in parser.y according to MySQL's implementation.
Note that this PR just  fix the parser side behavior. More work should be done in TiDB to make these behavior right.
Check List
Tests

Unit test
Integration test
Manual test (add detailed scripts or steps below)

Related changes

Need to cherry-pick to the release branch
Need to update the documentation
Need to be included in the release note

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

@kennytm @tiancaiamao PTAL

Please update master @spongedu
PTAL @jackysp

conflicts resolved. PTAL @tiancaiamao

Conflict again... with your previous PR @spongedu

@kennytm @tiancaiamao  PTAL :P


G0 slider 49 1.0

It seems to build, announce on the JACDAC network, and show up on the dashboard.
TODOs
Because parts are delayed, have not tested the LEDs or the slider itself. But touching the pot pin does cause the slider value to change, so it's definitely doing something.

[x] Test LEDs
[x] Test with slider populated
[ ] Maybe calibrate the RGBs ... how?

The slider reads from the dashboard and all the LEDs seem to work (by recompiling with different pins mapped). Red one is a bit dim and green one is a bit bright, but probably an artifact of the device itself. The LED brightness constants are not calibrated, not sure how we do that...

The LED brightness constants are not calibrated, not sure how we do that...

I think @mmoskal usually uses his lux meter... :smile:
Which RGB LED did you fit in the end?

Most of the boards have the inexpensive LED that I don't think we've used before:
PART: 3147-B38G3RGB-10D0003H2U1930CT-ND
MFG : Harvatek Corporation (VA) / B38G3RGB-10D0003H2U1930
1-2 boards have the LED specified on prior boards (as a reference and hedge), but the price has now gone through the roof:
PART: 516-1795-1-ND
MFG : Broadcom Limited (VA) / HSMF-C114

I’d assume so, but test it on hardware to be sure!
James

From: Richard Lin @.>
Sent: Wednesday, July 7, 2021 6:45:02 PM
To: microsoft/jacdac-msr-modules @.>
Cc: James Devine @.>; Review requested @.>
Subject: Re: [microsoft/jacdac-msr-modules] G0 slider 49 1.0 (#17)
@ducky64 commented on this pull request.

In targets/jm-slider-49-1.0/board.hhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2Fjacdac-msr-modules%2Fpull%2F17%23discussion_r665583774&data=04|01|t-jamdev%40microsoft.com|c89fd3d36ac44518037208d9416ef334|72f988bf86f141af91ab2d7cd011db47|1|0|637612767045652274|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=HBjaO71G8k%2B1ZqdXIJcfBySpG7NjsFHYunbtYGbFiS4%3D&reserved=0:

+#define PIN_LED_R PB_0
+#define PIN_LED_G PA_7
+#define PIN_LED_B PA_6

+// calibrated to ~50lux per channel
+// TODO needs calibration
+#define LED_R_MULT 250
+#define LED_G_MULT 150
+#define LED_B_MULT 42
+#define RGB_LED_PERIOD 600
+
+#define PIN_BL_LED PIN_LED_B
+#define PIN_BL_PERIOD 300
+
+// TODO WHAT IS THIS
+#define BOARD_STARTUP_CODE LL_SYSCFG_EnablePinRemap(LL_SYSCFG_PIN_RMP_PA12);
Since I don't use that pin, I assume it's safe to delete that line?
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2Fjacdac-msr-modules%2Fpull%2F17%23discussion_r665583774&data=04|01|t-jamdev%40microsoft.com|c89fd3d36ac44518037208d9416ef334|72f988bf86f141af91ab2d7cd011db47|1|0|637612767045662261|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=rTpDR8a3t5l23aa6NvmO3lcBzq4RKrVL5oblRA6NrCI%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FABEF4KIC554BEFW6FY54KFTTWSHB5ANCNFSM47TKUSQQ&data=04|01|t-jamdev%40microsoft.com|c89fd3d36ac44518037208d9416ef334|72f988bf86f141af91ab2d7cd011db47|1|0|637612767045662261|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=3sLWDrdcOpTuKMqdcwqtW2jCSNhq%2BtduX8awQqwUF90%3D&reserved=0.

Removed the TODOs and the unnecessary PA10/12 config, and added some comments on the calibration ('taken from this other board with this P/N and resistors'). Will merge if no more comments.

Thanks Richard!


Added ListAll function on types_template.go to depaginate results on collection

This PR adds func (c *{{.schema.CodeName}}Client) ListAll(opts *types.ListOpts) on types_template.go. ListAll function will depaginate API answer results, appending them into returned collection.
Related to https://github.com/rancher/telemetry/pull/40

LGTM


Docs for can?/3

Hello, sometimes the macro can?/2 does not work properly for example when the  method is a variable. Thus, something like this won't work:
import Canada, only: [can?: 2]

method = action_name(conn)
if %User{} |> can?(method(Authority)) do

However, I was able to make it work using the function can?/3 like this:
import Canada.Can, only: [can?: 3]

method = action_name(conn)
if %User{} |> can?(method, Authority) do

The thing is that I had to check out the source code of the library myself to find out of this; I propose adding a small section in the docs describing can?/3.
TIA

Ah, I see. You're dynamically deciding on the action you want to authorize. Rather than forcing people to use the protocol directly, it's probably worth providing can?/3 function on the Canada module that just wraps a call to the protocol.
Thanks for bringing this up.


Handling of two jobs with the same name

I recently had an issue in a project that creates jobs dynamically. I noticed that some jobs weren't running. It turned out that some jobs shared the same id that was passed as the job parameter to the Jobby->add method. It would be nice if the add method would throw an exception if there already is a job with the same name.

Closed in #92.