Fundamental design goals for V1

Fundamental Design Goals
This document serves to outline the overall design goals of the project. Please see below a list of these fundamentals.
Do not allow anything Discord does not permit
Prevent any and all attempts of making user bots. If someone connects and the client.user is not a bot user then throw an error immediately.
Do not support non-bot features like Group DMs or dm calls etc...
Prettier Philosophy Regarding Options
Avoid options/customizable whenever possible. Always enforce default values. Except in cases like intents where the user should be able to pick which intents to listen for.
Security
Permission checks should be done by the library! We can throw a custom error that shows which permissions are missing in order to run this request and save an API call. This will also prevent bots from getting banned due to Missing Access errors.
Typescript 3.8 provides TRUE private props and methods that no one can access. We will use this to our advantage to truly make a proper API. This isn't a silly _ to mark it as a private but the user should NEVER be able to access it no matter what.
Functional API
Events emitted by the client, for example the message creation event, should not emit a Message class instance, but instead a POJO (Plain Ol' JavaScript Object). This will overall make a cleaner and more performant API, while removing the headaches of extending built-in classes, and inheritance.
Use functions when possible instead of an event emitter to prevent emitter related memory leak issues or a number of other headaches that arise.
TLDR: Avoid classes whenever possible. Avoid loops whenever possible(opt for iterations like .forEach, map reduce, some find etc...)
Documentation
Use /** Description here */ comments above all properties and methods to describe it so that VSC and other good IDE's with intellisense can pick it up and provide the documentation right inside the IDE preventing a developer from needing Discord API docs or even Deno documentation.
We should have a step by step guide nonetheless but this is a POST v1 launch.
We should have a template repo to creating a boilerplate bot.
Backwards Compatibility BS
Backwards compatibility is the death of code. It causes clutter and uglyness to pile up and makes developers lazier. There will be no such thing as backwards compatibility reasons in Discordeno. We will always support the latest and greatest of JS. The end! Users can fork the lib at any commit to keep older versions until they are ready to update.
That said, we don't expect many things to be changing drastically after v1. As you can imagine Typescript allows the latest and greatest of JS so we will be ahead of the curve for years to come.
Style Guide
Prettier is our style guide. No discussions around styling ever. The options are set and that is all. When you code let prettier handle the styling. PERIOD!
Case Styles
Always use user_id casing instead of userId or UserID or userID. _ for all! 🎉
Feel free to append goals as you see fit.

Check the Contributing.md file

Closing this as we are finalizing the v1 setup and this stuff is in the contributing file


Shadows may have bug.

 You can run the example, and then turning off HDR will produce an error. The browser can output error messages. Remember to close LogDepth for testing.

@ZhengQixv I believe this is a duplicate of https://github.com/CesiumGS/cesium/issues/8372


Feature: Arm architecture

Hi,
I love the docker, thanks for providing it!
I see that the dev of this (jc21) as an arm version of the docker. Would you be able to provide that as well?
I like the all-in-one-approach from your docker better than his :)
Thanks!
PS: Someone requested the inclusion of nginxproxymanager in this:
https://github.com/GhostWriters/DockSTARTer
so I added yours instead of jc21s. That's why I'm asking about arm :)

Ohh many i would love armfh support :)

Ah, OK. This seems to be the problem I run into. +1 for an arm version :-)
I always get the following message when trying do docker-compose up on a Raspberry 2.
standard_init_linux.go:211: exec user process caused "exec format error"
Any news on that topic?

Would also like to see this supporting ODROID HC2

Just wondering where this is up to please? I prefer your PUID and PGID implementation over jc21's. Is it possible to run this on a raspberry pi with arm/v7?

To support arm, I also need to have compatible baseimages... This will eventually come :)

Just wondering where this is up to please? I prefer your PUID and PGID implementation over jc21's. Is it possible to run this on a raspberry pi with arm/v7 yet?
Thanks!

+1

+1000

The latest image is now multi-arch.


[statistics: draw_graph] modify font size

one_way_anova.py (calculation)
one_way_anova_draw_table.py
two_way_anova.py (calculation)
two_way_anova_draw_table.py
draw_graph.py (for t-test)


Erroneous lone escape character '' leads to a crash

when using rshell i typed ls /sd when i pressed enter i accidentally also pressed \ resulting in command ls /sd\ this produced the following output traceback.
Traceback (most recent call last):
  File "/usr/local/bin/rshell", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.5/dist-packages/rshell/command_line.py", line 4, in main
    rshell.main.main()
  File "/usr/local/lib/python3.5/dist-packages/rshell/main.py", line 2843, in main
    real_main()
  File "/usr/local/lib/python3.5/dist-packages/rshell/main.py", line 2826, in real_main
    shell.cmdloop(cmd_line)
  File "/usr/local/lib/python3.5/dist-packages/rshell/main.py", line 1692, in cmdloop
    cmd.Cmd.cmdloop(self)
  File "/usr/lib/python3.5/cmd.py", line 138, in cmdloop
    stop = self.onecmd(line)
  File "/usr/local/lib/python3.5/dist-packages/rshell/main.py", line 1722, in onecmd
    self.onecmd_exec("".join(group))
  File "/usr/local/lib/python3.5/dist-packages/rshell/main.py", line 1733, in onecmd_exec
    return cmd.Cmd.onecmd(self, line)
  File "/usr/lib/python3.5/cmd.py", line 217, in onecmd
    return func(arg)
  File "/usr/local/lib/python3.5/dist-packages/rshell/main.py", line 2291, in do_ls
    args = self.line_to_args(line)
  File "/usr/local/lib/python3.5/dist-packages/rshell/main.py", line 1897, in line_to_args
    args = shlex.split(line)
  File "/usr/lib/python3.5/shlex.py", line 273, in split
    return list(lex)
  File "/usr/lib/python3.5/shlex.py", line 263, in __next__
    token = self.get_token()
  File "/usr/lib/python3.5/shlex.py", line 90, in get_token
    raw = self.read_token()
  File "/usr/lib/python3.5/shlex.py", line 185, in read_token
    raise ValueError("No escaped character")
ValueError: No escaped character

I just released 0.0.25 which includes this fix


feat: add api getViewInfo

api getViewInfo

@Przeblysk  Thanks for your PR!  However, this API getViewInfo is currently in the experimental stage and is not yet planned to be made public.


[forwardport]user settings shouldn't get overridden by driver metadata

https://github.com/rancher/rancher/issues/22572

THe enhancement is validated with the upgrade path from v2.3.3-rc3  to master-head 781cd0fdc

Variable
Default values in v2.3.2-rc3
User's Change

k8s-version
"v1.16.3-rancher1-1"
"v1.14.9-rancher1-1"

k8s-versions-current
"v1.14.9-rancher1-1,v1.15.6-rancher1-2,v1.16.3-rancher1-1"
"v1.14.9-rancher1-1,v1.15.6-rancher1-2,v1.99.99-rancher1-1"

k8s-versions-deprecated
"{}"
{"v1.16.3-rancher1-1":true}

Steps:

run Rancher v2.3.3-rc3
add a cluster with v1.16.3-rancher1-1
set those three setting variables according to the table above
check that user's change takes effect:

the default version is set to v1.14.9-rancher1-1
the version list is the same as the user's change
edit the cluster with v1.16.3-rancher1-1 fails

upgrade Rancher to master-head 781cd0fdc

Results:

user's changes are kept and also take effect


Managing index templates from Kopf

Should be nice to have a template manager in Kopf.

@davmrtl what would you expect from a template manager? just some kind of listings of existing templates and options to add/remove them? Similar to what is there for warmers?

Exactly! This would help me a lot if that screen was added!

@davmrtl thats doable :) Will get to it whenever I have time

Ok thanks! ;) Just to be sure, I was talking about the Index Templates: http://www.elastic.co/guide/en/elasticsearch/reference/current/indices-templates.html

I would find this feature very useful too.

@davmrtl will be releasing a new version tomorrow with this feature, but its already available if you use it online.

@lmenezes Thank you so much! I'll take a look at this :)

This is wonderful, thanks! I have a suggestion for it which I'll add to another issue.


MSI translation mode should be Off, not Bare

This PR has the backing of the Architecture Review Committee.

PR looks good.

Reviewed and approved by IOMMU TG on 02/02/2023


Port game save/load mechanics

Game save/load systems needs to be ported

Feature added in 6d0c387.


Showing wrong card when adding asset without "name" prop

how i can work on this?
I mean, basically what should I say in this edge case?

@Another-DevX we should reject Add assets without a name. The Assets Service that handle this, should validate and if the name is not informed, it should throw a error.


fix topology description race condition

Hi,
I came upon a race condition in the topology monitoring. It manifests itself while initializing the driver against a replica set (not with a "fake" one on localhost, I could only reproduce it with a more real setup with a bit of lan latency).
What happen basically is that the self.description is locked while we make the current thread sleep, so we need to be very lucky to get it to get updated. Moving the first part of the loop in an ad-hoc scope, confining the lock there, and putting the sleep outside of this scope solved the issue for us.
The diff looks bad but most of it is reindenting the main logic inside its ad-hoc scope.
Tell me what you think.

Oh, wow, you're right, Github definitely is having trouble presenting this diff in a readable way.
This intuitively seems like it would fix the problem, but I'd be interested in trying it out myself to verify this. How exactly did you test it? Would making a simple three-node set and then shutting down one of them cause the issue (assuming the latency is sufficient)?

Nothing fancy on my side. The replica set is made of three instances on google compute cloud, each on a different zone (it may incur a tiny bit of latency), and the client is on a fourth machine. The cheapest ones. I did not need to take one down to see the problem, and it was showing let's say... 95% of the time. A three replica setup on my laptop did not make it happen.
Note that while debugging, a simple println! at the very beginning of the loop was enough to "fix" the problem. After one or two iterations, the description was updated from unknown to ReplicaSetWithPrimary.

(The fourth machine was a google instance too)

hey! just noticed this long-standing PR. @saghm, have you been able to replicate kali's scenario in any format?
Regardless, not sleeping with a held lock seems like something we should do regardless in this situation. thoughts on merging this?

@kyeah Ugh, I keep meaning to try and replicate this, but I haven't had a chance to yet.
Do you think we need to replicate it before merging? Given that this was code I hadn't really touched before, I was leaning towards replicating it first before merging, but if you think it looks fine, I'd be all right with merging it

I'm comfortable merging. Sorry for the wait, @kali!

thanks! and no worries for the delay, cargo github support makes this
relatively painless.
On Wed, Oct 12, 2016, at 05:42, Kevin Yeh wrote:

Merged #161[1].
— You are receiving this because you were mentioned. Reply to this
email directly, view it on GitHub[2], or mute the thread[3].

Links:

https://github.com/mongodb-labs/mongo-rust-driver-prototype/pull/161
https://github.com/mongodb-labs/mongo-rust-driver-prototype/pull/161#event-820435191
https://github.com/notifications/unsubscribe-auth/AADRmfvw2IoVMKbGlK6uBIfRmH_57Alwks5qzFczgaJpZM4JziaD


Add script/tool to build tarballs for distribution

[ ] write robust script to install from the minimal set of files that is tracked under version control
[ ] write a README file to provide to users of the tarball with instructions once they've
[ ] write a robust script that packages libMOAB, libhdf5 and libdagmc_export_plugin into a tarball with a README and the above-mentioned script

Try CPack first


Switch campaign map visualization to vector tiles

In order to allow the users to visualize large amounts of data, we need to replace the geojson data that is loaded on the campaign page map by vector tiles.
I followed this tutorial and executed some tests. The first one was using the Leaflet.VectorGrid plugin to load the vector tiles. Then I replaced Leaflet by Mapbox-GL-JS.
The performance of Leaflet was not good, the interaction with the map is not fluid, but it worked great with mapbox-gl-js.
If you want to see it on action, download the html test files and open it in a browser:

Mapbox-GL-JS: https://gist.github.com/willemarcel/57ffd255d001190fdbfd31cc8286e5e5
Leaflet: https://gist.github.com/willemarcel/d6152bc7d0638f8463eecc43e6b510ac

Is it ok to replace Leaflet by Mapbox-GL-JS, @smit1678 ? I think it will not require too much work, as both apis are similar and the map code is very short and simple.
Related to https://github.com/hotosm/MapCampaigner/issues/496

