TrackPlayer.addEventListener in registerPlaybackService

Configuration
System:
OS: Windows 10
CPU: (8) x64 Intel(R) Xeon(R) CPU E3-1505M v6 @ 3.00GHz
Memory: 14.22 GB / 31.82 GB
Binaries:
Node: 11.14.0 - C:\Program Files\nodejs\node.EXE
npm: 6.8.0 - C:\Program Files\nodejs\npm.CMD
IDEs:
Android Studio: Version  <IP_ADDRESS> AI-191.8<IP_ADDRESS>91312
"react-native-track-player": "^1.1.8"
Issue
I have problem with TrackPlayer.addEventListener in registerPlaybackService
The problem is I'm using RNRestart for restart react native after changing language, after restarting using RNRestart.Restart(); registerPlaybackService is getting called but event listener is not working for remote-* button in notification
Code
index.js
AppRegistry.registerComponent(appName, () => App);
TrackPlayer.registerPlaybackService(() => require('./tracker-service'));

tracker-service.js
import TrackPlayer from 'react-native-track-player';

module.exports = async function () {
    TrackPlayer.addEventListener('remote-play', async () => await TrackPlayer.play());

    TrackPlayer.addEventListener('remote-pause', async () => await TrackPlayer.pause());

    TrackPlayer.addEventListener('remote-stop', async () => await TrackPlayer.stop());

    TrackPlayer.addEventListener('remote-jump-backward', async () => { TrackPlayer.seekTo(await TrackPlayer.getPosition() - 15); });

    TrackPlayer.addEventListener('remote-jump-forward', async () => { TrackPlayer.seekTo(await TrackPlayer.getPosition() + 15); });

    TrackPlayer.addEventListener('remote-next', async () => await TrackPlayer.skipToNext());

    TrackPlayer.addEventListener('remote-previous', async () => await TrackPlayer.skipToPrevious());
}

My problem solved by using TrackPlayer.destroy() before using RNRestart.Restart()


in some games turning the wheel turns the cam

in some games turning the wheel turns the camera  for example forza horizon 4

I have already tried

This is not an issue with this program. Closing.


Data ai grpc endpoint

added a simple grpc endpoint for DataAI service

this pr closes #89

this pr closes #89


Error when using only variable placeholder in the texts for internationalization

Bug Description
When I use only the variable placeholder in the texts for internationalization, then an error is shown.

Error Code
Then it shows this PHP Code Sniffer error: "Strings should have translatable content"
But it shouldn't show this error, using only the placeholder should be just fine.
Environment
| PHP version             | 7.1.11
| PHP_CodeSniffer version | 3.4.0
| WPCS version            | 2.0.0
| WPCS install type       | Composer global
| IDE (if relevant)       | Eclipse Neon.3 Release (4.6.3)

@ramonamorea Sorry, but no, this is not a false positive as there is no text string to translate.
Calling a translation function without translatable text is unnecessary overhead and useless, quite apart from wasting the time of translators who can't do anything with "string" like that.
Your code - based on the above code sample - should probably be changed to something along the lines of:
    echo esc_html( $message );
    // or
    echo wp_kses_post( $message );

Closing as duplicate of #1537.


⚠ Bofrost.lu has degraded performance

In 67e3e7a, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1487 ms

Resolved: Bofrost.lu performance has improved in 5e57686.


adding space

https://cdli.mpiwg-berlin.mpg.de/search?atf_comments=blank+space

The first one only seems to be failing because it has inline comments ($ blank space $).

($ any inline comment $) is acceptable

Right, but I don't think this PR addresses that that syntax isn't implemented yet?

No that one's not implemented yet.


Add shortnames prefixed with f when enabling a type

I signed it

@andersjanmyr The CI failure is due to making a type change without updating the generated code.  Updating the code to avoid a type change (as suggested inline) will fix that problem.

I intermittently get the error concurrent map read and map write.
https://travis-ci.org/kubernetes-sigs/federation-v2/builds/499542063
VersionManager ClusterVersionManager
  should refresh and update after out-of-band creation
  /home/travis/gopath/src/github.com/kubernetes-sigs/federation-v2/test/e2e/version.go:550
fatal error: concurrent map read and map write

@andersjanmyr
Thanks for your effort working on this.
For files under charts/federation-v2/templates/, it is generated code. You can follow Test Your Changes.
After execute:
./scripts/sync-up-helm-chart.sh

You can get updated files under charts/federation-v2/templates/ which helps to fix your error in CI

@xunpan I got passed it and the build is working now. I think it can be merged.

@andersjanmyr Please squash down to a single commit.  Otherwise lgtm.

@marun I have done as you asked. The problem is that the build fails even though I'm pushing the exact same code.

@andersjanmyr I've filed #623 to track the issues related to race detection.  CI should stabilize once #620 and #624 have merged.  The fix for scheduling is less about CI instability as ensuring we can  enable race detection in CI and prevent the introduction of further races.

/ok-to-test

Thank you for your patience!
/approve
/lgtm


udev service: generate hwdb database from all udev packages

