"artisan ide-helper:models --nowrite" gives "Multiple definitions exist for class ..."

First off, thanks for a great package!
After some hassle, I've got the facades and Eloquent/Builder stuff working like a charm.
But I'm struggling a  bit now with the Model helpers. I'd prefer them in the separate _ide_helper_models.php. But if I do so, PhpStorm finds both the original Model and the generated helper. How do I prevent that?

Write them to the actual models, using the write flag (or should suggest that by default?)

Or why do you need them seperate?

It seemed a bit cleaner to have it in a separate file. And not clutter up the Model files.
Also, it's really easy to remove the file and regenerate. Just to be sure that it doesn't fail on existing methods or custom stuff. (I encountered one case where an existing method changed in parameters but the helper wasn't updated accordingly)

You can also use the refresh (-R) option to reset.

Yes, but that removes custom comments.
How is the separate file option supposed to work, regarding the multiple definitions?

:+1:

Small annoyance, but would be great to find a solution for this.

+1 for this. Models would look much cleaner.

+1

+1

I agree that being able to use the separate model meta file is much better than adding the extra meta to the models. My team and I found having the meta in the models to be a little frustrating when they cause conflicts in version control and over bloated our pull request. The only solution I have found to make this usable as an external file is to disable the check for the duplicate declarations. However, this is the head in the sand approach and I don't like that either.
To turn off this message go to:
Settings -> Editor -> Inspections -> PHP -> Undefined -> Undefined class
Then:
Uncheck Option -> [] Don't report multiple class declaration potential problems

@valeryan But actually uncheck that option will prevent us from knowledge about actual multiple class declaration potential problems

@tucq88 yes, I believe I said this is like sticking your head in the sand. I don't like it but it's the only way I can use this tool right now until someone figures out how to get phpstorm to understand that these files are just providing meta about models.

I have been using the setting for Don't report multiple class declaration potential problems as well, but for the last two days I have been trying to figure out a better solution.
Is there anyone here that has found one already?

Anyone managed to resolve this?

This is someting that should be fixed on the IDE side as its the IDE displaying the annoyance and there is little ide-helper can do to avoid that, its just how code inspection works.
It should be possible to create a custom scope that excludes the _ide_helper_models.php and _ide_helper files. Then have that scope used for the inspection causing the warnings but it doesn't seem to work for me.

Any update to this? I can reproduce this on the latest version of Phpstorm.

This is someting that should be fixed on the IDE side as its the IDE displaying the annoyance and there is little ide-helper can do to avoid that, its just how code inspection works.
It should be possible to create a custom scope that excludes the _ide_helper_models.php and _ide_helper files. Then have that scope used for the inspection causing the warnings but it doesn't seem to work for me.

This worked for me! Thanks. I created the scope, then went to the 'Multiple class definitions' inspections and deselected the new scope.

@jamesratcliffe I'm not convinced it is supposed to work like that. In Inpections -> Undefined symbols -> Multiple class declarations I can use a scope for the sources wherein the inspection applies, but not for where the inspection looks for classes definitions.

@ThomasCollignon Does that mean that my steps are just effectively disabling the inspection?

@ThomasCollignon You're right. I tested with the scope it just excludes a random file. The inspection is disabled in other files, but not in that excluded file.
I'm pretty sure this means the only workaround is to not use this option with ide-helper or to totally disable the inspection. 😞


Generative art: perlin noise, and then make train stations

To be honest this looks difficult, but hey!

Closing in favor of #244


[Question] Android still "failed to load image" on version 1.7.0

Hi, after receiving your comment on my issue #64, i was upgrading to version 1.7.0
my react native info:
info Fetching system and libraries information...
System:
OS: macOS 14.7
CPU: (10) arm64 Apple M1 Pro
Memory: 124.78 MB / 32.00 GB
Shell:
version: "5.9"
path: /bin/zsh
Binaries:
Node:
version: 18.19.1
path: ~/.nvm/versions/node/v18.19.1/bin/node
Yarn:
version: 1.22.22
path: /opt/homebrew/bin/yarn
npm:
version: 10.2.4
path: ~/.nvm/versions/node/v18.19.1/bin/npm
Watchman:
version: 2<IP_ADDRESS>
path: /opt/homebrew/bin/watchman
Managers:
CocoaPods:
version: 1.15.2
path: /Users/elsie/.rbenv/shims/pod
SDKs:
iOS SDK:
Platforms:
- DriverKit 23.5
- iOS 17.5
- macOS 14.5
- tvOS 17.5
- visionOS 1.2
- watchOS 10.5
Android SDK:
Android NDK: 22.1.7171670
IDEs:
Android Studio: 2024.2 AI-242.23339.11.2421.12483815
Xcode:
version: 15.4/15F31d
path: /usr/bin/xcodebuild
Languages:
Java:
version: 17.0.13
path: /usr/bin/javac
Ruby:
version: 2.7.4
path: /Users/elsie/.rbenv/shims/ruby
npmPackages:
"@react-native-community/cli":
installed: 15.0.0
wanted: 15.0.0
react:
installed: 18.3.1
wanted: 18.3.1
react-native:
installed: 0.76.1
wanted: 0.76.1
react-native-macos: Not Found
npmGlobalPackages:
"react-native": Not Found
Android:
hermesEnabled: true
newArchEnabled: true
iOS:
hermesEnabled: true
newArchEnabled: true
The different which I update my header response have "Cache-control" from Server and i got:
cache-control: public,max-age=3600 content-length: 260938 content-type: image/jpeg date: Sun, 03 Nov 2024 05:39:16 GMT last-modified: Sun, 03 Nov 2024 04:55:19 GMT server: Kestrel
But there is still the black image in android (IOS still work perfectly), i got message from 'onError' callback is "failed to load image". Did i miss something in my response header?
Many thanks for your help!

@elsieej  This is the logic for the cache on Android:
  .memoryCachePolicy(if (cachePolicy == "memory") CachePolicy.ENABLED else CachePolicy.DISABLED)
          .diskCachePolicy(if (cachePolicy == "discWithCacheControl" || cachePolicy == "discNoCacheControl") CachePolicy.ENABLED else CachePolicy.DISABLED)
          ```

Are you passing in the `discWithCacheControl` into the prop?

yes, i'm passing the 'discWithCacheControl' into my props, here my full code with FasterImageView:
@gtokman
const source: ImageOptions = {     ...rest.source,     headers: {       Authorization:Bearer ${accessToken},     },     cachePolicy: 'discNoCacheControl',   };   return (     <FasterImageView {...rest} source={source} onError={e => console.log(e)} />   );

yes, this is working now, many thanks for your support ❤


Add Minimal sample

Fixes #937
I will add doc updates to this PR, opening as a draft just because I think it's cool we're at < 10 non-empty LOC to have a functioning reverse proxy.

I will add doc updates to this PR

Let's not add this to our docs right now, only a readme in the sample itself explaining this demonstrates new 6.0 features. We can revisit the docs after 1.0 when we officially start supporting 6.0.

can we make it clear in the directory name that this is for .NET 6+

Let's not add this to our docs right now, only a readme in the sample itself explaining this demonstrates new 6.0 features. We can revisit the docs after 1.0 when we officially start supporting 6.0.

Will do. For users running a 6.0 SDK, following the getting started doc may be slightly more confusing since the behavior of dotnet new web changed.

can we make it clear in the directory name that this is for .NET 6+

Called that out in the README


Add password successful feedback

This adds some feedback when entering the password on the command line.
When the password is entered and supplied through stdin (and stdout is a
terminal) then the a message saying password is correct if correct is
printed.
The pull request aims to fix #438
I'm not sure if it's the correct place to output in the OpenRepository function
or that my assumption is correct in when it should be outputted.
Thanks!

I have a thought on this: Why would you not output the text just because the password happens to come from an environment variable or password file, rather than the terminal? I mean, it's still a password, and whether it's correct or not is still relevant. In short, I think you should output the text regardless of the source of the password.

Codecov Report

Merging #1324 into master will decrease coverage by 5.71%.
The diff coverage is 18.18%.

@@            Coverage Diff             @@
##           master    #1324      +/-   ##
==========================================
- Coverage   52.07%   46.36%   -5.72%
==========================================
  Files         134      134
  Lines       13080    13091      +11
==========================================
- Hits         6812     6070     -742
- Misses       5434     6244     +810
+ Partials      834      777      -57

Impacted Files
Coverage Δ

cmd/restic/global.go
21.5% <18.18%> (-0.11%)
:arrow_down:

internal/backend/b2/b2.go
0% <0%> (-79.93%)
:arrow_down:

internal/backend/azure/azure.go
0% <0%> (-75.35%)
:arrow_down:

internal/backend/swift/swift.go
0% <0%> (-73.9%)
:arrow_down:

internal/backend/gs/gs.go
0% <0%> (-65.6%)
:arrow_down:

internal/backend/swift/config.go
34.37% <0%> (-56.25%)
:arrow_down:

internal/checker/checker.go
68.19% <0%> (-3.84%)
:arrow_down:

Continue to review full report at Codecov.

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


Animating vedo.shapes.Spheres

I am trying to visualise a particle system using the vedo.shapes.Spheres class. This is the main loop:
    def run(self):
        print("Run simulation...")

        reset_cam = True

        while True:
            #particle_driver.collision_check()

            particle_driver.boundary_check()
            particle_driver.update()
            particle_driver.get_positions(self.positions)

            #self.points.points(self.positions)
            self.spheres.points(self.positions)

            plt.show(resetcam=reset_cam, axes=1)
            if reset_cam:
                reset_cam = False
            if plt.escaped:
                break  # if ESC is hit during the loop

Running this will display a single set of points and then crash without an exception.
particle_driver is a fortran extension module. Using vedo.mesh.Points class works.
It also works when you recreate a Spheres instance every loop iteration, but that is really slow...
Any ideas?

Uhm... does this work for you?
import vedo
import numpy as np

class RunnerTest:

    def __init__(self):
        self.positions = np.random.rand(100, 3)
        self.plt = vedo.Plotter(axes=1, interactive=False)
        self.points = vedo.Points(self.positions)
        self.text = vedo.Text2D(c='r4')
        self.plt += [self.points, self.text]

    def run(self):
        print("Run simulation...")

        reset_cam = True

        while True:
            self.positions *= 0.99

            self.points.points(self.positions)
            self.text.text(f'cm={self.points.centerOfMass()}')

            self.plt.show(resetcam=reset_cam)
            if reset_cam:
                reset_cam = False
            if self.plt.escaped:
                break  # if ESC is hit during the loop

rt = RunnerTest()
rt.run()

You may also use Sphere instead of  Spheres, so you don't need to recreate the object in the loop.

Thanks for your quick reply. It almost worked. After removing the text object it works:
import vedo
import numpy as np

class RunnerTest:

    def __init__(self):
        self.positions = np.random.rand(100, 3)
        self.plt = vedo.Plotter(axes=1, interactive=False)
        self.points = vedo.Points(self.positions)
        #self.text = vedo.Text2D(c='r4')
        self.plt += [self.points]

    def run(self):
        print("Run simulation...")

        reset_cam = True

        while True:
            self.positions *= 0.99

            self.points.points(self.positions)
            #self.text.text(f'cm={self.points.centerOfMass()}')

            self.plt.show(resetcam=reset_cam)
            if reset_cam:
                reset_cam = False
            if self.plt.escaped:
                break  # if ESC is hit during the loop

rt = RunnerTest()
rt.run()

I have an example that uses a list of spheres that are updated manually, but then I have to use a python loop which slows down the animation significantly. I could make my own example work with Points. I would like the self.spheres.points(self.positions) to work ;)
Jonas

BTW: Replacing Points with Spheres also crashes the above code.

Uhm.. what happens to the Text2D? Is it crashing?

I would like the self.spheres.points(self.positions) to work ;)

You can use Sphere instead of Spheres, so you don't need to recreate the object in the loop. You'll then update their position with a loop calling spheres[i].pos(self.positions[i] (this will be fast).

BTW: Replacing Points with Spheres also crashes the above code.

Probably because you're trying to set the points (mesh vertices!!) of the Spheres object which is a single Mesh.

Uhm.. what happens to the Text2D? Is it crashing?

Yes. Black window appears and then disappears. No drawing from what I can see.

I would like the self.spheres.points(self.positions) to work ;)

You can use Sphere instead of Spheres, so you don't need to recreate the object in the loop. You'll then update their position with a loop calling spheres[i].pos(self.positions[i] (this will be fast).

Ok, That was in principle what I did. I will try it again.

BTW: Replacing Points with Spheres also crashes the above code.

Probably because you're trying to set the points (mesh vertices!!) of the Spheres object which is a single Mesh.

Ok, I was a bit confused by the API that looked a lot like the Points API. So the spheres in Spheres are a single mesh?
Jonas

Yes. Black window appears and then disappears. No drawing from what I can see.

that's pretty weird! But the small standalone script I sent is also failing ?

Ok, I was a bit confused by the API that looked a lot like the Points API. So the spheres in Spheres are a single mesh?

Yes. And - you are right - the API similarity can be misleading... I need to clarify it in the docs.

Yes. Black window appears and then disappears. No drawing from what I can see.

that's pretty weird! But the small standalone script I sent is also failing ?
Yes

Ok, I was a bit confused by the API that looked a lot like the Points API. So the spheres in Spheres are a single mesh?

Yes. And - you are right - the API similarity can be misleading... I need to clarify it in the docs.

Thanks, looks like a very impressive library. Evaluating right now for a project assignment in a Scientific Programming course.
Jonas

the small standalone script I sent is also failing ? Yes

can you do:
vedo --info
to know your system specs, I will try reproduce the problem if possible.
Thanks for reporting!

Perhaps a bug, but on Windows you can't type vedo in the command line. For all the other scripts in this folder there are .exe equivalents. I had to do:
python vedo --info in the Scripts directory
_________________________________________________________________
vedo version      : 2021.0.6   https://vedo.embl.es
vtk version       : 9.0.1
python version    : 3.7.11 (default, Jul 27 2021, 09:42:29) [MSC v.1916 64 bit (AMD64)]
python interpreter: C:\Anaconda3\envs\sciprog-project\python.exe
vedo installation : C:\Anaconda3\envs\sciprog-project\lib\site-packages\vedo
system            : Windows 10 nt AMD64


Update Docs in web-react-ts from CRA TS to be project specific

We have a great template starter for Typescript in react created by @ltwlf
The readme probably needs a bit of an update to document project specifics:  https://github.com/grand-stack/grand-stack-starter/blob/master/web-react-ts/README.md
Maybe something more along these lines:  https://github.com/grand-stack/grand-stack-starter/blob/master/web-react/README.md

hey @ed42311 would it make sense to change the typescript README to point to the other README? Unless there are typescript specific steps that need to be taken that I might be missing?

@KazChe There are going to be a few differences for sure the readme doc has some real depth.  What stands out to me at a quick glance is the linter:  https://github.com/grand-stack/grand-stack-starter/blob/master/web-react/README.md#formatting-code-automatically
I also see 3/4 more areas that would need updating.
These are minor changes in some ways, i.e. you need ts in the search pattern, but it's going to be real frustrating for someone building if they don't have deep understanding of TS yet...
idk might be worth doing more modularized docs or a wiki type setup.  if you want to take a run at it, go for it, if not I'll look at the organization next time I'm in this neck of the woods.

A starter step might be to link into the doc with things are the same and expound on the readme were they are different.


Not an issue: How to download builds?

I want to download the new 1.6.0 build that fixes /baltop. Where can I find the jar file?

http://erigitic.github.io/TotalEconomy/


Get Steam Player Summary

Problem
Use "axios" to get Steam Profile name and avatar for "spilledcoffee"
Solution

[x] Write axios GET method to GetPlayerSummaries("steam_id")
[ ] Parse into JSON
[ ] Return "personaname", set as title of page
[ ] Return "avatarfull", image and display as profile picture.
[ ] Get my steam profile from Steam API using the steam-reaction web app.

Impact
Result of solution
Include screenshots/videos/gifs as needed.
Test Plan
List of steps for reviewer to test Pull Request
EXAMPLE:

Checkout branch locally
Run npm i
Open http://localhost:8000/

See #28 for an example.

[ ] @Darcmarc78 Handle CORS axios error

Revoked initial API Key used in commit history

TODO @Darcmarc78

Create express api request to steam api
Rewrite frontend request to perform get request on express to Steam api request

TODO

[ ] Configure Proxy API on Gatsby Config
If that does not resolve CORS "localhost:3000" error
[ ] Configure Access-Control-Allow-Origin header on Express Server request

Added cors middleware to be able to add "access-control-allow-origin" header to backend Express server.


Display test name before running it

Hi, I am sometimes having a hard time troubleshooting failing tests stuck in an infinite loop.
The reason is that output is being printed only if test finished (fail or success), but if it is stuck, then it is very hard to identify which test is stuck.
Could you please suggest a pattern to print the test name to STDOUT / STDERR (on a CI server for example) before running any test ?
Thanks much.

Also, are you aware of anny pattern to retrieve logs from an ongoing test (stuck test for example) ?

I was having this exact same problem of your original question, and simply using pytest -v is enough to output the name of each test before it runs on my CI output.
About the second question, I wouldn't know as I'm not very familiar with pytest, but seems that pytest -s stops pytest from capturing the stdout, and so I think that should make it possible to output the log directly on your standard output while the log is running.


Legend Selector Responsiveness

Version
4.7.0
Reproduction link
https://jsfiddle.net/kc7L9y6s/
Steps to reproduce
Just create a chart with a big enough legend to expand multiple lines. And add the set the legend -> selector option to true.
What is expected?
I was expecting the legend area to resize properly.
Here you can see a chart legend without the legend selector, that is working as expected.

What is actually happening?
The legend area is cropped on the left side because it is pushed by the legend selector. And the legend selector is cropped on the right side.
Here you can see a chart legend with the legend selector, with the responsiveness issue.

add the width ,  like 95%,  it work for me. the code example below:
legend: {
          data: legendData,
          width: '95%',
          selector: ['all', 'inverse']
}


Possible solution to address #336

Added the extra assertion and a slightly improved (although perhaps still not acceptable) conditional

:+1:

@pgkirsch, now you can use all the ValueErrors you want!

test this please

The proper solution is to define an error type for "program did/did not contain signomials"


Configure a service-worker to ignore the blog section of a website

Hi Tate, thanks for providing astrojs-service-worker, it works like a charm!
Maybe you can help me with my use case: I have a website that consists of a web application and a blog. I would like to enable a service-worker for the application but not for the blog.
The challenges that I run into are:

How to make sure the service-worker only caches resources needed for the web application, and not the blog? AstroJS outputs all resources in a flat directory _astro so I can't just use globIgnores.
How to configure a service-worker such that it only runs for the web application, and not on blog pages?

Do you have any pointers for me? I guess I have to create something custom for this case.

Hey @josdejong what's your URL path structure look like? Are you blog or application pages under a separate path? eg /blog/some-page or /app/some-page?

Thanks for your reply. The blog is indeed under a separate path. It boils down to:
/                       (main application)
/blog/article1
/blog/article2
/blog/article3

The blog articles have images, but all images end up flattened in a folder ./dist/_astro/ after building with AstroJS.
I figured out that I can use registration.autoRegister = false and manually add code only to the web application at /, that's great, so that solves my challenge (2).
For challenge (1) I would need to specify workbox.globIgnores after Astro has built the website, and before astrojs-service-worker creates the service worker. For the time being I've copied and adjusted the code of astrojs-service-worker so that it get's the list with all resources in _astro, and then checks index.html to see which resources are used with a simple String.includes(resourceName), recursing into js/css files used by index.html.
Would you be interested in either:

Extending the API for workbox to allow for a callback (little work):export interface ServiceWorkerConfig {
  // ...
  workbox?: InjectManifestOptions | GenerateSWOptions | (dir: URL) => InjectManifestOptions | GenerateSWOptions;
}

Build a full fledged solution for a globIgnores that works with AstroJS? (more work)

I can work out a PR for either if you want.

How to configure a service-worker such that it only runs for the web application, and not on blog pages?

The Service Worker API supports the opposite use case, restricting the service worker to a particular path with scope, but workbox has a configuration option navigateFallbackDenylist that I believe solves this for you without you needing to take over manual registration -- LMK if that works.

Hm, I haven't used offlineFallback options before, but as far as I understand this is meant as a fallback page for non-cached pages in case there is no internet connection, showing something like "Could not connect - Retry". I don't think it applies to this case of caching a part of the website only.
Indeed globIgnores itself works like a charm (and is meant for this). The issue is that we cannot use a pattern like /blog/**/* since AstroJS flattens resources like images into the _astro folder.
What I've done in the meantime is: clone astrojs-service-worker and adjust it with some code that determines the right globIgnores by letting Astro build the site, and then go through the built pages that I want to cache (ie. index.html but not /blog/article1), and scan though them to see which images are loaded on that page, and from that built the globIgnores list. Being able to provide the globIgnores dynamically via a callback would allow me to use the original astrojs-service-worker, and determine the globIgnores with my custom code collecting the images used on the home page.
Having an AstroJS option to keep the images in the original directory structure would be the most powerful solution I think: that way I could plain and simple define globIgnores: '/blog/**/*' and all would work without having to jump though hoops. So, it may be a good idea indeed to open an issue at the AstroJS site to discuss this.

Yeah preserving the directory structure does seem attractive. Two downsides are that a) there are a few reasons Astro could be opposed to it, and b) this doesn't work for users until that release is adopted, if the change was even excepted.
Another path forward here could be to better integrate workbox into vite, rather than invoking workbox after the astro build process has completed. That could be adoption of something like https://github.com/vite-pwa/vite-plugin-pwa or implementing a solution directly in this package, that could be later extracted.
Alternatively, we could remap any globIgnores using the source into an explicit ignore list targeting the build output, but I have some concerns about maintaining that remapping correctly.
I think that images are the only special case to consider here for globIgnore -- everything else preserves it's directory structure.

Does https://github.com/vite-pwa/astro handle your use case correctly?

Unfortunately not. I've just tested out with vite-pwa, and this plugin has the exact same issue. Looking at the logs it also executes after Astro has generated the output files. To test this, I defined workbox: { globIgnores: ['blog/**/*'] } and that has no effect (all images are still precached). When defining workbox: { globIgnores: ['_astro/*'] } there is effect: not-precaching most files (and these files that only exist after build, not in the source code).

I think that images are the only special case to consider here for globIgnore -- everything else preserves it's directory structure.

Not exactly, I think a better description is that html files keep their original directory structure and all else (images, js scripts, css, pdfs, etc) is flattened into the _astro output folder.

Another path forward here could be to better integrate workbox into vite, rather than invoking workbox after the astro build process has completed.

That would be ideal: collect the files to be precached during the built, at the moment you have both the original name of the resource and the output name. I'm not sure though how complex it would be to implement such an integration in vite. It may be worth an experiement.

Another path forward here could be to better integrate workbox into vite, rather than invoking workbox after the astro build process has completed.

If you’re interested in experimenting with this I’d be happy to collaborate and/or merge an MR for this functionality.
High level we’d want to:

hook into the build process to build a map of input file to output files
Apply the provided globignores (or a similiar new field specific to this library) to the input files, to build a list of files to exclude
Pass the excluded file list to workbox

Does that sound right?

Yes indeed. I'm not sure how to implement this though (or whether it is feasible in the first place). I guess this logic will need to be an Astro integration, since that is where files get a new output name. I've had a look in the Integration API but I do not see anything that would allow me to collect file input/output names. Maybe addMiddleware or so? Do you have any experience or pointers or tutorials in that direction?

I think we’ll need to drop down into vite and look for opportunities to get the source and destination file paths.
https://v2.vitejs.dev/guide/api-plugin.html

I'm looking into writing a vite/rollup plugin that collects this information via hooks. I can collect "some" information via the outro and writeBundle hooks but not yet what we need. This is what I've tried so far:
// file: astro.config.mjs

export default defineConfig({
  // ...
  vite: {
    plugins: [
      collectResourceMapping()
    ]
  },
  // ...
})

function collectResourceMapping() {
  return {
    name: 'collect-resource-mapping',

    outro() {
      console.log('outro', Array.from(arguments))
    },

    renderChunk() {
      // this logs a *lot* of data
      // console.log('renderChunk', Array.from(arguments))
    },

    writeBundle(_options, bundle) {
      console.log('writeBundle bundle', bundle)
    }
  }
}

I'll ask for some pointers in the Astro community.

Ok the feedback from the community Discord is that this information probably can be found via the writeBundle callback that I was already testing with. I've done some more testing, but still no luck: I cannot find the relation between the original input file name and path, and the final output file name. One thing that makes this more complicated is that there can be a pipeline with multiple processors, like the astro image service which optimizes files and (again) outputs new file names. It will be complex to hook up all of these integrations in a reliable way.
In short: I don't see an option to safely relate the input/output images via a Vite plugin.
The only alternative that I see is the script that I already developed and working fine for my own use: collect all file names in the _astro output folder. Then (recursively) scan through each of the html, js, and css files and see whether any of the image names are used there. This can be done reliably thanks to the output files having a unique hash in the name. This way, we can generate a list with all resources used by every individual html file. Applying the globIgnores on all html pages gives us the list with pages to be included/excluded from caching by the service worker. The list with included pages plus the list with resources used by each of these pages gives us what we're looking for: the list with all files to be cached by the service worker.
So I think we can go in two directions here: (1) build this logic inside the astrojs-service-worker, or (2) make the API of astrojs-service-worker flexible enough so that we can plug custom logic like this into astrojs-service-worker.
What do you think @tatethurston?


Stuck on loading the stream

hi, i am using a oculus quest 2 and im on arch linux. when i try to use alvr (im using it from the install command yay -S alvr) steam vr says "a key component of steam vr isnt working properly"  (error 307) and when on my oculus it is stuck on loading the stream.
what should i do?

Use the portable build. Much less headache and pain (Bundles the proper ffmpeg and all that jazz)

I will give that a shot

Yo, so I built ffmpeg and exported it to ld_path_library. Alvr from the portable version doesnt display anything (nothing pops up when I run it from terminal) steam is also not popping a error

ok, so im using the portable version and it still says

"a key component of steamvr isn't working properly." (error 307)

What settings and hardware? Vulkan installed and setup?

What settings and hardware? Vulkan installed and setup?

I'm on arch and I have a 6700xt gpu
I have Vulkan-Radeon installed

I will take a photo of the settings soon

I am also having this issue, and I'm on arch using the portable build with an RX 470 using vulkan-radeon.


Docs: Typo Fix

Corrected "neather" to "neither" in [README.md].
This pull request addresses a minor typo found in repository. The typo has been corrected to improve clarity and maintain the quality of the documentation.
This change is purely cosmetic and does not affect functionality.

The DCO build failed which means the commit wasn't signed, one way it can be done is via:
git commit --amend -s # sign existing commit
git push -f
we could add this typo to .codespelldict also

I caught this in https://github.com/containers/ramalama/pull/379 will need signed commits to merge PRs


Chat Time options

(Just helping here for pointers)
Chat time option does not work, settings have been changed in multiple ways to ensure issue is replicated.

The question is how I'm going to handle this. Should I make it multi row or have it scrolling?

Hmmm, could it be possible to make it an option between the two? I personally would like it to scroll as it would keep chat in full view. Since I'm a staff member my tabs fill quickly and chat becomes very small.

Sorry, my previous comment was meant for a different issue. Timestamps aren't implemented yet, nor are most of the settings.

ec31a5c07016b7eaaab18cc3fe8e09e9068b862a


Datum support in Iris

🚀 Pull Request
Description

Implements datum support in Iris and hides loading them from NetCDF behind a Future flag.
To do:

[x] Write a test that checks that we can transform with a datum in the same way as proj does

Reviewer questions:

I've implemented a small lookup from long datum names to short (proj4 string) ones because it appears impossible to query a proj datum for its short name and a cartopy.crs.Globe can't be built from a long one. I would love a better fix for this, any ideas (up to and including changing Cartopy)?
Are we happy with what's hidden behind the future flag (loading datums from netcdf) and what isn't (everything else)? This seems least likely to break people's code (which would see things move if they've been loading files where we were ignoring the datum before), whilst minimising work required to access datums.
Should we implement (here or in a separate PR) saving out crs_wkt into NetCDF? This can carry datum information, along with other useful information, and is easily pulled from a Cartopy CRS now that they're based on proj. Doing this is currently in the code of this PR but commented out. See also #3796

Reviewer notes:

I had to change the tests in lib/iris/tests/unit/fileformats/netcdf/test_Saver.py because the specified ellipsoids aren't valid and my new implementation had started noticing that.
Given that every use of _get_ellipsoid in lib/iris/fileformats/_nc_load_rules/helpers.py is used identically to build the ellipsoid, I just moved the actual building up into _get_ellipsoid. This means that currently unit.fileformats.nc_load_rules.actions.test__grid_mappings.Test__grid_mapping.test_missing_latlon_radius fails but I don't think that matters so I think that test can be removed.

Closes #4619

Consult Iris pull request check list

Given that every use of _get_ellipsoid in lib/iris/fileformats/_nc_load_rules/helpers.py is used identically to build the ellipsoid, I just moved the actual building up into _get_ellipsoid. This means that currently unit.fileformats.nc_load_rules.actions.test__grid_mappings.Test__grid_mapping.test_missing_latlon_radius fails but I don't think that matters so I think that test can be removed.

This was an error - I'd changed the behaviour to fail silently in a case when it shouldn't. Fixed by 89fd422

Waiting on a check of when we should say the future is coming

Waiting on a check of when we should say the future is coming

Conclusion was that we don't tend to say when the future is coming

Typically we don't speculate when the future will arrive, but if the future is the source of a breaking change, then the future will arrive in the next major release (whenever that is)

So I think we're good to merge @jamesp?

Nice work @wjbenfold


Add MOS logo

Add MOS logo

Hello @norby4ever, where does exist this distro?

Hello @norby4ever, where does exist this distro?

Hello, this distro is located here: https://hub.mos.ru/mos/iso


Changes to 'General Information' are not saved for templates

Describe the bug
Changes to basic properties (tab 'General Information') are not stored in new template editor.
To Reproduce
Steps to reproduce the behavior:

Open a an existing template in the new template editor.
Make a change, e.g., to the field 'Name'
Save
Reload

Expected behavior
After the reload, the newly entered information should be displayed. It isn't, instead, the old information is reloaded.
Environment

OS: OS X
Browser: Chrome
DRES Version: v2 (xodus-storage)

Additional context
From what I see, the API responsible for updating the template receives the old information instead of the newly entered one. There seems to be an issue with updating the form / model.

Aren't there also some fields there, such as a template-level default media collection, that are not stored in the backend at all?

Yes, there are two fields, default media collection and default length of a random segment in seconds that are client-side only. However @ppanopticon correctly pointed out that name and description weren't properly updated. This has been fixed.

Would we want to store these additional fields as well? I'd think it confusing if some fields are deliberately not stored.


no API_KEY after key:generate

After installing I'm seeing the following error:
PHP Fatal error:  Uncaught RuntimeException: The only supported ciphers are AES-128-CBC and AES-256-CBC with the correct key lengths. in /var/www/html/vendor/laravel/framework/src/Illuminate/Encryption/Encrypter.php:44\nStack trace:\n#0 /var/www/html/vendor/laravel/framework/src/Illuminate/Encryption/EncryptionServiceProvider.php(32): Illuminate\\Encryption\\Encrypter->__construct()\n#1 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(869): Illuminate\\Encryption\\EncryptionServiceProvider->Illuminate\\Encryption\\{closure}()\n#2 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(754): Illuminate\\Container\\Container->build()\n#3 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(841): Illuminate\\Container\\Container->resolve()\n#4 /var/www/html/vendor/laravel/framework/src/Illuminate/Container/Container.php(692): Illuminate\\Foundation\\Application->resolve()\n#5 /var/www/html/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(826): Illuminat in /var/www/html/vendor/laravel/framework/src/Illuminate/Encryption/Encrypter.php on line 44, referer: https://koel.k-dev.harmony.net/

Could this be because I made up an API_KEY rather than use the utility to generate one?  I thought maybe so I tried to generate one using the command:
# php artisan key:generate --force
Application key set successfully.

Looks like it completed successfully but there is nothing new in .env

Just noticed this is forked off another project, going to work with the other project for a bit and see if I can figure out the issue.

Hi, unfortunately the original project this is forked from is no longer maintained.
The APP_KEY is automatically generated, indeed if you need to generate it that's the right command to run. I'm surprised it didn't write it to .env file, I think there is also an artisan command to dump vars but I don't know it from the top of my head

Did you try running php artisan koel:init --no-assets? It should generate the APP_KEY

What I found out is if I don't try to provide an api key one is generated.  For some reason I felt like I needed an api key before I knew how to generate one so by providing an invalid key I created a problem for myself.  Got everything working now.  Thank you!


Replication

I understand that the setup allows one way replication but is it also possible to have a two way replication?

Bi-directional replication is possible with SymmetricDS. We don't currently make use of it, but you could create a branch/fork for it.


Ending support for IE 11 after v3.0

TL;DR: Shaka Player will no longer support IE11 beyond v3.0.x
Shaka Player has supported IE 11 since v1.6.0, added in PR #176 and released a little more than 4 years ago.  At that time, IE 11 usage was significantly higher than Edge, and it was still a very important target for many providers.
Since that time, IE 11 usage has steadily declined.  We use browser usage data from caniuse.com to help drive our support decisions, and those data indicate that IE usage has now fallen below Edge usage for the first time since we've been watching.
Even Microsoft maintains that IE 11 is only a "compatibility solution" for outdated web apps.  We don't think Shaka Player fits that description.  With the introduction of a Chromium-based Edge on January 15, 2020 with builds for Windows 7 & 8, there is now even less reason to continue supporting IE 11.
IE 11 support has only gotten more expensive for us.  There are over 91 references to IE workarounds and restrictions in our codebase.  We have three custom polyfills totalling 800+ lines just for IE.  IE has gotten even more problematic for us since the introduction of the Shaka Player UI in v2.5, since one of IE's weakest points is its outdated CSS implementation.
For these reasons, the upcoming v3.0 release of Shaka Player will be the last release branch with IE11 support.  When we stop making maintenance releases for v3.0, we will remove IE from our test lab and our list of supported platforms.
Please feel free to leave your feedback, positive or negative, on this GitHub issue.  Thanks for reading!
-Joey, on behalf of the Shaka Player Team

Please note that although the plan & timeline for IE deprecation has not changed, we have decided to rename v2.6 to v3.0.

@joeyparrish In which version is this issue going to be solved, in 3.1 or in 4.0? After seeing the post of version 4.0 and the follow-up of a semantic version, I would like to clarify this.

Excellent question.  We had decided to drop support for IE before the switch to v3.0, and with the transition to v3.0, also announced that we would end IE support in v3.1.  Apologies if this is confusing (or cheating) in terms of semantic versioning.

Closed by #3309


Question about "custom main menus"

What is your question?
Will you ever add a main menu editor?
if not, is there a way I can make main menus myself without using source code?

No, lua is only triggered in a song


fix: missing typing info

:tada: This PR is included in version 1.0.2 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release
1.0.2

Your semantic-release bot :package::rocket:


Put DM into its own namespace

Fixes #15

Note that once this goes through and you fetch, you might have to manually tear down existing k8s resources, rerun the kubectl proxy command and rebuild dm.  That's a one time thing.

Can you also update examples/bootstrap/bootstrap.sh kubectl proxy command to refer to the new namespace?

@vaikas-google fixed and squashed.

LGTM


[tests-only][full-ci] Added parallel deployment testing setup

Description
Set up and added some api acceptance tests for testing parallel deployment environment.

[x] setup behat for testing
[x] add necessary drone config for parallel setup
[x] use test code from core repo

POC PR https://github.com/owncloud/ocis/pull/2828
Depends on
necessary test code changes are made in this PR https://github.com/owncloud/core/pull/39603
Related Issue
https://github.com/owncloud/ocis/issues/2387
How Has This Been Tested?

local
CI

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Technical debt
[x] Tests only (no source changes)

Checklist:

[ ] Code changes
[ ] Unit tests added
[x] Acceptance tests added
[ ] Documentation ticket raised:

Parallel deploy tests CI pipeline run example: https://drone.owncloud.com/owncloud/ocis/8402

Parallel deployment services stack:

oCIS from owncloud/ocis:latest
oC10 from owncloud/server:10
openldap
keycloak
mariadb for oC10
postgres for keycloak

@saw-jan https://drone.owncloud.com/owncloud/ocis/8431
list has no .parallelDeployAcceptancePipeline field or method

@saw-jan https://drone.owncloud.com/owncloud/ocis/8431 list has no .parallelDeployAcceptancePipeline field or method

Yeah, fixed it

Looks like Keycloak is not set up right. But for the tests we don't even need it :laughing: The testsuite is "only" using basic auth and no OpenID Connect.
I would prefer to remove Keycloak as of now from the test setup and add a comment, instead of fixing it. This also means we can skip the Keycloak database for now ;-)
Is there a way to suppress the warning WARNING: reva data root folder (/var/tmp/ocis/owncloud/) does not exist ? If so, it would be nice to do it.
Otherwise, it looks good to me

@saw-jan please rebase. I expect that the current .drone.env is now up-to-date in master, so you will not need to change it.


Add course "course-id" field too small

Currently it's length is set to 6 characters. This needs to be a lot longer so that we can put, for instance ... cs101-f17-a (plus a few more characters just in case).
BTW, I've moved to postgres on GPU machine and it's working fine.

Same goes for description field in "Add assignment". Why be so "kanjoos" with the fields? =]

Increased the field length of course_id to 64 and description to 8192.


Multiarch Server ENABLE_AUTOPAUSE broken

While running a custom image based on itzg/minecraft-server:multiarch (the custom image only installs sudo and psmisc) on a Raspberry Pi 4, the Autopause functionality fails, causing the container to fail as well.  This is being run as a docker stack, but I haven't seen the same issue when running the base image on an x86_64 machine.
These are the logs from the container:
2020-12-25T05:42:52.153501161Z [init] Running as uid=1000 gid=1000 with /data as 'drwxrwxr-x 6 1000 1000 4096 Dec 25 00:35 /data'
2020-12-25T05:42:52.404537252Z [init] Resolved version given LATEST into 1.16.4
2020-12-25T05:42:52.411584035Z [init] Autopause functionality enabled
2020-12-25T05:42:52.441925087Z [init] Warning: MAX_TICK_TIME is non-default, for autopause to work properly, this check should be disabled (-1 for versions >= 1.8.1)
2020-12-25T05:42:52.444114690Z [init] Resolving type given VANILLA
2020-12-25T05:42:52.462303373Z sudo: no tty present and no askpass program specified
2020-12-25T05:42:52.481962316Z [init] Setting server-name to 'Minecraft Server' in /data/server.properties
2020-12-25T05:42:52.744293527Z [init] Skip setting server-ip
2020-12-25T05:42:52.744533709Z [init] Setting server-port to '25565' in /data/server.properties
2020-12-25T05:42:52.753180732Z [init] Setting motd to 'A Vanilla Minecraft Server powered by Docker' in /data/server.properties
2020-12-25T05:42:52.765704430Z [init] Skip setting allow-nether
2020-12-25T05:42:52.765806188Z [init] Skip setting announce-player-achievements
2020-12-25T05:42:52.765829077Z [init] Skip setting enable-command-block
2020-12-25T05:42:52.765848706Z [init] Skip setting spawn-animals
2020-12-25T05:42:52.765869261Z [init] Skip setting spawn-monsters
2020-12-25T05:42:52.765888057Z [init] Skip setting spawn-npcs
2020-12-25T05:42:52.765906298Z [init] Skip setting spawn-protection
2020-12-25T05:42:52.765925168Z [init] Skip setting generate-structures
2020-12-25T05:42:52.765944075Z [init] Skip setting view-distance
2020-12-25T05:42:52.765963130Z [init] Skip setting hardcore
2020-12-25T05:42:52.765984686Z [init] Skip setting snooper-enabled
2020-12-25T05:42:52.766006260Z [init] Skip setting max-build-height
2020-12-25T05:42:52.766025648Z [init] Skip setting force-gamemode
2020-12-25T05:42:52.766046259Z [init] Setting max-tick-time to '-1' in /data/server.properties
2020-12-25T05:42:52.773244300Z [init] Skip setting enable-query
2020-12-25T05:42:52.773321281Z [init] Skip setting query.port
2020-12-25T05:42:52.773343484Z [init] Setting enable-rcon to 'true' in /data/server.properties
2020-12-25T05:42:52.781600271Z [init] Setting rcon.password to 'minecraft' in /data/server.properties
2020-12-25T05:42:52.789866614Z [init] Setting rcon.port to '25575' in /data/server.properties
2020-12-25T05:42:52.803492538Z [init] Skip setting max-players
2020-12-25T05:42:52.803601241Z [init] Skip setting max-world-size
2020-12-25T05:42:52.803624203Z [init] Setting level-name to 'world' in /data/server.properties
2020-12-25T05:42:52.812778239Z [init] Skip setting level-seed
2020-12-25T05:42:52.812871552Z [init] Setting pvp to 'true' in /data/server.properties
2020-12-25T05:42:52.819989335Z [init] Skip setting generator-settings
2020-12-25T05:42:52.820181073Z [init] Setting online-mode to 'true' in /data/server.properties
2020-12-25T05:42:52.841382423Z [init] Skip setting allow-flight
2020-12-25T05:42:52.841589384Z [init] Setting level-type to 'DEFAULT' in /data/server.properties
2020-12-25T05:42:52.867307530Z [init] Skip setting resource-pack
2020-12-25T05:42:52.867598193Z [init] Skip setting resource-pack-sha1
2020-12-25T05:42:52.867859245Z [init] Skip setting player-idle-timeout
2020-12-25T05:42:52.867982558Z [init] Skip setting broadcast-console-to-ops
2020-12-25T05:42:52.868097316Z [init] Skip setting broadcast-rcon-to-ops
2020-12-25T05:42:52.868188519Z [init] Skip setting enable-jmx-monitoring
2020-12-25T05:42:52.868289499Z [init] Skip setting sync-chunk-writes
2020-12-25T05:42:52.868417812Z [init] Skip setting enable-status
2020-12-25T05:42:52.869504151Z [init] Skip setting entity-broadcast-range-percentage
2020-12-25T05:42:52.869569020Z [init] Skip setting function-permission-level
2020-12-25T05:42:52.870445713Z [init] Skip setting network-compression-threshold
2020-12-25T05:42:52.870520120Z [init] Skip setting op-permission-level
2020-12-25T05:42:52.870561397Z [init] Skip setting prevent-proxy-connections
2020-12-25T05:42:52.870602193Z [init] Skip setting use-native-transport
2020-12-25T05:42:52.870638729Z [init] Skip setting enforce-whitelist
2020-12-25T05:42:52.873757135Z [init] Setting difficulty to 'normal' in /data/server.properties
2020-12-25T05:42:52.921447492Z [init] Setting/adding ops
2020-12-25T05:42:52.941428042Z [init] log4j2.xml already created, skipping
2020-12-25T05:42:52.941506430Z [init] Checking for JSON files.
2020-12-25T05:42:52.981548455Z [init] Copying any mods over...
2020-12-25T05:42:53.027028691Z [init] Copying any configs from /config to /data/config
2020-12-25T05:42:53.046572839Z [init] Setting initial memory to 2G and max to 2G
2020-12-25T05:42:53.051706516Z [init] Using Aikar's flags
2020-12-25T05:42:53.053486772Z [init] Starting the Minecraft server...
2020-12-25T05:42:53.073300528Z OpenJDK Client VM warning: G1 GC is disabled in this release.
2020-12-25T05:42:53.159659982Z [Autopause loop] Failed to start knockd daemon.
2020-12-25T05:42:53.159742999Z [Autopause loop] Possible cause: docker's host network mode.
2020-12-25T05:42:53.159767240Z [Autopause loop] Recreate without host mode or disable autopause functionality.
2020-12-25T05:42:53.159788591Z [Autopause loop] Stopping server.
2020-12-25T05:42:53.170306962Z 2020-12-25T00:42:53.169-0500	WARN	mc-server-runner	sub-process failed	{"exitCode": -1}
2020-12-25T05:42:53.170384535Z 2020-12-25T00:42:53.170-0500	INFO	mc-server-runner	Done
I'm using the following entries for my compose file:
version: '3.8'
services:
minecraft-server:
image: itzg/minecraft-server:multiarch
environment:
EULA: "TRUE"
ENABLE_AUTOPAUSE: "TRUE"
AUTOPAUSE_TIMEOUT_EST: "1200"
OVERRIDE_SERVER_PROPERTIES: "TRUE"
MAX_TICK_TIME: "-1"
DIFFICULTY: "normal"
SERVER_NAME: "Minecraft Server"
USE_AIKAR_FLAGS: "true"
DISABLE_HEALTHCHECK: "true"
MEMORY: "2G"
GUI: "FALSE"
ports:
- "25565:25565"
volumes:
- "minecraft_data:/data"
- "minecraft_config:/config"
- "minecraft_mods:/mods"
- "minecraft_plugins:/plugins"
deploy:
placement:
constraints:
- "node.platform.arch==armv7l"
Is Autopause functionality currently supported on the multiarch version of the image?

@Oekn5w, any suggestions for @ErstBlack to debug this further? I'm not sure if others have attempted auto-pause on RaspberryPi / arm32v7, so perhaps there's latent issue in that build of knockd?

@itzg looking at the multiarch Dockerfile, I'm wondering why sudo is not getting installed in the image, is it included in the base image?
Pulling the amd64 multiarch image and running it fails because it's missing sudo.
Unfortunately I currently don't have a spare RPi nor a RPi4 at all. I'll try setting up a VM.
@ErstBlack if you want to help toubleshooting, could you please recreate the container with autopause disabled and bash into it (docker exec -it <name> /bin/bash) to run:
knockd --version
knockd -c /autopause/knockd-config.cfg -D
ifconfig

notes:
The second knockd runs the utility in debug mode (-D), as opposed to daemon mode (-d) in the autopause files. This should print an error message.
For ifconfig to work, you need to install net-tools.
ifconfig shouldn't expose private information, please check. I'm mostly interested in the available interfaces.
Is the RPi4 using the arm32v7 or the arm64 image?

arm32v7, and can do, I'll check it out later today.

@itzg looking at the multiarch Dockerfile, I'm wondering why sudo is not getting installed in the image, is it included in the base image?
Pulling the amd64 multiarch image and running it fails because it's missing sudo.

It's because I wanted to avoid some signal forwarding quirks of sudo and use gosu here instead; however, there's no harm in also installing sudo, so I can add that.

...or gosu could be used here

@Oekn5w sudo is now included in the latest image for multiarch and multiarch-latest.

@itzg Just a heads up, I also had to install psmisc because killall wasn't installed either, which I believe is used in a handful of places for the autostart functionality

@Oekn5w
root@50bc2fe12ac8:/data# knockd --version knockd 0.7
root@50bc2fe12ac8:/data# knockd -c /autopause/knockd-config.cfg -D config: new section: 'options' config: log file: /dev/null config: new section: 'unpauseMCServer-server' config: unpauseMCServer-server: sequence: 25565:tcp config: unpauseMCServer-server: seq_timeout: 1 config: unpauseMCServer-server: start_command: /sbin/su-exec minecraft:minecraft /autopause/resume.sh config: tcp flag: SYN config: new section: 'unpauseMCServer-rcon' config: unpauseMCServer-rcon: sequence: 25575:tcp config: unpauseMCServer-rcon: seq_timeout: 1 config: unpauseMCServer-rcon: start_command: /sbin/su-exec minecraft:minecraft /autopause/resume.sh config: tcp flag: SYN ethernet interface detected Local IP: <IP_ADDRESS> Adding pcap expression for door 'unpauseMCServer-server': (dst host <IP_ADDRESS> and (((tcp dst port 25565) and tcp[tcpflags] & tcp-syn != 0))) Adding pcap expression for door 'unpauseMCServer-rcon': (dst host <IP_ADDRESS> and (((tcp dst port 25575) and tcp[tcpflags] & tcp-syn != 0))) ^C
`root@50bc2fe12ac8:/data# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1450
inet <IP_ADDRESS>  netmask <IP_ADDRESS>  broadcast <IP_ADDRESS>
ether 02:42:0a:00:00:27  txqueuelen 0  (Ethernet)
RX packets 0  bytes 0 (0.0 B)
RX errors 0  dropped 0  overruns 0  frame 0
TX packets 1  bytes 376 (376.0 B)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1450
inet <IP_ADDRESS>  netmask <IP_ADDRESS>  broadcast <IP_ADDRESS>
ether 02:42:0a:00:03:03  txqueuelen 0  (Ethernet)
RX packets 0  bytes 0 (0.0 B)
RX errors 0  dropped 0  overruns 0  frame 0
TX packets 1  bytes 376 (376.0 B)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
eth2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
inet <IP_ADDRESS>  netmask <IP_ADDRESS>  broadcast <IP_ADDRESS>
ether 02:42:ac:12:00:08  txqueuelen 0  (Ethernet)
RX packets 471  bytes 340207 (340.2 KB)
RX errors 0  dropped 0  overruns 0  frame 0
TX packets 312  bytes 22647 (22.6 KB)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
inet <IP_ADDRESS>  netmask <IP_ADDRESS>
loop  txqueuelen 1000  (Local Loopback)
RX packets 8  bytes 1083 (1.0 KB)
RX errors 0  dropped 0  overruns 0  frame 0
TX packets 8  bytes 1083 (1.0 KB)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
`

@itzg beside the psmisc package also net-tools have to be installed (netstat command). However, something else seems broken in the multiarch image. I cannot get the original functionality to work even with these tools installed. I'll look into it in the next days.
@ErstBlack huh, I see no error in starting the knockd command. Did you initially build a new image with sudo and psmisc or did you install them by bashing into the container? Is it possible that the original issue failed because it denied the sudo request from user minecraft rather than the knockd command?
BTW: Do you know why you have 3 ethernet interfaces in the ifconfig? Both in my VM and the deployed servers (NUC) I only have one ethernet interface in the containers.

@Oekn5w For the original issue, I built a new image which effectively just ran apt update && apt install -y psmisc sudo.  For this test, I just bashed into the base image after it came up and installed psmisc, as I grabbed the updated multiarch image that @itzg put out so it already had sudo.
I imagine it's the networks associated with docker swarm.  i.e. ingress because of the published port, gwbridge because it's running in a swarm, and one specifically for the minecraft stack.

@itzg @Oekn5w
So, playing around with it, I think I might have figured out a few issues.  After making a new image with psmisc and net-tools installed, the knockd service worked properly and tried to run after the timeout, i.e. 600 seconds.
At that point, however, the java process did not stop.  It looks like the issue has to do with the ps -a command in pause.sh.  Changing the ps -a to ps -ax allowed the if statement to return properly.
After that though, the killallreturned java: no process found.  The specific reason why I'm not sure about in particular.  Could be that it doesn't have a tty, could be because it's running as the minecraft user, etc.
Changing the killall to a pkill, however, seems to have resolved the issue.  If you make that change, you won't need to install psmisc as pkill is from the procps package, which is already installed.

Cool, thanks for troubleshooting. I think a bit more robust writing of the functionality is in order. Seeing as you have several non-loopback interfaces, a knockd daemon should probably be started for each of those. I assume something similar prevents autopause from working in portainer environments.

Thanks for the help both of you. A PR will be great for the additional packages and tweaks.

#707


Block shuffle with custom shows removes all programming

From discord:
Could all of the movies just not be added directly and then sorted by release? What is the use of the block scheduler in this case?
Unless you mean just have blocks of MCU and then say a block of DC etc
And within those blocks we run sequentially
The block scheduler could potentially be pretty powerful but I think we’d need a whole separate UI. I think for now we can just make an assumption of:
If scheduling movies that are on the channel directly, we will group them by release day
If scheduling blocks that contain custom shows, we’ll use the ordering defined within the custom show itself, which is fully customizable


apps/lvgl: fix compile warning

Summary
Add patch to fix the compile warning, which is already fixed in upstream: https://github.com/lvgl/lvgl/pull/6100
Impact
No.
Testing
Tested with sim:lvgl_lcd

@XuNeo please fix the error in nuttx side:
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
	modified:   boards/xtensa/esp32/esp32-wrover-kit/configs/lvgl/defconfig
	modified:   boards/xtensa/esp32s3/esp32s3-lcd-ev/configs/lvgl/defconfig


[Bugfix] Fix displaying snapshots of Paimon tables

Purpose
Fixed the issue with displaying snapshots of Paimon tables.

@hdygxsj, please create new issue to record this bug.

Because paimon0.8 removed them
---Original---
From: "Nicholas @.>
Date: Fri, May 24, 2024 16:35 PM
To: @.>;
Cc: "yangyang<EMAIL_ADDRESS>Subject: Re: [apache/paimon-webui] [Bugfix] Fix displaying snapshots of Paimontables (PR #242)
@SteNicholas commented on this pull request.
In paimon-web-server/src/main/java/org/apache/paimon/web/server/service/impl/MetadataServiceImpl.java:
> @@ -120,9 +120,7 @@ public List<SnapshotVO> getSnapshot(MetadataDTO dto) {                                          .totalRecordCount(internalRow.getLong(9))                                          .deltaRecordCount(internalRow.getLong(10))                                          .changelogRecordCount(internalRow.getLong(11)) -                                        .addedFileCount(internalRow.getInt(12))
Why remove setting added file count and deleted file count?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>


Not appear the result when using remote method.

Hi Team,
When I  input 'X' character in the first index of keyword, typeahead does not display the result. Please check and fix it.
Thanks.....

Sorry.... I fixed it.


[Feature Request]: Improve Adventure Page

Is there an existing issue for this?

[X] I have searched the existing issues

Feature Description

I wish to add filters
I wish to add some icons that will show exactly what adventures are available in the place
Improve the UI
add search bar

Use Case
UI/UX both will be improved this way
Benefits
No response
Add ScreenShots

Priority
High
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[ ] I'm a VSOC'24 contributor
[X] I have starred the repository

@sau-mili Nice feature description. Just if you could clarify about how you are going to manage the filters, I mean the whole procedure of filtering, then I can assign you this issue..

I added some icons in the packages.html if you see one of my previous PRs. i want to do similar but this time with adventure sports icons for this page. Also, add a search bar for this

Okk cool... Assigned this issue to you @sau-mili .. Go ahead and make a PR.

@KrishnenduDG can you please check my pull

Hey @sau-mili, can you please add the screenshot by comparing to the current /package url. As i am unable to find any difference

sure, one sec.

BEFORE

AFTER

Please check @itsekta

Your deployed link

Currently deployed

https://travel-website-git-patch2-sau-milis-projects.vercel.app?_vercel_share=aIAawH67NKoJXtzKnxvPhLKwhZqCG7tA

Currently delployed is

Both the screenshot you are showing are my deployment


Just a question: do something when user swipe notification instead of pressing it

I wanted to know is it possible to call a function when user swipe notificaiton without pressing it ?
something smilar to onSelectNotification.
I want to know if user pressed the notification or dissmissed it.

That functionality is not currently supported by this plugin and I'm not actively working on this plugin anymore.
From a quick search, it looks like it's technically possible on android. I.E. to implement this functionality in this plugin, one would need to add something like onDismissNotification that would essentially be implemented the same as onSelectNotification, but in the android code use setDeleteIntent instead of setContentIntent. I don't have much iOS experience, so I can't say definitively if this behavior can be implemented there.

thanks for your answer but a notification plugin is very useful hope you back to work on it again.


Data Store Registry should expose subregistry logic

The Fluid Framework code internally accepts nested component factories (i.e. subregistries) and operates on arrays of component type keys, not just single strings. In order to use the runtime data store registry effectively (without reimplementing subregistry logic), it would be great if the same sort of helpers/component array keys were exposed at this level instead of a single string.
For example get(string) would turn into get(string[]), so it can be used for loaded subregistries and logic that has already turned all strings into its runtime array.
Also for iteration purposes, in order to iterate over the registry, the registry should provide more than just top level entry iteration and also associate the proper array keys with each iterated entry.

I believe this logic already exists somewhere in the runtime code when it processes component type arrays and just needs to be moved to the shared helper layer so that all code that works with the registry can use it. :)
@vladsud @anthony-murphy

Related to #4193 where we want to augment the component/subcomponent registry pattern provided by the framework without reimplementing the entire registry and fluidExport patterns.

Registry entries can implement IFluidRegistry, so you can already walk the path. Registries themselves are not aware of sub registries, this is by design.  I'm not sure what the ask here is, or why it is needed.

Hmm, that makes sense, so for at least get() we can just do a series of gets and I think it'll be fine.
We still might have a problem of iteration though, if we want to iterate through all entries. But thinking about this, it makes sense that we might only need to iterate through two lists, the top level registry and the sub registry instead of the entire swath of registries, which would also make this use case more manageable with just a series of gets.
Thanks for the suggestions, I'll try them out when we integrate with Vlad's change and get back to you if there's something missed in the helper. :)


Use API to generate EPs and remove OCM support

Use a new API from dns-operator and remove all multicluster stuff

The changes to use the builder looks good, but the change to the tests are unrelated and make me uncertain about possible regressions.
If you want to proceed with the proposed test changes I'd move them to a different PR so we can be sure the current tests all pass with the changes this PR is introducing.

Moved test changes into #882 so it could be discussed and closed or merged independently to this change


[Feature]-[Infinity]:Auto-scroll to JS function selected from dropdown in JS Editor

Is there an existing issue for this?

[X] I have searched the existing issues

Description
When we select the js function in the dropdown, auto-scrolling to the function in code can be super helpful when you have large js files.
Steps To Reproduce

Create JS Object with several JS functions
Select a js function(one that is visible only upon scrolling) from the dropdown
Notice that editor isn't auto-scrolled to the selected function

Public Sample App
No response
Version
Cloud

6m usage of js editor: 2500
this is a basic function that arguably will benefit all users of the editor.
Stats

Stat
Values

Reach
2500

Effort (months)
<>

6m usage of js editor: 2500
this is a basic function that arguably will benefit all users of the editor.
Stats

Stat
Values

Reach
2500

Effort (months)
0.5


refactor code with sonarcloud

not sure wether we actually used this issue, we most certainly created issues for all bugs independently


google.protobuf.message.DecodeError

Thank you for open source your codes. I was trying to running your CNN planner model (deep_motion_planner/models/model.pb) with tensorflow 1.14.0 and protobuf 3.6.1. But there was an error related to protobuf where showed "google.protobuf.message.DecodeError: Truncated message."  or "google.protobuf.message.DecodeError: Error parsing message.”  I guess it is due to the uncorrect protobuf version. So could you tell me your setup environment (tensorflow verison and protobuf version ) ? Thank you very much.

@zzuxzt Hello, have you solved the problem?
looking forward to your reply. Thanks.


[Bug]: 'Unable to capture screenshot' if external extension is used

Bug description
I am observing unstable screenshot behaviour. On a specific website, screenshot function fails with 'Unable to capture screenshot' error. I am running in headful mode, because I also want to use an extension to block the cooies message. This is the copy paste code to reproduce the error.
const puppeteer = require('puppeteer');
(async ()=>{
    const pathToExtension = require('path').join(__dirname, 'I_dont_care_about_cookies'); // available here: https://chrome.google.com/webstore/detail/i-dont-care-about-cookies/fihnjjcciajhdojfnbdddfaoknhalnja?hl=en
    let desktopPath = "./vanilla-desktop.jpg";

    const browser = await puppeteer.launch({
        headless: false,
        defaultViewport: null,
        args: [
            '--disable-setuid-sandbox',
            '--no-sandbox',
            '--window-size=1920,1080',
            '--disable-dev-shm-usage',
            '--shm-size=3gb',
            '--disable-extensions-except=${pathToExtension}',
            '--load-extension=${pathToExtension}',
        ]
    });

    let page = await browser.newPage();
    let response = await page.goto("https://www.sinsay.com/si/sl/sale/woman/view-all-clothes", { waitUntil: "networkidle2" }); //this fails
    //let response = await page.goto("https://www.stackoverflow.com", { waitUntil: "networkidle2" }); //this works fine

    await page.waitForTimeout(6000);
    await page.setViewport({ width: 1920, height: 1080 });
    await page.evaluate(() => window.scrollTo(0, 0));
    await page.screenshot({ path: desktopPath, fullPage: true });
    await browser.close()
})();

Puppeteer version
15.3.2
Node.js version
v16.15.0
npm version
8.5.5
What operating system are you seeing the problem on?
macOS
Relevant log output
/path/to/node_modules/puppeteer/lib/cjs/puppeteer/common/Connection.js:278
                error: new Errors_js_1.ProtocolError(),
                       ^

ProtocolError: Protocol error (Page.captureScreenshot): Unable to capture screenshot
    at /path/to/node_modules/puppeteer/lib/cjs/puppeteer/common/Connection.js:278:24
    at new Promise (<anonymous>)
    at CDPSession.send (/path/to/node_modules/puppeteer/lib/cjs/puppeteer/common/Connection.js:274:16)
    at Page._Page_screenshotTask (/path/to/node_modules/puppeteer/lib/cjs/puppeteer/common/Page.js:2574:74)
    at processTicksAndRejections (node:internal/process/task_queues:96:5) {
  originalMessage: 'Unable to capture screenshot'
}

Does it reproduce without the extension?


lyrics placement and the rests

Originally posted by @ssb22 in https://github.com/ssb22/jianpu-ly/issues/27#issuecomment-1501147517

right now, that results in incorrect output (some of the words get placed under some of the rests)

Hmm..., how it should be working?
lyrics should not be placed under the rests normally right? Does it only work for crotchet notes, or should be working for the rest as well? (I'm thinking that it should be the latter)

Thanks for the reply, in that case, please take a look at
https://github.com/jianpu-ly/jianpu-st/blob/master/mmd-木棉道.jp
The last two rests,
q0 q6 6. q6 q6 q6 q5 q4 5 - ~ 5 q0 q6 6. q1' 5 q3 q2 1 - ~ 1
^^                              ^^

If you're able to look at the result,
https://github.com/jianpu-ly/jianpu-st/blob/master/mmd-木棉道.png
you can see that lyrics are placed under the rests for both the cases.
Notes,

The rests before these two are fine though.
Some time ago, it was working fine, as this is an example that I copied from elsewhere which was working fine before, telling from the image it was generated then.

Ah.  Bug.
Workaround for now is to run python jianpu-ly.py --noRestHack
(This is an undocumented option.  There's a comment saying TODO: document next to the --noRestHack handler.  But I'm tempted to change it anyway.)
The original point of rest-hack was that Lilypond 2.16 and 2.18 didn't always obey our beam overrides when we tried to beam a quaver rest to a quaver note.  That mattered because we were telling Lilypond to always write the beam as a line under the notes (for jianpu), and we didn't want it to write a 5-line quaver "flag" instead.  Lilypond's beam-override code is supposed to take care of that, but due to a Lilypond bug it didn't always work (at least not on 2.16 and 2.18).
So I put in "rest-hack" which is basically "pretend the short rests are notes".  So we still see "0" on the page (we make it look like a rest), and we still write a rest to the MIDI output, but old-Lilypond's beaming algorithm "thinks" it's dealing with a note and doesn't mess up.
Turning the rests into notes is obviously going to cause a problem for lyrics, because Lilypond will try to attach a lyric to our fake note that's really a rest.  So at first I put "auto turn off rest-hack if there's lyrics" (just don't do it and hope old versions of Lilypond won't mess up our beaming in this particular piece), but then I realised we can create a new Lilypond "voice" for the fake note, because Lilypond attaches its lyrics to only the main voice and not to any extra voice we put in (and we can still make it look the same on paper: you wouldn't know by looking at it that an extra Lilypond voice is being used for the rest).
So I guess the questions now are:

does Lilypond still even need rest-hack?  We already have code in jianpu-ly to detect which version of Lilypond is on our system, so it can do version-specific output when necessary (although I prefer to avoid this—maybe the .ly file will be typeset on another system—but we can do it if we have to e.g. Mac fonts); if we can figure out which version if Lilypond fixed the original bug that rest-hack was working around, then we could put in some logic saying "auto turn off rest-hack if we're above Lilypond version whatever" (which will make the headache of maintaining rest-hack go away in most real-world cases except maybe one or two users stuck on very old systems who can't upgrade past Lilypond 2.18), or we might even consider raising the minimum required version of Lilypond to whatever version fixed that bug & remove rest-hack completely.
Assuming we want to keep rest-hack for now, why did it not create a \new Voice for the fake note in that particular input?

OK I know what the answer to question 2 is.
The logic to create the new voice for rest-hack is turned on only if the piece has lyrics.  But the "check if the piece has lyrics" part just looks for L: or H: as a complete word within the input.  So if you had written H: 紅 (with a space after the colon) it would have worked, but because you wrote H:紅 (no space after the colon) the lookahead part didn't see those lyrics coming (and therefore didn't turn on the creation of new voices for rest-hack), although the actual lyric handler could cope with no space when it got there, but by then it was too late because most of the Lilypond code had already been generated.
So the actual fix (for now) is just to make sure it checks for L: or H: with or without a space immediately after when it's looking ahead to see if there will be lyrics.  (And of course I didn't run into this in testing because I automatically put a space after every colon I type....)


Can you upgrade jszip to the latest version?

Can you upgrade jszip to the latest version?
jszip v3.2.2 removed<EMAIL_ADDRESS>dependency, the deprecated warning disappeared<EMAIL_ADDRESS>is no longer maintained. Please, upgrade to core-js@3 or at least to actual version of<EMAIL_ADDRESS>Even if I force upgrade jszip and core-js to the latest version, I can't eliminate this warning!!!
Every time npm install terminal output core-js warning, I'm annoyed!!!!
(；′⌒`)

