Define with exactly type for express

Hi @pleerock
I suggest createExpressServer should return express.Express type and ExpressDriver.express sets  express.Express type.
I don't want when I call the createExpressServer function, it will return an any value. In TypeScript,  It's not convenience to me if I need the value show its properties.
So, I improve the type definition accuracy and avoid to use any type on argument and return value.

Hello @TonyPythoneer thank you for your PR. I agree with your point that

I don't want when I call the createExpressServer function, it will return an any value. In TypeScript, It's not convenience to me if I need the value show its properties.

But I didn't include express typings because they will require user to install another dependency - express from @typings repository. If I accept this PR, probably it should include dependency to @types/express. Is it a good practice to have a dependency on @types? Adding @19majkel94

But I didn't include express typings because they will require user to install another dependency - express from @typings repository. If I accept this PR, probably it should include dependency to @types/express. Is it a good practice to have a dependency on @types?

It's hard to say. On the one hand, ExpressDriver or useExpressServer() are tightly coupled to express so it should use correct express types. On the other hand, it's also a framework for koa, so having hard express dependency for koa users means that they download and install unnecessary npm packages. But if we think about unnecessary downloads, you also should distribute *d.ts files through @types repository, not include them in package.
So if we're able to have dependency in package.json only on@types/express, not the whole express from npm, I think it's ok :wink:

oh I didn't think about koa. having both @types/express and @types/koa isn't a good idea. To force people to install express or koa typings separately also maybe not so convenient, also if they don't install it they'll have errors. Third option is just left it as it is. Need to choose one of them

I know it will cause this project needs to add express in dependencies.
I have another idea. I recommend it should discard createExpressServer and only offer useExpressServer to register routing-controller feature.
In my opinion:

They have passed createExecutor(...); to get routing-controller feature. These functions are not significantly different.
useExpressServer is better than createExpressServer. It has generic type when it passes a express.Express or express.Application, it will keep it type and return the application. Relatively, createExpressServer only returns any value and not good to use.

Demo:
// use `useExpressServer`
// When it pass a parameter and return a value, these values are the same type.
const expressApp = express();
const app = useExpressServer(expressApp);

// use createExpressServer
// The `app` is `any` type. It's not good to use and be hinted by Typescript
const app = createExpressServer()

@pleerock , how do you think? :smile:

First of all, useExpressServer shouldn't return anything. The expressApp parameter is simply returned which doesn't make sense because the parameter is passed by reference, which means we can use it normally:
const expressApp = express();
useExpressServer(expressApp);
expressApp.use(...)

And the generic type behave just as any type:
const app = useExpressServer("blahblah");

But using createExpressServer() we can simply assert type:
const app: express.Application = createExpressServer();

And we are sure that typechecking is working well :wink:

@19majkel94  Okay, let me clarify this PR purpose.
I hope when I use createExpressServer, it won't return any value and needn't to manually assert type by developer.
Do you have any idea to slove this? :smile:

I like createExpressServer and I mostly use it rather then useExpressServer. I created second one for people who want to preconfigure express. I understood your purpose and there is a point to use express typings instead of any type. I see two ways:

Force user to install @types/express alongside with express. The only change here is in readme - we add npm i express @types/express instead of npm i express. Of course this is a bit more complicated and annoying then simply one dependency, but overall I don't think its a problem.

we just left it as it is right now. Yes, problem is not solved, and we still have to manually type cast what createExpressServer returns if we want to use it. Benefit - easier installation without extra dependency.

I guess @TonyPythoneer would vote for first option, @19majkel94 what do you think about it? Is first option acceptable?

@19majkel94 any thoughts?

The first option is ok for me, but koa users might be forced to install express typings. If they try to compile their TS solution, they will got error about tsc not being able to found module express (typings).
Maybe it's time to split the drivers from framework? User could install the express version or koa version and doesn't bother about express dependency or typings if he just use createServer and don't configure express outside of routing-controllers 😉 It could be all-in-one packages like npm install express-routing-controllers.

ohh I was thinking about it, but it will have a high maintenance cost, plus I don't have time right now to refactor all this...

I think it could be just a gulp bundle script which copy or not the driver depending on version and add a express dependency in package.json? I don't know how big and deep dependencies you have in core.
So mark this splitting/refactoring as the milestone to don't forget about it. Until then I think we can't use the express typings here.

yeah agree forcing express users to install koa typings and force koa users to install express typings is a bad idea. better to keep things as it is right now. Maybe in the future I'll refactor this library into two separate libraries. @TonyPythoneer for now either useExpressServer either use type casting with createExpressServer, its a best way to go for now

In conclusion, does it keep the same?

yes, I hope you understood all the problems we face if we change current implementation. Solution will be to refactor library into two separate libraries - for koa and express, but this maybe for the future

okay, I will use useExpressServer to inject routing-controllers into express application. createExpressServer doesn't solve my problem.

We definitely need to split to two modules. Fore example, the MiddlewareInterface shows that koa and express are different and the result is that you have the interface that doesn't force you to implement anything 😜
The temporary solution which will help in moving to splited packages is that you will have subdirectories with exported parts related to specific framework. And we can then just do:
import { MiddlewareInterface } from "routing-controllers/express";

and we will get the specific express interface:
export interface MiddlewareInterface {
    /**
     * Called before controller action is being executed.
     */
    use(request: express.Request, response: express.Response, next?: express.NextFunction): any;
}

right, I have same issue. I simply removed implements MiddlewareInterface from my classes after all 😞


wip: update(cmake): bumped protobuf to 3.21.12.

What type of PR is this?
/kind cleanup
Any specific area of the project related to this PR?
/area build
Does this PR require a change in the driver versions?
What this PR does / why we need it:
Moreover, avoid building zlib in it.
Do we actually need it?
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

update(cmake): bumped protobuf to 3.21.12.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Falco fails to build grpc :/
#10 320.9 CMakeFiles/grpc_cpp_plugin.dir/build.make:95: *** target pattern contains no `%'.  Stop.
#10 320.9 make[5]: *** [CMakeFiles/grpc_cpp_plugin.dir/all] Error 2
#10 320.9 make[5]: *** Waiting for unfinished jobs....
#10 321.3 [ 12%] Linking CXX static library libabsl_strings.a
#10 321.3 [ 12%] Built target absl_strings
#10 321.3 make[4]: *** [all] Error 2
#10 321.3 make[3]: *** [grpc-prefix/src/grpc-stamp/grpc-build] Error 2
#10 321.3 make[2]: *** [libsinsp/CMakeFiles/grpc.dir/all] Error 2
#10 321.3 make[1]: *** [userspace/falco/CMakeFiles/falco.dir/rule] Error 2
#10 321.3 make: *** [falco] Error 2