With this a proper hwdb database should be generated from services.udev.packages. Because many hwdb files are contained in udev package itself, it was added to services.udev.packages (why wasn't it there, anyway?). Also we now don't dynamically regenerate hwdb.bin in activatiion script, which is a Good Thing IMO.

Why is that a good thing? This makes the system closure bigger.
Also, there  is no udev package anymore, it's just an alias for systemd. And we were definitely using systemd's hwdb files.

First, we have several packages with their own hwdb files, namely libmtp, and sane-backends (the latter doesn't generate them now but I have a PR underway). hwdb can also be used for nice things, for example (my usecase) https://wiki.archlinux.org/index.php/Map_scancodes_to_keycodes#Example_for_custom_hwdb . We don't have any way of adding hwdb files at this time.
Second, right now we are essentially emulating what Nix should do (check if dependencies changed and if they did, rebuild something) inside an activation script which feels inelegant. Also, this makes /etc more immutable (I like the idea of fully immutable /etc sometime in the future). I referred to those tho points as a Good Thing.
I can't understand closure size argument -- if it doesn't reside in /nix/store, it will be generated by an activation script and reside in /etc taking the same space, unless I'm misunderstanding something (I also don't take symlinks, metadata stored by Nix etc. into account).
udev is an alias defined in the module -- I used it for brevity.

Name changed because we indeed do have a proper hwdb database now, it's just composed only of entries from systemd package.

Increases in closure size affect how long it takes to deploy a machine via NixOps, etc. Also, when cached data is stored in /var/cache, we store only one version at a time; by contrast, keeping it in the Nix store might cause us to store many different versions (in the worst case, one for each generation of the system profile).
In the case of hwdb.bin, the size of ~6 MB is not a huge problem, but not entirely trivial either.
As an aside (regarding the immutable /etc): we used to keep hwdb.bin in /var, but for some reason that's no longer the case, even though the systemd Nix expression still has makeFlags = "hwdb_bin=/var/lib/udev/hwdb.bin".

Ah, I see now. Indeed, there is some value in generating cache files on demand then, but I can't see how to do this easily in this case (we now can have multiple dependencies), while also switching to new hwdb on a NixOS switch without a reboot or a manual regeneration.
A quick question: we may want to drop this make flag, but this would be a mass rebuild. I have just pushed (mass-rebuildy) fontconfig updates to staging and Hydra has not yet evaluated them -- maybe quickly throw the patch on a departing train?

I've added a patch to drop our hwdb location changes -- I haven't known about them, and without removing them the patchset is not fully correct. Notice that this makes it a mass rebuild!

Ah, I've looked into systemd source, and it looks like they don't have any make flags anymore, simply having a constant. I've changed the patch to only leave a comment "please remove this sometime later", so this is not a mass rebuild anymore.

@edolstra ping, what do you think? tl;dr: I don't see a simple way to do this in activation script because not only systemd can be a dependency -- it can be done but would be too complex in my opinion for too little gain. Also doing this in Nix should update hwdb database without a reboot, so if we resolve #12790 it would be reloaded automatically on switch, which sounds very nice to have.

@abbradar this is awesome. Up until now I've used a preFixup override for systemd to have a custom rule that I needed. Thank you!


Parallelize assemble megahit

Allow assemble megahit to be parallelized

Reminder that this PR depends on https://github.com/qiime2/q2-demux/pull/145.

@gregcaporaso this is also dependent on qiime2/qiime2#688

Also depends on qiime2/qiime2#690

@gregcaporaso I added two unit tests for running assemble_megahit in parallel, but they currently do not assert anything useful. Would it be sufficient at this time for me to assert that I get the same result both in parallel and in sequence when using the test data?

Blocked by qiime2/q2-demux#145 and qiime2/q2cli#306

The test failures are down to some API changes. I'm not sure it's really worth making them pass until things are more nailed down

Hey @Oddant1, could you please update your branch and resolve the conflicts so that the CI can run in its updated version? Thanks!

@misialq done

Looks like you'll need to add q2-demux to the recipe (it should already be in the shotgun distro so it should just work).

blocking bokulich-lab/q2-moshpit#62

@Oddant1, @misialq - anything I can do to help with this one?

Hey @gregcaporaso, @Oddant1 I'm planning on checking this one out until the end of this week and will get back to you with comments, if any.
@gregcaporaso it would be great if you could help me with the parallelize-kraken one though (https://github.com/bokulich-lab/q2-moshpit/pull/62), although it seems to be blocked by this one... 🤔

@gregcaporaso it would be great if you could help me with the parallelize-kraken one though

On it!

@misialq, the bokulich-lab/q2-moshpit#62 is blocked by this PR because it requires the partition_contigs action from this PR. This is an action that takes a SampleData[Contigs] artifact and splits it into multiple smaller SampleData[Contigs] artifacts, which makes it a fairly fundamental action to parallelizing things in the shotgun distro. The only reason that action is in this PR as opposed to the other one is because I started working on this PR first, so I needed it here first. Would we rather have it exist elsewhere?

Makes sense re: the dependency. I wonder - would it make sense for these partition actions to be in the types repo that defines the type, so the partition functionality is accessible to anything that can access the type? (Not something to change for this release or PR.)


Added "GlTiles" Source

These commits add a new GlTiles tile source.
The general idea is the design of https://gitlab.com/IvanSanchez/Leaflet.TileLayer.GL : each individual tile is the output of a WebGL (fragment) shader, using images from a set of wrapped tilesources as textures.
This implements https://github.com/openlayers/openlayers/issues/10733 by means of wrapping a new thing I called a GlTiledTextureGeotiff - while the (fragment) shader fetches a RGBA vec4 colour from image tile sources, it fetches highp float(s) from the given sample(s) in the given geotiff.js instance(s). I considered it would be a good idea to decouple geotiff.js from the OL code; as a result of that decision, JS developers shall provide GlTiledTextures a reference to the geotiff.js class/constructor/etc.
I added four new examples:

Hypsometric tint + hillshading from mapbox-standard Terrain-RGB tiles (data fetched from @maptiler)
Hillshading + brightness modification from Terrain-RGB tiles plus OSM basemaps
NDVI+NDWI calculation on a non-tiled cloud-optimized geotiff (data provided by @eox-a / @Schpidi )
Normalized true-color rendering of RGB+NIR geotiffs (one geotiff per tile; data provided by @eox-a)

These examples should illustrate how GlTiles work and its potential. I also have the code for an example of an indexed 8-bit geotiff (CORINE landuse).
This is a big PR with lots of code, dubiously-working docstrings and lots of WIP commit messages, so I kinda expect @ahocevar to pick it apart.
I'll appreciate if people interested in COGs ( @davidoesch / @olivierdalang ) could test this out and chip in.

Hey !
Unfortunately I won't be able to properly review the implementation as I'm not well versed in JS nor webgl. I had a look at the examples though, they are very good at showcasing how powerful this is. Great work !! And many thanks for sharing your work.
Some suggestions :

I'd suggest to also include a simpler example, e.g. just showing a geotiff in true colors. I see you have the code already (but commented out) in gltiles-sentinel-ndvi. I think that would definitely be useful for less advanced users (like me :-) ), as it's not completely straightforward to setup (I tried with a different source, but failed, see below).
Likewise, why not include some common shaders as part of this ? Shaders such as shaded relief and true colors would be useful to almost everybody, and would allow for users with simple needs to use your work without having to dive into opengl shaders. Also it's not much more code to maintain.

Encountered issues:
Trying to display an RGB geotiffs from Openaerialmaps (specifically this one) by adapting the gltiles-sentinel-ndvi example (the commented out part about true color), I had the following exception when trying with somewhat big geotiffs :
Uncaught (in promise) RangeError: Array buffer allocation failed
    at new ArrayBuffer (<anonymous>)
    at new Uint8Array (<anonymous>)
    at GlTiledTextureGeoTiff.loadImage_ (GlTiledTextureGeoTiff.js:56)
loadImage_ @ GlTiledTextureGeoTiff.js:56
Promise.then (async)
GlTiles @ GlTiles.js:240
./gltiles-sentinel-ndvi.js @ gltiles-sentinel-ndvi.js:45
__webpack_require__ @ bootstrap:79
checkDeferredModules @ bootstrap:45
webpackJsonpCallback @ bootstrap:32
(anonymous) @ gltiles-sentinel-ndvi.js:1

Culprit line is this.emptyData_ = new Uint8Array(this.width_ * this.height_);. (this.width_=68074 this.height_ = 35141 at that line).
Trying with smaller ones (specifically this one), I don't get the error, but the image stays completely black. I tinkered a bit, but couldn't find how to fix it (maybe I got something wrong with projections?). Here's the latest attempt, adapted from your example : https://gist.github.com/olivierdalang/e9282e801e7ba21703c6c21d2b428a20
Again, many thanks, I'll keep following the PR and am happy to try/test again.

Thanks a lot for your tremendous effort on this @IvanSanchez! To make reviewing easier, would you be able to address the problems found by the CI tasks above? You should be able to fix many of the linter complaints with
npm run lint -- --fix

Let me know if you need additional help for that cleanup process.
I won't complain about the WIP commits :smile:.

would you be able to address the problems found by the CI tasks above?

Yeah, as soon as I'm out of a small npm dependency hell caused by the rebase to main upgrading everything to webpack 4. Just another day as a JS dev, I guess.

the image stays completely black. I tinkered a bit, but couldn't find how to fix it (maybe I got something wrong with projections?)

@olivierdalang The map centre is off, GlTiles requires the projection to be specified both in GlTiles and in the TileLayer, and for some weird reason the green and blue channels of that particular COG are not being decoded properly. I'll be having another look at that data.
Do you think the AWS URLs for those COGs are stable? Adding a OAM example with those should be an easy task, but AFAIK the OL repo is not the place for big(-ish) sample datasets.

@oterral @fredj can you you have a look at this COG implementation since my js fu is non existant

@olivierdalang The map centre is off, GlTiles requires the projection to be specified both in GlTiles and in the TileLayer, and for some weird reason the green and blue channels of that particular COG are not being decoded properly. I'll be having another look at that data.

I tried to add the projection on the layer too, with no more success (neither with that dataset or others from OAM). So I'm eager to see a simple example ;-)

Do you think the AWS URLs for those COGs are stable? Adding a OAM example with those should be an easy task, but AFAIK the OL repo is not the place for big(-ish) sample datasets.

The URLs match the dataset ID, so unless the dataset gets deleted I think they should be stable. I think it's a good source for an example, IMO some of the geotiffs are big enough to be representative of a big dataset (e.g. https://oin-hotosm.s3.amazonaws.com/5fcaf31e673c5600070427b8/0/5fcaf31e673c5600070427b9.tif with 224 mb).

Let me know if you need additional help for that cleanup process.

@ahocevar Indeed, I managed to make eslint not complain much, but there are a few JSDoc syntax error  @openlayers/valid-tsdoc warnings, and my jsdoc-fu isn't strong enough to know what's going on. I'd appreciate a hand.

Sure thing, @IvanSanchez. Do you want me to add commits directly to your branch, or should I submit a pull request against your branch?

Sure thing, @IvanSanchez. Do you want me to add commits directly to your branch, or should I submit a pull request against your branch?

Adding commits to the branch should be the easiest way, I think.

@IvanSanchez I added a commit, now eslint does not report any errors any more. A next step could be to look through the types (i.e. fix things so npm run typecheck) does not report any errors.
But before that, you might want to look into the constructor signatures of the classes you added. For user facing classes, OpenLayers follow the convention to use a single constructor argument with an Object Literal to provide the configuration options. This makes class instantiation less verbose, especially when there are optional arguments.

@ahocevar OK, that should do it.
I saw you added geotiff as a dependency in package.json, to make tsdoc happy about class definitions. This kind of clashes with my idea of detaching the OL code from the GeoTIFF code, since doing an import from 'geotiff' would increase the time webpack takes to bundle everything.
So you have any insight about this? Given that geotiff is now a dependency, I'm kinda tempted to go back to import from 'geotiff'.

geotiff is only included as a development dependency and only used for type checking. You'd still need to include it in your application if you want to actually use it.

GeoTIFF is now handled the same way as proj4: it can be used as ES import in the examples, but it is not a dependency of the ol package, nor of the legacy build. @IvanSanchez, the way you handle GeoTIFF in the code is fine, and it is also the same as we do with proj4.

It looks like something in the new code causes the apidoc task to get stuck in an infinite loop. I need to check what that is.

Infinite loop resolved, and npm run apidoc passes now.

Now that the CI passes, the examples and apidocs are available for preview: https://deploy-preview-11810--ol-site.netlify.app/

The four examples seem to work as expected (despite the comical effect of the error message in the terrain-rgb tiles), but I cannot find the methods specific for GlTiles in https://deploy-preview-11810--ol-site.netlify.app/apidoc/module-ol_source_gltiles-gltiles - in particular, the documentation for the setUniform method is nowhere to be found.

For anything you consider user-facing API, you need to set an @api annotation in the JSDoc.

Not sure if you're still interested in another cool dataset (COG enabled GeoTIFF: https://data.mundialis.de/geonetwork/srv/eng/catalog.search#/metadata/1da8a111-847d-41ee-91bb-3e9b9f5d278f)
Or the direct link: https://data.mundialis.de/geodata/lulc-germany/classification_2019/classification_map_germany_2019.tif
Where this is coming from, there is more, of course.
Enjoy

Reviewing this is going to take a while. I'll be adding my comments in chunks as I work my way through the whole pull request.

@IvanSanchez To make the new classes appear correctly in the API docs, you need to make a few tweaks:

In @typedefs, use the @property annotation, not @param. This is also important for type checking.
You can have separate docs for the constructor and the class.
Because of a flaw in our API doc generation, please splitexport default class Foo {};

intoclass Foo {};
export default Foo;

For one class, I made such a change: https://github.com/ahocevar/openlayers/commit/6d5947a90d55ae0ed467b4cc309c5a91e6529ae9. Feel free to cherry-pick that.
Also a note on naming: There is no need to repeat the previous path segment in the name of your new classes. So you could have a file structure like
GlTiledTexture/
    Base.js
    GeoTiff.js
    GeoTiffTiles.js
    TextureTerrainRGB.js

This name change is really only for the file and module names. The class symbol names can continue to use the long name, so IntelliSense in VS Code and other autocomplete engines work better.
Also note that for abstract base classes, we use Base in the name, not Abstract. This change should also be applied to the class symbol name.

Thanks for your continued effort @IvanSanchez! I just made a force-push to resolve the package-lock.json conflicts, and reverted some of the package.json changes that caused these conflicts. I also pushed 6a675a7 as an example for how the API docs should be fixed (see https://github.com/openlayers/openlayers/pull/11810#issuecomment-744042176). Please change the other user-facing classes accordingly, and also consider my remarks regarding file names.
I'm done with the easy part of the review, nagging about formal odds and ends. Now I'm going to dig into the code.

I cannot comment on the design or code but just as a user who ran across this and wondered what Gee-Eye might stand for. Could you name this GLTiles instead of GlTiles? The lowercase L looks like an uppercase I ("eye"). Since it is WebGL and not WebGl I think this would make sense and it would probably save some hairs later on. ;)

I cannot comment on the design or code but just as a user who ran across this and wondered what Gee-Eye might stand for. Could you name this GLTiles instead of GlTiles? The lowercase L looks like an uppercase I ("eye"). Since it is WebGL and not WebGl I think this would make sense and it would probably save some hairs later on. ;)

Hey! Thanks for working on this @IvanSanchez, really looking forward to see COGs work natively in OL.
I haven't taken the time to dive deep into the code but I've noticed the API expects the user to write GLSL code and specify uniforms for the GlTiles source. Maybe there are ways to reuse part of what has been done for the WebGL points layer? More specifically:

the WebGLHelper utility for simplifying uniforms and attributes handling, among others
the ShaderBuilder utility that takes in a style expressed as JSON, and outputs both a fragment and vertex shader; the idea being that the user does not have to write GLSL him/herself

I get that the way shaders are built for COGs doesn't have much in common compared to vector layers, so this is just a general question/heads-up. Thanks!

Hey! Thanks for working on this @IvanSanchez, really looking forward to see COGs work natively in OL.
I haven't taken the time to dive deep into the code but I've noticed the API expects the user to write GLSL code and specify uniforms for the GlTiles source. Maybe there are ways to reuse part of what has been done for the WebGL points layer? More specifically:

the WebGLHelper utility for simplifying uniforms and attributes handling, among others
the ShaderBuilder utility that takes in a style expressed as JSON, and outputs both a fragment and vertex shader; the idea being that the user does not have to write GLSL him/herself

I get that the way shaders are built for COGs doesn't have much in common compared to vector layers, so this is just a general question/heads-up. Thanks!

* Instead of requiring a tile grid configuration, the `GlTiles` source should pick the tile grid from the first texture sources, and assert that all subsequent texture sources use the same tile grid.

After some consideration, I think the current configuration is the right one. Some texture sources (noise and non-tiled geotiff) do not have a tile grid, and it's possible to have a GlTiles with zero texture sources (for purely synthetic rasters like the mandelbrot set and so).
It is possible to fetch the tile grid (and projection) from the first texture source with those defined, though.

Ideally, the GlTiles source would be able to handle texture sources with different tile grids, but that would probably be more effort than it's worth.

Indeed. Another downside of the current approach is the artifacts when fetching texels from neighboring tiles (e.g. for edge detection or calculating slope from elevation). On the other hand, applying shaders on a per-tile basis (and letting OL cache the shaded result) should perform better on some workloads.

* Instead of requiring a tile grid configuration, the `GlTiles` source should pick the tile grid from the first texture sources, and assert that all subsequent texture sources use the same tile grid.

After some consideration, I think the current configuration is the right one. Some texture sources (noise and non-tiled geotiff) do not have a tile grid, and it's possible to have a GlTiles with zero texture sources (for purely synthetic rasters like the mandelbrot set and so).
It is possible to fetch the tile grid (and projection) from the first texture source with those defined, though.

Ideally, the GlTiles source would be able to handle texture sources with different tile grids, but that would probably be more effort than it's worth.

Indeed. Another downside of the current approach is the artifacts when fetching texels from neighboring tiles (e.g. for edge detection or calculating slope from elevation). On the other hand, applying shaders on a per-tile basis (and letting OL cache the shaded result) should perform better on some workloads.

I cannot comment on the design or code but just as a user who ran across this and wondered what Gee-Eye might stand for. Could you name this GLTiles instead of GlTiles? The lowercase L looks like an uppercase I ("eye"). Since it is WebGL and not WebGl I think this would make sense and it would probably save some hairs later on. ;)

