(Docker) compose support

Docker compose support
Docker Compose is a tool that is useful for managing and orchestrating multi-container Docker applications. It allows you to define your application’s services, networks, and volumes in a YAML file and then run and scale the entire application with a single command.

you don't really need Docker compose. If you want to run Supabase locally, they have a Docker compose with all the services. Or you can use their cloud hosted free service. You only need to run the application

you don't really need Docker compose. If you want to run Supabase locally, they have a Docker compose with all the services. Or you can use their cloud hosted free service. You only need to run the application

I prefer to have every application in docker, is easier for onboarding anyone from any operating system. For example I dont have npm installed in my system and to deal with different tag/versions locally.

You are right, I meant the docker compose for the whole setup. But for running the app itself, a Dockerfile would be nice indeed. Feel free to send a PR. And if you want to send a docker-compose that includes Supabase too, that would be even better :)

Thanks.
I actually searched if you can run in linux npm 0.0.1 alongside with 1.0.0 and I found a way to switch but have not find a way to use both for 2 different apps to run on the same time.


Chare constructors cannot take noncopyable types as arguments

Original issue: https://charm.cs.illinois.edu/redmine/issues/1861

Currently chare constructors take their arguments by const l-value reference, which prohibits passing non-copyable types to them. Instead they should take their arguments by value and std::move internally, to allow users to std::move the arguments.
Spectre currently has to work around this by editing our generated headers. They do so here:
spectre/cmake/SetupCharmModuleFunctions.cmake (line 33) does the modification.
build/src/Parallel/ConstGlobalCache.def.h is the generated and edited file.
This same file contains other uses of std::move on types after they are deserialized for efficiency, that we should also take into mainline charm.
This file also contains more uses of std::move similarly: build/src/Parallel/Algorithms/ArrayAlgorithm.def.h

Original date: 2018-04-13 18:17:03

Wouldn't taking them by value defeat the purpose of std::move?

Original date: 2018-04-20 18:32:31

~~https://charm.cs.illinois.edu/gerrit/3263~~ https://github.com/UIUC-PPL/charm/commit/fc7869098f86ab81d1c8fa1f9e18bb9aa4cf08f8
~~https://charm.cs.illinois.edu/gerrit/3472~~ https://github.com/UIUC-PPL/charm/commit/f47e4ffc942fdf4d9d3c2e87e8aa2a6be50bfc25


Pageant support

It would be great if SuperPutty would check if the Pageant agent is running and
all configured keys are loaded.

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 29 Jun 2012 at 12:33

Closing this issue but all hope is not lost! We still want to help.
See: https://github.com/jimradford/superputty/wiki/Legacy-Imported-Issues on how to help us to help you!

why is this closed?
please simply add a feature (setting) to start pageant on startup with a configured keyfile.
new settings:
[x] : start pageant on startup?
________ : path to privatekey file

It was closed because it was reported in 2015, migrated from google code. If you really really want to have this issue revisited please read and follow the instructions in the following document: https://github.com/jimradford/superputty/wiki/Legacy-Imported-Issues


Refactor Turret Mode to be member of Turret Class

Commit: https://github.com/johneastman/circles/commit/24f2861e37b8d93e326e46313c15c0d8355d0f51


What is the tasteful way to edit client.config

I'm running jx (jenkins-x) and it'd like to edit the $KUBECONFIG file, which is normally /snap/microk8s/current/client.config.
The error is:
error: open /snap/microk8s/current/client.config.lock: read-only file system
The command that causes that is:
kubectl config set-context microk8s --namespace jx
Which is embedded inside this command:
jx install --provider=kubernetes --on-premise
--
What is the best way get this working?  Make a copy of this file (can't be straight copy, more like cat into a new file, otherwise the same message occurs I believe).

client.config in under ${SNAP} and is on a read only filesystem. Here is what you can do:
microk8s.config > $HOME/.kube/config
microk8s.kubectl --kubeconfig=$HOME/.kube/config get no

Will this work for you? It is in our intentions to place the kubeconfig file in an editable place.

I understand this issue is closed but the problem is still there. Docs say it should work with ~/.kube/config but it's not. I confirm kubectl from snap install kubectl works just fine (it honors the config file even w/o using the option on the command line) and using the options works with microk8s.kubectl as well. What is not working is the default w/o options and the env variable:
If you use kubectl:
$ kubectl config --kubeconfig ~/.kube/config get-contexts
CURRENT   NAME               CLUSTER            AUTHINFO                                      NAMESPACE
*         microk8s           microk8s-cluster   admin
          exqlprodk8s   exqlprodk8s   clusterUser_exql_prod_exqlprodk8s
          exqluatk8s    exqluatk8s    clusterUser_exql_uat_exqluatk8s

$ kubectl config get-contexts
CURRENT   NAME               CLUSTER            AUTHINFO                                      NAMESPACE
*         microk8s           microk8s-cluster   admin
          exqlprodk8s   exqlprodk8s   clusterUser_exql_prod_exqlprodk8s
          exqluatk8s    exqluatk8s    clusterUser_exql_uat_exqluatk8s

When using microk8s you get the error
$ microk8s.kubectl config get-contexts
CURRENT   NAME       CLUSTER            AUTHINFO   NAMESPACE
*         microk8s   microk8s-cluster   admin

$ microk8s.kubectl config --kubeconfig ~/.kube/config  get-contexts
CURRENT   NAME               CLUSTER            AUTHINFO                                      NAMESPACE
*         microk8s           microk8s-cluster   admin
          exqlprodk8s   exqlprodk8s   clusterUser_exql_prod_exqlprodk8s
          exqluatk8s    exqluatk8s    clusterUser_exql_uat_exqluatk8s


Template Cache Problem

I just started having a problem where the template is caching and will not reload when I change it. Watch is still refreshing the page by my changes to the markup are not displayed.
This situation is NOT remedied when I run build & deploy. It still uses the cached version. Only if I change the name of the template or file and build/deploy am I able to see my changes reflected. This is obviously unacceptable because it will take 5x as long to develop the theme if I have to go through this process every time I make a minor change.
How can I clear or even turn off the cache?

So the console does not tell you if there are errors in your liquid file when "watching" if you mess up you will never know.
As soon as liquid finds an error, the template breaks and uses the cached version. You need to stop watching and rerun "npm start" to get it going again. Is there a way to turn on error reporting without deploying?

omg ++++++9999

npm run deploy will give you at least an error message

Editing files directly in Shopify IDE also shows error messages

Same observation, it's a real hell to debug. The console does not tell us anything.
I am forced to work with the online IDE to see the mistakes made.
What a waste of time !

Caching problem wasted my time also!!! This issue should be fixed in the next release.

I've been having to copy paste code into an old Slate v0 version and having "slate watch" on that to check code that looks like is broken as v0 told us errors in the terminal. Other than that, "yarn deploy" and lots of waiting.


Calling the "main" prisma client within an interactive transaction can lead to errors at high concurrency

Bug description
If I have the following transaction and run 8 in parallel it all works fine, but if I run 9 in parallel then the requests start failing with Transaction API error: Transaction already closed: Transaction is no longer valid. Last state: 'Expired'.:
const client = new PrismaClient();

await client.$transaction(async (t) => {
  // 👀 Note were using the client directly, not the transaction client here
  // If we use the transaction client here we have no issue
  await client.user.findMany();

  await t.user.findMany();
});

It looks like the call to the client.user... starts to take longer than the transaction timeout causing the failure.
In our use case we happened to have a transaction with some queries to fetch data and some to update data. We were using the transaction client for all the update queries, but accidentally used the "main" client for one of the fetches; I guess we were working on the assumption that we didn't need the fetch to fail atomically in the same way as the updates.
Either way once we tracked this down the fix was trivial, just update the offending query to use the transaction client. I'm just raising this issue for visibility!
How to reproduce
Minimal reproduction here:
https://github.com/henrymunro/prisma-transaction-repro
Expected behavior
I'm not sure really, I guess for it to work if I query with the "main" client? Or maybe to throw a more meaningful error if that is not supported.
Prisma information
Using 3.10.0, but see the repro for full details.
Environment & setup

OS: Mac OS
Database: Postgres
Node.js version: v14.15.3

Prisma Version
6.14.9

We believe we recently fixed this, can you try again with the latest Prisma version?

I'm going to close this issue. Please re-open if this is still an issue.

I have a similar issue like this, with only a slightly different error message. It only occurred when there are multiple transactions running concurrently.
The error message:
Transaction API error: Transaction already closed: A commit cannot be executed on a closed transaction.

I'm using<EMAIL_ADDRESS>&<EMAIL_ADDRESS>

Can you please open a new issue for this @hiramhuang? Happy to see if we can help you debug this.


reccurent events

Related information at these links:
https://stat.ethz.ch/R-manual/R-devel/library/survival/html/coxph.html
https://stat.ethz.ch/R-manual/R-devel/library/survival/html/cluster.html
https://stat.ethz.ch/education/semesters/ss2011/seminar/contents/presentation_10.pdf

http://notstatschat.tumblr.com/post/145438762776/computing-the-simplest-sandwich-estimator

Hi,
recur dataset.
As it is a counting process approach(recurrent event dataset), we need to pass the arguments (TIME0 and TIME1)
cph = CoxPHFitter()
cph.fit(df, 'TIME', event_col='E')
Here, we can't pass the 2 arguments('TIME0','TIME1')  for timeStart and timeEnd in python
eg:
cph.fit(df, 'TIME0','TIME1' , event_col='E')
Could you please help me out for how to do that.
Thanks.

Up, mars 2020,  What's the deal for recurrent events data please ?
Is there any new implementation ?
Thanks!

@ChibahAbdelwahab not really, no!


Deployment timeout when deploying App with disabled ingress

This issue is a:

[X] bug report -> please search issues before submitting
[ ] documentation issue or request
[ ] regression (a behavior that used to work and stopped in a new release)

Issue description
When deploying an app with disabled HTTP ingress for the first time, deployment times out after ~10min.
Steps to reproduct

Setup clean App Environment
Create an app with disabled Ingress
Deploy the app

Expected behavior
App is deployed successfully.
Actual behavior

Deployment fails after ~10min.
When looking at the App in Azure Portal during the deployment, I noticed that a revision appears in the "Revision Management" blade, but after a few seconds it disappears; then it appears again and disappears again after a few sec...as if it would deploy the app, then realize that something is wrong, removes the revision and tries again.
I have a 100% repro when deploying an app for the first time; I also tried to create new App Environments from scratch, but it didn't help.
I don't see any logs in Log Analytics that could help pinpoint the root cause (there are literally no logs in Log Analytics)

Additional context

This used to work until recently: I successfully deployed that same app several times during the past weeks. Only about ~1 week ago I started to notice this issue
I found a workaround: Enable Ingress when deploying the app for the first time (external or internal doesn't matter, both work). Then, after successful deployment, remove the Ingress configuration and deploy the app again. Now also the second deployment works perfectly fine, and Azure Portal shows that ingress is correctly disabled. IOW this issue only exists when deploying an app for the first time. Updating configuration of an already deployed app works fine.

Activity log entry for failed deployment
Notice statusMessage field at the end of the JSON blob.
{
    ...
    "correlationId": "71088ff5-bf2a-406b-af8a-dd0bad11cc29",
    "description": "",
    "eventDataId": "dacffdda-c6a4-424a-b8eb-2d6655238d26",
    "eventName": {
        "value": "EndRequest",
        "localizedValue": "End request"
    },
    "category": {
        "value": "Administrative",
        "localizedValue": "Administrative"
    },
    "eventTimestamp": "2022-05-16T06:11:09.5460725Z",
    "level": "Error",
    "operationId": "f56d8762-fb77-485d-842e-1e44d593ca51",
    "operationName": {
        "value": "Microsoft.App/containerApps/write",
        "localizedValue": "Create or Update Container App"
    },
    "resourceProviderName": {
        "value": "Microsoft.App",
        "localizedValue": "Microsoft.App"
    },
    "resourceType": {
        "value": "Microsoft.App/containerApps",
        "localizedValue": "Microsoft.App/containerApps"
    },
    "status": {
        "value": "Failed",
        "localizedValue": "Failed"
    },
    "subStatus": {
        "value": "",
        "localizedValue": ""
    },
    "submissionTimestamp": "2022-05-16T06:12:52.1429041Z",
    "properties": {
        "statusMessage": "{\"status\":\"Failed\",\"error\":{\"code\":\"ResourceOperationFailure\",\"message\":\"The resource operation completed with terminal provisioning state 'Failed'.\",\"details\":[{\"code\":\"ContainerAppOperationError\",\"message\":\"Failed to provision revision for container app 'sub-app'. Error details: Operation expired.\"}]}}",
        "eventCategory": "Administrative",
        "message": "Microsoft.App/containerApps/write",
        ...
    },
    "relatedEvents": []
}

@kendallroden thanks a lot for your suggestions.
I'm using Pulumi for the deployment. Specifically, I'm using the Azure Native Pulumi provider. From what I understand, it uses the ARM REST API under the hood.
Regarding Ingress/target port: I'm neither setting target port nor enabling Ingress (in the repro scenario). However, as I'm using Pulumi, I don't know what data is actually being sent by Pulumi in the ARM API call.
For context: The app doesn't listen/expose any port; it subscribes to Dapr PubSub with Azure Service Bus as backend.
I tried to repro today again after you mentioned that it works for you and I can still repro the issue with the steps above.

I am facing the same issue when deploying the Tutorial: Deploy a Dapr application to Azure Container Apps using the Azure CLI, from the documentation.
Everything goes fine until the deployment of the client application "pythonapp". The Portal page of the Container App says that the deployment is "In progress"  for ~10 minutes, then fails. At the same time you can see that the application actually works fine (if you look at the logs or at the storage account with the orders). However after this, information from Revision management and Container blades seems to disappear completely, from all Container Apps in the Environment.
Deployments of new Container Apps to the same Environment are also met with the timeout (tried with the sample image from the Portal).

We are investigating

Hi, @alecor191 @Dmitrii034 This is fixed already and would be deployed to all regions in two weeks. To mitigate it, can you please enable the ingress when create the app?

I'm now seeing the exact opposite
When I deploy for the first time (using the new azurerm_container_app terraform resource) with ingress enabled the script fails with the same error as above.
Only after running once with the ingress disabled and then re-running with it enabled, the script succeeds.


Is it possible .toHTML("tag","class")?

Hi,
Thank you for this awesome library!
I am wondering if possible to format the result like:
countdown(start,end,units,max,digits).toHTML("button", "classname") ?
button.btn btn-warning
then if the start now <= countdown.MONTHS .toHTML("button","btn btn-danger")
or I should write a custom function for it?
Thanks,

Short answer, "No". I'm not exactly sure what you are trying to do, so I'll just explain what the library does so you can figure out where it fits into your needs.
I don't think toHTML() does what you think it does. All toHTML() does is return the result as a string with HTML around each unit. This library doesn't really deal with UI. That method simply makes it easier to inject a tiny bit of markup around the parts.
Also countdown.MONTHS is a constant which is used for the units argument not something you compare against.
So a variation on the toHTML() example from the readme:
// your example code
var timespan = countdown(start, end, units, max, digits);

// produces something like "1 month, 12 hours and 17 minutes"
var message = timespan.toHTML("em");

You can do whatever you want with that HTML like jam it into a button I guess. To detect if the timer has passed the fixed date, you will want to check timespan.value which is the exact delta (in ms) between start and end. If the sign is negative then start now represents a date after end. (As a reminder, if you pass null into either one, it will be populated with Date.now(). Passing null into both is possible but silly because it would always return zero.)
So adding that to the earlier example:
// your example code
var timespan = countdown(start, end, units, max, digits);

// produces something like "1 month, 12 hours and 17 minutes"
var message = timespan.toHTML("em");

// this might need to be > 0, depending on what you use for start & end
if (timespan.value < 0) {
   // do something with 'btn danger'
} else {
   // do something with 'btn normal'
}

What you pass into start and end will determine the sign of timespan.value. So if you are consistently passing them in a particular order then all you do is watch for the sign of timespan.value to flip to know if the moving date has passed the fixed date.

Thank you for the quick answer @mckamey!
Yeah, the UI part is what I am trying to manipulate depends on the timespan, the scenario is exactly the example you provided above, the button will change its color if the timespan has reached a certain time.
var message = timespan.toHTML("buttton");

// this might need to be > 0, depending on what you use for start & end
if (timespan.value <= result ) {
   btn-danger
} else {
   btn-primary
}

Now I know what to do! :)
Thanks Again @mckamey!
Cheers!

Remember value is the delta not absolute. So:
var message = timespan.toHTML("buttton");

// this might need to be > 0, depending on what you use for start & end
if (timespan.value < 0) { // note result
   btn-danger
} else {
   btn-primary
}

Ok, here's my code:
var dateNow = null;
var monthLeft = countdown(dateNow, dateMaturity, countdown.MONTHS | countdown.DAYS, 2).toHTML("button");

If monthLeft reached one month, assuming the value has reached "1 month" which is the delta value right? How do I represent the absolute as a delta value?

As I've been saying I'm certain that you don't get what toHTML is doing. Don't call it yet. Look at the object returned that has toHTML on it (the TimeSpan object).
It has all the fields you need on it. value is the delta with the sign. months has how many months there are. You will need to try running it.

I am sorry about that, I get what toHTML is doing and it's doing a great job on my app.
It's just I'm only confused on the delta and absolute term as I am seldom encountered this terms even if I've deal with it everyday haha.
Thanks again @mckamey!

By delta/difference/relative (timespan.value) I mean the milliseconds between start and end. And by absolute I mean the start and end dates. So both dates are (under the hood) simply an integer of the number of milliseconds since midnight Jan 1, 1970 UTC.
value = end - start;

All three are added to the timespan object as fields.
If you want to know when there is less than a month left, you probably need to check timespan.value > 0 && timespan.months < 1 since a month after the value will be negative and month will be 1 again.
The reason I don't think you get what toHTML is for is that 1) you are calling it too early (before you've checked the values on timespan), and 2) if you pass in 'button' then you will get back text with a bunch of buttons in there. Perhaps that's what you want but it doesn't sound right to me.