(https://app.circleci.com/pipelines/github/falcosecurity/falco/3843/workflows/136550d5-03a3-4bd8-bfd7-a6318034fd9a/jobs/32732/parallel-runs/0/steps/0-104)

Seems like an issue with CentOS7 because github actions are instead green: https://github.com/falcosecurity/falco/actions/runs/4376169649/jobs/7657890221

New Falco CI:

https://app.circleci.com/pipelines/github/falcosecurity/falco/3864/workflows/d4bda722-d1d4-4ed0-9c3f-696a077e9d09
https://github.com/falcosecurity/falco/actions/runs/4489235641

Still same issues on Falco, plus new grpc links more absl libs; i'd avoid bumping it in this PR.
Still trying to find a solution for the weird:

#10 323.7 CMakeFiles/grpc_cpp_plugin.dir/build.make:95: *** target pattern contains no `%'.  Stop.

Update, the issue only appear when building using the modern-falco-builder docker image (even locally!).
I don't get the issue though, and how is it triggered by the protobuf bump.

/close
:/ i think it will be really hard to provide this as bundled deps...

@FedeDP: Closed this PR.

In response to this:

/close
:/ i think it will be really hard to provide this as bundled deps...

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.


Update vertical tabs nav example

The example code for navs using vertical tabs (https://getbootstrap.com/docs/4.0/components/navs/#javascript-behavior) leaves out that it internally creates a rom and buts the links in one column and tha tab content in another.  You have to inspect the code of the bootstrap documentation to see how it it actually works on that page.

It should really look similar to:

        Home
        Profile
        Messages
        Settings

...

...

...

...

+1

these are not really vertical tabs, but vertical pills. The difference is that tabs would be right-aligned with a right-hand border. (which you don't get, so technically there is no such thing as vertical tabs at all)


PersistentCollection instance lost raw data during serialization/deserialization process.

Bug Report

Q
A

Version
1.2.5

Summary
By default instance keep raw data from the database. So if you not accesses items from this collection before serialization, they will be not created from this raw data. This will cause lost of all data about items in collection during serialization/deserialization process.
I solved this problem for itself by redefining PersistentCollection class - I added call of 'initialize' method in '_sleep'.
How to reproduce

Create instance of PersistentCollection with raw data.
Serialize instance.
Unserialize instance.
At this point data will be lost.

Sorry this fell through the cracks, I'll close this issue to keep the conversation in one place since you've opened a PR :)


Use private origin file system for web-based FS provider

The private origin fs is a browser based file system which is similar to indexeded and others but uses a FS like abstraction. Most browsers now support this: https://caniuse.com/mdn-api_storagemanager_getdirectory and we should investigate to use this over our indexeded-based FS when possible.
fyi @sandy081

good blog https://webkit.org/blog/12257/the-file-system-access-api-with-origin-private-file-system/

Anything further?


Support for sending an arbitrary data-object

Hey Rico,
see comments in my pull-request for the server-lib.

Great job, @blissi


Add linters to the CI

Summary

The CI of the Forest Explorer should contain a subset of linters included in Forest. These include spellchecking, dependency security audit and unused dependencies. There might be some more.
Completion Criteria

[ ] Port some of the linters of Forest to Forest explorer. They should live in a dedicated workflow.

Additional Links & Resources

cargo deny might be needed to tinker with
no (hopefully) RUSTSEC


Error: proxyFromEnv.getProxyForUrl is not a function

Describe the bug
When I startet the adapter and register one twinkly and now the adapter restarts I get an error and can't control the twinkly
Screenshots & Logfiles

twinkly.0
2022-12-01 22:38:43.887
info
Startup complete

twinkly.0
2022-12-01 22:38:43.886
error
Could not get Wohnzimmer.timer Error: proxyFromEnv.getProxyForUrl is not a function

twinkly.0
2022-12-01 22:38:43.882
error
Could not get Wohnzimmer.name Error: proxyFromEnv.getProxyForUrl is not a function

twinkly.0
2022-12-01 22:38:43.879
error
Could not get Wohnzimmer.ledSat Error: proxyFromEnv.getProxyForUrl is not a function

twinkly.0
2022-12-01 22:38:43.876
error
Could not get Wohnzimmer.ledPlaylist Error: proxyFromEnv.getProxyForUrl is not a function

twinkly.0
2022-12-01 22:38:43.870
error
[updatePlaylist.Wohnzimmer] Could not get playlist Error: proxyFromEnv.getProxyForUrl is not a function

twinkly.0
2022-12-01 22:38:43.866
error
Could not get Wohnzimmer.ledMovie Error: proxyFromEnv.getProxyForUrl is not a function

twinkly.0
2022-12-01 22:38:43.857
error
[updateMovies.Wohnzimmer] Could not get movies Error: proxyFromEnv.getProxyForUrl is not a function

twinkly.0
2022-12-01 22:38:43.853
error
Could not get Wohnzimmer.mode Error: proxyFromEnv.getProxyForUrl is not a function

twinkly.0
2022-12-01 22:38:43.849
error
Could not get Wohnzimmer.ledEffect Error: proxyFromEnv.getProxyForUrl is not a function

twinkly.0
2022-12-01 22:38:43.846
error
Could not get Wohnzimmer.ledColor Error: proxyFromEnv.getProxyForUrl is not a function

twinkly.0
2022-12-01 22:38:43.843
error
Could not get Wohnzimmer.ledBri Error: proxyFromEnv.getProxyForUrl is not a function

twinkly.0
2022-12-01 22:38:43.839
error
Could not get Wohnzimmer.firmware Error: proxyFromEnv.getProxyForUrl is not a function

twinkly.0
2022-12-01 22:38:43.832
error
[Wohnzimmer.getListOfLEDEffects] Could not get effects! proxyFromEnv.getProxyForUrl is not a function

twinkly.0
2022-12-01 22:38:43.826
error
[Wohnzimmer.interview.details] Error: proxyFromEnv.getProxyForUrl is not a function

twinkly.0
2022-12-01 22:38:43.822
error
[Wohnzimmer.interview.fw] Error: proxyFromEnv.getProxyForUrl is not a function

twinkly.0
2022-12-01 22:38:43.282
info
starting. Version 1.0.9 (non-npm: patrickbs96/ioBroker.twinkly) in /opt/iobroker/node_modules/iobroker.twinkly, node: v16.18.1, js-controller: 4.0.23

twinkly.0
2022-12-01 22:38:43.101
info
Plugin sentry Sentry Plugin disabled for this process because sending of statistic data is disabled for the system

Versions:

Adapter version: 1.0.9 I also tried 1.0.7
JS-Controller version: 4.0.23
Node version: v16.18.1
Operating system:  Linux Buster

Hi there, I'm not quite sure where that problem is coming from. I guess it's coming from Axios itself.
Can you install the current version from github please, I added a few lines of logging. Maybe that can help.
You need the activate log level debug for the added lines to show up. Please send me the log afterward. Thanks.

[Wohnzimmer.request.POST] TypeError: "proxyFromEnv.getProxyForUrl is not a function", stack="TypeError: proxyFromEnv.getProxyForUrl is not a function at setProxy (/opt/iobroker/node_modules/iobroker.twinkly/node_modules/axios/dist/node/axios.cjs:2271:35) at dispatchHttpRequest (/opt/iobroker/node_modules/iobroker.twinkly/node_modules/axios/dist/node/axios.cjs:2548:7) at new Promise () at http (/opt/iobroker/node_modules/iobroker.twinkly/node_modules/axios/dist/node/axios.cjs:2316:10) at Axios.dispatchRequest (/opt/iobroker/node_modules/iobroker.twinkly/node_modules/axios/dist/node/axios.cjs:3241:10) at Axios.request (/opt/iobroker/node_modules/iobroker.twinkly/node_modules/axios/dist/node/axios.cjs:3591:33) at Function.wrap [as request] (/opt/iobroker/node_modules/iobroker.twinkly/node_modules/axios/dist/node/axios.cjs:27:15) at Twinkly.request (/opt/iobroker/node_modules/iobroker.twinkly/lib/twinkly.js:1367:49) at Twinkly._sendRequestTwinklyCodeCheck (/opt/iobroker/node_modules/iobroker.twinkly/lib/twinkly.js:1293:35) at Twinkly.login (/opt/iobroker/node_modules/iobroker.twinkly/lib/twinkly.js:224:37)"

Thanks for the input, I had a look into this. proxy-from-env is already included due to the dependency axios.
But for some reason it wasn't properly installed for you. What you can try is

cd /opt/iobroker/node_modules/iobroker.twinkly
rm -r node_modules
npm install

Then it should add the missing dependency.

There seem to be some problems with the version of axios. I upgraded to the latest version, maybe that will help. Otherwise I'll downgrade.
Try installing the branch: https://github.com/patrickbs96/ioBroker.twinkly/tree/develop

no it also doesn't work.... the only way I get it work is with my dependency fix...
so maybe just add to dependency...

Alright, so for testing purposes I created two branches. One with a downgrade of axios and one with the added dependency. Please test these out and let me know if one or both of them work.
Downgrade: https://github.com/patrickbs96/ioBroker.twinkly/tree/proxy_error-axios_downgrade
Add dependency: https://github.com/patrickbs96/ioBroker.twinkly/tree/proxy_error-axios_add_dependency

no sorry... I don't get it work... just with my trick to manually download "proxy-from-env" from git

cd /opt/iobroker/node_modules/iobroker.twinkly
rm -r node_modules
npm install

Then it should add the missing dependency.

Did you try doing this? When I do this it adds proxy-from-env to the .\iobroker.twinkly\node_modules directory.


CLI idea

it would be nice to be able to do something like seqcol digest file.fa and get the digest for that.
Then maybe you could give some flags to get the level 1, representation, etc.

Or (and?) what about a web service where someone could drop a fasta file and get back a computed digest for it?


Compact CIDR parsing produces wrong results.

const ipaddr = require('ipaddr.js');
const range = ipaddr.parseCIDR('8/8');
range.toString() === '<IP_ADDRESS>/8' // false
range.toString()
'<IP_ADDRESS>/8'

I don't think this is an actual issue as I haven't heard of a 'Compact CIDR' before.  CIDR is already a compact form for the subnet <IP_ADDRESS>/<IP_ADDRESS> => <IP_ADDRESS>/24.
The only compact portion may be in IPv6 addressing, with the :: on one side.

@kennethtran93 Thanks for the investigation!

Things may exist that you haven't heard of.
Here is a stack overflow question dealing with the issue, so clearly I didn't just make this up on my own:
https://networkengineering.stackexchange.com/questions/30694/is-it-ok-to-leave-the-trailing-0s-off-in-ipv4-cidr-notation
The answers there are the same as yours (clutching pearls) but I assure you, people use this shorthand and it saves time.
Story time: I'm working on commercial software designed for network operations terms. A request for this feature came in from our customers. I wanted to use this library to implement it, but obviously I couldn't. Wound up rolling my own.  Filed the issue to try to help.
Even if you don't support it, you shouldn't be converting it incorrectly.

It's not converting it incorrectly per se, but in reference to #44 and here: https://linux.die.net/man/3/inet_aton, if only one octet is given, it is perseved as a 32-bit value as is.  That is the intended format.
This script separates the ip and cidr separately.

https://github.com/whitequark/ipaddr.js/pull/143

I think in the context of a cidr string, it's more likely to be the abbreviated format I'm talking about.   I have seen numeric ips in urls and such - where parsing them as numbers makes sense, but this is different.  The CIDR slash implies that the first part is a dotted-quad string.  See my PR - I think it improves this case and doesn't hurt anything else - the other tests all still pass.


Singer plugin doesn't build

Edit (Mathieu Gabelle):
Here's a reproducer
id: test_bigquery_ci_failure
namespace: mgabelle.tests.singer.bigquery

tasks:
  - id: test_singer
    type: io.kestra.plugin.singer.taps.BigQuery
    serviceAccount: "{{ secret('GOOGLE_SA')}}"
    startAlwaysInclusive: false
    startDateTime: "2013-09-08T16:19:12Z"
    limit: 1
    streams:
      - name: covid19_nyt_us_states
        table: bigquery-public-data.covid19_nyt.us_states
        columns:
          - date
          - state_name
          - confirmed_cases
          - deaths
        datetime_key: date
        filters:
          - "EXTRACT (YEAR from date) = 2020"
          - "EXTRACT (MONTH from date) = 3"
          - "state_fips_code = '66'"
    streamsConfigurations:
      - replicationMethod: FULL_TABLE
        selected: true
    pipPackages:
      - git+https://github.com/kestra-io/tap-bigquery.git@master

It seems two command are created :

First one passes successfully

Starting command with container id 5c0c0864731f37fc3551f4376ffb004607e050df8e7583d4d6f64234c4351182 [/bin/sh -c set -o errexit
 pip install pip --upgrade > /dev/null
 pip install --target . git+https://github.com/kestra-io/tap-bigquery.git@master > /dev/null
 pip install --target . python-json-logger > /dev/null
 chmod -R 755 bin
 find . -type f -name logging.conf | grep "/singer/" | xargs -r cp logging.conf
 ./bin/tap-bigquery --config config.json --discover > discover.json]

and we have output from bigquery :
{"asctime": "2024-12-02 14:05:11,765", "name": "getschema.impl", "levelname": "INFO", "message": "Inference completed from 17 records"}

Second one fails :

Starting command with container id 85bd7dd23e6ea787d14d40fdd89e3296175d4ea90c64f30b68224bc92a427030 [/bin/sh -c set -o errexit
 pip install pip --upgrade > /dev/null
 pip install --target . git+https://github.com/kestra-io/tap-bigquery.git@master > /dev/null
 pip install --target . python-json-logger > /dev/null
 chmod -R 755 bin
 find . -type f -name logging.conf | grep "/singer/" | xargs -r cp logging.conf
 ./bin/tap-bigquery --config ./config.json --catalog ./catalog.json --state state.json > raw.jsonl]

with following error issue :

Seems related to a Python issue from tap-bigquery

Working for features DISCOVER but not for CATALOG

Fixed https://github.com/kestra-io/plugin-singer/actions/runs/12123916699/job/33800467856

(issue was about wrong mapping coming from BigQuery API response)


[FLINK-11516][table] Port and move some Descriptor classes to flink-table-common

What is the purpose of the change
This pull request ported the following descriptor related classes to flink-table-common: Metadata, MetadataValidator, TableStats, ColumnStats, Statistics, StatisticsValidator,TableDescriptor, StreamableDescriptor, StreamTableDescriptorValidator
Brief change log

Ported the classes and tests to flink-table-common
Make StreamableDescriptor not to extends TableDescriptor any more

Verifying this change
This change is a code cleanup without any test coverage.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (no)
The serializers: (no)
The runtime per-record code paths (performance sensitive): (no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (no)
The S3 file system connector: (no)

Documentation

Does this pull request introduce a new feature? (no)

@twalthr @dawidwys I have split the changes related to Descriptor to this PR. Looking forward to your review. Thanks in advance.

@flinkbot please re-render the tracking comment so that @twalthr sees that this feature request got implemented :)

@twalthr Thanks a lot for the review. Have updated accordingly with just one exception: StreamTableDescriptorValidator name is not a mistake. :)

Hi @godfreyhe Thanks a lot for the review. Have addressed your comments except the BigDecimal/BigInteger as it seems that it introduces a new feature to support BigDecimal/BigInteger as the min/max value. What about address that in a separate PR?

Looks good to me.
I want to extend max and min to Comparable type (e.g. Date, Time,  BigDecimal) in a new PR.

@twalthr @godfreyhe Thanks a lot for the review and commit.


Flash hangs and crashes on ovh.net

Warning : Firefox could freeze during 10 seconds or more when trying to reproduce this bug.
http://ovh.net displays a speed test flash application.
The ping step works ; when the download step starts, Flash hangs (and Firefox too) and after some seconds crashes without further explanation.

It hang on my machine too.
Most probably #82 causes it. I thought PepperFlash doesn't use additional message loops. This is the first ever swf which somehow triggers their usage.

I've fixed #82 by 32e6d3fe9c387e87fdb96d5779e698814f9e46e1, and indeed, that also fixed application on http://ovh.net

I confirm it works like a charm.
Thanks :-)