I don't have a strong opinion on this. Perhaps @ahocevar can weight in?

I cannot comment on the design or code but just as a user who ran across this and wondered what Gee-Eye might stand for. Could you name this GLTiles instead of GlTiles? The lowercase L looks like an uppercase I ("eye"). Since it is WebGL and not WebGl I think this would make sense and it would probably save some hairs later on. ;)

I don't have a strong opinion on this. Perhaps @ahocevar can weight in?

Hey! Thanks for working on this @IvanSanchez, really looking forward to see COGs work natively in OL.

Hey @jahow, it's not gonna be native, because there's still a need for geotiff.js ;-)

I haven't taken the time to dive deep into the code but I've noticed the API expects the user to write GLSL code and specify uniforms for the GlTiles source. Maybe there are ways to reuse part of what has been done for the WebGL points layer?

No, unfortunately I don't think so. The logic for points involves some predefined attributes and uniforms and matrix transformations, but the logic for tiles involves a trivial vertex shader and a user-defined fragment shader. I didn't see a lot of overlap at first, so my approach was to copy-pasteport most of the Leaflet.TileLayer.GL logic.
There are some small utility parts that could be reused (e.g. compiling a program given shaders) but I feel like the gains are minimal at this stage.
On the other hand, I have some very opinionated views on how WebGL should be wrapped (see https://ivan.sanchezortega.es/development/2021/01/06/introducing-glii.html )
And, yes, this whole thing should reuse an already existing context from the map instance, and render to framebuffers, in order to streamline the workflow and save one context. But, alas, the architecture of OpenLayers eludes me.

Hey! Thanks for working on this @IvanSanchez, really looking forward to see COGs work natively in OL.

Hey @jahow, it's not gonna be native, because there's still a need for geotiff.js ;-)

I haven't taken the time to dive deep into the code but I've noticed the API expects the user to write GLSL code and specify uniforms for the GlTiles source. Maybe there are ways to reuse part of what has been done for the WebGL points layer?

No, unfortunately I don't think so. The logic for points involves some predefined attributes and uniforms and matrix transformations, but the logic for tiles involves a trivial vertex shader and a user-defined fragment shader. I didn't see a lot of overlap at first, so my approach was to copy-pasteport most of the Leaflet.TileLayer.GL logic.
There are some small utility parts that could be reused (e.g. compiling a program given shaders) but I feel like the gains are minimal at this stage.
On the other hand, I have some very opinionated views on how WebGL should be wrapped (see https://ivan.sanchezortega.es/development/2021/01/06/introducing-glii.html )
And, yes, this whole thing should reuse an already existing context from the map instance, and render to framebuffers, in order to streamline the workflow and save one context. But, alas, the architecture of OpenLayers eludes me.

Hey @jahow, it's not gonna be native, because there's still a need for geotiff.js ;-)

Haha, even better actually ;)

No, unfortunately I don't think so. The logic for points involves some predefined attributes and uniforms and matrix transformations, but the logic for tiles involves a trivial vertex shader and a user-defined fragment shader.

Fair point. I'm always a bit worried of asking users to write GLSL code, but there are probably ways to offer presets of some sort eventually. And it's great to have the possibility to write completely custom shaders, no doubt.
@ahocevar will probably have interesting input following his review, let me know if I can be of any help as well.

Hey @jahow, it's not gonna be native, because there's still a need for geotiff.js ;-)

Haha, even better actually ;)

No, unfortunately I don't think so. The logic for points involves some predefined attributes and uniforms and matrix transformations, but the logic for tiles involves a trivial vertex shader and a user-defined fragment shader.

Fair point. I'm always a bit worried of asking users to write GLSL code, but there are probably ways to offer presets of some sort eventually. And it's great to have the possibility to write completely custom shaders, no doubt.
@ahocevar will probably have interesting input following his review, let me know if I can be of any help as well.

This is a ton of really nice functionality.  I appreciate all the work you did adapting your Leaflet plugin and putting it together for OpenLayers, @IvanSanchez.
I'm hoping we can extend the WebGL rendering capabilities of OpenLayers in a way that provides a foundation for continued enhancements and provides an API that feels consistent for users.  I've proposed #12008 as an alternative to the approach you've put together here.  It doesn't yet provide all of the same functionality, but I think it makes for a solid start.
One significant difference is that #12008 proposes a new WebGL layer renderer - so instead of using the Canvas 2D renderer to re-render tiles generated with WebGL, it uses WebGL throughout.  I've also proposed a generic "data tile" class that is meant to work with any TypedArray data (like the results of parsing a GeoTIFF with geotiff.js for example).  The new WebGL tile layer works with tiles of this type (in addition to regular image tiles).  Instead of having users customize shaders directly (which we still could do), I've extended the style functionality that @jahow has been working on for vector data – and I think this can be used for filtering, applying band math, etc.
I apologize for proposing a competing implementation instead of working with you to adapt this, but I feel like the approaches are different enough that that probably wouldn't make sense.

This is a ton of really nice functionality.

Thanks @tschaub :smile:

[...] #12008 proposes [...] a generic "data tile" class that is meant to work with any TypedArray data (like the results of parsing a GeoTIFF with geotiff.js for example). The new WebGL tile layer works with tiles of this type (in addition to regular image tiles).

I think the "data tile" approach in #12008 is very promising, but there are a few things I don't agree with. I hope you won't mind me jumping into #12008 and writing some critiques.

I apologize for proposing a competing implementation instead of working with you to adapt this, [...]

I'm unsure on how to proceed TBH. The difference between implementations feels like it's at that twilight point between being similar enough to merge and being different enough to compete so I cant make up my mind right now :grinning:


StoryPins remain the same when changing chapters

When you have a story with multiple chapters and switch between them there is no change on the storypins that get shown.

re-opening. Seems to be still happening on prod. Just published https://mapstory.org/story/american-political-development-august-4/ and I see pins for chapter 2 on chapter 1.


Error in HostingEngine.Start

After updating to Beta8, I get an error when I call HostingEngine.Start. I am hosting ASP.NET 5 using DNX in a Windows service. This has worked up until Beta8. The issue is critical for us. The failure is ultimately in DNX when it tries to resolve IRuntimeEnvironment. The problem is not that the service is not registered, but the fact that CallContextServiceLocator.Locator.ServiceProvider is returning null. This happens because the implementation is using CallContext.LogicalGetData. Since DNX is bootstrapped on the main thread, this is returning null when accessed from the thread that calls ServiceBase.OnStart.
System.InvalidOperationException: Failed to resolve IRuntimeEnvironment
at Microsoft.Dnx.Runtime.RuntimeEnvironmentHelper.GetRuntimeEnvironment()
at Microsoft.Dnx.Runtime.RuntimeEnvironmentHelper.<>c.<.cctor>b__10_2()
at System.Lazy1.CreateValue()  at System.Lazy1.LazyInitValue()
at System.Lazy1.get_Value()  at Microsoft.Dnx.Runtime.RuntimeEnvironmentHelper.<>c.<.cctor>b__10_0()  at System.Lazy1.CreateValue()
at System.Lazy1.LazyInitValue()  at System.Lazy1.get_Value()
at Microsoft.Dnx.Runtime.FrameworkReferenceResolver.GetReferenceAssembliesPath()
at Microsoft.Dnx.Runtime.FrameworkReferenceResolver.GetFrameworkInformation(FrameworkName targetFramework)
at System.Collections.Generic.DictionaryExtensions.GetOrAdd[TKey,TValue](IDictionary2 dictionary, TKey key, Func2 factory)
at Microsoft.Dnx.Runtime.FrameworkReferenceResolver.TryGetAssembly(String name, FrameworkName targetFramework, String& path, Version& version)
at Microsoft.Dnx.Runtime.ReferenceAssemblyDependencyResolver.GetDescription(LibraryRange libraryRange, FrameworkName targetFramework)
at Microsoft.Dnx.Runtime.ApplicationHostContext.Initialize(ApplicationHostContext context)
at Microsoft.Dnx.ApplicationHost.RuntimeLibraryManager.<>c__DisplayClass1_0.<.ctor>b__0()
at System.Lazy1.CreateValue()  at System.Lazy1.LazyInitValue()
at System.Lazy1.get_Value()  at Microsoft.Dnx.ApplicationHost.RuntimeLibraryManager.GetLibrary(String name)  at Microsoft.AspNet.Server.Kestrel.KestrelEngine..ctor(ILibraryManager libraryManager, ServiceContext context)  at Microsoft.AspNet.Server.Kestrel.ServerFactory.Start(IFeatureCollection serverFeatures, Func2 application)
at Microsoft.AspNet.Hosting.Internal.HostingEngine.Start()
at MyDnxService.Program.OnStart(String[] args)
I know you plan to changing CallContextServiceLocator. Will this be fixed, if so when? This is a huge dealbreaker and a loss of a lot of development time if this is not fixed.
Here is a link to the a paired down repo with the issue. The code in the repo works. If you upgrade the application to beta8 (in project.json) and reinstall the service, you will see the error.
Please let me know if you need more information.