Thanks @mckamey for the insights and effort :+1:
I will now close this issue.


dbeaver: 5.1.3 -> 5.1.4 (18.03)

(cherry picked from commit 81511557c8aa59de767b6dc06070ee3b2f3e9631)
Motivation for this change

Updates dbeaver 5.1.4.

This cherry-picks #44231
Things done

✔ Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
Built on platform(s)

✔ NixOS

✔ Tested execution of all binary files (usually in ./result/bin/)
✔ Fits CONTRIBUTING.md.

As a side note, #34182 is still open and I will still gladly accept any help in figuring out how to build this using the source release.

No attempt on aarch64-linux (full log)
The following builds were skipped because they don't evaluate on aarch64-linux: dbeaver
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowBroken = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowBroken = true; }
to ~/.config/nixpkgs/config.nix.

Success on x86_64-linux (full log)
Attempted: dbeaver
Partial log (click to expand)
glibPreFixupPhase
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/cwawhc466v4vp79d0927fqqzq7f38z39-dbeaver-ce-5.1.4
shrinking /nix/store/cwawhc466v4vp79d0927fqqzq7f38z39-dbeaver-ce-5.1.4/dbeaver/dbeaver
shrinking /nix/store/cwawhc466v4vp79d0927fqqzq7f38z39-dbeaver-ce-5.1.4/dbeaver/plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.700.v20180518-1200/eclipse_1705.so
strip is /nix/store/k8b9hqv58dd1z0j4ikak24ykndcm91s6-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/cwawhc466v4vp79d0927fqqzq7f38z39-dbeaver-ce-5.1.4/bin
patching script interpreter paths in /nix/store/cwawhc466v4vp79d0927fqqzq7f38z39-dbeaver-ce-5.1.4
checking for references to /build in /nix/store/cwawhc466v4vp79d0927fqqzq7f38z39-dbeaver-ce-5.1.4...
/nix/store/cwawhc466v4vp79d0927fqqzq7f38z39-dbeaver-ce-5.1.4

No attempt on x86_64-darwin (full log)
The following builds were skipped because they don't evaluate on x86_64-darwin: dbeaver
Partial log (click to expand)

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowBroken = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowBroken = true; }
to ~/.config/nixpkgs/config.nix.


[CONTROLLER/RECORDER] fix wan ip update error #20125

This PR is for:

Server

Fixes wan ip update error #20125
Steps to reproduce the bug
Changes to fix the bug
Affected branches

main

Checklist

[ ] Added unit test to verify the fix.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.zhengya seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Frozen!

your app is freeze in my computer in initialization (Loading...).
Do you have any suggestion.
Thank in advance!
BR
Far

Are you using Windows? Which version?

Are you using Windows? Which version?

yes windows 10 professional.
On Tue, Jan 26, 2021 at 7:49 PM Nikolas Spiridakis<EMAIL_ADDRESS>wrote:

Are you using Windows? Which version?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/1nikolas/tidal-lyrics/issues/9#issuecomment-767953461,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASTRTZOAWXKD7RSGLWZ6FVLS35WJ7ANCNFSM4WUNWSUA
.

--
Best Regards
Farshad

yes windows 10 professional.
On Tue, Jan 26, 2021 at 7:49 PM Nikolas Spiridakis<EMAIL_ADDRESS>wrote:

Are you using Windows? Which version?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/1nikolas/tidal-lyrics/issues/9#issuecomment-767953461,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ASTRTZOAWXKD7RSGLWZ6FVLS35WJ7ANCNFSM4WUNWSUA
.

--
Best Regards
Farshad

Hmm that's weird. Can you try the x86 version? This at least shouldn't freeze your computer

Hmm that's weird. Can you try the x86 version? This at least shouldn't freeze your computer


Change publication type for 31460973

The type for this publication has been changed from "Conference Paper" to "Academic Article" in ReCiter itself, but this is not reflected in VIVO:
https://vivo.weill.cornell.edu/display/pubid31460973
Please update.