@willemarcel Thanks for the demos, that is a big difference.

Is it ok to replace Leaflet by Mapbox-GL-JS, @smit1678 ? I think it will not require too much work, as both apis are similar and the map code is very short and simple.

I think this makes sense. @JorgeMartinezG anything else to consider or add here?

@willemarcel @smit1678 I have two quick questions:

The examples read the information from a protocol buffer instead of geojson. This will imply that the geojson files will not be necessary, right?
If implemented in the project, will the code section of the map be written within the detail page? or be rendered using lambda function?

@JorgeMartinezG tippecanoe needs the geojson to produce the vector tiles. If we don't use the geojson for something else, we could delete it after the vector tiles generation.
We can render the page in the same way we currently do.

Published https://www.npmjs.com/package/@hotosm/geojson2vt to convert from GeoJSON to Vector Tiles.
I runned a test with a 360 MB buildings .osm file, which generated a 200 MB geojson and finally resulted on 45 MB of Vector Tiles.
So we can continue using lambda functions on all MapCampaigner processing stages.


Don't pass innerRef to DOM component

I have a StyledInput and use innerRef to get the input element. But React will display this annoying warning.
Warning: Unknown prop innerRef on <input> tag. Remove this prop from the element. For details, see https://fb.me/react-unknown-prop
We should remove the innerRef after pass it to ref. Or better, filter unknown props like styled-component, but this comes with a cost of bigger runtime

I ran into this issue with one of my other libraries. I ended up with a forwardRef prop, which wasn't as elegant as I'd hoped for. This was due to the fact that I wanted to be able to compose multiple style components together and still access the element's node. There's probably a better way, but I thought I'd share my experience just in case the same issue comes up.

@tkh44 What is your opinion on this?
Treat innerRef as a special case or do what styled-components does?
Ref https://github.com/styled-components/styled-components/blob/322b289982a395f41f5632f78a0b227b6c28f407/src/utils/validAttr.js

I feel like this needs to be its own package 😅 I always find that I need to filter attributes and make sure I pass valid props through. I've used this specialAssign function from react-aria-menubutton in the past.

I'm going to filter it. I'm just not sure how yet.
I think we are going to remove the css prop as it currently is being used and use it as a namespace. Then we would filter out css.

If you want to put in a pr that uses the white list like here https://github.com/styled-components/styled-components/blob/96afe68b3b44be740d3158976be498f4f92f7605/src/utils/validAttr.js we could see what that does to the bundle size. I'm not sure we want to include that many bytes though.

@tkh44 we can use the list directly from ReactDOM if we can require it.
<EMAIL_ADDRESS>

That pulls in a chain of dependencies I think. Whichever is smaller.

@tkh44 if you use emotion/react, you already have ReactDOM.

Yeah. Is there a reason why glamorous and styled-components use their own list?

Well, React discourage aceesing private API like that

React removes this list with React 16 as far as I know and will start passing any props to the elements without filtering.

closed in #106

@tkh44 - not sure if this is the same issue or belongs in a separate issue, but I still have the Unknown prop ... on tag error when using styled and any non-DOM attribute.
Small example:
const SvgWrapper = styled.div`
  width: ${props => props.iconWidth || 'auto'}
`

This results in Unknown prop 'iconWidth' on <div> tag.

@green-arrow It's the same issue. styled passes all props to the wrapped component.

Is there any plan or open issue to resolve this? Seems like the only real options is to do what styled-components does with a self-maintained whitelist.

@green-arrow I believe that @tkh44 is working on this. Since emotion is focus on library size, adding a whitelist mean double the size of emotion.

Temporary solution, a simple HOC that remove specified props:
import omit from 'lodash/omit' // or just reduce a new map using removeList

const removeProps = (component, removeList) => (props) =>
  React.createElement(component, omit(props, removeList))

const MyDiv = styled(removeProps('div', ['iconWidth']))`
  width: ${props => props.iconWidth || 'auto'};
`

// Or you can be clever and use the keys from your prop types for the removeList (assuming it doesn't contain any prop types for "native" attributes)
// Example:

const myDivPropTypes = {
  iconWidth: PropTypes.number,
}

const MyDiv = styled(removeProps('div', Object.keys(myDivPropTypes)))`
  width: ${props => props.iconWidth || 'auto'};
`

MyDiv.propTypes = myDivPropTypes


Percentage in Legend

So we need to have percentage in legend.
e.g, so if total is 118,
Avg sales 1 = (23  19.49%)
Avg sales 2 = (50  42.37%)
Avg sales 3 = (27   22.88%)
Avg sales 4 = (18   15.25%)
Maybe they could be rounded up.

@coroo is there any solution for this?


fix(tabs): add styles for -justified tab classes

Add styles for when the user is using .nav-justified and
.nav-tabs-justified

This fixes #5243.

This PR may be rejected by discussion in #5254

Closing as superceded by the culmination of #5262.


SyntaxError/unexpected token errors when running @modelcontextprotocol/inspector and Claude Desktop

Steps to Reproduce

npx @modelcontextprotocol/inspector uvx --with click --python 3.13 odmcp
In the UI, click "Connect"
Console will show SyntaxError: Unexpected token 'l', "  list     L"... is not valid JSON
In Claude Desktop, errors are shown as toasts

Command line is working for me:
[15:13:47] λ  uvx --with click --python 3.10 odmcp list
Available providers:
  - ch_sbb

Hi there,
We use GitHub issues as a place to track bugs and other development-related issues.
Please see the link below to our dedicated support line:
Help Center :  Click Here
Ticket ID: WT240
Note: Click on the live chat icon at the bottom corner of the page to start a conversation.


Some updates to the introduction documents

Some spelling and grammar updates, settled on US English as that
seemed consistent? Happy to be wrong...

Removed a dead link from the FAQ.

Tidied up some awkward sentences.

Fixed some missing or extra words.

Added a couple of links to external tools, etc.

Added NOTE formatting when things are an actual node.

Added a couple of glossary entries.

Newcomer to your docs so happy to take feedback, etc.

Thanks for the feedback. I'll address everything today barring clarifications.
One thing I've found that makes reviewing/contributions to docs easier is a style guide.  Or if they are, apologies, I missed them! This is what we did at Docker, https://docs.docker.com/opensource/doc-style/, as an example.

I took a stab at some updated definitions and adjusted the Concepts page too - https://github.com/prometheus/docs/pull/861/commits/4dcfe567fea1d3f4dbd0525633a2df3b2e772b87.

I'll update - enjoy your offline break! :)

Okay - third time lucky.
It's still not clear to me why the Concepts page differs from the Glossary but maybe I am missing something? If I am - perhaps we could jump onto a quick chat? I feel like these definitions of the abstractions is super important and I am not sure they are clear.
Thanks for your patience!

Addressed remaining comments.
Would you be interested in a style guide section in the CONTRIBUTING docs perhaps?

Thanks!
A contributing guide would be useful.

Cool! I'll add a TODO - have flights in near future.
Thanks for your patience. Hopefully, next contributions will be easier for all. :)


Marts: do some spatial aggregation

We currently have VDS data aggregated to different temporal levels (five minute, hourly, daily, weekly, monthly). We don't yet have any data models aggregating the data to different spatial levels. The following might be helpful models to make:

Aggregate to freeway-direction-station-type
Aggregate to district
Aggregate to county
Aggregate to city

@kengodleskidot does this sound like a useful set of models? If so, would you be interested in taking it on?

Closing this as complete per @mmmiah


Suggestion: move appform->inquirer conversion to appform class definitions?

Logic for converting an appform.* object into inquirer.* object is now in jobbergate_api_wrapper (JobbergateApi.assemble_questions)
Moving this to their respective appform classes could free up some space in the somewhat bulky wrapper.

We already created a task in monday for this, there will be also some other improvements for the cli, since the new api is more flexible and simpler

@NilesDev suggestion welcome, and thanks for making some noise here. As @zsinx6 mentioned, this has been added to the list of upcoming work. Thanks!


Reveng: entity class properties in the same order of table fields

In reverse engineer please consider  to generate (eventually optional) the entity class with (field) properties listed not in alphabetic order but  in the same order of the fields in related table.

Triage: We should just do this, it doesn't need to be optional though.

The same for code first approach would be nice, so the columns in the database should be in the same order as the model classes