Looks similar to https://github.com/aspnet/Mvc/issues/3296.
Also https://github.com/aspnet/Hosting/issues/30#issuecomment-154993775

Exactly. I didn't see that post. David's workaround should fix it, but hopefully there will be something done to alleviate the need for the workaround.
Thanks.

This error shouldn't happen in rc1


Spconv1.0 problem

Hello, thank you very much for your work.
I have a problem compiling SPconv1.0 and have been unable to resolve it.
Could you please provide me with your compiled spconv1.0.whl?
Thank you very much

Was there a specific resolution to this issue? I have also tried to install spconv1.0 using their directions, but am encountering issues (similar to this) when running the code. I am trying to resolve these in spconv, but because the issues and solution target newer versions, it is non-trivial to backport to v1.0.


fix: hmr for assets

Fixes: https://github.com/vitejs/vite-plugin-react/issues/165

Expected various break of existing test on the exact matching of path. I will fix them once we agree on the fix!

/ecosystem-ci run

SvelteKit and Vitest are new failures in the ecosystem-ci run above. It is getting a bit difficult to work with so many reds in the results. But maybe better to check these two before merging.

Maybe merging main and re-run could also be a good idea.

Totally related:
vitest: expected '/src/node_modules/file.mp3?t=16860633…' to be '/src/node_modules/file.mp3'
svletekit:
      -   "http://localhost:5173/src/routes/asset-import/small.png",
      -   "http://localhost:5173/src/routes/asset-import/large.jpg",
      +   "http://localhost:5173/src/routes/asset-import/small.png?t=1686063253094",
      +   "http://localhost:5173/src/routes/asset-import/large.jpg?t=1686063253094",

I think it's a bit borderline a breaking change that it would be easier to move it to Vite 5. Some user apps who used ?url might not anticipated the path to contain queries too.

Ok, let's move it to Vite 5 👍🏼


Add "Nobody" system user group.

First commit adds "Nobody" system user group and also includes a migration for existing realms.
Second commit is to fix a comment in one of the old migrations.

Self-review checklist

[ ] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[ ] Explains differences from previous plans (e.g., issue description).
[ ] Highlights technical choices and bugs encountered.
[ ] Calls out remaining decisions and concerns.
[ ] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[ ] Each commit is a coherent idea.
[ ] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[ ] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

Is there anything we need to do to make sure this group functions correctly as a permission?

We currently do not allow to add or remove members from system groups using API. So, the group should always remain empty and this should be enough.

But maybe we need to add an allow_nobody default true option for access_user_group_for_setting as a follow-up? I think it's probably OK to allow the "nobody" system group for most settings, including the one that we have using that function (an administrator can always change the setting back, but there's probably others where it'd break things if nobody had the permission).

I had a question related to this. Are we fine with having such multiple variables like allow_nobody_group? Like there might be some settings for which we only want to allow a couple of options, like limited guest setting where we discussed to provide two options for start - Everyone and Members and above. So, for such settings we might want to have variables like allow_full_members_group, or we can just consider such settings with too few options and handle those separately and not inside  access_user_group_for_setting .

Yes, I was thinking the same about passing group name list. I guess we can probably add allow_nobody_group parameter for now and then can handle the limited guest setting while implementing it.


[CHORE] More Parquet benchmarking

Adds a naive "whole file downloader" read method
Adds stub for a native Daft read_parquet Table method
Adds more configurations of benchmarks (one column vs multi-column vs multi-sparse-columns vs all columns)

/benchmark

/benchmark

/benchmark

/benchmark

/benchmark


./stop.sh: line 16: blockade: command not found

Describe the bug
When running ./stop.sh to stop the running nodes that are created by executing ./start.sh, the following error appears (although the nodes appear to successfully stop running):
./stop.sh: line 16: blockade: command not found
To Reproduce

Go to 'https://github.com/Fantom-foundation/go-lachesis/tree/scope2#running-the-demo`
cd docker/
Run make
Run ./start
Run ./stop.sh

Error will appear.
Expected behavior
No error should be thrown
Desktop

OS: Mac OSX Mojave version 10.14.6

Please try to use Lachesis from the latest scope2 branch. This issue is fixed by #356

It's fixed.


Fix incorrect thread access

These method calls are causing IncorrectThreadException
libc++abi.dylib: terminating with uncaught exception of type
realm::IncorrectThreadException: Realm accessed from incorrect thread.

Hi, @ngs , could you explain in which case are you getting this error? Xcode version, RRC version, install method...?
We are using RRC in a huge App and this has never happened to us.

Here is the crash log: https://gist.github.com/ngs/84be87109cbe575e27c2
And here is my code: https://github.com/ngs/ci2go/blob/c7ef3b86ccefdb8e27df626916591e8107635f82/CI2Go/Networking/BuildNetworkingExtension.swift#L109

Hi @ngs,
We've seen that you are using a predicate that is accessing to relationships, and that's the cause of the crash, for now RRC does not support them.
It seems that this PR is going to fix that, so thanks a lot.
Could you clean the additions and deletions on empty lines please?

@poolqf
Thanks for checking the crash log. I've cleaned up the code.

Merging.. Thanks @ngs


⚠ Bofrost.at has degraded performance

In 9dd138d, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1808 ms

Resolved: Bofrost.at performance has improved in b93a04f.


feat: adding test coverage to provisioning

Description
adding test coverage to provisioning and refactoring to fix some bugs
Task Item
refs #7629

Coverage remained the same at 55.76% when pulling 69bd3ae6dee1ba11350b2118a70e83a7b027f25f on natalgar/7629-test-provisioning into fe589c5799658a1120ed85fd33f07471dcbe89a2 on main.


Documentation on how to import via "import" statements

It would be great if the documentation included info on how to import the libraries via import statements, as this is the default procedure now.

it's documented in https://github.com/collab-project/videojs-record/wiki/Webpack but i agree it should also be included in the readme.


Add auto refresh for AWS Elasticache

Dalli Elasticache @ https://github.com/ktheory/dalli-elasticache provides a method for discovering AWS Elasticache memcached nodes.
However, after auto-discovery, dalli-elasticache proposes that we set the discovered endpoints one during rails server start.
This presents a real problem because as AWS Elasticache scales up (and especially down), nodes are either unused, not connectable, or worse, different rails servers have different sets of nodes (and thus hash differently).
Dalli client sets up Ring based on @servers, and #ring will self refresh if set to nil.  So I would like to set  @ring = nil if a server dies (!server.alive?) or refresh on an interval (compare and re-set up iff necessary).
There are two basic ways I can think of.

Make Dalli aware of a discovery object & method such as Elasticache#servers which will supply the real time AWS nodes.

  def ring
     if (timed_out || some_server_died) && @old_servers != discovery.servers
       @ring = nil
       @servers = discovery.servers (use cached value if slow)
    end
  end

Make Ring delegate discovery to client

Client
  def servers
    if options[:discovery]
      discovery.servers
   else
     @servers
   end
  end

Ring
  def initialize
    if options[:discovery] == true
      servers = client.servers # real time if available
    end
    # connect as usual
  end
  def server_for_key
    # if expired or server failed
       reinitialize
   end

Method 2 seems like it would be better performing since perhaps server reconnects would not be necessary for servers still alive.
However Method 1 seems much simpler and easier to maintain (at the expense of server reconnects unless we cache connections).
Any preference before I work on / send over code?

https://github.com/petergoldstein/dalli/pull/686


Update README.md

sorry for previous pr closes #37

same :) https://github.com/hammadsaedi/regex-pro/pull/39

Thanks you soo much :)


Honest expert can appeal malicious answer

Flow is:

malicious expert submits answer
honest expert sees malicious answer
if honest expert thinks that the malicious answer is not clearly worse than the honest answer, honest expert can appeal the malicious answer to the experiment runner. Experiment runner then decides whether it's really worse. In the meantime, the tree is paused (top-level judge workspace doesn't go to a judge)

we should discuss exactly what the flow described in 3. above looks like before implementing this


Address session ownership

This commit resolves an issue with corruption of session cache lists. There is an undocumented invariant maintained by SSL_SESSION_list_add and SSL_SESSION_list_remove that either a session has an owner and is in the linked list of that owning session, or is not. However duplication did not clear the owner.
Timeout management added in https://github.com/openssl/openssl/pull/8687 uses the owner pointer to update the list order, however if the session is a copy of the one in the cache, this logic is incorrect and leads to corruption of the list structures. The solution is to ensure duplicates have owner unset.
I also took the liberty of updating the documentation while I was at it.
Checklist

[x] documentation is added or updated
[x] tests are added or updated

We will need CLA to be signed to be able to merge this PR. Could you please look at https://www.openssl.org/policies/cla.html

I sent a snail mail in a while ago let me try electronic this time

I've sent Tam an email with someone who should be the right current contact, so that should get sorted out soon.

Merged to master, 3.1, and 3.0 branches. Thank you for your contribution.


We need a genre/one-liner.