Looking into it

Fixed - 2e96a0e972a78b378d577544c12ba6ab04b12614


Fix #20

Introduction
Tests Faild on Windows host due to invalid results of strtolower function.
Proposal
Describe the new/upated/fixed feature
This PR fix issue #20
Backward Incompatible Changes
None
Targeted release version
1.4.2
PR Impact
None
Open issues
None

OK understood. Now I have a good and a bad news for you :'(
The bad news is that your PR is against the wrong branch. The master branch has been merged in the https://github.com/thephpleague/uri which I'm about to release. The master branch contains many BC breaks vs the 1.x series so your patch as it stand can never hit the 1.x series 😢 . I'm sorry about that.
The 1.4.3 which is the one you want to target should be in the 1.x series. The good news is I can create such branch and make it the default so that you can apply your changes there and even release  a 1.4.3 fix, I'm not against it.
The reason for the move was maintenance and consistency. The project had too many decoupled component and a fix in just one had too many effect on the other components so I have regrouped the uri parser with the uri package for better coherence.
If you are ok with that you need to give me a couple of day so I can prepare correctly the changes in the repository for your PR to be accepted.

OK. So I will move in my project to uri repo. I think it's good to implement this fix to this repo, meaby someone will take usage of it.
BTW. I prepare some other changes to this repo avaliable at my branch: https://github.com/pawelkg/uri-parser/tree/fixes-and-updates
Should I create PR for this changes also?

@pawelkg If you think these changes are valuable to the library of course. They will be reviewed and merged if they are found useful 😉

a fix for the composer script as landed on the 1.x branch which will be used only for maintenace of the 1.x series. For any new feature please refer to the League/Uri package directly.


CMake build does not recognize plain-C files in target-specific list

See also #318

It seems like this report is incorrect.


Bug in converting to Typrscript

If all key values are numbers then it will not generate interface , found this only for typescript , other languages are working

Please share an example

I think this issue was already fixed. It is working now. I'm closing this one.


Discord / community?

Should we have a dedicated Discord channel, or a community forum somewhere? 🤔

Maybe GitHub Discussions?

I do think it would make sense, even if just for those simple questions that could potentially spam this repository.

I would like to see a discord :)

I wouldn't mind a Discord server to join!

I definitely would joint one :)

Ditto

Discord server is on its way, I will add a link everywhere for next LDtk update :)
Here is the current invite link, feel free to share (be careful, wet paint everywhere): https://discord.gg/rpfYf4sxbJ


WIP: Provide runtime generated credentials through credentials file

A first draft how a solution for #76 could look like.
I dont expect this to be merged directly. It should be a basis for discussion how to solve the problem given in #76.

Instead of passing a single file one could simply detect if the value of a parameter points to a file in the working directory and replace the name with its contents.

Thanks for taking a crack at this, and sorry for the long wait!
What's here makes sense, except I think the problem extends to check too, which can't depend on a task or anything generating files for it.
Could these credentials instead come from a credential manager (assuming something like https://github.com/concourse/rfcs/pull/21 exists)? What does a task that fetches these credentials typically look like?

@vito thanks for the reply!
As far as we could see the check doesn't do anything at all. It is just printing an empty array without using the provided credentials at all.
So what should be the issue there?
Using a credentials manager would not really solve our problem. Yes it might be possible but also concourse isn't the CI/CD tool used I am not sure we can expect a deep integration there.
The task fetching the credentials is usually just some curl + jq. But that is a custom service therefore it won't make sense to integrate it directly into the resource.

As far as we could see the check doesn't do anything at all. It is just printing an empty array without using the provided credentials at all.

Ah, lame, I forgot this resource is only partially implemented. Technically it should also be able to detect whether the app is pushed and such.
I'm still not quite sure about merging this. We're going to be extracting all of our base resource types from Concourse soon (https://github.com/concourse/rfcs/pull/30), so at that point there won't be much difference between running our "official" version and running your own fork, since we don't change this resource type very often. It's entirely community-maintained and we've been trying to let CloudFoundry own it instead of us. Based on your workflow it sounds like you could potentially have your own variant that does the credential fetching for you, so you don't even need the separate task. :thinking:
The main reason I'd rather not merge it is it's kind of leveraging the fact that this resource isn't properly implemented. A proper implementation should be able to support check, get, and put. IMO it's important that our core resource types be 'exemplary' as people will use them as a reference point when designing their own resources. If your fork configured the location to fetch the credentials from, it could fetch them during check too (in theory).
Does that make sense? :sweat_smile:

Thanks for the explanations and yes it does make sense.
We will look into other solutions then.


CoreLibraryDesugaring configuration error

I am trying use this library in Android 12, I use latest version of implementation 'com.kizitonwose.calendar:view:<latest-version>' is 2.0.0 and trying different version of 'com.android.tools:desugar_jdk_libs:<latest-version>' is 2.0.0, 1.2.2 and 1.0.9. Unfortunately, I get this error in all case when I build app:
 coreLibraryDesugaring configuration contains no dependencies. If you intend to enable core library desugaring, please add dependencies to coreLibraryDesugaring configuration.
Anyone have solution?

The library uses desugar_jdk_libs  version 1.1.8, can you try that?

Also, hopefully, you are using this coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.8 in the dependencies block.

Ohh, I found the problem is minSdkVersion. Currently, I use minSdkVersion is 26, so step 1 can be ignore. This problem resolved.
Thank you so much for your support @kizitonwose


[crypto,er/der] refactor module

Since these are part of the official FreeRDP API better rename the functions to have a safe namespace

Rename functions with a freerdp_ prefix
Fix function arguments, use size_t

I have nothing against this PR even if we shall keep in mind that all this stuff could be replaced by using the winpr asn1 module. We could even have benefits doing so as the ASN1 encoders have the capacity of avoiding copies when you build the packet (as headers length depends of the length of inner content).

@hardening oh, good point.

@hardening do you remember why this was made public API?


wifiCallback is only called the first time wifi connects

If wifi disconnects and then reconnects, the wifiCallback is not called a second time.
Changing the code at line 425 in HomeSpan.cpp to:
  if(connected>1) {                          // Do not initialize everything below if this is only a reconnect
    if(wifiCallback)
      wifiCallback();
    return;
  }

would correct this. (And thanks again for this library! I've used it in over  dozen devices!)

I realized that for some applications, calling the callback after every re-connect may not be desired if the callback code is designed to run only once.  To provide for maximum flexibility and backwards compatibility, I added an alternative callback function that can be specified using a new homeSpan method setWifiCallbackAll(void (*func)(int count)), where func is a function of type void that accept a single int argument, count.   HomeSpan uses this parameter to pass the cumulative count of WiFi connects/re-connects to the callback function.  Unlike setWifiCallback(), in this method func is called every time there is a connection established or re-established after a disconnect.  By checking the count parameter in your callback, you can distinguish the initial connection made at start-up (count=1) from a re-established connection (count=2, count=3, etc.).
The code for this has been added to the release-1.8.1-dev branch.  Please feel free to give it a try and let me know how it works.

I can't find exactly where I saw this last week, but one of the ESP-IDF examples uses the WiFi connect and disconnect callbacks to stop and start the web server respectively. Keep things clean. Why have a web server running if the wifi is down.. ;-)

Requested function has been added to dev branch and will be in next production release as per above.


TypeError: EmailObject is not a constructor

I followed this tutorial to test mailersend-nodejs but there is an error message
const Recipient = require("mailersend").Recipient;
const EmailParams = require("mailersend").EmailParams;
const MailerSend = require("mailersend");

const mailersend = new MailerSend({
    api_key: "key",
});

const recipients = [
  new<EMAIL_ADDRESS>"Your Client")
];

const emailParams = new EmailParams()
<EMAIL_ADDRESS>      .setFromName("Your Name")
      .setRecipients(recipients)
      .setSubject("Subject")
      .setHtml("This is the HTML content")
      .setText("This is the text content");

mailersend.send(emailParams);

./node_modules/mailersend/src/modules/email.js:5
    let emailObject = new EmailObject(emailParams)
                      ^

TypeError: EmailObject is not a constructor
    at MailerSend.send (./node_modules/mailersend/src/modules/email.js:5:23)
    at Object.<anonymous> (./index.js:33:12)

Versions 1.2.0 and above are broken because of this

@haihninit thanks for reporting the issue and providing the fix. The PR is merged and new version 1.3.1 is released with this patch.


Feature Request: Show Summary for device on Mouse Over

Imagine a system with thousands of devices. To check details for each one at a glance, one has to click on each device so that the state panel can be updated. I would like to ask if it's possible that you add a mouseover option so that summary details appear on the map as one hovers a device on the map.

Something designed for this master @tananaev, would be very helpful and improve the interface, regards

I would love this function in future deliveries of Traccar

ant news on hover future tho?

any news on this hover future tho

Modern app has a map popup. Not a hover, but a click.


Allow higher render distances in servers

As the mod is said to be an alternative to Bobby, and seems functionally similar to Farsight, I thought this feature was already included in the mod. However, two testers on my modpack pointed out that this mod does not keep the chunks visible when they are cached but the player moves away from them (it still respects the server's rendering distance, not client's).
So, considering that the timed chunk unloading is still a performance benefit of this mod over the other two, could you add this feature as well? It could be opt-in by config, if you so choose.
Related: #5

Yes, this mod currently respects the server's view distance, which is what I'd meant to convey in the description about how this differs from Bobby.
I can add a config for that, but I don't know whether it should be something like a boolean force-client-render-distance option and uses the value from your video settings. Or whether it should be an integer option that is used and setting it negative disables it.

I can add a config for that, but I don't know whether it should be something like a boolean force-client-render-distance option and uses the value from your video settings.

It should indeed respect the vanilla setting, otherwise it just gets more confusing.

Sounds good to me. This is planned for the next release. However, I think I will not get to work on it until Wednesday.

This is in the v1.1.0 release.


Add returning option to Repo.update_all and Repo.delete_all

c.f. #332
Any objections @ericmj @josevalim?

I don't think all DBs support it... so I am unsure. Can we check MySQL and MSSQL?

Actually, we can support it regardless of the DB. We would just need to raise in those cases. Although I would still like to wait on it a bit.

@MSch do you have any thoughts on the syntax?

I'm opposed to waiting for obvious reasons :) Currently Ecto.Adapters.SQL and Ecto.Adapters.SQL.Connection already require support for RETURNING for insert and update from the underlying DB/Adapter. MSSQL supports it and the adapter already uses it. MySQL on the other hand doesn't and it seems there's no alternative, so that adapter will have to do something else altogether anyhow.
Syntax wise I think the easiest thing would be:
Repo.update_all(from u in User, where: u.id == ^id, [email: ^email, updated_at: fragment("now()")],
  returning: [:updated_at, fragment("foo + ?", ^bar))

With returning being run through a limited version of Ecto.Query.Builder that only allows column names (atoms) and fragments.

@MSch :) Regarding syntax: I also thought about simply allowing select to be given, what do you think?
This will also change the return type of update_all. Should it be a tuple? {count, [row]}?
We can agree on the specs and you can add them as part of a fork for now but I would like to wait because we are working on the MySQL adapter and I can't juggle that many balls at the same time, sorry!

@MSch ping. :)

Sorry, I didn't want to distract you away from the MySQL merge. :)
IMO When using update_all with RETURNING I never care about the row count, I care about the actual rows, but having update_all return either count or [row] depending on the query supplied is highly confusing. So I guess, like you said, it should return {count, nil} if no RETURNING is specified and {count, [row]} if RETURNING is specified.
I'm not sure about using select to specify RETURNING, I'm thinking ideally I could build an UPDATE query just like I build a SELECT today and depending on whether I use select: ... or update: ... it becomes an SELECT or UPDATE query:
from u in User,
  update: u.email = ^email and u.updated_at = fragment("DEFAULT"),
  where: u.id == ^id,
  returning: [u.updated_at, fragment("foo + ?", ^bar)]

But that is probably a different decision.

I think this is a great idea work exploring. Today we run into an annoying issue where you can't call update_all dynamically because it is a macro. This would solve this problem neatly. However, I am still a bit skeptical about using returning instead of select as it forces adding a another field to the query struct, more functions and so on. I will put more thoughts into it, this is a very productive discussion.

Maybe returning makes sense if we consider that the default would be to return something like returning: :count. Something else we need to discuss is if users should call Repo.update_all even if they have update already in the query (I would rather say yes).

So I believe we are finally ready to support this. A couple updates:

We have added insert_all to Ecto which supports returning but does not support Ecto.Query
We have added dynamic fields to select. from Post, select: [:id, :title] will return a Post with only id and title fields

That said, I am planning to support returning as a separate option given to insert_all, update_all and delete_all that is simply a list of fields:
Repo.insert_all Post, [%{title: ...}], returning: [:id, :inserted_at]
#=> [%Post{id: ..., inserted_at: ...}]

If you want all fields, I am thinking we could support either:
returning: :all

or:
returning: :*

What if we choose for returning should be mirror in :select. The only downside of this solution is that custom expressions won't be supported, only fields. But i believe this is enough for now.
/cc @MSch @michalmuskala :)