HTTPS on ctwatch.net

Why don't you redirect to HTTPS at ctwatch.net and why don't you provide HTTPS at api.ctwatch.net at all?
And why do you use a bad Cloudflare SSL certificate for ctwatch.net?

Thanks for the bug report.
There's no great reason I don't redirect HTTP to HTTPS on ctwatch.net . I just haven't got round to prioritising it. I suppose I'd prefer not to break HTTP clients that don't follow redirects (e.g. curl without -L), but mostly I just hadn't considered it much.
api.ctwatch.net is available via HTTPS! https://api.ctwatch.net/domain/ietf.org
What is bad about the certificate used for ctwatch.net?

api.ctwatch.net is available via HTTPS! https://api.ctwatch.net/domain/ietf.org

Ah yes, you're right. Firefox just showed no lock and hid the https:// for the RSS feed.

What is bad about the certificate used for ctwatch.net?

As I see you use the free TLS cert by Cloudflare. Well... that's essentially a cert with MITM-built-in as Cloudflare intercepts every connection. So that's no end-to-end-security.
More info:

https://serverfault.com/questions/505451/how-secure-is-cloudflares-basic-ssl
https://info.ssl.com/the-real-cost-of-a-cloudflare-free-ssl-certificate/
https://scotthelme.co.uk/cloudflares-great-new-features-and-why-i-wont-use-them/

Well... that's essentially a cert with MITM-built-in as Cloudflare intercepts every connection. So that's no end-to-end-security.

Ah yes, I agree. By using CloudFlare, ctwatch.net still benefits from the user <-> ISP link being secured, which I'd bet is the weakest chain. Ultimately however, ctwatch.net loses end-to-end security.
However, I have to balance that with what CloudFlares offers for minimal effort:

HTTP caching
DDOS protection
trivial SSL setup

Perhaps I could set that all up (squid, SSL on nginx) and maintain it, but then I'd have less time to work on features, and given how much time I dedicate to this, it's more beneficial for me to work on features at this moment.

BTW I've reported the issue with the missing padlock on an RSS site.

:+1:

You could still use cloudflare - just with an own certificate. So you would still have some caching mechanisms and DDOS protection.
And about the setup you maybe want to consider Let's Encrypt where everything is automated, free and it's really simple to set up.

But if I continue to use Cloudflare, albeit with my own certificate, I'm still vulnerable to MITM.
I'll consider Let's Encrypt when it's ready.
Closing for now.


update spelling of "Vatican"

hopefully this covers the only changes necessary to update "Vantican" to "Vatican" throughout the project

god thanks for spotting this


Fix name consistency in email verification message

Currently the message says HOT Exports and HOT Export Service instead of just HOT Export Tool.

Thanks for picking up on that. Missed it completely! Please do change all instances of HOT Exports, HOT Export Service, and OSM Export Tool to HOT Export Tool for consistency.


page 8 (1/3): Confusing structure

I have multiple problems here.

The first step of choosing a suitable tool is choosing the tool?! On what basis do you make the decision?
Here we have multiple exemplary tools. However, there is no connection to the previous page (0/3). Can all these tools provide all the features mentioned there?
Some Tools have names, some have URLs. This should be consistent. I fixed this in my branch already
Maybe a short introduction to the three categories would be helpful. What are the differences? When to use which category?

@thomaswolgast in our opinion, the steps can be replaced by a text that explains the following categories (table) and include aspects to consider when choosing a tool.

I added a description of the three categories (in my understanding). However, I don't really have the expertise to write a guide on which tool to use in which situation.


Bug: Product quantity in cart cannot be adjusted when it exceeds the available quantity

What are you trying to achieve?
When a user adds a certain quantity of a product to their cart, then the product quantity subsequently falls below that value, the cart cannot be checked out nor updated to return to the new quantity limit.
Steps to reproduce the problem

Add 10 units of a product to cart
From the admin dashboard, decrease the available quantity of that product to 5

What did you expect to happen?
The user should be able to update the quantity of that product in their cart to 5 or lower.
Logs
No response
Environment
Saleor version: 3.15.0
OS and version: Docker on Windows 10

@khalibloo What happens when you try to update this quantity as per the steps provided? Is there any error thrown? Could you provide an example API response?

@maarcingebala we were getting the following error when following the steps above
{
    code: 'INSUFFICIENT_STOCK',
    field: 'quantity',
    message: 'Could not add items<PHONE_NUMBER>57. Only 5 remaining in stock.'
}

However, now I'm not able to consistently reproduce it in a different Saleor instance. I'll close it for now, as it seems like it might only affect some products/configurations but not others. I'll try to narrow down the exact circumstances first.

Thanks. Also, I recommend upgrading to a newer version of Saleor, which has more bugfixes but also more performance improvements.


Question: stop gradient

Hi! Can i check where is the stop gradient implemented in the code?

Sure :)  You can check this line, which I used to implement the stop-gradient operation. Specifically, using torch.detach()

Thank you very much for a prompt reply! and also, why is the backbone output shape [B, 1280, H, W] instead of [B, 1024, H, W]?

The reason lies in the design of the backbone in Yolo v5. The output dimension of DarkNet (CSP) is 1280 rather than the common 1024 like ResNet50. I hope this answer finds you well :). You can also modify the backbone if something is necessary.

Thank you for your answers!


希望增加批量操作的功能，比如批量删除、添加

OS
MacOS
VERSION
latest version
ISSUE DESCRIPTION
Hope to add the function of batch operation, such as batch delete or add.

v1.4.1 已实现批量删除，更新即可


Madison/r update

Still need support for configuration files and environment variables, but figured I'd put up a preliminary PR.

Some tests should be skipped if batch API credentials aren't available.


Failing Install: Class Syntax Issue

Script php artisan optimize handling the post-update-cmd event returned with an error
[RuntimeException]
Error Output: PHP Fatal error:  Class 'Mbarwick83\TwitterApi\TwitterApiS
erviceProvider' not found in /home/matthewjames/workspace/odins-eye/vue-
starter-laravel-api/vendor/laravel/framework/src/Illuminate/Foundation/P
roviderRepository.php on line 146

Did you follow the installation and configuration steps exactly as highlighted in readme? Try php artisan vendor:publish --provider="Mbarwick83\TwitterApi\TwitterApiServiceProvider"

Directions followed, still failing on composer update. Side note: vendor:publish is broken by default (forgot to mention).
Case mismatch solved by changing filename in src/conifg.

Can you submit a PR wth the breaking change?

Add blank values in your env file for the ones found in config. Sorry, config should have default if no env values found.

Hi. How use method "get" of this plugin. please add examle of usage.
For example how I can use this
$twitter = new TwitterApi();
$r = $twitter->get('account/verify_credentials');


[Ruby] Logging and monitoring clients will not compile, possibly because of outdated common types

Currently the generated logging and monitoring clients for Ruby will not compile because they reference the common proto type google.api.MonitoredResourceMetadata which is not defined. I believe this type is supposed to live in the googleapis-common-protos-types gem, which hasn't been updated since last year and probably just needs to be regenerated.

Yeah I had the same problem for Java; the logging clients needed a refreshed google-common-protos dependency to pick up the new prototype.

Generated the ruby package. Just need to release now.

Assigned to @landrito  to release.

Version 1.0.2 of googleapis-common-protos-types is released:
https://rubygems.org/gems/googleapis-common-protos-types/versions/1.0.2
Closing. Reopen if you find a bug with the release.

Thank you! Testing the new release—it appears to be working correctly so far.


Is it safe to upgrade to macOS Big Sur 11.3?

Is it safe to upgrade to macOS Big Sur 11.3? any thing we need to do before upgrading?

If you do not wish for me to update the EFI, then all you need to do is download the latest versions of all of the kexts and drivers and place them in your EFI folder. You will also need to read the OpenCorePkg change notes to see what you need to change in your config.plist. If you miss something in your config, don't worry, OC will tell you what you did wrong on boot. I would recommend that you keep your old EFI on a USB just in case you mess up and need to boot from it again.

If you can update the EFI that would be awesome!!!!! 👍

@jmtscaff Just noticed that I'm already using the latest version of OC et. al. As such, probably OK to update. I'm updating right now, so 🤞

The last two were trouble free for me, so I'll take the plunge tomorrow as
well.
On Thu, Apr 29, 2021, 7:52 PM Nick Baughman @.***>
wrote:

@jmtscaff https://github.com/jmtscaff Just noticed that I'm already
using the latest version of OC et. al. As such, probably OK to update. I'm
updating right now, so 🤞
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/baughmann/designaire-z390-intel-i9-9900k-opencore/issues/46#issuecomment-829702903,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQTAP3FZQNWTV3DQO43TPHTTLHWMBANCNFSM43W7I6QA
.

@jahwookie If you don't hear back from me today, then don't do it haha. It means I had to wipe and reinstall.

10-4 and good luck, sir!
On Thu, Apr 29, 2021 at 7:57 PM Nick Baughman @.***>
wrote:

@jahwookie https://github.com/jahwookie If you don't hear back from me
today, then don't do it haha. It means I had to wipe and reinstall.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/baughmann/designaire-z390-intel-i9-9900k-opencore/issues/46#issuecomment-829704398,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQTAP3HMBRNNL77OVPACICTTLHW6VANCNFSM43W7I6QA
.

@jahwookie @jmtscaff Looks like we're good to go. Closing this issue.

For me, 11.3 update went fast and seemed smooth, but somehow lost connectivity on most USB ports, including the ones direct into motherboard where I had mouse and keyboard plugged. I plugged them into the two USB ports on top of the (Fractal Designs) case that I had known to be working previously, and everything up and running for now, but maybe I need to tackle that USB mapping thing I'd avoided up to now as confusing and way too system-dependent?  Does that seem logical and worth a try? Thanks!

I did the upgrade and same the USB ports are not working

Setting XhciPortLimit to false fixed the issue at least for me using USBInjectAll.kext so in summary I've did

Update USBInjectAll.kext to latest
Set XhciPortLimit to false
Add uia_exclude=HS14 to bot-args to exclude internal Bluetooth card
Now all ports are working

So far I've done #2 on you list, which restored my ports. Will look into
the other steps this afternoon. Thank you!
On Sat, May 1, 2021 at 10:11 AM Jose Torres @.***>
wrote:

Setting XhciPortLimit to false fixed the issue at least for me using
USBInjectAll.kext so in summary I've did

Update USBInjectAll.kext to latest
Set XhciPortLimit to false
Add uia_exclude=HS14 to bot-args to exclude internal Bluetooth card
Now all ports are working

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/baughmann/designaire-z390-intel-i9-9900k-opencore/issues/46#issuecomment-830639314,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQTAP3EMB6U6P2VA64ACXJDTLQD2LANCNFSM43W7I6QA
.


Ongoing request is not canceled on deregistration

Looking into the code, there doesn't seem to be any exposed way to cancel an ongoing request?
Our scenario is that we're transferring a FOTA image, which may take several minutes, and sometimes we get a deregistration from the device during this, but the write request continues running in the background, eventually resulting in a success or timeout.
We would like to be able to cancel the ongoing request as soon as the deregistration occurs.
Thx!