As I see it, we need to pick a one-liner description which needs at the very least a tech-level, and a mood.  I propose that we pick the descriptor types and create a poll for each with results hidden, then take the top of each poll.  We will almost certainly end up with something strange and exciting to roll with.
Let's start with ideas, what do folks want to see?

I had an idea a long time ago about a setting where "superheros" exist but are extremely rare and persecuted by the powers that be.   There are some small cells of normal people who form a resistance and help hide/protect the powered people.  This would be a darker, gritty, low-power world, maybe a modern tech level.  For flavor, I had in mind hints of V for Vendetta, Equilibrium (from the  side of the Resistance), and other settings where the protagonists have to move and operate in the shadows while dodging Big Brother.

Proposal:  Strange things are afoot in a far-future cyberpunk setting.  The more augmented the person is, the less human they are; the less human they are the easier it is for some Cthulhu-type ancient terror to whisper in their ear.
Tech-level:  High; cybernetic augmentations are not uncommon, even among the middle class
Mood: Mystery, dark, conspiracy?,
Inspirations: Bladerunner, Cyberpunk, Shadowrun, I am Legend?

Proposal:  We make multiple polls which do not show the current standings and take the top-voted idea off each one and let the the Gods of Chaos decide.
One poll for Moods, one poll for Tech Level, one for "Plot Twists" (superhumans, vampires, Cthulhu-like, etc and pick the top two?)

Proposal:  Slightly less chaotic, we do the polls as above but do them in sequence so nothing is way too off the wall.  We'll pick a Tech Level first, then decide on the Mood and Inspirations, then vote on the top couple of "Plot Twists"


/articles: glossary word popover escapes viewport

Popover should appear above the cursor if it's below a certain distance from the bottom of the viewport.

I am also having the issue on Firefox, it's fine on Chrome

@LeMurphant looks like that's a different issue (the image being squeezed). I was referring to the part of the popover box disappearing from the screen

@bryceerobertson my bad, I should have listed it in https://github.com/StampyAI/stampy-ui/issues/489 instead


Third party badges

Feature Request
Is your feature request related to a problem?
No Problem
Describe the solution you'd like
Show 3rd party badges like Supporter Badges of 7TV, FFZ, Chatterino...

TwitchMod has it


Create UI for move VR cam to edit cam position

Button for centre VR cam at edit cam position

Sketch file ref Vizor Navbar States 151125

Ping @kkananen @gmarinov

This has been discussed recently so moving it up. Hotkey is now in place, should create the UI button for it too, right?

Yeah i think the only blocker here is: what to call it ? @kkananen is against Zero Cam, and i see his point. We're not putting the VR camera at 0,0,0, but at 0,0,0 relative to the current edit cam position. Sooo you could argue that Zero Cam is ok if you interpret it that way. If so, we can just roll this out. @fthr

Here's what we could add for the Cam placement mechanism using "=". This seems reasonably clear to me, and better than "zero cam"


IxTooltip react component not working !

Prerequisites

[X] I have not leaked any internal company information.
[X] I have not posted internal links or code snippets.

What happened?
we updated our ix version from 2.0.4 to 2.1.0. After that, we started getting errors in tooltip components.

What type of frontend frameware are you seeing the problem on?
React
Which version of iX do you use?
v2.1.0
Code to produce this issue.
https://stackblitz.com/edit/vitejs-vite-wuok6c?file=src%2FApp.tsx

Already found the problem, we are working on it. There will we patch during this day or on monday.

A fix for this issue is now available in v2.1.1-beta.0.
We kindly ask you to install this version in your dev environment to check if it resolves the problem for you and give us some feedback about this.

Thanks for the fix. v2.1.1-beta.0 version works in our dev environment. Do you have a date for non-beta version publish?

@muratayik 2.1.1 is already available. We will release another patch (v2.1.2) later this week, though. Please keep an eye out for that.


Support compiling against Musl

Motivation
When building for Linux, we would like to be able to build this package on top of Musl, as well as the usual Glibc.
Modifications
Conditionally import Musl when present, just like we do for Glibc.
Result
Can compile against Musl.

@swift-server-bot test this please

@swift-ci test


Pass checked true/false to Checkbox

Why is this needed? I am pretty sure react prefers a boolean here.


🔧 Fix: Codesandbox Demo

Codecov Report

Merging #2 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master     #2   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           1      1
  Lines          13     13
  Branches        1      1
=====================================
  Hits           13     13

Continue to review full report at Codecov.

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


ECJ + Bump lombok from 1.18.16 to 1.18.18 = Unknown source: java.lang.IllegalArgumentException: argument type mismatch

Describe the bug
Bumping lombok from 1.18.16 to 1.18.18 on project compiled with maven using ecj causes following
Error:  Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project will: Compilation failure
Error:  Unknown source: java.lang.IllegalArgumentException: argument type mismatch

Upgraded lombok works fine in the same project when compiled with javac.
To Reproduce
https://github.com/pzrep/lombok-2729
with upgrade failed in https://github.com/pzrep/lombok-2729/pull/5
Expected behavior
Build completed with success.
Version info (please complete the following information):

1.18.18
maven + plexus-compiler-eclipse + org.eclipse.jdt:ecj:3.24.0

I think it's something between v1.18.16 (737dc6e4) and edge (32172755) - as build with
<snapshot>
  <timestamp>20201204.222028</timestamp>
  <buildNumber>1</buildNumber>
</snapshot>

yields the same result java.lang.IllegalArgumentException: argument type mismatch.

I think it's something between v1.18.16 (737dc6e4) and edge (32172755) - as build with
<snapshot>
  <timestamp>20201204.222028</timestamp>
  <buildNumber>1</buildNumber>
</snapshot>

yields the same result java.lang.IllegalArgumentException: argument type mismatch.

I think the changes in 28fbff467b3f3f3f5a4128313de02c9b1b2cb41d cause this problem.

I think the changes in 28fbff467b3f3f3f5a4128313de02c9b1b2cb41d cause this problem.

Same issue on Intellij IDEA 2020.3.2 using javac. Unfortunately that IDEA version only works with newer lombok version (due to bundled lombok plugin), but at the same time our programs won't run anymore due to this issue (and various other issues in 1.18.16)

@JohannesBeranek This is an ecj bug and I'm pretty sure that it works if you use javac, at least I'm not aware of general javac issues. If there is a javac related problem please create a new issue or add a comment or +1 on an existing issue.
You cannot use older lombok versions in IDEA because they changed how they process annotations and the older lombok versions do not know how to handle that.

@Rawi01 thanks, created a ticket here https://github.com/rzwitserloot/lombok/issues/2738 ; exception thrown is the same

Update about just released edge (20210319.040806-1.pom) - it works with ecj pretty fine! :+1:
Thank you.


logging in with pokemon trainer club account

this isnt technically an issue, but i can't find clear documentation on what the exact string is supposed to be inserted into the auth_service.
cheers if anybody could help me out

"auth_service": "ptc",

cheers


Only load HTML in Iframe

If Aylien API fails, only load HTML content in iframe.
Use the DOMContentLoaded event.

Instead I used a get request to load only the html content into a div.

now i load textrank summary as fallback


Failed to execute 'add' on 'DOMTokenList'

Summary
On empty CSS classes it produces an error.

Uncaught DOMException: Failed to execute 'add' on 'DOMTokenList': The token provided must not be empty.

How to reproduce
Set an empty class name on the input.
<input type="file" name="field_8" id="field_8" class="form-control form-control--file " value="" />

Expected behaviour
Filepond shout be init.

Environment
Version

OS
MacOS

Device
MacBook Pro

Browser
Chrome 79

Fixed in release 4.9.3 👍


GROUP-BY prioritizes input columns in case of ambiguity

Which issue does this PR close?
Closes #9162.
Rationale for this change
When a column referenced by group-by exists both in the select list and the input, the one from the input should be given priority. In issue 9162, there are two references with the same name: one is an unqualified "t.a," and the other is a qualified t.a.
This is the practice of many databases, including PostgreSQL, Oracle, MySQL, Duckdb, etc.
In the PostgreSQL documentation, there is an explanation about it.

An expression used inside a grouping_element can be an input column name, or the name or ordinal number of an output column (SELECT list item), or an arbitrary expression formed from input-column values. In case of ambiguity, a GROUP BY name will be interpreted as an input-column name rather than an output column name.

What changes are included in this PR?
Prioritize searching the schema of the base plan when generating GROUP BY expressions.
Are these changes tested?
Yes
Are there any user-facing changes?
No

Thank you @alamb for reviewing and for the suggestions.

Thanks again @jonahgao


What to do with struct inheritance

Right now struct inheritance is possible. For example:
struct Point2
  getter x, y

  def initialize(@x = 0, @y = 0)
  end
end

struct Point3 < Point2
  getter x, y, z

  def initialize(x = 0, y = 0, @z = 0)
    super(x, y)
  end
end