@ahmad-moussawi there has been a lot of discussion around that (and it's what we tried to do in EF6) but it causes a bunch of issues because reflection can give the properties in a different order on different architectures. While theoretically this doesn't really change the model... it can have subtle impacts on conventions etc. which ends up with different models on different architectures and it is super hard to debug why the differences occur.

@rowanmiller thanks for the clarification, so it would be useful if we can set it by annotation attributes (I don't know if this was already implemented but at least I didn't find it in the docs) especially for the Id column, where am expecting to be always the first column.
Maybe  [Order("First")] or [Order("Last")] or maybe also something like [Order(0)] for the 1st one, [Order("n-1")] for the 2nd from the end

@ahmad-moussawi see https://github.com/aspnet/EntityFramework/issues/2272 for some ideas we have on providing a hint to migrations to the order columns would be in - which would often give you the order you defined things in the class (or at least close to it).

Note to providers: this is now implemented. And you probably won't need to do anything. But if you override RelationalScaffoldingModelFactory.VisitColumn() and you don't call base.VisitColumn() then you will need to make sure the same ColumnOrdinal annotation is added yourself.

Can anyone has resolve this issue.I tried find the solution but completely unsuccessful...
Please look this issue..


support selection of features file format and default to Feather format

User may now select from a variety of file formats (CSV, Parquet, Feather) and compression schemes (GZIP, Brotli, etc.) for storing the final features data on disk. The default is now Feather format with zstd compression.
See comment on Issue 55 for discussion of these options.
(Further optimization via background queue is left to #61.)
Resolves #55.

As you can see in the benchmark check, we are indeed able to get through the Snowflake data significantly faster now, simply by writing features to disk via Feather (rather than csv.gz).


Added expot of spec.nodeName

Based on Yurii investigation

This injects NODE_ID env into pod with name of K8s worker name (machine)

     env:
    - name: NODE_ID
      valueFrom:
        fieldRef:
          fieldPath: spec.nodeName

Based on https://issues.jenkins.io/browse/JENKINS-48151

do we need it also here: https://github.com/Mellanox/ci-demo/blob/b0eafcd91ec52d88a486492dc6cb1a438bec1c85/src/com/mellanox/cicd/Matrix.groovy#L1073 ? (when container build (for run_on_containers items) is running on k8 itself

Done
Force pushed


Installs of commander dependency with date 1st Jan 1970 and breaks ZIP

Environment
Knex version: 0.14.0
Database + version: irrelevant
OS: ubuntu + macOs
Bug
An installed version of knex cannot be zipped and then deployed. (aws lambda)
This is due to the following problem on commander dependency: https://github.com/tj/commander.js/issues/777 (caused by npm bug), the files in package installed having a too old timestamp.

0.14.0 - 0.14.2 versions of knex should not be used... Is master broken with this too?

My Bad, in fact we were using 0.14.4
(I mixed up 0.13.0 and 0.14.4)

A fix on commander was release, that solved the problem! :)
cf https://github.com/tj/commander.js/issues/777#issuecomment-374444804


Implement configuration options to set dynamodb local download path

Implement configuration options to set dynamodb local download path. currently its inside a variable of a function of  dynamodb/db.js and it is not configurable. This task is to provide a configuration option in s-project.json where, a user can override the default download path if needed to use any version of dynamodb local plugin

removed from latest release


[TypedEvent] Topic-grammar vs automatically generated Topics

If I am reading the grammar the right way, no special character like $ is allowed.
Grammar:
      topictoken  :: ( jletterordigit | '_' | '-' ) +

      topic       ::= topictoken ( '/' topictoken ) *

Automatically generated Topics are generated from the className of the Event in this way:
String topicName = event.getClass().getName().replace('.', '/');

If the event is a nested or inner class it will generate a topic that is not valid because of the $.

jletterordigit

From https://docs.oracle.com/javase/specs/jls/se8/html/jls-3.html#jls-3.8:

The "Java letters" include uppercase and lowercase ASCII Latin letters A-Z (\u0041-\u005a), and a-z (\u0061-\u007a), and, for historical reasons, the ASCII underscore (_, or \u005f) and dollar sign ($, or \u0024). The $ sign should be used only in mechanically generated source code or, rarely, to access pre-existing names on legacy systems.

So the '_' in the topictoken production is redundant. But $ is already included.

Thank you for the fast help!

Would be nice to have this link in the spec

It is in the spec. That's where I got it. See 1.3.2 General Syntax Definitions. jletterordigit is defined and references the JLS.

Sure. i meaned an direct link from cmpn to the core
I know that there is this line
  // For further information see General Syntax Definitions in Core

direct link from cmpn to the core

This is hard since we cannot link between specs since we make PDF and HTML versions. And we don't always know during the spec build where the URL of the HTML spec will be. There are drafts specs (built in different forks) and final specs, etc. So we rely upon humans to make the connection using words :-)

Closing since $ is already allowed.


Design and implement symbols

This is marked as a bug because at the very least they need to be handled by the unmarshaller (i.e. typeof value === 'symbol').

Obsoleted by #89?


[eslint] add a gulp task and continue linting

Fix #992

@oliviertassinari Thank you so much - Your PRs have been really awesome!

@hai-cea No, thank you for this awesome project! I'm building an android application with. But it's slow. You can expect PRs for improving performances of components in the near future.


GCP resource plugin 7.x broke using gcp:storage:Bucket

What happened?
We use CircleCI's Pulumi Orb to execute Pulumi in a CI/CD context.  The Linux containers used to execute Pulumi start off without Pulumi or its plugins installed.  We direct the orb to install Pulumi, then upon pulumi update, pulumi itself installs needed resource plugins such as gcp.
For several months, we've been using our Pulumi program to build/update, among other things, instances of gcp:storage:Bucket.  But with the advent of gcp plugin version 7.0 around 2023-11-14, our jobs have begun failing in the pulumi update step:
pulumi update --yes --stack redacted --cwd redacted
...
Diagnostics:
  pulumi:pulumi:Stack (*********.redacted-redacted):
    panic: interface conversion: interface {} is bool, not string
    goroutine 109 [running]:
    github.com/hashicorp/terraform-provider-google-beta/google-beta/tpgresource.SetLabelsDiff({0x57f7920?, 0x9629a00?}, 0xc007877830?, {0x4c5a680?, 0xc000842a80})
        /home/runner/work/pulumi-gcp/pulumi-gcp/upstream/google-beta/tpgresource/labels.go:84 +0x827
    github.com/hashicorp/terraform-provider-google-beta/google-beta/services/storage.ResourceStorageBucket.All.func6({0x57f7920, 0x9629a00}, 0x4cb7e4f?, {0x4c5a680, 0xc000842a80})
        /home/runner/go/pkg/mod/github.com/pulumi/terraform-plugin-sdk/v2@v2.0.0-20230912190043-e6d96b3b8f7e/helper/customdiff/compose.go:53 +0xab
    github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.schemaMap.Diff(0xc001421890, {0x57f7920, 0x9629a00}, 0xc0016711e0, 0xc0076fa0f0, 0xc000d4f6c0, {0x4c5a680, 0xc000842a80}, 0x0)
        /home/runner/go/pkg/mod/github.com/pulumi/terraform-plugin-sdk/v2@v2.0.0-20230912190043-e6d96b3b8f7e/helper/schema/schema.go:698 +0x4b4
    github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema.(*Resource).SimpleDiff(0x0?, {0x57f7920?, 0x9629a00?}, 0xc0016711e0, 0xc001670ea0?, {0x4c5a680?, 0xc000842a80?})
        /home/runner/go/pkg/mod/github.com/pulumi/terraform-plugin-sdk/v2@v2.0.0-20230912190043-e6d96b3b8f7e/helper/schema/resource.go:967 +0xd5
    github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/sdk-v2.v2Provider.simpleDiff({0x1?, {0xffffffffffffffff?, 0xc00256d338?, 0x15e5823?}}, 0x44c8a40?, 0xc0076fa000?, 0x0?, 0xc00256d408?, {{{0x57f8028, 0xc0076ce4e8}}, ...}, ...)
        /home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/v3@v3.66.0/pkg/tfshim/sdk-v2/provider_diff.go:101 +0x8da
    github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/sdk-v2.v2Provider.Diff({0xc000da9e60?, {0x0?, 0x0?, 0x0?}}, {0x4ce14a4, 0x15}, {0x57f7e68?, 0xc007680f30}, {0x57c7840, 0xc0076fa0f0})
        /home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/v3@v3.66.0/pkg/tfshim/sdk-v2/provider_diff.go:63 +0x2d2
    github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge.(*Provider).Diff(0xc000629340, {0x57f7840?, 0xc0076c91d0?}, 0xc0076d4100)
        /home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/v3@v3.66.0/pkg/tfbridge/provider.go:672 +0x5bc
    github.com/pulumi/pulumi-terraform-bridge/x/muxer.(*muxer).Diff.func1({0x5810dc8?, 0xc000629340?})
        /home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/x/muxer@v0.0.7-0.20230801203955-5d215c892096/muxer.go:338 +0x30
    github.com/pulumi/pulumi-terraform-bridge/x/muxer.resourceMethod[...](0xc0006a8730?, 0x40, 0xc00256d760?)
        /home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/x/muxer@v0.0.7-0.20230801203955-5d215c892096/muxer.go:303 +0xb5
    github.com/pulumi/pulumi-terraform-bridge/x/muxer.(*muxer).Diff(0x0?, {0x57f7840?, 0xc0076c91d0?}, 0x40?)
        /home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/x/muxer@v0.0.7-0.20230801203955-5d215c892096/muxer.go:337 +0x65
    github.com/pulumi/pulumi/sdk/v3/proto/go._ResourceProvider_Diff_Handler.func1({0x57f7840, 0xc0076c91d0}, {0x4a58680?, 0xc0076d4100})
        /home/runner/go/pkg/mod/github.com/pulumi/pulumi/sdk/v3@v3.94.2/proto/go/provider_grpc.pb.go:575 +0x72
    github.com/grpc-ecosystem/grpc-opentracing/go/otgrpc.OpenTracingServerInterceptor.func1({0x57f7840, 0xc0076c8bd0}, {0x4a58680, 0xc0076d4100}, 0xc0076c63c0, 0xc007680a98)
        /home/runner/go/pkg/mod/github.com/grpc-ecosystem/grpc-opentracing@v0.0.0-20180507213350-8e809c8a8645/go/otgrpc/server.go:57 +0x3d0
    github.com/pulumi/pulumi/sdk/v3/proto/go._ResourceProvider_Diff_Handler({0x4c0ec00?, 0xc0006a8730}, {0x57f7840, 0xc0076c8bd0}, 0xc007682850, 0xc0006be1e0)
        /home/runner/go/pkg/mod/github.com/pulumi/pulumi/sdk/v3@v3.94.2/proto/go/provider_grpc.pb.go:577 +0x135
    google.golang.org/grpc.(*Server).processUnaryRPC(0xc000608000, {0x580b0a0, 0xc005d3c1a0}, 0xc0075ff440, 0xc006873ad0, 0x95dc508, 0x0)
        /home/runner/go/pkg/mod/google.golang.org/grpc@v1.58.3/server.go:1374 +0xde7
    google.golang.org/grpc.(*Server).handleStream(0xc000608000, {0x580b0a0, 0xc005d3c1a0}, 0xc0075ff440, 0x0)
        /home/runner/go/pkg/mod/google.golang.org/grpc@v1.58.3/server.go:1751 +0x9e7
    google.golang.org/grpc.(*Server).serveStreams.func1.1()
        /home/runner/go/pkg/mod/google.golang.org/grpc@v1.58.3/server.go:986 +0xbb
    created by google.golang.org/grpc.(*Server).serveStreams.func1 in goroutine 38
        /home/runner/go/pkg/mod/google.golang.org/grpc@v1.58.3/server.go:997 +0x145

  gcp:storage:Bucket (redacted):
    error: error reading from server: EOF

Exited with code exit status 255

This still occurs today with gcp plugin version 7.2.1.
If I install the latest 6.x release of the gcp plugin (execute pulumi plugin rm resource gcp then pulumi plugin install resource gcp 6.67.1), then pulumi update works as before.
Example
Ours is a yaml-based Pulumi program.  The error appears to be in processing this resource:
  redacted-bucket:
    type: gcp:storage:Bucket
    properties:
      labels:
        redacted
      lifecycleRules:
        - action:
            type: Delete
          condition:
            age: 3
            withState: ANY
      forceDestroy: true
      location: redacted
      name: redacted
      project: ${gcp_project}
      publicAccessPrevention: enforced
      uniformBucketLevelAccess: true
    options:
      protect: true

Output of pulumi about
(On my Windows developer machine, on which essentially the same error occurs)
CLI
Version      3.94.2
Go Version   go1.21.3
Go Compiler  gc

Plugins
NAME  VERSION
yaml  unknown

Host
OS       Microsoft Windows 10 Pro
Version  10.0.19045 Build 19045
Arch     x86_64

This project is written in yaml

Current Stack: redacted/redacted.redacted/redacted

TYPE                                                    URN
pulumi:pulumi:Stack                                     urn:pulumi:redacted::redacted.redacted::pulumi:pulumi:Stack::redacted
pulumi:providers:gcp                                    urn:pulumi:redacted::redacted.redacted::pulumi:providers:gcp::default
gcp:storage/bucket:Bucket                               urn:pulumi:redacted::redacted.redacted::gcp:storage/bucket:Bucket::redacted
gcp:storage/bucket:Bucket                               urn:pulumi:redacted::redacted.redacted::gcp:storage/bucket:Bucket::redacted
gcp:pubsub/topic:Topic                                  urn:pulumi:redacted::redacted.redacted::gcp:pubsub/topic:Topic::redacted
...
gcp:logging/metric:Metric                               urn:pulumi:redacted::redacted.redacted::gcp:logging/metric:Metric::redacted
gcp:logging/metric:Metric                               urn:pulumi:redacted::redacted.redacted::gcp:logging/metric:Metric::redacted
gcp:logging/metric:Metric                               urn:pulumi:redacted::redacted.redacted::gcp:logging/metric:Metric::redacted
gcp:logging/metric:Metric                               urn:pulumi:redacted::redacted.redacted::gcp:logging/metric:Metric::redacted
gcp:logging/metric:Metric                               urn:pulumi:redacted::redacted.redacted::gcp:logging/metric:Metric::redacted
gcp:logging/metric:Metric                               urn:pulumi:redacted::redacted.redacted::gcp:logging/metric:Metric::redacted
gcp:monitoring/notificationChannel:NotificationChannel  urn:pulumi:redacted::redacted.redacted::gcp:monitoring/notificationChannel:NotificationChannel::redacted
gcp:monitoring/notificationChannel:NotificationChannel  urn:pulumi:redacted::redacted.redacted::gcp:monitoring/notificationChannel:NotificationChannel::redacted
gcp:monitoring/alertPolicy:AlertPolicy                  urn:pulumi:redacted::redacted.redacted::gcp:monitoring/alertPolicy:AlertPolicy::redacted

Found no pending operations associated with redacted

Backend
Name           pulumi.com
URL            https://app.pulumi.com/redacted
User           redacted
Organizations  redacted, redacted
Token type     personal

No dependencies found

Pulumi locates its logs in C:\Users\redacted\AppData\Local\Temp by default

Additional context
No response
Contributing
Vote on this issue by adding a 👍 reaction.
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).

Hi @dcox-at-bgrove. I'm sorry to hear that. I tried to reproduce with gcp 7.2.1 against this program:
name: secret-random-yaml
runtime: yaml
variables:
  gcp_project: pulumi-development
resources:
  redacted-bucket:
    type: gcp:storage:Bucket
    properties:
      labels:
        foo: bar
      lifecycleRules:
        - action:
            type: Delete
          condition:
            age: 3
            withState: ANY
      forceDestroy: true
      location: us-west1
      name: redacted-140879
      project: ${gcp_project}
      publicAccessPrevention: enforced
      uniformBucketLevelAccess: true
    options:
      protect: true

