stack-safe IO

A porting of https://github.com/purescript/purescript-effect/pull/12 by @safareli
related to #907
Pros

makes operations on IO stack safe (currently I get a "Maximum call stack size exceeded" error with e.g. array.sequence(io)(range(0, 10000).map(io.of))())
non-breaking / doesn't change the underlying representation of an IO<A> (a thunk () => A)
slightly better performance on a big number of operations on IO

Cons

private / obscure implementation details, makes the code harder to read
slightly worse performance on small number of operations on IO

Notes

I didn't spend time making the implementation better in terms of type-safety / style (not so relevant since private anyway), but it can definitely be done (e.g. using a proper discriminated union for the operation type, etc.)
Probably we can do something similar also for Task (see e.g. #983)?

Benchmarks

"big"
import * as Benchmark from 'benchmark'
import * as IO from '../src/IO'
import * as oldIO from '../src/old-IO'
import { array, range } from '../src/Array'
const suite = new Benchmark.Suite()

// old IO x 30.75 ops/sec ±0.81% (50 runs sampled)
// IO x 32.49 ops/sec ±0.61% (53 runs sampled)
// Fastest is IO

const arr = range(1, 6000)
suite
  .add('old IO', function() {
    array.sequence(oldIO.io)(arr.map(oldIO.of))()
  })
  .add('IO', function() {
    array.sequence(IO.io)(arr.map(IO.of))()
  })
  .on('cycle', function(event: any) {
    // tslint:disable-next-line: no-console
    console.log(String(event.target))
  })
  .on('complete', function(this: any) {
    // tslint:disable-next-line: no-console
    console.log('Fastest is ' + this.filter('fastest').map('name'))
  })
  .run({ async: true })

"small"
import * as Benchmark from 'benchmark'
import * as IO from '../src/IO'
import * as oldIO from '../src/old-IO'
import { array, range } from '../src/Array'
const suite = new Benchmark.Suite()

// old IO x 884,610 ops/sec ±0.82% (89 runs sampled)
// IO x 712,194 ops/sec ±0.66% (89 runs sampled)
// Fastest is old IO

const arr = range(1, 10)
suite
  .add('old IO', function() {
    array.sequence(oldIO.io)(arr.map(oldIO.of))()
  })
  .add('IO', function() {
    array.sequence(IO.io)(arr.map(IO.of))()
  })
  .on('cycle', function(event: any) {
    // tslint:disable-next-line: no-console
    console.log(String(event.target))
  })
  .on('complete', function(this: any) {
    // tslint:disable-next-line: no-console
    console.log('Fastest is ' + this.filter('fastest').map('name'))
  })
  .run({ async: true })

Opinions?

👍 Great to see this!
BTW using trivial implementation of traversable instance for array with other lazyish structures like Reader, State etc, will break with overflow when used on large array. it's possible to fix that for all such types like this https://github.com/sanctuary-js/sanctuary-type-classes/pull/19

Interesting, that seems to be very similar to the implementation in https://github.com/purescript/purescript-foldable-traversable/blob/master/src/Data/Traversable.js
array.sequence(S.state)(range(0, N).map(S.state.of))(undefined)

Is indeed stack overflowing for me with N greater than 5000

@giogonzo did you decide to fix Traversable instance instead?

@safareli no, we didn't do nothing (that I'm aware of) in the end.
Even if stack-safety-related issues come up from time to time, it doesn't seem to be a high priority for fp-ts at the moment (and there are workarounds, i.e. batching operations)
Also, the community is expanding in terms of higher-level libraries, and e.g. https://github.com/Matechs-Garage/matechs-effect 's Effect is built on stack safe runtime (cc @mikearnaldi)


[armadillo] Add dependent port superlu on osx

Official document:
### 4: Compilers and External Dependencies

Armadillo makes extensive use of template meta-programming and many other advanced C++ features. As such, C++ compilers which do not fully implement the C++ standard may not work correctly.

The functionality of Armadillo is partly dependent on other libraries: LAPACK, BLAS (preferably OpenBLAS), ARPACK and SuperLU. LAPACK and BLAS are used for dense matrices, while ARPACK and SuperLU are used for sparse matrices.

Armadillo can work without the above libraries, but its functionality will be reduced. Basic functionality will be available (eg. matrix addition and multiplication), but operations like eigen decomposition or matrix inversion will not be. Matrix multiplication (mainly for big matrices) may not be as fast.

As Armadillo is a template library, we recommended that optimisation is enabled during compilation of programs that use Armadillo. For example, for GCC and Clang compilers use -O2 or -O3

Related: #10767 #11037 #11018 #10476 #11016 #11036 #11020 #10295 #8871 #11058 #11017 #11057 #9550 #11010 #11055 #11057 #11058 #10943.

@strega-nil Please merge this PR first.
Thanks.

Why superlu is a dependency (as a feature!) for armadillo only for osx?
Also, I'm not sure superlu port is ok.
On macOS it's best to avoid installing openblas, since the Accelerate framework (native in osx) includes a better version and is already available. So superlu in its control file shall depend (like any other port) on openblas(!osx) maybe?

/azp run

Like @cenit pointed out superlu definitely needs to not install OpenBLAS on macOS and use the Accelerate framework instead.
Looking at the doc @JackBoosY is quoting from I'm also surprised we don't need superlu on other platforms. Perhaps OpenBLAS provides some of the same functions as superlu (OpenBLAS is known to do that kind of stuff).

@cbezault Exactly. Please do not merge confused pr only to apparently fix things.

@cbezault Exactly. Please do not merge confused pr only to apparently fix things.

It doesn't seem like a confused PR, it seems like a PR correctly documenting the status quo, since the only way this passed before was accidentally getting superlu on the box first?

Superlu is not mandatory for armadillo
If it were mandatory, why is it only for osx?

And yet, the build for it is failing due to a missing superlu header.
No idea.
Maybe, but the PR seems to be documenting the status quo rather than changing something here.

3. Armadillo was working on OS X well before the very recent superlu port...

Other ports vendored superlu. For example hypre.

I think this is not correct; it works fine without updating armadillo right now on my macbook, this seems like an issue with a different port that's getting installed. Can we just skip it in CI for now and try and figure it out later?

@strega-nil You are the mac wizard :)

A vendored superlu is a plausible explanation for what's going on but I have to agree with @cenit, it's just an unknown right now. I'd rather see this port get skipped and we actually fix it right.

  message(STATUS "     MKL_FOUND = ${MKL_FOUND}"     )
  message(STATUS "  ACMLMP_FOUND = ${ACMLMP_FOUND}"  )
  message(STATUS "    ACML_FOUND = ${ACML_FOUND}"    )
  message(STATUS "OpenBLAS_FOUND = ${OpenBLAS_FOUND}")
  message(STATUS "   ATLAS_FOUND = ${ATLAS_FOUND}"   )
  message(STATUS "    BLAS_FOUND = ${BLAS_FOUND}"    )
  message(STATUS "  LAPACK_FOUND = ${LAPACK_FOUND}"  )

include(ARMA_FindARPACK)
message(STATUS "ARPACK_FOUND = ${ARPACK_FOUND}")

include(ARMA_FindSuperLU5)
message(STATUS "SuperLU_FOUND = ${SuperLU_FOUND}")

Armadillo's CMakeLists.txt probably needs to be patched to put all those dependencies behind an option
BLAS and LAPACK are already patched

https://github.com/microsoft/vcpkg/pull/11091 just adds to the baseline.

Since this is the underlying issue causing the mlpack:x64-osx regression, I've added a patch that disables all the dynamic dependency enablement. Through future PRs, these individual dependencies can be reenabled via features :)

Note: the OSX CI check appears offline, so this should not be merged until that is resolved.

Since this is the underlying issue causing the mlpack:x64-osx regression

It is one reason. The other reason is that some port is vendoring SuperLU. So somebody needs to find the port doing it

Note: the OSX CI check appears offline, so this should not be merged until that is resolved.

It's part of the 'microsoft.vcpkg' check now :)


addition of the --memory-limit flag (with a value of 512M) when calling runJobs.php

Partial Fix #388 .

This looks like it contains some unrelated code changes - no?

Removed that.


uget-integrator: Add version 1.0.0

uget-integrator is used to integrate uGet with browsers.

[x] I have read the Contributing Guide.

/verify


✨ Nested schemes

Description
Currently its possible to have themes:
// config
{
  themes: {
     default: {
        colors: {
             // ...
       }
     }
  }
}

But this doesn't take into account a theme, could have multiple schemes i.e. light & dark modes. So I propose allowing nested schemes
// config
{
  themes: {
     default: {
        light: {
          colors: {
             // ...
          }
        },
        dark: {
          colors: {
             // ...
          }
        }
     }
  }
}

And when using packages like @master/css.react one could use these as, where it would fall back to light if no scheme / invalid scheme is set:
// Fully typed
setScheme('dark')

Extending the discussion on #114 then one could use:
// Fully typed
setTheme('default')

The scope of this issue is to make it less verbose while using the style-element package, all while adding more flexibility to build complex design systems, this would mean while creating components one does not have to factor in both, themes and schemes but rather just the theme.

I think it works now?
For the default theme:
export const config = {
    colors: {},
    classes: {}
}

For the light and dark theme:
export const config = {
    themes: {
        light: colors: {}, classes: {},
        dark: colors: {}, classes: {}
    }
}

Currently, my use case is that I have an application that has 2 themes (and potentially more), where there is default and xmas and my config looks like this:

Pre spread
export const config = {
    themes: {
        'default-light': {
            colors: {
                primaryColor: '',
                primaryHoverColor: '',
                primaryTextColor: '',
                primaryTextHoverColor: '',

                primaryActiveColor: '',
                primaryActiveTextColor: '',

                primaryProgressColor: '',

                primaryFocusedColor: '',
                primaryFocusedTextColor: '',

                secondaryColor: '',
                secondaryHoverColor: '',
                secondaryTextColor: '',
                secondaryTextHoverColor: '',

                secondaryActiveColor: '',
                secondaryActiveTextColor: '',

                secondaryProgressColor: '',

                secondaryFocusedColor: '',
                secondaryFocusedTextColor: '',
            },
        },
        'default-dark': {
            colors: {
                primaryColor: '',
                primaryHoverColor: '',
                primaryTextColor: '',
                primaryTextHoverColor: '',

                primaryActiveColor: '',
                primaryActiveTextColor: '',

                primaryProgressColor: '',

                primaryFocusedColor: '',
                primaryFocusedTextColor: '',

                secondaryColor: '',
                secondaryHoverColor: '',
                secondaryTextColor: '',
                secondaryTextHoverColor: '',

                secondaryActiveColor: '',
                secondaryActiveTextColor: '',

                secondaryProgressColor: '',

                secondaryFocusedColor: '',
                secondaryFocusedTextColor: '',
            },
        },
        'xmas-light': {
            colors: {
                primaryColor: '',
                primaryHoverColor: '',
                primaryTextColor: '',
                primaryTextHoverColor: '',

                primaryActiveColor: '',
                primaryActiveTextColor: '',

                primaryProgressColor: '',

                primaryFocusedColor: '',
                primaryFocusedTextColor: '',

                secondaryColor: '',
                secondaryHoverColor: '',
                secondaryTextColor: '',
                secondaryTextHoverColor: '',

                secondaryActiveColor: '',
                secondaryActiveTextColor: '',

                secondaryProgressColor: '',

                secondaryFocusedColor: '',
                secondaryFocusedTextColor: '',
            },
        },
        'xmas-dark': {
            colors: {
                primaryColor: '',
                primaryHoverColor: '',
                primaryTextColor: '',
                primaryTextHoverColor: '',

                primaryActiveColor: '',
                primaryActiveTextColor: '',

                primaryProgressColor: '',

                primaryFocusedColor: '',
                primaryFocusedTextColor: '',

                secondaryColor: '',
                secondaryHoverColor: '',
                secondaryTextColor: '',
                secondaryTextHoverColor: '',

                secondaryActiveColor: '',
                secondaryActiveTextColor: '',

                secondaryProgressColor: '',

                secondaryFocusedColor: '',
                secondaryFocusedTextColor: '',
            },
        }
    }
}

