About safdnet_20e_nuscenes.yaml

Thank you for releasing the code. Regarding safdnet_20e_nuscenes.yaml, I have a question about whether the file nuscenes_10sweeps_withvelo_lidar.npy on line 17 is correct. Because during the generation of NuScenes files, there is no nuscenes_10sweeps_withvelo_lidar.npy file generated.

Thank you for releasing the code. Regarding safdnet_20e_nuscenes.yaml, I have a question about whether the file nuscenes_10sweeps_withvelo_lidar.npy on line 17 is correct. Because during the generation of NuScenes files, there is no nuscenes_10sweeps_withvelo_lidar.npy file generated.

python -m pcdet.datasets.nuscenes.nuscenes_dataset --func create_nuscenes_infos \
    --cfg_file tools/cfgs/dataset_configs/nuscenes_dataset.yaml \
    --version v1.0-trainval \
    --share_memory

Add the last line to use share memory.


⚠ Node - us-2d538c95.yalaso.top has degraded performance

In c943d92, Node - us-2d538c95.yalaso.top (http://us-2d538c95.yalaso.top/api/v1/ping) experienced degraded performance:

HTTP code: 200
Response time: 2553 ms

Resolved: Node - us-2d538c95.yalaso.top performance has improved in ea31a43 after 11 minutes.


Rm old silos

@Brean0 seeds also needs to be removed here. but is also deeply engrained in the tests
https://github.com/BeanstalkFarms/Beanstalk/pull/888/files#diff-84e80fbf84a48c6d151b08d628223fe89d3ef4cb8fcd9e6b92c3b1da76252f8aL119


Provide certificates in a "haproxy friendly" .pem format

Hey,
I've created a wrapper that generates an extra haproxy.pem file compatible with haproxy. Maybe you'd like to use it instead of official image.

Hmm... I think it might not work with apache plugin you're using.

+1 on this, would make this already cool image better.

Adding this functionality is definitely on the roadmap. Thank you @sheerun for this first approach. Unfortunately I do not like the approach of extending the "docker image dependency tree". I would rather merge this "letsencrypt.sh" script into this repository here but I don't even think that we should store this file on disk but rather make it "downloadable" and produce it on the fly.
I am improving the codebase anyhow at the moment, so one can (optionally) do stuff like
curl --user user:password https://example.com/certs/example.com/bundle.pem
This will be achieved via a node http(s) server. I have half of it done, will push to develop soon and hope for your feedback.


Does svgr should convert file names to the PascalCase?

Hey,
I saw in the Readme, that file names have to be transformed to the PascalCase. Is it the expected behavior?
I've tried to use svgr and the output file names exactly the same as the svgs. In my case, the filenames are in kebab-case

@alexeybondarenko good idea, my svg files are already exported in PascalCase, that's why I don't have the problem. Feel free to contribute!

@neoziro cool! I would add the presets of transformations, like camelCase, PascalCase, kebab-case, and snack_case and the ability to pass the custom script of transformation.

@alexeybondarenko let's keep it simple and opinionated, just transform it in PascalCase since it is the good practice for React.

I prefer to not make it configurable, it will add complexity.

Awesome! Thank you! 😁

PR #4

Fixed by #4


deepeval AttributeError: 'str' object has no attribute 'answer'

❗BEFORE YOU BEGIN❗
Are you on discord? 🤗 We'd love to have you asking questions on discord instead: https://discord.com/invite/a3K9c8GRGt
Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
in class MMLU
Add any other context about the problem here.
res: MultipleChoiceSchema = model.generate(
prompt=prompt, schema=MultipleChoiceSchema
)
prediction = res.answer
except TypeError:
prompt += (
"\n\nOutput 'A', 'B', 'C', or 'D'. Full answer not needed."
)
prediction = model.generate(prompt)
for res from model.generate there's no answer attribute
and i already create a custom model from example like https://docs.confident-ai.com/docs/benchmarks-introduction

Hey @habout632. Please try implementing your custom model according to the following guide: https://docs.confident-ai.com/docs/guides-using-custom-llms#creating-a-custom-llm. If you pass a schema argument for your custom model, JSON enforcement should handle the answer attribute automatically. If no such argument is provided in the generate function signature, your model should trigger the TypeError section.


Automated cherry pick of #3325: fix: 避免解绑eip更新状态不及时导致再次同步出现public ip问题

Cherry pick of #3325 on release/2.11.
#3325: fix: 避免解绑eip更新状态不及时导致再次同步出现public ip问题

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.11@a186a2b). Click here to learn what that means.
The diff coverage is n/a.

@@              Coverage Diff               @@
##             release/2.11   #3327   +/-   ##
==============================================
  Coverage                ?   7.14%
==============================================
  Files                   ?     476
  Lines                   ?   77222
  Branches                ?       0
==============================================
  Hits                    ?    5514
  Misses                  ?   71244
  Partials                ?     464

Flag
Coverage Δ

#aFlag
7.14% <ø> (?)

Continue to review full report at Codecov.

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

/lgtm

/approve


Hey!
Thanks for joining in and helping out on this repo!
Honestly I'm a little overwhelmed that all of you wanted to join and help out!
And the speed and excitement at which y'all are going is intoxicating!
I asked for help because I was feeling burned out by starting too many projects in a tiny span of time. I'm recharging my batteries by hanging out people I love and trying out new creative things.
I'm going to unwatch this repo for a tiny while (which means I'll not get a notification unless you @ tag you me, feel free to do so if you want)
I think all of you have merging rights, @SaraVieira has publishing rights on npm, be nice to her 😄
I'll be back stronger and more excited!
brb!

Also please be nice because I'm the one acting as the danger bot so you will be seeing my face a lot 😝

Do they not have their own bot?

No you have to set up your own bot
On Mon, 28 Aug 2017, 21:30 Ashley<EMAIL_ADDRESS>wrote:

Do they not have their own bot?
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/siddharthkp/bundlesize/issues/121#issuecomment-325472199,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABALdb-IbWJBl6pLYftuDb1X7ODAyE3yks5scyOBgaJpZM4PE49l
.

@SaraVieira your tweet though 😆 . @siddharthkp take rest and distract yourself. You've done a lot for the community and you deserve this. Also give us a spoiler of your next video !!

Physics graduate !!

Thanks to you all. This project is great and a perfect example of how Open Source should work. 👍

In case anyone missed it, check this out:
https://twitter.com/siddharthkp/status/903128991040765953


implement lagom deploy

probably just going to wrap this: https://github.com/zeit/now-serve

https://github.com/zeit/now-client is what will be needed to used, however this asks for an api key (which you can get here.
However it seems that ns doesn't depend on now-client. Maybe it uses some other way?

@Haroenv I also created this a while back that deploys static content as a gist.
http://github.com/reimertz/gistploy
I just need to iterate on since it doesn't work anymore, probably due to rawgit/github changing something in their api.
Also, gistploy would be better since it's free and to be honest, zeit/now-serve is actually booting up a node service for each individual deployment, which I think would be a huge waste of energy since lagom is strictly static.

@Haroenv deploy should work in 0.3.0. please let me know if you find any issues. <3

Nice.  Maybe it's shortenedURL instead?

@Haroenv fixed now in v0.4.0. Sorry about that. refactored some code and forgot to fix variable rename at one spo..... exaclty! 💯

$ lagom deploy
◩         lagom: deploy
◩         status: loading index.html
◩         status: loading lagom.js
◩         status: processing external css lagom.css
◩         status: loading lagom.css
◩         status: creating gist
◩         status: shortening url
◩         deployed: http://lagom.hook.io/?c=vPRgE

lagom deploy
◩         lagom: deploy
◩         status: loading index.html
◩         status: loading lagom.js
◩         status: processing external css lagom.css
◩         status: loading lagom.css
◩         status: creating gist
◩         status: shortening url
◩         deployed: http://lagom.hook.io/?c=vPR2p

perfect now!


Focus Selection hotkey only focuses last 3d viewport if viewports > 1.

Godot version:
Build: bf4d398d4

OS/device including version:

Windows 10pro 64
Issue description:

When pressing F to focus on the selection, it will focus on the last viewport.
I expected it to only focus in the viewport the mouse is currently in.
Steps to reproduce:
Set the 3d view to have 2 or more viewports. Select a node and in any viewport except the last one press f.
Minimal reproduction project:

[x] I searched the existing GitHub issues for potential duplicates.

Can anyone still reproduce this bug in Godot 3.2.1 or 3.2.2beta4?

It seems mostly fixed. But you can still reproduce it by double clicking on a node in the scene tree. It ignore the other viewports and sticks with the first one.