I was unable to trigger the panic. From the stack trace, it looks like this has something to do with labels. Can you provide a less redacted view of the labels you were using?[^1] Are you using default labels at the provider level?
[^1]: I don't think I need the values you are using, just the shape.

redacted-bucket:
type: gcp:storage:Bucket
properties:
labels:
vanta-contains-user-data: false
vanta-description: redacted
vanta-non-prod: ${redacted}
vanta-owner: redacted
purpose: redacted
On Wed, Nov 29, 2023 at 11:07 AM Ian Wahbe @.***> wrote:

Hi @dcox-at-bgrove https://github.com/dcox-at-bgrove. I'm sorry to hear
that. I tried to reproduce with gcp 7.2.1 against this program:
name: secret-random-yamlruntime: yamlvariables:
gcp_project: pulumi-developmentresources:
redacted-bucket:
type: gcp:storage:Bucket
properties:
labels:
foo: bar
lifecycleRules:
- action:
type: Delete
condition:
age: 3
withState: ANY
forceDestroy: true
location: us-west1
name: redacted-140879
project: ${gcp_project}
publicAccessPrevention: enforced
uniformBucketLevelAccess: true
options:
protect: true
I was unable to trigger the panic. From the stack trace, it looks like
this has something to do with labels. Can you provide a less redacted view
of the labels you were using?1
<#m_-3832442543175715080_user-content-fn-1-83b05eefff28884848eb8b4c3718a20f>
Are you using default labels at the provider level?
Footnotes

I don't think I need the values you are using, just the shape. ↩
<#m_-3832442543175715080_user-content-fnref-1-83b05eefff28884848eb8b4c3718a20f>
—
Reply to this email directly, view it on GitHub
https://github.com/pulumi/pulumi-gcp/issues/1377#issuecomment-1832531374,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AZ7HOODAM6B3AZS4QSTQOMLYG6BWXAVCNFSM6AAAAAA75NQTAWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMZSGUZTCMZXGQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

@dcox-at-bgrove You are passing vanta-contains-user-data: false to labels. pulumi-gcp should convert that false (of type bool) into "false" (of type string). For some reason, it's missing the conversion and that is causing the panic.
As a work-around, you can replace the bool value with a string value:
-      vanta-contains-user-data: false
+      vanta-contains-user-data: "false"

This fixes the panic.

It seems the bug was introduced in https://github.com/pulumi/pulumi-gcp/releases/tag/v7.0.0 - I successfully reproduced the issue there but not in https://github.com/pulumi/pulumi-gcp/releases/tag/v6.67.1
Also as far as I could see, we are passing ~ the same parameters into upstream's SimpleDiff, both attached here.
new_params.txt
old_params.txt

Looks like something changed on the TF side - as far as I can see we use the same parameters for SimpleDiff but it now throws an error.
I tried replicating this in a TF program but they don't have the same issue - it seems that bool(true) was converted to "true" on TF GCP provider versions as well.
We have existing code for implicit type conversion of boolean values in the bridge but it looks like it doesn't apply for elements of a map - https://github.com/pulumi/pulumi-terraform-bridge/pull/1557 should fix this.
The downside is that it converts bool(true) into "true" while it was previously converted to "1", which causes an unnecessary diff when upgrading.

It appears that we have a choice here around how to coalesce boolean values to the expected string type. The canonical mapping (how it usually happens in bridged providers) translates true => "true"; false => "false". We found a bug in the bridge that fails to do it for the code in question. We definitely will fix that. However that introduces another wrinkle. For users of 6.x provider that manifested the true => "1" and false => "0" translation, this will introduce an observable change that the "1" label will be relabelled as "true".
Wondering here if it is worth it to put some additional logic in the GCP provider, perhaps in PreCheckCallback across all resources that would help with preserving this 6.x behavior for labels specifically, making it the new canonical behavior? Or will be be OK with the slightly breaking change that switches "1" to "true"?


Hardcoded lowercase hfj_res_link table name in hapi-fhir-jpaserver-base-6.1.0.jar at ca.uhn.fhir.jpa.search.builder.SearchBuilder at line 1148

Hello,
We noticed an issue using the _include and _revinclude search parameters on our FHIR server built on hapi-fhir 6.1.0.
We are using 10.2.44-MariaDB on a Linux system.
We saw a reference to SearchBuilder in hapi-fhir-jpaserver-base-6.1.0.jar at ca.uhn.fhir.jpa.search.builder.
Lines 1147-1151 shows a hardcoded reference to hfj_res_link that is causing an error due to mismatched case to the SQL table names.
 + searchPidFieldSqlColumn + " IN (:target_pids) ");

Hello, we have the same issue with MariaDB.
This is a big problem for us and we can't upgrade to HAPI 6

Configure your DB Server to IGNORE CASE for SQL queries:
https://www.simplified.guide/mysql-mariadb/case-insensitive-table-linux


doesnt work for me

thats what i get when i run it
23.04.2016 16:59:37 [] INFO: CheckForUpdate()  Checking new version...
23.04.2016 16:59:38 [] INFO: CheckForUpdate()  Local version: <IP_ADDRESS> | Remote version: <IP_ADDRESS>
23.04.2016 16:59:38 [] INFO: CheckForUpdate()  ASF will automatically check for new versions every 24 hours
23.04.2016 16:59:38 [] INFO: RefreshCMs()  Refreshing list of CMs...
23.04.2016 16:59:38 [] INFO: RefreshCMs()  Success!
23.04.2016 16:59:39 [] INFO: Start()  Starting...
23.04.2016 16:59:39 [!] EXCEPTION: UnhandledExceptionHandler()  The system detected an invalid pointer address in attempting to use a pointer argument in a call
23.04.2016 16:59:39 [!] StackTrace:
at System.Net.Sockets.Socket.BeginConnectEx(EndPoint remoteEP, Boolean flowContext, AsyncCallback callback, Object state)
at System.Net.Sockets.Socket.BeginConnect(EndPoint remoteEP, AsyncCallback callback, Object state)
at SteamKit2.TcpConnection.TryConnect(Object sender)
at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()

The system detected an invalid pointer address in attempting to use a pointer argument in a call

Ask your OS why your .NET framework is not working properly.

i have windows 10 and in features i have 3.5 and 4.6 activated. what else i need to activate to make this asf work?

http://support.savance.com/index.php?/eioboard/Knowledgebase/Article/View/215/22/winsock-error---the-system-detected-an-invalid-pointer-address-in-attempting-to-use-a-pointer-argument-in-a-call
I don't know what else you need to do, because it's your system that is broken and not ASF. If nothing helps I suggest to either reinstall Windows and try again, or install Linux.

that would be nice help for windows xp user. apparently i'm windows 10 and i suck at this. well thank you anyway. i dont have any problems elsewhere. only your program asf

Just tested on Windows 10 Home x64, ASF <IP_ADDRESS>, everything works properly. So it's a problem in your system, not ASF.

nice. then there must be some other things that doesnt work in my windows 10. and ways to test it and repair it. but there is none.

Are you tested every .net program in the world to tell that there is no other programs with problems?
Try to determine what .net version you have as described in this article https://msdn.microsoft.com/en-us/library/hh925568(v=vs.110).aspx
Or just try to reinstall .net of recent version >=4.5.1.

well give me some test program and i'll show you results

Come on, it's you who need this. If you don't want to help yourself - why do I care.

i just run it on my notebook with windows 7


Closes: #1

Closes: #1
Updated validations.py script.
Fixed the behavior of validate_user function in validations.py.

@googlebot I signed it!


Make the .CommandLine ETS script property on Process objects work on macOS too

Summary of the new feature/enhancement
Sometime after 7.0, a new ETS script property named CommandLine was introduced for System.Diagnostics.Process instances, so that you could query a given process' command line; e.g.:
# Currently Windows and Linux only): get the PowerShell session's own command line.
(Get-Process -Id $PID).CommandLine