You're right there is no API to cancel a request.
For your use case, this should work like you expect as pending request should be canceled in deregistration.
See : https://github.com/eclipse/leshan/blob/master/leshan-server-cf/src/main/java/org/eclipse/leshan/server/californium/impl/LeshanServer.java#L156
So you probably find a bug we should investigate this.

I think I find the issue. I created a PR #521.
Could you check if this behave better ?

@danielhqv Do you think you could find time to check if the PR #521 fix your issue ?

I've had a look now, but I'm sorry to say that I don't think I'm able to ascertain whether this would help me or not. I have no reproducable test to simulate this sudden unregistration that we sometimes see in real life situations, where a successful WriteResponse may turn up in the logs long after the device has unregistered and perhaps even established a new registration in the meantime.
But I didn't think that this was only a Leshan issue? How does the Californium BlockwiseLayer class get aware that it shouldn't send the next block but instead cancel the request? I cannot find that logic in the code.

Californium have 2 way to handle block transfer, "transparent" and "manual".
Leshan use the transparent one.
In this mode when you send a request with a big payload it is "changed" in several block request.
At californium level, only the "high level request" can be handled by the user. When he cancel this request, this should cancel the block exchange related.
This is complex part of the code but I believe that cancel the request will complete the exchange which hold the "high level request" and all the "block requests".
The is a test which check this in californium.
I believe it's ok at californium side.
At leshan side, we try to cancel all ongoing request at registration. The initial goal was to avoid retransmission. And so there is a kind of optimization around acknowledgement. (if we receive the ack we can remove it from request to cancel on de-registration). But without going to deep this does not works for transparent block transfer so this is safer to wait for response before to clean instead of ACK.
So to conclude, I think this should fix your issue.
I will wait a little bit but if you can confirm this fix it easily I will integrate #521 in master.

I integrated #521 in master.
So I will close this issue. Please reopen it, if the problem still occurs.
If it is fixed for you, let us know by commenting here :pray:
Thx again @danielhqv for your contribution.


[Sage10] header block render 2 times when Elementor is activated

[x] I've read the guidelines for Contributing to Roots Projects
[x] This request isn't a duplicate of an existing issue
[x] I've read the docs and followed them (if applicable)
[x] This is not a personal support request that should be posted on the Roots Discourse community

Description
In sage 10, index.php
"wp_head()" & "do_action('get_header');" are both called.
https://github.com/roots/sage/blob/33005e59b45ebf6139c07ec6b5751417a1d24dda/index.php#L7
https://github.com/roots/sage/blob/33005e59b45ebf6139c07ec6b5751417a1d24dda/index.php#L12
This makes some plugins (like Elementor) render header two times !
Steps to reproduce

Install Sage 10 by installation steps
Install plugin "elementor"
You would find 2 <body> tags on every pages, and some  tags are inside .

Expected behavior: [What you expect to happen]
The header section should only render once and should place in the reasonable DOM tree
Actual behavior: [What actually happens]
The header section render 2 times.
Reproduces how often: [What percentage of the time does it reproduce?]
Everytime
Versions
Sage 10.0.0-beta.1 (dev-master)
Elementor 3.1.1
You can get this information from referencing CHANGELOG.md. Also, please include the OS and what version of the OS you're running.
Additional information
I think simply removing the line below would help.
    <?php do_action('get_header'); ?>
--
This image shows that header block render 2 times when Elementor is activated.

I assume there's a template in Elementor you need to override. I'd move this to https://discourse.roots.io/

Having the same problem right now. Are there any fixes 2 years later?

Same problem with Roots Sage 10 and Elementor.
I replace the do_action('get_header') in themes//index.php with this piece of code to prevent double header when elementor plugin is activated.
<?php     if (!is_plugin_active( 'elementor/elementor.php' )) {       do_action('get_header');     }     ?>

Hm, doesn't solve the problem for me, when I remove the get_header function the Elementor Theme Header wouldn't be loaded and if I want to edit this, I get the error "no content area found, please include the_content() in your theme" ...

@0LIW3R  I tried again and I don't have any problem to edit page with Elementor with my change.
The error you see usually occurs when you miss the   @php(the_content()) in your page (in partials/content-single.blade.php for example)

Feel free to use https://discourse.roots.io/t/sage10-incompatibility-with-elementor/22201 to discuss Elementor and Sage 10. I'm locking this issue from further comments because we don't use GH issues for support.


'About' Page Content

The current 'About' page is blank. Either
a) We should delete it.
b) We should populate it.
If we populate it, I suggest a prose version of the following:

What the tool is for => calculating the effect of income changes on gov benefits
Who the tool is for => case workers, primarily.
How does it work => Input client data, follow along, get results
Who made it/how do I submit bugs? => CfB/email ___ where ___ is likely @knod

Could be structured as an FAQ along these lines. Doesn't need to be though.

Just in case of buses, for the last item, I propose:

Who made it/how do I submit bugs? => link to github issues page

Thought of that - I don't know if we want case workers to directly insert problems to our technical issues board. I figured we probably want a person as a filter between them and the issues board. Not positive - that's just my 2 cents.

Fair point.

Andrew's working on the prose, I believe.  I also agree with Nick's assessment re: person filter, and the user testing process Andrew's mapped out allows for that.

I'll have a draft of this tomorrow afternoon. What's the best way to submit the prose? Just as a comment to this thread?

@anhase Let's discuss this on slack since it might get complicated depending on what format it's in right now.

Okay.
On Wed, Nov 15, 2017 at 8:55 AM, knod<EMAIL_ADDRESS>wrote:

@anhase https://github.com/anhase Let's discuss this on slack since it
might get complicated depending on what format it's in right now.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/codeforboston/cliff-effects/issues/171#issuecomment-344598987,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AD-0zbrn49XH-nZkpGqo5Vuv_fZausvtks5s2u04gaJpZM4QZFO-
.

@anhase When you have one ready, put a link here to the text that will be the content.

Doc here: https://docs.google.com/document/d/1mZNud_JvnC33oNIJBXK_MeBYIuqchmJ3-bfHglKgQbs/edit?usp=sharing
Most needed now are names of Code for Boston contributors. @emily-wasserman, @isaacchansky, @carpeliam: Any idea how we can gather a more complete list of those who contributed?

I spoke with Andrew and gave him the names of people I can remember - I'm removing myself from the list of assignees, but let me know if I can help more.

Resolved by @anhase some time ago.


TF-TRT optimized graph get wrong results when using batch size <=7

Please make sure that this is a bug. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:bug_template
System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow):Yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04):Ubuntu 18.04
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device:
TensorFlow installed from (source or binary): binary
TensorFlow version (use command below): 1.14.0
Python version: 3.6.8
Bazel version (if compiling from source):
GCC/Compiler version (if compiling from source):
CUDA/cuDNN version:10.2
GPU model and memory:Tesla T4 with 15001MiB memory

You can collect some of this information using our environment capture
script
You can also obtain the TensorFlow version with: 1. TF 1.0: python -c "import tensorflow as tf; print(tf.GIT_VERSION, tf.VERSION)" 2. TF 2.0: python -c "import tensorflow as tf; print(tf.version.GIT_VERSION, tf.version.VERSION)"
Describe the current behavior
When using TF-TRT optimized graph to do inference, it only works as expected when batch size >=7(I tested batch size from 1-16). And the result is completely wrong when batch size <7
Describe the expected behavior
Small batch size should also give me the correct result since my original un-optimized graph can handle small batch size.
Code to reproduce the issue
Setup according to  https://github.com/tensorflow/tensorrt/tree/master/tftrt/examples/object_detection:
# in path/to/tftrt/examples/object_detection/
import tensorflow as tf
from tensorflow.python.compiler.tensorrt import trt_convert as trt
import cv2
from collections import namedtuple
from PIL import Image
import numpy as np
import time
import json
import subprocess
import os
import glob
from tftrt.examples.object_detection.graph_utils import force_nms_cpu as f_force_nms_cpu
from tftrt.examples.object_detection.graph_utils import replace_relu6 as f_replace_relu6
from tftrt.examples.object_detection.graph_utils import remove_assert as f_remove_assert

def optimize_model(frozen_graph,
                   use_trt=True,
                   force_nms_cpu=True,
                   replace_relu6=True,
                   remove_assert=True,
                   precision_mode='FP32',
                   minimum_segment_size=2,
                   max_workspace_size_bytes=1 << 32,
                   maximum_cached_engines=100,
                   calib_images_dir=None,
                   num_calib_images=None,
                   calib_batch_size=1,
                   calib_image_shape=None,
                   output_path=None):
    #same function copied from  path/to/tftrt/examples/object_detection/object_detection.py#L328
    pass
# optimized a customed frozen graph
frozen_graph_path = 'path/to/frozen_graph.pb'
frozen_graph = tf.GraphDef()
with open(frozen_graph_path, 'rb') as f:
    frozen_graph.ParseFromString(f.read())
frozen_graph = optimize_model(
    frozen_graph,
    force_nms_cpu=False,
    replace_relu6=True,
    remove_assert=True,
    use_trt=True,
    precision_mode="FP16",
    max_workspace_size_bytes=17179869184,
    output_path='./trt_frozen_graph.pb'
)

# run inference
frozen_graph_path = './trt_frozen_graph.pb'
frozen_graph = tf.GraphDef()
with open(frozen_graph_path, 'rb') as f:
    frozen_graph.ParseFromString(f.read())

# images = [bs, h, w, 3]
INPUT_NAME = 'input'
BOXES_NAME = 'output/boxes'
CLASSES_NAME = 'output/labels'
SCORES_NAME = 'output/scores'
NUM_DETECTIONS_NAME = 'output/num_detections'
with tf.Graph().as_default() as tf_graph:
    with tf.Session(config=tf_config) as tf_sess:
        tf.import_graph_def(frozen_graph, name='')
        tf_input = tf_graph.get_tensor_by_name(INPUT_NAME + ':0')
        tf_boxes = tf_graph.get_tensor_by_name(BOXES_NAME + ':0')
        tf_classes = tf_graph.get_tensor_by_name(CLASSES_NAME + ':0')
        tf_scores = tf_graph.get_tensor_by_name(SCORES_NAME + ':0')
        tf_num_detections = tf_graph.get_tensor_by_name(
            NUM_DETECTIONS_NAME + ':0')
        boxes, classes, scores, num_detections = tf_sess.run(
                    [tf_boxes, tf_classes, tf_scores, tf_num_detections],
                    feed_dict={tf_input: batch_images})

Other info / logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached.
My frozen graph can be download at https://drive.google.com/open?id=1s_laMhRw8GC6I9brQjn6apKTfhWe734J
WARNING:tensorflow:From /notebooks/tensorrt/tftrt/examples/object_detection/graph_utils.py:31: The name tf.placeholder is deprecated. Please use tf.compat.v1.placeholder instead.
WARNING:tensorflow:From /notebooks/tensorrt/tftrt/examples/object_detection/graph_utils.py:31: The name tf.placeholder is deprecated. Please use tf.compat.v1.placeholder instead.