With MongoDB there's no support for anything like returning.
For all fields I think returning: :all is much better than :*. I agree that we should keep this API and :select in sync.
Repo.insert_all/3 is a regular function so there should be no problem with dynamically passing the list of required fields to :returning if that's needed. We should keep it simple for now.

In master.

@josevalim this doesn't seem to work (nor is documented) for delete_all. Was that intentional?

From the CHANGELOG:

[Ecto.Repo] The :returning option for update_all and delete_all has been deprecated as those statements now support select clauses

i.e. use select in your queries instead.

From the CHANGELOG:

[Ecto.Repo] The :returning option for update_all and delete_all has been deprecated as those statements now support select clauses

i.e. use select in your queries instead.

":select is not supported in update_all by MySQL"
https://github.com/elixir-ecto/ecto_sql/blob/8727a7400b8e5b0996334c99e7d1663dd0b88243/lib/ecto/adapters/myxql/connection.ex#L111

Yeah. MySQL didn’t support returning either.


docs: update docs for InputFiled

:tada: This PR is included in version 7.26.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Smart Address prediction needs to be moved

The Smart Account prediction should be moved from the 'getNewRole` method in the form. There is a chance that a user when adding and removing 'new roles' the prediction could be off and cause the wrong smartAddress to be used.

This is fixed as of recent work by @Da-Colon


StarScream websocketDidReceivePong is not getting called for writePing

I would like to send periodic pings to server to keep the connection alive.
This is the function to send ping
socket.writePing(NSData())

But I am not getting the pong back
func websocketDidReceivePong(socket: WebSocket){
    wsConsole.text = wsConsole.text .stringByAppendingString("\n websocket received pong")
}

the above delegate will get fired when server sends back the pong.
FYI:
I am able to successfully establish web socket connect send message and close connection and I have implemented and I have given socket.delegate=self
WebSocketPongDelegate

Here is the web socket url that I am using for testing purposes
ws://echo.websocket.org/
I am wondering why I am not getting the pong back from web socket server.
Note:
I have raised the question in stack overflow as well
http://stackoverflow.com/q/37179060/730807

Is your socket a property of your class to make sure it sticks around? If you allocate it just on a function stack it will fall out of scope and the delegates will never get called. Also the pongDelegate is separate from the regular delegate, so you need to set that to self as well: socket.pongDelegate = self

Thank u very much it works 👍

is it possible that we can set Keepalivetimeout ? likewise how to send hearbeat ?

I assume you mean HTTP keep-alive and that doesn't really apply to a WebSocket connection. Once the connection is upgraded, it switches over to ping/pong to keep the client/server alive. The server is generally responsible for the duration of keeping connections alive.

Thanks for clarifying ! Is there any delegate available that fires when ping is received from server ? if I need the connection alive then I can send pong back ....

Thanks for the clarification ! Your help is appreciated !


Plant Hierarchy Implementation Proposal

Here's a proposal to discuss how we can build our plant hierarchy:

Tables: Family, Genus, Species, Variety, Cultivar
Please refer to the guide outlined in Hierarchy. Every table should have most of the properties we already use for plants. This means we still have info even if a child table doesn't have a value. We might want to add certain columns to tables based on what makes biological sense.

Inheritance isn't going to work here. For more details, check out Decision Hierarchy. Also, Rust Diesel isn't made for this.

Changing the "plants" Table
We can change "plants" table to "PlantDetails" or something similar. We'll add nullable columns for Variety FK and Species FK.

Creating a "Plants" View
We'll make a "Plants" view that brings all tables together. This will help us use them in the backend without big changes.

Handling Null Values
This view will deal with null values in the "plants" table. For example, if plants.heat_zone = null, it'll try to get the value from its cultivar. If that's also null, it'll look in the variety, and so on.

Functions: Update, Insert, Delete

Update: Only updates a null value in the plants table if it's different from its parent table value. If the parent table value is null, it'll check the one above.
If the hierarchy changes, it'll keep inserting the hierarchy tree until it finds an already existing hierarchy.
Insert: Only adds values to columns if they're different from their parent table, otherwise adds null. If parent doesn't exist, also add an entry to parent table like a new Species and insert all values there.
Delete: Removes the entry from the plants table.

Creating Triggers
We'll make triggers with the INSTEAD OF keyword to replace the UPDATE, INSERT, and DELETE events from the new "Plants" view.

Problems Solved

[ ] Backend changes are too big: The "plants" view should help keep changes small.
[ ] When we change values in a parent table like genus, all children should change, unless a child has its own value. We should be able to solve this by saving only values that are different from their parent.
[ ] Hybrid plants: We treat them as their own species as mentioned in hierarchy.md. For example, species.name: Iris × germanica, plants.unique_name: Iris × germanica. This should be possible with this solution.
[ ] Plants without a genus/varieties, etc.: FK Ids to parents can be nullable, so not all plants need a full hierarchy.

Problems We Still Need to Solve

[ ] Dealing with a new plant with a different species but the same genus that we haven't yet added to our database. The old species A doesn't have a link to species B.
[ ] Special cases of hybrid plants, like a mix between different genus. It's possible, like with Shipova. Should we think about such cases? They seem to be rare.