However, currently this is limited to Windows and Linux  (and the behavior on Linux is problematic - see #13944).
Extending the solution to macOS is not only desirable, but easy to do; see below.
Note:  What ps -o command= returns doesn't preserve the original argument boundaries, because the verbatim arguments (as actually received by the process, given that there are no per-process command lines on Unix) are simply space-concatenated.
A more robust solution would require substantially more effort, and has inherent conceptual challenges - see  the discussion about the Linux solution in #13944.
Proposed technical implementation details (optional)
Extend https://github.com/PowerShell/PowerShell/blob/72608fb829881727f7d9b6295fb133613a30b6fe/src/System.Management.Automation/engine/TypeTable_Types_Ps1Xml.cs#L1145-L1153
to (but also see #13944 for an additional potential change required for Linux):
                new PSScriptProperty(
                    @"CommandLine",
                    GetScriptBlock(@"
                        if ($IsWindows) {
                            (Get-CimInstance Win32_Process -Filter ""ProcessId = $($this.Id)"").CommandLine
                        } elseif ($IsLinux) {
                            Get-Content -LiteralPath ""/proc/$($this.Id)/cmdline""
                        } elseif ($IsMacOS) {
                            ps -o command= $this.Id
                        }
                    "),

Old alternative proposal #12832

This should be re-opened. Get-Process is not feature complete on macOS.


[BUG] An Invalid backup file in S3, throws an error in while listing the backups in backup list page

Describe the bug
An Invalid backup file in S3, throws an error in while listing the backups in backup list page
To Reproduce
Steps to reproduce the behavior:

In S3, edit the backup file - make it an invalid json data - (removed "}}" from the file in the end)
Save the file and upload it back to S3.
Go to Vol - Backup list page
An error is seen while fetching the backups

Error:
error listing backups for volume 'vol': error listing backups: Failed to execute: /var/lib/longhorn/engine-binaries/longhornio-longhorn-engine-master/longhorn [backup ls --volume vol s3://<S3>/], output unexpected EOF , stderr, time="2020-04-16T19:40:41Z" level=error msg="unexpected EOF" , error exit status 1
Expected behavior
User should not see the "unexpected EOF" error
Environment:

Longhorn version: master-latest - (04/16/2020)
Kubernetes version: 1.17.4
Node OS type and version: LINUX rke DO

The error shouldn't block the whole listing of the backup. Other backups should still show up.

I don't think we have a way to manipulate S3 or NFS in the end-to-end test. Remove the require-automation-e2e for now.

BackupInfo (used by backupvolumes api) now contains a messages field that can be used to pass error messages to the client. This way we also display Backup infos for corrupt or missing backup configs.
For now we just pass the underlying error through.

Verified on master - 05/11/2020
Steps:

In S3, edit a backup file - make it an invalid json data - (removed "}}" from the file in the end)
Save the file and upload it back to S3.
Go to Backup --> Backup list page
Error seen in backupList view

"messages": {
        "error": "unexpected EOF"
      },

NO error is seen on the UI

On a restore, error seen on the U:
unable to create volume: unable to create volume r1: cannot get backup s3://<>/?backup=backup-6810f998b8904b6e&volume=v2: error getting backup: Failed to execute: /var/lib/longhorn/engine-binaries/longhornio-longhorn-engine-master/longhorn [backup inspect s3://<>/?backup=backup-6810f998b8904b6e&volume=v2], output unexpected EOF , stderr, time="2020-05-12T03:30:27Z" level=info msg="Failed to load backup in backupstore" backup=backup-6810f998b8904b6e event=list object=backup pkg=backupstore reason=fallback volume=v2 time="2020-05-12T03:30:27Z" level=error msg="unexpected EOF" , error exit status 1

When the user tried to delete the backup, the backupDelete response gives a 200 status. But the logs in the longhorn-manager throw error: time="2020-05-12T03:32:21Z" level=error msg="error deleting backup s3://<>/?backup=backup-6810f998b8904b6e&volume=v2: failed to execute: /var/lib/longhorn/engine-binaries/longhornio-longhorn-engine-master/longhorn [backup rm s3://<>/?backup=backup-6810f998b8904b6e&volume=v2], output unexpected EOF\n, stderr, time=\"2020-05-12T03:32:21Z\" level=error msg=\"unexpected EOF\"\n, error exit status 1"

Expected:

User should be shown an error on the UI
User should not be allowed to restore from this backup.
User should be allowed to delete a corrupt backup from Longhorn UI from the backup List page

Question:
@yasker @joshimoo Do we expect to see "error": "unexpected EOF" when trying to fetch a corrupt backup file?

@sowmyav27 can this be closed?

@meldafrawi can you check if the automation passed for this issue?

Passed for three times in a row


Menu Button Visibility on Screen Resize

When the menu button is clicked on mobile view, the menu items are displayed as expected. However, the menu items remain visible upon resizing the screen to a larger viewport (like a desktop).
Expected Behavior:
The menu items should automatically hide when switching from a mobile view to a larger screen.

Labels: Please assign under the following labels: gssoc-ext, and hacktoberfest

Hey, Can You assign this issue to me I would like to work on this

I have already solved the issue just waiting for assigning me. and labels

ok no problem


Propagate gw config to the aci-gw

This is the 2nd part for https://github.com/contiv/ccn/issues/34.

Anyone wants to review this one?


New version: SolverLogging v0.2.0

Registering package: SolverLogging
Repository: https://github.com/bjack205/SolverLogging.jl
Created by: @bjack205
Version: v0.2.0
Commit: f81fe1c1cb307abab7384199c5cbfa0659897a04
Reviewed by: @bjack205
Reference: https://github.com/bjack205/SolverLogging.jl/commit/f81fe1c1cb307abab7384199c5cbfa0659897a04#commitcomment-67343547

@bjack205 please see the message above.  Once you fix the automerge issues you can register again the new revision without changing the version number and this pull request will be automatically updated.
[noblock]

@bjack205 the license file is still missing :slightly_smiling_face:
[noblock]


typo fix

Thanks for submitting your Pull Request!
Please delete this text, and add a link to the Jira issue solved by this PR.
Remember to use the Jira issue ID in the PR title, and any commits.

Hello, rosiecki. I'm waiting for one of the admins to verify this patch with /ok-to-test in a comment.

Thanks, @rosiecki !


Ultra Street Fighter 4 - Game with DXVK runs only in Borderless Windowed Fullscreen?

Ultra Street Fighter 4 runs in exclusive fullscreen usually.
with DXVK, the game runs in borderless windowed fullscreen, although I haven't changed any settings.
How can I force exclusive fullscreen from dxvk.conf?
Software information
Ultra Street Fighter 4 - Fullscreen On, 1440p
System information

GPU: AMD RX6600XT
DXVK version: dxvk-2.3 (d3d9.dll, 32 bits)

Log:
SSFIV_d3d9.log

How do u distinguish borderless or exclusive fullscreen? If u use volume key or Win+G, the fullscreen optimization on win10+ may describe why u got this.
FSO is a feature introduced from win10 that converting exclusive fullscreen to borderless with flip model. When FSO works, u may recognize the game always runs in borderless mode even set to exclusive fullscreen. Sometimes a game is not compact with FSO so the system disabled it, however DXVK may makes it qualified for FSO (how windows detect a game is qualified is unknown, as windows is not opensourced), this is what u see on ur device.
U can use https://github.com/GameTechDev/PresentMon to check the game.

'Hardware: Legacy Flip' indicates true exclusive fullscreen, but not borderless. 'Hardware Composed: Independent Flip' indicates either fullscreen optimized or borderless. Finally, both 'Composed: Copy with GPU GDI' and 'Composed: Flip' correspond to windowed presentation mode. (Quoted from https://www.reddit.com/r/vulkan/comments/m7m7e3/composed_flip_on_windows_10/  )
And only  'Composed: Copy with GPU GDI' will cost heavy GPU resouces for dwm compose. Any 'Hardware' method will not cost performance so u dont need to care whether it's exclusive.

On NVIDIA GPU, set vulkan present method to prefer DXGI swapchain can make most games with DXVK running in 'Hardware Composed: Independent Flip'. I'm not sure whether AMD has similar feature but some articles said it has.


Validate asm.js

You should probably add an asm.js validation step. Sam pointed out that (for example) using Math.fround directly may not be allowed (I'm not sure).

For the moment I am focusing on semantics rather than strict asm.js validation.  I did change how fround an imul were bound, however, to match the spec.


feat(art-quiz): renders saved artworks

Closes GRO-1259

Outside chance I'll be forced to rewrite our Masonry grid component to handle the sort order correctly because the legacy ArtworkGrid isn't compatible with this connection type and is a mess. But we'll see how that plays out.

the legacy ArtworkGrid isn't compatible with this connection type and is a mess.

connectionInterfaces: [ArtworkConnectionInterface] invocation might be needed for the quiz artwork connection in that case?

@mzikherman good catch yes.


Wrong example for creating an array

Type of issue
Code doesn't work
Description
The example of creating a single-dimensional doesn't work :
int[] array2 = [1, 2, 3, 4, 5, 6];

It works fine with curly brackets, but not square brackets
int[] array2 = {1, 2, 3, 4, 5, 6};

Page URL
https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/builtin-types/arrays
Content source URL
https://github.com/dotnet/docs/blob/main/docs/csharp/language-reference/builtin-types/arrays.md
Document Version Independent Id
38aea826-1f7b-049e-1b9e-d13eea138c44
Article author
@BillWagner
Metadata

ID: be43453e-7757-f4db-6736-ba8be7ebc4d6
Service: dotnet-csharp
Sub-service: lang-reference

Hi @Praxo
This is using a new C# 12 feature, collection expressions. We want more people to see this feature and adopt it. That's why we added it to more of the samples.


breaking: refactor AuthContextProvider interfaces, remove token

Description

For verification, if you link up these changes into the showcase app, you should be able to follow the same steps provided here: https://github.com/aerogear/ionic-showcase/pull/228
And ideally you shouldn't see any issues.
Checklist

[x] npm test passes
[x] npm run build works
[x] tests are included
[x] documentation is changed or added

I would like to extend exsisting unit test or integrationm test with auth context provider so we can kinda fail if things go bad.
With current form this is more like header provider than auth context provider as it is not auth specific. People can still drop their link to apply any custom headers so we are ok.

I would like to extend the exsisting unit test or integration test with the auth context provider so we can kinda fail if things go bad.
With current form, this is more like header provider than auth context provider as it is not auth specific. People can still drop their link to apply any custom headers so we are ok.

With current form, this is more like header provider than auth context provider as it is not auth specific. People can still drop their link to apply any custom headers so we are ok.

I totally agree. It makes things more flexible but still allows us to provide what we need in terms of keycloak -> sync integration

@darahayes Can you also add info to RELEASE_NOTES.md

PR for release notes: https://github.com/aerogear/aerogear-js-sdk/pull/412


RTS2

@tcard Maybe it is best to change the ARTRealtime.channels function to a property to have a nice Swift integration: client.channels()["test"] -> client.channels["test"].

FYI, the documented API is client.channels.get('name') not client.channel('name').  The latter is a nice to have and supported in some libraries.

Ok, it is possible and easy to add an extension to NSDictionary with categories (get).

I'd rather just stick to the API on this one. This is one of the issues listed in #140, I'll fix it soon.

To be clear, I mean that I'd rather use a custom collection class than to add stuff to NSDictionary. Just for the sake of simplicity and keeping the API minimal. E. g. if we add a get method now we'd have get and objectForKey to do the same thing.

Rebased with no changes.

Can I merge this?

Yep, sorry.


Update component-config-map.yaml: Fix comments.

Properly set comments. The way it's currently set, the template still expands and you end up with things like this:
  507 apiVersion: v1
  508 kind: ConfigMap
  509 metadata:
  510   namespace: otterize
  511   name: otterize-network-mapper-component-config-map
  512   # labels:
  513   #
  514   #
  515    app.kubernetes.io/name: otterize
  516    kube_cluster: us1-staging
  517   #
  518   #     app.kubernetes.io/version: 1.0.12
  519   # annotations:
  520   #
  521   #     app.kubernetes.io/version: 1.0.12
  522 data: {}

Please see the contributing guidelines for how to create and submit a high-quality PR for this repo. This template is based on Auth0's excellent template.
Description
Fix helm template comments. The current version doesn't render.
See for example: https://github.com/helm/helm/issues/9337

Fixed the labels in main


matrix-synapse: 1.120.0 -> 1.120.2

https://github.com/element-hq/synapse/releases/tag/v1.120.2
Signed-off-by: Sumner Evans<EMAIL_ADDRESS>Things done

[x] Running on my homeserver with workers

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

@ofborg test matrix-synapse


build using podman/buildah

Hi,
I've built the image using podman and the following message was displayed.
ba50a5e028fd011ec2c4c0885a47842573bd159a0ca5e17820f2a26d80e97e43
STEP 9: SHELL ["conda", "run", "-n", "mlperf", "/bin/bash", "-c"]
ERRO[0987] SHELL is not supported for OCI image format, [conda run -n mlperf /bin/bash -c] will be ignored. Must use `docker` format
498dc935b947d23bfea1151dd7ef2a6338b5d8da0adbaf5479550a156a162fd7

https://github.com/mila-iqia/milabench/blob/5349c6b8b58261149799d52b742720ad6224208c/Dockerfile#L26

https://github.com/containers/buildah/issues/2611


[GSSoC 23'] User Dashboard Created

Reference issue https://github.com/Pranjal360Agarwal/ApnaBharat-Bus-Booking-Reservation-System/issues/126
Hey @Pranjal360Agarwal I have created a user dashboard GUI for the project hopefully you liked it details of the updates are in the following comment

Details about the Update
Sample UI

Final Implemented GUI

Button Functionality
Rename
Rename Dialog

After Rename

Add Bio
Bio Dialog

After Adding bio

Reveal Password

##Exit

@HartzFrequency Conflicting files
BufferData/CurrentUser/password.txt
BufferData/CurrentUser/username.txt
Final.py  these files are getting conflicted, check your PR again @HartzFrequency


libc: minimal: math: Removed undefined behavior in sqrt routines

The previous code used casts of address of int to float pointer. This is undefined behavior in C and may cause a compiler to optimize code incorrectly.
I have replaced it with a union of int and float types, eliminating the cast problem.

Did you happen to check to see if the generated code was reasonably efficient?

I've only checked with our ICCARM compiler but it generates the same code as before


Implement virtual space

Implementation of virtual space as discussed here: https://github.com/microsoft/vscode/issues/13960
Examples of this feature:
rec.webm
rec2.webm
Most of the changes fall into one of these categories:

updated move commands to allow moving the cursor beyond end of line
code updated to properly handle column numbers beyond the end of line
CursorPosition.leftoverVisibleColumns replaced with columnHint, which contains the column number that we want to stay in. This makes the calculations easier, but the change needed to be propagated to a few places.

Notable changes in specific files:

replaceCommand.ts - updated to add spaces when typing beyond end of line
mouseTarget.ts - updated to generate column for mouse positions beyond end of line
viewLines.ts - this change was necessary to allow virtual space also on last line of a file
cursorWordOperations.ts - without this change, Ctrl + Right Arrow (next word) beyond end of line goes to the end of the line instead of the next line

Testing:

I added a simple unit test but can implement more

@microsoft-github-policy-service agree

I have been using @x17jiri 's fork for nearly 80 hours already and haven't crossed a single problem. Please review and approve this pull request.

@alexdima

Virtual Space is an absolute must. It is extremely annoying, very frustrating trying to find the cursor. But I am impressed with what has been done with VSCode. I am a little unsure, goofy new keyboard from Logitech, but it does seem the input response is a little slow. Have not worked with VSCode for very long, a couple of days but will revert back to VS if needed.

@r2d2Proton This is not merged in official VSCode yet. If you want to try it you can download build artifacts from my fork:
https://github.com/x17jiri/vscode/actions/runs/11200839841
Then go to "File / Preferences / Settings" and find virtual space

@alexdima What more is required for this PR to be accepted?

So this is moving forward after all, thanks @alexdima, it's very much appreciated. I still not understand the "community pr approvals", do these have to be from random people from the community or they have to be from "official" collaborators from the project?

@aiday-mar Bless us! :-)

@alexdima  Thank you for review. I'll try to make the update. Is there anyone I can bother if I have questions?

@x17jiri Sure, I'm happy to help. I will keep an eye out, but if I'm not answering timely please drop me an email too.

this functionality is enabled in simple code editors like the one used for the git commit message, we need to disable it in such contexts.

Pardon me, why?

@alexdima I'm still finishing some minor details but wanted to check the basic design.
There are some differences from line wrapping which mean the information cannot stay only in the view model.

The code converts positions from view model to model and back. Unlike with wrapping, information gets lost when we clip positions. One particular place where this can be problem is selection tracking during edits.
edit commands need to know when to insert spaces

What I did:

for view model, SingleCursorState stores positions in virtual space
for model, positions are clipped  at line length and excess columns are stored in leftoverVisualColumns
as long as we have a partial cursor state, we can recover the other part without loss of information

However, some parts of code use only Selection or Position, not SingleCursorState. For those:

I added function getSelectionInVirtualSpace() which returns model selection unclipped (column = column + leftoverVisualColumns) and used it instead of getSelection() where the information is needed
code that's not updated to use getSelectionInVirtualSpace() will see model selections clipped at line length

I updated two low level functions in editor/common/cursor/cursor.ts so it's easy to make updates on higher levels and often it's enough to just replace getSelection() with getSelectionInVirtualSpace()

when pushing edits, virtual space positions are handled by inserting spaces
selection tracking algorithm should now handle virtual space positions. Although this may still need some tuning

I reverted changes in text buffer and also previous commits "fix hover" and "fix move lines", which are not necessary with this new approach.

@x17jiri you are doing a really impressive job. Thank you very much.

@m6502 Thank you. I think I've caught most bugs in this new version, but if you have some time, any help with testing will be appreciated :-)
Build artifacts can be found here: https://github.com/x17jiri/vscode/actions/runs/12200915080

@m6502 Thank you. I think I've caught most bugs in this new version, but if you have some time, any help with testing will be appreciated :-)

I have been using the latest releases for working and I'm still getting a good time with them. I'm not finding anything broken in my workflow.


Fix consumer-rules.pro for preserve HCaptchaTheme

make sense to run our tests on obfuscated class somehow

https://slackhq.github.io/keeper/ - may help to automate tests

Fixed in https://github.com/hCaptcha/hcaptcha-android-sdk/pull/124


Git alters the form file.

It seems that after uploading the form file to GitHub, it gets altered. When you download the file from GitHub and import it, it breaks and imports as a module instead of a form as expected.

Zipping the files prevents Git from modifying anything, so it now works correctly.


[BUILD] Suppress warnning of the maven-antrun-plugin echo

Why are the changes needed?

This pr aims to suppress warnning of the maven-antrun-plugin echo;
before:
[WARNING]      [echo] unpacking netty jar
[WARNING]      [echo] renaming netty native libraries
[WARNING]      [echo] deleting META-INF/native-image folder
[WARNING]      [echo] repackaging netty jar

after:
[INFO]      [echo] unpacking netty jar
[INFO]      [echo] renaming netty native libraries
[INFO]      [echo] deleting META-INF/native-image folder
[INFO]      [echo] repackaging netty jar

How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[ ] Run test locally before make a pull request

cc @pan3793


Aufzeichnung zu Ladevorgang geht verloren bei Server Neustart

Describe the bug
Wird während eines Ladevorgang der (Windows)-Server, auf dem evcc läuft, aus irgendeinem Grund neu gestartet (bspw. Windows Updates in der Nacht), dann gehen die Aufzeichnungen zum aktiven Ladevorgang komplett verloren!
Nach dem Neustart wird ein neuer Ladevorgang begonnen.

Steps to reproduce

Ladevorgang starten (möglicherweise nicht zwangsweise über Ladeplanung)
Server, auf dem evcc läuft, neustarten ohne evcc vorher zu beenden
evcc startet automatisch über "Aufgabenplanung"
Letzter Ladevorgang nicht vorhanden!

 Versehentlich noch "trace" aktiv

[lp-1  ] WARN 2024/02/14 03:40:23 poll mode '{always 1h0m0s}' may deplete your battery or lead to API misuse. USE AT YOUR OWN RISK.
[lp-1  ] WARN 2024/02/14 03:40:23 deprecated: minCurrent setting is ignored, please remove
[lp-1  ] WARN 2024/02/14 03:40:23 deprecated: maxcurrent setting is ignored, please remove
[lp-1  ] DEBUG 2024/02/14 03:40:24 charge total import: 3002.011kWh
[site  ] WARN 2024/02/14 03:40:24 vehicle 'Gastfahrzeug' does not support automatic detection
[site  ] INFO 2024/02/14 03:40:24 site config:
[site  ] INFO 2024/02/14 03:40:24   meters:      grid ✓ pv ✓ battery ✗
[site  ] INFO 2024/02/14 03:40:24     grid:      power ✓ energy ✗ currents ✓
[site  ] INFO 2024/02/14 03:40:24     pv 1:      power ✓ energy ✗ currents ✗
[site  ] INFO 2024/02/14 03:40:24   vehicles:
[site  ] INFO 2024/02/14 03:40:24     vehicle 1: range ✓ finish ✓ status ✓ climate ✗ wakeup ✗
[site  ] INFO 2024/02/14 03:40:24     vehicle 2: range ✗ finish ✗ status ✗ climate ✗ wakeup ✗
[lp-1  ] INFO 2024/02/14 03:40:24 loadpoint 1:
[lp-1  ] INFO 2024/02/14 03:40:24   mode:        pv
[lp-1  ] INFO 2024/02/14 03:40:24   charger:     power ✓ energy ✓ currents ✓ phases ✓ wakeup ✗
[lp-1  ] INFO 2024/02/14 03:40:24   meters:      charge ✓
[lp-1  ] INFO 2024/02/14 03:40:24     charge:    power ✓ energy ✓ currents ✓
[site  ] DEBUG 2024/02/14 03:40:24 set smart cost limit: 0
[lp-1  ] DEBUG 2024/02/14 03:40:24 phase timer inactive
[lp-1  ] DEBUG 2024/02/14 03:40:24 pv timer inactive
[lp-1  ] DEBUG 2024/02/14 03:40:24 guard timer inactive
[lp-1  ] INFO 2024/02/14 03:40:24 vehicle updated: unknown -> Ariya
[lp-1  ] DEBUG 2024/02/14 03:40:24 max charge current: 6A
[lp-1  ] DEBUG 2024/02/14 03:40:24 guard enable in 5m0s
[site  ] WARN 2024/02/14 03:40:24 interval <30s can lead to unexpected behavior, see https://docs.evcc.io/docs/reference/configuration/interval
[site  ] DEBUG 2024/02/14 03:40:24 ----
[lp-1  ] DEBUG 2024/02/14 03:40:24 charge power: 10598W
[site  ] DEBUG 2024/02/14 03:40:24 pv power: 0W
[site  ] DEBUG 2024/02/14 03:40:24 grid power: 10838W
[site  ] DEBUG 2024/02/14 03:40:24 grid currents: [15.5 15.3 15.4]A
[site  ] DEBUG 2024/02/14 03:40:24 site power: 10638W
[lp-1  ] DEBUG 2024/02/14 03:40:24 charge currents: [15.2 15.1 15.2]A
[lp-1  ] DEBUG 2024/02/14 03:40:24 charge total import: 3002.013kWh
[lp-1  ] DEBUG 2024/02/14 03:40:24 charger status: C
[lp-1  ] INFO 2024/02/14 03:40:24 car connected
[lp-1  ] DEBUG 2024/02/14 03:40:24 pv timer elapse
[lp-1  ] DEBUG 2024/02/14 03:40:24 pv timer inactive
[lp-1  ] DEBUG 2024/02/14 03:40:24 charger: guard elapse
[lp-1  ] DEBUG 2024/02/14 03:40:24 guard timer inactive
[lp-1  ] DEBUG 2024/02/14 03:40:24 charge total import: 3002.013kWh
[lp-1  ] INFO 2024/02/14 03:40:24 start charging ->
[lp-1  ] DEBUG 2024/02/14 03:40:24 wake-up timer: stop
[lp-1  ] DEBUG 2024/02/14 03:40:24 charger vehicle id: P-543-Test
[nissan] TRACE 2024/02/14 03:40:24 GET https://alliance-platform-caradapter-prod.apps.eu2.kamereon.io/car-adapter/v1/cars/***/battery-status
[nissan] TRACE 2024/02/14 03:40:25 {"id":"***","batteryLevel":89,"plugStatus":1,"chargeStatus":1}
[lp-1  ] DEBUG 2024/02/14 03:40:25 vehicle status: B
[lp-1  ] DEBUG 2024/02/14 03:40:25 vehicle soc: 89%
[lp-1  ] ERROR 2024/02/14 03:40:25 vehicle range: not available
[lp-1  ] DEBUG 2024/02/14 03:40:25 plan: charge 6m20s between 2024-02-14 03:40:25 +0100 CET until 2024-02-14 04:00:00 +0100 CET (power: 11040W, avg cost: 0.280)
[lp-1  ] DEBUG 2024/02/14 03:40:25 plan: slot too short- ignoring remaining 6m20s
[lp-1  ] DEBUG 2024/02/14 03:40:25 pv charge current: 0A = 6A + -15.4A (10638W @ 3p)
[lp-1  ] DEBUG 2024/02/14 03:40:25 site power 10638W >= 0W disable threshold
[lp-1  ] DEBUG 2024/02/14 03:40:25 pv disable in 0s
[lp-1  ] DEBUG 2024/02/14 03:40:25 pv disable timer elapsed
[lp-1  ] DEBUG 2024/02/14 03:40:25 charger disable
[lp-1  ] DEBUG 2024/02/14 03:40:25 wake-up timer: stop
[site  ] DEBUG 2024/02/14 03:40:44 ----
[lp-1  ] DEBUG 2024/02/14 03:40:44 charge power: 0W
[site  ] DEBUG 2024/02/14 03:40:44 pv power: 0W
[site  ] DEBUG 2024/02/14 03:40:44 grid power: 132W
[site  ] DEBUG 2024/02/14 03:40:44 grid currents: [0.398 0.375 0.516]A
[site  ] DEBUG 2024/02/14 03:40:44 site power: -68W
[lp-1  ] DEBUG 2024/02/14 03:40:44 charge currents: [0 0 0]A
[lp-1  ] DEBUG 2024/02/14 03:40:44 charge total import: 3002.016kWh
[lp-1  ] DEBUG 2024/02/14 03:40:44 charger status: B
[lp-1  ] INFO 2024/02/14 03:40:44 stop charging <-
[lp-1  ] DEBUG 2024/02/14 03:40:44 charge total import: 3002.016kWh
[nissan] TRACE 2024/02/14 03:40:44 GET https://alliance-platform-caradapter-prod.apps.eu2.kamereon.io/car-adapter/v1/cars/***/battery-status
[nissan] TRACE 2024/02/14 03:40:45 {"id":"***","batteryLevel":89,"plugStatus":0,"chargeStatus":0}
[lp-1  ] DEBUG 2024/02/14 03:40:45 soc estimated: 89.01% (vehicle: 89.00%)
[lp-1  ] DEBUG 2024/02/14 03:40:45 vehicle soc: 89%
[lp-1  ] ERROR 2024/02/14 03:40:45 vehicle range: not available
[lp-1  ] DEBUG 2024/02/14 03:40:45 plan: charge 6m18s between 2024-02-14 03:40:45 +0100 CET until 2024-02-14 04:00:00 +0100 CET (power: 11040W, avg cost: 0.280)
[lp-1  ] DEBUG 2024/02/14 03:40:45 plan: slot too short- ignoring remaining 6m18s
[lp-1  ] DEBUG 2024/02/14 03:40:45 pv charge current: 0.0986A = 0A + 0.0986A (-68W @ 3p)
[lp-1  ] DEBUG 2024/02/14 03:40:45 pv enable timer reset
[lp-1  ] DEBUG 2024/02/14 03:40:45 pv timer inactive
[lp-1  ] DEBUG 2024/02/14 03:40:45 guard enable in 4m40s
[site  ] DEBUG 2024/02/14 03:41:04 ----
[lp-1  ] DEBUG 2024/02/14 03:41:04 charge power: 0W
[site  ] DEBUG 2024/02/14 03:41:04 pv power: 0W
[site  ] DEBUG 2024/02/14 03:41:04 grid power: 142W
[site  ] DEBUG 2024/02/14 03:41:04 grid currents: [0.425 0.376 0.517]A
[site  ] DEBUG 2024/02/14 03:41:04 site power: -58W
[lp-1  ] DEBUG 2024/02/14 03:41:04 charge currents: [0 0 0]A
[lp-1  ] DEBUG 2024/02/14 03:41:04 charge total import: 3002.016kWh
[lp-1  ] DEBUG 2024/02/14 03:41:04 charger status: B
[lp-1  ] DEBUG 2024/02/14 03:41:04 next soc poll remaining time: 59m40s
[lp-1  ] DEBUG 2024/02/14 03:41:04 plan: charge 6m18s between 2024-02-14 03:41:05 +0100 CET until 2024-02-14 04:00:00 +0100 CET (power: 11040W, avg cost: 0.280)
[lp-1  ] DEBUG 2024/02/14 03:41:04 plan: slot too short- ignoring remaining 6m18s
[lp-1  ] DEBUG 2024/02/14 03:41:04 pv charge current: 0.0836A = 0A + 0.0836A (-58W @ 3p)
[lp-1  ] DEBUG 2024/02/14 03:41:04 guard enable in 4m21s
[lp-1  ] DEBUG 2024/02/14 03:41:09 charge total import: 3002.016kWh

----> Neues Log begonnen <----
[main  ] INFO 2024/02/14 03:42:31 evcc 0.124.1
[main  ] INFO 2024/02/14 03:42:31 using config file: c:\evcc\evcc.yaml
[main  ] INFO 2024/02/14 03:42:31 starting ui and api at :7070
[nissan] TRACE 2024/02/14 03:42:34 POST https://prod.eu2.auth.kamereon.org/kauth/json/realms/root/realms/a-ncb-prod/authenticate
[nissan] ---> Log gekürzt! Versehentlich noch "trace" aktiv

[lp-1  ] WARN 2024/02/14 03:42:35 poll mode '{always 1h0m0s}' may deplete your battery or lead to API misuse.
Linux
Version
v0.124.1

Um zu sehen, was in der DB landet oder nicht braucht es db: trace. Bitte melden wenn es ein passendes Log gibt.

Ok, kein Problem - dachte ich zunächst, weil mir das Verhalten im letzten Jahr schon ein paar Mal aufgefallen war.
ABER: es scheint differenzierter zu sein...
Habe soeben 2 verschiedene Tests gemacht ("PV+Min"- und "Plan"-Laden) mit jeweiligem Server-Neustart dazwischen.
Alle 3 Ladevorgänge sind vollständig aufgezeichnet, so wie es sein soll:
(Vorgang 1 -> Neustart -> Vorgang 2 -> Neustart -> Vorgang 3) ... perfekt

Server-Neustarts waren 08:50:00 und 09:00:00.
Ich habe db: trace jetzt dauerhaft an. Sobald ich das Phänomen erneut entdecke, packe ich das Log hier rein.


Mixed up file name during publishing

 Freshdesk Ticket ID: 449
 Freshdesk Ticket Agent: Petr Dvorak
 Freshdesk Ticket Agent Email<EMAIL_ADDRESS> Ticket Priority: Medium
 Freshdesk Ticket Description:
If i am working on Sh100 and was asked to quickly publish 1 character from Sh060. I noticed the publisher put the render in shot 100 publish. Do I have to Launch a new TVP file through the launcher to do this ? or is there a way for the publisher to recognise the shot i am in, if i am juggling a number of shots

Agent Petr Dvorak linked Freshdesk ticket 449 for this issue.


Firebase does not install/uninstall extensions. AUTH_PERMISSION_DENIED error

For general technical questions, post a question on StackOverflow
with the firebase tag.
For general Firebase discussion, use the firebase-talk
google group.
To file a bug against the Firebase Extensions platform, or for an issue affecting multiple extensions, please reach out to
Firebase support directly.

[REQUIRED] Step 2: Describe your configuration

Extension name: algolia/firestore-algolia-search
Extension version: 0.5.14
Configuration values (redact info where appropriate):
(not relevant since the error comes from GCP resource deployment problems)

[REQUIRED] Step 3: Describe the problem
Firebase does not allow to install/uninstall extensions. Both web view and the CLI do not work. When trying to install an extension following errors are outputted:
{"@type":"type.googleapis.com/google.rpc.ErrorInfo","reason":"AUTH_PERMISSION_DENIED","domain":"serviceusage.googleapis.com","metadata":{"service":"serviceusage.googleapis.com","permission":"serviceusage.services.enable","resource":"redacted"}}],"statusMessage":"Forbidden","requestPath":"https://serviceusage.googleapis.com/v1/projects/redacted/services/artifactregistry.googleapis.com:enable","httpMethod":"POST"}}; RESOURCE_ERROR at /deployments/firebase-ext-firestore-algolia-search-123/resources/mods-api-enable-iam: {"ResourceType":"deploymentmanager.v2.virtual.enableService","ResourceErrorCode":"403","ResourceErrorMessage":{"code":403,"message":"Permission denied to enable service [iam.googleapis.com]\nHelp Token: AVUsNs0kKLZRW52Ot6RZuDsrcRQ7Cv06wM5zW0WK6qcOMNN6M2zPOpgJ2GmymEBtoBXCFNhtdFAiFvcO1klpBnyDZj8A9iMpALCUmVyMabcZbxZ8","status":"PERMISSION_DENIED","details":[{"@type":"type.googleapis.com/google.rpc.PreconditionFailure","violations":[{"type":"googleapis.com","subject":"?error_code=110002&service=serviceusage.googleapis.com&permission=serviceusage.services.enable&resource=redacted"}]},{"@type":"type.googleapis.com/google.rpc.ErrorInfo","reason":"AUTH_PERMISSION_DENIED","domain":"serviceusage.googleapis.com","metadata":{"service":"serviceusage.googleapis.com","permission":"serviceusage.services.enable","resource":"redacted"}}],"statusMessage":"Forbidden","requestPath":"https://serviceusage.googleapis.com/v1/projects/redacted/services/iam.googleapis.com:enable","httpMethod":"POST"}}

The GCP project has all those services already enabled
Steps to reproduce:

Create a google cloud user with Owner permissions
Create a new firebase project3.
Install algolia extension4.
Configure the extension and click install5. 5.

The installation should fail with the PERMISSION_DENIED error 'some resources may not have been deployed'
Expected result
Actual result

Here's what the web view shows

Hi there, this is probably better to be raised in the algolia repo here
I can look into trying to reproduce this and investigate though.

Hey! I took a look, this seems to be a service account permissions issue with your project.
Could you go into Google Cloud Console, click on the left sidebar, navigate to "IAM and Admin", and look for a service account with the pattern<EMAIL_ADDRESS>(Replacing project number with your own project number).
You need to add the Editor role to that service account, and then try installing/uninstalling again.

This appears to be platform related, a solution has been provided.
Happy to re-open should we get anymore information/feedback.


Runing Server And WebSocket Client Together

How to run server and WebSocket client together?
I want my website to check exchange prices and update server models. how should I run "runserver" and "runwebsocketclient" at the same time?

Hello @hossein73z, Sorry for the delayed response.
You can run 2 different commands in 2 different terminals.


Enhance MetricsExporter w/ Storage & Multi-GPU Utilization

What would you like to be added?
MetricsExporter exposes loads of network interfaces, GPU instance availability and single-GPU utilization. It should support

Multi-GPU utilization
Storage usage

Why is this needed?
It's needed to give user more information about their cluster and nodes.

GPU utilization will be collected using https://github.com/NVIDIA/dcgm-exporter.

Here is the keys to be followed for GPU device statuses and their descriptions:

DCGM_FI_DEV_GPU_TEMP - GPU temperature (in C).
DCGM_FI_DEV_POWER_USAGE - Power draw (in W).
DCGM_FI_DEV_GPU_UTIL - GPU utilization (in %).
DCGM_FI_DEV_MEM_COPY_UTIL - Memory utilization (in %).
DCGM_FI_DEV_FB_FREE - Framebuffer memory free (in MiB).
DCGM_FI_DEV_FB_USED - Framebuffer memory used (in MiB).

Multi-GPU metrics will be tested w/ MIG mode.


WA-257 Onboarding pages

Creation of the onboarding pages:

Welcome page to show a text explaining the purpose of the chrome extension.
Download apps page to show two QR-codes to download the android and iOS mobile apps.

It was configured the size of the QR-codes and added the Gnosis logo in the header of the chrome extension.

Any quesiton just ping me ;)


Error on debian

/usr/local/bin/greyd: symbol lookup error: /usr/local/lib/greyd/greyd_netfilter.so: undefined symbol: nfct_nlmsg_build
cat /etc/debian_version
7.8
installed packages:
[1047] > dpkg --get-selections | grep -v deinstall | grep netfilter
libnetfilter-conntrack-dev			install
libnetfilter-conntrack3:amd64			install
libnetfilter-log-dev				install
libnetfilter-log1				install
[1048] > dpkg --get-selections | grep -v deinstall | grep libip
libipset-dev					install
libipset2:amd64					install
libiptcdata0					install
libiptcdata0-dev				install
[1049] > dpkg --get-selections | grep -v deinstall | grep libcap
libcap-dev:amd64				install
libcap-ng0					install
libcap2:amd64					install
libcap2-bin					install
[root@debian /var/src/greyd-0.6.1]
nm -D  /usr/lib/x86_64-linux-gnu/libnetfilter_conntrack.so.3 | grep nfct_
0000000000006400 T nfct_attr_grp_is_set
00000000000064c0 T nfct_attr_grp_unset
0000000000006130 T nfct_attr_is_set
0000000000006190 T nfct_attr_is_set_array
0000000000006240 T nfct_attr_unset
0000000000006530 T nfct_build_conntrack
00000000000065b0 T nfct_build_query
0000000000005c40 T nfct_callback_register
0000000000005d90 T nfct_callback_register2
0000000000005d20 T nfct_callback_unregister
0000000000005e60 T nfct_callback_unregister2
00000000000067c0 T nfct_catch
0000000000005a90 T nfct_clone
0000000000005470 T nfct_close
00000000000068d0 T nfct_cmp
0000000000006870 T nfct_compare
0000000000006930 T nfct_copy
0000000000006c10 T nfct_copy_attr
0000000000005a00 T nfct_destroy
0000000000005520 T nfct_fd
0000000000006ce0 T nfct_filter_add_attr
0000000000006d80 T nfct_filter_add_attr_u32
0000000000006df0 T nfct_filter_attach
0000000000006ca0 T nfct_filter_create
0000000000006cb0 T nfct_filter_destroy
0000000000006e20 T nfct_filter_detach
0000000000006e50 T nfct_filter_dump_create
0000000000006e60 T nfct_filter_dump_destroy
0000000000006e90 T nfct_filter_dump_set_attr
0000000000006f30 T nfct_filter_dump_set_attr_u8
0000000000006da0 T nfct_filter_set_logic
0000000000005fe0 T nfct_get_attr
0000000000006310 T nfct_get_attr_grp
00000000000060b0 T nfct_get_attr_u16
00000000000060e0 T nfct_get_attr_u32
0000000000006100 T nfct_get_attr_u64
0000000000006080 T nfct_get_attr_u8
0000000000005bf0 T nfct_getobjopt
0000000000005a80 T nfct_maxsize
00000000000059d0 T nfct_new
0000000000005530 T nfct_nfnlh
0000000000005400 T nfct_open
0000000000005310 T nfct_open_nfnl
00000000000065c0 T nfct_parse_conntrack
00000000000066a0 T nfct_query
0000000000006730 T nfct_send
0000000000005ed0 T nfct_set_attr
00000000000062a0 T nfct_set_attr_grp
0000000000005f80 T nfct_set_attr_u16
0000000000005fa0 T nfct_set_attr_u32
0000000000005fc0 T nfct_set_attr_u64
0000000000005f60 T nfct_set_attr_u8
0000000000005ba0 T nfct_setobjopt
0000000000005a50 T nfct_sizeof
00000000000067f0 T nfct_snprintf

Thanks for the report. It looks like the libnetfilter-conntrack-dev package in wheezy is version 1.0.1, and is missing some symbols.
I'm running it on a few Scientific Linux 6 machines with version 1.0.4:
$ nm -D /usr/local/lib/libnetfilter_conntrack.so.3 |grep nlmsg
U mnl_nlmsg_get_payload
000000000000c130 T nfct_nlmsg_build
000000000000bd70 T nfct_nlmsg_parse
00000000000138c0 T nfexp_nlmsg_build
00000000000139e0 T nfexp_nlmsg_parse
That's annoying. So as it stands, it won't work out of the box on Debian until Jessie which has 1.0.4.
What do you reckon?

See commit 6cdec0fbc45b4e98f2ff5bed1b7d44146f1d06a6. The configure will now fail if trying to build with a version of libnetfilter_conntrack without nfct_nlmsg_build (< 1.0.4).

Thanks for your reply.
I've changed to testing repo for the libnetfilter.
Unfortunately I have another problem on debian.
After half day running the greyd process used 99% CPU. I killed the process with SIGTERM, but I got 2 other errors:
1:
Lock table is out of available lock entriesgreyd[28963]: listening for incoming connections
greyd[28961]: db open (greyd.db) failed: Cannot allocate memory
Database handles still open at environment close
greyd[28963]: could not unlink /usr/local/var/run/greyd.pid: No such file or directory
greyd[28962]: stopping firewall process
2: After "db_recover -c -v" command:
Finding last valid log LSN: file: 3 offset 7519318
Recovery starting from [1][28]
Recovery complete at Mon Mar  2 06:22:13 2015
Maximum transaction ID 8000f4ad Recovery checkpoint [3][7519318]
Lock table is out of available lock entries
greyd[30291]: Error deleting current record: Cannot allocate memory
greyd[30293]: could not unlink /usr/local/var/run/greyd.pid: No such file or directory
greyd[30292]: stopping firewall process
Version:
db_recover -V
Berkeley DB 5.1.29: (October 25, 2011)

I used to see the high CPU usage in the early days when a child process died unexpectedly, and parent poll() listening on the other end of the pipe didn't check for an error. I'm running it on a Debian machine now, and this is the normal process layout:
$ ps axuwf |grep [g]rey
greydb    4077  0.0  0.0  40852  2044 ?        Ss   17:56   0:00 greyd
greyd     4078  0.0  0.0  39368  1324 ?        S    17:56   0:00  \_ greyd
greyd     4079  0.0  0.2  46384  4208 ?        S    17:56   0:00  \_ greyd
greydb    4080  0.0  0.0  40852  1676 ?        S    17:56   0:00  \_ greyd
greydb    4149  0.0  0.1  42876  2060 ?        Ss   17:56   0:00 greylogd
As for the database issues, it appears that some processes died with open environment handles and/or corrupted the database. Let's try and catch the CPU usage issue first.
A couple more things:

What does your greyd.conf look like?

I just noticed the default config has "chroot" enabled, and the greyd PID file is sitting outside it (which is wrong). If chrooting, you need to make sure that greyd_pidfile is contained within the chroot_dir, and the main user has permissions to remove it, ie:

chroot_dir = "/var/empty/greyd"
greyd_pidfile = "/var/empty/greyd/greyd.pid"
The default config can be cleaned up a tad.

Here is mine:
greydb    8945  0.0  0.2  47168  2052 ?        Ss   10:31   0:00 /usr/local/sbin/greyd -G 5:4:864 -w 1 -f /usr/local/etc/greyd/greyd.conf
greyd     8946  0.0  0.1  45684  1392 ?        S    10:31   0:00  _ /usr/local/sbin/greyd -G 5:4:864 -w 1 -f /usr/local/etc/greyd/greyd.conf
greyd     8947  0.0  0.4  52700  4240 ?        S    10:31   0:00  _ /usr/local/sbin/greyd -G 5:4:864 -w 1 -f /usr/local/etc/greyd/greyd.conf
greydb    8948  0.0  0.1  47168  1748 ?        S    10:31   0:00  _ /usr/local/sbin/greyd -G 5:4:864 -w 1 -f /usr/local/etc/greyd/greyd.conf
greydb    8950  0.0  0.2  49192  2120 ?        Ss   10:31   0:00 /usr/local/sbin/greylogd -f /usr/local/etc/greyd/greyd.conf
The config is now almost default, except spamcop list(apprx. 86000 lines). Now I've put pid file into chroot dir.
You can look into this: http://pastebin.com/Wg6S53YQ

Ok ,that all looks normal so far. If it happens again, before killing, could you please record the same output above so that I can see which child process died? I need a bit more info to go on. I suspect it is due to a corrupted database.
Also as a side note, in your config, the whitelist should be specified after all of the blacklists in the "lists" parameter, as entries in the whitelist get subtracted from proceeding blacklists. I just updated the default config with this information.

Well, I'm sure there is some error on debian.
Yesterday, after 1 hour ran the greyd process stopped responding. I could reproduce twice but I don't know what happened exactly.
After kill&restart the db files got corrupted.
The debug output didn't show anything strange, just stopped printing and (working).  Before that there was 500-700 concurrent connections to greyd process.

I found it :)
How can I fix it?
Mar  4 08:54:52 debian kernel: [312931.469532] nf_conntrack: table full, dropping packet.
Mar  4 08:54:52 debian kernel: [312931.472582] nf_conntrack: table full, dropping packet.
Mar  4 08:54:52 debian kernel: [312931.474541] nf_conntrack: table full, dropping packet.
Mar  4 08:54:55 debian kernel: [312935.181799] net_ratelimit: 23 callbacks suppressed
Mar  4 08:54:55 debian kernel: [312935.181801] nf_conntrack: table full, dropping packet.
Mar  4 08:54:55 debian kernel: [312935.186102] nf_conntrack: table full, dropping packet.

Those are decent numbers. Are you using greyd in production, or are you stress testing yourself? I'd like to try and reproduce this one so I can fix it.
I will try to simulate that many connections and see if i can crash it.
-------- Original message --------
From: zsozso<EMAIL_ADDRESS>Date:04/03/2015  6:41 PM  (GMT+10:00)
To: mikey-austin/greyd<EMAIL_ADDRESS>Cc: Mikey Austin<EMAIL_ADDRESS>Subject: Re: [greyd] Error on debian (#2)
Well, I'm sure there is some error on debian.
Yesterday, after 1 hour ran the greyd process stopped responding. I could reproduce twice but I don't know what happened exactly.
After kill&restart the db files got corrupted.
The debug output didn't show anything strange, just stopped printing and (working). Before that there was 500-700 concurrent connections to greyd process.
—
Reply to this email directly or view it on GitHub.

No stress test, just on a backup mx server (big domain).
I think I can limit up the the hash table or /proc/sys/net/ipv4/netfilter/ip_conntrack_max but I guess it is only temporay solution.
I'm not sure, but the conntract table is just increasing and nothing get out. Am I wrong?

In the meantime I've again high CPU usage.
Here was the normal state:
greydb    8950  0.1  0.2  49192  2116 ?        Ss   Mar02   3:47 /usr/local/sbin/greylogd -f /usr/local/etc/greyd/greyd.conf
greydb   21941  0.0  0.3  47172  2764 ?        Ss   08:57   0:00 /usr/local/sbin/greyd -G 5:4:864 -w 1 -f /usr/local/etc/greyd/greyd.conf
greyd    21942 20.4  0.1  45684  1628 ?        S    08:57   6:14  _ /usr/local/sbin/greyd -G 5:4:864 -w 1 -f /usr/local/etc/greyd/greyd.conf
greyd    21943  5.1  3.1 6110956 28524 ?       S    08:57   1:34  _ /usr/local/sbin/greyd -G 5:4:864 -w 1 -f /usr/local/etc/greyd/greyd.conf
greydb   21944  0.1  0.2  47172  2676 ?        S    08:57   0:02  _ /usr/local/sbin/greyd -G 5:4:864 -w 1 -f /usr/local/etc/greyd/greyd.conf
Now:
ps axuwf |grep [g]rey
greydb    8950  0.1  0.2  49192  2116 ?        Ss   Mar02   3:48 /usr/local/sbin/greylogd -f /usr/local/etc/greyd/greyd.conf
greydb   21944 23.5  0.3  47172  2772 ?        R    08:57  28:25 /usr/local/sbin/greyd -G 5:4:864 -w 1 -f /usr/local/etc/greyd/greyd.conf
top:
PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND
21944 greydb    20   0 47172 2772 2104 R  99.9  0.3  30:07.38 greyd
strace -p 21944:
read(7, "", 4096)                       = 0
read(7, "", 4096)                       = 0
read(7, "", 4096)                       = 0
read(7, "", 4096)                       = 0
read(7, "", 4096)                       = 0
...
/var/log/messages:
Mar  4 08:59:03 debian kernel: [313183.060192] TCP: Possible SYN flooding on port 8025. Sending cookies.  Check SNMP counters.
Mar  4 09:32:10 debian kernel: [315169.594606] The scan_unevictable_pages sysctl/node-interface has been disabled for lack of a legitimate use case.  If you have one, please send an email to<EMAIL_ADDRESS>

Ok that's starting to make more sense. I think the answer is in the conntrack tuning here. Greyd will keep each connection around for roughly 30 to 60 seconds (for grey listed connections) and blacklisted around even up to 300 seconds, so it will be heavier on conntrack then other programs.
-------- Original message --------
From: zsozso<EMAIL_ADDRESS>Date:04/03/2015  7:40 PM  (GMT+10:00)
To: mikey-austin/greyd<EMAIL_ADDRESS>Cc: Mikey Austin<EMAIL_ADDRESS>Subject: Re: [greyd] Error on debian (#2)
No stress test, just on a backup mx server (big domain).
I think I can limit up the the hash table or /proc/sys/net/ipv4/netfilter/ip_conntrack_max but I guess it is only temporay solution.
I'm not sure, but the conntract table is just increasing and nothing get out. Am I wrong?
—
Reply to this email directly or view it on GitHub.

Thanks for all of your info. Regarding the CPU issue, the reason is the greylisting "reader" process is blocking waiting for grey data from the main process, but the main process has died unexpectedly, and as a result reading from the pipe is returning 0 straight away, sending it into an infinite loop.
I have fixed this in commit 716ec51. I was able to reproduce this behaviour by sending SIGKILL to the parent process, which would leave the reader process spinning as described above.
Now we just need to find out which of the other 3 processes is dying and why.

Thank you for the fix, I'll try.
After the restart I've got this. I've deleted the exact IP addresses:
.... (many lines)
greyd[25500]: deleting expired grey entry 94....
greyd[25500]: deleting expired grey entry 167....
greyd[25500]: deleting expired grey entry 167.....
greyd[25500]: deleting expired grey entry 198....
greyd[25500]: deleting expired grey entry 89....
Lock table is out of available lock entries
greyd[25500]: Error retrieving next record: Cannot allocate memory
greyd[25502]: stopping main process
greyd[25501]: stopping firewall process

Aha! It seems a child process (either the grey reader or grey updater processes) is exiting as the berkeley db locking limits have been reached (which is a fatal error). I believe the default number of Berkeley db locks is 1000, so you should definitely double it. Have a go placing the following in your /usr/local/var/greyd/DB_CONFIG file:
set_lk_max_locks   2000
set_lk_max_lockers 2000
set_lk_max_objects 2000
I think you may need to stop greyd/greylogd and do a db_recover in order to re-build the environment:
# db_recover -cvh /usr/local/var/greyd/
For your environment you may want to tune it more finely:
http://docs.oracle.com/cd/E17076_02/html/programmer_reference/env_size.html
I will definitely add the ability to configure these berkeley db resources in the greyd.conf in the near future, as well as reporting on the existing limits with something like greyd -V.

Hi zsozso, did you try tuning your Berkeley DB? If so, how did it go? If it managed to solve your issues, I'd like to create some wiki pages with greyd performance tuning information.

Hi,
Unfortunately I didn't have  time to test :(
There is something with "cleaning process" because when I blocked firewall after a big stress test (so no more traffic to greyd) and  after 6-8 hours later greyd exited.
I guess in the meantime the greyd process tried to remove old entries from DB but that was'nt successfull.
If you can you should take a look to those functions.

Ok great. I'll close this particular issue then.