Azure App Service Deploy

Hi,
I am trying to migrate my Azure App Service deployment from Classic (which is now marked as deprecated) to Azure App Service Deploy (RM). For some reason, I keep on getting:
2016-11-18T00:39:16.1923786Z ##[error]Failed to deploy website.
2016-11-18T00:39:37.4268572Z ##[warning]Error: connect ETIMEDOUT [IP Removed]:443
2016-11-18T00:39:37.4268572Z ##[error]Error: Error: C:\Windows\system32\cmd.exe failed with return code:<PHONE_NUMBER>
A couple more details that may help:

I am using an on-premise agent
Task AzureRmWebAppDeploy version: 2.1.4
may or may not matter but the webapp is hosted in a service plan using App Service Environment
Can someone help please?

Thanks in advance.

An additional info,  there is an error.txt file created in the AzureRmWebAppDeploy task folder with the following content:
Error Code: ERROR_DESTINATION_NOT_REACHABLE
More Information: Could not connect to the remote computer ("[webappname]scm.[asename].p.azurewebsites.net"). On the remote computer, make sure that Web Deploy is installed and that the required process ("Web Management Service") is started.  Learn more at: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_DESTINATION_NOT_REACHABLE.
Error: Unable to connect to the remote server
Error: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond [AseIPAddress]:443
Error count: 1.
I have ports 454-455 open in the App Service Environment.

Hi @jukai16
Can you give more details as to how you are trying to migrate from Azure App Service : Classic to Azure App Service Deploy? Any app that you were previously able to deploy using the classic task should be able to deploy using the new task. Just make sure you are setting the correct subscription in the task.