Thank you for collecting your thoughts here! The next step is to update our decisions/database guidelines etc. that your new approach is explained and the old discarded approaches get removed (or are only a considered alternative but it is clear that we won't implement it). Especially the old SQL files should be cleaned up.

Inheritance isn't going to work here. For more details, check out Decision Hierarchy. Also, Rust Diesel isn't made for this.

Yes, please add this further insights to the decision. It is crystal clear now that we won't use inheritance.

We can change "plants" table to "PlantDetails" or something similar. We'll add nullable columns for Variety FK and Species FK.

What benefit would the change to PlantDetails bring? Adding nullable columns should work without any problems. Basically we only need FK for the hierarchy, won't we?

We'll make a "Plants" view that brings all tables together. This will help us use them in the backend without big changes.

I don't understand what you mean by "all tables". The last thoughts were that we only have one table. This is already reflected in doc/decisions/database_plant_hierarchy.md

For example, if plants.heat_zone = null, it'll try to get the value from its cultivar. If that's also null, it'll look in the variety, and so on.

Exactly.

Dealing with a new plant with a different species but the same genus that we haven't yet added to our database.

I am not sure if I understand this problem, please explain in more detail. But what is clear: order of inserting matters, the higher levels need to be inserted first. Otherwise the deduplication cannot work.

Special cases of hybrid plants, like a mix between different genus. It's possible, like with Shipova. Should we think about such cases? They seem to be rare.

They are not so rare but having special implementation for these cases is nevertheless not worth the effort. You cannot really derive something from the knowledge that a plant is both apple and pear. So Shipova would be simply e.g. an Apple (we choose one), and we specify the differences.

Thank you for the feedback.

Thank you for collecting your thoughts here! The next step is to update our decisions/database guidelines etc. that your new approach is explained and the old discarded approaches get removed (or are only a considered alternative but it is clear that we won't implement it). Especially the old SQL files should be cleaned up.

will do that in #654.

We can change "plants" table to "PlantDetails" or something similar. We'll add nullable columns for Variety FK and Species FK.

What benefit would the change to PlantDetails bring? Adding nullable columns should work without any problems. Basically we only need FK for the hierarchy, won't we?

In my proposal, the goal would be to use a view instead of the table directly, since I want to join all relevant information (like genus, species, etc., and null values in the plants replaced with corresponding values from parent tables) together to keep the changes in the backend and frontend to a minimum.

We'll make a "Plants" view that brings all tables together. This will help us use them in the backend without big changes.

I don't understand what you mean by "all tables". The last thoughts were that we only have one table. This is already reflected in doc/decisions/database_plant_hierarchy.md

Like described above, joining the tables plants, Family, Genus, Species, Variety, Cultivar into a single view will allow us to keep the changes in the backend and frontend to a minimum, while extending the available information.

will do that in https://github.com/ElektraInitiative/PermaplanT/issues/654.

Better to start a new PR on top of that one (or based on master if it is independent) so that we don't confuse status quo and what should be done in order to implement the hierarchy.
I would like to merge #654 asap but I am afraid we won't be done quickly with the discussion about how to do the hierarchy.

tables [...] Family, Genus, Species, Variety, Cultivar

When we had a discussion about this last time, we found that these tables are not a good idea, so we decided to have everything in plants.
But your proposal does sound interesting, can you update the decision with the advantages compared to simply have a plants table with FK to their Family, Genus, Species, Variety, Cultivar in the same table?
The big disadvantage of everything in one table is that we need to duplicate all columns in all tables (Family, Genus, Species, Variety, Cultivar.). (Yes all columns can be relevant in all hierarchy levels.)

tables [...] Family, Genus, Species, Variety, Cultivar

When we had a discussion about this last time, we found that these tables are not a good idea, so we decided to have everything in plants.
But your proposal does sound interesting, can you update the decision with the advantages compared to simply have a plants table with FK to their Family, Genus, Species, Variety, Cultivar in the same table?
The big disadvantage of everything in one table is that we need to duplicate all columns in all tables (Family, Genus, Species, Variety, Cultivar.). (Yes all columns can be relevant in all hierarchy levels.)

Not only do we need to duplicate all columns in all tables, we also can't differentiate between properties of a Family, Genus, Species, Variety, Cultivar, and a property of a specific plant. This makes it impossible to update the values of a Family, Genus, Species, Variety, Cultivar without affecting a plant we don't want to affect.
What exactly do you mean with: (Yes all columns can be relevant in all hierarchy levels.) ?
I can update the decision doc, should I also start the implementation, or do we want to discuss some more?

Not only do we need to duplicate all columns in all tables, we also can't differentiate between properties of a Family, Genus, Species, Variety, Cultivar, and a property of a specific plant. This makes it impossible to update the values of a Family, Genus, Species, Variety, Cultivar without affecting a plant we don't want to affect.

Can you bring an example of what you mean? Updates are only safe for NULL values anyway?

What exactly do you mean with: (Yes all columns can be relevant in all hierarchy levels.) ?

That all the columns (soil, pH, shade, size, ...) we currently have in the plants table might be changed in every hierarchy level (Family, Genus, Species, Variety, Cultivar).

I can update the decision doc, should I also start the implementation, or do we want to discuss some more

Please update the decision doc first and create issues describing what you want to do. I am not sure if we are on the same page yet.

I have created #793 as a draft for now so that we can discuss my idea. I hope it helps to convey my idea.


[Feature Request] Dashboard as App

franzernst — Today at 1:58 PM
Hi, would it be possible to integrate an extended dashboard from Vpin Studio into Pinup Popper? I have created a dummy for this, of course the layout and content would have to be improved - the dummy is only for understanding. I think it would be really cool to be able to see the most important information in Popper. What do you think?

For users that do not have an additional key binding available, offer the dashboard as app.
The dashboard will be launched and exited like any other table then.
https://github.com/syd711/vpin-studio/assets/1169826/3862663b-9e58-465f-8c00-de02a103a0f7

Delivered with 3.0.0


[BUG - 1.12.2] Space station is always a vacuum, air vents not working.

Version of Advanced Rocketry

Initially tested with 2.0.0 build 250, but later tested with 2.0.0 build 257 with the same result.(latest beta on curseforge)

Have you verified this is an issue in the latest unstable build

[x] N/A

Version of LibVulpes

Initially tested on version 0.8.3, but later tested with version 0.8.8 with the same result.(latest beta on curseforge)

Version of Minecraft

1.12.2

Does this occur without other mods installed

[x] N/A (This was on Enigmatica 2 Expert FYI)

Crash report or log or visualVM (if applicable)
http://pastebin.com is a good place to put them
crash reports that are put in the issue itself are
hard to read

No crash, so N/A

Description of the problem

Space stations will not fill with air, regardless of blocks used, even if the space station is airtight-ly sealed. A noteworthy thing with this bug is that when initially loading the world into the space station, it'll say there's pressurized air, but after the oxygen vents start making noise, it becomes a vacuum again.

Some images
https://imgur.com/GmMcDDt
https://imgur.com/0cw00Rq
I've tried changing the settings regarding the oxygen vents, but regardless of settings this issue occurs, even tried whitelisting blocks to no avail, just FYI I also tested this with a station made only out of vanilla blocks(glass and iron blocks), the same issue happens.
If it helps at all, I've had a discussion on this issue in the Enigmatica 2 Expert github too, linked below.
https://github.com/EnigmaticaModpacks/Enigmatica2Expert/issues/1998

Your vent seems to not be redstone activated. The scrubbers may also not have carbon collection cartridges in them.

I have a cartridge in the scrubber, and I've both set the vents to ignore redstone signal and have tried it with a lever.
Keep in mind, they're making the sounds to indicate they're working, but checking with the analyzer still shows vacuum, in addition I still loose oxygen from my tank and without it I'd take damage from lack of air, torches also not working too, so I know it's not visual.

oH I didn't even see that. You need two scrubbers and one vent. Not two vents and one scrubber XD

When was this changed? Because I swear it used to be 2 vent 1 cartridge, now I feel stupid.

changed it to oxygen vent and two C02 collectors with cartridges on a server, issue persists, seems bug happens on servers.

It has been this way since the system was introduced. That said, can you show me how the vent is being powered?

https://imgur.com/a/YdhKzf7
It's the same double-layer setup I've done in an earlier build of AR(In all the mods 3 remix) where I have the inner room surrounded by an outer shell to keep it airtight while allowing clean cable-running.
In all the mods 3 remix, this worked fine, but not here. Idk what got changed in 2.0.0 of AR to break this setup, though this setup also worked in singleplayer so idk.

Only not working in multiplayer is a little weird. That I have no clue why it's happening

Not sure if it just needed time or if the server's automatic restart fixed it, but my room in my space station on the server has air now, so I'm gonna close this, tho I will close it with this statement, torches still don't work in a space station even when it has oxygen in it.


blank page after successful authentication

Few users getting blank page after successful authentication. Using "oidc-client-ts": "^2.4.0" and "react-oidc-context": "^2.3.1" and "react-router": "^6.18.0" Uncaught TypeError: t.map is not a function shows up in console. Any suggestions how to debug it ?
App.jsx
...
function onSigninCallback() {
    window.location.href = import.meta.env.VITE_REDIRECT_URI
  }
...
return (
    <AuthProvider {...oidcConfig} onSigninCallback={onSigninCallback}>
        <Navbar />
        <div className="container">
        <Routes>
            <Route path="/" element={<Home />}/>
            ….
            <Route path="*" element={<NoPage />} />
        </Routes>
        </div>
    </AuthProvider>
    )
}

Navbar.jsx
const handleLogin = () => {
    void auth.signinRedirect()
  }

Real debugging might be tricky, its probably easier to "debug" via logging..
You can add logging within the underlying library. See https://authts.github.io/oidc-client-ts/#md:logging
Also you should add logging within your custom hooks (e.g. onSigninCallback).
As you said it only happens for some users, what is the difference? browser type/version, os,....?

I will try that, appreciate. If it does not work for a given user, it gives blank page in all browsers. OS is windows across the board (but I will double check)

it was not react-oidc-context related, but the way authorization was implemented


Breaking taint with tools should not give bad effects

Well, player isn't touching taint. Why does it affect player? I guess it should damage tools instead
P.s.: Also if player is wearing boots he shouldn't get effects too. It should damage his armor instead
P.s. 2: Also effect shouldn't be applied in creative mode

Great idea, I will add it to the list


RPL rework

Enough to merge as draft and get a forum discussion thread going
Requires megapools, forced exits, sublinear bonds, universal variable commission
--
Premise is to follow https://github.com/Valdorff/rp-thoughts/tree/2024-02_strategy/2024_02_strategy


Add tmux to drop-pod

tmux currently isn't in the drop-pod because it terminates immediately - work out why this is and fix it.

Closing as no longer relevant.


Error: Could not parse JSON: "function breakdown:" 	at Interface. (/root/.vscode-server/extensions/vadimcn.vscode-lldb-1.9.2/extension.js:1:16886)

OS: 5.19.0-46-generic
VSCode version: Version: 1.80.0
CodeLLDB version: v1.9.2
Compiler: rustc 1.49.0-nightly (e160e5cb8 2020-10-14)
Debuggee: Rust file
Reference: https://zenodo.org/record/7871547
I try to debug and create breakpoints for this command.
cargo run --release --bin unsafe-counter --  /root/lab/laertes/rewrite-workspace/bzip2/rust/c2rust-lib.rs

I can execute this function successfully and able to debugging and create breakpoints in CLion + IntelliJ Rust Plugin. But errors occur in Vscode with CodeLLDB

Error: Cargo invocation failed.
        at t.Cargo.getCargoArtifacts (/root/.vscode-server/extensions/vadimcn.vscode-lldb-1.9.2/extension.js:1:15317)
        at processTicksAndRejections (node:internal/process/task_queues:96:5)
        at async Object.open (/root/.vscode-server/extensions/vadimcn.vscode-lldb-1.9.2/extension.js:1:13627)
Caused by: Error: Could not parse JSON: "function breakdown:"
        at Interface.<anonymous> (/root/.vscode-server/extensions/vadimcn.vscode-lldb-1.9.2/extension.js:1:16886)
        at Interface.emit (node:events:513:28)
        at Interface._onLine (node:readline:491:10)
        at Interface._normalWrite (node:readline:665:12)
        at Socket.ondata (node:readline:272:10)
        at Socket.emit (node:events:513:28)
        at addChunk (node:internal/streams/readable:315:12)
        at readableAddChunk (node:internal/streams/readable:289:9)
        at Socket.Readable.push (node:internal/streams/readable:228:10)
        at Pipe.onStreamRead (node:internal/stream_base_commons:190:23)
Caused by: SyntaxError: Unexpected token u in JSON at position 1
        at JSON.parse (<anonymous>)
        at Interface.<anonymous> (/root/.vscode-server/extensions/vadimcn.vscode-lldb-1.9.2/extension.js:1:16865)

Verbose log
Initial debug configuration: {
  sourceLanguages: [ 'rust' ],
  type: 'lldb',
  request: 'launch',
  name: 'Launch unsafe-counter',
  'lldb.verboseLogging': true,
  cargo: {
    args: [
      'run',
      '--release',
      '--bin',
      'unsafe-counter',
      '--',
      '/root/lab/laertes/rewrite-workspace/bzip2/rust/c2rust-lib.rs'
    ],
    filter: { name: 'unsafe-counter', kind: 'bin' }
  },
  cwd: '/root/lab/unsafe-counter',
  __configurationTarget: 6
}
Error: Cargo invocation failed.
	at t.Cargo.getCargoArtifacts (/root/.vscode-server/extensions/vadimcn.vscode-lldb-1.9.2/extension.js:1:15317)
	at processTicksAndRejections (node:internal/process/task_queues:96:5)
	at async Object.open (/root/.vscode-server/extensions/vadimcn.vscode-lldb-1.9.2/extension.js:1:13627)
Caused by: Error: Could not parse JSON: "function breakdown:"
	at Interface.<anonymous> (/root/.vscode-server/extensions/vadimcn.vscode-lldb-1.9.2/extension.js:1:16886)
	at Interface.emit (node:events:513:28)
	at Interface._onLine (node:readline:491:10)
	at Interface._normalWrite (node:readline:665:12)
	at Socket.ondata (node:readline:272:10)
	at Socket.emit (node:events:513:28)
	at addChunk (node:internal/streams/readable:315:12)
	at readableAddChunk (node:internal/streams/readable:289:9)
	at Socket.Readable.push (node:internal/streams/readable:228:10)
	at Pipe.onStreamRead (node:internal/stream_base_commons:190:23)
Caused by: SyntaxError: Unexpected token u in JSON at position 1
	at JSON.parse (<anonymous>)
	at Interface.<anonymous> (/root/.vscode-server/extensions/vadimcn.vscode-lldb-1.9.2/extension.js:1:16865)
	at Interface.emit (node:events:513:28)
	at Interface._onLine (node:readline:491:10)
	at Interface._normalWrite (node:readline:665:12)
	at Socket.ondata (node:readline:272:10)
	at Socket.emit (node:events:513:28)
	at addChunk (node:internal/streams/readable:315:12)
	at readableAddChunk (node:internal/streams/readable:289:9)
	at Socket.Readable.push (node:internal/streams/readable:228:10)
	at Pipe.onStreamRead (node:internal/stream_base_commons:190:23

launch.json
{
    "version": "0.2.0",
    "configurations": [
      {
        "sourceLanguages": ["rust"],
        "type": "lldb",
        "request": "launch",
        "name": "Launch unsafe-counter",
        "cargo": {
          "args": [
            "run",
            "--release",
            "--bin",
            "unsafe-counter",
            "--",
            "/root/lab/laertes/rewrite-workspace/bzip2/rust/c2rust-lib.rs"
          ],
          "filter": {
            "name": "unsafe-counter",
            "kind": "bin"
          }
        },
        "cwd": "/root/lab/unsafe-counter"
      }
    ]
}

You are not supposed to run the binary with cargo, just to build it.

sorry for missing leading, the debugger is actually a Rust file under --bin folder.
I didn't create the command on my own, it's actually the code and commands from 2021 ACM on Programming Languages OOPLSA accepted article: Translating C to safer Rust

Your launch config should be something like this:
{
    "version": "0.2.0",
    "configurations": [
      {
        "sourceLanguages": ["rust"],
        "type": "lldb",
        "request": "launch",
        "name": "Launch unsafe-counter",
        "cargo": {
          "args": [ "build", "--bin", "unsafe-counter"],
          "filter": {
            "name": "unsafe-counter",
            "kind": "bin"
          }
        },
        "args": ["/root/lab/laertes/rewrite-workspace/bzip2/rust/c2rust-lib.rs"],
        "cwd": "/root/lab/unsafe-counter"
      }
    ]
}


addons: List cilium-init image only for Cilium < 1.6

We don't ship a separate cilium-init image anymore. The cilium-init
script is included in the main cilium container image.
Fixes: SUSE/avant-garde#1923
Signed-off-by: Michal Rostecki<EMAIL_ADDRESS>

LGTM, just waiting for all the tests to complete before approving


Plugin not working (but ACT is parsing)

Hello,
I'm very sorry if this is simple issue, but I've exhausted my options and can't seem to find the answer.
My act is correctly parsing damage, but I can't get Cactbot to work, be it as a dps overlay or raidboss...
I've been following the guides on how to install to the t; nothing happens. I've even reinstalled a couple times, redownloaded all pertinent files, made sure my OverlayPlugin is hibi's (v0.3.4). Nothing seems to work!
Any help would be greatly appreciated.
Edit. 1: I forgot to mention that I've used the Test overlay and it appears to be working correctly. Also headed to Middle la Noscea to test on dummy and the test ran without any apparent issue.

experiencing the same issue after update. had some issue like that before but that was the "dps update interval" was set to 0 in one of the updates. but this time it's not that.

Thank you for you reply! My dps update interval IS set to 0, I never noticed that. What number should that be in?

I've set the DPS interval to 3-5ish. It's just the refresh time for the overlay.
Just wanted to offer this if it helps figure out what might be the issue. I have some custom cactbot things and I don't really know what I'm doing, so some of THAT might be the source of this - but regardless:
Start up with overlayplugin on - plugin seems to be reading logs (my plugin acts as it should after log events, I assume raidboss will as well), but ACT doesn't see combat starting so an "encounter" is never recorded. DPS overlay is "awaiting data". Toggling overlayplugin doesn't seem to change anything.
Start up with overlayplugin disabled - ACT will now start/stop encounters. Turning on overlayplugin doesn't seem to stop this but DPS overlay is still "awaiting data".

Hey! I'm sorry to hear you're having issues! Changing the dps interval to anything other than "0" solved the issue for me! Thank you so much for all your help, I hope you can fix yours too!

I think I might be having a similar issue - can't get the raidboss overlay to work post 9.3.0, and and rolling back to 9.2.0 didn't fix it. When I go to add the new plugin under the Overlay section, cactbot doesn't even show up anymore as a defaulted option. Anyone have any suggestions?

@Khandurian Glad you got this sorted.  Sorry for the hassle.
@Khuzvhan Are you still having issues?

I am having the same issue as well...
its just stuck on awaiting data even thought the parser is working set dps interval to 5 and it did nothing at all to fix the problem.

@Khuzvhan Are you still having issues?

i've just found a workaround for this
whenever i open ACT and Cactbot parser doesn't work i just toggle ffxiv/overlay plugin on/off. it takes 1-3 disabling/enabling to work. nothing too troubling. and most of times it just works fines. but if it doesn't i've been doing this and works fine.

my issue was for some reason it has to be in admin mode... once I did that it now and displays fine.

@chanzie:
ACT always has to be in admin mode. It's stated literally everywhere from reddit to github, by everyone on every issue with ACT, that you should always use it in admin mode.
Also, I've noticed a huge issue with the OverlayPlugin that bugged me the whole day yesterday. When you install the OverlayPlugin after the FFXIV_ACT_Plugin, the latter gets moved down in the load order (no idea if that's new or if it was like that all the time).
If that happens, then the OverlayPlugin keeps bugging around and not getting parses from the FFXIV Plugin, if you close ACT once and don't teleport to another area, after starting ACT. The solution for this problem is to remove the FFXIV_ACT_Plugin from ACT and then put it back in, so in the list it's on top of the OverlayPlugin.
Try that out, maybe it helps you.

This issue has kind of been a muddling of a number of people's issues.  If any of you are still having particular issues, please open up another bug and I'll be happy to investigate.  It sounds a bit like most of this has been solved.


Dub version is not downloading

I want to say thanks to everybody who is hard at work in regards to this script. It's amazing and it is working as intended for sub downloads.
The issue I am encountering is that I am unable to download the dub version of the anime I want.
I do apologize that I want to download the dub version of the anime.
The commands I have used so far.
anime dl 'kimetsu-no-yaiba' --dub -e1
anime dl 'https://gogoanime.pe/category/kimetsu-no-yaiba-dub' -d -e1
The show downloads no problem, but it downloads the sub version.
Is there something I am doing wrong, please advise.
As always thanks for the hard work, and there is no rush.
Respectfully,
Tiger

https://github.com/Fantasy-Boss/9anime-Downloader
9anime Downloader
Features:

Download Whole Season with One click.
Download options: Sub - Dub - Video Quality.
Fully Free, no Ads, no Virus, 100% Safe.
Scrapping with progress bar.
One click IDM Queue.


Add syntax highlighting for features inside strings

Problem
Features inside strings are not highlighted
Solution
Add custom theme with color, and tokenize it
Result
Features are now highlighted

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 61.091%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
15799

Relevant Lines:
24113

💛  - Coveralls


esm.js is broken with Node v21.4.0; mathjax-full@3 is unusable from node

Issue Summary
When I run node -r esm mathjax.js, an invocation that used to work fine for years, I now get an error from esm.js:
TypeError: Function.prototype.apply was called on undefined, which is a undefined and not a function

The issue has nothing to do with MathJax, except for the fact that mathjax-full@3 requires esm on node. ESM is broken, and no longer supported on the latest version of Node.
Steps to Reproduce:
Run node -r esm test.js with the latest version of node and esm, with the following test.js:
console.log("Hello World!");

Technical details:
Latest versions of all packages.
Possible resolution:
Release<EMAIL_ADDRESS>on npm, which doesn't require esm. This issue is a blocker for MathJaX on Node.

The esm extension is not actually required to use MathJax unless you are loading the components from source (components/src) rather than from the webpacked versions in the es5 directory.  Since require('mathjax').init({...}) loads from components/src, that does mean you have to use one of the other methods of loading MathJax (e.g., via loading the webpacked component files, or the direct access to the MathJax modules in the js directory).  These are illustrate in the component, preload, and direct directories of the MathJax node demos repository.  The components examples allow either loading from source or from the webpacked components, and the default is from source, which is why they include -r esm, but if you use the --dist option, you can run them without -r esm.  The direct versions never used -r esm to start with.
If you wish to use the equivalent of require('mathjax').init({...}) but without -r esm, you can use
require('mathjax/es5/node-main.js').init({...}).then(mj => ...);

instead, as that will use the webpacked version, not the source version.

Thanks, I totally forgot that MathJaX is webpacked. I converted my mathjax.js to an ESM file, using the webpacked MathJaX. However, there seems to be a small problem now: xypic.js (from XyJaX-v3) is suddenly not found, although it's in the same directory as mathjax.mjs. Could you maybe give me a hint about what went wrong? My mathjax.mjs is:
import { readFileSync, writeFileSync } from "fs";
import yargs from "yargs";
import { hideBin } from "yargs/helpers";
import "colors";
import ProgressBar from "progress";
import * as mathjax from "mathjax-full/es5/node-main.js";

const argv = yargs(hideBin(process.argv)).argv;

mathjax
  .init({
    options: {
      typesetError: (_, math, err) => console.log(math.math + ": " + err),
    },
    loader: {
      paths: { mathjax: "mathjax-full/es5", custom: "." },
      load: ["input/tex-full", "output/chtml", "[custom]/xypic"],
    },
    tex: {
      packages: { "[+]": ["xypic"] },
      inlineMath: [["$", "$"]],
    },
    chtml: {
      fontURL:
        "https://cdn.jsdelivr.net/npm/mathjax@3/es5/output/chtml/fonts/woff-v2",
    },
  })
  .then((MathJax) => {
    let progress = new ProgressBar(
      `[${"TeX".green} ]: |:bar| :current/:total`,
      {
        total: argv._.length,
        incomplete: " ",
      }
    );
    argv._.forEach((r) => {
      // Read in the HTML file
      const html = (MathJax.startup.document = MathJax.startup.getDocument(
        readFileSync(r, "utf8")
      ));

      // xypic has used the adaptor
      const adaptor = MathJax.startup.adaptor;

      // Clear the font cache
      html.outputJax.clearCache();

      // Typeset the document, with the render hooks that xypic has put in place
      html.clear().render();

      // Output the resulting HTML in-place
      writeFileSync(
        r,
        adaptor.doctype(html.document) +
        adaptor.outerHTML(adaptor.root(html.document))
      );
      progress.tick();
    });
  })
  .catch((err) => console.log(err));

Thanks!

Ah, I fixed it. I was missing require.
require: (url) => import(url)

in the loader fixes the issue.

OK, glad that worked for you.  If I recall correctly, node-main.js sets things up so that the root directory is the directory from which node-main.js was loaded, so that it can find the MathJax components properly.  Since MathJax can be loaded as mathjax-full or mathjax, it doesn't know which of those it is, so can't use normal package resolution, and it doesn't have to be in a node package, in any case.


Fix bug in respond_to?

When you call an automatically delegated method on a decorator object, it causes the new method to
remain permanently defined on the decorator class, which causes subsequent calls to respond_to? to always return true even when the current delegated-to object does not actually respond to that
message.
For example:
class A
  def method_on_a
  end
end
class B
end

decorator = Decorator.new(A.new)
decorator.respond_to?(:method_on_a) # => true # as expected
decorator.method_on_a
decorator = Decorator.new(B.new)
decorator.respond_to?(:method_on_a) # => true # incorrect!!

This can be very confusing and frustrating if your application uses the same decorator for several different decoratable classes and depends on respond_to? to accurately reflect what the underlying decoratable object actually responds to.
I don't yet fully understand what causes this behavior, but it's something to do with the automatic delegation. I added a new test for this and was able to get it passing by adding a remove_method after the delegate and send. This is probably not the best solution, and may have unintended side effects, but I'm currently at a loss how else to solve this.

FYI, I ran into a different strange bug in my app when I tried using this branch:
I started getting a undefined method '_for_user' for #<Array:0x0000000bfa1238>: error in one of my templates where I had report.things._for_user(user). The _for_user method comes from the ThingsExtensions module that gets extended into the collection array by this:
has_many :things, extend: ThingsExtensions

I cannot for the life of me figure out how the remove_method would cause this, but commenting that out resolved it, so there you go. I even tried adding a debugger that would stop if the method being called was _for_user but it never got triggered, so I don't even think that method was going through any decorator.
I ended up just changing my code to use decorated_thing.source.respond_to? instead of calling respond_to? on the decorated_thing directly. Sad, but no other choice at the moment.

I have submitted a simple fix to your problem. #743 You might be interested in it. :-)
We had the same problems here. It was unpleasant to debug! ;-)