Regardless of whether the above makes semantic sense (let's not discuss this), struct inheritance has a big issue.
You'd expect Point2 to have two members, x : Int32 and y : Int32, so its total size is 8 bytes. You'd expect Point3 to have three members and a total size of 12 bytes. That currently is like that, no problem so far.
However, let's say we have an array of Point2:
points = [] of Point2

An array has a size, capacity and a buffer holding the elements. You'd expect the buffer to have Point2 elements next to each other, and since each Point2 occupies 8 bytes they'll be next to each other, so every 8 bytes would belong to a different Point2 object. However...
points = [] of Point2
points << Point3.new

The above is valid, because Point3 < Point2. But Point3 occupies 12 bytes! Not only that, but if we want to know whether we have a Point2 or Point3 inside the array's buffer we also need to store something else: the type id. Suppose we use an Int32 for the type id. In total every element inside the array's buffer to be 16 bytes long. This is probably unexpected, because if Point2 occupies 8 bytes and I want an array of them, I don't want them to suddenly occupy double space (or more, imagine someone extends Point3 with more fields).
C# has structs too, and they don't support inheritance. The reason is basically what I just explained (in the official docs they also mention structs can't be inherited).
Now, C# allows compiling a library and then linking against it. The generated code must know in advance the size of a struct inside an array. If you let someone extend a struct then the generated code will be wrong.
In Crystal we compile a program by analyzing all its source code, so we can effectively know whether a struct was inherited and make an array of such structs occupy the necessary size. However, if we go that route it will mean that in the future we will never be able to generate small libraries and link them together separately. Still, the issue of an array of structs being bigger than what you'd expect is a separate issue that should be given some thought.
So, we must decide what to do with this. We have these choices:

Disallow struct inheritance. The exception would be primitive-like types like Value, Struct and Int, etc., which kind of use inheritance (it's mostly conceptual here) but you can't have an array of Value, Struct or Int. In the future you'll anyway be able to have an array of Object, and if you put a struct inside it, it will be boxed.
Allow struct inheritance but only for abstract classes. Non-abstract classes won't be inheritable. The Point2/Point3 example won't compile. An array of a non-abstract struct will only contain such structs so the size of the buffer elements can be known in advance. For the case of an abstract struct, and in order to provide binary compatibility, we'll probably want to represent it as a {type_id, pointer_to_value} in memory to provide binary compatibility (now that I think of it, modules should probably also be represented in this way).
Allow full struct inheritance. This will mean that if you have an array of struct Foo you can't expect the size to be what you expect because someone might inherit your struct. We could add a final annotation to prevent that. But compiling a piece of code and linking it later won't be possible anymore.

I personally would like 1 to happen. A struct is meant to be used when you either have an immutable type, or a kind of type for which you care about its memory size and know its layout. You wouldn't want its size to change under the hood.
It also simplifies the language and its implementation. If you need an abstract struct from which you have many inherited structs and then you need an array of such abstract struct, you can use a module instead. Or use an alias of all struct types (an alias is better to prevent adding more types being added, because a module can be included in other types too).
In case you wonder, for reference types (classes) this isn't a problem because a class is represented as a pointer to which data is stored. The first member behind that pointer is a type_id. That's why unions of class types, and even unions of class types and nil, can be represented with a single pointer, so the elements of an array of such types always occupy the size of a pointer (nil is encoded as the null pointer).
Also note that right now the compiler doesn't handle well an array, or proc, of a struct type when it has subtypes. #2382 and #2527 are cases of this.
This issue is not new to me and @waj, but it's time we take a decision.
/cc @waj @bcardiff

I'd be happy with 1, espically assuming using included modules as type restrictions still work
module M
end

struct A
  include M
end

struct B
  include M
end

a = Array(M).new
a << A.new
a << B.new

pp a
puts typeof(a)

@will Yes, that works and will continue to work :-)

I also prefer 1. Composition over inheritance 👍

There is also the option of allowing inheritance, but don't allowing polymorphism. For example:
points = [] of Point2 # 8 bytes per element
points << Point3.new(1,2,3)  # Error! The << method takes a Point2, can't cast.

This is similar to what C++ does, something of the type of a struct takes exactly its size in memory, nothing more, and can't be cast to any other type. You can use polymorphism only with reference types. There is already differences in how structs and classes behave, I think this one makes sense here.

Maybe it means Point3.new.is_a?(Point2) would return false?

Of course I forgot to say that there could be other solutions to this 😊
@lbguilherme I didn't know C++ does that. I think we shouldn't copy that behaviour, it would be very confusing if you could inherit a struct but it didn't act in a polymorphic way. I'd prefer to disallow inheritance in that case and resort to a base module.

I prefer 1, as long as, already mentioned, structs can be built up from partials (via modules).
Worth considering is something struct-union-like, which of course then would need the type_id in first position, but then it would be a known fact.

I think @lbguilherme's solution is nice; basically composition with sugar. This would seem somewhat analogous to Go's struct composition, which is very useful.
A downside that @asterite mentioned is that if the exact same syntax is used for structs and classes, one may assume the one will behave like the other. So a modification of both the syntax and the terminology would be important.
It think this is clearer than using modules as suggested as a workaround, and feels more like a lower-level, non-abstracted type, which I think is the point of a struct in Crystal in the first place.

I really like Go's struct embedding. I think in a way it's similar to D's alias this. It's like method_missing but the compiler forwards the method to the aliased type(s) for you, and even gives an error if a method is found in more than one alias. In Go this is similar. In Crystal one could use method_missing but you'd have to check if the types respond to the method and then do the call, otherwise give a compile error. But I think this is pretty common and needed so I'd maybe like to introduce such feature in Crystal, with a built-in syntax (don't know how yet). It's very useful for mocking and for abstracting stuff. But of course I have to check this with @waj and others.
If we do that, I think struct inheritance won't be needed at all.

+1 on the 1 option

+1 for option 1. Modules and, maybe in the future, aliases should be better ways to factor the code.
The motto for struct are their value-type and stack alloc. Since inheritance won't play nice with that for the exposed reason, then it should be disallowed.

We finally decided to keep struct inheritance but only from abstract structs (solution number 2). Non-abstract structs won't be inheritable, but with an abstract struct you could steel model a hierarchy and use it as an array element. This also goes nicely with Value, Number, Int and Float, all of which are abstract structs and have subtypes. And it will also automatically make all primitive types like Nil, Int32, Char and Symbol non-inheritable.

Revisiting this issue after thinking about it; glad to see the same conclusions already arrived from you guys: agree completely with the "abstract is inheritable".

Point 2 is now implemented: non-abstract structs can't be inherited, and arrays of abstract structs, and proc with abstract structs as arguments, and casting to a base abstract struct work well.
After implementing this I realized it's very simple to allow non-abstract structs to be inherited. The compiler knows if a struct is inherited so it could represent such type well (with a type id and enough space for all children). However, with this we could inherit Int32 and other primitive types, and suddently all [] of Int32 in your program would take a lot more space. That's not nice. And I think that's not nice for any kind of non-abstract struct, you want memory layout guarantees. Well, we could add a final annotation, but that makes the language more complex and it's something more to think about.
So in the end choosing point 2 is the best option: you can use a hierarchy with intermediate abstract structs, you can use is_a?, you can reuse code, you get polymorphism and you can memory layout guarantees.

Reopening because something's missing in the implementation.


Vulkan: SpotLight3D's Projector doesn't work (regression from 4.0.alpha5 and later)

Godot version
4.0 alpha 5
System information
Win10, GLES3, RTX 2070 mobile
Issue description
SpotLight3D's Projector doesn't work. Worked fine in alpha 4, stopped in alpha 5.
Steps to reproduce
Create a 3d scene
add spotlight3d
add texture2d to projector slot
enable shadows on spotlight
put in a 3d mesh to cast spotlight on
Minimal reproduction project
No response

@macryc Please upload a minimal reproduction project to make this easier to troubleshoot.

spotlight3d.zip

I can confirm this on 992317957 (Linux, NVIDIA 510.68.02). OmniLight3D projectors also don't work.

I bisected the regression to 57e5a33623130ead5aeb5369c7a40410a1afc79b. cc @BastiaanOlij

Hmm, I must have messed something up when moving all the code related to this into the new TextureStorage class. I'll have a closer look as soon as I've finished with the GI changes.

Currently still no change (in 4.0 beta1) when using projector textures (plain lighting as per default) @BastiaanOlij Would this be something you could want some help with? I've never contributed to the project myself so I would have to look into the structure of things and regulations but I would like to fix this if possible.

@clayjohn May be able to assist @kidinashell

Currently still no change (in 4.0 beta1) when using projector textures (plain lighting as per default) @BastiaanOlij Would this be something you could want some help with? I've never contributed to the project myself so I would have to look into the structure of things and regulations but I would like to fix this if possible.

@kidinashell Feel free to work on this, Bastiaan is quite busy with some other work right now.
To help you get started, projector textures were added in https://github.com/godotengine/godot/pull/37887. This should give you an idea about how they should work.
Calinou bisected the regression to https://github.com/godotengine/godot/commit/57e5a33623130ead5aeb5369c7a40410a1afc79b so the bug was introduced by something that Bastiaan changed in https://github.com/godotengine/godot/commit/57e5a33623130ead5aeb5369c7a40410a1afc79b. Looking between Juan's PR and Bastiaan's commit you should be able to find out what went wrong.
As for contributing, we have a whole section of the docs dedicated to documenting helpful things to know as you get started contributing.
Also feel free to ask questions. You can reach both Bastiaan and I quite easily on the rendering channel on Godot's contributor chat.

Sorry guys, totally lost track of this one. Yeah I'm heads down bum up in further reorg stuff so I could definitely use an extra set of eyes on this one. As the commit that seems to have broken this mostly moves stuff into new classes it's likely a simple issue with a RID getting mixed up or a setting getting reversed.

@BastiaanOlij Did a PR #66065 for this after looking around the renderer section and it's ready for review. Hope it helps.


feat: add retry code lens for fixup

part of https://github.com/sourcegraph/cody/issues/1359
feat: add retry code lens for fixup tasks
This adds a new "Retry" code lens option for fixup tasks. When clicked, it will retry the fixup instruction and include any errors we can find.
Changes:

Register new "cody.fixup.codelens.retry" command
Add getRetryLens() to generate retry code lens
In getLensesForTask(), include retry lens in returned array
Add retry() method to handle retry click

Increments spinCount
Gets new diagnostics
Finds error diagnostic in task range
Removes previous code lens
Executes edit-code command with updated instruction to create new task for retrying

Test plan

Select a section of code
Run /edit command: /edit add comments inline
Check the diff to see what was edited
Click on the Retry code lens again
Check diff again, you should see the comments were updated by Cody again

This is expected to work the same when Tom has made the changes so that all Fixup tasks are applied automatically by default.

I feel like (3) is most common for dev in ChatGPT?
I feel like allowing a correctional input is most powerful, so more like 3, but labeled “Retry” and also make it clear we’re sending error messages too.
Is it possible to have a quickpick with an input and a checkbox? We could have an empty instruction input, and a pre-checked checkbox labelled “Include problem error messages (5)” (or whatever the correct VS Code terminology is)

I was thinking, at what point does a user want to hit retry?

not happy with the output even when it has no error -- GREAT! no error will be added anyway
not happy with the output cause of an error -- we will let the LLM know about the error

I can't think of a situation where a user does not want to let the LLM know about an error in the selection range on retry 🤔
Plus, this error exists before Cody has generated an output, because when a fixup is applied, the retry button will go away.
I think this would make more sense when we have all fixup auto-applied by default, and then let users choose what other actions do they want to perform 😆 wdyt?

Is it possible to have a quickpick with an input and a checkbox? We could have an empty instruction input, and a pre-checked checkbox labelled “Include problem error messages (5)” (or whatever the correct VS Code terminology is)

But this is just doing what /edit or quick fix are doing?

@toolmantim

I feel like (3) is most common for dev in ChatGPT?

We should understand user behavior here. For me, in Cody, I just start a second fixup at that point. Does that need its own UI?
I sometimes do (2) (edit the prompt and retry with the original input.) That feels a bit clunky because I have to hit undo, recompose my selection and instruction. Having the original instruction around to edit would be handy.
I never do (1) ("free spin"/try again with same inputs) unless I am messing around with models and temperature and want to get a gut feel for the "range". I don't think I have ever hit the Regenerate button in ChatGPT for text.
But this is just me... what do people do?

@abeatrix, my feeling here is we should slow down and look at a few things:

What's the performance of Cody like, with and without errors. (And later, the syntax for presenting errors to Cody, and how we could show multiple errors to Cody.)
What do users think a "Retry" button would do.
What users are doing today when Cody doesn't perform well.

At this point I'd be fine with anecdata from Sourcegraph teammates about these. It would be great if that included input from someone using not-TypeScript, not-Go in addition.
Then we need to close the loop between buffing the LLM performance, giving users what they need, and narrowing the gap between how the UX presents and what people think it will do.
I think this is a great direction but I'm uncertain about those three bullets.

@dominiccooney @toolmantim I've updated the PR to replace retry with regenerate code lens It does not include errors due to the concerns raised by Dom which I think is valid.
Right now the expected behavior is to ask Cody to regenerate a new response using the same instruction, for example /edit rewrite comments to make it sound like a taylor swift song:
Initial Response from Cody:
function groupByFile(results: Result[]): { file: string; results: Result[] }[] {
    const groups: { file: string; results: Result[] }[] = [] // we are never ever ever getting back together

    for (const result of results) {
        // i knew you were trouble when you walked in
        const group = groups.find(g => g.file === result.file) // so it's gonna be forever, or it's gonna go down in flames
        if (group) {
            group.results.push(result) // you call me up again just to break me like a promise
        } else {
            groups.push({
                // so casually cruel in the name of being honest
                file: result.file,
                results: [result],
            })
        }
    }
    return groups // i don't know about you, but i'm feeling 22
}

Response from Cody after hitting regenerate:
function groupByFile(results: Result[]): { file: string; results: Result[] }[] {
    const groups: { file: string; results: Result[] }[] = [] // we are never ever getting back together
    for (const result of results) { // i knew you were trouble when you walked in
        const group = groups.find(g => g.file === result.file) // so it's gonna be forever, or it's gonna go down in flames
        if (group) {
            group.results.push(result) // you call me up again just to break me like a promise
        } else {
            groups.push({ // so casually cruel in the name of being honest
                file: result.file,
                results: [result],
            })
        }
    }
    return groups // and the saddest fear comes creeping in that you never loved me or her or anyone or anything
}

Loom:
https://github.com/sourcegraph/cody/assets/68532117/1ac70033-c6e4-4f86-b235-8aaec57ff2b4


Add bridge tilemap and collisions

Motivation
closes #177
Now we can create pretty bridge levels!
What was changed/added
I've drawn a tilemap and added corresponding collisions.
Testing

These are all existing new tiles, note that we don't need everything all the time of course.
https://github.com/mango-gremlin/arch-enemies/assets/57258671/6a72c033-0a72-4d7e-9dbd-51cb8ebb75b7
Collisions works as you can see. I've left the green background tiles, because we need them to see the grid more clearly. They will be replaced by the background provided by @Raffael-Rack later.

I've changed all the requested things, as these are indeed valid points. Note, that saving the tileset in a separate file makes it only slightly more modulated, as the images used in the tilemap can't be saved in the tileset and need to be separately saved in the project as well.
https://github.com/mango-gremlin/arch-enemies/assets/57258671/e17e6108-8bef-4407-94c3-fd06b3b4440c
I've also added some new tiles, in detail
-two tiny frögs
-two mr crabs
-some sea grass with different heights

Ah, i didn't know that about saving the tilemaps, thank you for that. That is a bit unfortunate, but i hope we can make it work somehow. But the tileset file does save the collisions and such so we dont need to redo those at least? i hope?
I think so, or the tileset file would be pretty useless


.NET: Failed to unload assemblies

This issue is an engine-related bug and it's a very ugly one. It seems to trigger whenever you work on an addon-related script while having the plugin enabled. In that case, Godot will not be able to unload the assemblies (probably because they are in use by the editor). This will cause the editor to be unable to compile the project and you will need to restart the editor.
Be aware that, if you have any scene that makes use of an addon-related file with serialized references (such as the DialogueBox)... those references might get lost and the plugin might break (I highly suggest using version control to recover these references if you have stepped into this issue, a workaround is to hardcode any reference or signal until this bug gets fixed).

I've created a "compatibility mode" which has the editor side of the plugin completely written in GDScript, but writing its output files in C#. I've removed every [Tool] and [GlobalClass] keyword from all C# scripts to avoid any issues.

I've done the only possible workaround to fix this issue which is to port back the whole "editor part" of this plugin to GDScript. Now this issue won't trigger and you can still use C# for in-game dialogues.

I've done the only possible workaround to fix this issue which is to port back the whole "editor part" of this plugin to GDScript. Now this issue won't trigger and you can still use C# for in-game dialogues.


add powerSaverBlocker

somebody should test this on the actual robot, but for me it disabled screensaver/sleep while the app is running and reverted back to normal on shutdown. also, do you guys think this should be default, or opt-in through a menu?

Tested and it works on my computer, looks good to me 👍


Made a copy of the 01 file and modified to print the name afterit rea…

…ds in an input

You were supposed to hardcode your name in the script.


fix(android): subtitle rendering; feat: synchronization in Player

fix(android): subtitle rendering
feat: synchronization in Player

feat: subfont.ttf for android
refactor: AndroidAssetLoader load & loadSync
fix(android): use --vo=gpu rendering with enableHardwareAcceleration

Another big PR after yesterday. 🫡
Now all methods inside Player class are synchronized & subtitles on Android are fixed. I see this as release candidate.


[BUG] Already set BPMs are not inherited on chart creation if no chart was previously defined

Bug Description
Creating a new chart in a simfile with no charts but set BPM results in said chart having default BPM.
Steps to Reproduce

Use a text editor to prepare a .sm file with the following contents:

#TITLE:BPM Test;
#BPMS:0.000=212.000;

Note that #BPMS is set.
2. Open prepared .sm file using GrooveAuthor
3. Create a chart of any type
Expected Behavior
The tempo event on Beat #0 should set the BPM to 212.
Screenshots

Version
v<IP_ADDRESS>
Log
GrooveAuthor 2024-04-11 22-09-56.log
Additional Content
n/a
Additional Context
I have tested this with both .sm and .ssc files

Thank you for reporting this. I'll consider ways for improving this.
If you are interested in setting the tempo on a newly created chart you can do that by creating a new song directly in GrooveAuthor through Ctrl+N or by using File > New Song. While you can directly create sm or ssc files outside of the editor and set the tempo before opening them, you do not need to.
If you are interested in an explanation for why this behavior occurs it is because GrooveAuthor always uses chart timing and never uses song timing. Some documentation including the reasoning behind that decision can be found here: Song And Chart Timing. In your example file there is no chart, so the timing properties defined on the song are not applied anywhere.

The move to chart timing is actually a great thing.
The issue I described could be considered as an edge case, as I was testing GrooveAuthor with a bunch of "skeleton" simfiles which only have metadata and song BPM/offset filled in, and under current circumstances I'd have to manually add the BPM/offset again


Publiek != Target Group in Education Event

Translation Error - Needs to be Public?

Public in this context means that the event is publicly visible on the site.

Does not seem to be fixed after merging


Hosted 3Bot deployment: message is it succeeded but nothing found

#802 # Description
I deployed a hosted 3Bot and the chatflow said all worked out well.
However, nothing seen in the list of deployed 3Bots

Version information

OS: MacOS
Version hosted 3Bot: deploy3bot-2.grid.tf
Browser: Chrome 85

verified


Feature request - Release version of OS by default displayed

New feature request:
pepe@pepe-ms7c90
OS: Manjaro Linux x86_64
Release: 21.1.4
Host: MS-7C90 1.0
Kernel: 5.13.19-2-MANJARO
Uptime: 17 hours, 50 mins
It would be nice if Release version of OS would be printed out by default after OS. Otherwise great tool :).

Actually, in Ubuntu it is displayed in OS:
OS: Ubuntu 21.10 x86_64
Host: MS-7C90 1.0
Kernel: 5.13.0-19-generic
Uptime: 2 hours, 23 mins
Packages: 1956 (dpkg), 8 (snap)
Shell: bash 5.1.8
Resolution: 3840x2160
DE: GNOME 40.5
So I will close this.


Enable to parse shebang in the function ssrTransform

Describe the bug
This is more of  vite-node bug than vite bug.
Currently, vite-node can't execute code containing shebang with the following error.(ref: issue)
Error: Parse failure: Unexpected character '!' (1:1)
Contents of line 1: #!/usr/bin/env node

vite-node uses ssr mode of the vite to transform and the error occurred when parse the code with acron (Internally use the function ssrTransform)
I think adding allowhashBang option in this line can solve this problem.
https://github.com/vitejs/vite/blob/dddda1e05dd2184960afdcdf2960053acb30f5a9/packages/vite/src/node/ssr/ssrTransform.ts#L37-L41
This change would make both vitest and vite-node to run the code with shwbang.
ref:
PR
Reproduction
https://stackblitz.com/edit/vitest-dev-vitest-3ctfkq?file=index.ts
System Info
System:
    OS: macOS 11.5.2
    CPU: (8) arm64 Apple M1
    Memory: 75.00 MB / 8.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 16.13.2 - ~/.nvm/versions/node/v16.13.2/bin/node
    Yarn: 1.22.18 - ~/.nvm/versions/node/v16.13.2/bin/yarn
    npm: 8.1.2 - ~/.nvm/versions/node/v16.13.2/bin/npm
  Browsers:
    Chrome: 100.0.4896.127
    Safari: 14.1.2

Used Package Manager
pnpm
Logs
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to https://github.com/vuejs/core instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

Make sense to me. Feel free to send a PR!


Implemend SendDgram and RecvDgram futures for Unix datagram sockets

As promised :)
The choice of String as type for conveying the peer's path back to the caller is not super awesome, but I couldn't find a better solution. Otherwise it has become pretty much a 1:1 replication of your code in tokio-core:net/udp/mod.rs.
Please do let me know about possible improvements.