Hi @rajatagrawal-dev
Apologies, I should have replied to this earlier as soon as I was able to resolve it. The issue is not because of an incorrect subscription but rather the inbound security rules in the NSG.
In my case because my App Service Environment is created within a subnet with inbound rules to lockdown traffic, I have to explicitly open port 443. Luckily I am using on-premise build agent so I exactly know what the IP address is and only allow that IP as a source. Since opening this I was able to deploy successfully.
As far as hosted agents are concerned though (I have tested this as well just to make sure it wasn't my on-prem agent), using this task + ASE may not work well since the hosted agent's IP is unknown (please correct me if my assumption is incorrect). It kinda defeats the purpose of locking down inbound traffic if you have to open port 443 from "Any" source should you decide to use a hosted agent to deploy to an App Service Environment.

Added it to our backlog. However, it will be 2-3 months before we can get to it based on current priorities.
Closing this for now.
Thanks,

Has the process of deploying to an App Service Environment from VSTS been resolved without having to deploy a jumpbox VM?

we have an ASE setup with an NSG that restricts inbound access

We have no way of reaching App Service that is behind an internal load balancer within an App Service Environment. The only option I can think of is using a jump-box or perhaps using Azure Relay.

I found a way to allow this if you are ok with allowing all publicly facing Microsoft Azure Cloud IP's to have access.  In the NSG, set up a rule for a Source of Service Tag, and a Source service tag of AzureCloud or AzureCloud. with inbound access to ports 80 and 443.

This worked for me and it may even work with some of the other Source service tags to get a more refined set of IP addresses.  It isn't perfect, but it's better than granting access to all of the internet and may not be secure enough for some people.  Just wanted to post this as an option.  Here is my final rule.


[local_auth] Allow authentication for devices without biometrics

Allow local authentication for devices without biometrics.
Ideally, a method (LocalAuthentication().authenticate()) that would defer to the OS to determine the proper authentication type.
iOS:
https://developer.apple.com/documentation/localauthentication/lapolicy/lapolicydeviceownerauthentication?language=objc
Android:
https://developer.android.com/training/sign-in/biometric-auth#biometric-or-lock-screen

@VladyslavBondarenko is it possible to already review this pr? This is something we need in our current application

@vanlooverenkoen you can ask assigned for the review person in the pr conversation

@VladyslavBondarenko there is nobody assigned yet.

@vanlooverenkoen sorry, ambiguously said, I meant @mehmetf in reviewers

@vanlooverenkoen
You could use this fork. It was created as a stopgap until this could be reviewed and merged.
https://pub.dev/packages/local_auth_device_credentials

Sadly on iOS the passcode as fallback is not shown for FaceID users. This is because the plugin sets
context.localizedFallbackTitle = @""; hardcoded and is not configurable. The title should be configurable to show a customised title or disable it.
https://developer.apple.com/documentation/localauthentication/lacontext/1514183-localizedfallbacktitle?language=objc

Sadly on iOS the passcode as fallback is not shown for FaceID users. This is because the plugin sets
context.localizedFallbackTitle = @""; hardcoded and is not configurable. The title should be configurable to show a customised title or disable it.
https://developer.apple.com/documentation/localauthentication/lacontext/1514183-localizedfallbacktitle?language=objc

There is another problem:
next to getAvailableBiometrics there should be a second method getAvailableAuthenticationMethods or similar. Because it should be possible to check if the user either enrolled any biometric method, or a code/pattern/what_so_ever. "isDeviceSupported" returns true even if the user hasn't enabled any authentication. If he then turns on authentication for my app he is locked out and has to know that he should set at least a device passcode to get in again.

There is another problem:
next to getAvailableBiometrics there should be a second method getAvailableAuthenticationMethods or similar. Because it should be possible to check if the user either enrolled any biometric method, or a code/pattern/what_so_ever. "isDeviceSupported" returns true even if the user hasn't enabled any authentication. If he then turns on authentication for my app he is locked out and has to know that he should set at least a device passcode to get in again.

Looks like this didn't get closed as fixed when the PR landed; closing.
@REKURDennis Please file new issues for follow-ups.


--fork does not wait until the fork is actually completed

Additional Information:
GitHub's fork process is ran asynchronously, and there are no means to check the status programmatically.
https://docs.github.com/en/rest/repos/forks?apiVersion=2022-11-28#:~:text=Note%3A Forking a Repository happens asynchronously. You may have to wait a short period of time before you can access the git objects. If this takes longer than 5 minutes%2C be sure to contact GitHub Support.
https://stackoverflow.com/questions/33666838/determine-if-a-fork-is-ready
gh retries 3 times every 2 seconds
https://github.com/cli/cli/blob/trunk/pkg/cmd/repo/fork/fork.go#L333-L344


Luckperms Bungeecord not working D:

So I have recently changed my server from paper to bungee, reinstalled most of the plugins that I needed to install. Followed an youtube tutorial step by step on how to install it for bungee. Doesn't work. When I apply changes the changes apply but they dont work in game. For instance I can make an prefix, but it doesnt show ingame while I correctly made it.

Firstly, bungeecord is a proxy server, which links multiple spigot/paper servers together. So you can’t replace your paper server with it. Then, not all plugin needs to be installed in bungeecord, some only need to be installed on the respective spigot/paper server. As for luckperms, you need normal luckperms on all normal server and luckperms-bungee on bungeecord proxy. https://www.luckperms.net/downloads

To add on, you need to sync all of luckperms to a common sql database. https://github.com/lucko/LuckPerms/wiki/Syncing-data-between-servers


update return 1 even when the update fails

Unlike vanilla mongoDB, which returns something like { "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }, monk's update simple returns 1 if update succeed or found match but fails the update. I am trying to use $addToSet in the update and I want to use the "nModified" to determine the next step. Am I missing some flag or this is built like this? Thanks!

fixed in #132 🎉


Calendar view showing wrong times

The calendar view shows the wrong time which is half an hour earlier than on the list view.
Please see below and help to solve it.
Correct:

Wrong:

I would like to work on this

@shubham3211 Thanks, but can you make the same fix in https://github.com/fossasia/2018.fossasia.org
The live website for the event is hosted here.

@the-dagger schedule.html is a minified file I need the zip file or api to generate it again.

Hi @shubham3211
Here is the api end point
https://eventyay.com/api/v1/events/275

@aayusharora I have made a pull request :-https://github.com/fossasia/2018.fossasia.org/pull/618


Default auto field not configured

In Django 3.2, you can customise the type of auto-created primary key fields by configuring DEFAULT_AUTO_FIELD in your settings.
My project has recently been upgraded to Django 3.2, and I set DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField', because Django is making this the new default (previously it was AutoField). However, after doing that, the makemigrations command generates migrations to change this for dependencies that don't have a default configured, as well as first-party apps.
My project runs makemigrations --check in CI, and that now fails because it thinks waffle is missing a migration.
This could be addressed by adding default_auto_field = 'django.db.models.AutoField' to WaffleConfig - I'd be happy to make a PR to do that.
This also relates to issue #395

Please create a PR.

@clintonb I've made a PR :)


'Table' cannot be used as a JSX component

facing issue

Same problem

You should update React to version 18 or use resolutions in your package.json:
  "resolutions": {
    "@types/react": "YOUR CUSTOM VERSION"
  },

With VS Code I still get a warning. Perhaps the format of "YOUR CUSTOM VERSION" is incorrect. My package.json has - 	"@types/react": "^17.0.3" in the dependencies.

@RonaldKevinBurton I think the version you are using is correct. I can only confirm that the latest version (currently 17.0.44) is working fine.
Required actions:

yarn install

Additional actions:

Delete the node_modules folder and .lock files manually
Use yarn install command
Close and reopen your editor.

That brings up another can or worms. In pakcage.json I have in the dependencies:
	"@types/react": "^17.0.3",
	"react": "^16.14.0",

So you see that I have a different 'types' version than the react version should I be using
  "resolutions": {
    "@types/react": "^16.14.0""
  },

?

I've got this issue after reinstalling dependencies. I tried removing yarn.lock and node_modules and reinstall modules with yarn, didn't helped. Then I reinstalled dependencies using npm and there is no error.

Same issue.

Idk if this helps anyone, but in my case, the error was caused by an incorrect default import.
import Table, { Button, ... } from "reactstrap" // This line should be

import { Button, Table, ... } from "reactstrap" // like this

It would be great if someone can reproduce the error in CodeSandbox or something similar.

In my case, I resolved it like this.
// src/declaration.d.ts

import { TableProps, RowProps, ColProps, CardProps, CardBodyProps } from "reactstrap";

declare module "reactstrap" {
  class Table extends React.Component<TableProps> {}
  class Row extends React.Component<RowProps> {}
  class Col extends React.Component<ColProps> {}
  class Card extends React.Component<CardProps> {}
  class CardBody extends React.Component<CardBodyProps> {}
}

Add declarations for the component occuring type errors.
I hope that this way resolve your problem. 👍


fix processing of negative scalars during parse literals

resolves #92

@neelance What version of golang is used in CI?
I use 1.8 and when I try to run build and test I've got a lot of errors like this:
graphql-go/graphql.go:12:2: use of internal package not allowed.
If I know version I will add some tests to check negatives.

@shnellpavel I've run into this version when testing in a forked repository.
All the code still points to neelance/graphql-go, and go disallows the forked version to access the internal package of the original version.

@tonyghita Is there any way to run tests without rewriting all imports?

Check out this article: http://code.openark.org/blog/development/forking-golang-repositories-on-github-and-managing-the-import-path.
TLDR; You can add your fork as a remote in the main package.

Thanks!

fyi: CI is running Go 1.8.1

@tonyghita Thanks for help!
@neelance Thanks for approve!

@neelance test-cases were merged (https://github.com/graphql/graphql-js/pull/891)

Tests updated via 073edccda088f21eb03050184190bbe1e66289eb. Thanks again!


Switching between solarized dark and light?

In the past there used to be separate colour schemes for solarized light and dark, but now there is only one. I use the flattened colour scheme, which is basically Solarized without all the tacked-on nonsense and it works with Neovim's true colour support (the official Solarized doesn't). But how can I change the variant used by Lightline?
I have followed the documentation which says to write a function like this:
function! s:lightline_update()
    if !exists('g:loaded_lightline')
        return
    endif
    try
        if g:colors_name =~# 'wombat\|solarized\|landscape\|jellybeans\|Tomorrow'
            let g:lightline.colorscheme =
                \ substitute(substitute(g:colors_name, '-', '_', 'g'), '256.*', '', '') .
        elseif g:colors_name =~# 'flattened_dark'
            let g:lightline.colorscheme = 'solarized'
        elseif g:colors_name =~# 'flattened_light'
            let g:lightline.colorscheme = 'solarized'
        endif
        call lightline#init()
        call lightline#colorscheme()
        call lightline#update()
    catch
    endtry
endfunction

I tried adding set background=dark/set background=light above the lines with let g:lightline.colorscheme = 'solarized', but that doesn't do anything. When I try Vim with the official Solarized colour scheme the same thing happens. Lightline only accepts the first time that background is set (i.e. in my vimrc), but not changes to it afterwards.

Sorry but what you want is not supported anymore. I dropped the support because most people do not switch the colorsheme while editting source code. Please restart the editor to see the appearance changes.

Not really what I was hoping for, but OK. The problem is that most of the time I'm working in dark mode, but sometimes the sun outside is too bright, so I want to switch to light mode during work. Restarting my editor would mean I have to first edit my vimrc and then restart. I think it will be the easiest to just add a separate light and dark colorscheme to flattened instead of using Lightline's Solarized, even though they are the same colours.

I solved this problem by adding a "runtime autoload/lightline/colorscheme/solarized.vim" before the calls to lightline#init() etc. in the lightline_update() function. It may be ugly, but it works for me.

@eyvind Would you mind sharing how you've performed the edits? Switching between light and dark is also important to me, but I cannot figure out how you've done it.

Sure, here's my lightline_update:
function! s:lightline_update()
        if !exists('g:loaded_lightline')
                return
        endif
        try
                if g:colors_name =~# 'solarized'
                        runtime autoload/lightline/colorscheme/solarized.vim
                        call lightline#init()
                        call lightline#colorscheme()
                        call lightline#update()
                endif
        catch
        endtry
endfunction

Thanks, works like a charm!


_count not working with typescript

Bug description
The new introduced _count property does not work with the generated Typescript
How to reproduce
This is a portion of the schema:
model Contratto {
    id Int @id @default(autoincrement()) @map("id")

    dataInizio DateTime @map("data_inizio")
    dataFine   DateTime @map("data_fine")

    dataFirmaContratto     DateTime? @map("data_firma_contratto")
    dataChiusuraAnticipata DateTime? @map("data_chiusura_anticipata")

    checkout Float?   @map("checkout")
    cauzione Float?   @map("cauzione")
    tipoRata TipoRata @map("tipo_rata")

    idTariffa Int     @map("id_tariffa")
    tariffa   Tariffa @relation(fields: [idTariffa], references: [id])

    idTipoContratto Int           @map("id_tipo_contratto")
    tipoContratto   TipoContratto @relation(fields: [idTipoContratto], references: [id])

    idQuietanziante Int           @map("id_quietanziante")
    quietanziante   Quietanziante @relation(fields: [idQuietanziante], references: [id])

    note String? @map("note")

    contrattiSuOspite ContrattoSuOspite[]

    bollette Bolletta[]
    @@map("contratto")
}

This is what I have if I want to get the number of "bollette" of a contract:

Expected behavior
I would expect to be able to use it, if _count is actually what I think it is.
Environment & setup

OS:Ubuntu 20
Database: Postgres
Node.js version: 15
Prisma version: 2.21.2

Having the same issue too. Just installed 2.22.1.

I am unable to reproduce this.

Can you please make sure you enabled the selectRelationCount preview feature flag like so in the schema:
generator client {
  provider        = "prisma-client-js"
  previewFeatures = ["selectRelationCount"]
}

After adding this you need to regenerate the client using prisma generate.

I did not add selectRelationCount, thanks

@gmanno, what about you?

Works for me too. Thanks for the support.

This doesn't work for prisma 2.23.0. I added the preview feature mentioned and rerun prisma generate but _count still not recognizable.

The problem still exists here. I have already changed the prism version to previous versions, and in all of them I ran the command npx prisma generate
package.json
// ...
"dependencies": {
    "@prisma/client": "^2.29.1",
},
"devDependencies": {
    "prisma": "^2.29.1",
}

prisma/schema.prisma
datasource db {
  provider = "postgresql"
  url      = env("DATABASE_URL")
}

generator client {
  provider        = "prisma-client-js"
  previewFeatures = ["selectRelationCount"]
}

// ...

@BrunoS3D Open a new issue with the full query.


Request: Support ENV Vars

It would be nice if, instead of having to  modify the command the docker runs, you could just specify ENV vars for things like config path location, run time, ect.
I am putting this in a K8s cluster and it just requires less work to specify ENVs instead of override the run command.

ok can you test the Environmental variables have been added to develop. They are PMM_DEBUG, PMM_TEST, PMM_RUN, PMM_COLLECTIONS, PMM_TIME, PMM_DIVIDER, PMM_WIDTH, and PMM_CONFIG

Sorry it took so long for me to check this. But it works (obviously, since you pushed to main 😆)!!
Thank you!
It lets me not override your base docker command now.
For the curious, the kubernetes file is here

I get this error when using the PMM_WIDTH ENV in the docker version:
File "//plex_meta_manager.py", line 72, in
if screen_width < 90 or screen_width > 300:
TypeError: '<' not supported between instances of 'str' and 'int'
I tried to fix the code, but it gets reset on every restart.


Endpoint ch10 vs ch11

https://github.com/GoogleCloudPlatform/data-science-on-gcp/blob/4706f522455511ac633146c84aa989ff843352c4/11_realtime/change_ch10_files.py#L22
Do we want the same endpoint as in Ch10 or a new one?

Ah, I see in the book it's supposed to be a new endpoint. I'll correct in PR for you to review


Reverts prior change to make $0 Opportunity Amount behave like null Opportunity Amount

Reverts prior change to handling of $0 Opportunity Amounts concerning Allocations.
It will create a default $0 Allocation if Default Allocations are enabled/configured, and the Opportunity Amount is $0.
It will preserve percentage and fixed amount ($0) allocations if amount is changed from a non zero to a zero amount.
New Opportunities with a null amount, will not have a default allocation, even if enabled.
Updating an Opportunity Amount to null, will clear the Opportunities Allocations

Critical Changes
GAU Allocations

We reverted the change made in Release 3.157 to GAU Allocation behavior for Opportunities with $0 in the Amount field. If your organization doesn’t create $0 Opportunities, or use GAU Allocations, this change won’t affect your org. If NPSP automatically created any $0 GAU Allocations in your org before the 3.157 release was implemented in Production orgs (July 3), your data may be inconsistent. To check your data, run an Opportunity report with the following filters:

Amount = $0
Cross Filter for Opportunities without GAU Allocations

Changes
Issues Closed

Fixes #4384

New Metadata
Deleted Metadata

Testing is complete.  Merging then deleting this branch.


It's stuck: no continuation

I was solving "Относительные ссылки №2" task, and was not quite efficient from the first run.
So I clicked "Cancel".
Here comes the first issue: the task has not been reset, while it should be, right?
So I entered a command which came first to my mind  - $ reset and it worked: the view was reset.
Then I typed another sequence of commands and got "level solved!" in the console finally.
But nothing happens next and this is the second issue.
I tried clicking the "Task" button and then green tick in the popup window - it just returns me to the console.
I tried clicking "Goal" button - got just a pop window with the goal obviously.
I tried issuing $ help in the console to get the idea of what am I supposed to do next to get the the game running on - but no way, there's nothing useful.
So I'm stuck.

yeah its because you already solved the level once and then reset. we let you know the level is solved again by the echo output, but we don't pop the dialog again.
this was to facilitate people retrying and practicing levels without having to do the annoying dialog finish animation. its also helpful for teachers as well
levels is the command you're looking for. ill add that to the command


Diffpure experiment evaluation settings

Hi, thanks for your great work. I am trying to recover the results of diffpure method under your evaluation settings. I have noticed that you are using a surrogate method, could you please provide the parameter settings when you run diffpure experiment? Thanks a lot!

Sorry for the delayed response.
As you said, to address the memory issue of the full-gradient attack, we implemented a surrogate process. The memory issue in DiffPure's full-gradient attack arises due to using t* = 0.1 with a step size of 0.001, leading to 100 denoising steps. In the DiffPure paper, they solve this issue by implementing an adjoint method for the full-gradient attack.
For our attack using the surrogate process, we increased the step size when generating adversarial images. Specifically, for the DiffPure case (as shown in Table 7 of our paper), we used a step size of 0.005 (20 steps) for the attack. As I recall, calculating gradients over 20 steps required nearly 80GB of GPU memory.
To evaluate DiffPure, we used the original DiffPure GitHub repository. You can use 'torchsde.sdeint' for the full-gradient attack with the surrogate process and change the step size in 'torchsde.sdeint'. In our evaluation, we cloned the DiffPure GitHub repository and created two pipelines: one for attack generation using a step size of 0.005, and another for the defense process using a step size of 0.001. Implementing this requires only a simple code modification. However, since DiffPure is based on the ScoreSDE framework and our implementation uses the DDPM/DDIM framework, the DiffPure results cannot be reproduced using our repository.

Thanks for your reply! I have a further question regarding score SDE. I found both the standard and robust accuracies of diffpure are quite similar when utilizes different sampling method, such as the DDPM/DDIM in your implementation and the sdeint solver in Diffpure's implementation. In your opinion, would you accept evaluating Diffpure under your implementations, which is setting att_diffusion_step to 20 (equals setting dt = 0.005 in sdeint)?

In my opinion, the setting you mentioned cannot be considered as the original results from the DiffPure paper. However, since DiffPure should be agnostic to the sampling method, if you want to use our implementation, it would be fine as long as you mention that only the sampling framework was changed to DDPM/DDIM.

In my opinion, the setting you mentioned cannot be considered as the original results from the DiffPure paper. However, since DiffPure should be agnostic to the sampling method, if you want to use our implementation, it would be fine as long as you mention that only the sampling framework was changed to DDPM/DDIM.

Thanks for your reply!


Migrate to graph database

@epatters wrote in #16:

BTW, for a while I've been considering migrating to a graph database, possibly Dgraph, to enable more flexible querying, but I haven't yet been able to dedicate the time.

What kind of queries are you thinking about that cannot easily be handled using CouchDB views?
For the purpose of datascienceontology-frontend, I'm thinking the database design could even be "less intelligent" and easier to maintain. Since a built ontology just consists of static linked documents plus search/browse indices, all public, at the current scale an S3/IPFS/Dat bucket containing these static docs plus some static indices might be sufficient.
Asking because I'm interested in creating patches to make the frontend and collaboration workflow easier to use and more engaging. I'd like to explore several use cases for collaborative ontology building across concepts and code using this project. The direction this upstream project is going with database management impacts how I should focus my effort.

You're right that the current features of the DSO web frontend are adequately served by CouchDB. Although I'm not familiar with IPFS or Dat, you're probably right that even simpler infrastructure would suffice for the current feature set.
One reason I was considering migrating to a graph DB is to enable more sophisticated interlinking. For example, it would be nice if the page for a concept would list all the annotations that use it, so that users could quickly identify the Python or R packages implementing that concept. To do that, we would need to deep search though the function annotations' expression trees, which AFAIK is not straightforward in the document DB model. I believe it would be straightforward in a graph DB model where each node in the tree is a node in the graph DB.
Now, since the site's content is basically static, this could be done at build time by generating static indexes. I think that is the point you were making. But at a certain point I imagine it becomes easier to just use a DB for the querying and slap a cache in front of it if performance is an issue.
I am delighted that you are interested in using this project to explore collaborative ontology editing, and I would like to support this in any way that I can. It has always been my intention that the DSO be a wiki-style collaborative effort, but so far I have not had much success in getting contributions. I suspect that part of the problem (besides a general lack of visibility) is that understanding what is going on and contributing is not nearly as easy as it could be.

To explore easy querying and interlinking, I've started a Clojure-based https://github.com/sander/ontology-linker that creates JSON-LD representations and indices for DSO. If using graph DB turns out to make queries easier to prepare indices, https://github.com/tonsky/datascript might be helpful.
A demo workflow is configured in https://github.com/sander/datascienceontology/tree/feat/json-ld. The currently most recent linked build is published using IPFS and available from content delivery networks such as https://cloudflare-ipfs.com/ipfs/QmXRhmUVp7EF7A9vxvRYYJAR13GpLx16Tf36jrgCqZTvZx. An advantage of IPFS is that the ontology publisher does not need to maintain their own infrastructure to keep the ontology available.
A next step would be to make https://github.com/IBM/datascienceontology-frontend browse the static JSON-LD files instead of the custom API.


Add extension to has image property components

I found that there are a lot of objects with image property, if I add setImage method for them one by one will lead to a lot of repetitive code, so I abstracted a protocol, in the future as long as the object with the image property to conform with this protocol can get setImage method.

@Mx-Iris
Thank you for your patience and for submitting your pull request to the Kingfisher library. I apologize for the delayed response, as I only had the opportunity to review it thoroughly today.
I am impressed with the functionality introduced in your PR, and I see great value in integrating it into the Kingfisher library. However, we have recently made several updates to improve strict concurrency, including adding @MainActor annotations to image setting methods. Given these changes, I believe your contribution would fit perfectly in the upcoming major release.
Could you please rebase your changes onto the latest v8 branch and submit a new PR? I am eager to review it and include it as a stable feature in our next release.
Thank you once again for your valuable contribution and effort.

I have merged the latest code and added some UIKit components, I found that there are a lot of UIConfigurations that have the image property, but this implementation of mine only takes into account AnyObject, and if I need to be compatible with the value type, I need to change the base property of KingfisherWrapper from let to var, do you have a Do you have a better way to implement this feature?

Don't worry! Let me try to handle it.

Ok, thanks for submitting a new PR for me and adding concurrency, I'm not familiar with swift concurrency so I didn't understand what you said above, I'll close this PR then, feel free to @ me if you have any questions!


update ffmpeg version

I was facing difficulties when building this because of the ffmpeg version, in the process I realized that version 6.1 was what worked correctly for me, apparently there is no problem

In fact, I didn't know they were different things.
This is my return:
ffmpeg version n6.1.1 Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 13.2.1 (GCC) 20230801

Building  this fork on arch with rust works for me

I'd be interested to know if people managed to build and run tplay after updating ffmpeg to version 6... The crate that this project uses, ffmpeg-next, still doesn't support ffmpeg v6 ( I just tried)!

(i'm Marelpup)
the moondusk branch uses ffmpeg 6 and it seems to work fine

Sounds good, I'll try setting it up and update it once I have a bit of downtime!

So I had some issues trying to install ffmpeg versions after 4 and as far as I understand it ffmpeg versions 6+ aren't on ubuntu 22.04.
It's nice to have the latest and greatest Ubuntu version but since the next LTS version (24.04) just came out (more or less) I don't want to suddenly drop support.
apt policy ffmpeg
ffmpeg:
  Installed: 7:4.4.2-0ubuntu<IP_ADDRESS>
  Candidate: 7:4.4.2-0ubuntu<IP_ADDRESS>
  Version table:
 *** 7:4.4.2-0ubuntu<IP_ADDRESS> 500
        500 http://gb.archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages
        500 http://security.ubuntu.com/ubuntu jammy-security/universe amd64 Packages
        500 http://archive.ubuntu.com/ubuntu jammy-updates/universe amd64 Packages
        500 http://archive.ubuntu.com/ubuntu jammy-security/universe amd64 Packages
        100 /var/lib/dpkg/status
     7:4.4.1-3ubuntu5 500
        500 http://gb.archive.ubuntu.com/ubuntu jammy/universe amd64 Packages
        500 http://archive.ubuntu.com/ubuntu jammy/universe amd64 Packages

A better solution would be for this crate to check if ffmpeg 6+ is installed and if so use the corresponding ffmpeg-next crate. It should be doable.


calico kubernetes, and selinux

Expected Behavior
Calico should work with selinux in enforcing mode. It's not reasonable to disable selinux for the whole system due to a single component.
Current Behavior
Calico does not work with selinux in enforcing mode.
Possible Solution
I noticed that calico-node runs with
securityContext:
    privileged: true

However, the init containers do not, and the install process breaks with permission denied errors due to selinux. I added the same security context to all the init containers, and the install works fine now.
Steps to Reproduce (for bugs)

Use CentOS 7, with selinux in enforcing mode.
Use kubeadm to setup a simple multi-node cluster. ( I had to take steps to get selinux working with kubeadm. I am working to get those fixes made to kubeadm https://github.com/kubernetes/kubeadm/issues/1654 ).
Follow instructions on https://docs.projectcalico.org/v3.8/getting-started/kubernetes/

Context
My organization mandates the use of selinux on all hosts. Any component which requires that selinux be disabled is simply not allowed to be used. In order to use calico, I needed to get it working with selinux.
Your Environment

Calico version: 3.8
Orchestrator version (e.g. kubernetes, mesos, rkt): kubernetes
Operating System and version: CentOS 7.6

Here is the diff I made to https://docs.projectcalico.org/v3.8/manifests/calico.yaml which fixes the problem for me:
529a530,531
>           securityContext:
>             privileged: true
563a566,567
>           securityContext:
>             privileged: true
572a577,578
>           securityContext:
>             privileged: true

@rcythr Thanks for sleuthing that out, would you mind putting up a PR with the fix?  The file that you'd need to change is here: https://github.com/projectcalico/calico/blob/master/_includes/master/charts/calico/templates/calico-node.yaml#L48 (and the similar files in _include//...
Going through the PR process makes sure that all contributions are properly attributed.

Sure, I'll get one submitted this weekend and refer to this issue.

Sorry for the wait, getting a dev environment (for running the tests) took a little longer than I expected and I kicked the can down the road to this weekend. I'm trying to get that PR created today.


Coffeemaker TQ907DF5 new Entities // Time remaining for Clean&Calc, cleaning, water filter

Hi, my new Coffeemaker Siemens TQ907DF5 shows some Entities which not translate in German:
sensor.712090391305001508_consumerproducts_coffeemaker_option_coarsness
This Sensor shows these state:
ConsumerProducts.CoffeeMaker.EnumType.CoarsnessExtended.Coarsness3
(Coarsness3 -> Coarsness1-6) in German -> "Mahlgrad" from "Stufe 1" to "Stufe 5"
sensor.712090391305001508_consumerproducts_coffeemaker_option_coffeestrength
This Sensor shows:
ConsumerProducts.CoffeeMaker.EnumType.CoffeeStrength.Strength5
(Strength5 -> Strength1-9) in German -> "Stärke" from "1" to "9"
Can you please include these entries in your integration?
In the Home Connect app I can see how many cups can still be brewed before the water filter needs to be changed. Among other things, until a cleaning is due and when Clean&Calc is due. See screenshot.

Can you somehow incorporate this into the integration? That would be super helpful. thx

Hi, thank your for that.
Here are the 2 Files with my changes. (worked in my Home Assistant.)
de.json
en.json

And there is nothing I can do about the other missing entities. The integration automatically exposes all the information which is available through the HC API as sensors or events so if it's not already there it means that the API doesn't expose that information. The mobile app is using an internal API which is not available to external application so it may show information that the integration doesn't have access to.

Ok, i understand. Thank yout for your comment.

Thanks. I've merged the new options but you duplicated existing program keys in the wrong place so removed those.
These changes will be included in the 1.0.3 release so when you see that available (could take some time), please verify that it is still working. I will keep this issue open until then.

Please update to 1.1.0-b3 or later (if it will be available) and verify that the translation works as expected.

I'm going to assume the translation is fine and close this issue. Feel free to open a new one if it's not working as expected.


[BUG] File upload doesn't work

I send file using POST request to the server.
const formData = new FormData();
formData.append('file', this.file);
http
  .post('upload', formData, {
    headers: {
      'Content-Type': 'multipart/form-data'
    }
  })
  .then(response => {
    console.log(response)
  })
  .catch(error => {
    console.error(error)
  })

Getting error:
fopen(/tmp/upload000932162): failed to open stream: Permission denied in /app/vendor/spiral/roadrunner/src/Diactoros/StreamFactory.php:41

Trace
Whoops\Exception\ErrorException: fopen(/tmp/upload192874436): failed to open stream: Permission denied in /app/vendor/spiral/roadrunner/src/Diactoros/StreamFactory.php:41
Stack trace:
#0 [internal function]: Whoops\Run->handleError()
#1 /app/vendor/spiral/roadrunner/src/Diactoros/StreamFactory.php(41): fopen()
#2 /app/vendor/spiral/roadrunner/src/PSR7Client.php(179): Spiral\RoadRunner\Diactoros\StreamFactory->createStreamFromFile()
#3 /app/vendor/spiral/roadrunner/src/PSR7Client.php(93): Spiral\RoadRunner\PSR7Client->wrapUploads()
#4 /app/src/Router.php(88): Spiral\RoadRunner\PSR7Client->acceptRequest()
#5 /app/src/App.php(32): App\Router::handle()
#6 /app/index.php(6): App\App->run()
#7 {main}

Permissions for /tmp directory - 1777
The version of RR used: 1.8.1
PHP 7.4.6, Alpine Linux v3.11

@mqwerty Did you use "worker.user" option in .rr.yaml?

@mqwerty Did you use "worker.user" option in .rr.yaml?

Yes.
Config:
http:
  address: :80
  workers:
    user: "app"
    command: "php /app/index.php"
    pool:
      numWorkers: 1

static:
  dir:   "/app/public"
  forbid: [".php", ".htaccess"]

headers:
  cors:
    allowedOrigin: "http://localhost:8080"
    allowedHeaders: "Accept, Accept-Language, Content-Language, Content-Type, Cache-Control, Cookie, Csrf, X-Requested-With"
    allowedMethods: "GET,POST,PUT,DELETE"
    allowCredentials: true
    exposedHeaders: "Content-Language, Content-Length, Content-Type, Cache-Control, Expires, Last-Modified, Pragma, Set-Cookie"
    maxAge: 3600
  response:
    "X-Frame-Options": "deny"
    "X-Content-Type-Options": "nosniff"
    "X-XSS-Protection": "1; mode=block"
    "Referrer-Policy": "no-referrer-when-downgrade"

rpc:
  enable: true
  listen: tcp://:6001

health:
  address: :2113

limit:
  interval: 1
  services:
    http:
      maxMemory: 100
      TTL: 0
      idleTTL: 0
      execTTL: 60

reload:
  interval: 1s
  patterns: [".php"]
  services:
    http:
      dirs: ["/app"]
      recursive: true

@48d90782 Without worker.user option work fine

@mqwerty Set 777 for the folder is not enough in general. Because permissions are valid only for the folder, but not necessary for the nested folders. I can guess, that upload192874436 file has different permissions than the root folder.
W/o worker.user, the process will be spawned by the current user, not the app user. Also, keep in mind, that RR process and the worker processes spawning under different permissions in case of worker.user are not empty.

@48d90782 stat($f['tmpName']) gives the following result:
[
...
['uid'] = integer(1) 0
['gid'] = integer(1) 0
...
]

The problem seems to be that the file is created with root user (uid 0) permissions, but readed by app user. Previously i started RR process by app user, but there was another problem with this.

When i try to start RR process from app user, i'm getting error Error: [http]: process error: fork/exec /usr/local/bin/php: operation not permitted

@mqwerty fork/exec here is because there is no separate commands exec and fork  in golang when doing smt like command.Exec.
When the user is not empty, the process executes not only under this particular user process attributes but also with the user group Id attached to the process.
/usr/local/bin/php is the general path for the PHP binary in Linux systems, and it definitely (99.9%) under the root group.
Actually, this is not a bug, you just need to solve your permissions problem. You can try the following, add the app user into the wheel group. Execute command visudo and uncomment this line wheel  ALL=(ALL)   ALL. And then add app user to this group. This might be not good advice since I don't know what is your end goal of running a worker under the app user.

When i try to start RR process from app user, i'm getting error Error: [http]: process error: fork/exec /usr/local/bin/php: operation not permitted

This error disappears when i remove worker.user option.
That is Roadrunner crashes with error when launched from user app with option workers.user="app".

But I am sure that the problem originally described is a bug.
I have 2 process:

rr - launched by the root user
worker - child rr process, spawned by app user

Why owner of uploaded file is root, not app?

@mqwerty Ok, I reproduced this behavior, and I agree, that this is a bug, thanks. The problem here is in the process attributes attached to the RR process and the worker process. The main RR process has attached group 0 (root), but the worker uses the userId group (995 for example). And they can't communicate in this case. I'll fix this in the next release (2nd of June).

@mqwerty We shifted release to the early July due to high load

@mqwerty Sorry for the delay. To use this feature, you need to execute RR from the root. But, workers will be allocated under the particular user which you set in the .rr.yaml


fix(tailwind): regex for nonMediaQueryCSS

resolves: #198
So, what do we have.
Several cases affected the styles rendering here, and their influence isn't obvious:
Since the word "container" is present on the page, Tailwind generates a whole class for it, thinking it's being used. This is described in their documentation, so it's worth keeping in mind that this is normal for Tailwind.
The example also involves classes that depend on breakpoints, such as md:p-7.
Let's consider what classes Tailwind generates based on the markup described in the test.
.container {
    width: 100%;
}

@media (min-width: 640px) {
    .container {
        max-width: 640px;
    }
}

@media (min-width: 768px) {
    .container {
        max-width: 768px;
    }
}

@media (min-width: 1024px) {
    .container {
        max-width: 1024px;
    }
}

@media (min-width: 1280px) {
    .container {
        max-width: 1280px;
    }
}

@media (min-width: 1536px) {
    .container {
        max-width: 1536px;
    }
}

.hidden {
    display: none;
}

.text-\[\#ccc\] {
    color: rgb(204, 204, 204);
}

@media (min-width: 640px) {
    .sm\:block {
        display: block;
    }
}

Now let's see how the classes for the nonMediaQueryCSS variable were processed before with the regex /@media\s*\(.*\)\s*{\s*\.(.*)\s*{[\s\S]*}\s*}/gm – https://regex101.com/r/op3l1l/1
In this case, all styles are removed, which is an error, so such an innocent word "container" breaks the appearance.
The solution here is quite simple – correcting the regex to /@media\s*\(.*?\)\s*{[^{}]*({[^{}]*}[^{}a]*)*}/gm – https://regex101.com/r/i8FZZW/1
P.S. Sorry, I actually had the solution for a long time, I just didn't have time to publish it 🌚

This is only part of the problem; in fact, I see difficulties working with Tailwind classes that depend on breakpoints.
If necessary, I can try to configure the rendering of such classes in the head.


Fuse the Reading in Procedure of single stacks and timelapses

Reference stack: Either Single Timpoint or "Accumulating" between timesteps
Active: Single timepoint or timeseries

Check if channel number is the same in both cases

Grey out the median if there are only 2 timepoints. Delete First/Last option from Viewer.


Kalyn-Ben 2020-08-27

FoRTE paper and simulation design

PFTs - we will need to add in; see #75 . Will they still be alive after 100 years? GCB paper implies not
Alternatively in theory we start ED running with UMBS profile - Alexey set up some stuff to do this
Disturbance mechanism: girdling via selective harvest (C pool storage) - what Jackie M. suggested doing
No way to do big versus small trees
Disturbance is applied to whole stand; easy to do different levels

Experiment 1:

Bare-ground, 100 year run to mature stand, 0-45-65-85 harvest of C storage pool, run for 10 more years, using climatology (average of most recent decade), ED default parameters

monthly NPP, NEE, LAI, biomass by cohort
later we'll want to run multiple times to average out randomness

Experiment 2:

Bare-ground, 100 year run to mature stand, 0-45-65-85 harvest of C storage pool, run for 10 more years, using climatology (average of most recent decade), UMBS-specific parameters

monthly NPP, NEE, LAI, biomass by cohort
Do this parameter by parameter, so we'll have 2a (VCmax), 2b (SLA), 2c, etc.
later we'll want to run multiple times to average out randomness

Experiment 3:

Start with UMBS inventory - reflecting actual inventory
This will require several weeks' assessment first

Experiment 1 Design

What was the date of the tree girdle for FoRTE?
ben  1:43 PM
Late May 2019

So in preparation for experiment 1 results please check out the baseline run results, to make sure we are happy with how the met data inputs were manipulated and have some standard output plots.

Thanks for pinging me on Slack. I've been really underwater this week and missed this.

This looks great. Couple of questions...
Why is LAI so low? Or am I reading those units wrong? less than 1?
Also, couldn't negative NEP in August come from lack of tree growth in that
period? Most of the actual growth is early growing season and the declines
precipitously. A cool hysteresis effect if true.
jeff
On Wed, Sep 30, 2020 at 1:11 PM Ben Bond-Lamberty<EMAIL_ADDRESS>wrote:

Thanks for pinging me on Slack. I've been really underwater this week and
missed this.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/FoRTExperiment/FoRTE-mgmt/issues/77#issuecomment-701524166,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AB7XVVPMKRNCBGLWYXYAN5DSINRC7ANCNFSM4QNA3UEA
.

--
Jeff Atkins, PhD
Post-Doctoral Fellow
Department of Biology
Virginia Commonwealth University
atkinsjeff.github.io
he/his/him

Also worth plotting up the total LAI by PFT (see the example in the ed4forte docs). The cohort-level LAI can be tricky to interpret the LAI by cohort. That said, these values do look a bit low. I'm assuming you're using the default parameters?

@ashiklom and @atkinsjeff Thanks for taking a look at notebook. Yes the NEP is fine, although in the future we are going to plot annual fluxes. As for for the low LAI that is something we have struggled understanding. Following up on @ashiklom suggestion here is the LAI by PFT

when we are using default ED parameters, the max LAI reaches to 1, are we expecting it to be larger?

That does seem a bit more reasonable, but still low. The observed present-day value is more like 4.5-5.
Below are the default parameter results from our GCB paper. It's interesting that your values are roughly 2x lower. Assuming something didn't change in the ED2 source code between the GCB version and your runs (which is very possible!), one difference between the simulations is that you included southern pines and late successional conifers. Based on that figure, they don't seem to do much, but I wonder if they kill some of the early hardwood cohorts at the very beginning of the run. Might not be a bad idea to zoom this plot in on the first year or two and see what the competitive dynamics look like.
Looking more closely at the default ed4forte ED2IN, I noticed at least two differences from the GCB runs:  ISTRUCT_GROWTH_SCHME = 1 (0 in GCB paper) and H2O_PLANT_LIM=2 (1 in GCB paper). Try changing those settings to the GCB ones (should be able to do it via the run_ed function) and running from 1900 to, say, 1930. I'm hoping those will get you around the same max LAI (~3, circa 1925) as the GCB paper (which is still too low, but at least an improvement). If so, we can add to our notes that these settings somewhat suppress productivity.

@ashiklom
So the ED2IN file I am using is https://github.com/FoRTExperiment/forte-disturbance/blob/dev_pic_setup/A.inputs/ED2IN, this ended up being the best way to run ed on pic however it looks like when I add the struct_growth_schme to the input file ED2 is unhappy :(
[dorh012@constance01 new_ed2in]$ /people/dorh012/ed-source-code/ed_2.2-opt ./ED2IN > run_log.txt
At line 28 of file ed_load_namelist.f90 (unit = 10, file = 'ED2IN')
Fortran runtime error: Cannot match namelist object name %istruct_growth_schme

As for early LAI dynamics

In your error message above, "scheme" in %istruct_growth_schme is misspelled. But, looks like the setting is in there already with the same value as the GCB paper.
From the competition plot, looks like southern pines aren't doing anything, but late-successional conifers are there and consistently have higher LAI than late broadleaf. It's possible that late conifer is preventing mid broadleaf from establishing itself, with the result that you end up with fewer cohorts overall and hence lower LAI. You can check by trying a run without late conifer (by removing it from the INCLUDE_THESE_PFT list). That said, both late conifer and mid broadleaf LAIs are small relative to early and mid broadleaf, so might not matter much.

Alrighty, here is LAI 1900 - 1950 with out any sort of pines, the LAI is still maxing out at around 1.5

Hmm, well I'm stumped 😬 My next suggestion would be to try runs with the relatively experimental modules (trait plasticity, finite crown model) disabled and see what you get. I'm hoping that the default / legacy ED2 code is somewhat more stable and will get you back to the higher LAI.
Other than that, my other suggestion would be to look at what version of ED2 you're using relative to the one used for the GCB paper. Unfortunately, from looking at the ED2 repo, looks like there have been quite a lot of changes to the code since then, with a mix of just refactoring / moving code around and actual changes to the math/science (sometimes, both in the same commit).
If these changes also modified how ED2 runs in its most default configuration (i.e., if the test I suggested above still gives you LAI that is too low), we may have to do some calibration or manual parameter tuning to get more reasonable results (wouldn't be the first time that ED2 development oriented around tropical simulations has affected its performance in other biomes). If LAI specifically is the problem but NPP seems reasonable, then the first parameter I'd look at is SLA -- note from the GCB paper that the ED2 default for all PFTs except early hardwood is lower than what our trait meta-analysis suggested. The defaults for Vcmax are also too low for all PFTs, so if the NPP is also too low, increasing that should help.

Hi all, thanks for weighing in and the advice and help Alexey and Jeff. I agree that SLA is a classic parameter to tune that affects LAI pretty directly. @kdorheim is it reasonably easy to tell me what the current ED default are for our PFTs? Thanks.

@bpbond If they haven't changed since I made ed4forte (which they very well may have!), here is the last list of all the parameters.
The actual parameter setting is slightly more complicated because they apparently now account for leaf economic relationships and such, but only for some PFTs. Here's where the SLA (and, elsewhere in that file, the other parameters) are initialized:
https://github.com/EDmodel/ED2/blob/43d3df203d64df76e13c2411c90f07bcce3bb7e5/ED/src/init/ed_params.f90#L3267-L3299

@bpbond @ashiklom @atkinsjeff
So SLA for the PFTs are
|pft_name                                |  SLA|
|:---------------------------------------|----:|
|Northern North American pines           |  6.0|
|Temperate broadleaf, mid-successional   | 24.2|
|Temperate broadleaf, late successional  | 60.0|
|Temperate broadleaf, early successional | 30.0|

Do the SLA values look like they are in the right ballpark for UMBS?
I am unable to find where Vcmax is defined in the version of ED we are working with. @ashiklom vcmax is not included in the ed4forte parameter table, do one of the following columns stand for vcmax?
Vm0 | Vm0_v0 | Vm0_v1 | Vm_low_temp | Vm_high_temp | Vm_decay_elow | Vm_decay_ehigh | vm_hor | vm_q10

Yeah, it's a bit confusing. Vcmax varies with temperature, so the actual parameter is typically Vcmax0 -- Vcmax at a reference temperature -- along with one or more temperature scaling coefficients. The key parameter here is Vm0, which is Vcmax at 15 degrees C.

Yeah, it's a bit confusing. Vcmax varies with temperature, so the actual parameter is typically Vcmax0 -- Vcmax at a reference temperature -- along with one or more temperature scaling coefficients. The key parameter here is Vm0, which is Vcmax at 15 degrees C.

Ah okay, thanks for clarifying @ashiklom, but Vcmax is a parameter that can be read in with the config.xml file correct?

Well, Vm0 is -- the Vcmax at 15C -- so that's what you should be setting. What's typically reported in trait studies is Vcmax at 25C, so if you're comparing against established trait data, you'll have apply a temperature scaling. Let me see if I can dig up the relevant code / paper(s) for you.

Ah thanks! Please wait one minute though before going down a rabbit hole, I think some more information may help with my question

Is the Vcmax reported in input-parameters.csv, Vcmax at 15C or Vcmax at 25C?

Vcmax at 25C, which is far more commonly reported in trait databases and is the more common parameter for models.

My impression was that the contents of the csv file, including Vcmax, were read into Ed via the config.xml file. Is this correct?

Yes, but there are a few additional things that happen. I borrowed a lot of the functionality for writing the ED2 XML config file directly from PEcAn, which has already solved many of these problems (albeit, not always in the most elegant way) in a way that is designed to be transferable across multiple models. So the fortebaseline code actually does some additional conversion and renaming of the data in the input trait table. Buried like 5 layers of indirection deep is the confusingly-named convert.samples.ED2 function lifted directly from the PEcAn codebase, which, among other things, applies an Arrhenius scaling to the Vcmax data to convert it to ED2's Vm0. The same scaling is applied to a few other temperature-dependent parameters (e.g., root_respiration_rate).
In that function, it also does another important conversion relevant to this discussion: It converts SLA from m2 / kg (the typical unit) to m2 / kg[C] by assuming a leaf C biomass fraction of 0.48. In practice, this means that the numerical values of ED2 SLA inputs are roughly 2x (exactly 1/0.48) the values you would normally see reported in trait databases.
Note that, in the interest of transparency and simplicity, I'm pretty sure none of these conversions are present in the ed4forte code. There, whatever names and values you provide are passed directly and uncritically to the config.xml file and from there to ED2.
Note also: Unlike the ED2IN, which will immediately throw an loud error if anything is missing or if you provide anything it's not expecting (e.g., a typo in a tag) -- the config.xml interface silently ignores anything it isn't expecting. So, if you try to set a PFT-specific trait called Vcmax in there, it will happily chug along with the default value without so much as a warning.

So I took a look at the Ed vs UMBS SLA and Vcmax see here for all the details.
In summary, both ED Vcamx and SLA are larger than the UMBS values. Looking ad temperate broadleaf early successional, which dominates the stand, ED SLA is 150% and ED Vcmax is 120% larger. Do we think that decreasing these parameter values will improve Ed LAI?
If we suspect that decreasing these two parameter values will increase LAI, I'll launch the runs.

It seems unlikely but 🤷♂
...I mean, I'd expect decreasing SLA to in turn decrease LAI, everything else being equal.

ED2 LAI is leaf biomass x SLA x plant density (number of plants per m2), so decreasing SLA should almost definitely decrease LAI.
Are you sure the units match? Note my comment above -- ED2 SLA is m2 leaf per kg leaf Carbon (because it only simulates leaf C biomass), whereas values typically reported for SLA are m2 leaf per kg leaf. Assuming a leaf C mass fraction of 0.48, that means that you need to multiply any SLA reported as per kg by 1/0.48 (roughly 2x) to get to ED2 values.

@ashiklom Ah yes good catch, I did not properly convert the SLA ED values.
Now the comparison of ED to UMBS SLA makes more sense, see notebook or below

I've added a comparison of ED default and the UMBS SLA adjusted values to the notebook the main take ways are

PFTs with higher SLAs had higher above-ground biomass

Long term NPP was similar

Temperate broadleaf LAI values decreased! :( do we think that this could be caused by competition with the pines?

That'd be my assumption, yes. There's only so much PAR, N, etc., to go around, and the pines are probably taking some of this. Greedy bastards.

Sigh so should we remove pines?

Well, so the total LAI is around 2, but it's mis-allocated compared to reality: pines haven't died. That's kind of interesting, actually–the SLA adjustment changes them from being dead to dominant?!? Wow.
Let's discuss in person?


--force not working

Q
A

Is bugfix?
✔

New feature?
❌

Breaks BC?
❌

php console rbac/cycle/init --force
This does not work. Because getOption returns null if the option has no value.
Also, this method returns string and cannot be compared with a boolean value.

Would you please add a line for https://github.com/yiisoft/rbac-cycle-db/blob/master/CHANGELOG.md? Thanks.

Tests are failing. Do you have time to fix them? Or I can help to fix them in a separate PR otherwise.

It seems the hasOption method always returns true.

I'll take a look a bit later. Thanks for reporting.

Closing in favor of #46. Again, thanks for discovering and reporting this.


Cloning matrix causes error in Entry

After Cloned matrix has been added to a section this Error pops up when trying to edit entry:
Internal server error

CDbCommand could not execute the SQL statement : SQLSTATE [ 42S22 ] : Column not found : 1054 Unknown column ' content.field_headingBlock_heading ' in ' field list'

The new matrix field needs to be saved manually again for it to work correctly again.

This is now fixed in version 1.5.0.


rpc: return transfers for migrated contracts

Transfers for migrated contracts are still saved in the transfer log, but we have no way to get decimals.
We can either save decimals info elsewhere or detect if contract was migrated.
This PR implements second solution as it is simpler and backwards compatible.
Fix #1215 . However, I still need to restore mainnet to 6m block to be really sure :)

This contract hash map is something that I've specifically tried to avoid with #1144 fix. And this approach is a bit more dangerous here, because the contract might be deleted, not migrated. How are we going to answer these calls for deleted contracts?

@roman-khimov transfers for destroyed contracts won't be displayed.
I was thinking about other ways to fix:

Saving strings in transfer log. This requires querying decimals in storeBlock which is quite a big overhead imo. But it will work for destroyed contracts.
Saving "real hash" in transfer log and updating it upon migration.

How about maintaining a map of contract hashes to NEP5 metadata (we may start with saving only decimals)? We can fill it when migrating or destroying a contract.

Tested on maiinnet, works as expected.


Show marked tiles & label on Worldmap as well

Is your feature request related to a problem? Please describe.
Showing marked tiles on the minimap is nice and all but the core feature in itself is obviously half baked.
Map Waypoint is gone from the Plugin Hub from what i've seen and a dead PR for something similar solution hasn't moved in 3 years.
I need a way to mark a location for my farm runs as i don't always remember where all the patches are and i also change route depending on the run i'm doing (Herb / jute Run OR Complete farming run)
Describe the solution you'd like

We need a toggle to show marked tiles on the Worldmap,
We need a toggle to display or not a tile label.

Showing marked tiles on the world map would not solve your problem. If you struggle to remember where each farming patch is, the world map already has an icon at each of them; putting a marker there would not bypass having to look around the map for said patch in the first place. Allowing the text on those tiles would also not change anything, as the text would either be too small to notice, or overpower anything around it and be annoying to the vast majority of users.
We already have a feature to help with remembering your farm run: the Notes plugin. Write whatever you want in there, then bring it up if you need to remember how you tend to get to specific places. If your notes are already in use for something else, use an external note-taking app (every operating system has one built in).
As for marked tiles on the minimap being "half-baked", they're really not if you look at why the plugin exists. The plugin allows you to remember very specific locations, either for clicking or standing purposes. I have markers to help me remember exact tiles to stand in the Hydra fight; many players benefit from marking where to click in the Inferno and both Raids, as position matters a lot in those places; and for a non bossfight application, I have markers around the Xeric's Glade teleport spot so I can easily remember which direction each Mahogany Homes customer is, taking advantage of putting text on the markers. All of these uses are relating to clicking specific areas, and having them on the minimap is an extension of that, as you can click the minimap. This allows the player to more precisely position themselves without having to click in the scene. As you cannot path the world map, having the markers there for specific spots does not help like it does in the scene or on the minimap.
Maybe all this would be fine, except for the small issue of the world map being so incredibly weird to work with. The overworld map is fine, but every other map does not map as expected, with specific chunks and areas being moved around weirdly, and often planes being displayed side by side. As such, getting markers to display on the world map is not only something with very low impact, it has a very high "cost", along with likely requiring internal changes to get it to work in a way that can't be considered "half-baked".
The only feature I can think of that can only be solved with world map markers would be for pixel art, which is a pretty meh reason (as cool as it would be). If there are any other uses that can only be solved with world map markers, then it would be interesting to hear them. Alternatively, if another useful feature would want to accurately display worldpoints on the world map, it might make something like this easier to implement; I still think it would not be a worthwhile feature as outlined above, but it's always interesting to see how users use things in weird ways.
You may also be interested in the Shortest Path hub plugin, it might do something similar to the now defunct Map Waypoints

it would help me in showing routes using another plugin of my own conception

Since Connection to a Runelite account in the client in bugged right now, Note aren't synced between machine + you obviously cannot visualize text on a map instantly.

that's one use, but i'm not complaining about that, you have tiles marked on the minimap but not the world map, at least complete the core feature.

It doesn't cost as much as you make it to be, i know that for sure from looking into it.

see first point.

Shortest path probably doesn't take into account teleports of different nature + nothing would allow me to change the destination when the last one is reached, unless i modify it myself.

With that said, what i understood is that nobody want to put the time in fixing the issues plaguing the client and making it flexible.
As for the feature i requested, i guess i'll do it myself.
Bye.


Bump dpdk to 23.07

Merge Checklist

All boxes should be checked before merging the PR (just tick any boxes which don't apply to this PR)

[x] The toolchain has been rebuilt successfully (or no changes were made to it)
[x] The toolchain/worker package manifests are up-to-date
[x] Any updated packages successfully build (or no packages were changed)
[x] Packages depending on static components modified in this PR (Golang, *-static subpackages, etc.) have had their Release tag incremented.
[x] Package tests (%check section) have been verified with RUN_CHECK=y for existing SPEC files, or added to new SPEC files
[x] All package sources are available
[x] cgmanifest files are up-to-date and sorted (./cgmanifest.json, ./toolkit/scripts/toolchain/cgmanifest.json, .github/workflows/cgmanifest.json)
[x] LICENSE-MAP files are up-to-date (./SPECS/LICENSES-AND-NOTICES/data/licenses.json, ./SPECS/LICENSES-AND-NOTICES/LICENSES-MAP.md, ./SPECS/LICENSES-AND-NOTICES/LICENSE-EXCEPTIONS.PHOTON)
[x] All source files have up-to-date hashes in the *.signatures.json files
[x] sudo make go-tidy-all and sudo make go-test-coverage pass
[x] Documentation has been updated to match any changes to the build system
[ ] Ready to merge

Summary

What does the PR accomplish, why was it needed?
Change Log

Bump dpdk to 23.07

Does this affect the toolchain?

NO
Associated issues

Links to CVEs
Test Methodology

Pipeline build id: Validating

There looks to be a 23.11 release of dpdk. Is there a reason we're not directly upgrading to that?

I think I missed that. Will update to 23.11 instead


Implementaion for Foxy

Hello team, I've tried ros2 executors in my code & are working fine but would like to implement irobots-event-executor in my code is it be possible to implement in foxy. If yes, what approach should I take. Thanks

No, it's not possible.
The events executor relies on features that are available only since ROS 2 humble.


[WIP] Setup Gixy CI

WIP because this is blocked by #10

closing; see #13 for new PR (renamed branch)


Unwrap lines

There are two commits here, that should be considered separately.
In the first one, I replaced all breaks after “(”, “[”, and “,” and before “)” and “]” with spaces and ran the swift-format again.
In the second commit, I turned off the respectsExistingLineBreaks option in the swift-format and let it determine all line breaks.
I don't love all of the results (particularly in long parameter—but not argument—lists), but I believe in some cases it's significantly more readable.  WDYT?
See also #145

SGTM, I'll close this.


properties fragment query instead of properties query

The Search API and cts:search() take a properties fragment query, but the Node.js API is passing a properties query.

The qb.properties() test in test-complete/nodejs-documents-query-2.js should change to qb.propertiesFragment()

Verified and the qb.properties() test in test-complete/nodejs-documents-query-2.js is changed to qb.propertiesFragment()


Allow empty lines anywhere in MatrixMarket file

Pass the "free format" NIST example in https://math.nist.gov/MatrixMarket/reports/MMformat.ps
fixes https://github.com/alugowski/fast_matrix_market/issues/10

Codecov Report
Patch coverage: 96.70% and project coverage change: -0.12 :warning:

Comparison is base (2abbec1) 96.62% compared to head (71ec38d) 96.50%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #16      +/-   ##
==========================================
- Coverage   96.62%   96.50%   -0.12%
==========================================
  Files          18       18
  Lines        1332     1373      +41
  Branches      151      158       +7
==========================================
+ Hits         1287     1325      +38
- Misses         45       48       +3

Impacted Files
Coverage Δ

include/fast_matrix_market/header.hpp
95.65% <90.00%> (-0.58%)
:arrow_down:

include/fast_matrix_market/read_body.hpp
97.79% <95.45%> (-1.05%)
:arrow_down:

include/fast_matrix_market/chunking.hpp
97.50% <100.00%> (+1.07%)
:arrow_up:

include/fast_matrix_market/field_conv.hpp
98.13% <100.00%> (+0.06%)
:arrow_up:

include/fast_matrix_market/read_body_threads.hpp
100.00% <100.00%> (ø)

... and 1 file with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Duplicate decorations being rendered

Custom setting:
{
  "jumpy.primaryCharset": "abcdefghigklmnopqrstuvwxyz"
}

Command: extension.jumpy-enter-end-of-word
Screenshot:

sample.txt

Mentioned above commit fixes this issue.

Seems like it hasn't been fixed completely.
When using setting:
{
  "jumpy.primaryCharset": "abcdefghigklmnopqrstuvwxyz"
}

sample.txt

Is it reproducible 100% of the times?
I just added this code in this place https://github.com/krnik/vscode-jumpy/blob/9c8c5e007f0defe03bd470669f820a13743f2606/src/jumpy/mod.ts#L237 :
const els = this.settings.codes.length;
const size = new Set(this.settings.codes).size;
console.log({ els, size });

And it is logging out the same values. Could you confirm whether those values are different for you when this issue occurs?

Yes, 100% reproducible with "jumpy.primaryCharset": "1234567890":

The values being logged are {els: 1036, size: 1036} when this issue occurrs.

Thanks, I'll try to debug it from here. It seems it's either an issue with showDecorations method or in Settings instance when building decorations.

@krnik It's really weird, I checked the decorations being produced everywhere, the length is always 1036, even without this commit.
https://github.com/krnik/vscode-jumpy/blob/b05270eb96e9a8bfbfabf22fc0f85cec76c3718e/src/jumpy/settings.ts#L198
console.log(value) here still logs 1036 rows of data.
Tried with/without editor wrap, useIcons: true/false, the output is always correct, but rendering is wrong.

Interestingly, if I swap the primaryChars and secondaryChars here:
https://github.com/krnik/vscode-jumpy/blob/b05270eb96e9a8bfbfabf22fc0f85cec76c3718e/src/jumpy/char_code.ts#L62
The problem is gone.

How do you detect the duplicates? 😅

@krnik Just by reading 🤦♂.

Right now the only idea I have is to add xml:lang attribute to rendered svg icons.
diff --git a/src/jumpy/settings.ts b/src/jumpy/settings.ts
index a3c544a..37b9513 100644
--- a/src/jumpy/settings.ts
+++ b/src/jumpy/settings.ts
@@ -224,8 +224,8 @@ export class Settings implements ExtensionComponent {
         const halfOfPad = pad >> 1;

         return [
-            `image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${width} ${height}" height="${height}" width="${width}"><rect width="${width}" height="${height}" rx="2" ry="2" fill="${backgroundColor}"></rect><text font-family="${fontFamily}" font-size="${fontSize}px" textLength="${width -
-                pad}" fill="${color}" x="${halfOfPad}" y="${fontSize * 0.8}">`,
+            `image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${width} ${height}" height="${height}" width="${width}"><rect width="${width}" height="${height}" rx="2" ry="2" fill="${backgroundColor}"></rect><text xml:lang="en" font-family="${fontFamily}" font-size="${fontSize}px" textLength="${width -
+            pad}" fill="${color}" x="${halfOfPad}" y="${fontSize * 0.8}">`,
             `</text></svg>`,
         ];
     }

@krnik I'm curious, why would be that be useful?

It's just a guess, I'm basically out of ideas at the moment.
Other than that the only thing to do is to read the implementation of editor.setDecorations method. Maybe that's the problem.


enh: aggressive DE strategies

Hi,
Is it possible to add some aggressive strategies to DE like "current-to-best/1/bin"?
http://www.dii.unipd.it/~alotto/didattica/corsi/Elettrotecnica computazionale/DE.pdf
BR, Pavel

Sure, patch welcome ;)

After more thorough code examination, and after discussions in #4864 , it seems that implemented DE algorithm in scipy is already aggressive. So, this information must be added to documentation.
So, actually I want to do exactly the opposite right now) - implement possibility for non aggressive mutation strategy, which is more suitable for parallelization. The works on that are under discussion in #4864.

After more thorough code examination, and after discussions in #4864 , it seems that implemented DE algorithm in scipy is already aggressive

I'll close this issue then.

information about aggressiveness of the mutation strategy must be added to the documentation of the module.

@pavelponomarev do you want to make a PR to add this clarification?  What about just mentioning in the docstring that the default strategy best1bin is relatively aggressive and uses overlapping generations (if this is true)?

@argriffing let's wait results of the discussion in #4864


typo in categories list

this is a list of categories and not articles ;)

Coverage decreased (-0.35%) to 95.93% when pulling 7ab20f0ef74ce2a5bffa37c8d0329db4ac0fb215 on jedie:typo into 9f7584c161c3393914308379f02ae2da7b033c28 on nephila:develop.

Oops! Nicely spot!

found other places:


Fix elasticsearch travis issue

Originally created by Tom Smyth at 2018-08-20 09:19, migrated from redmine-#8775

Status changed from New to Closed

By Tom Smyth at 2018-08-22 13:17

Tracker changed from Testing to Feature

By Tom Smyth at 2019-06-07 03:16


add HOMEBREW_NO_COLOR for Azure Pipeline

Hi there!
This PR adds ENV["HOMEBREW_NO_COLOR"] = "1" for Azure Pipeline.
Without it, the color output is broken by < & > as explained here: https://github.com/Microsoft/azure-pipelines-agent/issues/1569#issuecomment-447497620
Live preview

Detailed output view

Might be better to turn it off while waiting for a fix from Azure.
Best,
-- Ladislas

The difference can be seen live here in the "Run brew test-bot" task:

old build with colored output: https://dev.azure.com/Homebrew/Homebrew/_build/results?buildId=7983
new build without colored output: https://dev.azure.com/Homebrew/Homebrew/_build/results?buildId=8125

Nice catch on this. It's been annoying me for a while and had no idea to fix it. Thanks!

Thanks, Ladislas! It had been annoying me too.

My pleasure! :)


Add a pipeline manager

We should consider adding some sort of a "master component" which would manage the pipeline.
A few examples for how it could benefit us:

it would give us the ability to shut down the whole pipeline at once in the case of an error
it could manage the zerorpc communication in a more organized way
it allows us to plug in/unplug certain components during runtime

The way we are going to manage the pipeline:
One class called PipelineManager that contains Components.
Each Component will contain:

Routines
Queues - The way the routines communicate with each other

we decided to do this like this because:

It makes the pipeline more dynamic at runtime
It makes it easier to maintain for the long term (survivability)
It makes it easier to add more routines without changing existing code(Open/Close principle, decoupling)

side notes:

We will add a routines folder to contain all of the routines. each routine will have a separate file.
We won't have any more premade components like (vid_capture, pose_estimation, face_detection...) except for unique ones like flask_display.

Questions / suggestions for improving are welcome :)


cp -r doesn't match linux when destination doesn't exist

In linux, new_dir and existing_dir are now copies (new_dir didn't exist before):
$ mkdir existing_dir
$ touch existing_dir/foo
$ cp -rf existing_dir new_dir

With shelljs, new_dir/existing_dir and existing_dir are copies.  I would expect the linux behavior.
cp('-rf', 'existing_dir', 'new_dir')

This should be fixed by #271. Would anyone here be able to confirm that this PR fixes it? As far as I can tell, it seems to be good.


Rework cmds in /tetra/cmd/tracingpolicy to return non-0 exit code on failure

See more details here https://github.com/cilium/tetragon/pull/1253#discussion_r1270394851.

Can I work on this please

sure

@clemenkok  hi!
If you are not working on this issue, I would like to work on it :)

Yes please go ahead


Issue with tile rendering.

This bug is related to the bug with collision system, the same here, when i am accelerated to insane speeds, Example: There is a block tile above me and i spam the w key, the tile start to jitter and small white lines appear between the tiles, and it happen for all the tiles, even though i am not even touching them

its actually related to the character controller, since you effectively break the current version of the engine with that.
If the character controller is fixed or removed, it should be fine.

We are planning on removing the current character controller soon.


Rectangle.setRect corner curvature behavior

It took me by surprise that I had written setRect() such that the following:
rectangle.setRect( x, y, width, height); // direct
rectangle.setRectBounds( bounds ); // with bounds

reset the corner radii to 0, since the optional parameters cornerXRadius and cornerYRadius default to 0, and the user would have to re-specify the radii:
rectangle.setRect( x, y, width, height, xRadius, yRadius );

and it's not possible with setRectBounds.
Is anyone relying on this behavior of setRect (where the corner radii aren't specified leading to them being reset to 0)?
I'd like to change it so that if the corner radii are not specified, they will not be overridden.

I am not relying on this odd behavior of setRectBounds to overwrite the corner curvature, and recommend fixing this so it would not override the corner curvatures.  I only see 10 usages of setRectBounds, so it should be easy to check them all after making this fix.

I don't believe that I've written any code that relies on setRect to reset the corner radii to zero. But there are several sims (balancing-chemical-equations, graphing-lines, hookes-law, protein-synthesis) and common code (sun.Panel) that look like they are compensating for this quirk by providing xRadius and yRadius args to setRect.

@jonathanolson will change the behavior so that the corner radii are not overridden.

Changes applied.


Update for Exact Bytecode

(see also #13)
As discussed in the previous issue, the generated Dafny proof object does not use an exact match of the original bytecode.  That's because earlier versions of EvmIL automatically optimised push2 0x00af to push1 0xaf.  Since EvmIL can now produce an exact match, it would make sense to update this contract accordingly.  This just requires updating the various blocks to have the right addresses, and also the corresponding jump targets, etc.

running evmil disassemble over the binary code below, I got an unfinished output.
question: is there a way to output the exact push [PUSH1, PUSH2] ?
~/code/EvmIL/target/debug main ❯ ./evmil disassemble ./t1                                                                                19:21:36
.code
        push 0x80
        push 0x40
        mstore
        callvalue
        dup1
        iszero
        pushl(true, "lab0")
        jumpi
        push 0x00
        dup1
        revert
label("lab0")
        jumpdest
        pop
        push 0x01e7
        dup1
        push 0x0020
        push 0x00
        codecopy
        push 0x00
        return
.data
        0xfe6080....

Here is the binary:
608060405234801561001057600080fd5b506101e7806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806306661abd14610051578063371303c01461006f5780636d4ce63c14610079578063b3bcfa8214610097575b600080fd5b6100596100a1565b60405161006691906100ff565b60405180910390f35b6100776100a7565b005b6100816100c2565b60405161008e91906100ff565b60405180910390f35b61009f6100cb565b005b60005481565b60016000808282546100b99190610149565b92505081905550565b60008054905090565b60016000808282546100dd919061017d565b92505081905550565b6000819050919050565b6100f9816100e6565b82525050565b600060208201905061011460008301846100f0565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610154826100e6565b915061015f836100e6565b92508282019050808211156101775761017661011a565b5b92915050565b6000610188826100e6565b9150610193836100e6565b92508282039050818111156101ab576101aa61011a565b5b9291505056fea2646970667358221220b844aa9bed6bbbcd7500cc796e17f4b579c19090f67ac00164ec3767a16c029164736f6c63430008120033

Here the sol:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.3;

contract Counter {
    uint public count;

    // Function to get the current count
    function get() public view returns (uint) {
        return count;
    }

    // Function to increment count by 1
    function inc() public {
        count += 1;
    }

    // Function to decrement count by 1
    function dec() public {
        count -= 1;
    }
}```

running evmil disassemble over the binary code below, I got an unfinished output.
question: is there a way to output the exact push [PUSH1, PUSH2] ?
~/code/EvmIL/target/debug main ❯ ./evmil disassemble ./t1                                                                                19:21:36
.code
        push 0x80
        push 0x40
        mstore
        callvalue
        dup1
        iszero
        pushl(true, "lab0")
        jumpi
        push 0x00
        dup1
        revert
label("lab0")
        jumpdest
        pop
        push 0x01e7
        dup1
        push 0x0020
        push 0x00
        codecopy
        push 0x00
        return
.data
        0xfe6080....

Here is the binary:
608060405234801561001057600080fd5b506101e7806100206000396000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c806306661abd14610051578063371303c01461006f5780636d4ce63c14610079578063b3bcfa8214610097575b600080fd5b6100596100a1565b60405161006691906100ff565b60405180910390f35b6100776100a7565b005b6100816100c2565b60405161008e91906100ff565b60405180910390f35b61009f6100cb565b005b60005481565b60016000808282546100b99190610149565b92505081905550565b60008054905090565b60016000808282546100dd919061017d565b92505081905550565b6000819050919050565b6100f9816100e6565b82525050565b600060208201905061011460008301846100f0565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610154826100e6565b915061015f836100e6565b92508282019050808211156101775761017661011a565b5b92915050565b6000610188826100e6565b9150610193836100e6565b92508282039050818111156101ab576101aa61011a565b5b9291505056fea2646970667358221220b844aa9bed6bbbcd7500cc796e17f4b579c19090f67ac00164ec3767a16c029164736f6c63430008120033

Here the sol:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.3;

contract Counter {
    uint public count;

    // Function to get the current count
    function get() public view returns (uint) {
        return count;
    }

    // Function to increment count by 1
    function inc() public {
        count += 1;
    }

    // Function to decrement count by 1
    function dec() public {
        count -= 1;
    }
}```

Hey Henry,
        pushl(true, "lab0")
        ...
label("lab0")

Interesting, that output definitely shouldn't look like that!

I got an unfinished output.

Hmmm, it doesn't look unfinished to me (aside from the broken output above).  I'm guessing you compiled the original contract with solc --bin file.sol?  What you have here are two contracts.  The first is the deployment contract, whilst the second is the actual contract.  The deployment contract is the first portion of the original code:
608060405234801561001057600080fd5b506101e7806100206000396000f3

My tool considers the rest of the contract to be data (which actually is what it is).  Does that make sense?

@DavePearce I think this tool advanced in the same direction https://github.com/franck44/evm-dis

@henry-hz Keep in mind that the author of that tool is one of the authors of the DafnyEVM!  Also, he is using the DafnyEVM :)


Using own certificates in RPM install

I have certificates/keys I want to use for my Portus RPM installation. I run portusctl setup and it generates its own keys, printing this message:
Generating private key and certificate"
************************************************************************
If you want to use your own private key and certificates, upload them to
 * /etc/apache2/ssl.key/portus.example.com-ca.key"
 * /etc/apache2/ssl.crt/portus.example.com-ca.crt"
 * /etc/apache2/ssl.crt/portus.example.com-ca.crt"
and then re-run this script"
************************************************************************

Issues:

The  formatting is off; there are trailing quotes on almost every line above.
The .crt line is duplicated.
I'm assuming -ca.crt / -ca.key are for the auto-generated self-signed CA, and -server.crt / -server.key is for the actual HTTPS certificate.  That's fine, but why would I upload a certificate/key for my HTTPS server, and call it -ca? This is confusing from a UX perspective.

I can't find the procedure for installing my own keys anywhere in the documentation.
Also, in my test setup (which I'm trying to migrate to production) I have the following symlink:
/srv/Portus/config/server.key -> /etc/apache2/ssl.key/portus.example.com-ca.key

I can't remember why I created this. Is /srv/Portus/config/server.key necessary?  Edit: I see that config/secrets.yml references this file for encryption_private_key_path:

I've got this working using the following setup:
After running the initial portusctl setup, edit /etc/apache2/vhosts.d/portus.conf to get rid of -ca, and point the key at its normal place:
   SSLCertificateFile /etc/apache2/ssl.crt/portus.example.com.crt
   SSLCertificateKeyFile /etc/apache2/ssl.key/portus.example.com.key

Then fix the /srv/Portus/config/server.key symlink to point to /etc/apache2/ssl.key/portus.example.com.key
It would be a UX improvement to allow this to happen automatically when running portusctl setup.

Wow, thanks @JonathonReinhart a lot for your comments. I agree 100% with what you said.

Other confusing messages are:

first line after I run portusctl setup: "ssl" already present - because I was setup a docker implementation using self-signed certificates I was thinking Portus detected my self-signed certificates !
some very confusing indications about the registry configuration file when portusctl was finished: what is the meaning of the following names?

.crt
.key

portus.crt: I did not find any file with this name on the Portus host. Should we keep this name in the configuration file and rename the Portus host certificate file?

Closing in favor of #1464.


Issue in Scrollview

While trying to framing the textfield inside scrollview, suggestion wrapper not framing properly.
Outside the scrollview fine, but handling textfield inside scroll getting issue

hi @ManojReddyIGP thanks for reporting this issue. We will open a ticket to fix this issue. We will keep you posted once it is done. Thanks

Hello, can you please elaborate the exact issue you are seeing so we can reproduce it.  We placed the W3WAutoSuggestTextField into a UIScrollView and could not replicate any issues.

I am Placing W3WAutoSuggestTextField using storyboard in scrollview, that too am placing that textfield in bottom of screen
When we are placing the textfield top of the screen it was working fine, but in bottom of screen not
When using this in scrollview, wrapper is not scrolling with textfield as well.

I believe I've replicated the issue.  It looks like under very specific conditions, the suggestions dropdown is placing itself in the coordinate space of the parent of the parent's view, and not it's immediate parent view. Will update when we have a fix.

I believe we have a fix. It now needs to go through some rigorous QA before release.  It is currently in the staging branch if you would like to let us know if we managed to sort your issue. Otherwise, we’ll update again when we publish it.

Sorry for the delay. The v3.0.0 update should correct this issue.  Reopen this issue if it persists.


feat: add new example: cqrs

this is an example of : CQRS pattern (Command and Query Responsibility Segregation ) .

What you submit is not a code file, but a git submodule

errr,my fault.


Why redis vectorstore filter parameter make syntax error

Checked other resources

[X] I added a very descriptive title to this issue.
[X] I searched the LangChain documentation with the integrated search.
[X] I used the GitHub search to find a similar question and didn't find it.
[X] I am sure that this is a bug in LangChain rather than my code.
[X] The bug is not resolved by updating to the latest stable version of LangChain (or the specific integration package).

Example Code
from common_base.llm_base import embedding_model
redis_url = "redis://:mypassword@<IP_ADDRESS>:6379"
from langchain_community.vectorstores.redis import Redis

from langchain_community.vectorstores.redis.filters import RedisFilter

rds: Redis = Redis.from_existing_index(
    embedding_model,
    redis_url=redis_url,
    index_name="teacher_report",
    schema="teacher_report/teacher_report.yaml",
)
email_filter = RedisFilter.text('teacher_email') ==<EMAIL_ADDRESS>asdf = rds.similarity_search(query='asdf',k=3, filter=email_filter)
print(asdf)

text:
- name: teacher_email
  no_index: false
  no_stem: false
  sortable: false
  weight: 1
  withsuffixtrie: false
- name: clinic_title
  no_index: false
  no_stem: false
  sortable: false
  weight: 1
  withsuffixtrie: false
- name: content
  no_index: false
  no_stem: false
  sortable: false
  weight: 1
  withsuffixtrie: false
vector:
- algorithm: FLAT
  block_size: 1000
  datatype: FLOAT32
  dims: 1536
  distance_metric: COSINE
  initial_cap: 20000
  name: content_vector

Error Message and Stack Trace (if applicable)
Traceback (most recent call last):
  File "/opt/homebrew/lib/python3.11/site-packages/langchain_community/vectorstores/redis/base.py", line 946, in similarity_search_by_vector
    results = self.client.ft(self.index_name).search(redis_query, params_dict)  # type: ignore  # noqa: E501
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/redis/commands/search/commands.py", line 501, in search
    res = self.execute_command(SEARCH_CMD, *args)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/redis/client.py", line 543, in execute_command
    return conn.retry.call_with_retry(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/redis/retry.py", line 46, in call_with_retry
    return do()
           ^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/redis/client.py", line 544, in <lambda>
    lambda: self._send_command_parse_response(
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/redis/client.py", line 520, in _send_command_parse_response
    return self.parse_response(conn, command_name, **options)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/redis/client.py", line 560, in parse_response
    response = connection.read_response()
               ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/redis/connection.py", line 536, in read_response
    raise response
redis.exceptions.ResponseError: Syntax error at offset 22 near path

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/Users/jimmykim/workspace/deus-path-machina/test2.py", line 15, in <module>
    asdf = rds.similarity_search(query='asdf',k=3, fetch_k=10, filter=email_filter)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/langchain_community/vectorstores/redis/base.py", line 882, in similarity_search
    return self.similarity_search_by_vector(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/homebrew/lib/python3.11/site-packages/langchain_community/vectorstores/redis/base.py", line 950, in similarity_search_by_vector
    raise ValueError(
ValueError: Query failed with syntax error. This is likely due to malformation of filter, vector, or query argument

Description
I have written a simple sample code to filter and search data using Redis VectorStore. Despite creating a filter with RedisFilterExpression and passing it as a parameter as described in the documentation, I encounter a syntax error. When I do not pass the filter, the search works correctly across all vector data. I suspect this might be a bug, what do you think?
System Info
langchain==0.1.12
langchain-community==0.0.28
langchain-core==0.1.32
langchain-experimental==0.0.45
langchain-openai==0.0.8
langchain-text-splitters==0.0.1
MAC OS M1
Python 3.11.8

I think when filter data include "@", make syntax error


Release Day

What day will this toolset be released?

I guess I get the soldering iron out to put openbeken on the device which will arrive today, and light my kitchen tomorrow....  I suppose I can always test on my test device by returning it to the factory firmware. - and maybe test on the device which is arriving as it's not TOO difficult to extract after installation.
I take it you will want reports of success to add to the list?
Looking forward to the details next week!
br,
Simon

Looking forward to Tuesday with half the digiblurDIY Army in tow..

Will the release include a dumper? Keep getting a CRC error trying to dump an N chip

@tfrew-r7 have you tried https://github.com/khalednassar/bk7231tools ? There's a flag for this exact issue described in the README.

Thanks, I will dump with that tool later today, should I email you the files?

@tjclement - device is the one in this post: https://www.elektroda.com/rtvforum/viewtopic.php?p=19932845#19932845 full dump (less bootloader) is attached to the post. My other one (my true dev device) is a uk Calex LED strip, will use this to test the 'methods' of extracting the required :).
@digiblur - completely off topic - you have Tuya devices with Tasmota? - i'll need some help with Tuya testing... post an isuse at https://github.com/btsimonh/Tasmota/tree/Tuya if you feel you could help.

Sent you a message on that proejct branch.

ref bk firmware dumping, note also my fork of the beken python stuff...  also does SPI from RPi if you stuff the bootloader...
https://github.com/btsimonh/hid_download_py

tomorrow !!!

tomorrow !!!

now!

Nice work!
I'm going to assume that Tuya are looking at this thread....
To Tuya:
For those of us who love the hardware cost, but hate the cloud requirement (and have a strong distrust of commercial closed source networkable firmware), it would be great if Tuya took this into account in their devices -
I see two ways;
1/ enable local control by default, allowing people to block outgoing traffic, or run in an isolated LAN.
2/ enable local flashing with OSS firmware.  It may never be as featured as the Tuya ecosystem,  but that's our loss.
Let's face it, if these were Russian originated, we would have been told to turn off all of our lights in the last few weeks...


pool and reuse vector of cv::Point

This is intensive optimization for speed and discarding readability.

pool and reuse vector of cv::Point
keep local buffer allocated
don't allocate tmp images

 transform FPS
	 edge detection time [s]

 original
	 0.414
	 1.71s

 reuse EDPF
	 0.424
	 1.28s

 vector pool
	 0.821
	 1.13s

 reuse more buffers
	 0.814
	 0.43s

IDK why the last one does not improve its fps.
Next action will be using GPU in cv::filter2D

I'm dogfooding this on s2cd.


Visible property for vgtFilterRow

Issue Type (delete the irrelevant ones)

[x] Enhancement Request

Specs
VGT: 2.12.2
Expected Behavior
Using the filter by columns, I would like to be able to hide the filter row easily (vgtFilterRow). Would it be possible to add a visible property to it or at least add a css class to
<tr data-v-2949d74f="" data-v-0c8b4370="">...</tr>?
Thank you
S.

@sylvaincaillot @xaksis
I figured out a simpler solution for this issue.  @xaksis your solution worked, but after using your toggle function, my columns no longer filtered correctly. Specifically, the datepickers would no longer show up, and the column filters' placeholders had been mutated.
This may all be because of my own custom setup, but regardless, it rendered the toggle function in your fiddle unusable for me.  Still chasing a working "toggle filters" button, I decided to track down the exact row that the column filters were using, and just used some vanilla js DOM selection in a short function to toggle display: none on it:
            toggleFilterRowClass() {
                let filterRow = document.querySelector('.vgt-table thead tr:nth-child(2)')
                filterRow.classList.toggle("toggleFilterClass")
            }

    .toggleFilterClass {
        display: none !important;
    }

This now works perfectly. Column filters disappear, and upon toggling to reappear, function perfectly. Better, the overhead is much smaller, and less code. I'm not sure if this will work for everyone - I thought intitially the nth child selector may vary from table to table, but now that I think about it, wouldn't it be the same row for everyone?
Anyway, hope this helps someone.

@sylvaincaillot thank you for helping the community by posting a solution that worked! the difference between my solution and yours is that I'm using vue's v-if to render/unrender the row. So it probably destroys any third party association you make with the filters. doing it with css is clever!