#743 has been merged, which should fix your issue @TylerRick


Cake Pay Web maintenance: service will be temporarily unavailable around 9-10p ET (1-2a UTC)

Intermittent service disruption is expected during this window. You should expect to see possible issues with the following:

Loading merchant pages
Delayed card delivery

We will monitor the situation and will be in touch with any impacted orders.


Parameters for TagUI script are only from p1 to p8, not until p9 - updated docs

Parameters for TagUI script is only from p1 to p8, not p9. Raising an issue to update docs and command line help message.
Limitation is p9 is actually parameter 10, because the actual first parameter is the script to run. Parameter 10 in macOS and Linux is ${10} instead of $10 (interpreted as $1 combined with 0 character). However this syntax is not as widely accepted by different shells, thus reducing portability. For Windows, the parameter 10 also requires special handling using shift command. but the dealbreaker here is for UNIX-based OSes handling of parameter 10, which maps to p9.

Closing issue since the latest packaged release TagUI v6.14 is out.
Release notes - https://github.com/kelaberetiv/TagUI/releases/tag/v6.14.0
To download v6.14 - https://tagui.readthedocs.io/en/latest/setup.html
Documentation - https://tagui.readthedocs.io/en/latest/index.html


throw error with the small DOM size

Thanks for the beautiful project at first.
        if (size < 30) {
            throw new Error("Jdenticon cannot render identicons smaller than 30 pixels.");
        }