jszip < 3.7.0 also contains following vulnerability:
Moderate        Prototype Pollution
Package         jszip
Patched in      >=3.7.0
Dependency of   tfx-cli [dev]
Path            tfx-cli > jszip
More info       https://npmjs.com/advisories/1774


New Just: new_data bug on windows

The default values for the new_data volume mount are not windows compatible.
This should be reproduced in a juste unit test too.

Maybe add a cygpath -w for windows here

Duplicate of #30


Beaker remains open in the background when closed

Operation System: Windows 10
Beaker version: v0.8.0-prerelease.3

The above processes appear under "Background processes" after closing Beaker and disappear after opening Beaker. Using npm start to launch a different version of Beaker gets hijacked by the existing processes and any changes you might have been trying to test aren't loaded.
It's widely considered bad behavior for a program to remain open in the background when closed with window decorations so if this is intentional, it ought to be changed and made optional.

We actually removed the behavior that keeps Beaker running in the background in 0.8, so I think what you're seeing is the 0.7 background process still active, and thus interfering with the new process you're trying to start.
Kill the background process and try again, and let us know if you continue to have trouble.

Restarted my system for good measure and the problem persists.

Uninstalling and installing the latest beta release directly doesn't resolve this either.

Hm, that's odd. We definitely took out the background process code in 0.8, but we'll look into it to see if we can figure out what's going on.