Let's close as fixed then. The other issue with double-click the icon in the scene tree is trickier as it's not clear which viewport should be affected (first one, all of them, last focused one but that's tricky as the "focus" is easily lost when moving the cursor to the scene tree).


@vitejs/plugin-vue will remove the code comment when

Describe the bug
my vite plugin:
{
    name: 'client-only',
    transform(code, id, { ssr } = {}) {
        if (ssr) {
            // In ssr case, I need to do some transform according to the code comment. eg: //...
            return transform(code);
        }
    },
}

my vite config:
plugins: [
  vue(),
  clientOnly() // after the vue plugin
]

but I found if the *.vue' file's

Not sure if this is due to your tsconfig but in your compiler options do you have the "removeComments": true option?

Not sure if this is due to your tsconfig but in your compiler options do you have the "removeComments": true option?

I don't have this option, It still doesnt work even if I set it to false. This is my tsconfig.json
{
  "compilerOptions": {
    "baseUrl": "./",
    "target": "esnext",
    "module": "esnext",
    "moduleResolution": "node",
    "strict": true,
    "sourceMap": false,
    "resolveJsonModule": true,
    "esModuleInterop": true,
    "lib": [
      "esnext",
      "dom"
    ],
    "skipLibCheck": true,
    "declaration": true,
    "removeComments": false, // set it false
    "paths": {
      "@demo/*": [
        "packages/demo/*"
      ],
      "@shared/*": [
        "packages/shared/*"
      ],
      "@share/*": [
        "packages/share/*"
      ]
    }
  },
  "include": [
    "packages/**/*.ts",
    "packages/**/*.d.ts",
    "packages/**/*.vue",
    "senna.config.ts"
  ],
  "compileOnSave": true
}

TS in Vue is being processed via esbuild. esbuild drops comments by default (https://github.com/evanw/esbuild/issues/221) and there isn't a way to configure it, so I don't think there's a way around it, other than changing your strategy.
It seems like you're doing something like https://github.com/bluwy/vite-plugin-iso-import though. Perhaps that might help.

TS in Vue is being processed via esbuild. esbuild drops comments by default (evanw/esbuild#221) and there isn't a way to configure it, so I don't think there's a way around it, other than changing your strategy.
It seems like you're doing something like https://github.com/bluwy/vite-plugin-iso-import though. Perhaps that might help.

Its helpful for me,  Thanks,  Stared 👍

I don't think this will be fixed by esbuild soon, and it may as well be intended behaviour for them, as custom comments usually shouldn't affect the bundling output (except special pure comments etc). So I'll close this for now.


Why checking for fewer than 6 parts in os/user/lookup_unix.go?

Why checking for fewer than six parts when skipping lines with fewer than 6 colons before?
Why double checking at all?
In contrast to this /etc/group is checked for 3 colons and 4 parts.
https://github.com/golang/go/blob/6986c02d72db6806a46406ef398aa10f26018c20/src/os/user/lookup_unix.go#L158
https://github.com/golang/go/blob/6986c02d72db6806a46406ef398aa10f26018c20/src/os/user/lookup_unix.go#L163

Because you can have 6 colons and less than 6 parts.
e.g. kevin::1005:1006::/home/kevin:/usr/bin/zsh
For questions please see https://github.com/golang/go/wiki/Questions

See above, closing.

This is not correct. Your example yields 7 parts as well:
package main

import (
        "bytes"
        "fmt"
        "strings"
)

func main() {
        colon := []byte(":")

        line := []byte("kevin::1005:1006::/home/kevin:/usr/bin/zsh")

        parts := strings.SplitN(string(line), ":", 7)

        fmt.Println(bytes.Count(line, colon) < 6, len(parts), parts)
}

$ go run .
false 7 [kevin  1005 1006  /home/kevin /usr/bin/zsh]

oops my bad, I remembered SplitN wrong

The code is likely redundant.  Want to send a fix?


FEATURE REQUEST - Instructions to use the program in IDE like pyCharm

Expected Behavior

Actual Behavior

Your FULL config.json (remove your username, password, gmapkey and any other private info)

Output when issue occurred

Steps to Reproduce

Other Information
OS:

Branch:

Git Commit:

Python Version:

Any other relevant files/configs (eg: path files)

Short Description

the instructions tells you how to load the clone to the IDE so beginners can also easily see how the program works.
Possible solution

A person with the common knowledge in programming should be able to explain how it can be used in IDE.
How it would help others

^

What's the purpose?

@ocean07 a person using an IDE should already know a bit of programing ...
or is this a Chicken or egg problem https://en.wikipedia.org/wiki/Chicken_or_the_egg

I just started programming and i was trying to get the clone to work in IDE but got nowhere. I little written help would be helpful.

You can't run the virtualenv in an IDE I guess.. But, if you happen to have all necessary packages installed, then a "Run" on pokecly.py file would do what you want.

you can set the project interpreter to the already created virtualenv (in reply to @iruy )


inlineEditField Sample?

Sample (which sample are you talking about)
NA
Suggestion (the more details, the better)
As far as I can see, there aren't many inlineEditField samples. The main thing I'm finding with this is that our end users don't have any idea it's there. I'm trying to come up with what amounts to a toggle to sort of turn it on and off for the Title field.
This json works and shows the Title with the pencil to the right of it. Clicking on the pencil doesn't do anything, though. What it does do is bring the "editability" of the Title to the user's attention.

I'll continue to work on this, but if anyone has already climbed this hill, it would be great to get a nice, simple sample into the repo.
{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
  "elmType": "div",
  "children": [
    {
      "elmType": "div",
      "style": {
        "display": "flex",
        "flex-wrap": "wrap",
        "align-items": "left"
      },
      "txtContent": "@currentField",
      "inlineEditField": "@currentField"
    },
    {
      "elmType": "div",
      "attributes": {
        "iconName": "Edit"
      },
      "style":{
        "margin": "5px"
      }
    }
  ]
}

Dear Mr. @sympmarc,
I don't know if below sample can simplify and help users to make better use of inlineEditField or achieve your requested sample. if more details are needed please advice.
Thank you for your attention.
{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
  "elmType": "div",
  "children": [
    {
      "elmType": "div",
      "style": {
        "position": "fixed",
        "display": "flex",
            "flex-wrap": "wrap",
            "align-items": "left"
      },
      "children": [
        {
          "elmType": "div",
          "style": {
            "display": "flex",
            "flex-wrap": "wrap",
            "align-items": "left"
          },
          "txtContent": "@currentField"
        }
      ]
    },
    {
      "elmType": "div",
      "children": [
        {
          "elmType": "div",
          "style": {
            "cursor": "pointer",
            "flex-wrap": "wrap",
            "display": "flex",
            "align-items": "left"
          },
          "inlineEditField": "@currentField",
          "children": [
            {
              "elmType": "div",
              "style": {
                "display": "flex",
                "flex-wrap": "wrap",
                "align-items": "left",
                "color": "rgba(0, 0, 0, 0)"
              },
              "txtContent": "@currentField"
            },
            {
              "elmType": "div",
              "style": {
                "margin": "5px"
              },
              "attributes": {
                "iconName": "Edit"
              },
              "customCardProps": {
                "openOnEvent": "hover",
                "directionalHint": "topCenter",
                "isBeakVisible": true,
                "formatter": {
                  "elmType": "div",
                  "style": {
                    "padding": "10px"
                  },
                  "txtContent": "Allow to edit content"
                }
              }
            }

          ]
        }
      ]
    }
  ]
}

That's great, @aaclage! That's exactly the improvement I was looking for.
That isn't a sample in the repo today, is it? IMO, it should be.

Normally, this type of sample you can find in json mix with custom solutions and not dedicated sample. Maybe it could be 💡 for regular contributers:
@tecchan1107
@Fedes365
@anandragav

I cleaned this up a little, as I saw some weird behavior on scroll.
{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/v2/column-formatting.schema.json",
  "elmType": "div",
  "children": [
    {
      "elmType": "div",
      "children": [
        {
          "elmType": "div",
          "style": {
            "cursor": "pointer",
            "flex-wrap": "wrap",
            "display": "flex",
            "align-items": "left"
          },
          "inlineEditField": "@currentField",
          "children": [
            {
              "elmType": "div",
              "txtContent": "@currentField"
            },
            {
              "elmType": "div",
              "style": {
                "margin": "5px"
              },
              "attributes": {
                "iconName": "Edit"
              },
              "customCardProps": {
                "openOnEvent": "hover",
                "directionalHint": "topCenter",
                "isBeakVisible": true,
                "formatter": {
                  "elmType": "div",
                  "style": {
                    "padding": "10px"
                  },
                  "txtContent": "Edit content"
                }
              }
            }
          ]
        }
      ]
    }
  ]
}

Great, thanks for the cleaning.


No effect using Windows' CMD

I really like the idea of this HyperTerm plugin, but on my Windows machine, it doesn't seem to have any effect. Opening another tab doesn't cd to any other directories automatically; it always opens to my user folder (%userprofile%).
I've got mingw64 binaries in my PATH so I have access to some POSIX commands like cd and pwd. I'm not using the Bash built into windows like in issue #16 (although I may explore this as a decent alternative to mingw64 to get a native bash shell instead of cmd.exe).
If you have any questions as to my setup, ask away!

Is this a dup? I thought I read somewhere that Windows support wasn't planned. Is that the case?

Hey @colbin8r I've updated hypercwd so it work on windows now. If you install version 1.0.0 you should get the pluggin with windows support. Going to close this one for now, please re-open this one if the pluggin doesn't work for you!


Folder widget help patch, still using old elementa root

Looks like this one was fixed for previous release :)


Migration guide

The guide is "How To Migrate A User Project From Palisade To OpenFHE"
The changes will merge into dev and after that will go in to the main branch
No CI jobs will run for this PR as there are no code changes

LGTM! Just a heads up, the documentation build seems to be out-of-date


Set fallback theme before page load

By doing this, a theme is already set when the page loads. It is likely
that the user will use the default theme, and this will trick Lighthouse
and search engines into believing that there are fewer cumulative page
shifts.

Codecov Report

Merging #200 (565e513) into main (073f8f3) will increase coverage by 0.12%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #200      +/-   ##
==========================================
+ Coverage   82.74%   82.86%   +0.12%
==========================================
  Files          28       28
  Lines         284      286       +2
  Branches       60       60
==========================================
+ Hits          235      237       +2
  Misses         49       49

Impacted Files
Coverage Δ

src/utils/theme-utils.ts
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


contextual logging

Apicast operator supports multiple apicast instances. This PR adds  context about the apicast instance the log related to (CR name and namespace)
Note that the baseController's logger instance will be contextualized to the apicast instance.

ping @miguelsorianod


How to sign announced aggregate bonded transactions?

I'm trying to add a new cosignatory in a 2-of-2 multisig account with following this documentation.
I'm using aggregate bonded to announce the transaction and because all cosigners have not signed it yet, I need to find a way how to sign announced aggregate bonded transactions.
I have read this documentation Signing announced aggregate bonded transactions and tried to follow the instructions and run the code but it was not giving any response.
This is the code to sign announced aggregate bonded transactions
const privateKey = process.env.PRIVATE_KEY as string;

const account = Account.createFromPrivateKey(privateKey, NetworkType.MIJIN_TEST);
const accountHttp = new AccountHttp('http://localhost:3000');
const transactionHttp = new TransactionHttp('http://localhost:3000');

accountHttp.aggregateBondedTransactions(account.publicAccount)
    .flatMap((_) => _)
    .filter((_) => !_.signedByAccount(account.publicAccount))
    .map(transaction => cosignAggregateBondedTransaction(transaction, account))
    .flatMap(cosignatureSignedTransaction => transactionHttp.announceAggregateBondedCosignature(cosignatureSignedTransaction))
    .subscribe(announcedTransaction => console.log(announcedTransaction),
        err => console.error(err));

I need you to check the next points:

are you running catapult on localhost? otherwise, you should point to the MIJIN_TEST network.
does accountHttp.aggregateBondedTransactions(account.publicAccount) return anything? It is possible that the account hasn't anything pending to be signed

Sorry I forgot to change the endpoint in the comment. in my code I use this endpoint http://api.beta.catapult.mijin.io:3000

accountHttp.aggregateBondedTransactions(account.publicAccount) does not return anything.
I checked the transaction using nem2-cli account aggregatebonded --publickey thePublicKey
I have tried with 3 public key:
if I use the publickey of the multisig account or cosigner which have signed the transaction it returns

but if I use the public key of cosigner which haven't signed the transaction it will returns this
```There aren't aggregate bonded transaction

if I want to follow the example how to add a new cosignatory from this documentation, how do I use this documentation to cosign aggregate bonded transactions that require being signed by one of the cosignatory account?

@aizaiz Sorry for the delay, I missed the latest message.
You have a 2-of-2 multisig. After announcing the aggregate transaction, another cosignatory should sign it to be included in a block.
You should fetch all pending aggregate bonded transactions from the multisig account. Afterwards, sign them with the second cosignatory.
`    const multisigAddress = Address.createFromRawAddress(rawAddress);
const cosignatoryAccount = Account.createFromPrivateKey(cosingatoryAddress, NetworkType.MIJIN_TEST);
accountHttp.aggregateBondedTransactions(multisigAddress)
  .flatMap((_) => _)
  .filter((_) => !_.signedByAccount(cosignatoryAccount.publicAccount))
  .map(transaction => cosignAggregateBondedTransaction(transaction, cosignatoryAccount))
  .flatMap(cosignatureSignedTransaction => transactionHttp.announceAggregateBondedCosignature(cosignatureSignedTransaction))
  .subscribe(announcedTransaction => console.log(announcedTransaction),
    err => console.error(err));

`
Note: You could get the list of the multisig accounts where an account is a cosigner using getMultisigAccountInfo method.
`const accountHttp = new AccountHttp('http://localhost:3000');
const address = Address.createFromRawAddress('SCSGBN-HYJD6P-KJHACX-3R2BI3-QUMMOY-QSNW5J-ICLK');
accountHttp
.getMultisigAccountInfo(address)
.subscribe(accountInfo => console.log(accountInfo), err => console.error(err));
`


DOCS-7393-updated the retention period

The required change was already submitted in a previous PR.


[DISCUSSION] Add separate crate to cover spark builtin functions

Is your feature request related to a problem or challenge? Please describe what you are trying to do.
The discussion is to collect community thoughts on implementing spark builtin functions listed https://spark.apache.org/docs/3.2.0/api/sql/
We more often face the requests to implement Spark functions and the use case highly depends on person/company stack, one treats the spark more important, for others its opposite and PG compatibility is a priority
Builtin function list between Postgres and Spark are expectedly not the same. I believe it can be rare and worse cases when the function name the same but signature and/or return type is different.
The discussion goal is to find out how to organize DF and keep compatibility for majors like Spark, Postgres, and perhaps other systems

Describe the solution you'd like
@alamb in https://github.com/apache/arrow-datafusion/issues/5568#issuecomment-1466608119 made a proposition to create an extensible crate for spark functions, or even it can be a separate subproject so the PG users have the possibility to exclude Spark functions.

Describe alternatives you've considered

Not doing this
Additional context

Created after https://github.com/apache/arrow-datafusion/issues/5568#issuecomment-1466608119

It seems reasonable to me to have separate Spark and PG implementations of functions. This would make it more attractive for users wanting to migrate from Spark to DataFusion.
I like the idea of having a new datafusion-spark crate with anything related to Spark compatibility and integration (such as Spark SQL dialect and Spark built-in functions). I wonder if @yjshen has any thoughts on this since he built a Spark + DataFusion integration in Blaze.

Separating Spark functions into a special crate seems reasonable but supporting Spark UDFs requires significant effort. This is because many UDFs in Spark are designed to be compatible with Hive and handle corner cases differently than other databases like PG. These corner cases increase the workload of integrating Spark/Hive with DataFusion.
When developing Blaze, we must compare the implementations of both engines or port tests first to ensure that they have identical semantics before passing a UDF for execution by DataFusion.

I also agree (unsurprisingly) that a separate crate for libraries of functions would be valuable.
Overall, keeping datafusion setup with a core and then a bunch of extension points,  such that different sets of functionalty can be assembled for whatever usecase people want would be my ideal.
For example, there are already a bunch of functions that in theory should be "optional" via feature flags--
https://github.com/apache/arrow-datafusion/blob/6bfede0e1e1a09bd06ea0166e01c0ad4834a1721/datafusion/physical-expr/Cargo.toml#L35-L42
But I am not sure how well the vision and reality match (as in does anyone use datafusion without them)

@alamb you are right, we can't provide optional builtin functions, that would be more than unexpected.
In wonderful example #5568 (Implement to_unixtime function)  the same functionality can be achieved differently in
Spark to_unix_timestamp(now())
PG extract(epoch from now())
Trino select to_unixtime(now())
I'm not even sure if we need extra crates now. My personal feeling is Trino trying to adopt all possible syntaxes.
Perhaps we go that way and just keep extending the list of builtin functions and in case of conflicts(if any) the PG signature/return type could be as dominant

@alamb do we need more discussion?
We can try to adopt syntaxes from major engines like Spark, PG, etc, this will make the migration to DF easier.
However The downside is  supporting the same functionality in different implementations leading to code growth, and probably more time to support.

So my opinion on this matter is that ideally DataFusion should be an extensible engine and so people using it can pick whatever parts they want to use and replace what they don't with their own implementations.
DataFusion includes a bunch of pre-built functionality (like the mostly compatible PG functions, parquet / json / etc readers, a memory catalog, etc) in order to get people started so they can focus on extending whatever is most important for their usecase.
So I think it would be great to have a separate crate with "spark compatible functions" (maybe also the same could be done for  a "postgres compatible functions crate"). I think the BuiltInFunction thing is not required long term and it would be better if all functions could behave the same as user defined functions
Then the question becomes "where is that crate's code stored"  -- it is probably fine initially to be in the main datafusion repo initially and if it gets too unweildy we could break it into its own repo or something.
But the ability to customize the functions available I think is key

BTW https://github.com/apache/arrow-datafusion/issues/8045  tracks the work to break apart the function libraries into smaller pieces. Once this is done I think adding making a crate of spark compatible functions will be pretty straightforward

I would like to recommend that each function crate also has a benches directory and any Cargo.toml file for those crates have criterion setup as a dev dependency.

But I am not sure how well the vision and reality match (as in does anyone use datafusion without them)

Well, I can say that for my current use case crypto and array functions are something that I'm unlikely to need. Every one's use case is different of course but it's a data point.

Here is a proposal of how to extract / organize the functions: https://github.com/apache/arrow-datafusion/issues/9100


Add custom Filters, Extensions in PebbleEngine from Application

The idea is that I want to extend Pebble template engine with custom Filters, Extensions.
For example I wish to use an extension built by me for my application. From Pebble {documentation ](http://www.mitchellbosecke.com/pebble/documentation/guide/extending-pebble) I see that it's very simple to do this:
PebbleEngine engine = new PebbleEngine();
engine.addExtension(new MyCustomExtension());

but I don't have access to PebbleEngine from Application.
A possible use case could be:
public class MyApplication extends Application {

   @Override
   protected void onInit() {
      PebbleEngine pebbleEngine = ((PebbleTemplateEngine) templateEngine).getPebbleEngine();
      engine.addExtension(new MyCustomExtension());

      // ... add routes
   }

}

I have the same problem with all template engines supported by Pippo (Freemarker was tested by me).
I don't know if it's not a good idea to make TemplateEngine generic like this:
public interface TemplateEngine<T> {

    // actual methods
    ...

    // new method
   public <T> get<a_good_name>();

}

Also I think that we can extend the concept to Servers (Jetty, Undertow) to "catch" the raw server and make some custom configuration (add a filter, or adjust a parameter). Maybe it's nice to have an interface
public interface X<T> {

    public <T> get<a_good_name>();

}

where X must be a nice and clear name.
With this interface I can modify TemplateEngine, WebServer to extends this interface.
What is your opinion?
PS. I have impression that the problem was discussed in other post but I didn't find the post :smile:

Yes. We should do this.  I have an immediate use-case for it - same as you.  I want to add filters or extensions to the Pebble instance.

What variant? :smile:

Add a simple getPebbleEngine() in PebbleTemplateEngine
Add generic to TemplateEngine + new method
Add interface X and modify TemplateEngine and WebServer signature

If it's 2. or 3. can you propose a nice name for the interface name and the method name? :smile:

It's gets a little tricky in the rest of the architecture when you start making everything generic.  Remember my proposal for subclassing router and routes and the immense amount of generic sigs in that PR?
I guess I would target 2 for now and see how that goes.
interface TemplateEngine<X> {
   X getEngine();
}

public class PebbleTemplateEngine implements TemplateEngine<PebbleEngine> {
    @Override
    PebbleEngine getEngine() {
        return engine;
    }
}

I think we should also pass Application to the init method.
void init(Application application, PebbleEngine engine);

That would make the setup instructions for this extension cleaner:

Done with this commit.


fix(input-page) fix for input page

What:
A tiny fix for an inputs page.
Why:
To stop inputs page from crashing.
Checklist:

[ ] Documentation N/A
[ ] Tests N/A
[x] Ready to be merged

merged this fixed in #95


Nexus retention concept

Currently we upload artefacts of every pipeline run to a Nexus repository. This will fill up, so we should setup some cleanup policy in Nexus.
However, we also rely on artefacts being present: e.g. images are pushed to other namespaces based on the image artefacts in Nexus. If we clean up, then those images might not be pushed.
To sum it up, we want to clean up artefacts that we do not need anymore, but we do not really "know" which ones we still need.
One idea would be to have a long-term and a short-term Nexus repository and somehow move artifacts from one repo to the other when we know if we want to keep it long term. But how exactly would that work?

Given we rely on artifacts being present, would it be OK to keep the artifacts of the latest N builds, for instance?

Retention Policy is a responsibility that should be defined by the administrator of Nexus...

Agree. Given that we cannot really rely on artifacts being present.

would it be OK to keep the artifacts of the latest N builds, for instance

One issue I see with this is that if your application consists of multiple components, development may happen on only one of them (e.g. you have a service which you change all the time, and one which is quite stable). You would want to keep the artifacts of the stable component for a long time, potentially months or years.

For 0.1, we will do the following:

The pipeline will work with two Nexus repositories: one for temporary storage and one for permanent storage. Both repos are "raw" repositories and the names of both should be configurable in the ods-nexus config map.
Nexus admins are free to set any cleanup policies for the temporary storage. For permanent storage, cleanup policies should be aligned with applicable regulations (e.g. 30 years retention)
Pipelines must not assume that artifacts exist in temporary storage. To figure out if artifacts for a pipeline run exist or not, we will create a special artefact just containing the aggregate task status. If this artifact is present, pipelines may assume that all artifacts related to that pipeline run exist in Nexus. If the artifact is missing, it signals a cleanup in Nexus has happened.
The ods-start task will download all relevant artifacts (see #72), which means downloading artifacts for both the triggered repository as well as the artifacts for any referenced sub repositories. The ods-start task will fail if the "aggregate task status" artifact is missing for any sub repo, or if the "aggregate task status" is failed.
The ods-finish task will upload the artifacts generated in the current pipeline to the temporary storage. It will also upload all artifacts (from the triggered repo and the subrepos) if the target stage is qa or prod to keep records of those deployments.

Actually, for 0.1 we will implement this only partially. 0.1 will only upload to temporary storage. Uploading to permanent storage will come with 0.2.

0.2 will add the following:

In start task, try to download from permanent. If permanent does not have artifacts, try to download from temporary.
In finish task, upload to permanent if stage >= qa. Otherwise upload to temporary.

Since OpenShift Pipelines 1.5 is still not in the stable channel, moving the remaining tasks for 0.2 up to 0.1.


Get-SPOProvisioningTemplate - formula bug in calculated column

I may have found a bug in the Get-SPOProvisioningTemplate cmdlet. I updated these cmdlets from https://github.com/officedev/pnp-powershell/releases as of today and so am running version 2.1.1602.0.
Here's my scenario: in a subweb with Publishing features enabled, I have a calculated column in the "Pages" library called "Article7DayExpDate." This column has the formula "=[Article Date]+7" - at least that's how it looks in the browser (see attached Formula image).
However, the XML template that is pulled down from that web writes the formula as "=ArticleStartDate+7" - you can see it's using the internal name of the column inside the formula instead of retaining the "[Article Date]" format.
As a result, applying that template to a new subweb fails (see attached Error image).
To fix this, I manually edited the XML template to change "=ArticleStartDate+7" to "=[Article Date]+7" and upon running the apply method, found success (see attached Incorrect and Correct images).

Hi,
Thanks @skaggej for coming up with a workaround. I ran into the same issue (on prem with 15.0.4763.1000 and 2.2.1603.0).
I also think that the error message should provide the column Id to help troubleshooting.
Thanks

I agree. That would be helpful. The more info, the better.

I had the same issue, turns out that when I had a different Display name from the internal name it broke the calculated fields.

My formula in the template:
=[{fieldtitle:WSCSurname}]&", "&[{fieldtitle:WSCGender}]&", "&[{fieldtitle:WSCInitials}]&", "&[{fieldtitle:WSCTitle}]
resulted in the same error:
The formula refers to a column that does not exist.
The site columns all exist however the display name for one of the columns I refer to in the template has a space in it, maybe this will generate the error:
=Surname&", "&Gender&", "&Initials&", "&[Title prefix]

I am facing the same issue where I have taken calculated columns and also issues has in lookup columns causing problem to apply the PnP provision templates. Please let me know the work around here

Does the workaround above not solve the problem? Are you using the latest version?


Could not open FSharp.Tests

Normalized FSharpSourcesRoot logic in order to be able to open project "FSharp.Tests" in visual studio.

Thanks. BTW the failure is unrelated to your commit...

.


nerdctl sometimes fail to check if a container name already exists and ends-up creating duplicates

Description
Title says all
Steps to reproduce the issue
Unfortunately, I do not have a reproducer and this seems to happen under certain circumstances only.
This is definitely confirmed though:
apo@oliphant:~ $ sudo ./nerdctl ps
CONTAINER ID    IMAGE                                                         COMMAND                   CREATED              STATUS    PORTS                     NAMES
5e7d6291a423    docker.io/library/debian:latest                               "sleep 3600"              4 minutes ago        Up                                  restarttest
b579c38e3c55    docker.io/library/debian:latest                               "sleep 123"               6 seconds ago        Up                                  restarttest

apo@oliphant:~ $ sudo ./nerdctl rm restarttest
FATA[0000] 1 errors:
multiple IDs found with provided prefix: restarttest

Note error message above ^
Describe the results you received and expected
This should never happen.
What version of nerdctl are you using?
1.7.6
Are you using a variant of nerdctl? (e.g., Rancher Desktop)
None
Host information
No response

Actually, I have a reproducer:
while true; do sudo ./nerdctl run -d --restart always --name whatevername debian bash;  done

Will result after some time with:
apo@oliphant:~ $ sudo ./nerdctl ps -a | grep whatevername
016ee92893a2    docker.io/library/debian:latest                               "exit 1"                  About a minute ago    Created                                                   whatevername
2a9140621055    docker.io/library/debian:latest                               "exit 1"                  About a minute ago    Created                                                   whatevername
3b294997c56c    docker.io/library/debian:latest                               "bash"                    51 seconds ago        Restarting (0) 8 seconds ago                              whatevername
5fb34e4cd5a8    docker.io/library/debian:latest                               "bash"                    About a minute ago    Restarting (0) 8 seconds ago                              whatevername
86606352a9af    docker.io/library/debian:latest                               "exit 1"                  About a minute ago    Created                                                   whatevername
b3eebcb75094    docker.io/library/debian:latest                               "exit 1"                  About a minute ago    Created                                                   whatevername

Maybe the culprit here is the fact that the container almost immediately exits, but has a restart policy?

@AkihiroSuda this one is really bad
I'll look around and see if I can send a patch.

I am new here, but this is what I gathered from reading the source: looks like the question is managed in namestore.go with a filesystem based store.
Obviously, this is racy, so, I assume either:

there must be a lock mechanism in there that is not doing what it should
or the name is temporarily released for some other reason during the whole exit / restart cycle

I am leaning towards number 2 ^ but any opinion / more informed insight on this would be welcome.
Thanks!

Confirming there is a serious issue with the name store:
apo@oliphant:~ $ sudo ./nerdctl ps -a | grep whatever
ab08a16d1d74    docker.io/library/debian:latest                               "bash"                    7 minutes ago    Restarting (0) 6 seconds ago                              whatevername
b249f8f569bb    docker.io/library/debian:latest                               "bash"                    7 minutes ago    Restarting (0) 6 seconds ago

apo@oliphant:~ $ sudo ls -lA /var/lib/nerdctl/1935db59/names/default/ | grep whatever <- returns nothing - the file in the name store is gone.

Surprisingly, namestore.Release does not seem to ever be called - is there another routine altering the name store?

@AkihiroSuda I need help.
The problem lies in: https://github.com/containerd/nerdctl/blob/main/pkg/ocihook/ocihook.go#L486
During the whole run/restart cycle, onPostStop is being called, which does release the name (it should not - at least in that case).
The race condition happens if another Create is being called before the first container is restarted and gets to lock the name again.
The reproducer is actually much simpler - just start a failing container with --restart always, and after some time the name file will just disappear from /var/lib/nerdctl/XXX/names/default/.
Problem now is that I am out of my depth here.
I do not know in what conditions postStop is being called, and if we should do that cleanup at all.
I also do not know if the problem is worse than just loosing the name (it seems to be releasing the host file as well, at least if cni is true).
Do you have any insight for me here on what to do to fix this?
Thanks in advance.

query containers

This may increase the lookup cost from O(1) to O(n)?

query containerd

This may increase the lookup cost from O(1) to O(n)?

Probably (unless containerd lookup methods are smarter than just enumerating all containers).
It seems to me the OCI lifecycle events are just not enough for us to maintain a copy of the state on our side.
postStop just tells us that a container is done - and not whether it is going to be restarted or not.
Here is my current train of thoughts:
Solution A: keep namestore, and patch ocihook
Pretty much, in onStartContainer, call namestore.Acquire again (I have not verified that containerd will actually trigger these in that case - hopefully it does).
It will not fix the problem - but it will alleviate it by making the racy window much shorter - between postStop and onStart for the first (restart always, failing) container.

Downside is performance.
Also, I am not 100% positive this won't still be racy (really depends how containerd implements that).
Thoughts?

I guess we can try A first and see if it practically works. We may try B later if A is still too racy.

Ok.
I'll send a PR.

@AkihiroSuda
Unfortunately, I am seeing this somewhat often while parallelizing tests.
We might have to revisit this and consider plan B.


Upgrade to Tailwind 2.x

Will need to also replace the current Mix version with the latest version, and swap out Sass for PostCSS.

Looking forward to this update, as I have a Tailwind 2 layout I would like to build 😊

This is fixed as of Version 1.6!


Coder: highlight example failed code improvements

Highlight a specific failing line inside a block, instead of the block as in the picture:

The example failure highlights conflicts with the debugger step highlights:

Changed code shifts the example failure highlight position:

Highlight a specific failing line inside a block, instead of the block as in the picture.
Note: ideally, the assertExplicitProviderClassIs: nil; should be highlighted. It is not highlighted, because it does not appear in the AssertionFailure stack.

The example failure highlights conflicts with the debugger step highlights.
An underline text attribute is used in the debugger:

Changed code shifts the example failure highlight position.
The example failure highlights are not displayed in modified texts.


Update paye-tools to v16.x

There was a PR template when you submitted.
please fill it out, next time


feat: scale banny coin image on home page

What does this PR do and why?
Provide a description of what this PR does. Link to any relevant GitHub issues, Notion tasks or Discord discussions.
Screenshots or screen recordings
If applicable, provide screenshots or screen recordings to demonstrate the changes.
Acceptance checklist

[ ] I have evaluated the Approval Guidelines for this PR.
[ ] (if relevant) I have tested this PR in all supported browsers.
[ ] (if relevant) I have tested this PR in dark mode and light mode (if applicable).

Current dependencies on/for this PR:

main

PR #3472

PR #3473   👈

This comment was auto-generated by Graphite.

@wraeth-eth queued this pull request to merge with Graphite.

@wraeth-eth merged this pull request with Graphite.


Admin Theme - ContentPicker - Display and functionality issues

Navigation > Menu > Content Menu Item > Browse

Select button should be right aligned:

Spacing between last item and button
All buttons need icons
Pager styles are wrong:

Select single and Select Multiple UI both showing on a select single picker

Item 1 is because of this.
/* from orchard-content-items.less */
            @media (max-width: @screen-xs-max) {
                flex-direction: column-reverse;
            }

If the window was a few pixels wider by default it would appear as below. Is there another area that the classes .content-items .summary .properties is used? Looks like it could be removed if this is the only place that it applies?

This is with that media selector removed:

Just another not, is there an icon selected for use on a select button? The same icon will need to be used on the taxonomies parent term selector page:

@petedavis good work, if you want to carry on with this one and make a PR please go ahead, I have marked it assigned to me but I haven't begun any work on it yet.
The buttons do want icons. I have done some work in this area, I have notes ready for a full review to bring all of the icons in line. I put some initial docs here. I picked one common icon for each action based on usage already in place in the admin theme repo. I also have a big list of notes not published with buttons that use variations or non-standard icons which I hope to bring them all in line before the theme reaches dev branch. So it looks like they should have:
<i class="fa fa-check" aria-hidden="true"></i> @T("Select")

No probs I will fix a few of them. Also done some rearranging so the admin theme font and colors are used. It was also overwriting the font awesome font-family on icon elements. Page could probably do with a restructure to use a responsive grid layout rather than the current fixed width of 640px.
Currently there is no suggestion for "Apply" in the list. Check feels appropriate, but would clash with select?
Also I have reduced the font size of the metadata to try and ensure it is always in a single line.

fixed by 5c519a1a045ffefc9fd0ba09f5a39a6cc28b0719
I reapplied @petedavis PR on a commit and made some tweaks on it just for the records.


jyputer cookbook for 06-designing multi step tasks

A fully functional Jypter cookbook can be opened in Google Collab and runs without any issues (as long as you remember to use your API keys). Proof of working functionality is below.

[!IMPORTANT]
Adds Jupyter notebook for multi-step task execution with Julep and IntelliJ IDEA configuration files.

Jupyter Notebook:

Adds 06-Designing_Multi-Step_Tasks.py to demonstrate multi-step task execution using Julep.
Includes task definition, agent creation, and execution steps.

IDE Configuration:

Adds IntelliJ IDEA configuration files: .gitignore, profiles_settings.xml, julep.iml, misc.xml, modules.xml, vcs.xml.
Configures Python SDK and Git VCS mappings.

This description was created by  for f5c2ea1911074e0da274b73a8a6bb4b5ff04ed08. It will automatically update as commits are pushed.

Also, from the screenshots you shared, it doesn't seem that the task is being completed. It's only generating the prompt in the first prompt step. Please take this into account too.


xml2kvp: consider schema for default configurations

With the new JSON editor in place, possible to write schema that JSON would be/could be validated against

Closing, dupe #220


Keptn Smart Auth: Autofetch keptn endpoint and api-token

Signed-off-by: ankitjain28may<EMAIL_ADDRESS>

[ ] Can you please add the message "CLI is not authenticated" in case of ClusterIP / NotePort. (to inform the user about the current status)

Codecov Report

Merging #2733 (18ba47f) into master (9bd9c79) will decrease coverage by 13.64%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           master    #2733       +/-   ##
===========================================
- Coverage   36.26%   22.61%   -13.65%
===========================================
  Files         161       50      -111
  Lines        9288     1110     -8178
  Branches      197      197
===========================================
- Hits         3368      251     -3117
+ Misses       5381      832     -4549
+ Partials      539       27      -512

Flag
Coverage Δ

moduleA
22.61% <ø> (-0.27%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

bridge/client/app/_services/data.service.ts
0.98% <0.00%> (-0.12%)
:arrow_down:

...lient/app/project-board/project-board.component.ts
2.83% <0.00%> (-0.03%)
:arrow_down:

bridge/client/app/_models/service.ts
0.00% <0.00%> (ø)

helm-service/controller/action_handler.go

platform-support/openshift-route-service/main.go

api/ws/hub.go

...ce/pkg/handler/approval_triggered_event_handler.go

helm-service/pkg/helm/helm_helper.go

cli/cmd/update.go

.../pkg/configurationchanger/configuration_changer.go

... and 100 more

Continue to review full report at Codecov.

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

@bacherfl The unit tests are failing because it needs this PR to be merged - https://github.com/keptn/kubernetes-utils/pull/13

@bacherfl The unit tests are failing because it needs this PR to be merged - keptn/kubernetes-utils#13

Ok, got it. Just had one comment about the other PR - once that has been adressed we can merge that one

@bacherfl The unit tests are failing because it needs this PR to be merged - keptn/kubernetes-utils#13

Ok, got it. Just had one comment about the other PR - once that has been adressed we can merge that one

@ankitjain28may I have just merged the kubernetes-utils PR. Can you please update the kubernetes-utils dependency to the latest status from the master branch? When that is done we can merge this PR as well

@bacherfl Have updated the dependency to latest master, Please review :)


Improve clang-tidy config

Go through https://clang.llvm.org/extra/clang-tidy/checks/list.html and enable as much as practical.
Improve the code to meet the new checks.

Work started on local branch, not pushed upstream since the workflow is really unhappy

Also, provide a clang format config, and check the codebase against it


Just Questions

Hi
I really liked the idea here, and I was and still looking for such library long ago.
However, before I dig into the details I would like to know/ask about the following

Is there any limitation on the json contents, can it handle large and nested json objects. And will that affect queries speed?
Can we use this library in .net maui application for android and ios?
Why Json.NET or other library will not be supported? Just give us a hint on this so we better understand your situation.

Hi, a word of warning first. Library is not used in production yet. Some features are not even implemented at the moment e.g. transformations in select query.Select(x => x.Property + 1).

There is no hard limit on object size. SQLite is used in the background with JSON1 extension, any theoretical limit is imposed by SQLite and available memory and storage. Library can handle nested objects. Speed is limited by de/serialization. EF Core with SQLite is a lot faster when it comes to generating SQL, I have an idea how to optimizing it, but don't have a lot of time and features are more important for me personally.
Minimal compilation target is netstandard2.0 so it can be used everywhere except for old .NET Framework versions < 4.8. I'm not sure if there are any specific limitations for mobile platforms, haven't tested it. If you do, please let me know.
System.Text.Json doesn't have any external dependency and it's faster than Json.NET.


Sum functionality for Numeric columns in transactions

This PR introduces a simple sum aggregation for transactions. It adds 3 functions, txn.SumInt64(), txn.SumUint64(), & txn.SumFloat64(), that sum the given Numeric type column with respect to the txn's current index, via txn_lock's rangeRead().
Since there are no prior built-in aggregation functions in the package, I understand if the goal is to let the user handler that functionality via a txn.Range() call. However, I believe that more work could be done to further parallelize this operation (read & add all chunks concurrently?). Due to the data access required for this, accounting for simple aggregations in column itself seems like the best place.

@kelindar Hello, I'm working on fixing the data race, but would this functionality be something wanted here in general?

this is a great feature IMO

I've been looking into the test failure in the most recent commit (https://github.com/kelindar/column/runs/6029689995?check_suite_focus=true) and can not replicate it through using Docker to test with Ubuntu 20.04 (Github Actions Workflow uses Bullseye).
Test Dockerfile -
FROM golang:1.17-bullseye

WORKDIR /usr/

COPY go.mod go.sum ./
RUN go mod download && go mod verify

COPY . .
RUN go test -race -covermode atomic -coverprofile=profile.cov .

However, I did notice that the Github Actions are currently being run with Go 1.16 - https://github.com/kelindar/column/blob/main/.github/workflows/test.yml#L14. Is this something that should be updated, as go.mod indicates 1.17? I can't say this difference itself made the test non-deterministic, but is something to note.
If anyone would like to take a look themselves, I'd greatly appreciate it.

@Dreeseaw, first of all, thanks for the contribution. However, this one is a bit tricky, I need to better understand the use-case and the intent. The approach proposed seems to make the code more concise but not necessarily faster.
Currently we can sum all of the cells of a column the following manner:
var sum float64
players.Query(func(txn *Txn) error {
    balance := txn.Float64("balance")
    txn.Range(func(idx uint32) {
        v, _ := balance.Get()
        sum += v
    })
    return nil
})

Now, there's a few of problems with this code:

It's very verbose to write for this use-case of simply summing values
It's not parallelised by default, as you'd need to write more code to create several goroutines
It's not vectorised and cannot be since we do not have access to the raw data array

What this PR is proposing would solve problem (1) but not (2) or (3), which could potentially be added in future releases.
players.Query(func(txn *Txn) error {
    sum := txn.SumFloat64("balance")
    return nil
})

There's a couple problems with this approach as well:

The aggregation functions SumFloat64(), SumInt64(), SumUint64() need to exist for each type which multiplies the code. Generics don't seem to work in this case since we can't add generic methods.
It uses string column instead of the column reader, which breaks the API parity.
It is also adding complexity to the library itself which means that we'll have more code to maintain, potentially more bugs.

Moreover, once we open this pandora's box, we'll also need to implement other aggregation functions such as Min(), Max(), Avg() and so on.
Now, I do agree that having aggregation functions is useful in the library, we just need to think a bit more about the right way of adding it. What we could do is instead add these functions onto the column readers themselves such as float64Reader. To avoid code duplication we might need to look into the generics for these readers, or simply generate the appropriate code as we currently do.
Ideally, our API should look relatively simple and in line with the current design:
players.Query(func(txn *Txn) error {
    sum := txn.Float64("balance").Sum()
    return nil
})

This would solve for problem (1) by making this code more concise. We also have the ability to solve for (3) given that these readers have access to raw data of the column, hence we can use SIMD vectorisation to optimise certain aggregations, such as sum, and initially the implementation would rely on the txn.Range() function itself to maximise code reuse, as I have tried to optimise this function and all future optimisation efforts can be done there.
Now, for the parallelisation issue, it's quite tricky and I don't know how to properly solve it on the API design at the moment. I do think if we vectorise these there will not be a major need for parallelisation unless you operate on very large arrays. We could consider introducing something like RangeParallel() to explicitly iterate chunk by chunk in multiple goroutines, but it might bring other problems.

@kelindar Thanks for the response! I really appreciate hearing from you.
I agree that my original implementation isn't that well thought-out. I've been playing around with an API structure more inline with what's already existing, and hit a little snag trying to implement the functionality as you've defined above -
players.Query(func(txn *Txn) error {
    sum := txn.Float64("balance").Sum()
    return nil
})

which would require a Sum from numberReaders (column_generate.go) -
func (s numberReader) Sum() number {
    // no access to txn.rangeRead
    // current readers solely operate at *cursor, not entire column
}

The only similar functionality to aggregations is filtering (accessing entire column wrt txn index), which is done via the txn.FilterInt64 & so on, giving it access to rangeRead and the internal, optimizable columnReader functions. I agree that the use of a string param in the API is confusing when the string param normally means reader or index creation.
To try and provide a similar-feeling API to the one you've shown above, I think adding two new generic functions are the best way to provide the functionality under the current API structure -
func (c *numberColumn) Sum(offset uint32, index bitmap.Bitmap) number {
        var total number
        total = 0

        // simple access for now, but more could be down in the future
        index.Range(func (idx uint32) {
                idx = offset + idx
                total = total + number(c.data[idx])
        })
        return total
}

func (txn *Txn) Sum(s *numberWriter) number {
        var total number
        total = 0

        txn.rangeRead(func(offset uint32, index bitmap.Bitmap) {
                total = total + s.reader.Sum(offset, index)
        })
        return total
}

Let me know what you think of this approach.
Also, I'm having a little trouble using genny to generate new column_number.go files for testing. I understand the purpose, but how exactly do you run the tool?

I finally got some time to clean up this mess: no more genny and refactored the numerical columns in #61. I've also added Sum() aggregation function implementation in this PR (see https://github.com/kelindar/column/pull/61/files#diff-3c51c19b5c0318fcbd139f437fe0df252d2e178dc856ebb7009856f3d0c5d9a3R169-R177), so this can now be done generically for the moment and possible to improve in future.

@kelindar I love the upgrades to Generics & exposing the whole txn for column readers!
Since you got around to adding Sum(), I went to clean up the README & my original tests, and I realized that Sums are not stable within a single transaction. This could effect not only the situation in the test, but also the one laid out in my README changes (filtering on the value based on a sum). While I haven't run similar tests for updates & deletes yet, I'd think they would struggle with the same problems as running simultaneous inserts.
To combat this, I think holding a read lock on each shard accessed in the Sum() from the time the aggregation is called until the end of the transaction is a solid beginning approach. This covers each of insert, update, & delete while providing a consistent view across all aggregations and functionality depend on those values. Let me know if you had another methodology in mind.

@Dreeseaw interesting point. So what you're seeing in this transaction test is actually expected, it's a non-repeatable read anomaly as 2 sums in the same transaction can return a different result. Basically, the current isolation level provided by the library is essentially read committed on a per-shard basis, so as soon as a separate transaction commits to the shard, you'll start seeing the data in the ongoing transactions.
Full read-lock on the transaction would be inefficient, as we would need to know which shards we'd need to lock. This specific scenario can be avoided by implementing repeatable read or snapshot isolation level, but similarly it will have a negative impact on performance and would also require a rather major re-design as each column would need to do something like a copy-on-write of each shard and we'd need to maintain a linked list of modified shards for each transaction.

Got it, thanks for the explanation.
I've removed the unstable test and left the added documentation and benchmark for you to run locally on your next PR.


check that theta is not nan before passing to tomopy recon

In backend.util.center.write_center, need check to ensure that input theta (from ProjectionsBase.angles_rad, which defaults to None) is not None.


Title sets to default when blinded

When blinded is set to true if there is a title set to something other than the default "Title" (e.g. "An interesting manuscript"), then the rendered version sets the title to "Title" instead of "An interesting manuscript".

In case it's helpful, here's a reprex (change "blinded" to "true" and the correct title shows up).
---
title: "Teaching causal inference: moving beyond 'correlation does not imply causation'"
format:
  jasa-pdf:
    keep-tex: true
    journal:
      blinded: true
  jasa-html: default
date: last-modified
author:
  - name: Nicholas Jon Horton
    affiliations:
      - name: Amherst College
        department: Department of Mathematics and Statistics
        orcid:
abstract: |
  No abstract for editorial
keywords:
  - no keywords for editorial
bibliography: bibliography.bib
---

Data science and statistics are tools that can help extract meaning from data.
However, the process of making decisions using data is complicated by many things, including sampling error (a major component of our curriculum) and non-sampling error (critical real-world issues less commonly taught that can all too easily lead to misleading findings).
As but one example of the latter, observed associations might be explained by other measured or unmeasured factors.

## Disclosure statement

The authors have no conflicts of interest to declare.

Here is how that reprex shows on my end, followed by session info:

sessionInfo()
R version 4.2.1 (2022-06-23)
Platform: x86_64-apple-darwin17.0 (64-bit)
Running under: macOS Big Sur ... 10.16
Matrix products: defaultBLAS:   /Library/Frameworks/R.framework/Versions/4.2/Resources/lib/libRblas.0.dylib.
LAPACK: /Library/Frameworks/R.framework/Versions/4.2/Resources/lib/libRlapack.dylib
locale:[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:[1] stats     graphics  grDevices utils     datasets  methods   base2
loaded via a namespace (and not attached):
[1] compiler_4.2.1  magrittr_2.0.3  fastmap_1.1.0   cli_3.4.1
[5] tools_4.2.1     htmltools_0.5.3 rstudioapi_0.14 yaml_2.3.6
[9] stringi_1.7.8   rmarkdown_2.18  knitr_1.40stringr_1.4.1
[13] xfun_0.34digest_0.6.30   jsonlite_1.8.3  rlang_1.0.6
[17] evaluate_0.18
Darwin Kernel Version 22.3.0

Thanks @dragonstyle. I was responding to @nicholasjhorton with reproducing reprex. Let me try with 0.10.1

It looked to me like I originally just made an error porting the JASA template, but if the behavior is different than what you expect, let me know and I'll make changes!

Works! Thank you!


[PROJECT] New contribution moderation and spam Q3/Q4 2020

:rotating_light: :rotating_light: :rotating_light: We want community feedback on this! Please read. :rotating_light: :rotating_light: :rotating_light:
This is our main issues for discussion of the moderation project as a whole. If you have ideas for what you'd like to see relating to moderation on Open Collective, and it isn't mentioned in the issues linked in the Roadmap & Timeframe section, please comment here. For discussing specific goals/things we are implementing, please comment on those issues.
We also have the channel #moderation-spam on our Slack for general discussion and urgent queries.
Purpose
Moderation is an important part of any community or platform. At the beginning, many projects set out a code of conduct or community guidelines and moderation is dealt with in a manual fashion. But as platforms grow and attract a larger user base and the attention of a wider audience, it’s important to ensure that problems are dealt with as they arise and eventually anticipated and dealt with beforehand.
Open Collective is at particular risk as both a financial platform and as a platform based on transparency, making it a likely target for scammers, spammers, and those looking to take advantage. The Collectives we serve entrust us with both their money and their brands, and our success as a company depends on building and maintaining a reputation for safety, integrity, trustworthiness, and thoroughness.
Open Collective has had many ideas around moderation and implemented a few features (see opencollective/opencollective#2741), but largely moderation is still manual, is causing frustration for Collective admins, and has drawn attention to the platform negatively. It’s important to listen to this criticism and feedback; identify what we can do to improve the situation immediately and over the next few months; and realise that this will be an ongoing effort.
We need a plan that comprises:

short term solutions (‘quick wins’) that will alleviate the worst behaviours as soon as possible
medium-term solutions that will take a little more work but are also important to implement sooner rather than later
and long-term solutions and thinking about how we want to shape the platform as a whole as we move forward.

We want to work to keep our users’ trust, make it stronger, and grow through our reputation of having a strong community through effective moderation.
Guiding principles for this revamped moderation project

We want Open Collective to be a platform that is trusted.
We want Open Collective to have high friction for spammers and bad actors.
We want Open Collective to have low friction for users to moderate their Collectives as much or as little as they want, with a variety of tools available to them.
We want Open Collective to anticipate and be proactive about moderation needs going forward, rather than reactionary.

Owner
@sbinlondon
Prioritization

Does this serve our mission?

We are on a mission to help collaborative groups collect and spend money transparently.

As @Betree mentioned in our original project, yes, moderation is an essential building block to help groups collaborate healthily. Putting these tools in the hands of our users will make their work and our platform more sustainable and open/welcoming to all.

Will this help to make us financially sustainable within a year?

The direct impact of moderation on financial sustainability (in the sense of making money) is limited but if we lose our community's trust, then they will go elsewhere for what we are offering.

Is it feasible to build and maintain with our team and runway?

As Ben mentioned before, we have a lot on our plate, but a lot of issues described here can be tackled incrementally. It's important to keep things well-scoped, drill down to the core of each idea, and implement it quickly but properly, and remember to iterate. This will never be 'done' so make sure we can constantly and consistently deliver and build on each previous block.

Can this make us move faster?

While spam complaints/requests for support may not be the number one source of tickets in our support inbox anymore, a lot of the moderation work we do is still manual. Not only is it the right thing to do to empower our Collective/Host admins and users with tools themselves, but it will help the team move faster by automating manual moderation jobs, and help Collective admins do their jobs better by being able to focus on running a Collective instead of dealing with spam, etc.

Does this increase quality and not technical debt?

This project should not create any technical debt and should help us automate some things that are done manually right now (like 'search and destroy' spam profiles). It will definitely increase quality of the platform.

Will this bring us more Collective and financial contributors?

I believe that it would positively bring more Collectives and financial contributors to the platform. As Ben mentioned previously, not handling spam or offering good moderation tools can frustrate Collectives and drive people away and cause people to leave the platform. However, offering a platform where we allow Collectives and Hosts control over who can donate to their project, who is displayed on their websites in the sponsors section, who can interact with their Collective, etc... can positively raise our profile in the community via word of mouth and bring in people who want a platform they can trust.

Is this already solved elsewhere or is it our unique contribution?

Not a unique contribution, but every platform has moderation needs - some universal, some unique - and we should work to solve them using a variety of ideas both original or adapted from other sites/platforms who are doing it well.
Roadmap & Timeframe
Following the intro to this proposal there will be 3 separate sub-issues for our short-, mid-, and long-term goals that comprise this project.

New moderation project short-term goals/discussion: urgent priority, to be completed for our second Q3 sprint and beginning of Q4
New moderation project mid-term goals/discussion: high priority in relation to other issues, to be completed in Q3/Q4 2020
New moderation project long-term goals/discussion: medium/low priority in relation to other issues, to be discussed, scoped, planned, and implemented from the beginning of next year.

Success metrics

Fewer support requests regarding removing spam collectives/contributions
Addressing long-time community feedback on moderation
Increased trust in OC platform

Extra context
Community feedback and suggestions that influenced this proposal so far
Feedback from users via Twitter, Slack, and on our Github issues (some suggestions are duplicated as multiple people suggested similar things)

Suggestion to remove the incentive for spammers by ‘no-follow’ links and other things. “Otherwise if you try to ban e.g. gambling in particular in the TOS, you'll just play whack-a-mole forever with various shady groups trying to do the same grift.”
Request to block/reject sponsors: Tell x group “we don’t want your money”
Suggestion to notify Collectives or OC when the linked website in a profile changes, to prevent spammers from looking legit at first and then changing their info. (Note: this should probably be explicitly against TOS anyways and grounds for banning?)
Suggestion that OC should be involved in detecting ‘obvious’ spammers and denying any contributions by them. (Note: Ben’s ‘search and destroy’ already kind of does this in deleting obvious spammers but do we also block obvious spam contributions in between these monthly search and destroys?)
Suggestion that Collectives should be able to toggle on/off whether they want to manually approve every single contribution that comes in, saying that most probably won’t care, but some will.
Suggestion for feature where admins can reject/refund already-finalised sponsorship: “A way for a Collective to reject an already-finalized sponsorship, which would issue refund(s) and whatever else needs to happen in the database + being able to specify a reason for rejection is also going to be helpful (“offensive”, “spam”, etc), as this might improve the spam-detection heuristics.”
Suggestion to rethink how we advertise sponsorships and what sponsors get from them, or for us to teach Collectives how to make this more explicit: “Another idea is moving away from automatically placing links and logos anywhere, and in fact discouraging this for Collectives. there wasn’t really any guidance given to Collectives insofar as what the tiers might want to look like and what “rewards” sponsors should get, if any.  {Collective} was one of the first Collectives, so maybe things have changed since. Some Collectives feel that donors should not expect anything “extra” in return, since they already get value from using the open-source product in the first place… I’m starting to lean this way for {Collective}, but other Collectives have contributors that are living on donations (e.g., {Collective 2} ) so they would want to maximize donations.”
Disagreement that moderation should be down to Collective admins, or at least suggests that we should be considering more automated moderation tools for the future to reduce burden on maintainers: “Forcing Collectives to do this adds maintenance burden to - at least of your most successful and notable Collectives - groups that are already overburdened by maintenance. This ends up setting people up for failure and burnout since there'll inevitably be something that slips through or they'll have to have people actively monitoring it.”
Second suggestion that in addition to blocking unwanted sponsorships from happening in the first place, there is also a way to renege on/refund previously accepted sponsorships.

Spam and moderation tools already in place

“Search and destroy” obvious spam profiles
No-follow links: while it isn’t our intention, it’s clear that some ‘spam’ contributions are likely made with the intent of boosting SEO through links. An easy way to make this an unattractive prospect for these kinds of users is to add ‘no-follow’ tags to profile links that go outside the opencollective.com domain, which is the only place that users can set external links. This has been done in the last few weeks. (opencollective/opencollective-frontend#4920)
Limiting accounts (manually): either all features (no comments, expenses, or contributions) or specific features
Banning users/collective permanently (manual):  also prevents the same email from being used to sign up (see link above)
Open Collective is notified if profile websites/etc are updated with suspicious or spammy info
Other various things implemented via the previous moderation project

I don't have a ton to add here since this issue has laid out literally everything with amazing accuracy, but I just want to say this is incredibly well written. Excited to see this progress ❤

Small update: the "reject contribution" feature is being released to production today. We will turn the feature flag on for a few Collectives who have told us they have a huge problem with spam contributions or contributions they'd rather be able to reject for any reason. After a bit of testing with these Collectives, we hope to release the feature more widely 🎉

Hi All!   I just wanted to point out that we at Resonate have a Community Credentials project (with funding from the EU) to help address the problem of proving identity and verifiability of credentials in public or restricted community fora, WITHOUT the unnecessary disclosure of too much information to an intermediary or third party, or the community platform itself.  We think we can do that through the simple metaphor of portable (cross-community) 'badges' and credentials that you keep in (your own) digital wallet. Badges might inform community trust levels.    We have a 'know your co-operator' proposal to enable sharing the effort of on-boarding ceremonies / checks across co-operative communities.  Here's a draft press release that explains a little more.  Sorry if this is a red herring...  let me know if it's of interest?

I'm not sure if this belongs here, but it's also worth noting that you need to add nofollow attributes to links in their "about" section on their profile. For example https://opencollective.com/casino-topp#section-about is abusing links there to get SEO.

I'm not sure if this belongs here, but it's also worth noting that you need to add nofollow attributes to links in their "about" section on their profile. For example https://opencollective.com/casino-topp#section-about is abusing links there to get SEO.

@phated definitely. There's a work in progress about that in https://github.com/opencollective/opencollective/issues/3536

I'm not sure if this belongs here, but it's also worth noting that you need to add nofollow attributes to links in their "about" section on their profile. For example https://opencollective.com/casino-topp#section-about is abusing links there to get SEO.

Good catch @phated! Thank you for flagging it.


Fix customMaterial waiting for shaders to be loaded

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Snapshot stored with reference name:
refs/pull/15629/merge
Test environment:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15629/merge/index.html
To test a playground add it to the URL, for example:
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15629/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/15629/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/15629/merge
https://gui.babylonjs.com/?snapshot=refs/pull/15629/merge
https://nme.babylonjs.com/?snapshot=refs/pull/15629/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/15629/merge#BCU1XR#0

Visualization tests for WebGPU (Experimental)
https://snapshots-cvgtc2eugrd3cgfd.z01.azurefd.net/refs/pull/15629/merge/testResults/webgpuplaywright/index.html


use xxhash for faster glyph caching

twox-hash is a rust implementation of the xxhash algorithm.

xxHash is an Extremely fast Hash algorithm, running at RAM speed limits. It successfully completes the SMHasher test suite which evaluates collision, dispersion and randomness qualities of hash functions. Code is highly portable, and hashes are identical on all platforms (little / big endian).

When doing my base64 /dev/urandom test tonight I found a good chunk of time was spent in the fnv hasher inside GlyphCache. I researched hashing algorithms available in rust and thought xxhash would be be a good fit.
Before FNV

After XXHASH

Summary
Both benchmarks ran for about two seconds of base64 output. Fnv hashing was about 25% of the weight in the first run. XXhash was about 5.9% of the second run. Seems like an easy win.

The benchmarks above were produced in debug mode. When compiling in release mode the difference between xx and fnv is less noticeable due to fnv doing a better job at being inlined.

Thanks for putting the PR together! This was an interesting experiment, and I hadn't heard of XxHash.
I agree with your disposition to close. Looking at the XxHash benchmarks, it looks like it's actually slower than Fnv for small keys (we have 8 byte keys).


Synchronizing lists

[ ] todos

section called todo

[ ] timelines

section called timeline

Todos need a lot more functionality like showing all your todos and reminders, otherwise they might be better off in a todo app


[libos] Enhancement: Update imports in NetworkLibOS

This PR updates SharedNetworkLibOS import in NetworkLibOS.

LGTM. I'm a little confused why this even compiled for the other libOSes.

Actually, if you make LIBOS=catnip, for instance, it's OK. However, if you change Cargo.toml:
from
[features]
default = ["catnap-libos"]

to
[features]
default = ["catnip-libos"]

and make LIBOS=catnip
you got this error:

error[E0412]: cannot find type SharedNetworkLibOS in this scope
--> src/rust/demikernel/libos/network/mod.rs:57:12
|
57 |     Catnip(SharedNetworkLibOS<SharedInetStack>),
|            ^^^^^^^^^^^^^^^^^^ not found in this scope

This error occurs even using catnip, catpowder, and catloop on Cargo.toml.


"tail -F" sometime fail to follow new log file

On Linux it looks like tail -F may not reliably follow new log files. When this happens, chiadog will report "Your harvester appears to be offline", and inspecting the /proc file system shows that the tail process is still opening the old log file, eg. .chia/mainnet/log/debug.log.11.
Environment:

OS: Ubuntu 20.04
Python version: 3.8.5

Thanks for this insight!
It looks like that's definitive proof that we need to move away from using tail and Windows' Get-Content.
This seems like it could provide a cross-platform solution for LOCAL harvesters
https://stackoverflow.com/a/43547769
For remote harvesting, however, this will not work. One possible alternative is Paramiko's SFTPClient.open method, but this is slow (as per this discussion) and probably won't handle log rotations well.

Meanwhile I think the following tail option might help:
       --max-unchanged-stats=N
              with --follow=name, reopen a FILE which has not

              changed size after N (default 5) iterations to see if it has been unlinked or renamed (this  is  the  usual
              case of rotated log files); with inotify, this option is rarely useful

It would likely help, but it's still not very pythonic and does not work for cross-platform implementation.
I plan to spend some time on fixing this in the next couple of days.

This bug is what prevent me to use this software for production monitoring. Overall, very good job. Concerning the issue, I have a couple ideas on how it ccould be at least be dirty fixed before making better code for the long run. The simpliest drity fix for now could be:
When 'Your harvester appears to be offline! No events for the past X seconds.' is detected, the code could just try to reload log consumer first before sending warning.

Also, on windows, the current never work at all. (As soon as the logrotate code from chia logging module is executed, the harvester offline warning appear and the only is to kill and restart chiadog)

I can second this. Using chiadog in WSL for monitoring my windows plotter and farmer. My files split roughly every 22minutes and I am getting spammed with "Your harvester appears to be offline" messages.

There's a branch currently in Pull Request that will likely solve this issue.
#164 closes this issue

Thank you, Pull request should definitely save this. Looking forward to the merge.

Thank you! I see the code was merged in dev branch, when can we expect an official release with this upgrade implemented?

Official release is out. This is hopefully resolved, please reopen issue if not.


"Swap Shifts" feature for Sub Requests

Sometimes two people want to trade shifts. If it's not too much to code, they would appreciate being able to suggest a shift swap with someone else, and the other person could just accept/reject it.

A updated version of this issue is #249 . Closing this one.


prevent crash when no Contact header in 200 OK response to REGISTER

This PR prevents a crash, which can happen when a REGISTER request is made.
When the "200 OK" response is malformed and doesn't include a Contact header, an unhandled exception occurs and the application crashes.
To prevent that, a if (res.has('Contact')) was added.
Also the processing was adapted a bit for better readability.

Could you fix the following lint errors
$ npm run jslint

><EMAIL_ADDRESS>jslint
> eslint app.js lib

/Users/dhorton/beachdog-enterprises/beachdog-networks/git/jambones.org/git/sbc/sbc-sip-sidecar/lib/sip-trunk-register.js
  130:15  error  Strings must use singlequote  quotes
  132:1   error  Trailing spaces not allowed   no-trailing-spaces

✖ 2 problems (2 errors, 0 warnings)
  2 errors and 0 warnings potentially fixable with the `--fix` option.

Looks good.  Normally we might add a test case as well, but that is not the simplest thing to do since it means creating a sipp scenario so I won't require it this time.
$ npm test

><EMAIL_ADDRESS>test
> NODE_ENV=test JAMBONES_HOSTING=1 HTTP_POOL=1 JWT_SECRET=foobarbazzle DRACHTIO_HOST=<IP_ADDRESS> DRACHTIO_PORT=9022 DRACHTIO_SECRET=cymru JAMBONES_MYSQL_HOST=<IP_ADDRESS> JAMBONES_MYSQL_PORT=3306 JAMBONES_MYSQL_USER=jambones_test JAMBONES_MYSQL_PASSWORD=jambones_test JAMBONES_MYSQL_DATABASE=jambones_test JAMBONES_REDIS_HOST=<IP_ADDRESS> JAMBONES_REDIS_PORT=16379 JAMBONES_LOGLEVEL=error ENABLE_METRICS=0 HTTP_PORT=3000 JAMBONES_SBCS=<IP_ADDRESS> JAMBONES_FREESWITCH=<IP_ADDRESS>:8022:ClueCon:docker-host JAMBONES_TIME_SERIES_HOST=<IP_ADDRESS> JAMBONES_NETWORK_CIDR=<IP_ADDRESS>/16 node test/

TAP version 13
# starting docker network..
ok 1 docker started
# creating jambones_test database
ok 2 database successfully created
# creating schema
ok 3 schema successfully created
# populating test case data
ok 4 test data set created
# register tests
ok 5 received immediate 403 Forbidden when using ipv4 dot decimal for sip realm
ok 6 received 403 Forbidden after challenge when using invalid credentials
ok 7 successfully registered when using valid credentials (service provider level auth hook)
ok 8 successfully re-registered against cached registration
ok 9 successfully registered against short expiry
ok 10 successfully re-registered against short registration with re-auth
# sip options tests
ok 11 added a feature server
ok 12 added an RTP server
ok 13 added a second feature server
ok 14 second feature server checks in again
ok 15 added a second RTP server
ok 16 remove feature server 1
ok 17 remove rtp server 1
ok 18 removed second feature server
ok 19 removed second rtp server
ok 20 handled external options ping
ok 21 added a feature server
ok 22 feature server expired due to lack of check-in
# stopping docker network..
{"level":50,"time":1717011194770,"pid":98307,"hostname":"daveh-MBP","0":{"errno":-54,"code":"ECONNRESET","syscall":"read"},"msg":"@jambonz/realtimedb-helpers - redis error"}

1..22
# tests 22
# pass  22

# ok


Disable building of the unused shared library for jemalloc

$ ls kvrocks/build/_deps/jemalloc-build/lib
libjemalloc.a  libjemalloc_pic.a  libjemalloc.so  libjemalloc.so.2

It appears that the shared library is not being utilized.

@jonahgao Thanks for your good catch. That's right that we don't use the shared library.


Add validation against schema & input trimming to forms

[x] Trim user string inputs
[x] Empty string on nullable fields should send null, not empty string
[x] Validate field values against the schema
[x] Report validation errors

This is in this week's release,.  It's not perfect and there are probably a lot of fields that are missing constraints they could have in the schema, but it's a lot better than nothing.

Missed assigning this over last week..

v0.18.1
Verified fixed


Numbers being parsed as date

Hi,
nice library and online tool. But one thing I ran into when I wanted to try it out is that a number got parsed as a date.
How can I change it to be a number instead?
City (Source),Downtown Pop,2015 City Pop, % of City
Atlanta,25376,463878,5

Thanks.

Hi, we are aware of dates parsing problem, we are working on it. #106
a quick workaround is to add a decimal to the numbers
City (Source),Downtown Pop,2015 City Pop, % of City
Atlanta,25376.0,463878.0,5

hi @uf0
thanks. hope you find a solution soon. for a small dataset this is feasible but not for other large datasets I have. but thanks for the hint.

We committed a temporary patch 068ba0cb55d7180230ddaead4348a128677f4613, now it should work also with your original dataset.
Btw we will leave the issue open until we find a more consistent solution.

fixed in version 1.2.0


i cant run flutter app on android 8

Error: ADB exited with exit code 1
Performing Streamed Install

adb: failed to install G:\flutter_project\f_project\asas\build\app\outputs\apk\app.apk: Failure [INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION: Failed to parse /data/app/vmdl592356915.tmp/base.apk: AndroidManifest.xml]
Error launching application on SM J730F.

@mehdidavarpanah66 can you give steps to reproduce as well as your flutter env config (flutter doctor -v) and specs of your device.

yes every things is ok and i can run on other real phone but when run in my phone i have error

Please, can you give steps to reproduce as well as your flutter doctor -v output and specs of your device? Currently it's not possible to investigate the issue as it's not clear where to start

Error: ADB exited with exit code 1
Performing Streamed Install
adb: failed to install G:\flutter_project\f_project\asas\build\app\outputs\apk\app.apk: Failure [INSTALL_PARSE_FAILED_NOT_APK: Failed to parse /data/app/vmdl1154459958.tmp/base.apk]
Uninstalling old version...
Installing build\app\outputs\apk\app.apk...
Error: ADB exited with exit code 1
Performing Streamed Install
adb: failed to install G:\flutter_project\f_project\asas\build\app\outputs\apk\app.apk: Failure [INSTALL_PARSE_FAILED_NOT_APK: Failed to parse /data/app/vmdl2061563969.tmp/base.apk]
Error: Failed to install APK again.
Error launching application on SM J730F.

this is my error in top but my android version is 9

Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel dev, v1.7.8, on Microsoft Windows [Version 6.3.9600], locale fa-IR)
[!] Android toolchain - develop for Android devices
X Unable to locate Android SDK.
Install Android Studio from: https://developer.android.com/studio/index.html
On first launch it will assist you in installing the Android SDK components.
(or visit https://flutter.dev/setup/#android-setup for detailed instructions).
If the Android SDK has been installed to a custom location, set ANDROID_HOME to that location.
You may also want to add it to your PATH environment variable.
X No valid Android SDK platforms found in C:\Users\ASUS\AppData\Local\Android\Sdk\platforms. Directory was empty.

[√] Chrome - develop for the web
[X] Visual Studio - develop for Windows
X Visual Studio not installed; this is necessary for Windows development.
Download at https://visualstudio.microsoft.com/downloads/.
[√] Android Studio (version 3.4)
[√] Connected device (3 available)

i want use my phone as emulator

Error says: Failed to parse /data/app/vmdl592356915.tmp/base.apk: AndroidManifest.xml. So there may be something wrong with it. Can you please provide your AndroidManifest.xml?
And in general, this question is better suited for StackOverflow as it seems not to have anything wrong with flutter itself.

<!-- io.flutter.app.FlutterApplication is an android.app.Application that
     calls FlutterMain.startInitialization(this); in its onCreate method.
     In most cases you can leave this as-is, but you if you want to provide
     additional functionality it is fine to subclass or reimplement
     FlutterApplication and put your custom class here. -->
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<application
    android:name="io.flutter.app.FlutterApplication"
    android:label="asas"
    android:icon="@mipmap/ic_launcher">
    <activity
        android:name=".MainActivity"
        android:launchMode="singleTop"
        android:theme="@style/LaunchTheme"
        android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale|layoutDirection|fontScale|screenLayout|density|uiMode"
        android:hardwareAccelerated="true"
        android:windowSoftInputMode="adjustResize">
        <!-- This keeps the window background of the activity showing
             until Flutter renders its first frame. It can be removed if
             there is no splash screen (such as the default splash screen
             defined in @style/LaunchTheme). -->
        <meta-data
            android:name="io.flutter.app.android.SplashScreenUntilFirstFrame"
            android:value="true" />
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
        <intent-filter>
            <action android:name="FLUTTER_NOTIFICATION_CLICK" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </activity>
</application>

Check please https://developer.android.com/guide/topics/manifest/manifest-intro and https://developer.android.com/guide/topics/manifest/manifest-element.
Probably it can't parse as <?xml version="1.0" encoding="utf-8"?> and <manifest> outer tags are missed.

this taqg already existed but i forget copy that

somtimes  i can run and many time i have error

Without more information we're unable to make any progress here. I did find https://stackoverflow.com/questions/31911149/adb-install-parse-failed-unexpected-exception which suggests that uninstalling the app could help


Expose is_stateful in ops

Op protos have a is_stateful, which should be exposed at the instance level in the generated operand classes.  This is needed in function defs as StatefulPartitionedCall should be used instead of PartitionedCall to call it.

I guess that's the thing we should use to determine if an op needs a strong or a weak reference in eager session.

I've worked around this using the op def list in TensorFlow.


field_class and label_class copied from widget attrs if not yet set (…

Hi.
my solution for #428
Hope this can be accepted.
I haven't checked: but for me this solution (if there isn't anyone else) can be applied to others attributes.
Thanks
BG

See discussion at #428

You closed the discussion without giving a solution to my problem. In #428 you write something about css class ...

The attrs kwarg is in this Django code to add a HTML attribute. A CSS class is not a HTML attribute. That's why this PR was refused and closed. I'll see if I can help with a solution to the problem over on #428.

Thank you.