There is alot of repetition, now I could use the spread operator to avoid some of the repetition:

Pre spread
export const defaultThemeContract = {
    colors: {
        primaryColor: '',
        primaryHoverColor: '',
        primaryTextColor: '',
        primaryTextHoverColor: '',

        primaryActiveColor: '',
        primaryActiveTextColor: '',

        primaryProgressColor: '',

        primaryFocusedColor: '',
        primaryFocusedTextColor: '',

        secondaryColor: '',
        secondaryHoverColor: '',
        secondaryTextColor: '',
        secondaryTextHoverColor: '',

        secondaryActiveColor: '',
        secondaryActiveTextColor: '',

        secondaryProgressColor: '',

        secondaryFocusedColor: '',
        secondaryFocusedTextColor: '',
    },
    classes: {}
};

export const xmasThemeContract = {
    colors: {
        primaryColor: '',
        primaryHoverColor: '',
        primaryTextColor: '',
        primaryTextHoverColor: '',

        primaryActiveColor: '',
        primaryActiveTextColor: '',

        primaryProgressColor: '',

        primaryFocusedColor: '',
        primaryFocusedTextColor: '',

        secondaryColor: '',
        secondaryHoverColor: '',
        secondaryTextColor: '',
        secondaryTextHoverColor: '',

        secondaryActiveColor: '',
        secondaryActiveTextColor: '',

        secondaryProgressColor: '',

        secondaryFocusedColor: '',
        secondaryFocusedTextColor: '',
    },
    classes: {}
}

export const config = {
    themes: {
        'default-light': {
            ...defaultThemeContract,
        },
        'default-dark': {
            ...defaultThemeContract,
            colors: {
                secondaryColor: '',
                secondaryHoverColor: '',
                secondaryTextColor: '',
                secondaryTextHoverColor: '',

                secondaryActiveColor: '',
                secondaryActiveTextColor: '',

                secondaryProgressColor: '',

                secondaryFocusedColor: '',
                secondaryFocusedTextColor: '',
            },
        },
        'xmas-light': {
            ...xmasThemeContract
        },
        'xmas-dark': {
            ...xmasThemeContract,
            colors: {
                secondaryColor: '',
                secondaryHoverColor: '',
                secondaryTextColor: '',
                secondaryTextHoverColor: '',

                secondaryActiveColor: '',
                secondaryActiveTextColor: '',

                secondaryProgressColor: '',

                secondaryFocusedColor: '',
                secondaryFocusedTextColor: '',
            },
        }
    }
}

But this only solves half the issue, the config isn't as implict as I'd like for it to be with nested schemes this can be achieved, additionally, the underlying point of this isn't for configuration purposes but rather using @theme in your style-elements where for instance {my:4;py:9;bg:primaryColor}@theme would apply the primaryColor with the correct theme & scheme appropriately and if this feature was accepted then the config could look like this:

Pre nested values
export const config = {
    themes: {
        'default-light': {
            colors: {
                primaryColor: '',
                primaryHoverColor: '',
                primaryTextColor: '',
                primaryTextHoverColor: '',

                primaryActiveColor: '',
                primaryActiveTextColor: '',

                primaryProgressColor: '',

                primaryFocusedColor: '',
                primaryFocusedTextColor: '',

                secondaryColor: '',
                secondaryHoverColor: '',
                secondaryTextColor: '',
                secondaryTextHoverColor: '',

                secondaryActiveColor: '',
                secondaryActiveTextColor: '',

                secondaryProgressColor: '',

                secondaryFocusedColor: '',
                secondaryFocusedTextColor: '',
            },
        },
        'default-dark': {
            colors: {
                secondaryColor: '',
                secondaryHoverColor: '',
                secondaryTextColor: '',
                secondaryTextHoverColor: '',

                secondaryActiveColor: '',
                secondaryActiveTextColor: '',

                secondaryProgressColor: '',

                secondaryFocusedColor: '',
                secondaryFocusedTextColor: '',
            },
        },
        'xmas-light': {
            colors: {
                primaryColor: '',
                primaryHoverColor: '',
                primaryTextColor: '',
                primaryTextHoverColor: '',

                primaryActiveColor: '',
                primaryActiveTextColor: '',

                primaryProgressColor: '',

                primaryFocusedColor: '',
                primaryFocusedTextColor: '',

                secondaryColor: '',
                secondaryHoverColor: '',
                secondaryTextColor: '',
                secondaryTextHoverColor: '',

                secondaryActiveColor: '',
                secondaryActiveTextColor: '',

                secondaryProgressColor: '',

                secondaryFocusedColor: '',
                secondaryFocusedTextColor: '',
            },
        },
        'xmas-dark': {
            colors: {
                secondaryColor: '',
                secondaryHoverColor: '',
                secondaryTextColor: '',
                secondaryTextHoverColor: '',

                secondaryActiveColor: '',
                secondaryActiveTextColor: '',

                secondaryProgressColor: '',

                secondaryFocusedColor: '',
                secondaryFocusedTextColor: '',
            },
        }
    }
}

export const config = {
    themes: {
        light: {
            colors: { primaryColor: '', ...},
        },
        dark: {
            colors: { primaryColor: '', ...},
        },
        xmas: {
            light: {
                colors: { primaryColor: '', ...},
            },
            dark: {
                colors: { primaryColor: '', ...},
            }
        },
    }
}

<html class="dark xmas-dark">

I came up with an idea:
export const config = {
    themes: {
        dark: {
            colors: { primary: '#fff' },
        },
        xmas: {
            dark: {
                colors: { primary: '#ff8888' },
            }
        },
    }
}

<html class="dark xmas">
    <div class="bg:primary">
</html>

Nested configuration is currently used to simplify the definition, we can change its behavior to a CSS compound selector, so the above example will generate CSS rules like this:
.dark .bg\:primary {
    background-color: #000
}

.xmas.dark .bg\:primary {
    background-color: #ff8888
}

But this will output redundant CSS rules, because #000 is not needed in dark xmas theme.


Main Page

Issue

#1 sub issue
Make main page using rough mock up page

ToDo

[x] Make base structure
[ ] Login / Logout
[x] Post create button
[ ] HashTag sort

Mock up

Main Page

Let's continue with small feature issues.


Struct named concept breaks compilation with c++20 concpets

As the name points out, in "/include/nonius/detail/benchmark_function.h++" there is a small struct called "concept". concept is a reserved keyword since c++20, which breaks compiler compatibility.

its fixed in devel.


Canvas-Renderer calls renderCanvas which is not a function

I am having some issues displaying nice readable text using WebGL renderer in Pixi. So I wanted to see how the text rendered if I used the legacy Canvas-Renderer.
I did the following:

installed "@pixi/canvas-renderer" version 5.1.2

imported the canvas-renderer.

used forceCanvas in Application.

When launching the application is correctly using CanvasRender, but it seems that it calls the old rendering methods? Shouldn't it call render instead of renderCanvas?
Error examples:
errors.ts?a631:16 ERROR Error: Uncaught (in promise): TypeError: displayObject.renderCanvas is not a function
TypeError: displayObject.renderCanvas is not a function
    at CanvasRenderer.render (CanvasRenderer.js?7522:237)
    at CanvasRenderer.generateTexture (AbstractRenderer.js?0ef5:264)
   ....

and
errors.ts?a631:16 ERROR TypeError: displayObject.renderCanvas is not a function
    at CanvasRenderer.render (CanvasRenderer.js?7522:237)
    at Application.render (Application.js?6633:97)

Environment

pixi.js version: 5.1.2

Hi Iwallent,
PixiJS defers drawing algorithms to the display-objects, i.e. the objects are responsible for using the renderer instance and using it to draw themselves. The render methods are implementing assuming that the renderer instance will be a Renderer (with a WebGL context). If a display object also has a renderCanvas method, that means it supports drawing itself using a CanvasRenderer (with a 2D context).
By default, PixiJS display-objects do not support canvas renderer. However, on installing @pixi/canvas, it merges mixins into the Graphics, Sprite, Particles, & Text display-objects. Other than that, any custom/3rd-party display-objects will have to support canvas rendering.
I'm not sure why your problem is occurring (I'm not working on PixiJS nowadays); however, I don't think BitmapText is supported for canvas rendering, only regular Text is.

BitmapText is rendered through sprites, so it should work.

installed "@pixi/canvas-renderer" version 5.1.2

That's how pixi.js-legacy works: https://github.com/pixijs/pixi.js/blob/dev/bundles/pixi.js-legacy/src/index.js
Renderer doesn't work without display overrides, such as https://github.com/pixijs/pixi.js/tree/dev/packages/canvas/canvas-display/src
To use single pixi modules you have to create a bundle file, either manually either use https://pixijs.io/customize/ .

I have a similar problem.
I have application and it works correctly if I use
import {Application} from 'pixi.js-legacy;
But if I replace pixi.js on
import {Application} from 'pixi.js-legacy;
The application does not work.
The method render does not call in child container.
Can you explain how correct use canvas render with default application?

@lwallent could you provide an example repo of this issue please? That would help diagnose what’s going on here.

pixijs-legacy just works. You can add "forceCanvas: true" to pixi examples that can work with canvas2d: https://pixijs.io/examples/#/demos-basic/container.js
Also latest pixijs tests work just fine.
That means the problem with your packer or something that our test dont cover, and, unfortunately, my telepathy doesn't work on your issue - please provide the minimal reproducable demo, not as one string but all the files in zip. You can also try to set it up in codesandbox.com with parcel, its easy :)


Add BLKPG and BLKRRPART ioctls