Yep I just confirmed this is happening. 🤦♂
I think it's because of a piece I removed in https://github.com/beakerbrowser/beaker/commit/5014bf7ef6c867c7dcef56624e5111338b3b99b8. The 'window-all-closed' event needs to be handled and we probably aren't currently.

A fix is committed, we'll need to test on windows before we close.

I've tested it on Windows 10 by building with yarn run release and running the executable in the unpacked folder and it looks like it's fixed.

Nice! Thanks @DTV96Calibre for reporting and testing.


Develop

@nLatt Should we delete this PR ?

@mindoodoo I would accept it to have multiple releases
this one and the one shortly before the defence


Developer Experience: utility method/function to get supported crud fields. https://laravel-backpack.readme.io/docs/crud-fields

Who wants it? Can we have it?
Developers using/extending backpack could use this utility function/method.

Hmm... I'm not sure I understand. What do you mean @chriscalip ? Could you please give me a few details about the implementation, so I can understand?
Thanks, cheers!

@tabacitu I started to use backpack and explore its uses that it was originally intended.
For example imagine a situation for a crud gui where an administrator gets to build forms by point-and-click. I goto a newly created model then "Manage Attributes" and for each attribute pick a corresponding crud field. Now imagine a model called profile made up questions and each question an administrator can manage its crud field type like "select-from-array" and manage the allowed-values.

Oh, I get now, thanks. Yes, a GUI for creating CRUDs is planned, but we're quite a while from that. We're currently focused on delivering the best UX possible in code. Only after we're happy with that, will we start building the GUI. This polishing phase should take another few months, imho. As an intermediary step, which will be coming sooner than the GUI, we're building better generators, which will automatically generate full models, requests and controllers. No need to code for most simple CRUDs, if you setup the database structure right. After that, it's just a matter of creating a point-and-click interface for those generators.
Hope this clears up the roadmap a little bit. Cheers!


ROX-16905: Initial scanner v4 proto definitions

Checklist

[X] Investigated and inspected CI test results

N/A

[ ] Unit test and regression tests added
[ ] Evaluated and added CHANGELOG entry if required
[ ] Determined and documented upgrade steps
[ ] Documented user facing changes (create PR based on openshift/openshift-docs and merge into rhacs-docs)

Testing Performed
The proto generation is successful.

Also, it seems like some of the protos aren't being generated for the Groovy tests? Check out the style failures

Sorry it looks like I missed a file or two in my first review.

Sorry, what do you mean?

/test ocp-4-12-sensor-integration-tests

/test gke-nongroovy-e2e-tests