MA  jumps more than 1 song in queue

What version of Music Assistant has the issue?
2.2.7
What version of the Home Assistant Integration have you got installed?
2024.9.1
Have you tried everything in the Troubleshooting FAQ and reviewed the Open and Closed Issues and Discussions to resolve this yourself?

[X] Yes

The problem
Music stops playing the queue. This bug might be linked with #2893.
The reason seems to be that MA jumps too far when getting to the next song. I tried it with different playlists. In my case the jump was always about 6 to 8 songs further. All songs which are "jumped over" will be marked as already played.
So the playlist is  faster empty than expected and stops with an empty queue. After reloading the browser the playlist is refilled.
How to reproduce
Switch off random mode. Watch the playlist in the browser. The next song played is not the next song in queue. All songs in between the "expected" next song and the "played" next song will me moved the the "already played" list.
After playing the last song (there is an empty queue and a full "already played" list). Wait a few seconds and reload the page. Then the queue is full again.
Music Providers
file system (local files)
Player Providers
Sonos
Full log output
empty list which is expected as last song of queue is played
Additional information
The bug was introduced after version 2.2.1 (which works fine)
What version of Home Assistant Core are your running
2024.9.3
What type of installation are you running?
Home Assistant Supervised
On what type of hardware are you running?
Linux

With the volume of requests for assistance on here, Discord and the HA forums we need people to provide the information requested in a concise manner. You are getting this standard response because you have not supplied the information requested in the troubleshooting docs or in the issue report template and we are unable to quickly pinpoint the problem. Please review and supply the requested information for a more timely response to your problem. Thanks for your understanding.

I have exactly the same issue as described in the problem.

@cofw2005 have you tried other music and player providers to identify exactly where the problem resides?

I have only SONOS as player. And played mp3 in local files.
I tried right now, here you can see. I am playing a queue with 44 songs.
Previous playing showed there 3 left in the queue.

After that song, it jumped directly 9 songs.

And again, after this song, it jumped to.

This behavior happens only when the song playing finished and move to next song automatically. If I click the "next" button, it goes correctly to the next song in the queue.

by the way, it doesn't matter how the queue is generated, no matter from a album or from a playlist, the queue has same behavior.

Update: I managed to add a M5Stack ESPHome based media_player for testing purpose.
With this player, the queue runs correctly. No jumping in the queue.
Is it a SONOS problem? What can I do to look for further reasons?

Yes I think it is a Sonos player issue. There are a number of Sonos related issues. I need to go through them and look for double ups.

OK it is likely the issue here is that you are still running the stable server whereas significant improvements have been made in beta. Specifically there are now two providers, one for Series 1 speakers and one for Series 2. You will either need to wait for a future stable release or try and the beta and let us know if that resolves things. You can run both stable and beta on the same host just not at the same time.

@gpgmailencrypt @cofw2005 Are you able to try the beta server to see if this is fixed?

no, I didn't want to switch from stable to beta server.

I tried it with 2.3.0b29 and it works correctly now

I tried it with 2.3.0b29 and it works correctly now

👍🏻


Push simple python application