This adds the following IOCTLs to src/unix/linux_like/linux/arch/generic/mod.rs: BLKPG and BLKRRPART.
BLKPG
Modifies the kernel's in-memory representation of the partition table.
BLKRRPART
Force a re-read of the partition tables.
Note
Concerning bumping the crate version, should I have done that? The pre-pr checklist says to do so (or at least that's how I read it), but the contribution guidelines only mention it in the context of requiring a new release.

Concerning bumping the crate version, should I have done that? The pre-pr checklist says to do so (or at least that's how I read it), but the contribution guidelines only mention it in the context of requiring a new release.

A PR shouldn't contain any other changes if it bumps up the crate version.
The exact wording is below:

Your PR that bumps up the crate version doesn't contain any other changes

Is this confusing? I'm not a native English speaker and any suggestion is welcome!

Ah, sorry! I think I got confused because I was thinking that "any other changes" referred to tacking on other changes unrelated to the PR. I didn't know why that needed to be mentioned, but that makes much more sense, thank you!
As for the x86_64-unknown-linux-gnu CI check failing, I think that's because it's not pulling in the header where these things are defined. I'm not entirely sure how to fix that.

I didn't know why that needed to be mentioned

The reason is that a PR is often stuck with a failure like yours and it can delay a release 🚢

As for the x86_64-unknown-linux-gnu CI check failing, I think that's because it's not pulling in the header where these things are defined. I'm not entirely sure how to fix that.

Our CI config is on https://github.com/rust-lang/libc/tree/master/ci/docker and the root ci dir.
In this case, I think the kernel version is old and we have to ignore test for them. You could do so by tweaking the test like:
https://github.com/rust-lang/libc/blob/78d774fbc1c256d6cfae8ea71082b4dc68724634/libc-test/build.rs#L3683
The Linux version comment is helpful when we upgrade CI images and remove FIXME.

:umbrella: The latest upstream changes (presumably #3177) made this pull request unmergeable. Please resolve the merge conflicts.

Sorry for my absence, life is hectic.

Sorry for the delay, too. Could you do a rebase instead of merge and squash commits into one?

Triage: Closing as inactive, feel free to re-submit a new PR if you're still interested in this change. Thank you anyway!


make compiling error in bind exporter

I have a issue while configuring bind exporter in centos.
Please give the solution
make

formatting code
can't load package: package /prometheus/source/bind_exporter-master: cannot find package "/prometheus/source/bind_exporter-master" in any of:
/usr/local/go/src//prometheus/source/bind_exporter-master (from $GOROOT)
/prometheus/go/src//prometheus/source/bind_exporter-master (from $GOPATH)
can't load package: package /prometheus/source/bind_exporter-master/bind: cannot find package "/prometheus/source/bind_exporter-master/bind" in any of:
/usr/local/go/src//prometheus/source/bind_exporter-master/bind (from $GOROOT)
/prometheus/go/src//prometheus/source/bind_exporter-master/bind (from $GOPATH)
can't load package: package /prometheus/source/bind_exporter-master/bind/auto: cannot find package "/prometheus/source/bind_exporter-master/bind/auto" in any of:
/usr/local/go/src//prometheus/source/bind_exporter-master/bind/auto (from $GOROOT)
/prometheus/go/src//prometheus/source/bind_exporter-master/bind/auto (from $GOPATH)
can't load package: package /prometheus/source/bind_exporter-master/bind/v2: cannot find package "/prometheus/source/bind_exporter-master/bind/v2" in any of:
/usr/local/go/src//prometheus/source/bind_exporter-master/bind/v2 (from $GOROOT)
/prometheus/go/src//prometheus/source/bind_exporter-master/bind/v2 (from $GOPATH)
can't load package: package /prometheus/source/bind_exporter-master/bind/v3: cannot find package "/prometheus/source/bind_exporter-master/bind/v3" in any of:
/usr/local/go/src//prometheus/source/bind_exporter-master/bind/v3 (from $GOROOT)
/prometheus/go/src//prometheus/source/bind_exporter-master/bind/v3 (from $GOPATH)
make: *** [format] Error 1

Please make yourself familiar with Golang and its file structures. There are many blog posts on that topic.
In summary: make sure $GOPATH is set and clone this repository to $GOPATH/src/github.com/digitalocean/bind_exporter.

This should be fixed by the latest build updates.


Item numbers on paginated list

With the pagination refactor from #1922, we're able to see a current page number and know the pageSize value, which can allow us to display an item number range in lieu of a page number for our paginated list.
Example
// gives you the first item on the page
// e.g. page 2 would be -> 10 * (2 - 1) + 1 = 11
const firstItem = paginator.pageSize * (paginator.currentIndex - 1) + 1

// gives you the last item on the page
// e.g. page 2 would be -> 10 * 2 -> 20
const lastItem = paginator.pageSize * paginator.currentIndex

return Items: {firstItem} - {lastItem} // Items: 11 - 20

Provided designs, we can implement this on the Submissions Table.

Duplicate of #4779


Add TLS Support to bypass UDP blockings

Hi, thanks for the great work on this project. I have been searching for quite sometime to find the best combination of amnezia+ui+tor.
Context:
In highly censored countries, UDP traffic is either blocked totally or heavily impacted (ex: 50% of packets are dropped or long delays injected to break handshakes).
Suggestion:
Add a tunnel support like https://github.com/ameshkov/udptlspipe to pass the wireguard udp (even amneziawg is udp...) connection inside the tunnel (important to support the Probing protection config from the udptlspipe project too to avoid the wg server endpoint being blocked)

@amirhmoradi I'll look into it

@NOXCIS  thanks for looking into this.
I was doing some tests and came to the conclusion: We need to have the possibility for clients to either connect directly through udp (as it works currently) or use the tls/tcp tunnel.
This way, for users (and mainly nodes in a site-to-site setup) who are not in those censored countries, there would be no impact (in terms of speed and complexity of connecting).
thanks.

@amirhmoradi does the tls tunnel need to work on the client side as well or am I confused?

the client side is the responsibility of the client, we need just to explain the feature clearly in the documentation.
the wiregate stack shall expose the tunnel server and configure it to connect to the wireguard server - > details and specific important wireguard details
then, (outside of scope) the client shall install the udptlspipe on their local machine and configure their wireguard clients to connect to the local udptlspipe process with correct mtu settings.
the important part would be:

exclude udptlspipe server IP from AllowedIPs in the WireGuard client configuration
expose both normal wg (or amneziawg) and the tunnel in the same time

also, the udptlspipe is one of multiple ways to manage the usecase, maybe other projects are also good.

@amirhmoradi setting default exclusionary rules is easy.
Same goes for port exposure. I could integrate udptls container or build it into the WireGate container. As long as I maintain backwards compatibility.

@NOXCIS I would vote for using their container for easier set up, clarity and maintenance.

@amirhmoradi Should it be to the quick installer defaults or should it be always on.

@NOXCIS i am not sure if I understood correctly... the usecase of using udptlspipe being quite limited to cases where users are based in heavily censored countries, i would not turn it on by default, but rather leave it to the admin to decide and inform the users.


authentik.service is ordered after network-online.target but doesn't depend on it

Hi,
during evaluation nix/colmena is complaining about:

authentik.service is ordered after network-online.target but doesn't depend on it.

Here is the full output:
❯ COLMENAHOST=shel1sso00; colmena apply --on ${COLMENAHOST} --build-on-target --nix-option builders 'ssh-ng://${COLMENAHOST} aarch64-linux'
warning: Git tree '/Users/phg/workspace/privat/nix_config' is dirty
[INFO ] Using flake: git+file:///Users/phg/workspace/privat/nix_config
[INFO ] Enumerating nodes...
[INFO ] Selected 1 out of 5 hosts.
           ❌ 2s Failed: Child process exited with error code: 1
shel1sso00 ❌ 2s Evaluation failed: Child process exited with error code: 1
[ERROR] Failed to evaluate shel1sso00 - Last 20 lines of logs:
[ERROR]   stderr)           959|         || pred here (elemAt values 1) (head values) then
[ERROR]   stderr)           960|           head values
[ERROR]   stderr)              |           ^
[ERROR]   stderr)           961|         else
[ERROR]   stderr)
[ERROR]   stderr)        … while evaluating the attribute 'value'
[ERROR]   stderr)
[ERROR]   stderr)          at /nix/store/rqdf3gfjq8zh488msnv62h03kkzr308q-source/lib/modules.nix:809:9:
[ERROR]   stderr)
[ERROR]   stderr)           808|     in warnDeprecation opt //
[ERROR]   stderr)           809|       { value = builtins.addErrorContext "while evaluating the option `${showOption loc}':" value;
[ERROR]   stderr)              |         ^
[ERROR]   stderr)           810|         inherit (res.defsFinal') highestPrio;
[ERROR]   stderr)
[ERROR]   stderr)        (stack trace truncated; use '--show-trace' to show the full trace)
[ERROR]   stderr)
[ERROR]   stderr)        error:
[ERROR]   stderr)        Failed assertions:
[ERROR]   stderr)        - authentik.service is ordered after 'network-online.target' but doesn't depend on it
[ERROR]  failure) Child process exited with error code: 1
[ERROR] Failed to complete requested operation - Last 1 lines of logs:
[ERROR]  failure) Child process exited with error code: 1
[ERROR] -----
[ERROR] Operation failed with error: Child process exited with error code: 1
Hint: Backtrace available - Use `RUST_BACKTRACE=1` environment variable to display a backtrace