But I still catch the error until add the  size to 34px*34px.

Thanks for reporting this issue! The minimum size (despite not being specified in the documentation) actually refers to the size of the icon excluding padding. If not explicitly specifying a padding, it will default to 8%. With 8% padding the actual minimum size is as you've realised 34px.
Specified size: 34px
Actual icon size: 34px - 2 * floor(8% * 34px) = 34px - 2 * floor(2.72px) = 30px
** ok size **

Specified size: 33px
Actual icon size: 33px - 2 * floor(8% * 33px) = 33px - 2 * floor(2.64px) = 29px
** too small **

This is not an optimal solution and I will update the documentation of the minimum size to clarify about this issue.
I'm also considering removing the minimum size entirely, leaving that decision to the designer using Jdenticon, but that would probably require some adjustments to the rendering, since the rendering mostly operates on integers.

I am forced to fork the library because of that minimum size restriction. :(

The size limitation is gone since version 1.4.0 which was released today.


Messages: new notification icon, but hardcoded w/h 64px/23px

The messages app still uses 64px instead of current icon w/h 24/24.
I suggest
-> to move ICONS(-Array) to the object level
-> to access dynamically the w/h of first icon to clear and re-render

I fixed via PRQ https://github.com/espruino/BangleApps/pull/1150

[x] Fixed by merged Pull Request #1208


The evaluation result were all wrong after upgrade

the evaluation got far worse metric after uprade, what could going wrong?
My code didn't change anything.

That's wired, MMBench_DEV_CN, and MMStar, same model, previous evaluted as 95.8 and 56 repectively, but using latest vlmeval, the result got 79 and 48, the result far more lower,
Any reason for this?

That's wired, MMBench_DEV_CN, and MMStar, same model, previous evaluted as 95.8 and 56 repectively, but using latest vlmeval, the result got 79 and 48, the result far more lower,
Any reason for this?

The previous results look weird: AFAIK, the latest state-of-the-art VLM can not achieve 90+% Acc on MMBench-DEV. Would you please provide the specific commit id you previously used so that  I can try to reproduce the error.

We intended to do this, to remove possibility of model issue, we let MMBench_DEV_CN trained in dataset. So it's extremly weired so low evaluation metric on DEV datasets. (MMStar not trained, but our score previous is normal, not normal after changed evaluation pipline as well)

I have re-evaluated MMBench_DEV_CN and MMStar on multiple VLMs (which are evaluated more than half a year ago) with the latest code, including:
GPT4V_20240409, qwen_chat, llava_v1.5_7b, llava_v1.5_13b, deepseek_vl_7b, deepseek_vl_1.3b.
Basically, all evaluation results align with the accuracies we reported on Open VLM Leaderboard, with the maximum accuracy difference less than 2% (since there is some small changes about the choice extractor: gpt-3.5-0613 is no longer supported by OpenAI so we switch to gpt-3.5-0125).
Moreover, we have provided all prediction files at: https://huggingface.co/datasets/VLMEval/OpenVLMRecords for user comparisons.
If you want to go further with this issue, please provide an officially supported DATASET x MODEL pair, which you find the evaluation result is significantly different from our reported one. Also, a friendly reminder is, slight changes in the environment (for example, the version of some python packages) may also significantly affect the performance of your custom model. One can try to detect it by comparing old & new predictions.

Oh, sorry for my mistake, it's normal now!


Write a C program to convert miles to kilometers

Description
Write a C program to convert miles to kilometers
1 mile = 1.609 kilometers
Input  : 5
Output : 8.04672

How to contribute

Save the solution in ConvertMilesToKilometers.c file
Add ConvertMilesToKilometers.c file in convert-miles-to-kilometers folder

!assign


Update CMake build directory layout to ease running binary in build directory on Windows

Windows don't have RPATH, then, if the dll is not in the same directory than the executable the only option to launch it is to modify the PATH environment variable.
We can modify PATH environment when running tests in CMake but:

This add some Windows specific code
The only way to launch example/tests/benchmark is to use ctest

Another option is to use the install layout in the build directory:
├── bin
│   ├── dll
│   └── exe
└── lib
├── a
├── dylib
├── lib
└── so
Since dll and exe are in the same directory, there is no execution problem.
Thanks to the RPATH, this layout is also working on GNU/Linux and MacOS.
Also, windows_dll_manager.py can find the bin directory to find the dll without using PROXSUITE_NLP_WINDOWS_DLL_PATH environment variable.

Fixed in #56


Prebuffering error on new install "too many packets buffered for output stream"

I just set up a new instance with an Insteon camera, everything works until I try to prebuffer the feed (on any camera I try).
I just keep getting "FFmpeg prebuffer process exited with error! (null) - Too many packets buffered for output stream 0:0."
1/15/2022, 2:22:18 PM] [CameraUI] Front of House: Prebuffering command: C:\Users\leith\AppData\Roaming\npm\node_modules\homebridge-camera-ui\node_modules\ffmpeg-for-homebridge\ffmpeg.exe -hide_banner -loglevel error -fflags +genpts -i rtsp://[NAME]:[PASSWORD}@[LOCLAIP]:25109/videoMain -vcodec copy -bsf:a aac_adtstoasc -acodec libfdk_aac -profile:a aac_low -flags +global_header -ar 8k -b:a 100k -ac 1 -f tee -map 0:v? -map 0:a? [movflags=frag_keyframe+empty_moov+default_base_moof:f=mp4]tcp://<IP_ADDRESS>:11942|[f=mpegts]tcp://<IP_ADDRESS>:14558
[1/15/2022, 2:22:25 PM] [CameraUI] Front of House: FFmpeg prebuffer process exited with error! (null) - Too many packets buffered for output stream 0:0.
[1/15/2022, 2:22:25 PM] [CameraUI] Front of House: Prebufferring process closed
[1/15/2022, 2:22:25 PM] [CameraUI] Front of House: Restart prebuffer session..

Hey @leithma
can you post your config.json pls
and also tried without audio?

Thanks @seydx, Sure thing
{
"name": "CameraUI",
"port": 8081,
"atHomeSwitch": true,
"debug": true,
"mqtt": {
"active": false
},
"http": {
"active": false,
"localhttp": false
},
"smtp": {
"active": false
},
"ftp": {
"active": false
},
"ssl": {
"active": false
},
"cameras": [
{
"name": "Old Non-HD",
"manufacturer": "Insteon",
"motionTimeout": 15,
"unbridge": true,
"hsv": true,
"prebuffering": false,
"prebufferLength": 4,
"videoConfig": {
"source": "-i http://[USERNAME]:[PASSWORD]@[LOCALIP]:25107/videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=320x240",
"subSource": "-i http://[USERNAME]:[PASSWORD]@[LOCALIP]:25107/videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=320x240",
"stillImageSource": "-i http://admin:2bad4.NET@<IP_ADDRESS>:25107/videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=320x240",
"maxFPS": 30,
"audio": true
},
"videoanalysis": {
"active": false
},
"mqtt": {}
},
{
"name": "Front of House",
"manufacturer": "Insteon",
"model": "2864-222",
"serialNumber": "FIOCA1411002719",
"excludeSwitch": false,
"privacySwitch": true,
"motion": true,
"motionTimeout": 15,
"unbridge": true,
"hsv": true,
"prebuffering": true,
"forcePrebuffering": false,
"prebufferLength": 4,
"videoConfig": {
"source": "-i rtsp://[USERNAME]:[PASSWORD]@[LOCALIP]:25109/videoMain",
"subSource": "-i rtsp:[USERNAME]:[PASSWORD]@[LOCALIP]:25109/videoMain",
"stillImageSource": "-i http://[LOCALIP]:25109/cgi-bin/CGIProxy.fcgi?usr=[USERNAME]&pwd=[PASSWORD]&cmd=snapPicture2",
"readRate": false,
"maxStreams": 2,
"maxWidth": 1280,
"maxHeight": 720,
"maxFPS": 20,
"forceMax": false,
"audio": true,
"debug": true
},
"videoanalysis": {
"active": false
},
"mqtt": {}
}
]
}