Looks good to me, thanks! Could the stylistic (what appears to be rustfmt) changes be backed out for now? Also, I wonder if we should perhaps hold off on recv_anon_dgram? Or at least see if we can establish a convention around that.

Yes, done. Sorry for the formatting changes, I can't live without rustfmt anymore ;-)

Thanks!


Fix plpgsql test

The plpgsql test fails on 5x.
TOO_MANY_ROWS exception is used i when optimizer enabled. I'm not quite sure why NUMERIC_VALUE_OUT_OF_RANGE is needed here, but I kept it to make it less different from upstream/.

@t1mursadykov, please rebase this PR to the actual adb-5.x branch to run regression tests.


requests.exceptions.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Hello, I am trying to run the following code to do a request:
from rda_apps_clients import rdams_client as rc

control = {
    'dataset' : 'ds084.1',
    'date':'201609200000/to/201609200000',
    'datetype':'init',
    'param':'V GRD',
    'level':'HTGL:100',
    'oformat':'csv',
    'nlat':-10,
    'slat':-10,
    'elon':45,
    'wlon':45,
    'product':'Analysis'}

response = rc.submit_json(control)
assert response['code'] == 200
rqst_id = response['result']['request_id']

print(response)

From which i get the following error:
Traceback (most recent call last):
  File "/home/adriafenoy/miniforge3/envs/temp/lib/python3.10/site-packages/requests/models.py", line 971, in json
    return complexjson.loads(self.text, **kwargs)
  File "/home/adriafenoy/miniforge3/envs/temp/lib/python3.10/json/__init__.py", line 346, in loads
    return _default_decoder.decode(s)
  File "/home/adriafenoy/miniforge3/envs/temp/lib/python3.10/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/home/adriafenoy/miniforge3/envs/temp/lib/python3.10/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/adriafenoy/Projectes/antamina/test.py", line 16, in <module>
    response = rc.submit_json(control)
  File "/home/adriafenoy/miniforge3/envs/temp/lib/python3.10/site-packages/rda_apps_clients/rdams_client.py", line 380, in submit_json
    return ret.json()
  File "/home/adriafenoy/miniforge3/envs/temp/lib/python3.10/site-packages/requests/models.py", line 975, in json
    raise RequestsJSONDecodeError(e.msg, e.doc, e.pos)