This can be simply fixed by adding the following patch where also a dependency via wants to network-online.target is established:
diff --git a/module.nix b/module.nix
index bc3ef58..99ca103 100644
--- a/module.nix
+++ b/module.nix
@@ -175,6 +175,7 @@ in
         };
         authentik = {
           wantedBy = [ "multi-user.target" ];
+          wants = [ "network-online.target" ];
           after = [
             "network-online.target"
             "postgresql.service"

fixed by #14


Hangs on drop of Runtime if TcpListener has an outstanding accept op

Since there is no accept with a timeout I've used a standard timeout operation to implement a graceful shutdown. It kind of worked, but lead to a hang at the end of tokio_uring::start scope.

This is an interesting issue.
I think that we are going to need to cancel in-flight operations and wait for them to finish terminating. Unfortunately, for soundness reasons you cannot simply drop tasks exit the runtime like you can with normal tokio. Because these operations are in-flight with the kernel, we cannot exit until they complete because the kernel may be using buffers and other state that we have pinned within the runtime.
I'm gonna take some time today to think about this.

I've ran into the same problem which makes it impossible for me to run integration tests in CI since they never exit properly. I can't use the same hack @dpc used. I have a custom socket type based on Udp spawning the following task:
       // Net loop
        tokio_uring::spawn(async move {
            let mut recv_buf = vec![0; 1024 * 1024];
            loop {
                // process_incomming doesn't spawn any tasks and net_loop_socket is a UdpSocket
                tokio::select! {
                    buf = process_incomming(&net_loop_socket, &streams_clone, &accept_chan, std::mem::take(&mut recv_buf)) => {
                           recv_buf = buf;
                        }
                    _ = &mut shutdown_receiver =>  {
                        log::info!("Shutting down network loop");
                        // TODO shutdown all streams gracefully
                        break;
                    }
                }
            }
        });

Within the process_incomming function a call to UdpSocket recv_from is blocking at the beginning of the function:
async fn process_incomming(
    socket: &Rc<UdpSocket>,
    connections: &Rc<RefCell<HashMap<StreamKey, WeakUtpStream>>>,
    accept_chan: &Rc<RefCell<Option<tokio::sync::oneshot::Sender<UtpStream>>>>,
    recv_buf: Vec<u8>,
) -> Vec<u8> {
    let (result, buf) = socket.recv_from(recv_buf).await;
   /// snip...
}

Here is the socket drop implementation
fn drop(&mut self) {
        // a tokio oneshot channel
        println!("Droppping!");
        let _ = self.shutdown_signal.take().unwrap().send(());
}

What I can see from the output of my tests is the following:
Dropping!
[2022-09-18T10:09:16Z TRACE mio::poll] deregistering event source from poller

I would expect to see Shutting down network loop to be printed and that the tokio_uring::start to exit without hanging. I tried to get rid of the oneshot channel and instead use the JoinHandle of the task directly to abort the spawned task but still end up with the same problem. @Noah-Kennedy I presume the underlying issue is the same here?


⚠ Bofrost.lu has degraded performance

In 85cf6fb, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 2093 ms

Resolved: Bofrost.lu performance has improved in c669d9e after 56 minutes.


Avoid circular(ish) dependency parquet-test-utils on datafusion

Which issue does this PR close?
Closes https://github.com/apache/arrow-datafusion/issues/5453
Rationale for this change
Improve the DataFusion development cycle time by cargo test -p datafusion having to compile datafusion lib, then the parquet-test-utils, and then the tests.
"A little copying is better than a lot of dependency"
https://www.youtube.com/watch?v=PAAkCSZUG1c
What changes are included in this PR?
Copy a (subset) part of ParquetTestFile into the datafusion core test that uses them
Are these changes tested?
Yes (existing tests)
Are there any user-facing changes?
No

Another option might be to move this logic to datafusion::test_util so that it can then just be re-exported in parquet-test-utils?

🤔  well since test utils depends on datafusion_core (not datafusion) I can't move the filter creation logic there. Perhaps I misunderstand your suggestion
https://github.com/apache/arrow-datafusion/blob/e46924d80fddbed0faf35edc85b3bba6f050b344/test-utils/Cargo.toml#L27

I was referring to this - https://github.com/apache/arrow-datafusion/blob/main/datafusion/core/src/test_util.rs
Which I think is fine as parquet-test-utils depends on datafusion - https://github.com/apache/arrow-datafusion/blob/main/parquet-test-utils/Cargo.toml#L26 and not datafusion_common

I was referring to this - https://github.com/apache/arrow-datafusion/blob/main/datafusion/core/src/test_util.rs

🤔 it seems like all that is in parquet-test-util is this code. If I just moved TestParquetFile to test_util.rs I could remove the entire crate. I'll make a new PR to do that.

Here is an alternate approach: https://github.com/apache/arrow-datafusion/pull/5536


⚠ VetAnswers has degraded performance

In 1842aa6, VetAnswers (https://vetanswers.com.au) experienced degraded performance:

HTTP code: 200
Response time: 7294 ms

Resolved: VetAnswers performance has improved in ba138dc after 8 minutes.


feat: Add test for Encode and Decode traits

Implemented a simple struct TestStruct that implements Encode and Decode traits.
Added async encode and decode methods for TestStruct.
Created a test to verify encoding and decoding functionality.

Thank you! I hope there are more collaborations in the future 😄


[FE] Implement Protected Routes

Use the Auth Context to create protected pages. Those would be pages that only if the logged in user has that particulat role could access.   Example user with role admin could visit the  admin-dashboard; user with role content-manager can visit the page content-panel.
Connected to #382

Issue is resolved in ticket #382


Updated aws version pinning

what

Updated aws provider version pinning, so it's possible to use version 3

why

AWS provider version 3.x has been introduced, this module can't use it with the current version pinning

references

Fixes #50

Any update on this? This module is a dependency for tests of module https://github.com/cloudposse/terraform-aws-emr-cluster, I need to make the same kind of change on that module for an important fix that has been introduced with version 3.5 of aws provider.

Hi @dusty73 thanks for the PR. I believe the desired changes have now been implemented in #55


Automated cherry pick of #4991: Fix UBI image build error

Cherry pick of #4991 on release-1.11.
#4991: Fix UBI image build error
For details on the cherry pick process, see the cherry pick requests page.

/skip-all


Remote target (for distributed actor) arguments are not properly deinitialized

Remote target arguments reconstructed on the remote side of the distributed actor are not properly deinitialised.
If the remote target argument is a struct with enum with an associated value then some class instance references are never released causing a memory leak.
Probably related to similar issue

We implemented minimised test
It perform a remote call on the distributed actor with a struct argument having an enumeration with associated struct value.
wrk % git clone https://github.com/ordo-one/external-reproducers.git
Cloning into 'external-reproducers'...
remote: Enumerating objects: 267, done.
remote: Counting objects: 100% (267/267), done.
remote: Compressing objects: 100% (181/181), done.
remote: Total 267 (delta 105), reused 180 (delta 44), pack-reused 0
Receiving objects: 100% (267/267), 50.19 KiB | 1.32 MiB/s, done.
Resolving deltas: 100% (105/105), done.
wrk % cd external-reproducers/swift/distributed-system-leak
distributed-system-leak % swift test
Building for debugging...
[5/5] Linking DistributedSystemPackageTests
Build complete! (11.44s)
Test Suite 'All tests' started at 2023-11-22 17:21:03.526.
Test Suite 'DistributedSystemPackageTests.xctest' started at 2023-11-22 17:21:03.527.
Test Suite 'DistributedSystemTests' started at 2023-11-22 17:21:03.527.
Test Case '-[DistributedSystemTests.DistributedSystemTests test1]' started.
Test Case '-[DistributedSystemTests.DistributedSystemTests test1]' passed (0.001 seconds).
Test Suite 'DistributedSystemTests' passed at 2023-11-22 17:21:03.529.
	 Executed 1 test, with 0 failures (0 unexpected) in 0.001 (0.001) seconds
Test Suite 'DistributedSystemPackageTests.xctest' passed at 2023-11-22 17:21:03.529.
	 Executed 1 test, with 0 failures (0 unexpected) in 0.001 (0.001) seconds
Test Suite 'All tests' passed at 2023-11-22 17:21:03.529.
	 Executed 1 test, with 0 failures (0 unexpected) in 0.001 (0.003) seconds
assign<TestActor>: 1
actorReady<TestActor>: 1
resolve<TestActor>
ArgumentType.init: 0x00006000028703a0
InnerStruct.init: 0x00006000028703c0
recordArgument
remoteCallVoid
ArgumentType.init: 0x0000600002870460
InnerStruct.init: 0x0000600002870480
value=100
ArgumentType.deinit: 0x00006000028703a0
InnerStruct.deinit: 0x00006000028703c0
distributed-system-leak %

There are 2 instances of ArgumentType and InnerStruct each were initialised, but only one ArgumentType instance and only one InnerStruct instance were deinitialized. The expected behaviour would be both instances of ArgumentType and both instances of InnerStruct would be deinitialized.

Environment

Swift compiler version info

distributed-system-leak % swift --version
swift-driver version: 1.87.1 Apple Swift version 5.9 (swiftlang-<IP_ADDRESS>.108 clang-15<IP_ADDRESS>)
Target: arm64-apple-macosx14.0

Xcode version info
Deployment target:

distributed-system-leak % uname -a
Darwin mbpro.local 23.1.0 Darwin Kernel Version 23.1.0: Mon Oct  9 21:27:24 PDT 2023; root:xnu-10002.41.9~6/RELEASE_ARM64_T6000 arm64

friendly ping @ktoso

Later 😄

A little addition just in case: we actually have a more complex associated value in the enum with some other references to class instances, and it seems like they are not released as well.

We updated the minimised test with an additional inner struct which members are not released as well.
The test still available on github and attached distributed-system-leak.zip to the comment. To run the test unzip it and the execute cd distributed-system-leak && swift test

Sorry I missed the ping. I’ll investigate — we fixed something similar — the fix would be on mainline right now. I’ll confirm though, thanks

Many thanks @ktoso !

We tried to run a test with the Swift development snapshot toolchain and seems there is still a leak.
distributed-system-leak % swift --version
Apple Swift version 5.11-dev (LLVM 91cd37b9110872c, Swift 703a4719b0c6f3a)
Target: arm64-apple-macosx14.0
distributed-system-leak %

Fix incoming https://github.com/apple/swift/pull/70806
Sorry for the delay over new year's break

Awesome, thanks @ktoso

Thank you so much, especially for back porting it to 5.10! Minimised test passed, will try end to end test shortly.


Non-article links are still shown

This link https://env.fail/about is not an article.
Firefox readibility library successfully not detecting this as readable.

This also https://github.com/facebook/react/pull/29061


restic not comparing mtime

Hello,
First off, thank you for restic, it really is fast and will make for a perfect backup solution !
I made some tests locally, and it looks like the mtime of files is not checked and files are always re-read, even if they didn't change; did I miss something or is it expected ?
Here is the log of the first addition of the restic binary (i.e the binary is not already in the repo). Here is the log of saving the same file in the repo. As you can see the file is re-read (and blobs are correctly re-used, of course) even though I didn't touch it.
restic is compiled with debugs from git, commit is 094ca7e635286b289bef72d49db3bec630fb71ba

Hey, thanks for giving restic a try!
It seems you did call restic with two completely different directories to backup, is that what you wanted?
At the moment when you want restic to backup the same directory again, you need to specify an old snapshot ID in the paramente --parent, like this:
$ restic -r /tmp/backup backup ~/shared/work/web
Enter Password for Repository:
scan [/home/fd0/shared/work/web]
scanned 764 directories, 1816 files in 0:00
loading blobs
[0:25] 100.00%  63.492 MiB/s  1.582 GiB / 1.582 GiB  2581 / 2580 items  ETA 0:00
duration: 0:25, 64.80MiB/s
snapshot abdf487d saved

$ restic -r /tmp/backup backup --parent abdf487d ~/shared/work/web
Enter Password for Repository:
found parent snapshot abdf487dab5b4d2761437cb1a62150c8a0a2025145e55e31582ba20cb08d321f
scan [/home/fd0/shared/work/web]
scanned 764 directories, 1816 files in 0:00
loading blobs
[0:00] 100.00%  0B/s  1.582 GiB / 1.582 GiB  2581 / 2580 items  ETA 0:00
duration: 0:00, +InfMiB/s
snapshot 8d56c854 saved

Once #105 is implemented, restic will find the parent snapshot automatically.

Ah true, I pasted the wrong log for the addition of the binary.
Alright, so this one's a duplicate of #105 then :)


Anyway you can make it so that,

anyway you can make it so that it stays on top of the desktop just like in rainmeter?
I want to be able to do this for my foobar.

Thanks for the feedback! I love Foobar, and it's actually the reason I made
the script.
I found several posts online about how to pin it to the desktop, but none
of them are working for me right now. I think it's a problem with my
operating system, which I was already planning to reinstall because I have
several other issues. I think I can do it, but I'm going to need some more
time to figure it out.

Evan

On Sun, Sep 13, 2015 at 6:23 PM, dragons4life<EMAIL_ADDRESS>wrote:

anyway you can make it so that it stays on top of the desktop just like in
rainmeter?
I want to be able to do this for my foobar.
—
Reply to this email directly or view it on GitHub
https://github.com/evndude/Window-Overlay/issues/1.

thanks for trying


Revamping building and release with dagger multibuild pipeline 2.0

Fixing #22
REF :- #25
Previous State

Previously, building Makefile based
releasing with dagger pipeline missing

Current Behavior

[x] Added binary building support by calling dagger function from the module
[x] Added Linting support throughout the codebase
[x] Automated the release with dagger CI by calling for release and pull-request function from dagger module
[x] Added deb rpm package based binary release with architecture
[x] Added Software Bill of Materials (SBOM) generation during release for each archive by analyzing the various generated artifacts using Syft

Screenshot

@Vad1mo @amands98 pls test this PR once and merge!
regarding the test failure here will be solved when we publish the dagger module from goharbor rather than using mine one!

@Vad1mo @amands98 pls test this PR once and merge!
regarding the test failure here will be solved when we publish the dagger module from goharbor rather than using mine one!


can I get badge?

can I get badge?
Originally posted by @learningssik in https://github.com/Schweinepriester/github-profile-achievements/discussions/59

can I get badge?
Originally posted by @learningssik in #59


Add a license to the repository

I recently came across your project qiskit-learn and I noticed that the repository github.com/ajay-cogsci/qiskit-learn currently does not have a license specified.
Why Adding a License is Important?
As GitHub documents

Public repositories on GitHub are often used to share open source software. For your repository to truly be open source, you'll need to license it so that others are free to use, change, and distribute the software.

Would be possible to add a valid license to this repository? Probably something really OpenSource such as the Apache 2.0 license would fit really well.
Thanks!

Added Apache 2.0 Licence
Thanks again !

Thanks!


Avoid continuosly handling events due to leader election annotations

Leader election causes a lot of endpoint updates (see kubernetes
issue #23812). This implies that roughly every 2 seconds an endpoint
MODIFIED event is sent for processing, for every endpoint where
leader election is enabled (examples: kube-scheduler or
kube-controller-manager).
This patch leverages the so far unused object cache in the endpoint
watcher, sending the event only when ip changes are detected in the
endpoint data structure. To this aim, the logic for extracting ips
from the endpoint object has been moved from overlay.py into
endpoint_watcher.py
Also, tt is not to be taken for granted that given and endpoint,
there will always be a service with that name. This patch therefore
also adds explicit handling of 404 errors.
This is however a rather minor point as the final result of this
error handling is the interruption of endpoint processing in any
case.

https://github.com/kubernetes/kubernetes/issues/23812

I am still learning the ropes of handling pull requests, so bear with me. If we merge this, the log will have 2 unnecessary commits and anyone looking at a single commit will see things like "meh". I think there are 2 possible ways to get this right.

Close this pull request and issue a new one with a single commit.
You force push a single commit to your branch and this pull request will likely get updated automatically.

I can do as you suggest for removing the unnecessary commits and not having "meh" in git log (though it would be funny).
If I force commit I am not sure what would happen to this discussion thread. I don't think anyone would complain if we lose it though.
However, you should have a squash commit option when merging. If you press the merge button, do you see it?

It turns out that squashing commits locally and pushing a forced update works just fine.

However, you should have a squash commit option when merging. If you press the merge button, do you see it?

I see it now. Do you mind adding a "Signed-off-by:".

added


OpenVPN NOTES.txt - Fix label key in the pod status command

What this PR does / why we need it:
In NOTES.txt, the command to follow the pod's log has a label filter with the old type label key instead of the new app key.

Also need to bump chart version as thats what is causing the lint failure


[color-palettes] broken links in README.md

The links for proximityLCH() and proximityRGB() functions in the README.md return 403 status. The other links work fine.

Thank you for reporting this @matasaru - I released an update with the fix earlier today!

Thank you for the amazingly spectacular thi.ng(s) you put out!


Graph4NLP Text classification

❓ Questions and Help
You have added this "Graph Convolutional Networks for Text Classification" paper to the Literature, did you also implemented this with graph4Nlp. [link] : (https://ojs.aaai.org//index.php/AAAI/article/view/4725)
Also, is there a way so that we can build our own Graph/Topology or any example/demo where we can see that.

❓ Questions and Help
You have added this "Graph Convolutional Networks for Text Classification" paper to the Literature, did you also implemented this with graph4Nlp. [link] : (https://ojs.aaai.org//index.php/AAAI/article/view/4725)
Also, is there a way so that we can build our own Graph/Topology or any example/demo where we can see that.

@SanketTijare Thanks for your interest to the graph4nlp library! We did not implement the AAAI19 paper you mentioned. But we do have a text classification implementation in our example code (link).
Yes, you can build your own graph construction module by inheriting StaticGraphConstructionBase (example) or DynamicGraphConstructionBase  (example).
Hope this helps.

@hugochan Thanks for the quick response.
I was going through the paper, and it has its different topology to build the graph. They have solved the text-classification as Node Classification, so was wondering if you have some examples on similar lines. Are you planning to implement that topology, else need to build my own with inheriting StaticGraphConstructionBase.

@hugochan Thanks for the quick response.
I was going through the paper, and it has its different topology to build the graph. They have solved the text-classification as Node Classification, so was wondering if you have some examples on similar lines. Are you planning to implement that topology, else need to build my own with inheriting StaticGraphConstructionBase.

@SanketTijare As you mentioned, that paper constructed a single graph for the whole corpus and performed node classification. Because this is kind of application-driven and we want to prioritize major improvements because of limited budget, unfortunately, we are not planning to implement their approach in the near future.
Hopefully, it should be straightforward to build your own graph topology builder and node classification model. You might find this node classification example and KG completion example helpful. BTW, you are welcome to contribute to the library if you decide to implement their approach.
Hope this helps.

I will close this issue.

Thank you so much for the library, it would be really helpful for researchers. My question is similar to the first question. I am interested in the evaluation of the following paper: https://arxiv.org/abs/2004.13826 The paper is inductive, so each split has its own graph structure. I wonder how one can implement this paper with the library. I would be happy if you could answer. Thank you


Create product vision

Task
Fill in the product vision section of your planning documents.

Vision proposal:
Our vision is to create a tool that empowers DevOps teams to manage their Kubernetes clusters with ease, providing them with a single platform for inventory visibility, deep insights, real-time analytics, and intelligent monitoring and alerting. With KIT, teams can optimize their resources and streamline their operations, leading to faster deployment times, better performance, and happier customers.

Overall very good, only change I'd propse would be:

[...] streamline their operations, resulting in faster deployment times, [...]


Call self.executor.join() in OrderedEnqueuer to prevent zombie worker processes

This refers to https://github.com/fchollet/keras/pull/6891#issuecomment-309889683

LGTM


refactor: folders for forked tests

Maybe extracting the morpho and aave tests from Call.fork.t.sol in :

Morpho.fork.t.sol
Aave.fork.t.sol

Also, no need to specifiy arbi in GMX.forkArbi.t.sol => GMX.fork.t.sol is fine

Maybe extracting the morpho and aave tests from Call.fork.t.sol in :

Morpho.fork.t.sol
Aave.fork.t.sol

Also, no need to specifiy arbi in GMX.forkArbi.t.sol => GMX.fork.t.sol is fine

Should be better now


Breaking : Provide object after CRUD calls

The different CRUD request now return a object or a list of object. The usage of DirectusItemCreationResult is also implemented for the items.
I did also some changes on DirectusItemCreationResult to manage the multi creation call.

Hi @maxbritto,
I have done the improvements requested. Let me know if it ok for you.

@maxbritto I think you don't have push these changes in the main branch.

My pleasure. I am glad that you approve it.

Thanks for the reminder, I thought accepting the commit was enough.
It's merged now 👍

@maxbritto I think you don't push these changes in the main branch.

Thanks for the reminder, I thought accepting the commit was enough.
It's merged now 👍


Separate function as "claimableBondOf"

Describe the feature request
Correct me if I'm wrong please but as I noticed "bondBalanceOf" function on Taiko L1 contract returns total amount of bonds for that address. Including verified and unverified balance. Would be great to query only claimable balance in separate function
Spam policy

[X] I verify that this issue is NOT SPAM and understand SPAM issues will be closed and reported to GitHub, resulting in ACCOUNT TERMINATION.

This setup ensures that each address can only claim up to its total balance and keeps track of how much has already been claimed.

The bondBalanceOf function returns the currently claimable amount of TAIKO bond for a given address. This balance represents the portion of the bond that the address can withdraw immediately.
The total bond balance for an address can be known by checking all previous depositBond function calls.

The bondBalanceOf function returns the currently claimable amount of TAIKO bond for a given address. This balance represents the portion of the bond that the address can withdraw immediately.
The total bond balance for an address can be known by checking all previous depositBond function calls.

Noted. Thanks


Generalized client-event tests

I wanted to make sure the client-events work on both private- and presence- channels, so I generalized the unit tests to verify.
Also:

updated eventmachine to <IP_ADDRESS> for OS X compatibility, See #213.
added .editorconfig (enforces 2 space indents for supporting editors)

I think that this should be split into three PRs.

the spec improvements - will merge
The fix for #213 - will verify and presumably merge
.editorconfig - I'm not so sure about this. It seems like it could be added to .gitignore or maybe handled with linting tools like rubocop or something similar. Happy to listen to your arguments on this on another PR

Closing this PR

Fair enough. Will reopen as separate PRs. I'm also working on the presence
events from another contributors PR, it needs some work to get cleaned up.
Should be done in a few days.
On Mon, Jul 25, 2016, 6:32 PM Mark Burns<EMAIL_ADDRESS>wrote:

I think that this should be split into three PRs.

the spec improvements - will merge
The fix for #213 https://github.com/stevegraham/slanger/issues/213 -
will verify and presumably merge
.editorconfig - I'm not so sure about this. It seems like it could be
added to .gitignore or maybe handled with linting tools like rubocop or
something similar. Happy to listen to your arguments on this on another PR

Closing this PR
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/stevegraham/slanger/pull/215#issuecomment-235106543,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AALgjh5YqqFzcy5gzm476VeW15_PqX6hks5qZTlhgaJpZM4JSF_v
.

I realized a problem with the spec improvements - it actually obfuscates a problem, so I'm going to refactor them and will submit another PR later.


Change Plugin ID

"intellij" is no longer allowed to be part of the plugin id. The current plugin id is "de.php_perfect.intellij.ddev".
The plugin id is used many times in the plugin and all services ids are prefixed with this id. It has to be changed to something like "de.php_perfect.ddev_integration" and all packages and services need to be renamed.
This is requirment to publish a new version.

I found this: https://intellij-support.jetbrains.com/hc/en-us/community/posts/13362061756050/comments/13368843442834

reads to me like there is no need for changing plugin-id for an already published plugin - so this issue could be closed (?)

Thanks for looking into this @Aneida!
I don't think we can close this issue, as it is still an issue that prevents creating a new release. The job does fail with this error.
Maybe we can just skip the validator for now, but this would only be a temporary fix.

While the plugin verifier itself provides the -mute TemplateWordInPluginId to ignore the check, the pluginVerification Gradle config has no option for setting any mute flags.

As already mentioned, the ID should not be changed, so I will close this issue.


Added FR translations + small change to english strings

Added FR translations for https://github.com/localsend/localsend/issues/345#issuecomment-1832988591
+ While at it found out that there are 2 occurences of "open-source" in the main file, except one was written as "open-source" and the other one "open source", just made it so that both are now "open-source"

Alright, thanks!


Canceling a script running dotnet watch crashes powershell

If a script is set up to run dotnet watch --project ... and you press ctrl + c the task is canceled but then you get an exception and the console crashes. This doesn't happen in cmd.exe, but does in pwsh.exe and powershell.exe.
The project this happened in is using the default system console, so cmd.exe, but I'm seeing something similar with WSL in Windows Terminal. In there the console still responds after a shorter error, but text you type no longer shows (it's still there if you press enter though) but I'm not sure if this is happening due to oh-my-posh. Either way things aren't ending correctly and killing the console it's running in.
Full script
> dotnet watch [env:DOTNET_WATCH_RESTART_ON_RUDE_EDIT=true] --verbose --project sample

pwsh.exe
dotnet watch 🔥 Hot reload capabilities: Baseline AddMethodToExistingType AddStaticFieldToExistingType AddInstanceFieldToExistingType NewTypeDefinition ChangeCustomAttributes UpdateParameters.
dotnet watch 🛑 Shutdown requested. Press Ctrl+C again to force exit.
info: Microsoft.Hosting.Lifetime[0]
      Application is shutting down...
dotnet watch ⌚ Caught top-level exception from hot reload: System.Threading.Tasks.TaskCanceledException: A task was canceled.
   at Microsoft.DotNet.Watcher.HotReloadDotNetWatcher.WatchAsync(DotNetWatchContext context, CancellationToken cancellationToken)
dotnet watch ⌚ WebSocket connection has been terminated.
A task was canceled.

dotnet watch ⌚ Process id 133284 ran for 572150ms

❯

An error has occurred that was not properly handled. Additional information is shown below. The PowerShell process will exit.
Unhandled exception. System.InvalidOperationException: Cannot read keys when either application does not have a console or when console input has been redirected. Try Console.Read.
   at System.ConsolePal.ReadKey(Boolean intercept)
   at System.Console.ReadKey(Boolean intercept)
   at Microsoft.PowerShell.Internal.VirtualTerminal.ReadKey()
   at Microsoft.PowerShell.PSConsoleReadLine.ReadOneOrMoreKeys()
   at Microsoft.PowerShell.PSConsoleReadLine.ReadKeyThreadProc()
   at System.Threading.Thread.StartHelper.Callback(Object state)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at System.Threading.Thread.StartCallback()

[process exited with code<PHONE_NUMBER> (0xe0434352)]

powershell.exe
dotnet watch 🔥 Hot reload capabilities: Baseline AddMethodToExistingType AddStaticFieldToExistingType AddInstanceFieldToExistingType NewTypeDefinition ChangeCustomAttributes UpdateParameters.
info: Microsoft.Hosting.Lifetime[0]
      Application is shutting down...
dotnet watch 🛑 Shutdown requested. Press Ctrl+C again to force exit.
A task was canceled.
dotnet watch ⌚ Caught top-level exception from hot reload: System.Threading.Tasks.TaskCanceledException: A task was canceled.
   at Microsoft.DotNet.Watcher.HotReloadDotNetWatcher.WatchAsync(DotNetWatchContext context, CancellationToken cancellationToken)
dotnet watch ⌚ WebSocket connection has been terminated.

dotnet watch ⌚ Process id 33380 ran for 5687ms

❯

[process exited with code 2 (0x00000002)]

wsl.exe
dotnet watch 🔥 Hot reload capabilities: Baseline AddMethodToExistingType AddStaticFieldToExistingType AddInstanceFieldToExistingType NewTypeDefinition ChangeCustomAttributes UpdateParameters.
dotnet watch 🛑 Shutdown requested. Press Ctrl+C again to force exit.
info: Microsoft.Hosting.Lifetime[0]
      Application is shutting down...
dotnet watch ⌚ Caught top-level exception from hot reload: System.Threading.Tasks.TaskCanceledException: A task was canceled.
   at Microsoft.DotNet.Watcher.HotReloadDotNetWatcher.WatchAsync(DotNetWatchContext context, CancellationToken cancellationToken)
A task was canceled.
dotnet watch ⌚ Killing process 4840

❯

Ran into this today with dotnet watch. Looks like there are a number of places where this issue pops up with pwsh.
https://github.com/microsoft/terminal/issues/4981
https://github.com/starship/starship/issues/1791

This doesn't seem to happen anymore in PowerShell 7.4.0 (not sure about prior versions, just noticed it in this one). It still exits out weird, but PowerShell no longer crashes at least.
dotnet watch 🛑 Shutdown requested.
WebSocket connection has been terminated.

dotnet watch ΓîÜ Process id 56092 ran for 4577ms

❯


Yunyang/testing/UI testing1

First 3 UI tests for ViewListActivity is running, please check if its performance meets requirements.

Both tests run but don't pass. The account was missing, but even after adding a new testing account they don't seem to work properly.

Both tests run but don't pass. The account was missing, but even after adding a new testing account they don't seem to work properly.

Do you think its because multiple people can't run the test at the same time?

Both tests run but don't pass. The account was missing, but even after adding a new testing account they don't seem to work properly.

Do you think its because multiple people can't run the test at the same time?

I was actually on an old commit, looks good now

Both tests run but don't pass. The account was missing, but even after adding a new testing account they don't seem to work properly.

Do you think its because multiple people can't run the test at the same time?

It can be an issue when there is an error occurs, cause the test account do not get deleted. After that any test will not pass
Current solution is login to firebase, and manually delete the account
Which is bad, but I don't see any better solution can be done

Both tests run but don't pass. The account was missing, but even after adding a new testing account they don't seem to work properly.

Do you think its because multiple people can't run the test at the same time?

It can be an issue when there is an error occurs, cause the test account do not get deleted. After that any test will not pass Current solution is login to firebase, and manually delete the account Which is bad, but I don't see any better solution can be done

That's fine for now. Automation on that would require us opening the backend of the app somehow. It sounds possible, but not in the due date.

Both tests run but don't pass. The account was missing, but even after adding a new testing account they don't seem to work properly.

Do you think its because multiple people can't run the test at the same time?

It can be an issue when there is an error occurs, cause the test account do not get deleted. After that any test will not pass Current solution is login to firebase, and manually delete the account Which is bad, but I don't see any better solution can be done

That's fine for now. Automation on that would require us opening the backend of the app somehow. It sounds possible, but not in the due date.

Please clean up the code so that we could push this through. Clean code should be in our testing as well.


Load image when image center hits bottom of viewport or center of viewport

Is it possible to load the image when the center of the image either a) hits the bottom of the viewport b) is in the center of the viewport? I thought we could've used negative values on the threshold but it doesn't work.

No it can’t work using negative threshold values.
To use this feature you should probably tweak the real thresholds of intersectionObserver, but they are hardcoded here.
But first: what do you need this for?

For design the images load before I get to them and I have an effect (transform up slight, scale from 0 to 1 and opacity from 0 > 1) for when they're loaded but you never see it as it happens 'offscreen'.

Cool.
You can use the callback_enter option to pass a callback to be executed only when the image has actually entered the viewport. In the callback, you can trigger any effect you want.
Or you can delay the loading of the image using the load_delay option.
I’d recommend the first solution because it would improve the perceived speed, since the images would still start loading off viewport.

Perfect, that all makes sense. Thanks!


[Refactor] Use in-memory/memory-mapped/concatenation tables in Dataset

Intro
Currently there is one assumption that we need to change: a dataset is either fully in memory (dataset._data_files is empty), or the dataset can be reloaded from disk with memory mapping (using the dataset._data_files).
This assumption is used for pickling for example:

in-memory dataset can just be pickled/unpickled in-memory
on-disk dataset can be unloaded to only keep the filepaths when pickling, and then reloaded from the disk when unpickling

Issues
Because of this assumption, we can't easily implement methods like Dataset.add_item to append more rows to a dataset, or dataset.add_column to add a column, since we can't mix data from memory and data from the disk.
Moreover, concatenate_datasets doesn't work if the datasets to concatenate are not all from memory, or all form the disk.
Solution provided in this PR
I changed this by allowing several types of Table to be used in the Dataset object.
More specifically I added three pyarrow Table wrappers: InMemoryTable, MemoryMappedTable and ConcatenationTable.
The in-memory and memory-mapped tables implement the pickling behavior described above.
The ConcatenationTable can be made from several tables (either in-memory or memory mapped) called "blocks". Pickling a ConcatenationTable simply pickles the underlying blocks.
Implementation details
The three tables classes mentioned above all inherit from a Table class defined in table.py, which is a wrapper of a pyarrow table. The Table wrapper implements all the attributes and methods of the underlying pyarrow table.
Regarding the MemoryMappedTable:
Reloading a pyarrow table from the disk makes you lose all the changes you may have applied (slice, rename_columns, drop, cast etc.). Therefore the MemoryMappedTable implements a "replay" mechanism to re-apply the changes when reloading the pyarrow table from the disk.
Checklist

[x] add InMemoryTable
[x] add MemoryMappedTable
[x] add ConcatenationTable
[x] Update the ArrowReader to use these new tables depending on the in_memory parameter
[x] Update Dataset.from_xxx methods
[x] Update load_from_disk and save_to_disk
[x] Backward compatibility of load_from_disk
[x] Add tests for the new tables
[x] Update current tests
[ ] Documentation

I would be happy to discuss the design of this PR :)
Close #1877

There is one more thing I would love to see. Let's say we iteratively keep updating a data source that loaded from load_dataset or load_from_disk. Now we need to save it to the same location by overriding the previous file inorder to save the disk space. At the moment save_to_disk can not assign a name. So I do not see an easy way to override the previous files.  @lhoestq  is this possible?

There is one more thing I would love to see. Let's say we iteratively keep updating a data source that loaded from load_dataset or load_from_disk. Now we need to save it to the same location by overriding the previous file inorder to save the disk space. At the moment save_to_disk can not assign a name. So I do not see an easy way to override the previous files. @lhoestq is this possible?

In the new save_to_disk, the filename of the arrow file is fixed: dataset.arrow.
This way is will be overwritten if you save your dataset again

Is there a way to flush out any connection to a data source loaded from load_from_disk or load_dataset methods? At the moment I suspect when we use any of those functions, it will always keep a pointer although we override it again with a new version of the dataset source. This is really useful in an iterative process.

If you update an arrow file, then you must reload it with load_from_disk for example in order to have the updated data.
Does that answer the question ? How does this "pointer" behavior manifest exactly on your side ?

Apparently the usage of the compute layer of pyarrow requires pyarrow>=1.0.0 (otherwise there are some issues on windows with file permissions when doing dataset concatenation).
I'll bump the pyarrow requirement from, 0.17.1 to 1.0.0

If you update an arrow file, then you must reload it with load_from_disk for example in order to have the updated data.
Does that answer the question? How does this "pointer" behavior manifest exactly on your side?

Yes,  I checked this behavior.. if we update the .arrow file it kind of flushes out the previous one. So your solution is perfect <3.

Sorry for spamming, there's a a bug that only happens on the CI so I have to re-run it several times

Alright I finally added all the tests I wanted !
I also fixed all the bugs and now all the tests are passing :)
Let me know if you have comments.
I also noticed that two methods in pyarrow seem to bring some data in memory even for a memory mapped table: filter and cast:

for filter I took a look at the C++ code on the arrow's side and found this part that "builds" the array during filter. It seems to indicate that it allocates new memory for the filtered array but not 100% sure.
regarding cast I noticed that it happens when changing the precision of an array of integers. Not sure if there are other cases.

Maybe we'll need to investigate this a bit for your PR on improving filter @theo-m , since we don't want to fill the users memory.

Maybe we'll need to investigate this a bit for your PR on improving filter @theo-m , since we don't want to fill the users memory.

I'm a bit unclear on this, I thought the point of the refactor was to use Table.filter to speed up our own .filter and stop using .map that offloaded too much stuff on disk.
At some point I recall we decided to use keep_in_memory=True  as the expectations were that it would be hard to fill the memory?

I'm a bit unclear on this, I thought the point of the refactor was to use Table.filter to speed up our own .filter and stop using .map that offloaded too much stuff on disk.
At some point I recall we decided to use keep_in_memory=True as the expectations were that it would be hard to fill the memory?

Yes it's ok to have the mask in memory, but not the full table. I was not aware that the table returned by filter could actually be in memory (it's not part of the pyarrow documentation afaik).
To be more specific I noticed that every time you call filter, the pyarrow total allocated memory increases.
I haven't checked on a big dataset though, but it would be nice to see how much memory it uses with respect to the size of the dataset.