INFO:tensorflow:Linked TensorRT version: (6, 0, 1)
INFO:tensorflow:Loaded TensorRT version: (6, 0, 1)
INFO:tensorflow:Running against TensorRT version 6.0.1
graph_size(MB)(native_tf): 54.5
graph_size(MB)(trt): 106.0
num_nodes(native_tf): 10992
num_nodes(tftrt_total): 10156
num_nodes(trt_only): 290
time(s) (trt_conversion): 15.8726

It seems that tf.image.combined_non_max_suppression() is problematic after optimization, since if i change to batch size 1 and use tf.image.non_max_suppression() , the result is what I expected.

@ArtificialNotImbecile Can you please try TF1.15 and let us know whether it resolved or not. Thanks!

@ArtificialNotImbecile Can you please try TF1.15 and let us know whether it resolved or not. Thanks!

I can not optimize the graph in tensorflow=1.15.0, it breaks my jupyter notebook every time I call the trt.TrtGraphConverter() function. I'll report the result If I can get the optimization work in TF1.15.

@pooyadavoodi any ideas?

Hi There,
We are checking to see if you still need help on this, as you are using an older version of tensorflow which is officially considered end of life . We recommend that you upgrade to the latest 2.x version and let us know if the issue still persists in newer versions. Please open a new issue for any help you need against 2.x, and we will get you the right help.
This issue will be closed automatically 7 days from now. If you still need help with this issue, please provide us with more information.


Verify domain on Meta

What?
Verifying WC domain for Meta (inc Facebook, Insta)
Why?

This change is necessary for brand safety. While the domain is unverified any advertiser would be able to run ads to the Wellcome Collection website. We would not be able to control the copy or content of the ad.
Verifying our domain allows us to use a whitelist, so that only approved partners can run ads to the Wellcome Collection website.
Additionally, if we choose to use remarketing at any point, verifying our domain will improve the accuracy of our tracking.

Background
Request from Wellcome Collection Comms & Marketing, in coordination with 3rd party marketing company Ethix.
Task
Actions required
There are three options for verifying the domain. All instructions are below, but only one option needs to be followed:

Option 1 - Add a meta-tag to your HTML source code

Copy this meta-tag: <meta name="facebook-domain-verification" content="gl52uu0zshpy3yqv1ohxo3zq39mb0w" />
Paste the meta-tag into the <head> ... <head> section of the website’s home page HTML source, and publish the page.
-- Note: Verification will fail if the meta-tag code is outside the  section or in a section loaded dynamically by JavaScript.
After you've published the home page, confirm that the meta-tag is visible by visiting http://wellcomecollection.org/ and viewing the HTML source.

Option 2 - Upload an HTML file to your root directory

Download the HTML verification file. Do not modify this file once you've downloaded it.
Upload the file to the root directory of this domain: http://wellcomecollection.org/
Your HTML verification file has uploaded successfully if you can see the verification code on your website: http://wellcomecollection.org/gl52uu0zshpy3yqv1ohxo3zq39mb0w.html

Option 3 - Update the DNS TXT record with your domain registrar

Go to your domain registrar, log in to your account and find the DNS records section.
Follow the instructions to add this TXT record in your DNS configuration:
-- facebook-domain-verification=gl52uu0zshpy3yqv1ohxo3zq39mb0w
-- Note: Some domain registrars require the @ symbol in the host field.
Use a DNS TXT lookup tool to confirm that the record has been updated across your servers.

Done when

[x] Appropriate option implemented
[x] Notify Michelle Doyle

I think (2) is moderately fiddly with our architecture and more liable to break in future.
I don't have a strong opinion on which of (1) or (3) we should do; both would be pretty low-effort to implement.

I've decided to put it in this repo; DNS records are managed elsewhere and it'd be a bit harder to find.

Closing as done – we've added the meta tag, a test that we won't remove it, and Comms & Marketing are happy with the change.


Image Linking

Hello_ I'm having difficulty linking to an image in the Assets folder, and I've noticed you link to images using an outside url. Does the theme accept internal paths to images, and if so how does it do so? Not, i'm not the best developer, so this could be a problem with me. However, I am able to get this to work locally.

Could you please elaborate on the issue? This theme works well with linking to images using each of the ways Jekyll documentation advises.

perhaps its a Github setting, as I'm using the method correctly. all I know is that when I push my files to Github the images no longer work. the files are in github, but they don't render.

Could this possibly be related to #12 ?

I'm guessing @adaRn is correct and it is related to #12. You also don't need image-sm if it is the same as image. It is just an option to optimize the page speed on card views.

Thanks @thomasvaeth, I updated the image in the comment so it's no longer misleading.

Yes @thomasvaeth and @adaRn, it does appear that I am having a similar issue. However, I've just gone through all of the scenarios you both mentioned in issue #12 and I still can't get the images to work properly. I can get all images to work locally using /assets/tn-titans.jpg for both post and profile pic, but I'm unable to achieve that success once I've pushed everything to Github. I even adjusted the base url several times to try and see it was a combination there that might change things. I also tried using absolute urls to the images and that didn't work either. What am I doing wrong?

Did you look at the the _site folder? How are the images being outputted?

Hi @jaythanelam , try this
image: /../assets/tn-titans.jpg
Keep in mind that you are trying to access assets folder from posts folder.
Also, @thomasvaeth , image and image-sm are two different things

image is for preview image of latest post at home page
image-sm is for header image for the particular post

@prakhar2b I know image and image-sm are two different things, but you have them backwards. image-sm is for the cards since you don't need a huge image for those.

Closing because original poster hasn't answered in 10 days. Images work for everyone else.


⚠ Jenkins Plugins Artifactory has degraded performance

In db30484, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1291 ms

Resolved: Jenkins Plugins Artifactory performance has improved in 1bc33fc after 12 minutes.


reachability.startNotifier() causes a crash in swift3(xCode8-beta6)

I implemented reachability.swift from iOS10 branch into my swift3 project on xCode8-beta6 and got an error that I couldn't resolve.
I noticed that the app crashes when  reachability.startNotifier is called to post a notification.
let reachability = Reachability()!
NSNotificationCenter.defaultCenter().addObserver(self, selector: "reachabilityChanged:",name: ReachabilityChangedNotification,object: reachability)
    do{
      try reachability.startNotifier()
    }catch{
      print("could not start reachability notifier")
    }

The app crashes here

And this is what I can see in the log.

*** NSForwarding: warning: object 0x10d939668 of class 'WebClient' does not implement methodSignatureForSelector: -- trouble ahead Unrecognized selector +[WebClient reachabilityChanged:]

Please let me know how I can resolve this problem.

#130.. I am also getting the same issue. Is anybody having solution for this?


[Regression] dbt run-operation requires the application default credentials

Is this a regression in a recent version of dbt-bigquery?

[X] I believe this is a regression in dbt-bigquery functionality
[X] I have searched the existing issues, and I could not find an existing issue for this regression

Current Behavior
dbt-bigquery 1.9 requires the application default credentials even if the executed macro doesn't need to use the credentials.
WARNING:google.auth._default:Authentication failed using Compute Engine authentication due to unavailable metadata server.
08:57:43  Encountered an error while running operation: Database Error
  Runtime Error
    Failed to authenticate with supplied credentials
    error:
    Your default credentials were not found. To set up Application Default Credentials, see https://cloud.google.com/docs/authentication/external/set-up-adc for more information.

Expected/Previous Behavior
I expect we can execute a macro which don't need to access BigQuery without the application default credetials.
Steps To Reproduce

Install dbt-core 1.9 and dbt-bigquery 1.9 in the jaffle_shop project
Implement a dbt Macro named macros/echo.sql{% macro echo() %}
    {% do log("Hello, world!", info=True) %}
{% endmacro %}

Execute dbt run-operator echo without the appliction default credentials

We can revoke the application default credentials by gcloud auth application-default revoke

Relevant log output
09:25:29  Sending event: {'category': 'dbt', 'action': 'invocation', 'label': 'start', 'context': [<snowplow_tracker.self_describing_json.SelfDescribingJson object at 0x107536e60>, <snowplow_tracker.self_describing_json.SelfDescribingJson object at 0x110dd5de0>, <snowplow_tracker.self_describing_json.SelfDescribingJson object at 0x110dd6290>]}
09:25:29  Running with dbt=1.9.0
09:25:29  running dbt with arguments {'printer_width': '80', 'indirect_selection': 'eager', 'write_json': 'True', 'log_cache_events': 'False', 'partial_parse': 'True', 'cache_selected_only': 'False', 'profiles_dir': '/Users/yu/local/src/github/jaffle_shop', 'version_check': 'True', 'debug': 'True', 'log_path': '/Users/yu/local/src/github/jaffle_shop/logs', 'fail_fast': 'False', 'warn_error': 'None', 'use_colors': 'False', 'use_experimental_parser': 'False', 'no_print': 'None', 'quiet': 'False', 'empty': 'None', 'log_format': 'default', 'static_parser': 'True', 'invocation_command': 'dbt --no-use-colors run-operation echo', 'introspect': 'True', 'target_path': 'None', 'warn_error_options': 'WarnErrorOptions(include=[], exclude=[])', 'send_anonymous_usage_stats': 'True'}
09:25:29  Sending event: {'category': 'dbt', 'action': 'project_id', 'label': '20281131-e5da-48d0-8bec-3908076ecc3e', 'context': [<snowplow_tracker.self_describing_json.SelfDescribingJson object at 0x1370653c0>]}
09:25:29  Sending event: {'category': 'dbt', 'action': 'adapter_info', 'label': '20281131-e5da-48d0-8bec-3908076ecc3e', 'context': [<snowplow_tracker.self_describing_json.SelfDescribingJson object at 0x136efe890>]}
09:25:29  Registered adapter: bigquery=1.9.0
09:25:29  checksum: c99e828bba267739642b5a3ce85f17518764ea526e0e6c4fdc649171c1a66bff, vars: {}, profile: , target: , version: 1.9.0
09:25:29  Partial parsing enabled: 0 files deleted, 0 files added, 0 files changed.
09:25:29  Partial parsing enabled, no changes found, skipping parsing
09:25:29  [WARNING]: Configuration paths exist in your dbt_project.yml file which do not apply to any resources.
There are 2 unused configuration paths:
- models.jaffle_shop
- models.jaffle_shop.staging
09:25:29  Sending event: {'category': 'dbt', 'action': 'load_project', 'label': '20281131-e5da-48d0-8bec-3908076ecc3e', 'context': [<snowplow_tracker.self_describing_json.SelfDescribingJson object at 0x13743c130>]}
09:25:29  Wrote artifact WritableManifest to /Users/yu/local/src/github/jaffle_shop/target/manifest.json
09:25:29  Wrote artifact SemanticManifest to /Users/yu/local/src/github/jaffle_shop/target/semantic_manifest.json
09:25:29  Sending event: {'category': 'dbt', 'action': 'resource_counts', 'label': '20281131-e5da-48d0-8bec-3908076ecc3e', 'context': [<snowplow_tracker.self_describing_json.SelfDescribingJson object at 0x137411780>]}
09:25:29  Found 2 operations, 489 macros
09:25:29  Sending event: {'category': 'dbt', 'action': 'runnable_timing', 'label': '20281131-e5da-48d0-8bec-3908076ecc3e', 'context': [<snowplow_tracker.self_describing_json.SelfDescribingJson object at 0x136acf640>]}
09:25:29  Acquiring new bigquery connection 'macro_echo'
09:25:29  Hello, world!
09:25:29  Opening a new connection, currently in state init
09:25:39  BigQuery adapter: Got an error when attempting to create a bigquery " "client: 'Runtime Error
  Failed to authenticate with supplied credentials
  error:
  Your default credentials were not found. To set up Application Default Credentials, see https://cloud.google.com/docs/authentication/external/set-up-adc for more information.'