requests.exceptions.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

This does not seem normal, as this piece of code is extracted from the official notebook. This error has been seen before in #12 , but the answers do not seem to apply to my case. I wish some of you can help.
Many thanks!

Hi,
Thanks for your quick reply. I am still getting the error. I think it has happened in the past but it has been solved in a matter of hours. This time it has been like this for more than one day.

Hi,
Thanks for your quick reply. I am still getting the error. I think it has happened in the past but it has been solved in a matter of hours. This time it has been like this for more than one day.

I am using version 3.0.0

It still does not work for me. I noticed that there is mismatch when I do:
pip freeze | grep 'rda-apps-clients' rda-apps-clients==1.0.1
with respect to what you suggested:
from rda_apps_clients import rdams_client as rc print(rc.__version__)
which prints 3.0.0
Is there anything wrong regarding my version?

Sorry for the delay. It's possible that your authentication is incorrect. I've updated the code to give a more verbose error and you should see it if you run your script again.
Do you have a rdams_token.txt file in your working directory?

The same error is displayed to me. I have a "rdams_token.txt" with the api code I find in .

Do you mind giving this a try one more time? I've added a bit more resilience and error checking to the backend.
If it's still not working, could you contact us at<EMAIL_ADDRESS>so we can get some more information from you in a less public way? For some reason this issue appears unique to you.
Sorry for all the troubles!


Install?

More detailed install instructions would be nice.
A lot of people using this are usually in a hurry and/or just want to do a quick PoC, without having to understand how golang works environment-wise, debugging stuff etc.
I get spanner-cli: command not found after performing the installation (Yes, go version prints the version and I've tried launching new terminals).
A FAQ could be useful.

Hi @pietrotavares, thanks for the feedback.
Were you able to install spanner-cli finally? Which Go version are you using?
I'd like to understand the details about where you struggled to install this tool.

I just followed the instructions and had to add ~/go/bin to my path to get the cli working.

I am with @pietrotavares. I could see an error in case of the following installation command with golang 1.13.8
$ go install github.com/cloudspannerecosystem/spanner-cli@latest
can't load package: package github.com/cloudspannerecosystem/spanner-cli@latest: cannot use path@version syntax in GOPATH mode
I was able to install using the following command
$ go mod init
$ go install github.com/cloudspannerecosystem/spanner-cli


Add template for _events.tsv file in the func data

We do not have a template yet for the _events.tsv file. The best place is probably to add this for the func dataset.

Hi @dorahermes ,
I can do that (:
Using the same style of: https://github.com/INCF/bids-starter-kit/blob/master/matlabCode/createBIDS_participants_tsv.m
We want something like that: https://github.com/INCF/bids-starter-kit/blob/master/templates/participants.tsv
If i misunderstanding something, please tell me.
Thanks

exactly, that would be great, thanks!

Great!
Will do!
Can you assign me to this issue?

Hello, not finding which fields we need to put in the .m to generate the tsv.

See BIDS spec section 8.4:
https://docs.google.com/document/d/1HFUkAEE-pB-angVcYe6pf_-fVf4sCpOHKesUvfb8Grc/edit#
I am not sure how to assign you here... your name does not pop up if I try...

Only organization members can be directly assigned, I think. But thanks for starting on this, @martxyz ! 🌟

https://github.com/martxyz/matlab


Move PHY initialization to a separate crate/HAL driver.

Motivations
There are multiple RF peripherals on the ESP32, which are driven by different crates like esp-ieee802154 and esp-wifi. For the rust port of the esp32-open-mac project esp32-wifi-hal-rs, I had to manually copy the PHY init from esp-wifi. The same goes for esp-ieee802154.
Solution
A potential solution would be, to create an esp-phy crate, which handles PHY initialization and radio clock control. The advantage would be, that we can unify PHY initialization and potentially allow coex between WI-FI and 802.15.4 in the future.
Granting control over the radio clocks to some central control struct would allow us to split access to those clocks, so that Wi-Fi only touches the Wi-Fi clocks, same for BT and IEEE 802.15.4
Alternatives
Don't do this and keep the current system.
Additional context
N/A

I'll try to make a draft PR either today or tomorrow.


chore(deps): upgrade dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-main" workflow

Codecov Report

Merging #465 (bd4b70a) into main (469773e) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #465   +/-   ##
=======================================
  Coverage   95.69%   95.69%
=======================================
  Files           1        1
  Lines         395      395
  Branches       42       42
=======================================
  Hits          378      378
  Misses         17       17

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


Restructuring of folders

Metalayer is now a container layer and has sub-layers (BSP, distro, components) for better reusability.

Closing unsquashed PR


how to upgrade

Hi, I received this email today. How can I fix this, do you have any update documentation
I looked here https://docs.cert-manager.io/en/latest/tasks/upgrading/ but its not working, my deployment is from february 2018
Hello,

Action is strongly recommended to prevent problems with your Let's Encrypt
certificate renewals.

A client you have used to access the Let's Encrypt API in the past 60 days has
identified itself (its "user agent") as "Go-http-client". This is a generic
name for the underlying library that the client uses, which does not give us
enough information to track and resolve problems with the client or clients.

Within the past 60 days, our /new-reg API endpoint received about 2620941
requests from the IP address xxxxxxxx.

We've found that in most cases, the client is an older version of kube-lego or
cert-manager. We've worked with Jetstack, the maintainer, to release an update
to each of those packages. If you are using either, we recommend upgrading to
the latest version of cert-manager.

We would like to help fix clients that send our API many requests that will
never complete successfully. It's possible that in the future, we may need to
block these clients in order to protect our resources. By fixing or upgrading
your client, you can help avoid problems with your certificate renewals.

A list of clients is available here:
https://letsencrypt.org/docs/client-options/

If you need help, please search our forum to see if your question has been
answered, then open a new thread if it has not:
https://community.letsencrypt.org/

Thank you,
Let's Encrypt Staff

Its deployed to GKE using helm

When I run
helm repo update
helm upgrade --version release-0.8 cert-manager jetstack/cert-manager

I get

Error: failed to download "jetstack/cert-manager" (hint: running helm repo update may help)

We publish upgrade guides in our documentation 😄 please be sure to check the upgrade notes for your specific revision: https://docs.cert-manager.io/en/latest/tasks/upgrading/index.html
The Slack channel is the best resource for getting ad-hoc support like this. If you've run into what seems like a bug, please feel free to re-open this issue! 😄

Ah, I see you've also already found that page. You should use the version numbers instead of the branch number, so replace release-0.8 with v0.8.0 in your above example command! 😄

same result
helm upgrade --version v0.8.0 cert-manager jetstack/cert-manager
Error: failed to download "jetstack/cert-manager" (hint: running `helm repo update` may help)

Is there a way to delete the current installation and start over?


chef-sugar deps

Hey Folks.  I'm not sure whether bumping the chef-sugar deps version in metadata.rb is appropriate in form or function.  I've carried a local change for months and didn't push it back up, and it performed well for me but I haven't tested it too deeply.  And feel free to adjust however's best.

Thanks bby-bishopclark.


missing arguments in rand! methods for StaticArrays

The rand! methods for StaticArrays beginning on line 398 of api.jl don't define  α,  β, and  γ, but use them in the call to samplevector!.

That's a definite bug.
Would you be willing to make a PR fixing that and adding tests by any chance?

Sure.


[pl.lineage_drivers] cycles the first few genes when n_genes is larger than 8

when plotting the top lineage drivers with n_genes >8, it repeats the topfew genes. The number of genes cycled varies when the n_genes and ncols change.

cr.pl.lineage_drivers(adata, lineage="0", n_genes=10)# cycles the top 5 genes
cr.pl.lineage_drivers(adata, lineage="0", n_genes=10, ncols=5)# cycles the top 5 genes
cr.pl.lineage_drivers(adata, lineage="0", n_genes=20, ncols=5)# cycles the top 7 genes
cr.pl.lineage_drivers(adata, lineage="0", n_genes=20)# cycles the top 8 genes

Versions:

Running CellRank 1.2.0, on 2021-03-23 09:16.

Thanks for catching this @mzhibo , will be fixed in #543 and merged into the dev branch.

closed via #543


Allow suppression of the item count from tactic column headings for export

When exporting to SVG, it would be useful to be able to control whether or not the item counts are displayed under the tactic headings.

This feature has been implemented and merged with develop, to be part of the v2.1 release. Find the control in the display settings dropdown.