From @agherzan on August 17, 2016 8:45
Description
Push an a simple python application to the device
Steps to reproduce issue
git clone https://github.com/alexandrosm/hello-python
cd hello-python
git remote add resin YYY (copy the link from the application's dashboard)
git push resin master
Expected result
In the device's logs you should see: "hello python!"
Actual result
Can't download application. In the logs:
17.08.16 16:39:40 [+0800] Downloading application 'registry.resinstaging.io/qemu1/fd6c30d376a865a76b2ce8af9fb085b842ba55f1'
17.08.16 16:45:00 [+0800] Failed to download application 'registry.resinstaging.io/qemu1/fd6c30d376a865a76b2ce8af9fb085b842ba55f1' due to 'Error pulling image (latest) from registry.resinstaging.io/qemu1/fd6c30d376a865a76b2ce8af9fb085b842ba55f1, failed to register layer: ApplyLayer exit status 1 stdout: stderr: write /usr/lib/gcc/i586-linux-gnu/4.9/cc1plus: no space left on device'

and repeatedly try to download.
Started with the default command recommended from the dashboard: qemu-system-i386 -drive file=resin.img,media=disk,cache=none,format=raw -net nic,model=virtio -net user -m 512 -machine type=pc,accel=kvm -smp 4 -cpu host
Other information
Reported by: Gergely Imreh
Test configuration: QEMU X86 32bit
Test case number: TC06
Test run: https://resinio.testlodge.com/projects/16238/runs/221686?tab=2&run_section_id=231829&executed_case_id=10347326#executed_case_10347326
Copied from original issue: resin-os/meta-resin#248

From @jnv on September 4, 2016 20:24
As a workaround, you can resize the image using qemu-img and Resin automatically resizes the partition, e.g.:
qemu-img resize -f raw resin-image-qemux86-64.img +4G

#249 is duplicate.

CC @lifeeth i think we should have this instruction in qemu machines. Cause my default docker disk is only 1G which might be insufficient for some apps.

Or... I would actually vote to start shipping qemu images with 4G of docker disk (most of the boards we have use that disk size). CC @petrosagg

From @petrosagg on September 5, 2016 12:10
SGTM


Errors when running on elint.config.mjs

My project is not ESM ready, therefore I have to use the .mjs extension to let only eslint use ESM.
The analyzer fails to pick up the config file, but fails with an irrelevant error message.

You can also run this command directly using 'npx @eslint/config-inspector' in the same directory as your configuration file.
ℹ Starting ESLint config inspector at http://<IP_ADDRESS>:7777

ℹ Reading ESLint config from [REDACTED]/eslint.config.mjs
Failed to load `eslint.config.js`.
Note that `@eslint/config-inspector` only works with the flat config format:
https://eslint.org/docs/latest/use/configure/configuration-files-new
Error: Dynamic require of "tty" is not supported
    at file:///[REDACTED]/eslint.config.bundled_u7zfo621b2d.mjs:12:9
    at node_modules/debug/src/node.js (file:///[REDACTED]/eslint.config.bundled_u7zfo621b2d.mjs:610:15)
    at __require2 (file:///[REDACTED]/eslint.config.bundled_u7zfo621b2d.mjs:15:50)
    at node_modules/debug/src/index.js (file:///[REDACTED]/eslint.config.bundled_u7zfo621b2d.mjs:787:24)
    at __require2 (file:///[REDACTED]/eslint.config.bundled_u7zfo621b2d.mjs:15:50)
    at<EMAIL_ADDRESS>(file:///[REDACTED]/eslint.config.bundled_u7zfo621b2d.mjs:10517:21)
    at __require2 (file:///[REDACTED]/eslint.config.bundled_u7zfo621b2d.mjs:15:50)
    at file:///[REDACTED]/eslint.config.bundled_u7zfo621b2d.mjs:546154:31
    at ModuleJob.run (node:internal/modules/esm/module_job:262:25)
    at async ModuleLoader.import (node:internal/modules/esm/loader:474:24)

Is it possible to support eslint.config.mjs?

Can you share a minimal reproduction? Thanks

@antfu It turns out to be a unique combination of seemingly unrelated issues, please checkout this minrep https://github.com/vicary/eslint-config-inspector-mjs
All of the followings must be true to trigger this bug:

Use eslint.config.mjs instead of eslint.config.js
import @eslint/eslintrc in the file
Add a tsconfig.json with a path of * pointing to anywhere

I am not sure how does tsocnfig.json affects the require path of eslint.config.mjs, but it seems to be the culprit.

Why you are having "*": ["node_modules/*"] - it looks problematic to me. The config inspector use bundle-require to import the config file, which is powered by esbuild and respects your tsconfig.json. I would try to see if it's possible to disable tsconfig looking up - but I am not sure if your tsconfig.json is correct in the mean time

It is for a specific issue when the project root contains a directory with the same name as one of those inside node_modules.
When we have node_modules/graphql/ installed, our graphql/index.ts would break at the following import statement because the bare module identifier resolves to itself.
import * as graphql from "graphql";

This happens whenever importing the config crosses from ESM into CJS. Minimal reproduction
Looks like a limitation of bundle-require

@antfu given you've done https://github.com/egoist/bundle-require/pull/45, should someone next be making a PR here to explicitly pass tsconfig: false when calling bundleRequire?


[Admin Blocks] Uncaught Error: No extension found with the provided handle

Please list the package(s) involved in the issue, and include the version you are using

admin-ui-extensions-react 2023.7.x
Describe the bug

I am following the Admin action extension tutorial and have managed to get all the pieces individually connected. However, the one part that doesn't work in my test shop is the navigation. Any time I press a button to open a new "Create Issue" popup or edit an existing item, I run into this issue:
Uncaught Error: No extension found with the provided handle: issue-tracker-action
    at v.Ae (main-d01fa0f53716b6dd.js:1:27564)
    at navigate (main-d01fa0f53716b6dd.js:1:40704)
    at i (vendors-node_modules_dnd-kit_modifiers_dist_modifiers_esm_js-node_modules_dnd-kit_sortable_di-a02257-30e76657d3f02703.js:2:271477)
    at Object.call (vendors-node_modules_dnd-kit_modifiers_dist_modifiers_esm_js-node_modules_dnd-kit_sortable_di-a02257-30e76657d3f02703.js:2:192894)
    at MessagePort._ (vendors-node_modules_dnd-kit_modifiers_dist_modifiers_esm_js-node_modules_dnd-kit_sortable_di-a02257-30e76657d3f02703.js:2:195469)

              <Button
                onPress={() =>
                  navigation?.navigate('extension:issue-tracker-action')
                }
              >
                Add issue
              </Button>

I know that this extension is in my overall project, and I can see both extensions running in the context of my large app. This is a brand new app I created last Friday by following the Shopify create-an-app tutorial, so I think everything is up-to-date. I have verified that each extension has the expected shopify-extension.toml properties:
api_version = "2023-07"

[[extensions]]
# Change the merchant-facing name of the extension in locales/en.default.json
name = "t:name"
handle = "issue-tracker-action"
type = "ui_extension"

[[extensions.targeting]]
module = "./src/ActionExtension.jsx"
# The target used here must match the target used in the module file (./src/ActionExtension.jsx)
target = "admin.product-details.action.render"

I can activate the Create Issue dialog using the "More actions" menu at the top of the product page. However, this inter-extension communication is the only part not working.
Steps to reproduce the behavior:

Add a button in my block which points to issue-tracker-action
Press button

Expected behavior

I expect this launches a dialog with my "create issue" UI
Additional context
This is just following the tutorial. I'm feeling a bit stymied. But then again, I am new to this dev platform so I may be missing something obvious.

Hey @Fleker, thanks for reporting!
I suspect this is an issue that's cropping up from our dev preview. A few questions to help us figure out the root cause:
What version of the CLI are you seeing this on? (Updating to the latest CLI version could resolve this.)
Is the dev server for your extensions still running when you get this error? (The dev server is started when you run `npm run dev.)  Switching networks or a timeout on cloudflare could kill the server.

Hey @Fleker, thanks for reporting!
I suspect this is an issue that's cropping up from our dev preview. A few questions to help us figure out the root cause:
What version of the CLI are you seeing this on? (Updating to the latest CLI version could resolve this.)
Is the dev server for your extensions still running when you get this error? (The dev server is started when you run `npm run dev.)  Switching networks or a timeout on cloudflare could kill the server.

Hey @Fleker, thanks for the report! Let's see if we can get to the bottom of this.
I tried to reproduce the issue on my end but didn't have any luck. Would you be available for a quick call to see if we can debug this live?
A couple of things off the top of my head we could check:

Are you running yarn dev? Because yarn deploy won't work properly for block extensions yet as they're still in dev preview. If your action extension is deployed, but the block isn't, they won't be able to communicate.
You pasted one example of the shopify.extension.toml. This should work for the action extension. The block extension will need to have slightly different values. Based on the tutorial:

api_version = "2023-07"

[[extensions]]
name = "t:name"
handle = "issue-tracker-block"
type = "ui_extension"
[[extensions.targeting]]
module = "./src/BlockExtension.jsx"
# The target used here must match the target used in the module file (./src/BlockExtension.jsx)
target = "admin.product-details.block.render"

Would also love to hear any other feedback you have, sync or async :)

Thanks for your comment @MitchLillie I just went out on vacation after that and have managed to catch up.

Yes I am running yarn dev and the project is running on a preview store in a separate app. I followed the codelab closely.

Here's my shopify.extension.toml for issue-tracker-block:
api_version = "2023-07"

[[extensions]]
# Change the merchant-facing name of the extension in locales/en.default.json
name = "t:name"
handle = "issue-tracker-block"
type = "ui_extension"

[[extensions.targeting]]
module = "./src/BlockExtension.jsx"
# The target used here must match the target used in the module file (./src/BlockExtension.jsx)
target = "admin.product-details.block.render"

Here's the shopify.extension.toml for issue-tracker-action:
api_version = "2023-07"

[[extensions]]
# Change the merchant-facing name of the extension in locales/en.default.json
name = "t:name"
handle = "issue-tracker-action"
type = "ui_extension"

[[extensions.targeting]]
module = "./src/ActionExtension.jsx"
# The target used here must match the target used in the module file (./src/ActionExtension.jsx)
target = "admin.product-details.action.render"

Both exist in the same top-level extensions directory and otherwise work independent of each other.
We could try to do a sync tomorrow if that works.

Fleker and I met to go over this issue. We were able to repro on his machine only. We need some more time to investigate.

I've exactly the same issue with the 3.52.0 cli version. Is there any progress in solving the issue?


Vue Storybook does not reload active component during HMR

Bug or support request summary
I am updating a functional vue component created using a render function + JSX. HMR does not reload the currently viewed component with the changes, although I can see the chunk come in via console.
If I switch to another component then switch back changes will have been applied.
Interestingly, changes within the

Looks like I forgot to pass module into the storiesOf function. User error.


ImageVolume alpha feature not supported by containerd

Environmental Info:
K3s Version:
k3s version v1.31.0+k3s1 (34be6d96)
go version go1.22.5
Node(s) CPU architecture, OS, and Version:
Linux kubetest 6.8.0-44-generic #44-Ubuntu SMP PREEMPT_DYNAMIC Tue Aug 13 13:35:26 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
Cluster Configuration:
Single node
Describe the bug:
The freshly arrived ImageVolume feature seems broken
Steps To Reproduce:
Deployed k3s 1.31 with:
INSTALL_K3S_EXEC="--kubelet-arg feature-gates=ImageVolume=true --kube-apiserver-arg feature-gates=ImageVolume=true"
INSTALL_K3S_CHANNEL=latest

Applied manifest:
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: test
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
        - name: nginx
          image: nginx:1.14.2
          ports:
            - containerPort: 80
          volumeMounts:
            - name: model
              mountPath: /model
      volumes:
        - name: model
          image:
            pullPolicy: IfNotPresent
            reference: registry.k8s.io/conformance:v1.31.0

Expected behavior:
Pod starts with  registry.k8s.io/conformance:v1.31.0 image contents mounted at /model
Actual behavior:
In Kubernetes Lens following error message is shown
Error: failed to generate container "558bb3f947d9e1a70c697143ba10b2795c58ee7bde9c4fa0e3b317acb02dbe7b" spec: failed to generate spec: failed to mkdir "": mkdir : no such file or directory

Additional context / logs:
Sep 12 07:33:18 kubetest k3s[2270]: E0912 07:33:18.926553    2270 log.go:32] "CreateContainer in sandbox from runtime service failed" err="rpc error: code = Unknown desc = failed to generate container \"536ef130eb99ae8a9f69c175a410b6400a576c514f07ea5faf68b6dc638a8860\" spec: failed to generate spec: failed to mkdir \"\": mkdir : no such file or directory" podSandboxID="f785734aa1099aa8557e8d4e6cabe4de5d889901d31880caf2a3f972946d7f78"
Sep 12 07:33:18 kubetest k3s[2270]: E0912 07:33:18.926664    2270 kuberuntime_manager.go:1272] "Unhandled Error" err="container &Container{Name:nginx,Image:nginx:1.14.2,Command:[],Args:[],WorkingDir:,Ports:[]ContainerPort{ContainerPort{Name:,HostPort:0,ContainerPort:80,Protocol:TCP,HostIP:,},},Env:[]EnvVar{},Resources:ResourceRequirements{Limits:ResourceList{},Requests:ResourceList{},Claims:[]ResourceClaim{},},VolumeMounts:[]VolumeMount{VolumeMount{Name:model,ReadOnly:false,MountPath:/model,SubPath:,MountPropagation:nil,SubPathExpr:,RecursiveReadOnly:nil,},VolumeMount{Name:kube-api-access-rjk5r,ReadOnly:true,MountPath:/var/run/secrets/kubernetes.io/serviceaccount,SubPath:,MountPropagation:nil,SubPathExpr:,RecursiveReadOnly:nil,},},LivenessProbe:nil,ReadinessProbe:nil,Lifecycle:nil,TerminationMessagePath:/dev/termination-log,ImagePullPolicy:IfNotPresent,SecurityContext:nil,Stdin:false,StdinOnce:false,TTY:false,EnvFrom:[]EnvFromSource{},TerminationMessagePolicy:File,VolumeDevices:[]VolumeDevice{},StartupProbe:nil,ResizePolicy:[]ContainerResizePolicy{},RestartPolicy:nil,} start failed in pod ai-test-67984f78cd-n8xqd_default(e55f166a-1f0f-4728-96e2-fde67da551e3): CreateContainerError: failed to generate container \"536ef130eb99ae8a9f69c175a410b6400a576c514f07ea5faf68b6dc638a8860\" spec: failed to generate spec: failed to mkdir \"\": mkdir : no such file or directory"
Sep 12 07:33:18 kubetest k3s[2270]: E0912 07:33:18.927733    2270 pod_workers.go:1301] "Error syncing pod, skipping" err="failed to \"StartContainer\" for \"nginx\" with CreateContainerError: \"failed to generate container \\\"536ef130eb99ae8a9f69c175a410b6400a576c514f07ea5faf68b6dc638a8860\\\" spec: failed to generate spec: failed to mkdir \\\"\\\": mkdir : no such file or directory\"" pod="default/ai-test-67984f78cd-n8xqd" podUID="e55f166a-1f0f-4728-96e2-fde67da551e3"

I don't know where this error is coming from, but it is not code that lives within this repo. I suspect that the problem is either in the kubelet, or containerd.

Have you tried this with any other distro or container runtime?

As I asked above, are you sure containerd even supports this? It's still alpha, and the upstream announcement only mentions it working with the latest releases of cri-o.
https://kubernetes.io/blog/2024/08/16/kubernetes-1-31-image-volume-source/
I suspect you'll need to wait for containerd to support this, or install and use cri-o instead of the containerd bundled with k3s.

Ok, That's fair. I misunderstood. thanks for checking :)

containerd issue for this:
https://github.com/containerd/containerd/issues/10496

Question. Is k3s using this repo as the source of its containerd?

sorry, --> https://github.com/k3s-io/containerd

I think this answers my question https://github.com/k3s-io/k3s/blob/master/go.mod#L12

We maintain a small number of patches on top of containerd to allow embedding it within k3s. Our rewrite support has also not been accepted by upstream.
https://github.com/k3s-io/containerd/compare/v1.7.23...v1.7.23-k3s1

@brandond could you point me to the rewrite support so I can see what exactly that is? I'm trying to look to get my hands dirty. Sometimes a solution to an upstream project not accepting a particular feature is offering a change instead that enables the feature to be implemented through some form of extensibility.

Did you look at the commits in the link in the message you just replied to?

.. right, sorry. long day! 😓


adding first draft of AWS lambda for tracking purposes

Just wanted to add this one here for tracking purposes

Made the requested changes.
There is just the comment above about the code to be cleaned up.

If possible just describe the ref code you intend to keep, and good to merge!


Destination path null

Hi, a try to convert to webp and I get null in destination path:
data: <Buffer 52 49 46 46 d6 2f 00 00 57 45 42 50 56 50 38 58 0a 00 00 00 10 00 00 00 b1 01 00 58 01 00 41 4c 50 48 48 01 00 00 01 2f 20 10 48 f6 c7 5d 20 8d 88 88 ... 12204 more bytes>,   path: null
Code:
import imagemin from 'imagemin';
import imageminWebp from 'imagemin-webp';

const files = await imagemin(['img/home/*.{jpeg,png,jpg}'], {
    destination: 'img/buildwebp',
    plugins: [imageminWebp({quality: 80})],
  });
console.log(files);

Any help?
Thanks...

Having the same issue. Did you manage to find a solution yet?


feat: Add caching capability to circuits

Coverage increased (+0.6%) to 95.135% when pulling 62a566b25638f5b1b9b432932fb9b4065ab812f6 on helio-frota:opossum-23 into 5a727c8dde50730eedf55b0e2cd7b434613683fe on bucharest-gold:master.


Exception AttributeError: "'NoneType' object has no attribute 'LOG'"

Hi,
when we use the library in a test pytest prints the following error message:
Exception AttributeError: "'NoneType' object has no attribute 'LOG'" in <bound method Api.__del__ of <relayr.api.Api object at 0x10a7f42d0>> ignored
Any idea what could be causing this? As far as I can see you're not declaring __del__.
Thanks for you work!

Yes, this can be closed.


changed webpage logo

This PR is made to change the webpage logo which was in text format previously as shown below

A new logo was created and inserted in webpage with new look as below.

Fixes-#39

Your logo is looking great, but when we navigate to other pages, it doesn't display the logo image—it just shows "Jobsewa logo." Please have a look and correct the issue. It seems there's a problem with the logo not appearing on all pages.

Hey @Devmangrani , can you again check if the output is as desired and let me know if there is some issue.

It's now working great! Thank you for your efforts in resolving the issue. If you have any more updates or changes, feel free to share!


unpoller can't find my second site - configuration issue!

Hey all. I'm stumped. Config is below.
I've tried every variation of:

UP_UNIFI_DEFAULT_SITE_0=["all"]

Defining the second site for example:

UP_UNIFI_DEFAULT_SITE_1=["default"]
UP_UNIFI_DEFAULT_SITE_2=["xyzxyz"]

I just cannot get my second site discovered. Does anyone have any insight as to what my configuration is missing? I've tried environment variables and config file to no avail!
Thanks for your time!
unifi_poller:
image: golift/unifi-poller:latest
container_name: unifi_poller
restart: unless-stopped
ports:
- '9130:9130'
environment:
- UP_INFLUXDB_DISABLE=true
- UP_POLLER_DEBUG=false
- UP_UNIFI_DYNAMIC=false
- UP_PROMETHEUS_HTTP_LISTEN=<IP_ADDRESS>:9130
- UP_PROMETHEUS_NAMESPACE=unifipoller
- UP_UNIFI_CONTROLLER_0_USER=xxxxxx
- UP_UNIFI_CONTROLLER_0_PASS=xxxxxx
- UP_UNIFI_CONTROLLER_0_SAVE_DPI=true
- UP_UNIFI_CONTROLLER_0_URL=https://my.ip.addr:8443
- UP_UNIFI_DEFAULT_SITE_0=["all"]

If all does not show the site, then the user doesn't have access to see it.

Thank you David!
If I had a dollar for ever permissions related issue I've had...


Efficient table structure

With 10k+ daily views the amount of data, which umami will store in pageview table will become quite an issue after several months of collecting.
You store url and referrer as strings, which is nor very efficient:
mysql> SELECT count(0), count(DISTINCT url), count(DISTINCT referrer) FROM `pageview`
> 24927 4211 4239

I have just started collecting data and as you can see, your table structure uses around 5-6 times more, then it could, if you would deduplicate most storage demanding 'url' and 'referrer' fields.
You can have 2 separate tables for this values, store strings there and ids in 'pagevew' table, this will greatly reduce storage size, improve performance and is quite easy to implement.

I'm not really concerned about the storage, but fetching the data in the backend for the last x days is really slowing down for me.
Those are the loading times I get when I load the last 30 days and then the last 90 days on the dashboard (not the detailed view).

Granted this website had 740k views / 140k visitors in the last 30 days.
But I'm not sure how well it'll hold up when I want to look at data for 6/12 months.
It's not a major issue and postgres is obviously doing quite a bit of work counting all those rows.
But it would be nice to have some kind of aggregated tables for older entries to decrease those loading times. Something like this could also allow for deletion of the old "high resolution" data for pageviews (thinking influxdb downsampling/retention policy-ish).
Am aware that this only affects sites with higher traffic and its not a big deal to wait for 4sec when looking at the last 30 days.

Yes, that's another are of optimizations: collect exact views data first and then move it to aggregated tables. I didn't suggest this because it will require quite a lot of work to implement this.
Optimizing table structure is way easier, change int to smallint here, replace strings with ids there, all this little cheap optimiztions do count, when you have millions of rows. The smaller table size on disk - the faster it is scanned.

Everything is a trade-off. When you normalize data you exchange storage optimization for potential performance loss. Moving the url and referrer to another table now requires two lookups and two potential inserts for every page view. Also, you would be introducing more joins which would further slow down the queries.
Not saying these things can't be done, but there is a bigger issue here, and that is the migration path. Database migrations are very difficult and error prone. You can't simply update to the next version and have everything work. We'd have to provide a migration script that works across many different setups, including docker, and have it run without screwing up people's data. This change may have to be reserved for a future 2.0 version so that people at least know what they are getting into.
@joshinat0r I'm well aware of the performance issues once data starts getting very large. Remember this is not an enterprise product and for most people the common setup works fine, so we have to strike a balance. We can start exploring things like aggregate tables like @smartpunter suggested, using caching like redis or memcache, or a third-party solution like https://www.timescale.com/. But again these should be extensions to the current app and not involve major migrations.

Everything is a trade-off. When you normalize data you exchange storage optimization for potential performance loss. Moving the url and referrer to another table now requires two lookups and two potential inserts for every page view. Also, you would be introducing more joins which would further slow down the queries.
Not saying these things can't be done, but there is a bigger issue here, and that is the migration path. Database migrations are very difficult and error prone. You can't simply update to the next version and have everything work. We'd have to provide a migration script that works across many different setups, including docker, and have it run without screwing up people's data. This change may have to be reserved for a future 2.0 version so that people at least know what they are getting into.
@joshinat0r I'm well aware of the performance issues once data starts getting very large. Remember this is not an enterprise product and for most people the common setup works fine, so we have to strike a balance. We can start exploring things like aggregate tables like @smartpunter suggested, using caching like redis or memcache, or a third-party solution like https://www.timescale.com/. But again these should be extensions to the current app and not involve major migrations.

Yes, just realized this after getting it all setup. Everything else is just so good, but ugh, not going to take much traffic to really slow things down especially when you have multiple sites. timescaledb is probably the best direction to go. Guess i need to resetup as postgres vs mysql. lol. I already have postgres/timescaledb installed for other purposes.


[10/n] Updates to VSCode theme

[10/n] Updates to VSCode theme
Clean up the editor theme to better reflect VSCode theming.
It's still not perfect. Specifically, I would love help on the following:

There's a white strip at the top of the webview (not sure where that's from)
The Global Parameters container's width should match that of the prompt containers
Add Prompt button should have cleaner theming (it's very jarring)
Context menus are still styled as white, which makes them jarring in light mode.

Test Plan:

See video in comment

Stack created with Sapling. Best reviewed with ReviewStack.

-> #1073
#1070
#1069
#1068
#1066
#1062
#1060
#1059
#1058
#1057

https://github.com/lastmile-ai/aiconfig/assets/25641935/3bd6515c-5756-4b2a-a0ab-d13c69641078
Also I feel like the sizes for everything are larger than the editor. Ideally for button sizes and text size, we rely on VSCode theming variables.

The Global Parameters container's width should match that of the prompt containers

https://github.com/lastmile-ai/aiconfig/pull/1077 should fix

There's a white strip at the top of the webview (not sure where that's from)
Can you inspect and see what's there? I assume there's an empty div or something. Before looking at the code I had assumed it was the placeholder div for the aiconfig image but looking at the full stack code I don't see the image being used and don't see any empty divs -- although I left a comment about the html since there are two root id divs in the files, so maybe they're both being rendered and one is empty and the other has the react component injected under it?


Move jenkins file to declarative format and use existing jobs

The current jenkins file relies on the workspace of the operations repo to exist and it may not (see failed jobs for panoptes master branch in jenkins). This PR fixes the above failures and moves the Jenkinsfile to a declarative (https://jenkins.io/doc/book/pipeline/syntax/#declarative-directives) instead of the scripted format.
The declarative format should provide greater consistency of the Jenkins file format across repos and allow us to use tag builds longer term (https://jenkins.io/blog/2018/05/16/pipelines-with-git-tags/), while still using a script step to build and reuse the docker image caches.
TODO

[x] Unlink the cascading staging jobs to ensure they run through this Jenkinsfile
[ ] Move dockerhub named repo to original panoptes one (or in a later PR off this one)
[ ] Add production tag image building step (or in a later PR off this one)

Review checklist

[ ] First, the most important one: is this PR small enough that you can actually review it? Feel free to just reject a branch if the changes are hard to review due to the length of the diff.
[ ] If there are any migrations, will they the previous version of the app work correctly after they've been run (e.g. the don't remove columns still known about by ActiveRecord).
[ ] If anything changed with regards to the public API, are those changes also documented in the apiary.apib file?
[ ] Are all the changes covered by tests? Think about any possible edge cases that might be left untested.

@adammcmaster i've updated to run the deploy commands via ops docker containers but isn't as clean as i'd like (mostly from the jenkins durable task timeout issues), I'd appreciate another review when you have time.

This will do for now (to avoid delaying this any more), but we should update timeout_cmd to echo "." on each attempt, to save duplicating this in every job. We can come back and clean this up afterwards.


Obtain emissions intensity factors for generators with missing data

We have 7 facilities with an unknown emissions intensity factor:
BIOGAS01 (Richgro) in WEM WEM with fueltech bioenergy_biogas is missing factor
HENDERSON_RENEWABLE_IG1 (Henderson) in WEM WEM with fueltech bioenergy_biogas is missing factor
BRIDGETOWN_BIOMASS_PLANT (Manjimup) in WEM WEM with fueltech bioenergy_biomass is missing factor
GOSNELLS (Gosnells) in WEM WEM with fueltech bioenergy_biogas is missing factor
ATLAS (Mirrabooka) in WEM WEM with fueltech bioenergy_biogas is missing factor
SNAPPER1 (Snapper Point) in NEM SA1 with fueltech gas_ocgt is missing factor
HEZ1 (Hunter Economic Zone) in NEM NSW1 with fueltech distillate is missing factor

For each we need a factor (tCO₂/MWh) and a source for the data.

@aleith are you able to help with any of these?

With regards to Snapper Point, it's a bunch of GE TM2500 generators that came from the SA Temporary Generators. When I wrote a fact check on the SA Temporary Generators, I found that they were rated at 0.750 tCO₂/MWh, but I have lost the source.

These can be updated + pull-requested here:
https://github.com/opennem/opennem/blob/master/opennem/data/stations.json#L26786
without code intervention - github actions will update dev

i'm combining the CER data and scada/openem data for WEM/SWIS into a single spreadsheet for comparison of data. i'll take a look at these in due course. i just got the scada hourly data totalled into annual export per facility/unit for FY21, so will be a three way comparison. there's some big differences already.

@aleith, btw, so far all of the emissions factors we're using come from official publications. so ideally we'd like a document name and URL.

These are the landfill gas power facilities listed for WA on the SWIS in the CEG reporting FY21:

CK WILLIAM AUSTRALIA HOLDINGS PTY LTD
Red Hill LFG Power Station
WA
21,499
1,656
0.08
On
SWIS
Landfill Gas

CK WILLIAM AUSTRALIA HOLDINGS PTY LTD
Tamala Park LFG Power Station
WA
32,599
2,508
0.08
On
SWIS
Landfill Gas

LMS ENERGY PTY LTD
South Cardup Renewable Energy Facility
WA
18,626
1,476
0.08
On
SWIS
Landfill Gas

SUSTAINABLE ENERGY INFRASTRUCTURE HOLDINGS PTY LIMITED
Rockingham Landfill
WA
11,434
1,384
0.12
On
SWIS
Landfill Gas

There are no facilities in the CER SGM reporting that have biogas as a fuel type. the closest is bagasse (sugar cane waste). I guess they're all below the reporting threshold of the SG mechanism.

Interestingly I just read in the CER spreadsheet that AEMO reporting is different and includes Scope three fugitive methane emissions… do tell! Also need to consider parasitic load (running the generation facility itself) in all this.

The emissions intensities reported here are defined as National Greenhouse and Energy Reporting (NGER) Scope 1 emissions (t CO2-e) divided by NGER electricity production. Electricity production is based on total generation reported through NGER, including the use of electricity by the power station itself. The emissions intensities in this report are based on data as reported to the Clean Energy Regulator, and no adjustment has been made to reflect any specific circumstances. Emissions intensities elsewhere are more typically measured (including by the Australian Energy Market Operator (AEMO)) based on energy sent out to the grid, which results in a higher emissions intensity per power station. Other differences from AEMO estimates include that AEMO specify the emissions intensity of renewables generators at zero (whereas many renewables generators have some actual emissions from backup generation) and also include scope 3 emissions from fugitive sources. AEMO also undertake revisions for a small number of power stations to reflect some station specific factors.

@aleith can you please add column headings to the table above? and are any of these stations the same as the ones in the first post of this issue?
(for the purposes of OpenNEM we are interested in average emissions factor, not an emissions-load curve.)

I've put in our estimates for now - I'm going to leave this issue open for now until we get verified values for the estimates but I'll lower the priority

code
network_id
network_region
fueltech_id
emissions_factor_co2
emission_factor_source

AGLNOW1
NEM
NSW1
bioenergy_biogas
0.062

AGLSITA1
NEM
NSW1
bioenergy_biogas
0.062

AWABAREF
NEM
NSW1
bioenergy_biogas
0.062

BWTR1
NEM
NSW1
bioenergy_biogas
0.018

CONDONG1
NEM
NSW1
bioenergy_biogas
0.018

EASTCRK
NEM
NSW1
bioenergy_biogas
0.062

EASTCRK2
NEM
NSW1
bioenergy_biogas
0.062

GRANGEAV
NEM
NSW1
bioenergy_biogas
0.062

JACKSGUL
NEM
NSW1
bioenergy_biogas
0.062

KINCUM1
NEM
NSW1
bioenergy_biogas
0.062

LUCAS2S2
NEM
NSW1
bioenergy_biogas
0.062

LUCASHGT
NEM
NSW1
bioenergy_biogas
0.062

WDLNGN01
NEM
NSW1
bioenergy_biogas
0.062

WOYWOY1
NEM
NSW1
bioenergy_biogas
0.062

BPLANDF1
NEM
QLD1
bioenergy_biogas
0.062

EDLRGNRD
NEM
QLD1
bioenergy_biogas
0.062

ICSM
NEM
QLD1
bioenergy_biomass
0.018

INVICTA
NEM
QLD1
bioenergy_biomass
0.018

PIONEER
NEM
QLD1
bioenergy_biomass
0.018

RACOMIL1
NEM
QLD1
bioenergy_biomass
0.018

ROCHEDAL
NEM
QLD1
bioenergy_biogas
0.062

RPCG
NEM
QLD1
bioenergy_biomass
0.023

STAPYLTON1
NEM
QLD1
bioenergy_biogas
0.062

SUNCOAST
NEM
QLD1
bioenergy_biomass
0.0216

TABMILL2
NEM
QLD1
bioenergy_biomass
0.018

TITREE
NEM
QLD1
bioenergy_biogas
0.062

VICMILL1
NEM
QLD1
bioenergy_biomass
0.018

WHIT1
NEM
QLD1
bioenergy_biogas
0.062

BOLIVAR1
NEM
SA1
bioenergy_biogas
0.003

HIGHBRY1
NEM
SA1
bioenergy_biogas
0.0576

PEDLER1
NEM
SA1
bioenergy_biogas
0.06

TEATREE1
NEM
SA1
bioenergy_biogas
0.0576

WINGF1_1
NEM
SA1
bioenergy_biogas
0.062

WINGF2_1
NEM
SA1
bioenergy_biogas
0.062

REMOUNT
NEM
TAS1
bioenergy_biogas
0.062

BERWICK
NEM
VIC1
bioenergy_biogas
0.062

BROADMDW
NEM
VIC1
bioenergy_biogas
0.062

BROOKLYN
NEM
VIC1
bioenergy_biogas
0.062

CLAYTON
NEM
VIC1
bioenergy_biogas
0.062

CORIO1
NEM
VIC1
bioenergy_biogas
0.062

HALAMRD1
NEM
VIC1
bioenergy_biogas
0.062

MORNW
NEM
VIC1
bioenergy_biogas
0.06

SHEP1
NEM
VIC1
bioenergy_biogas
0.023

SVALE1
NEM
VIC1
bioenergy_biogas
0.062

TATURA01
NEM
VIC1
bioenergy_biogas
0.023

WOLLERT1
NEM
VIC1
bioenergy_biogas
0.062

WYNDW
NEM
VIC1
bioenergy_biogas
0.06

ATLAS
WEM
WEM
bioenergy_biogas
0.057
opennem_estimated

BIOGAS01
WEM
WEM
bioenergy_biogas
0.057
opennem_estimated

BRIDGETOWN_BIOMASS_PLANT
WEM
WEM
bioenergy_biomass
0.057
opennem_estimated

GOSNELLS
WEM
WEM
bioenergy_biogas
0.057
opennem_estimated

HENDERSON_RENEWABLE_IG1
WEM
WEM
bioenergy_biogas
0.057
opennem_estimated

KALAMUNDA_SG
WEM
WEM
bioenergy_biogas
0.057
opennem_estimated

RED_HILL
WEM
WEM
bioenergy_biogas
0.05

ROCKINGHAM
WEM
WEM
bioenergy_biogas
0.07

SOUTH_CARDUP
WEM
WEM
bioenergy_biogas
0.06

TAMALA_PARK
WEM
WEM
bioenergy_biogas
0.05

@simonhac
https://gist.github.com/nc9/1e6615b9a390c8743a4f1f9102dd4f29

scanning the output both TATURA01 and BOLIVAR1 look wrong in that

@nc9 please:

leave TATURA01 and BOLIVAR as they are
change SNAPPER01 to 0.750 tCO₂/MWh
change HEZ1 to the average of all diesel units… should be something between 0.7 and 1.1 (i think).

updated now to that value for HEZ1

thanks… not ideal, but i bet it barely runs.
weird that there's no generation before april 2022… it was commissioned a decade ago:

note that it is not the controversial hunter power project, as marked, which hasn't been built yet, but actually the HEZ power station.

@aleith can you please add column headings to the table above? and are any of these stations the same as the ones in the first post of this issue?
(for the purposes of OpenNEM we are interested in average emissions factor, not an emissions-load curve.)

only just saw this today @simonhac
here's the headings and maybe other columns direct from the CER SG mechanism reporting Excel file (I believe so, I extended it in other columns not shown here it for my own purposes including to compare OpenNEM and AEMO data)

Reporting   entity
Facility name
Type
State
Electricity production   (GJ)
Electricity production   (MWh)
Total scope 1 emissions        (t CO2-e)
Total scope 2 emissions        (t CO2-e)
Total emissions      (t CO2-e)
Emission intensity      (t CO2-e/ MWh)
Grid connected
Grid
Primary fuel

CK WILLIAM AUSTRALIA HOLDINGS   PTY LTD
Red Hill LFG Power Station
F
WA
77,397
21,499
1,654
2
1,656
0.08
On
SWIS
Landfill Gas

CK WILLIAM AUSTRALIA HOLDINGS   PTY LTD
Tamala Park LFG Power Station
F
WA
117,355
32,599
2,505
3
2,508
0.08
On
SWIS
Landfill Gas

LMS ENERGY PTY LTD
South Cardup Renewable Energy   Facility
F
WA
67,055
18,626
1,476
0
1,476
0.08
On
SWIS
Landfill Gas

SUSTAINABLE ENERGY   INFRASTRUCTURE HOLDINGS PTY LIMITED
Rockingham Landfill
F
WA
41,162
11,434
1,384
0
1,384
0.12
On
SWIS
Landfill Gas


Replace Gridster.js

Problem description:
Gridster.js is no longer maintained.
The last push to code was Sep 25, 2014.
Suggested solution:
We should find a replacement:

gridstack.js

Since we are breaking out the Front-End application to status-board-ui.
This issue should be moved to status-board-ui also.


v2ray.com/core/common/retry: all retry attempts failed

提交 Issue 之前请先阅读 Issue 指引，然后回答下面的问题，谢谢。
除非特殊情况，请完整填写所有问题。不按模板发的 issue 将直接被关闭。
如果你遇到的问题不是 V2Ray 的 bug，比如你不清楚要如何配置，请使用Discussion进行讨论。

你正在使用哪个版本的 V2Ray？（如果服务器和客户端使用了不同版本，请注明）
4.23.1

你的使用场景是什么？比如使用 Chrome 通过 Socks/VMess 代理观看 YouTube 视频。
使用 Chrome 通过 Socks/VMess 代理上Gmail邮箱

你看到的不正常的现象是什么？（请描述具体现象，比如访问超时，TLS 证书错误等）
访问缓慢一直处于等待状态。

你期待看到的正确表现是怎样的？

请附上你的配置（提交 Issue 前请隐藏服务器端IP地址）。

服务器端配置:
{
  "log": {
    "access": "/var/log/v2ray/access.log",
    "error": "/var/log/v2ray/error.log",
    "loglevel": "warning"
  },
  "inbounds": [{
    "port": 37919,
    "protocol": "vmess",
    "settings": {
      "clients": [
        {
          "id": "ID",
          "level": 1,
          "alterId": 64
        }
      ]
    }
  }],
  "outbounds": [{
    "protocol": "freedom",
    "settings": {}
  },{
    "protocol": "blackhole",
    "settings": {},
    "tag": "blocked"
  }],
  "routing": {
    "rules": [
      {
        "type": "field",
        "ip": ["geoip:private"],
        "outboundTag": "blocked"
      }
    ]
  }
}

客户端配置:
{
  "log": {
    "access": "/var/log/v2ray/access.log",
    "error": "/var/log/v2ray/error.log",
    "loglevel": "warning"
  },
  "inbounds": [{
    "port": 1080,
    "listen": "<IP_ADDRESS>",
    "tag": "socks-inbound",
    "protocol": "socks",
    "settings": {
      "auth": "noauth",
      "udp": false,
      "ip": "<IP_ADDRESS>"
    },
    "sniffing": {
      "enabled": true,
      "destOverride": ["http", "tls"]
    }
  }],
  "outbounds": [
  {
    "protocol": "vmess",
    "settings":
    {
      "vnext":
      [{
        "address": "Server_IP",
        "port": 37919,
        "users": [{ "id": "ID" }]
      }]
    }
  },
  {
    "protocol": "freedom",
    "settings": {},
    "tag": "direct"
  },
  {
    "protocol": "blackhole",
    "settings": {},
    "tag": "blocked"
  }],
  "routing": {
    "domainStrategy": "IPOnDemand",
    "rules":[
      {
        "type": "field",
        "domain": ["geosite:cn"],
        "outboundTag": "direct"
      },
      {
        "type": "field",
        "ip": ["geoip:cn", "geoip:private"],
        "outboundTag": "direct"
      }
    ]
  },
  "policy": {
    "levels": {
      "0": {
        "uplinkOnly": 0,
        "downlinkOnly": 0
      }
    },
    "system": {
      "statsInboundUplink": false,
      "statsInboundDownlink": false
    }
  },
  "other": {}
}

请附上出错时软件输出的错误日志。在 Linux 中，日志通常在 /var/log/v2ray/error.log 文件中。

服务器端错误日志:
正常

客户端错误日志:
2020/04/17 12:13:29 [Warning] v2ray.com/core: V2Ray 4.23.1 started
2020/04/17 12:21:45 [Warning] [3610732397] v2ray.com/core/app/proxyman/outbound: failed to process outbound traffic > v2ray.com/core/proxy/vmess/outbound: failed to find an available destination > v2ray.com/core/common/retry: [dial tcp Server_IP:37919: operation was canceled] > v2ray.com/core/common/retry: all retry attempts failed
2020/04/17 12:21:45 [Warning] [1935832894] v2ray.com/core/app/proxyman/outbound: failed to process outbound traffic > v2ray.com/core/proxy/vmess/outbound: failed to find an available destination > v2ray.com/core/common/retry: [dial tcp Server_IP:37919: operation was canceled] > v2ray.com/core/common/retry: all retry attempts failed
2020/04/17 12:21:45 [Warning] [3875360501] v2ray.com/core/app/proxyman/outbound: failed to process outbound traffic > v2ray.com/core/proxy/vmess/outbound: failed to find an available destination > v2ray.com/core/common/retry: [dial tcp Server_IP:37919: operation was canceled] > v2ray.com/core/common/retry: all retry attempts failed
2020/04/17 12:32:42 [Warning] [2629801725] v2ray.com/core/app/proxyman/outbound: failed to process outbound traffic > v2ray.com/core/proxy/vmess/outbound: failed to find an available destination > v2ray.com/core/common/retry: [dial tcp Server_IP:37919: operation was canceled] > v2ray.com/core/common/retry: all retry attempts failed
2020/04/17 12:32:42 [Warning] [2623073750] v2ray.com/core/app/proxyman/outbound: failed to process outbound traffic > v2ray.com/core/proxy/vmess/outbound: failed to find an available destination > v2ray.com/core/common/retry: [dial tcp Server_IP:37919: operation was canceled] > v2ray.com/core/common/retry: all retry attempts failed
2020/04/17 12:33:39 [Warning] [4284875487] v2ray.com/core/app/proxyman/outbound: failed to process outbound traffic > v2ray.com/core/proxy/vmess/outbound: failed to find an available destination > v2ray.com/core/common/retry: [dial tcp Server_IP:37919: operation was canceled] > v2ray.com/core/common/retry: all retry attempts failed

请附上访问日志。在 Linux 中，日志通常在 /var/log/v2ray/access.log 文件中。

2020/04/17 12:21:42 tcp:<IP_ADDRESS>:56360 accepted tcp:mail.google.com:443
2020/04/17 12:21:42 tcp:<IP_ADDRESS>:56364 accepted tcp:mail.google.com:443
2020/04/17 12:21:42 tcp:<IP_ADDRESS>:56366 accepted tcp:mail.google.com:443
2020/04/17 12:21:42 tcp:<IP_ADDRESS>:56368 accepted tcp:mail.google.com:443
2020/04/17 12:21:42 tcp:<IP_ADDRESS>:56374 accepted tcp:mail.google.com:443
2020/04/17 12:21:42 tcp:<IP_ADDRESS>:56376 accepted tcp:mail.google.com:443
2020/04/17 12:23:20 tcp:<IP_ADDRESS>:56412 accepted tcp:0.client-channel.google.com:443
2020/04/17 12:28:12 tcp:<IP_ADDRESS>:56484 accepted tcp:play.google.com:443
2020/04/17 12:31:45 tcp:<IP_ADDRESS>:56542 accepted tcp:github.com:443
2020/04/17 12:31:51 tcp:<IP_ADDRESS>:56546 accepted tcp:avatars2.githubusercontent.com:443
2020/04/17 12:31:51 tcp:<IP_ADDRESS>:56550 accepted tcp:avatars2.githubusercontent.com:443
2020/04/17 12:31:51 tcp:<IP_ADDRESS>:56554 accepted tcp:content-autofill.googleapis.com:443
2020/04/17 12:31:51 tcp:<IP_ADDRESS>:56558 accepted tcp:live.github.com:443
2020/04/17 12:31:56 tcp:<IP_ADDRESS>:56564 accepted tcp:safebrowsing.google.com:443
2020/04/17 12:32:05 tcp:<IP_ADDRESS>:56570 accepted tcp:live.github.com:443
2020/04/17 12:32:23 tcp:<IP_ADDRESS>:56576 accepted tcp:avatars3.githubusercontent.com:443
2020/04/17 12:32:27 tcp:<IP_ADDRESS>:56584 accepted tcp:live.github.com:443
2020/04/17 12:32:28 tcp:<IP_ADDRESS>:56588 accepted tcp:github.com:443
2020/04/17 12:32:31 tcp:<IP_ADDRESS>:56592 accepted tcp:live.github.com:443
2020/04/17 12:32:39 tcp:<IP_ADDRESS>:56600 accepted tcp:github.githubassets.com:443
2020/04/17 12:32:40 tcp:<IP_ADDRESS>:56608 accepted tcp:github.githubassets.com:443
2020/04/17 12:32:40 tcp:<IP_ADDRESS>:56604 accepted tcp:github.githubassets.com:443
2020/04/17 12:32:40 tcp:<IP_ADDRESS>:56606 accepted tcp:github.githubassets.com:443
2020/04/17 12:33:13 tcp:<IP_ADDRESS>:56622 accepted tcp:play.google.com:443
2020/04/17 12:33:36 tcp:<IP_ADDRESS>:56634 accepted tcp:chat-pa.clients6.google.com:443
2020/04/17 12:33:36 tcp:<IP_ADDRESS>:56638 accepted tcp:chat-pa.clients6.google.com:443
2020/04/17 12:33:41 tcp:<IP_ADDRESS>:56642 accepted tcp:avatars0.githubusercontent.com:443
2020/04/17 12:34:56 tcp:<IP_ADDRESS>:56666 accepted tcp:mail.google.com:443

遇到了同样的情况，请问你怎么解决的，我这现在虽然有这种情况，但是能上

我今天也遇到了

今天4.23.3也出现了

遇到了同样的问题
2021/02/15 10:58:21 [Info] [86157556] v2ray.com/core/transport/internet/websocket: creating connection to tcp:test.v2ray.com:443 2021/02/15 10:58:21 [Info] [86157556] v2ray.com/core/transport/internet/websocket: creating connection to tcp: test.v2ray.com:443 2021/02/15 10:58:22 [Info] [86157556] v2ray.com/core/transport/internet/websocket: creating connection to tcp:test.v2ray.com:443 2021/02/15 10:58:25 [Info] [86157556] v2ray.com/core/transport/internet/websocket: creating connection to tcp:test.v2ray.com443 2021/02/15 10:58:27 [Info] [86157556] v2ray.com/core/transport/internet/websocket: creating connection to tcp:test.v2ray.com:443 2021/02/15 10:58:29 [Warning] [86157556] v2ray.com/core/app/proxyman/outbound: failed to process outbound traffic > v2ray.com/core/proxy/vmess/outbound: failed to find an available destination > v2ray.com/core/common/retry: [v2ray.com/core/transport/internet/websocket: failed to dial WebSocket > v2ray.com/core/transport/internet/websocket: failed to dial to (wss://test.v2ray.com/ray): 404 Not Found > websocket: bad handshake] > v2ray.com/core/common/retry: all retry attempts failed 2021/02/15 10:58:29 [Info] [86157556] v2ray.com/core/app/proxyman/inbound: connection ends > v2ray.com/core/proxy/http: connection ends > io: read/write on closed pipe

我两个服务器都这样子


Add shade layer to frontend

Basics

[ ] I added a line to changelog.md
[ ] The PR is rebased with current master.
[ ] Details of what you changed are in commit messages.
[ ] References to issues, e.g. close #X, are in the commit messages and changelog.
[ ] The buildserver is happy.

Checklist

[ ] I have installed and I am using pre-commit hooks
[ ] I fully described what my PR does in the documentation
[ ] I fixed all affected documentation
[ ] I fixed the introduction tour
[ ] I wrote migrations in a way that they are compatible with already present data
[ ] I fixed all affected decisions
[ ] I added automated tests or a manual test protocol
[ ] I added code comments, logging, and assertions as appropriate
[ ] I translated all strings visible to the user
[ ] I mentioned every code or binary not directly written or done by me in reuse syntax
[ ] I created left-over issues for things that are still to be done
[ ] Code is conforming to our Architecture
[ ] Code is conforming to our Guidelines
[ ] Code is consistent to our Design Decisions
[ ] Exceptions to any guidelines are documented

Review

[ ] I've tested the code
[ ] I've read through the whole code
[ ] I've read through the whole documentation
[ ] I've checked conformity to guidelines

@markus2330 What do you think about the current (preliminary) design for the shade layer toolbars?
Left Toolbar

Shadings are currently implemented as polygons, the interface for editing them is therefore identical to the one used for map bounds.
Right Toolbar

Currently there is only a button for adding new shading zones as well as a button for choosing the initial shading type.
We could add other options for selecting e.g. the initial size of a shading if you think thats necessary.

Right Toolbar:

The usability would be better if there is a button for each grade of shade.

Left bar:

Well done! :heart:  Text "Applied from/until" not ideal but this should be easy to fix also later.

jenkins build please

jenkins build please

Btw. here the bug about the polygon drawn wrongly:

Great work on the feature!
I don't have much experience with the frontend (yet) so I'll just focus on usability in my review:

You should be able to see which color of shades belongs to which shade type. Once you've placed the shades it's not easy to spot a mistake. "Did I place the right type of shade on this tree?"
Currently if you forget which type corresponds to which color you have to place another shade to find out.
We could color the buttons themselves, put a colored element next to them or put labels on the shades themselves.

While placing a new shading area the active button should be highlighted in some way and/or the text to include the shade type "Click on the map to place a new permanent shading area."

Right-click or ESC should end shade placement.

"Applied from" is inclusive, the placed shade is displayed from that date on.
"Applied until" is exclusive, the placed shade is no longer shown on that date. To me personally "Applied until" sounds like it should still be there on that date.

Setting an invalid date on "Applied until" gives no feedback except for the missing green checkmark. We could use the min attribute of the date input to limit choices to valid dates based on the "Applied from" date.

Deleting a shading while in "Move / Add / Delete shading point" mode, should also exit that mode.

It would be nice if moving a point of a shading would updates its edges in real time.

Setting an invalid date on "Applied until" gives no feedback except for the missing green checkmark. We could use the min attribute of the date input to limit choices to valid dates based on the "Applied from" date.

To add to that, we have a working solution for date validation in the plantings attribute edit form.  Please take a look at that. HTML validation is quite limited.

Btw. here the bug about the polygon drawn wrongly:

What bug are you referring to exactly?

I clicked in between the points of the polygon and once it connected wrongly. Difficult to demonstrate without video.

@chr-schr excellent review :heart:
We agree in all points except "Applied until". While you are right about shadings, it should be consistent with the other layers. For plants it is better if they are removed because you might place a new planting on the same day and it would be confusing to have the two plants overlap which never were there at the same time.
I created #1161 with the other points.

jenkins build please

jenkins build please

It would be nice if moving a point of a shading would updates its edges in real time.

Agreed, but I left this out on purpose due to performance concerns.
React components can be quite expensive to update, so I figured we should do that only if its really necessary as possible.
@markus2330 If you wish I can add this as a follow up issue, as these changes should also be applied to the base layer.

jenkins build please

Great, we will have a look tomorrow!

jenkins build please

Was not deployed anymore?

jenkins build please

Currently known bugs:

[ ] Dates are sometimes applied incorrectly if multiple shadings are selected.
[ ] Shadings are removed from the transformer after the shading value is changed.
[ ] Shading descriptions in the UI do not match the documentation.

Shading descriptions in the UI do not match the documentation.

@markus2330 unfortunately I could not where this is described in our docs. Can you help me here?

The docu is in backend/src/model/entity.rs
https://github.com/ElektraInitiative/PermaplanT/blob/dd19937310abf6e76f432c3e10714a3658e6155b/backend/src/model/entity.rs#L131-L144
and
https://github.com/ElektraInitiative/PermaplanT/blob/dd19937310abf6e76f432c3e10714a3658e6155b/backend/src/model/entity.rs#L306-L314

But fix the documentation issue last, as @yvonnemarkl will probably do improvements in that area soon.
Did you already fix the placement of the heatmap? This has hightest priority, as it maybe also needs fixes/improvements in the backend.

But fix the documentation issue last, as @yvonnemarkl will probably do improvements in that area soon.
Did you already fix the placement of the heatmap? This has hightest priority, as it maybe also needs fixes/improvements in the backend.

Ok. The heatmap placement should already be fixed (unless I've missed another weird edge case).
Right now the main issue is that data is sometimes not updated correctly when multiple elements are selected.
Code quality is also not the best currently as there is a lot of code duplication and I had to resort to some hacks to get the transformer working correctly on the shade layer.

The code quality we should definitely improve. And this should be done before fixing bugs, otherwise it will be an endless journey.
Something went wrong with a rebase, the PR does not target the heat map branch anymore?

Good news, I managed to fix the most annoying update bugs.

But fix the documentation issue last, as @yvonnemarkl will probably do improvements in that area soon.
Did you already fix the placement of the heatmap? This has hightest priority, as it maybe also needs fixes/improvements in the backend.

@markus2330 @yvonnemarkl Are these improvements already done? If yes are they already in master or where can I find them?

jenkins build please

Tests should all be done now.

For me, plants are still below heatmap.
I think it is best to directly go to the wanted solution: heatmap should be shown like the other layers, so that it can be disabled or made less opaque.
Its order, however, should be fixed and lower than the plant layer, so that the front/back arrangement of the layers is correct.
But let us better talk about this on Monday to avoid misunderstandings.

Its order, however, should be fixed and lower than the plant layer, so that the front/back arrangement of the layers is correct.

That should be an easy fix, if you want I can still do that within this branch.
I can also make the shade layer less transparent if you want that.

I think it is best to directly go to the wanted solution: heatmap should be shown like the other layers, so that it can be disabled or made less opaque.

No.
I am thoroughly against adding major new functionality in this branch.
It is already FAR to large and right now I have gotten it to a point where there are no glaring major issues.
Stuff like this is exactly what lead to the base layer fiasko (among other factors of course).
Letting feature branches just grow unchecked by adding on or changing functionality hinders effective code reviews and slows down our progress considerably.
If you want we can add this as a follow up issue, but I believe this is completely out of place on this branch.

I fixed the layer order and edited the shade layer legend according to our documentation.

jenkins build please

jenkins build please

jenkins build please


Docs: Fix relative Try-it-live links in the documentation

From the documentation page https://documentation.mjml.io/ two "Try-it-live"-Links are broken.

👍


add missing g3d primitive type

The exception message says that the lineloop is a valid type, but it looks like they forgot to parse it.

apparently it's not handled by fbx-conv, see https://github.com/libgdx/fbx-conv/blob/032ec0829983f2569d636c5f2c36ab9966972172/src/modeldata/Serialization.cpp#L32
Did you managed to generate a G3D file with line loop in it?
If not i suggest to fix the exception message instead.

I was just experimenting with blender g3d exporter and wanted it to create line loops for Wire objects. But I get errors on the libgdx parser side if g3d file contains such enum. So the pull request should fix that.

the thing is, it's not part of the official specification, see https://github.com/libgdx/fbx-conv/wiki/Version-0.3-(draft)
and it looks like this Blender plugin doesn't export line_loop primitive neither, see: https://github.com/haz00/blender-g3d-exporter/blob/master/g3d_exporter/builder.py#L699 so i don't know how you end up with this primitive type in your file.

The plugin does not export this enum because it is not handled by the parser, so it makes no sense at the moment.
I see the spec, but I dont think this thing can break anything.

Given that you're the author of the plugin you just could add the export :)
We could also alter the spec and add it to fbx-conv.
I think it it's a nice addition and doesn't hurt to add as it is non-breaking.


change Docs sidebar groupings, add small indentation for pages, adjust sidebar design

This PR changes the Docs sidebar grouping a bit, utilizing more subgroups (categories):

Connectivity has been moved into Workflow,
Interaction and Inclusion groups have been moved into Design,
Native Modules and Native Components have been merged into Native Code group,
Guides (Android) and Guides (iOS) have been merged into Guides with categories for each platform.

In addition to the structure changes I have also improved the sidebar design a bit. Not pages includes small indentation so it will be easier at the first glance differentiate group heading from the page. Also the sub groups heading arrows have been shrinked a bit to avoid confusion with main group arrow.
Preview

Not a bad idea, @Simek! But I feel like "guides" is offer here—these contain platform-specific information. I wonder if such a heading could be more specific—"Android and iOS guides".
(I was looking through the guides and started to wonder, "Why do we have some of these? Like isn't https://reactnative.dev/docs/running-on-simulator-ios also on https://reactnative.dev/docs/environment-setup ?")

Thank you for the feedback @rachelnabors, I have updated the title to the one, you have suggested.

(I was looking through the guides and started to wonder, "Why do we have some of these? Like isn't https://reactnative.dev/docs/running-on-simulator-ios also on https://reactnative.dev/docs/environment-setup ?")

IDK at this moment of time, I will try to research the history, and consolidate the articles (if possible) in the later date. It would be nice if you can create an issue, so we don't lose this feedback and task alter PR merge 🙂

I defer to @rachelnabors since this is about docs structure

I really like the indentation change! Also +1 to the guides restructure. I think the only thing that makes me pause is the grouping of "native code". Could we leave the Native component and module sections as-is? I think we've taken issue with the term "native" and as our many platform vision gets more realized, we may move to new terminology so I'd want to avoid adding a new term "Native Code".

I have synced up this branch with main so it now contains the styles for the collapsible: false entries (which prevents the groups subsection from being intractable. - I think that there is no much gain from allowing collapsing those parts, and this alows to reduce the amount of arrows on the right side of sidebar, which IMO improves the readability a bit). Additionally I have updated the the sidebar grouping as Luna suggested.
One more change that I think of is renaming "Android and iOS guides" to something shorter, like "Other guides", or maybe "Assorted Guides", but I'm not sure if it is a good idea. ATM I don't like the platform name repetition.
Current Preview

LGTM, I think we can circle back on the titling of "Android and iOS guides", or feel free to start another PR for that, let's get these changes in!

LGTM, I think we can circle back on the titling of "Android and iOS guides", or feel free to start another PR for that, let's get these changes in!

I was also thinking about this, my ideas were: "Other Guides", "Platform Guides" and "Assorted Guides".


远程连接不上了

MaxRetryError: HTTPConnectionPool(host='api.waditu.com', port=80): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f8e76efa550>: Failed to establish a new connection: [Errno -2] Name or service not known',))
During handling of the above exception, another exception occurred:
ID：260842

The same


While chaining a Macros or Mixins in  Illuminate\Database\Schema\Blueprint class its not working properly

Laravel Version: 7.17.2
PHP Version: 7.4.3
Database Driver & Version: 10.4.11-MariaDB

Description:
While chaining a Macros or Mixins in  Illuminate\Database\Schema\Blueprint class its not getting called.
Based on #33341
Steps To Reproduce:

Create a Macro.

Blueprint::macro('log',function($log){
            logger()->info($log);
            return $this;
        });

2.Use the macro in migration.
  /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Blueprint::macro('log',function($log){
            logger()->info($log);
            return $this;
        });

        Schema::create('random_table', function (Blueprint $table) {
            $table->id();
            //this will log
            $table->log('THIS WILL BE LOGGED')->string('first_name');
            //this won't be logged
            $table->string('last_name')->log('THIS WON\'t BE LOGGED')->nullable()->default('LAST_NAME');
        });
    }

Run migrate command

php artisan migrate:fresh or php artisan migrate

Now see the Log File.

Here is what i have got
[2020-06-26 02:15:08] local.INFO: THIS WILL BE LOGGED
Here is the SQL Generated.
CREATE TABLE `random_table` (
	`id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT,
	`first_name` VARCHAR(255) NOT NULL COLLATE 'utf8mb4_unicode_ci',
	`last_name` VARCHAR(255) NULL DEFAULT 'LAST_NAME' COLLATE 'utf8mb4_unicode_ci',
	PRIMARY KEY (`id`)
)
COLLATE='utf8mb4_unicode_ci'
ENGINE=InnoDB
;

Blueprint::string('...') returns a ColumnDefinition, not a Blueprint, so that's why you cannot call your macro on it. The ColumnDefinition class is based on Fluent which accepts any methods and attributes, and it treats the method invocation as a $columnDefinition->log = 'THIS WON\'t BE LOGGED'.

Please see the answer above.


fix: replace legacy packages with null safety packages

closes #21

I'll check this PR on Wednesday as I'm a bit busy tomorrow.


Codegen: remove Im* prefix restriction on structs

Idk why was that restriction there, but after removing it, much more function is generated

As i recall, Im* prefix means that struct kind of public and without that prefix means it's internal

@gucio321 Frankly, I think auto-generator should respect the public/private rule in imgui (an API is marked as private for a reason I think). If some internal API is really needed for a good reason, one could export it by hand like util.h, util.cpp and util.go did.

@gucio321 Frankly, I think auto-generator should respect the public/private rule in imgui (an API is marked as private for a reason I think). If some internal API is really needed for a good reason, one could export it by hand like util.h, util.cpp and util.go did.

@AllenDang I see, but I think we should change this attitude for a few reasons:

we already expose everything from imgui_internal (which is supposed to be unexported I think)
consider C privacy rules: despite something is intended to be private, it is not private in fact (if developer needs it, he can use it). In go it is arbitrary detemined whether something is public  or private

Thats why I suppose we should have everything exported, notify our users, that something is not supposed to be exported in imgui (e.g. add a comment over function/type declaration or prefix it with Internal) and let them decide whether they want to use it or not. Over that I suppose that if someone uses cimgui-go he is rather familiar with C++ version and knows consequences of using internal stuff.

Ok, you got me, let's do it, expose everything

greate, so @AllenDang so go ahead and get it merged!


DSA 4.1.16 Stacks: Iterative Tower of Hanoi - Audio/Video

Description
How do you implement the Tower of Hanoi problem using Stacks?
Two contributors may take up this issue depending on Audio or Video format.
Task

[ ] Audio
[ ] Video

Note

Do not use assign command for this issue.
While requesting the issue to be assigned, please mention your NAME & BATCH NUMBER.
Kindly refer to Issue Guidelines.
Changes should be made inside the DSA/directory & DSA branch.

please assign


Add version navigation to previewer

Summary
as titled
Screenshot
https://github.com/user-attachments/assets/80426ab2-4f5d-4aa9-bcd8-cb760f2808f4
Checklist

[x] My code follows ESLint rules and passes all tests.
[x] I have updated the documentation accordingly.

LGTM!


TODO - Implement POST /shorten endpoint for URL shortening

Description:
We need to implement a new API endpoint /shorten to shorten long URLs into shorter versions. This endpoint should accept a POST request with a JSON payload containing the long URL to be shortened. Upon successful processing, it should return a JSON response containing the shortened URL.
Endpoint Details:

Method: POST
Path: /shorten
Request Body:

{
    "long_url": "https://example.com/very/long/url"
}

Response Example:

{
    "response-timestamp": "2024/03/25T00:33:28:570514",
    "response-data": {
        "short_url": "http://localhost:5000/abcd1234"
    }
}

Acceptance Criteria:

Implement the /shorten endpoint in the backend codebase.
Parse the request body to extract the long URL.
Generate a unique short URL for the given long URL.
Save the mapping between the long URL and the generated short URL.
Return a JSON response containing the shortened URL.

I'll take care of this issue.


Thats intended.


equality on different units

Assertion.assertThat( reason, CoreMatchers.equalTo( Size.terabytes( 0 ) ), Size.parse( "0M" ) ) java.lang.AssertionError: parse( '0M' ) matches :<0 terabytes> Expected: <0 terabytes>      but: was <0 megabytes>
Assertion.assertThat( reason, CoreMatchers.equalTo( Size.bytes( 0 ) ), Size.terabytes( 0 ) ); java.lang.AssertionError: Size.bytes( 0 ) matches :<0 terabytes> Expected: <0 bytes>      but: was <0 terabytes>
looks like 0 ( zero ) no equals to 0 zero.........

Yes, because Size.equals is

    @Override
    public boolean equals(Object obj) {
        if (this == obj) {
            return true;
        }
        if ((obj == null) || (getClass() != obj.getClass())) {
            return false;
        }
        final Size size = (Size) obj;
        return (count == size.count) && (unit == size.unit);
    }

Both the count and the unit must be equal.
This does not look like a bug to me.

500 bytes can't be represented as a whole megabyte, so one would have to round to 0 or 1.

There may be a nice way to fix this; I do something similar for working with some of my own date and time constructs (for example, 60 seconds and 1 minute are equal in spite of using different units of measurement). I'll take a look at this and see if the logic I utilized is applicable here.

Actually, this class is actually bugged. It violates the Comparable contract. Two objects may show compareTo == 0 while equals returns false.

I have added a unit test to my local code base that fails (which should succeed).
    @Test
    public void verifyComparableContract() {
        final Size kb = Size.kilobytes(1024L);
        final Size bytes = Size.bytes(kb.toBytes());

        assertThat(bytes.compareTo(kb)).isEqualTo(0);
        assertThat(kb.compareTo(bytes)).isEqualTo(0);

        // If comparator == 0, then the following must be true
        assertThat(bytes.equals(kb)).isTrue();
        assertThat(kb.equals(bytes)).isTrue();
    }

I will submit a PR with a fix.

Closed via #2155.


debug repl: unhelpful intellisense

set breakpoint in line 1 and debug this program:

var x = 1;

in debug repl type 'x'

Observe: proposal menu appears with item '__dirname' selected.
Pressing 'return' appends '__dirname' to 'x'.
Expectation:

type 'x' in in editor opens proposal menu with entry 'x' selected properly.

Dup of https://github.com/Microsoft/vscode/issues/14193


Generalize the type of AtomicFile::write

Let the callback return any compatible error type, not just io::Error. For example, the serialization library I'm using (serde_cbor) doesn't return io::Error but its own custom error type.

Take any FnOnce for the callback, not just FnMut. Since the callback is invoked only once, this bound should be more correct.

I feel like an enum would be appropriate where one variant is for the inner function call and the other variants for syscalls atomicwrites makes itself

Sure -- I've implemented that in the latest commit.

Thanks!

released 0.1.0


AttributeError: module 'mistune' has no attribute 'BlockGrammar'

seems to have gone away - closing


Fix brittle spec in partner_system_spec

Summary
I've noticed we have a brittle (sometimes passes and sometimes fails) spec that has caused CI test failures. Let's see if we can modify the spec listed here to be less brittle:
  1) Partner management adding another user to a partner account when adding a new user to a partner account succesfully should create a new user for that partner
     Failure/Error: assert page.has_content? "Add a User or Send a Reminder for #{partner.name}"

     Minitest::Assertion:
       Expected false to be truthy.

     [Screenshot Image]: /home/runner/work/human-essentials/human-essentials/tmp/screenshots/failures_r_spec_example_groups_partner_management_adding_another_user_to_a_partner_account_when_adding_a_new_user_to_a_partner_account_succesfully_should_create_a_new_user_for_that_partner_824.png

     # ./spec/system/partner_system_spec.rb:69:in `block (4 levels) in <top (required)>'

Things to Consider
N/A
Criteria for Completion

[ ] The spec mentioned above isn't brittle and passes all the time

@matt-glover heads up, I've commented out the failing/brittle spec until we get a chance to address it. https://github.com/rubyforgood/human-essentials/commit/f584aae16b5ecae5732a7c4998bed31e0951a6e0


Contact form section

The section i  build for this milestone is:

the contact form

Name field accepts up to 30 chars.

Email field accepts only emails.

Message field accepts up to 500 chars.

All fields have placeholder text.

All fields have the correct type.

In order to lay out the elements on the page i  used flexbox

Check again it was a network issue at my side
On Wed, 7 Jun 2023, 11:24 am Francis Wayungi, @.***>
wrote:

@.**** commented on this pull request.
Hi @Afsheen96 https://github.com/Afsheen96 ,
[image: image]
https://user-images.githubusercontent.com/99656687/224543512-ddbefa59-dc68-47c2-b7fe-f55acdacd3eb.png
While you made a great effort in this project, unfortunately, I cannot
proceed to review your code.
Invalid Code Review Request ❌ ❌

You have submitted a project that has failing linter tests

Your Code Review Request will be marked as invalid in your Dashboard, so
please submit a new one once you are ready 🙏
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something
is not 100% clear.
Please, remember to tag me in your question so I can receive the
notification.
Please, do not open a new Pull Request for re-reviews. You should use the
same Pull Request submitted for the first review, either valid or invalid
unless it is requested otherwise.
Invalid Code Review Request does not count into the code reviews limit.
—
Reply to this email directly, view it on GitHub
https://github.com/Afsheen96/Portfolio/pull/4#pullrequestreview-1466700332,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A5HVNFFEVJ33R3HHHYALIKLXKANDPANCNFSM6AAAAAAY4XWQ2A
.
You are receiving this because you were mentioned.Message ID:
@.***>


Analyze prebuilts for sdk

The following prebuilt packages are included as dependencies in source-build by sdk.  These need to be analyzed to determine how to avoid requiring packages that source-build doesn’t build.

Change to use the source-built version
Package is not critical to product and can be removed.  (i.e.test-specific, windows-specific, etc)
The package is used as reference only
The package should be built in source-build
Other – please elaborate on what you think should be done.

For more detailed usage information for these, please see the Usage Exploration tab of the SourceBuildPrebuiltReport.
Prebuilt Status Updated 2019-06-24
Up to date prebuilt status can now be found in the SourceBuildPrebuiltReport in the Repo Status Data tab.
Prebuilt Table Updated 2019-05-07

PackageName
PackageVersion
SourceBuiltVersion
Category

NETStandard.Library.NETFramework
2.0.1-servicing-26011-01

System.Reflection.Metadata
1.5.0

Original Prebuilt Table

PackageName
PackageVersion
SourceBuiltVersion
Category

Microsoft.Build.Framework
15.4.8
16.0.0-preview.385

Microsoft.Build.Utilities.Core
15.4.8
16.0.0-preview.385

Microsoft.DiaSymReader.Pdb2Pdb
1.1.0-beta1-62506-02

Microsoft.DotNet.SignTool
1.0.0-beta.19073.5

Microsoft.Extensions.DependencyModel
2.1.0-preview2-26306-03
3.0.0-preview-27324-5

NETStandard.Library.NETFramework
2.0.1-servicing-26011-01

System.Reflection.Metadata
1.5.0

XliffTasks
0.2.0-beta-63004-01
0.2.0-beta-000048

sn
1.0.0

vswhere
2.5.2

(3) Reference only
Microsoft.Build.Framework | 15.4.8 | 16.0.0-preview.385 |
Microsoft.Build.Utilities.Core | 15.4.8 | 16.0.0-preview.385 |
NETStandard.Library.NETFramework | 2.0.1-servicing-26011-01 |
(2) Not needed by source build., already removed by arcade
Microsoft.DiaSymReader.Pdb2Pdb | 1.1.0-beta1-62506-02 |   |
Microsoft.DotNet.SignTool | 1.0.0-beta.19073.5 |
sn | 1.0.0 |   |
(4) should be source-built
XliffTasks | 0.2.0-beta-63004-01 | 0.2.0-beta-000048 |
Microsoft.Extensions.DependencyModel | 2.1.0-preview2-26306-03 | 3.0.0-preview-27324-5
System.Reflection.Metadata | 1.5.0
The latter two ship implementation assemblies in the net46 folder which is used by VS Code on Linux and therefore cannot be removed from source build even though dotnet build will not use them. We used to exclude this folder and a lot of Red Hat users complained.

NETStandard.Library.NETFramework | 2.0.1-servicing-26011-01 |

This isn't actually reference only. The version here is used for running tests so could not be pulled down at all during source build, bcli or core-sdk ship it in the product but they are not be reported as the true source of of the prebuilt.

All prebuilts removed.


docs: Update Issues to new URL

About
Title
Checklist

[x] I've ran pre-commit to format and lint the change(s) made.
[x] I've checked to make sure the change(s) work on 3.8.6 and higher.
[ ] This fixes/solves an Issue (If existent):.

resolves #

I've made this pull request for/as: (check all that apply)

[x] Documentation
[ ] Breaking change
[ ] New feature/enhancement
[ ] Bugfix

Am I stupid? I thought I just updated the whole template

Lmao, I actually thought too of seeing some PR like that but maybe I'm too blind to see it??

 The issue link has been removed

Am I stupid? I thought I just updated the whole template

Lmao, I actually thought too of seeing some PR like that but maybe I'm too blind to see it??

Check unstable branch code


Adding an example section

A library which is about developer experience has no word "example" in the README. Fixed it.

Hey added a PR for the same #491


Flipped demonstration images

Hello, thank you for your excellent work!
I have a concern that might be incorrect, but it appears that the images in the demonstration dataset, both agentview_rgb and eye_in_hand_rgb, seem to be flipped upside down. I noticed this when comparing the first image from env.reset() with a second image from the demonstration data.

For reference, this is the code I used to visualize the demonstration data:
import h5py
import cv2
import numpy as np
import argparse

def main():
    # Open the H5 file
    parser = argparse.ArgumentParser()
    parser.add_argument(
        "--dataset",
        type=str,
        help="path to hdf5 dataset",
    )
    args = parser.parse_args()

    with h5py.File(args.dataset, "r") as f:

        agentview_images = f["data/demo_0/obs/agentview_rgb"]

        # Display each image in the sequence
        for img in agentview_images:
            # Make video upside down.
            # img = np.flipud(img)
            cv2.imshow("AgentView Image", cv2.cvtColor(img, cv2.COLOR_RGB2BGR))
            cv2.waitKey(100)

        cv2.destroyAllWindows()

if __name__ == '__main__':
    main()

Hi, in the codebase, we use the gl image rendering by default (see notebook example: https://github.com/Lifelong-Robot-Learning/LIBERO/blob/master/notebooks/quick_walkthrough.ipynb). Can you double-check if you are using the same image rendering method between both reading from env.reset() and from demonstration data?

Thank you for your response! I'm curious about whether grid_image.numpy()[::-1] flips the image vertically in your shared notebook. Could you please provide some clarification on this? Thanks!

Because we are using gl version as default, the image is upside down using the jupyter notebook visualization. It doesn't matter which function to use to visualize images, and you will need to flip images based on if a function assumes gl convention or the cv convention. The important thing is to keep the format of images consistent.

Thank you for your response. I'm closing this issue as everything has been clarified now!

I am wondering if using grid_image.numpy()[::-1] will flip the axis (not only the image) - instead of rotating 180 degrees.


‘__mod_of_device_table’ aliased to undefined symbol

Trying to build tag 3.8.13-xenomai-r81. I succesfully built with the default config file, then I try to rebuid with the following changes to the config file
@@ -1457 +1457 @@ CONFIG_REGMAP_I2C=y
-CONFIG_REGMAP_SPI=y
+CONFIG_REGMAP_SPI=m
@@ -3337,3 +3337,3 @@ CONFIG_SOUND_OSS_CORE_PRECLAIM=y
-CONFIG_SND=y
-CONFIG_SND_TIMER=y
-CONFIG_SND_PCM=y
+CONFIG_SND=m
+CONFIG_SND_TIMER=m
+CONFIG_SND_PCM=m
@@ -3341,2 +3341,2 @@ CONFIG_SND_HWDEP=m
-CONFIG_SND_RAWMIDI=y
-CONFIG_SND_COMPRESS_OFFLOAD=y
+CONFIG_SND_RAWMIDI=m
+CONFIG_SND_COMPRESS_OFFLOAD=m
@@ -3347,2 +3347,2 @@ CONFIG_SND_OSSEMUL=y
-CONFIG_SND_MIXER_OSS=y
-CONFIG_SND_PCM_OSS=y
+CONFIG_SND_MIXER_OSS=m
+CONFIG_SND_PCM_OSS=m
@@ -3351 +3351 @@ CONFIG_SND_SEQUENCER_OSS=y
-CONFIG_SND_HRTIMER=y
+CONFIG_SND_HRTIMER=m
@@ -3384,2 +3384,2 @@ CONFIG_SND_USB_6FIRE=m
-CONFIG_SND_SOC=y
-CONFIG_SND_AM33XX_SOC=y
+CONFIG_SND_SOC=m
+CONFIG_SND_AM33XX_SOC=m
@@ -3387 +3387 @@ CONFIG_SND_AM33XX_SOC=y
-CONFIG_SND_SOC_I2C_AND_SPI=y
+CONFIG_SND_SOC_I2C_AND_SPI=m
@@ -3389,4 +3389,4 @@ CONFIG_SND_SOC_I2C_AND_SPI=y
-CONFIG_SND_SOC_PCM512x=y
-CONFIG_SND_SOC_PCM512x_I2C=y
-CONFIG_SND_SOC_PCM512x_SPI=y
-CONFIG_SND_SOC_TLV320AIC3X=y
+CONFIG_SND_SOC_PCM512x=m
+CONFIG_SND_SOC_PCM512x_I2C=m
+CONFIG_SND_SOC_PCM512x_SPI=m
+CONFIG_SND_SOC_TLV320AIC3X=m
@@ -3417 +3417 @@ CONFIG_HID_CHICONY=y
-CONFIG_HID_PRODIKEYS=y
+CONFIG_HID_PRODIKEYS=m

I run ./tools/rebuild.sh
and I obtain the following error
sound/soc/davinci/davinci-evm.c: In function ‘evm_tda998x_init’:
sound/soc/davinci/davinci-evm.c:151:22: warning: unused variable ‘codec_dai’ [-Wunused-variable]
sound/soc/davinci/davinci-evm.c: At top level:
sound/soc/davinci/davinci-evm.c:373:34: error: ‘__mod_of_device_table’ aliased to undefined symbol ‘davinci_mcasp_dt_ids’
make[3]: *** [sound/soc/davinci/davinci-evm.o] Error 1
make[2]: *** [sound/soc/davinci] Error 2
make[1]: *** [sound/soc] Error 2
make: *** [sound] Error 2
make: *** Waiting for unfinished jobs....

Oh your on 3.8.13, yeah for me that's eol. I'm only touching it for gcc/new distro re-builds.  It's config is "very" fragile, in most cases you'll find a fix in a newer/later kernel for the issue you see..
Regards,

oh, thanks
:(

PS, i'm bettting your most interested in Xenomai..  Give this a shot:
git clone https://github.com/RobertCNelson/ti-linux-kernel-dev
cd ti-linux-kernel-dev/
git checkout origin/ti-linux-xenomai-4.4.y -b tmp
./build_deb.sh

You get DT overlays plus xenomai
debian@beaglebone:~$ dmesg | grep Xenomai
[    1.662891] [Xenomai] scheduling class idle registered.
[    1.662905] [Xenomai] scheduling class rt registered.
[    1.663079] I-pipe: head domain Xenomai registered.
[    1.666337] [Xenomai] Cobalt v3.0.3 (Groovy Cosmic Halo)

Precious!
How did I manage to miss this for so long?

Well i only enabled it 7 hours ago.. ;)  Another user had asked, i started looking into it and xenomai now has a v4.4.x-ipipe driver.. Sadly it's Xenomai v3.x, whereas our 3.8.13-bone was v2.5.x based.. So some xenomai userspace changes will be needed..
Regards,

that's great news, thanks


Add data for Special Events team

What changed?

Add data to /src/lib/public/board/data/teams.json.
Add /static/assets/badges/special-events-team.svg.
Variable used to set the team ID when parsing event data from Google Calendar is now ACM_TEAM.

Background
The team ID hosting the event is stored in the description. If it's not there, it's a "general" event. We check the variable name ACM_TEAM first, then fall back to ACM_PATH which is deprecated. We expect new events to use ACM_TEAM and ancient events to use ACM_PATH.
Dependencies

#662

Intended to resolve #610 as part of #660.

Amended global.css.


Currency converters

This PR adds two functions to:

Convert string to hex with the possibility to convert the string to the non standard currency code for the XRPL. This will be useful for any issued token with the length longer than 3 character.
Convert the hex back to a human readable string

Added tests for these functions.

@GuillemGarciaDev @AdriaCarrera , I updated the functions and focused them on the currency conversion.
So they are now called CurrencyStringToHex and CurrencyHexToString.
I also moved the two files to the utils directory which was created in another PR.


Wrong joint printing

The following code:
  Model model;
  buildModels::humanoid(model);
  Data data(model);
  std::cout << model.joints[1] << std::endl;

prints
JointModelFreeFlyer
  index:<PHONE_NUMBER>3709551615
  index q: -1
  index v: -1
  nq: 7
  nv: 6

which is wrong since it should be
JointModelFreeFlyer
  index: 1
  index q: 0
  index v: 0
  nq: 7
  nv: 6

This is weird because
std::cout << model.joints[1].id() << std::endl;
std::cout << model.joints[1].idx_q() << std::endl;
std::cout << model.joints[1].idx_v() << std::endl;

prints  correct values
1
0
0

The same happens in Python.
Although I think this problem may be fairly easy to solve, I do not understand why it happens.

I know the origin of this issue. I will solve it asap.
@gabrielebndn Thanks for raising it.

Fixed by #804.


feat: insert disk cache on mem cache eviction

Insert disk cache on mem cache eviction.

Hello, I am using Foyer to implement a cross-process high-speed cache queue. The expectation is to keep the cached content in memory as much as possible, and only write data to disk when memory is exhausted.
However, I found that the built-in pickers seem unable to achieve this effect. The rate limiter can control the speed, but it can lead to data loss, and memory is not being fully utilized.
I noticed that you planned to implement a feature in version 0.14 to evict memory elements to disk, which might be the functionality I am looking for. If I want to implement a similar feature in version 0.13, how should I go about it?

Hi, @ssfdust . Thanks for asking.

The rate limiter can control the speed, but it can lead to data loss, and memory is not being fully utilized.

As a cache, foyer is designed to allow data loss. Otherwise, it is impossible to balance the throughput gap between the memory and the disk. If data loss is critical for your service, I think a KV store is supposed to be preferred.

I noticed that you planned to implement a feature in version 0.14 to evict memory elements to disk, which might be the functionality I am looking for. If I want to implement a similar feature in version 0.13, how should I go about it?

I'm planning to implement it in 1 month or more. It is not that urgent for me and I'm afraid I don't have enough spare time for it. Actually, the difference between insert-time disk writes and evict-time disk writes is not as big as expected. The evict-time disk writes only defers what should be done at last. There are 2 cases I can image that benefits form it: 1. workload with updates; 2. disk volume is small.

抱歉用中文描述一下
我的情况还是符合你说的两个条件，我这边是生产者插入数据，消费者读取后就删除数据，第二是我想尽可能避免磁盘io。不是磁盘空间不足，而是io不足，不过也确实是磁盘不足的一种提现。
缓存仅仅用来保存临时数据，一旦消费者请求此缓存，则将缓存清除。反复地插入、清理，会造成大量的磁盘io。所以我希望这部分内容尽可能在内存中完成，而内存空间不足的时候，才往磁盘中写数据。
我想问一个方案是否可行，我先判断memory cache剩余空间是多少，假如剩余空间足够，那就写入memory cache，否则调用hybrid cache默认的insert。
我不是不能接受文件丢失，现在的情况是我想尽可能避免磁盘io，所以我把ratelimiter设置地非常低。这样才造成的数据丢失，而且丢失率略高。

抱歉用中文描述一下
我的情况还是符合你说的两个条件，我这边是生产者插入数据，消费者读取后就删除数据，第二是我想尽可能避免磁盘io。不是磁盘空间不足，而是io不足，不过也确实是磁盘不足的一种提现。
缓存仅仅用来保存临时数据，一旦消费者请求此缓存，则将缓存清除。反复地插入、清理，会造成大量的磁盘io。所以我希望这部分内容尽可能在内存中完成，而内存空间不足的时候，才往磁盘中写数据。
我想问一个方案是否可行，我先判断memory cache剩余空间是多少，假如剩余空间足够，那就写入memory cache，否则调用hybrid cache默认的insert。
我不是不能接受文件丢失，现在的情况是我想尽可能避免磁盘io，所以我把ratelimiter设置地非常低。这样才造成的数据丢失，而且丢失率略高。

Thanks for further explaining. Because there are still some English-speaking users, let me help you translate it into English with ChatGPT. I hope you don't mind that.

I'm sorry to describe in Chinese.
My situation still meets the two conditions you mentioned. Here, the producer inserts data, and the consumer reads and then deletes the data. Secondly, I want to avoid disk I/O as much as possible. It's not because of insufficient disk space, but insufficient I/O. However, it does manifest in insufficient disk space.
The cache is used only to store temporary data. Once the consumer requests this cache, the cache is cleared. Repeatedly inserting and clearing will cause a large amount of disk I/O. Therefore, I hope this part can be completed in memory as much as possible. When there is insufficient memory space, only then write data to the disk.
I want to ask if a solution is feasible. I will first check how much remaining space there is in the memory cache. If the remaining space is sufficient, then write to the memory cache; otherwise, call the default insert of the hybrid cache.
I can accept some file loss. The current situation is that I want to avoid disk I/O as much as possible, so I set the ratelimiter very low. This is causing some data loss, and the loss rate is slightly high.

I agree with you that evict-time disk writes suit you in your scenario. However, I'm afraid foyer doesn't support with the latest version.
The good news is that this feature is on the roadmap. I'm planning to support it with the next foyer major release. Since foyer provides better performance than most thread-safe cache crates (expect quick-cache for now),  I recommend that you still use foyer in your project and wait for the next major release (in around a month I suppose) and stay tuned. 🙌
Feel free to ask anything if you need.

Merry Christmas Eve!

The good news is that this feature is on the roadmap. I'm planning to support it with the next foyer major release. Since foyer provides better performance than most thread-safe cache crates (expect quick-cache for now), I recommend that you still use foyer in your project and wait for the next major release (in around a month I suppose) and stay tuned.

Thanks a lot. But the deadline of my project is Jan 8. So I have to prepare a workaround for the issue.

I want to ask if a solution is feasible. I will first check how much remaining space there is in the memory cache. If the remaining space is sufficient, then write to the memory cache; otherwise, call the default insert of the hybrid cache.

How about this way I mentioned before? The code may be
  let mem_cache = cache.memory();
  let percent = (mem_cache.capacity() - mem_cache.usage()) as f64 / mem_cache.capacity() as f64;
  if percent < 0.9 {
      mem_cache.insert(key, value)
  } else {
      cache.insert(key, value)
  }

I want to ask if a solution is feasible. I will first check how much remaining space there is in the memory cache. If the remaining space is sufficient, then write to the memory cache; otherwise, call the default insert of the hybrid cache.

How about this way I mentioned before? The code may be
  let mem_cache = cache.memory();
  let percent = (mem_cache.capacity() - mem_cache.usage()) as f64 / mem_cache.capacity() as f64;
  if percent < 0.9 {
      mem_cache.insert(key, value)
  } else {
      cache.insert(key, value)
  }

This solution only works when the memory cache for a while (before 90% is used). Otherwise, you need to manually remove no longer needed entries.

This solution only works when the memory cache for a while (before 90% is used). Otherwise, you need to manually remove no longer needed entries.
If I use FIFO for memory cache, and I accept data loss. Do I still need to trigger the outdated entries manually?

After testing and adjusting parameters, the solution I mentioned seems to work, but it is not perfect.
waiting for your patch to this feature. Thank you for your help.


JSpecify mode: initial support for generic methods (with explicit type arguments at calls)

Thank you for contributing to NullAway!
Please note that once you click "Create Pull Request" you will be asked to sign our Uber Contributor License Agreement via CLA assistant.
Before pressing the "Create Pull Request" button, please provide the following:

[ ] Added support for generic identity functions with explicitly-typed nullness.

[ ] Related to the issue #1035.

[ ] void genericNonNullIdentityFunction() and void genericNullAllowingIdentityFunction() unit tests are added to GenericMethodTests.java file.

This support is incomplete (even for cases with explicit type arguments), but let's go ahead and land it and do things in pieces.  Thanks!


Feature perf round trip

This includes a new plugin which copies and extends the history plugin from Lexical, and a set of functions for generating operations from dirty nodes and elements. All that is being used for round tripping perf-lexical

I just ran up nx dev perf-react and nx dev perf-vanilla. Vanilla gives these 2 warnings in the browser console:

Perhaps you are no longer using EmotionNode?


Update repositories.toml

ℹ Repository information
The repository has:
i add my repository is open source npm package (volder)

[x] At least three issues with the good first issue label.
[x] Detailed setup instructions for the project.
[x] CONTRIBUTING.md
[x] Actively maintained.

Closing due to inactivity.


:construction_worker: Add cargo-deny

Incorporating cargo-deny into the CI pipeline ensures consistent monitoring of dependencies for security vulnerabilities, licensing issues, and duplicate dependencies. This tool automates the validation of our Cargo.lock file, enhancing the security and compliance of our Rust projects with minimal manual intervention. Integrating cargo-deny will streamline the review process and maintain the high quality of the dependencies with each code change.

Thank you for this improvement @liamwh
Just some small changes requested.

Hi @Odonno, I have responded to your questions. Please resolve the comments if you agree 👍


Add Documentation/Credit

@AminoffZ if you're free would you be so kind as to:

Add a LICENSE to this repository
Add me as a collaborator on the npm page
And anything else you see fit
For the moment I'm leaving the main branch for publishing only, so either create a new branch or use the v0.0.9 branch

Sure thing, thank you for your extensive work!

Sure thing here it is, https://www.npmjs.com/~maminechniti

Invite sent ☺

I have messaged you on twitter btw, maybe come have a little chat.


Create cloud run deployment

Dockerfile
cloudbuild
script to deploy cloud run job (e.g. deploy-job.sh from clinvar-ingest)
github action to run the deploy-job.sh on main merges or maybe on releases like clinvar-ingest is now using

Need to also deploy and network with

UTA container/service/database
SeqRepo database files


[SPARK-45012][SQL] CheckAnalysis should throw inlined plan in AnalysisException

What changes were proposed in this pull request?

CheckAnalysis should throw inlined plan in AnalysisException
Why are the changes needed?

Before this change, the plan attached to AnalysisException is analyzed plan but not inlined. However, CheckAnalysis inlines and checks the plan, so if an exception is from CheckAnalysis, it should attach the inlined version of plan which is more useful to debug than the original analyzed plan, especially when there is CTE in inside the plan.
Does this PR introduce any user-facing change?

No
How was this patch tested?

Existing UT
Was this patch authored or co-authored using generative AI tooling?

No

@cloud-fan

According to Affected Version of SPARK-45012, is this bug affecting only 3.5.0?

I am thinking this should be called as improvement. The previous line was long-standing code but after years there is a  more suitable logical plan that can be attached to the exception so we improve it.
If we could consider this is an improvement, do we need set the affected version field?

For the New Feature and Improvement, it affects only master branch whose version is 4.0.0-SNAPSHOT. So, YES, the Affected Version 4.0.0 is used, @amaliujia .

Could you fix the two failures of SQLQueryTestSuite?
- postgreSQL/create_view.sql *** FAILED *** (2 seconds, 402 milliseconds)
[info]   postgreSQL/create_view.sql
[info]   Expected "...rg.apache.spark.sql.[]AnalysisException
[info]   {
[info]   ...", but got "...rg.apache.spark.sql.[catalyst.Extended]AnalysisException
[info]   {
[info]   ..." Result did not match for query #5
[info]   CREATE VIEW key_dependent_view AS
[info]      SELECT * FROM view_base_table GROUP BY key (SQLQueryTestSuite.scala:874)

@dongjoon-hyun Tests fixed and affected version updated to 4.0.0

thanks, merging to master!