@leithma
try this config
{
  "name": "CameraUI",
  "port": 8081,
  "atHomeSwitch": true,
  "debug": true,
  "mqtt": {
    "active": false
  },
  "http": {
    "active": false,
    "localhttp": false
  },
  "smtp": {
    "active": false
  },
  "ftp": {
    "active": false
  },
  "ssl": {
    "active": false
  },
  "cameras": [
    {
      "name": "Old Non-HD",
      "manufacturer": "Insteon",
      "motionTimeout": 15,
      "unbridge": true,
      "hsv": true,
      "prebuffering": false,
      "prebufferLength": 4,
      "videoConfig": {
        "source": "-i http://[USERNAME]:[PASSWORD]@[LOCALIP]:25107/videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=320x240",
        "subSource": "-i http://[USERNAME]:[PASSWORD]@[LOCALIP]:25107/videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=320x240",
        "stillImageSource": "-i http://admin:2bad4.NET@<IP_ADDRESS>:25107/videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=320x240",
        "rtspTransport": "tcp",
        "vcodec": "copy",
        "acodec": "libfdk_aac",
        "audio": true
      },
      "videoanalysis": {
        "active": false
      },
      "mqtt": {}
    },
    {
      "name": "Front of House",
      "manufacturer": "Insteon",
      "model": "2864-222",
      "serialNumber": "FIOCA1411002719",
      "excludeSwitch": false,
      "privacySwitch": true,
      "motion": true,
      "motionTimeout": 15,
      "unbridge": true,
      "hsv": true,
      "prebuffering": true,
      "forcePrebuffering": false,
      "prebufferLength": 4,
      "videoConfig": {
        "source": "-i rtsp://[USERNAME]:[PASSWORD]@[LOCALIP]:25109/videoMain",
        "subSource": "-i rtsp:[USERNAME]:[PASSWORD]@[LOCALIP]:25109/videoMain",
        "stillImageSource": "-i http://[LOCALIP]:25109/cgi-bin/CGIProxy.fcgi?usr=[USERNAME]&pwd=[PASSWORD]&cmd=snapPicture2",
        "rtspTransport": "tcp",
        "vcodec": "copy",
        "acodec": "libfdk_aac",
        "audio": true,
        "debug": true
      },
      "videoanalysis": {
        "active": false
      },
      "mqtt": {}
    }
  ]
}

if this also doesnt work, disable audio and try again

I have not tried your config, but it does seem that if I toggle audio to false it works as expected.

@seydx
I have not tried your config, but it does seem that if I toggle audio to false it works as expected.

Try also my config with audio enabled

@seydx
Still Errors with your config
"[1/15/2022, 2:52:06 PM] [CameraUI] Front of House: FFmpeg prebuffer process exited with error! (null) - Too many packets buffered for output stream 0:0."
Alos side note :)  can you edit your config and blank out the username and password I missed on the "stillImageSource":  line

@seydx
If I toggle Audio on your config it works again.

Alos side note :) can you edit your config and blank out the username and password I missed on the "stillImageSource": line

Done :)

@seydx
If I toggle Audio on your config it works again.

Its working with my config and audio enabled?

@seydx :) thanks on the PW
and, no on the audio.. if I enable audio it fails

@seydx :) thanks on the PW
and, no on the audio.. if I enable audio it fails

Can you add following at the end of your camera source and try again WITH audio pls
-max_muxing_queue_size 1024
your config should look like
{
  "name": "CameraUI",
  "port": 8081,
  "atHomeSwitch": true,
  "debug": true,
  "mqtt": {
    "active": false
  },
  "http": {
    "active": false,
    "localhttp": false
  },
  "smtp": {
    "active": false
  },
  "ftp": {
    "active": false
  },
  "ssl": {
    "active": false
  },
  "cameras": [
    {
      "name": "Old Non-HD",
      "manufacturer": "Insteon",
      "motionTimeout": 15,
      "unbridge": true,
      "hsv": true,
      "prebuffering": false,
      "prebufferLength": 4,
      "videoConfig": {
        "source": "-i http://[USERNAME]:[PASSWORD]@[LOCALIP]:25107/videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=320x240" -max_muxing_queue_size 1024,
        "subSource": "-i http://[USERNAME]:[PASSWORD]@[LOCALIP]:25107/videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=320x240",
        "stillImageSource": "-i http://[USERNAME]:[PASSWORD]@[LOCALIP]:25107/videostream.asf?user=[USERNAME]&pwd=[PASSWORD]&resolution=320x240",
        "rtspTransport": "tcp",
        "vcodec": "copy",
        "acodec": "libfdk_aac",
        "audio": true
      },
      "videoanalysis": {
        "active": false
      },
      "mqtt": {}
    },
    {
      "name": "Front of House",
      "manufacturer": "Insteon",
      "model": "2864-222",
      "serialNumber": "FIOCA1411002719",
      "excludeSwitch": false,
      "privacySwitch": true,
      "motion": true,
      "motionTimeout": 15,
      "unbridge": true,
      "hsv": true,
      "prebuffering": true,
      "forcePrebuffering": false,
      "prebufferLength": 4,
      "videoConfig": {
        "source": "-i rtsp://[USERNAME]:[PASSWORD]@[LOCALIP]:25109/videoMain -max_muxing_queue_size 1024",
        "subSource": "-i rtsp:[USERNAME]:[PASSWORD]@[LOCALIP]:25109/videoMain",
        "stillImageSource": "-i http://[LOCALIP]:25109/cgi-bin/CGIProxy.fcgi?usr=[USERNAME]&pwd=[PASSWORD]&cmd=snapPicture2",
        "rtspTransport": "tcp",
        "vcodec": "copy",
        "acodec": "libfdk_aac",
        "audio": true,
        "debug": true
      },
      "videoanalysis": {
        "active": false
      },
      "mqtt": {}
    }
  ]
}

Here is what I have...
"rtspTransport": "tcp",
"vcodec": "copy",
"acodec": "libfdk_aac",
"audio": false,
"debug": true
This works with not audio but if I set autio to true it errors out

Here is what I have... "rtspTransport": "tcp", "vcodec": "copy", "acodec": "libfdk_aac", "audio": false, "debug": true
This works with not audio but if I set autio to true it errors out

Try the new config i posted above pls

@seydx
Ok with your second config it is not erroring out, but with audio the stream starts in like 4 seconds and it is almost instant without audio.  I do not know if that is expected.

@seydx
Ok with your second config it is not erroring out, but with audio the stream starts in like 4 seconds and it is almost instant without audio. I do not know if that is expected.

Hm not really, do you habe tried several times?
sometimes apple needs some time to trigger a „start“ event

Yea, I tried 3 or 4 times but all in a row.. I can let it run for 15 minutes or so and see if that helps HomeKit catchup.

Yea, I tried 3 or 4 times but all in a row.. I can let it run for 15 minutes or so and see if that helps HomeKit catchup.

Yeah thats a good idea

Just reporting back.. it is still slow with audio enabled..
6.98 seconds to get first frame
[1/15/2022, 4:41:10 PM] [CameraUI] Front of House: [info]   Stream #0:1 -> #1:0 (pcm_mulaw (native) -> aac (libfdk_aac))
[1/15/2022, 4:41:10 PM] [CameraUI] Front of House: [info] Press [q] to stop, [?] for help
[1/15/2022, 4:41:11 PM] [CameraUI] Front of House: [info] frame=   92 fps=0.0 q=-1.0 size=     779kB time=00:00:06.66 bitrate= 958.0kbits/s speed=11.7x
[1/15/2022, 4:41:11 PM] [CameraUI] Front of House: Getting the first frames took 6.989 seconds.
[1/15/2022, 4:41:11 PM] [CameraUI] Front of House: [info] frame=  102 fps= 89 q=-1.0 size=     816kB time=00:00:07.21 bitrate= 927.4kbits/s speed=6.27x
[1/15/2022, 4:41:12 PM] [CameraUI] Front of House: [info] frame=  110 fps= 67 q=-1.0 size=     845kB time=00:00:07.72 bitrate= 896.1kbits/s speed=4.67x
vs.
.609 seconds for first frame with no audio
[1/15/2022, 4:43:38 PM] [CameraUI] Front of House: [info] Press [q] to stop, [?] for help
[1/15/2022, 4:43:39 PM] [CameraUI] Front of House: [info] frame=  125 fps=0.0 q=-1.0 size=    1009kB time=00:00:08.24 bitrate=1002.1kbits/s speed=15.9x
[1/15/2022, 4:43:39 PM] [CameraUI] Front of House: Getting the first frames took 0.609 seconds.
[1/15/2022, 4:43:39 PM] [CameraUI] Front of House: [info] frame=  133 fps=125 q=-1.0 size=    1044kB time=00:00:08.78 bitrate= 973.7kbits/s speed=8.23x
[1/15/2022, 4:43:40 PM] [CameraUI] Front of House: [info] frame=  141 fps= 88 q=-1.0 size=    1075kB time=00:00:09.31 bitrate= 945.7kbits/s speed=5.83x
All I did between these was flip the audio flag and restart.

Ah lol I had misunderstood. Yes, with audio it does take a bit longer, although 7 seconds is probably too long here. I assume this is due to the additional parameter that we have built into the source, maybe it is better if you reduce this from 1024 to 512?

got it.. I will try.  Thanks for all the support!


Popup archive button initial state check is inefficient

Background
Fairly new archive button on the popup allows a keepFreezeDry flag to be set on a page doc that matches the webpage currently active in a tab. This flag allows the page doc to be skipped during the freeze-dry cleanup cron job.
When the popup loads (whenever clicked), the initial archive button state is disabled until it has time to check for the matching page doc.
Problem
That matching page doc check is currently being done via an un-indexed pouchdb-find query on _id and url fields (getPageDocId fn in archive-button.js). This works fine with small amounts of data, but once the extension amounts a bit of a history, things get very slow and means the archive button is not useful (stays disabled for a long time), and resources will be used up by the popup script trying to find a matching page in all that unordered data.
Ideas
Creating apouchdb-find index for this query doesn't seem possible; index never gets used in the query. Query uses _id and url, which the index should reflect, but attempts on different combinations of those fields have not produced any solutions.
Depending on what the new search index will afford, it may be able to utilise that.
Every page visited by the user should get processed by the activity-logger module, which lives in the background script of the extension. It will create a page stub for every visited page (as long as not blacklisted, paused, or page is a special non-loggable - extension pages, etc.). Maybe there's some way to get the popup to check some state that activity-logger has set in its page visit event?
tl;dr version:

on popup script load, using the data from the current browser tab, we need to find the best matching page doc stored in the DB
in a lot of cases this page doc would have been created by activity-logger in the background script on visit to that page

closed for now, as we are cutting out archiving


jenkins commit for struct_pl_recording

Testing https://github.com/SpiNNakerManchester/sPyNNaker/pull/1042 and https://github.com/SpiNNakerManchester/sPyNNaker8NewModelTemplate/pull/72

I don't understand what this PR is doing?

These type of PRs sever to trigger the integration tests on all other repositories where it exists using the branch with the same name. In this case "struct_pl_recording" or where that branch does not exists the default one.