09:25:39  Encountered an error while running operation: Database Error
  Runtime Error
    Failed to authenticate with supplied credentials
    error:
    Your default credentials were not found. To set up Application Default Credentials, see https://cloud.google.com/docs/authentication/external/set-up-adc for more information.
09:25:39  Traceback (most recent call last):
  File "/Users/yu/anaconda2/envs/jaffle-shop/lib/python3.10/site-packages/dbt/adapters/bigquery/connections.py", line 195, in open
    connection.handle = create_bigquery_client(connection.credentials)
  File "/Users/yu/anaconda2/envs/jaffle-shop/lib/python3.10/site-packages/dbt/adapters/bigquery/clients.py", line 24, in create_bigquery_client
    return _create_bigquery_client(credentials)
  File "/Users/yu/anaconda2/envs/jaffle-shop/lib/python3.10/site-packages/google/api_core/retry/retry_unary.py", line 293, in retry_wrapped_func
    return retry_target(
  File "/Users/yu/anaconda2/envs/jaffle-shop/lib/python3.10/site-packages/google/api_core/retry/retry_unary.py", line 153, in retry_target
    _retry_error_helper(
  File "/Users/yu/anaconda2/envs/jaffle-shop/lib/python3.10/site-packages/google/api_core/retry/retry_base.py", line 212, in _retry_error_helper
    raise final_exc from source_exc
  File "/Users/yu/anaconda2/envs/jaffle-shop/lib/python3.10/site-packages/google/api_core/retry/retry_unary.py", line 144, in retry_target
    result = target()
  File "/Users/yu/anaconda2/envs/jaffle-shop/lib/python3.10/site-packages/dbt/adapters/bigquery/clients.py", line 61, in _create_bigquery_client
    create_google_credentials(credentials),
  File "/Users/yu/anaconda2/envs/jaffle-shop/lib/python3.10/site-packages/dbt/adapters/bigquery/credentials.py", line 178, in create_google_credentials
    return _create_google_credentials(credentials)
  File "/Users/yu/anaconda2/envs/jaffle-shop/lib/python3.10/site-packages/dbt/adapters/bigquery/credentials.py", line 197, in _create_google_credentials
    creds, _ = _create_bigquery_defaults(scopes=credentials.scopes)
  File "/Users/yu/anaconda2/envs/jaffle-shop/lib/python3.10/site-packages/dbt/adapters/bigquery/credentials.py", line 239, in _create_bigquery_defaults
    raise DbtConfigError(f"Failed to authenticate with supplied credentials\nerror:\n{e}")
dbt_common.exceptions.base.DbtConfigError: Runtime Error
  Failed to authenticate with supplied credentials
  error:
  Your default credentials were not found. To set up Application Default Credentials, see https://cloud.google.com/docs/authentication/external/set-up-adc for more information.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/Users/yu/anaconda2/envs/jaffle-shop/lib/python3.10/site-packages/dbt/task/run_operation.py", line 67, in run
    self._run_unsafe(package_name, macro_name)
  File "/Users/yu/anaconda2/envs/jaffle-shop/lib/python3.10/site-packages/dbt/task/run_operation.py", line 46, in _run_unsafe
    with adapter.connection_named("macro_{}".format(macro_name)):
  File "/Users/yu/anaconda2/envs/jaffle-shop/lib/python3.10/contextlib.py", line 142, in __exit__
    next(self.gen)
  File "/Users/yu/anaconda2/envs/jaffle-shop/lib/python3.10/site-packages/dbt/adapters/base/impl.py", line 374, in connection_named
    self.release_connection()
  File "/Users/yu/anaconda2/envs/jaffle-shop/lib/python3.10/site-packages/dbt/adapters/base/impl.py", line 343, in release_connection
    self.connections.release()
  File "/Users/yu/anaconda2/envs/jaffle-shop/lib/python3.10/site-packages/dbt/adapters/base/connections.py", line 296, in release
    self.close(conn)
  File "/Users/yu/anaconda2/envs/jaffle-shop/lib/python3.10/site-packages/dbt/adapters/bigquery/connections.py", line 155, in close
    connection.handle.close()
  File "/Users/yu/anaconda2/envs/jaffle-shop/lib/python3.10/site-packages/dbt/adapters/contracts/connection.py", line 96, in handle
    self._handle.resolve(self)
  File "/Users/yu/anaconda2/envs/jaffle-shop/lib/python3.10/site-packages/dbt/adapters/contracts/connection.py", line 120, in resolve
    return self.opener(connection)
  File "/Users/yu/anaconda2/envs/jaffle-shop/lib/python3.10/site-packages/dbt/adapters/bigquery/connections.py", line 203, in open
    raise FailedToConnectError(str(e))
dbt.adapters.exceptions.connection.FailedToConnectError: Database Error
  Runtime Error
    Failed to authenticate with supplied credentials
    error:
    Your default credentials were not found. To set up Application Default Credentials, see https://cloud.google.com/docs/authentication/external/set-up-adc for more information.

09:25:39  Wrote artifact RunResultsArtifact to /Users/yu/local/src/github/jaffle_shop/target/run_results.json
09:25:39  Resource report: {"command_name": "run-operation", "command_success": false, "command_wall_clock_time": 9.877516, "process_in_blocks": "0", "process_kernel_time": 0.204768, "process_mem_max_rss": "201310208", "process_out_blocks": "0", "process_user_time": 1.248639}
09:25:39  Command `dbt run-operation` failed at 18:25:39.018344 after 9.88 seconds
09:25:39  Sending event: {'category': 'dbt', 'action': 'invocation', 'label': 'end', 'context': [<snowplow_tracker.self_describing_json.SelfDescribingJson object at 0x107536e60>, <snowplow_tracker.self_describing_json.SelfDescribingJson object at 0x136efe890>, <snowplow_tracker.self_describing_json.SelfDescribingJson object at 0x137355180>]}
09:25:39  Flushing usage events
09:25:39  An error was encountered while trying to flush usage events

### Environment

```markdown
- OS:
- Python: 3.11
- dbt-core (working version): 1.8
- dbt-bigquery (working version): 1.8
- dbt-core (regression version): 1.9
- dbt-bigquery (regression version): 1.9

Additional Context
No response

Hello @yu-iskw ! Curious what your use case here is? Before running anything, it is expected behavior that dbt seeks to establish a connection with BigQuery since dbt is 100% pushdown and doesn't have it's own compute.

Hi @amychen1776,
I don't think a regular dbt project should work without the application default credentials. But, some dbt Packages might need to run dbt run-operation without the application default credentials for unit tests.
I posted an article about how to do unit testing dbt Package in addition to integration tests to dbt Developer Blog before. We can implement unit tests utilizing dbt run-operation, as we implement unit tests in regular programming languages. That approach enables us to directly make sure behaviors dbt Macros.  We can also run unit tests in CI as I implemented in yu-iskw/dbt-unittest.
https://docs.getdbt.com/blog/unit-testing-dbt-packages
We consider if a dbt Package supports multiple major warehouses as BigQuery, Snowflake ans so on. And the developers want to run unit tests not only in CI jobs but also their local machines. For instance, first, the repository owner who doesn't mainly use BigQuery on a daily basis has to set the application default credentials in CI jobs. Second, the contributos have to set the application default credentials, even if he/she wants to enhance parts for a warehouse other than BigQuery. I suppose it can be hassle for them. That's why I want dbt-bigquery 1.9 to act as before. That would be helpful, though the behaviro might be directly related to some dbt Package develoeprs.


port roadmap doc from issue to repo

closes #250 as this is a better way to track our roadmap

are we still referring to the project as K2, or should all references to k2 be changed to kraken?

To confirm this is part of external communication?  I am trying to understand who the 'reader' is.

It's looking good!

@leahnp reader is anyone who wants to know what our plan is.  this include internal samsung folks and the community at large.

Some things to get done, some of which not directly codeslingy but need to be on the roadmap somewhere

deprecation of k2 naming, renaming k2 to kraken
scrub through community docs to provide the right naming, pointers
Community kraken demo
Staffing kickoff of the kraken community channel.- Logging architecture as a blog by one of the team members (do we need some bot work to ensure we aren't missing traffic?)
Connecting specific monitored items (SLIs) to an alert
Alert delivery. Suggest first target would be some kind of healthcheck "is cluster alive". Possibly the heptio cluster inspector might be a good choice.
Medium / blog post on Kraken, kubeadm
Contributing results to the community test results dashboard. Possibly the best single marketing exposure project.
Room visible dashboard for kraken CI? Discuss.

@countspongebob added comments to the roadmap to cover, I think, all of your comments OR dropped an edit onto your comment except for the visible dashboard.
Visible dashboard:  I don't see it as real useful, it just drops into the background like art and I don't notice it much.  If we want one the default jenkins UI for the pipeline is good.


Katey

@katedugdale - you should keep all of this just on your branch, so no need for a pull request. You will just do one if you want things merged to master.


Uppercase first and last name when registering users

Currently, the database stores lowercase user names "as is" and does not convert them to title case (uppercase first letter of names) before storing them in the database.
Picture of status quo:

The new functionality should be implemented inside the add_user and update_user functions in database.py.

Hello, I should be able to do this, could you assign me ?

Hi @cnonnet, sure 👍 Let me know if there are any issues.

Alright, I think is is working :)
I just manually changed the user_data to have an uppercase in the first_name and last name in the add_user function and on the update_user_by_user_email and update_user. I also modified the edit_user_data in callbacks.py otherwise the information on the user interface were not updated even though the information was different in the database.
I created a pull request with my modifications, I checked on my computer and it is working (see captures).

s

Fixed with commit 888af4196fd9baa7356314854aae3bc2067b2e20 by @cnonnet and can be closed. Thanks again for your contribution! 👍


Fix context stack for parameter doc lines with missing description

Purpose
$subject.
Fixes #28112
Approach
N/A
Samples
N/A
Remarks
N/A
Check List

[x] Read the Contributing Guide
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[x] Added necessary tests

[x] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Closing as we will not include this commit for alpha.

Closing as we will not include this commit for alpha.

Included in PR #28173


Added Stacktrace library

Removed the maintainers.txt changes

Ping

Changes for '.gitmodules' are in place. What exactly is missing?

Fixed. Thanks for being patient :)


Compilation warning treated as error due to GLEW 2.0.0 on CentOS 7

Problem
I get this warning which gets treated as an error when building OIIO on CentOS 7.

In file included from /home/rshrinath/Downloads/oiio/src/iv/imageviewer.h:49:0,
from /home/rshrinath/Downloads/oiio/src/iv/imageviewer.cpp:38:
/usr/local/include/GL/glew.h:8689:0: error: "GL_NONE" redefined [-Werror]
#define GL_NONE 0x0000
^
In file included from /home/rshrinath/Downloads/oiio/src/iv/imageviewer.h:49:0,
from /home/rshrinath/Downloads/oiio/src/iv/imageviewer.cpp:38:
/usr/local/include/GL/glew.h:316:0: note: this is the location of the previous definition
#define GL_NONE 0

I have GLEW v2.0.0 installed and the redefinition of GL_NONE at ln 8689 is under an ifdef guard (see following snippet).
`/* -------------------- GL_EGL_KHR_context_flush_control ------------------- */
#ifndef GL_EGL_KHR_context_flush_control
#define GL_EGL_KHR_context_flush_control 1
#define GL_EGL_CONTEXT_RELEASE_BEHAVIOR_NONE_KHR 0x0000
#define GL_NONE 0x0000
#define GL_EGL_CONTEXT_RELEASE_BEHAVIOR_KHR 0x2097
#define GL_EGL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR 0x2098
#define GL_CONTEXT_RELEASE_BEHAVIOR 0x82FB
#define GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH 0x82FC
#define GLEW_EGL_KHR_context_flush_control GLEW_GET_VAR(__GLEW_EGL_KHR_context_flush_control)
#endif /* GL_EGL_KHR_context_flush_control */`
Steps to Reproduce

Install GLEW 2.0.0 to /usr/local and all of OIIO's dependencies.
Run make.

Versions

OIIO branch/version: master
OS: CentOS 7
C++ compiler: GCC 4.8.5
GLEW: 2.0.0

Is this still a problem? I build on CentOS 7 all the time.
I'm going to speculatively close this. Please re-open if this is a problem on modern OIIO.


Adds looser date parsing support

The "Nightshade Year's Best Horror" mobi files from bundleofholding.com have only a 4-digit year in the date field, which causes an invalid date exception when parsing them. This loosens the date-parsing rules to parse these files.

Thanks


Read-Me File Dead Link

https://github.com/Polymer/polymer/
The 1st link and image are broken:

http://build.chromium.org/p/client.polymer/waterfall

Closing this issue due to age and the release of version 1 of Polymer - please feel free to re-open if this is incorrect.


add Apache 2.0 license at the head of "pkg/ddc/alluxio/operations/cached_test.go"

Ⅰ. Describe what this PR does
the file: "pkg/ddc/alluxio/operations/cached_test.go" is no notice statement added, so I added the Apache 2.0 license to the header of the file.
Ⅱ. Does this pull request fix one issue?

fixes #1151
Ⅲ. List the added test cases (unit test/integration test) if any, please explain if no tests are needed.
none
Ⅳ. Describe how to verify it
file_url: https://github.com/fluid-cloudnative/fluid/blob/master/pkg/ddc/alluxio/operations/cached_test.go
Ⅴ. Special notes for reviews
none

Thanks


[BUG]: drizzle-kit push and generate ignore 'snake_case'

Report hasn't been filed before.

[X] I have verified that the bug I'm about to report hasn't been filed before.

What version of drizzle-orm are you using?
0.36.1
What version of drizzle-kit are you using?
0.28.0
Other packages
No response
Describe the Bug
Summary:
drizzle-kit push or drizzle-kit generate does not honor the { casing: 'snake_case' } config on the drizzle client. There's also no option to configure casing for those 2 commands since the only place to configure the casing for drizzle-kit is only used in the pull command: https://orm.drizzle.team/docs/drizzle-config-file#introspect
To reproduce
This is essentially the getting-started example!
index.ts: (note the casing: 'snake_case')
import 'dotenv/config';
import { drizzle } from 'drizzle-orm/libsql';
import { usersTable } from './schema';
const db = drizzle('file:local.sqlite', {
    casing: 'snake_case',  // <---- 🐍 snake casing configured here
    schema: { usersTable }
});

async function main() {
    console.log(await db.query.usersTable.findMany());
}
main();

schema.ts:
import { int, sqliteTable, text } from "drizzle-orm/sqlite-core";
export const usersTable = sqliteTable("users_table", {
  id: int().primaryKey({ autoIncrement: true }),
  snakeCaseRow: text()
});

drizzle.config.ts:
import { defineConfig } from 'drizzle-kit';
export default defineConfig({
  out: './drizzle',
  schema: './schema.ts',
  dialect: 'sqlite',
  dbCredentials: {
    url: './local.sqlite',
  },
});

run command: npx drizzle-kit push.
run command tsx index.ts
Result:
Inspect the database. the column is called snakeCaseRow instead of the expected snake_case_row.
When running index.ts, there's an error as Drizzle cannot find the column snake_case_row as it was generated wrongly.
LibsqlError: SQLITE_ERROR: no such column: snake_case_row
    at mapSqliteError (/Users/matthiasfeist/src/test/node_modules/@libsql/client/lib-cjs/sqlite3.js:396:16)
    at executeStmt (/Users/matthiasfeist/src/test/node_modules/@libsql/client/lib-cjs/sqlite3.js:301:15)
    at Sqlite3Client.execute (/Users/matthiasfeist/src/test/node_modules/@libsql/client/lib-cjs/sqlite3.js:101:16)
    ... 4 lines matching cause stack trace ...
    at QueryPromise.then (/Users/matthiasfeist/src/test/node_modules/src/query-promise.ts:31:15) {
  code: 'SQLITE_ERROR',
  rawCode: 1,
  [cause]: SqliteError: no such column: snake_case_row
      at convertError (/Users/matthiasfeist/src/test/node_modules/libsql/index.js:51:12)
      at Database.prepare (/Users/matthiasfeist/src/test/node_modules/libsql/index.js:119:13)
      at executeStmt (/Users/matthiasfeist/src/test/node_modules/@libsql/client/lib-cjs/sqlite3.js:272:28)
      at Sqlite3Client.execute (/Users/matthiasfeist/src/test/node_modules/@libsql/client/lib-cjs/sqlite3.js:101:16)
      at LibSQLPreparedQuery.values (/Users/matthiasfeist/src/test/node_modules/src/libsql/session.ts:262:57)
      at LibSQLPreparedQuery.all (/Users/matthiasfeist/src/test/node_modules/src/libsql/session.ts:191:27)
      at QueryPromise.executeRaw (/Users/matthiasfeist/src/test/node_modules/src/sqlite-core/query-builders/query.ts:193:31)
      at QueryPromise.execute (/Users/matthiasfeist/src/test/node_modules/src/sqlite-core/query-builders/query.ts:197:15)
      at QueryPromise.then (/Users/matthiasfeist/src/test/node_modules/src/query-promise.ts:31:15) {
    code: 'SQLITE_ERROR',
    rawCode: 1
  }
}```

Exactly same thing is happening with me. +1

Okay, I have done some research on source code and realized that you should put casing option to your defineConfig function.
As far as I understand this 'casing' option is being checked when a query runs.
export const db = drizzle({
  connection: process.env.DB_URL!,
  casing: "snake_case",
});

And this casing option is being checked when you run 'npx drizzle-kit generate'
export default defineConfig({
  out: "./drizzle",
  schema: "./src/schemas",
  dialect: "postgresql",
  casing: "snake_case",
  dbCredentials: {
    url: process.env.DB_URL!,
  },
});

I don't know is this the wanted behaviour but it works.

@serkan-bayram it's work for me think you
i add casing: "snake_case" in drizzle({....}) and defineConfig({....})
after run drizzle-kit generat, i see my sql file it's snake_case finely

nice! thanks everyone!
thanks to @serkan-bayram to fix the docs. I hope this PR gets merged soon :)


Use ICU-equivalent \b behavior with Regex for String.range(of:)

Previously the String.range(of:) function's regex matching used ICU word boundaries rather than the more advanced Unicode boundaries. However, when we adopted Regex for the implementation we changed the behavior because Regex defaults to more advanced unicode word boundaries. This changes String.range(of:) back to ICU word boundaries for this API

@swift-ci please test


Integrate NistBib into Metanorma

For @opoudjis . Thanks!
The syntax will be something like:

"NIST XXXX" such as "NIST SP 800-53"
"NISTIR XXXX" such as "NISTIR 7628"
see the "NistPubSeries" class at https://github.com/metanorma/metanorma-model-nist

Adding the following Series abbreviations as recognised NIST prefixes:
NISTGCR
ITL Bulletin
JPCRD
NISTIR
CSRC


Set cluster logs to json format

As a user, I would like to be able to view all my logs in json format.

Closing as it's duplicate of https://github.com/aws/eks-anywhere/issues/5103


[linux] Allow custom component names (IDFGH-9052)

Is your feature request related to a problem?
For some reason the build system currently does not allow the COMPONENTS variable for a linux build to be anything other than main.
E.g. here's the CMakeLists.txt of the hello_world_linux_compatible
# The following lines of boilerplate have to be in your project's
# CMakeLists in this exact order for cmake to work correctly
cmake_minimum_required(VERSION 3.16)

include($ENV{IDF_PATH}/tools/cmake/project.cmake)
set(COMPONENTS main)
project(hello_world)

Trying to set COMPONENTS to anything else (e.g. "tests") results in a CMake error
CMake Error at /home/vinci/esp/esp-idf/tools/cmake/build.cmake:542 (message):
  ERROR: Cannot parse components list file.

Describe the solution you'd like.
I'd like to give a component on linux the same arbitrary name I can when using any other esp* target.
Describe alternatives you've considered.
I've also tried to use the EXTRA_COMPONENT_DIRS variable as mentioned here. This does work for esp* targets, but not for linux. It creates the following error message
Traceback (most recent call last):
  File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/home/vinci/.espressif/python_env/idf5.1_py3.10_env/lib/python3.10/site-packages/kconfgen/__main__.py", line 16, in <module>
    main()
  File "/home/vinci/.espressif/python_env/idf5.1_py3.10_env/lib/python3.10/site-packages/kconfgen/core.py", line 319, in main
    config = kconfiglib.Kconfig(args.kconfig)
  File "/home/vinci/.espressif/python_env/idf5.1_py3.10_env/lib/python3.10/site-packages/kconfiglib.py", line 947, in __init__
    self._init(filename, warn, warn_to_stderr, encoding)
  File "/home/vinci/.espressif/python_env/idf5.1_py3.10_env/lib/python3.10/site-packages/kconfiglib.py", line 1085, in _init
    self._parse_block(None, self.top_node, self.top_node).next = None
  File "/home/vinci/.espressif/python_env/idf5.1_py3.10_env/lib/python3.10/site-packages/kconfiglib.py", line 3028, in _parse_block
    self._parse_block(_T_ENDMENU, node, node)
  File "/home/vinci/.espressif/python_env/idf5.1_py3.10_env/lib/python3.10/site-packages/kconfiglib.py", line 2989, in _parse_block
    prev = self._parse_block(None, parent, prev)
  File "/home/vinci/.espressif/python_env/idf5.1_py3.10_env/lib/python3.10/site-packages/kconfiglib.py", line 2989, in _parse_block
    prev = self._parse_block(None, parent, prev)
  File "/home/vinci/.espressif/python_env/idf5.1_py3.10_env/lib/python3.10/site-packages/kconfiglib.py", line 3028, in _parse_block
    self._parse_block(_T_ENDMENU, node, node)
  File "/home/vinci/.espressif/python_env/idf5.1_py3.10_env/lib/python3.10/site-packages/kconfiglib.py", line 3028, in _parse_block
    self._parse_block(_T_ENDMENU, node, node)
  File "/home/vinci/.espressif/python_env/idf5.1_py3.10_env/lib/python3.10/site-packages/kconfiglib.py", line 2977, in _parse_block
    raise KconfigError(
kconfiglib.KconfigError: /home/vinci/esp/esp-idf/components/bt/Kconfig:68: '/home/vinci/esp/esp-idf/components/bt/controller/linux/Kconfig.in' not found (in 'source "$IDF_PATH/components/bt/controller/$IDF_TARGET/Kconfig.in"'). Check that environment variables are set correctly (e.g. $srctree, which is unset or blank). Also note that unset environment variables expand to the empty string.
CMake Error at /home/vinci/esp/esp-idf/tools/cmake/kconfig.cmake:176 (message):
  Failed to run kconfgen
  (python;-m;kconfgen;--list-separator=semicolon;--kconfig;/home/vinci/esp/esp-idf/Kconfig;--sdkconfig-rename;/home/vinci/esp/esp-idf/sdkconfig.rename;--config;/home/vinci/Develop/VSCode/WULF/sdkconfig;--defaults;/home/vinci/Develop/VSCode/WULF/sdkconfig.defaults;--env-file;/home/vinci/Develop/VSCode/WULF/build/config.env).
  Error 1
Call Stack (most recent call first):
  /home/vinci/esp/esp-idf/tools/cmake/build.cmake:613 (__kconfig_generate_config)
  /home/vinci/esp/esp-idf/tools/cmake/project.cmake:447 (idf_build_process)
  CMakeLists.txt:21 (project)

Additional context.
No response

kconfiglib.KconfigError: /home/vinci/esp/esp-idf/components/bt/Kconfig:68: '/home/vinci/esp/esp-idf/components/bt/controller/linux/Kconfig.in' not found (in 'source "$IDF_PATH/components/bt/controller/$IDF_TARGET/Kconfig.in"'). Check that environment variables are set correctly (e.g. $srctree, which is unset or blank). Also note that unset environment variables expand to the empty string.

In this case it seems that one of your components has a dependency on bt component, which is not yet supported on linux target. (Sorry, the error is not very clear, but it boils down to "no one has tried building bt component for linux yet".)

CMake Error at /home/vinci/esp/esp-idf/tools/cmake/build.cmake:542 (message):
ERROR: Cannot parse components list file.

Could you please share more details about this one? Did you change the hello_world_linux_compatible project's CMakeLists.txt to have set(COMPONENTS tests)  and then rename main directory to tests, or anything else?

Sorry for the confusion, I'm trying various things since 2h and I'm losing track myself.
So, let's try that again, clean plate.
I've copied the hello_world_linux_compatible as starting point. Building the unmodified example works.
The first thing I then tried is to rename the main folder and the COMPONENTS variable to anything else. This produces the error I mentioned at the beginning.
CMake Error at /home/vinci/esp/esp-idf/tools/cmake/build.cmake:542 (message):
  ERROR: Cannot parse components list file.

Using the EXTRA_COMPONENT_DIRS variable instead of the COMPONENTS variable works, but only on esp* targets.
cmake_minimum_required(VERSION 3.16)

include($ENV{IDF_PATH}/tools/cmake/project.cmake)
set(EXTRA_COMPONENT_DIRS tests)
project(hello_world)

So far so good. Now I've tried to switch to the linux target. So I've run the command mentioned in the README.md
idf.py --preview set-target linux

And this doesn't work for some reason (see Python traceback above).

@higaski Just for my understanding: why do you need to rename the main component?
Regarding

With a (defaulted) main component the build produces a config.env file which by default includes the bluetooth component

Did you set the COMPONENTS to main in the CMakeLists.txt file of your project? if not, then the build errors are (currently) expected as the Linux target is still under development. By far not all components can be built on Linux.

@higaski Just for my understanding: why do you need to rename the main component?

Strictly speaking I wouldn't have to, but it's company policy to put tests under ./tests
My employer currently has 2 ESP32 products in the pipeline, it would be nice if we could keep consistency with existing projects.

Regarding

With a (defaulted) main component the build produces a config.env file which by default includes the bluetooth component

Did you set the COMPONENTS to main in the CMakeLists.txt file of your project? if not, then the build errors are (currently) expected as the Linux target is still under development. By far not all components can be built on Linux.

I did not no, I would like 'linux' targets to build under in different folder than main.

Hi @higaski
Seems like my answer was misleading, at best.
So yes, it is possible to rename the main component, as stated in the documentation. And it actually works with the linux hello world example, I just tried to run it with the linux target. What worked for me is setting the CMakeLists.txt in the project directory to this:
cmake_minimum_required(VERSION 3.16)

include($ENV{IDF_PATH}/tools/cmake/project.cmake)
set(COMPONENTS custom)
set(EXTRA_COMPONENT_DIRS "custom")
project(hello_world)

As can be seen, the main component has been renamed to custom. Then the idf_component_register call in the CMakeLists.txt inside custom has to be changed to require all necessary components. A good starting point is probably the "common requirements", as added by the build system.
I have not tried to use the component manager to pull in any component, though.
Having a main component is more like a convention in IDF projects, not a necessity. However, as with all conventions, not following it likely comes at a higher cost, in this case maybe additional maintenance overhead.

Funnily enough, I discovered this yesterday as well. It works to compile the hello_world_linux_compatible example with a different component name. What I didn't expect though is that this even works without explicitly stating component dependencies... Why?
I'd have expected to need to use something along the lines of:
idf_component_register(
  SRCS
  ${SRC}
  INCLUDE_DIRS
  ""
  REQUIRES
  esp_common
  esp_hw_support
  esp_rom
  esp_system
  freertos
  hal
  heap
  linux
  log
  soc)

Yet I didn't have to...?
The Running Applications on Host documentation mentions that there are mocks for the driver component (although not complete at the moment). How do I include those?
And what's the current state of FreeRTOS simulation on Linux? I may be wrong but I think I've red that only queues were supported until recently? Is this still the case?

Thank you, I got it all working! I think we can close the issue.
The only thing I'm still couldn't figure out is the CMake target name of the executable which gets produced. This is useful when e.g. defining POST_BUILD custom commands to pack firmware or so.

The only thing I'm still couldn't figure out is the CMake target name of the executable which gets produced.

You can call idf_build_get_property(var EXECUTABLE) to get the executable (ELF file) target, here's an example with POST_BUILD:
https://github.com/espressif/esp-idf/blob/4c98bee8a4417d92a387ef2416be14ff1fdfa92a/tools/test_apps/system/no_embedded_paths/CMakeLists.txt#L8-L22
For the .bin file, you can attach POST_BUILD step to the app target. (add_custom_command(TARGET app POST_BUILD)


[Bug] Save Actions do not work on custom operations

Bug report
What I did
I created a custom operation using a Trait as specified in https://backpackforlaravel.com/docs/5.x/crud-operations#creating-a-custom-operation-1
What I expected to happen
I expect to get an otherwise normal CRUD panel with save operations, etc, that I can add stuff to
What happened
It doesn't get any save actions, and using $this->crud->addSaveAction([(stuff)]); doesn't work. I can manually add a submit button to my form, but then I don't seem to get error handling or anything else.
Notes
It may be that the documentation for how to add a custom operation with a form isn't complete, or I may be doing something wrong, but the documentation doesn't give me any way to tell and the obvious things I am trying do not work.

Hello @adrienne
I think in the next day we will be lauching an Article that has that ability as an example.
Basically the save actions are displayed in create and update operations views, you can have a look at them to know how to add the save actions into a custom view.
What I usually do when I need an operation that is a "form", I usually do php artisan backpack:publish crud/create, it will publish the create view, rename it as you like and use it as the operation view.
All should be fine ... Let me know if you have any issues.
Cheers

I think I understand what @adrienne 's expectations were here, that we weren't met. If devs expect to be able to create "custom operations with custom forms" we should make that easier. I've added https://github.com/Laravel-Backpack/ideas/issues/147 a little time ago - I think that better describes this problem (and the solution).
In short, @adrienne , what you'll be able to do is create a custom operation (like you already did) but that operation will already include a form (and the save actions).
That's what you were looking for, correct? I think so, so let's close this issue in favor of continuing the conversation in https://github.com/Laravel-Backpack/ideas/issues/147 . If I'm wrong, of course, let us know and we'll reopen.
Cheers!

PS. That article got delayed. It's been split into 4 different articles, which will be coming one-by-one every week starting next week. This also proves my point - what @adrienne was trying to do was unnecessarily difficult to do / difficult to understand, that's why we had to split it into multiple articles. We can do better.


Fix spitest.py due to PyFtdi API change

According to the PyFtdi API change, the line shown below would cause AttributeError: 'bytearray' object has no attribute 'tobytes'.
https://github.com/lowRISC/opentitan/blob/275dd04aca5fb00b3fff1e10bef849af547e2a0d/util/simplespi/spitest.py#L140
I simply removed .tobytes() and it seemed to be working.

Another question is when I ran the flippy test, the output was always selecting JTAG. Is that expected or could the GPIO pin assignment have been changed?

Another question is when I ran the flippy test, the output was always selecting JTAG. Is that expected or could the GPIO pin assignment have been changed?

@jackieke724 Thanks for debugging this. Would you mind doing a pull request with your changes? If you haven't done a PR before you can find documentation at https://docs.opentitan.org/doc/ug/github_notes/.

@jackieke724 Thanks for debugging this. Would you mind doing a pull request with your changes? If you haven't done a PR before you can find documentation at https://docs.opentitan.org/doc/ug/github_notes/.

@imphil , thanks for the pointer. I have opened a pull request.
Please ignore the 9db9f9a commit, as that includes changes which port opentitan to the Genesys2 FPGA board.

@imphil , thanks for the pointer. I have opened a pull request.
Please ignore the 9db9f9a commit, as that includes changes which port opentitan to the Genesys2 FPGA board.


Changes of permissions for NetSessionEnum

Starting with Windows 10 1607 and Windows Server 2019 1809, it is not possible anymore to query NetSessionEnum (also level 0 and 10) for Authenticated Users.

@sploutchy : Thanks for your contribution! The author(s) have been notified to review your proposed change.

#sign-off

@alvinashcraft: I'm sorry - only the author of this article, @mikben, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.


Sharding across multiple machines

I am trying to deploy sharding in a multi-machine setting, where each physical machine (VM) contains a different shard collection (potentially with replicas). In particular, is it possible not to have the same shard collection automatically replicated across all machines? Otherwise said, can we work with different database fragments on each machine?
Please tell me if you know some DBMS that ensure this setting.
Thank you!

TigerGraph handles data shard and replication automatically. There is no way for the user to do this. The same is true for querying, there is no way to query data in a specific shard as TigerGraph automatically manages this for the user so that they do not need to worry about this and can just focus on writing queries for the data.
You are able to specify the number of replicas and partitions for the cluster during install time. More information is available here:
https://docs.tigergraph.com/tigergraph-server/current/ha/ha-cluster


BitGO, setup

Is there a more detailed guide for bitgo setup?

Hey @not-a-dev0,
Unfortunately we don't have detailed bitgo setup guide.
It is not needed, because you just need to create wallets on BitGo and then add credentials into peatio seed files.

@shal can you tell me how to add those.credentials?

even some informations about how to set it up would be great.
for instance blockchain -> client bitgo -> server ?
what to put there...

Hello @lekabyte there is the documentation for wallet configuration
https://github.com/openware/peatio-contrib/tree/master/peatio-bitgo/docs
We detect deposits via webhooks and create transactions with WalletService.