I have addressed your comments @theo-m @albertvillanova ! Thanks for the suggestions

I totally agree with you. I would have loved to use inheritance instead.
However because pa.Table is a cython class without proper initialization methods (you can't call __init__ for example): you can't instantiate a subclass of pa.Table in python.
To be more specific, you actually can instantiate a subclass of pa.Table with no data BUT this is not a valid table so you get an error.
And since pa.Table objects are immutable you can't even set the data in __new__ or __init__.

@lhoestq, but in which cases you would like to instantiate directly either InMemoryTable or MemoryMappedTable? You normally use some of their from_xxx methods...

Yes I was thinking of these cases. The issue is that they return pa.Table objects even from a subclass of pa.Table

That is indeed a weird behavior...

I guess that in this case, the best approach is as you did, using composition over inheritance...
https://github.com/apache/arrow/pull/5322

@lhoestq I think you forgot to add the new classes to the docs?

Yes you're right, let me add them


[rv_core_ibex,RAM] Setup violation from the RAMs

Description
Opening an issue with the email content.
"
The issue here seems to be that the address from the instruction side port on Ibex somehow factors into the grant signal going back to the data side port on Ibex via the xbar and sram_ctrl.
I suspect this is something to fix in the xbar or maybe the sram_ctrl. The grant is telling the data side whether or not its request is accepted and whilst it's reasonable for this to factor in other requests (i.e. from the instruction side port) it'd be preferable if it didn't factor in the address.
I think I can understand why, if the instruction side is fetching from SRAM and the data side is reading from something else (e.g. a device) they could both proceed. However as we're also aiming for single cycle response this gives us the huge paths we're seeing in this report.
A few possibilities here, one would be not factor the address in at all to the grant (so the xbar would disallow two simultaneous requests even if they could physically both be dealt with together). Another would be to use some static priority scheme that understands the instruction port can only access parts of the system. So data port can only get a grant if the instruction port is also requesting access at the same time if the data side isn't going to sram or flash or ROM.
Another would be to add a register stage to the instruction side request. The single cycle access time is critical for performance on the data side only as there's no cache where we do have an icache on the instruction side.
We may also be able to get the instruction address and request out earlier from Ibex. We'd still have this big long path but chopped down just enough to meet timing!
Really we should look at both, as the Ibex only fix will be a good improvement to Ibex and it'd be good to reduce the feedthroughs our xbar introduces.
"
@GregAC @arnonsha

This setup violation may be partially addressed by removal of the diffusion layer in the SRAM scrambling devices (#20855).
We should wait for another PD run before optimizing things in this area since any change will likely be architectural and have performance impact.

Triaging this into M4.
We addressed this partially by removing the S&P layer in the SRAM scrambling circuits and are now waiting for new synthesis results, which we likely won't get before M2.

@GregAC: To check if this is covered in #22462. If it is, this can be closed.

I've reviewed the original timing reports and yes this is covered by #22462


Reactive statement is executed twice when load() returns an object

Describe the bug
When a modules load() function return an object as a result, reactive statements depending on this result is run twice in the components initializing block receiving the property from the load function. If a simple value is returned the reactive statement only runs once, as expected.
Reproduction
Bug?
This will result in the value being printed twice to the console
<script context="module">
    export  function load() {
        return {
            props: {
                value: { name: "john" } // we return an object which results in the reactive statement being executed twice
            }
        };
    }
</script>
<script>
    export let value;
    $: console.log(value);
</script>

Expected behaviour
Returning a simple value will only make the reactive statement run once
<script context="module">
    export  function load() {
        return {
            props: {
                value: 42 // we return a simple value which results in the reactive statement being executed only once
            }
        };
    }
</script>
<script>
    export let value;
    $: console.log(value);
</script>

Logs
No response
System Info
System:
    OS: Windows 10 10.0.19044
    CPU: (16) x64 11th Gen Intel(R) Core(TM) i9-11900K @ 3.50GHz
    Memory: 40.12 GB / 63.86 GB
Binaries:
    Node: 16.12.0 - C:\Program Files\nodejs\node.EXE
    npm: 8.1.0 - C:\Program Files\nodejs\npm.CMD
Browsers:
    Edge: Spartan (44.19041.1266.0), Chromium (102.0.1245.39)
    Internet Explorer: 11.0.19041.1566
npmPackages:
    @sveltejs/adapter-node: ^1.0.0-next.78 => 1.0.0-next.78
    @sveltejs/kit: next => 1.0.0-next.350
    svelte: ^3.48.0 => 3.48.0

Severity
annoyance
Additional Information
No response

I can not reproduce this.
Can you create a reproduction on https://node.new/sveltekit or as a github repository?

Sorry it needed an update of the session object which I was doing in a __template.svelte component. Here is a isolated example (I updated the code above as well):
https://stackblitz.com/edit/sveltejs-kit-template-default-iifuia?file=src/routes/index.svelte
So the problem seems to be that when updating the session the reactive statement will run again if load() returns and object but not if it returns a simple value. Notice that reactive statement doesn't have anything to do with the session being updated

The load function is running again when changing the $session, so the props gets updated.
If value is 42 the reactive statement does not trigger a rerun, because 42 === 42, so nothing changed. If value is an object, the reactive statement reruns, because {} !== {}.
But AFAIK, the load function should only rerun, if the session is used inside the load function.

good catch. I don't think it should be the intention, but if it is documentation of what/why it is happening is probably required :-)

This seems to be a svelte problem e.g. https://github.com/sveltejs/svelte/issues/5689 (and many more) so closing this issue


Add text to reanimated addWhitelistedNativeProps

Fixes issue https://github.com/axelra-ag/react-native-animateable-text/issues/4

Nice! Thanks a lot! I tried it as well, and while it seemed to update the layout (e.g. the viewbox of the text), it somehow did not update the text itself. Does this also happen to you?
However, I did not yet try with Reanimated RC2. I will experiment a bit with it tomorrow.

Nice! Thanks a lot! I tried it as well, and while it seemed to update the layout (e.g. the viewbox of the text), it somehow did not update the text itself. Does this also happen to you?
However, I did not yet try with Reanimated RC2. I will experiment a bit with it tomorrow.

I tried with Reanimated RC2 and it works again! Even without whitelisting the props.
But this is best practice according to documentation, so I'm going to merge it nonetheless! Hope this way it will not break in the future. Thanks!

I tried with Reanimated RC2 and it works again! Even without whitelisting the props.
But this is best practice according to documentation, so I'm going to merge it nonetheless! Hope this way it will not break in the future. Thanks!


"Invalid access token, reason: None" with access token from OAuth

I'm new to both Django and spotipy, and am trying to get my currently playing track.
This is what I have thus far:
def home(request):
	sp = spotipy.Spotify(auth_manager=SpotifyOAuth(client_id="<my_token>",
                                               client_secret="<my_secret>",
                                               redirect_uri="http://localhost:8000/callback/",
                                               scope="user-library-read user-read-currently-playing"))
	results = sp.search(q='weezer', limit=20)
	return render(request, 'overview/dashboard.html')

def overview(request):
	code = request.GET.urlencode().split("=")[1]
	print(code, 'is code') # code (token) is returned
	if code:
		songs = []
		sp = spotipy.Spotify(auth=code)
		results = sp.current_user_saved_tracks()
		print(results)
		for idx, item in enumerate(results['items']):
			track = item['track']
			songs.append(track['artists'][0]['name'])
			return render(request, 'overview/dashboard.html', {'songs': songs})
	else:
		return 200

it appears I have to include the line results = sp.search(q='weezer', limit=20) or nothing happens.
Anyway, when I click allow on Spotify's popup and get to the callback, with a token, I get the following error
SpotifyException at /callback/
http status: 401, code:-1 -https://api.spotify.com/v1/me/tracks?limit=20&offset=0:
 Invalid access token, reason: None

What exactly is going wrong here? Any help would be appreciated, and apologies for the ugly code!

The variable code in def overview(request) is probably the authorization code, as described in the authorization guide, not the access token, which is what the auth parameter of Spotify expects. The Spotify web API does not return access tokens in query strings.
More importantly, though, why are you trying to implement the authorization process yourself? spotipy already has authorization managers that do that for you: SpotifyClientCredentials, SpotifyOAuth, SpotifyPKCE, and SpotifyImplicitGrant. You're making things more complicated than they need to be. All you need to do is the following:
from spotipy import Spotify, SpotifyOAuth

spotify = Spotify(
    auth_manager=SpotifyOAuth(
        client_id="client_id",
        client_secret="client_secret",
        redirect_uri="http://localhost:8080/callback/",
        scope="user-library-read user-read-currently-playing"
    )
)

results = spotify.current_user_saved_tracks()
print(results)
songs = []
for idx, item in enumerate(results['items']):
    track = item['track']
    songs.append(track['artists'][0]['name'])

Do not create a new instance of Spotify for each request, which is what you appear to be doing; that doesn't make sense.
Instead, create an instance of Spotify as a global variable and use it in each request. If you need more help, you need to post more code. It's hard for me to figure out what exactly you're trying to do, especially given the fact that the functions you posted don't call each other and I have no idea what the request parameter of the overview function is.

Thanks @Peter-Schorn! Much appreciated.
Everything you're saying makes total sense, and it now works just fine.


Allow passing certificates as strings

Q
A

Bug?
no

New Feature?
yes

Version
6.3.2 on Ubuntu 17.10 with self-built PHP 7.1.5

TLDR: It would be nice if PEM data could be passed directly as string in the  cert and ssl_key options.
The "cert" and "ssl_key" options currently require a path to a PEM encoded file as value. This requires that the certificate and its key are stored in a locally accessible storage. Sometimes one does not want that, but only wants to hold certificates in memory (e.g. they are retrieved from some configuration distribution service, from an environment variable, or similar).
It does not seem possible to pass the certificates as a string. I've played around with stream wrappers (e.g. using a file name like data://text/plain;base64,SSBsb3ZlIFBIUAo=), but that results in a "file not found" error. This error seems to come directly from OpenSSL or curl.

The problem is that libcurl has no API for passing keys as strings (only as files). So this solution would require Guzzle to temporarily store them as files which would involve a lot of checks, cleanups, etc and it's not something that Guzzle should do.
I'm afraid this is not something that we can implement in Guzzle right now.

Isso já é possível hoje @sagikazarmark ? Estou querendo passar como string..


Lazy-load emails

Perhaps check for scrolling, and load all visible emails and ten above and ten below?  Something like $('#mail').each() to check.

Potentially, instead of lazy-loading, we could just load it in pages of 250 emails.

We now load 250 emails at a time with the option to load more.  We need to preferably automatically more emails or alternatively style the button now.


Reloading caddy doesn't update import directive

1. What version of Caddy are you using (caddy -version)?
Caddy 0.10.5
2. What are you trying to do?
Reload caddy server and pickup the new domain/s added via include.
3. What is your entire Caddyfile?
import /root/.caddy/vhosts/*

4.  Please paste any relevant HTTP request(s) here.
N/A

6. What did you expect to see?
New domains found and activated.
7. What did you see instead (give full error messages and/or log)?
After this the newly added domains aren't accessable.
2017/07/30 04:46:21 [INFO] SIGUSR1: Reloading
2017/07/30 04:46:21 [INFO] Reloading
2017/07/30 04:46:21 [INFO] Reloading complete

8. How can someone who is starting from scratch reproduce the bug as minimally as possible?
echo -e "import $(pwd)/vhosts/*" > Caddyfile
mkdir vhosts
echo -e "example.com {\n    tls off\n    proxy / google.com\n}" > ./vhosts/example.com
caddy --conf ./Caddyfile --log stdout

In another terminal window run this in the same directory.
echo -e "example2.com {\n    tls off\n    proxy / google.com\n}" > ./vhosts/example2.com
pkill -USR1 caddy

At this point I would expect that the import directive would have seen the new files and loaded them as well. Yet example2.com isn't accessible until I restart caddy completely.

Huh, works for me:
Activating privacy features... done.
http://localhost:2015
2017/07/31 10:56:28 http://localhost:2015
http://localhost:2016
2017/07/31 10:56:28 http://localhost:2016
2017/07/31 10:57:01 [INFO] SIGUSR1: Reloading
2017/07/31 10:57:01 [INFO] Reloading
2017/07/31 10:57:01 [INFO] Reloading complete
2017/07/31 10:57:01 http: Server closed
2017/07/31 10:57:01 http: Server closed

This is my Caddyfile:
import testfiles/*

And this is the contents of testfiles:
test1:
localhost:2015 {
}

test2:
localhost:2016 {
}

Then I start Caddy, and create this new file:
localhost:2017 {
}

When I reload with USR1, I can load localhost:2017 in my browser, as expected... can you see this as well? Your output (if run with -log stderr) should be exactly the same (except for times) as shown above.

Can you try it with different domains? Seems localhost with different ports works fine as you state.

@OmgImAlexis As in, take the same setup I've replied with and just change localhost to example.com and sub.example.com (but obviously with a real domain I own)? And you can recreate it by doing that?

Yes that exactly.

Hmm, it works for me with real domains too. I even followed your exact bash script instructions. Are you sure you're accessing the right ports and hostname? (Turning TLS off also turns off automatic HTTPS, as you know, so the port will be the default 2015.)

Checking up on this, @OmgImAlexis - have you any new insights? Try slowly turning the config that exhibits the issue for you into my config slowly/gradually, and see if/when it starts working.

So I can close this, looks like caddy doesn't start serving anything until the reload is completed and I was just being too impatient.


Add wave 3 + HCA data providers

Add Data Providers for Wave 3 plus HCA to ingest-ui/ingest-api/entity-api/commons per https://docs.google.com/spreadsheets/d/1BLXxy8hOv13W1JFTzXb3L7EoaitqWig6GnrOCaSee78/edit?usp=sharing

Will also need to create the UUID dir on PSC file system

@shirey in addition to all the 11 newly added data providers, I also noticed that the displayname of University of California San Diego TMC is renamed to University of California San Diego TMC focusing on kidney. Are we supposed to renamed the directory name on the PSC file system too?

Changed back to old displayname: University of California San Diego TMC via https://github.com/hubmapconsortium/commons/commit/da9b1494332250bded832f0987721893c68b69a9

This needs to be fully tested against users with all types of group memberships.  A blip was noticed by Zhou when, possibly, a user is a member of a single lab/data provider group and the data admin group.


Travis CI

Integration with Travis CI would be very useful!
This might be a little tricky because I'm envisioning a test suite that would leverage multiple DB backups being run along with the test suite, I haven't researched if this is currently possible in Travis.
For local development maybe a docker-compose file would help recreating all databases required for the test suite to run.
All ideas and help is greatly appreciated!

CI tests were introduced with #10 but not to the extent I wanted. We're still lacking tests that execute a sample "dump" on different supported databases. For now it's just assertions for the parameters sent to the commands to be run (pg_dump/mysqldump/etc).
This is because it was very challenging to setup these tests and at the same time cover multiple Ruby & DB versions. So for now we do have Continuous Integration with a sample test suite, but I'll keep this issue open in case anyone thinks of a way to improve our coverage and the fidelity of the test suite.


GCC -fpermissive fixes

I tested this for building.  I took first the patch that removes -fpermissive on Ubuntu and indeed h.265 decoder build was broken, then I applied the decoder/h265 patch.  Same happened with encoder/vp8 patch.  This is Ubuntu 15.10 with gcc version (Ubuntu 4.9.2-10ubuntu13). I did not do any functional testing on the affected codecs.

The patch series itself lgtm +1

+1, thanks uartie and daniel

merged as 9ff3d14702b29cb1662db17776ca6da6c8ac575a
thanks all


Created impl Nl for u64

One of the common types found when dealing with Generic Netlink is u64. This PR adds an implementation of the Nl trait for u64 so that these values can be easily deserialized by neli when reading Netlink messages.
You can use the new impl to parse Netlink attrs link this:
    let peer_attr_handle: neli::nlattr::AttrHandle<'_, u16> = ...;
    let recieved_bytes: u64 = peer_attr_handle.get_payload_with::<u64>(PEER_RECIEVED_BYES_ATTR, None).unwrap();

The implementation is defined in basically the same way as the other impls for unsigned integers are.
A test that works like the others was also added to src/lib.rs.
This pr addresses #11.

@Dieff This looks good. Before I merge this, I just want to make sure you're okay with what's been pushed to master recently. What's the most recent version of neli you're using? I've been using master for v0.4.0 so there are some backwards incompatible changes with 0.3.x. If this is a problem, We should organize around getting a release branch set up for a revision release and doing a PR targeting that.

This is an excellent reason for me to resurrect the dev branch and will do that after the 0.4.0 release so master stays frozen at the latest release and dev is future release work.

I've updated the dependencies in my project to use my fork of your latest master so that won't cause any problems for my project. I plan to upgrade to 0.4.0 once it's released on crates.io.
I'd be happy to open any future PRs against the 'dev' branch. IMO that makes sense as a way to do future work on neli.

Disclaimer: maybe this should be a separate issue. This PR does raise a question for me. There are a number of types that I have run into working with Netlink so far that I think could potentially have impl Nl for ...s such as struct sockaddr_in and struct timespec. When a user of neli gets these values as part of a Netlink message and wants to deserialize them how are they expected to do this? It seems to me that there are basically two options: create an implementation of Nl for that new type and then call nl_attr::AttrHandle::get_payload_with or access the raw payload via nl_attr::AttrHandle::get_atribute().payload. The first way makes the deserialization code much cleaner IMO.
When you create a new implementation for Nl and a new type outside of Neli and in your own code you run into Rust's rules about orphan impls. So if you wanted to define impl Nl for libc::timespec for example (I'm pretty sure this makes sense to do? Please correct me if it does not) then you have to create your own definition for libc::timespec instead of using the one from the libc crate. Maybe there is some way that this could be easier?

@Dieff First off, yes, I'd love to discuss the above problem in a separate issue. Please open one and we can discuss how we'd like to resolve it there. I can't imagine you're the only one who will bump into this so I'd like to come up with a story for how to actually address this and document this with your help. Thanks for bringing this to my attention!
 Thank you for your contribution!


GROOVY-7781 - Cannot retrieve XML attribute with namespace

This change broke another test that asserted that an unprefixed attribute's namespace is the default namespace, but default namespace declarations do not apply to attribute names, see https://www.w3.org/TR/xml-names/#defaulting.

The namespace name for an unprefixed attribute name always has no value.

Awesome thanks for doing this! I'm not a Groovy developer, but I did look at the code and it looks like the changes I'd expect for this, but more so I can confirm the unit test added should both replicate the original bug as well as confirm the fix.

+1

I created https://issues.apache.org/jira/browse/GROOVY-7808 since part of this fix includes having to change an existing test.  Will give it a couple days to see if there is any feedback.


chore(main): release 1.3.5

:robot: I have created a release beep boop
1.3.5 (2023-02-07)
Bug Fixes

修复加载动画快捷栏层级 (fa83f6d)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/School-of-Website-Engineering/TinyWaste/releases/tag/v1.3.5 :sunflower:


Submission part little translation,And the language is Chinese.

Please adopt.If you cannot adopt it,i will submit to the project

I think it's very wrong....so you can skip the requests