How to override global dependencies on a single endpoint?

First check

[x] I added a very descriptive title to this issue.
[x] I used the GitHub search to find a similar issue and didn't find it.
[x] I searched the FastAPI documentation, with the integrated search.
[x] I already searched in Google "How to X in FastAPI" and didn't find any information.
[x] I already read and followed all the tutorial in the docs and didn't find an answer.
[x] I already checked if it is not related to FastAPI but to Pydantic.
[x] I already checked if it is not related to FastAPI but to Swagger UI.
[x] I already checked if it is not related to FastAPI but to ReDoc.
[x] After submitting this, I commit to one of:

Read open issues with questions until I find 2 issues where I can help someone and add a comment to help there.
I already hit the "watch" button in this repository to receive notifications and I commit to help at least 2 people that ask questions in the future.
Implement a Pull Request for a confirmed bug.

Example
Here's a self-contained, minimal, reproducible, example with my use case, copied from https://fastapi.tiangolo.com/tutorial/dependencies/global-dependencies/:
from fastapi import Depends, FastAPI, Header, HTTPException

async def verify_token(x_token: str = Header(...)):
    if x_token != "fake-super-secret-token":
        raise HTTPException(status_code=400, detail="X-Token header invalid")

async def verify_key(x_key: str = Header(...)):
    if x_key != "fake-super-secret-key":
        raise HTTPException(status_code=400, detail="X-Key header invalid")
    return x_key

app = FastAPI(dependencies=[Depends(verify_token), Depends(verify_key)])

@app.get("/items/")
async def read_items():
    return [{"item": "Portal Gun"}, {"item": "Plumbus"}]

@app.get("/users/")
async def read_users():
    return [{"username": "Rick"}, {"username": "Morty"}]

# This function shouldn't be authenticated because it is a health check endpoint
@app.get("/healthcheck")
async def healthcheck():
    return "ok"

Description
Is there a way to "skip" or override global dependencies on a single endpoint? I really like the new global dependencies since it makes it easy to enforce authentication by design rather than remembering to add it to every single endpoint.
However, in many deployment scenarios we need to expose a "healthcheck" endpoint, which shouldn't be authenticated. I've looked but not found a way of doing so in FastAPI. I could place my app behind Nginx and place my health check there, but it doesn't feel quite right.
Environment

OS: [e.g. Linux / Windows / macOS]: Any (unix-based Docker container)

FastAPI Version [e.g. 0.3.0]: 0.62.0

Python version:

Any, I presume. Using 3.7 personally.
Additional context

Can you use a separate router for the healthcheck, and put everything else on another router? Then put your "global" dependencies on the second router?

That sounds like a very good idea @falkben! Thanks for the suggestion. I'll try it out and update with the results 👍

It worked just fine. It's not entirely as safe (a developer might accidentally use @app.get instead of @router.get and thereby bypass the authentication), but it does solve my use-case well enough for this ticket to be closed. Thanks again!

Thanks for the help here @falkben ! :clap: :bow:
Thanks for reporting back and closing the issue @PatrikTrelsmo-izettle  :+1:

APIRouter has an initalize-option route_class, which not introduced by fastapi office docs.
You can override the class. here comes the source codes:
class APIRoute(routing.Route):
    def __init__(
        self,
        path: str,
        endpoint: Callable,
        *,
        response_model: Type[Any] = None,
        status_code: int = 200,
        tags: List[str] = None,
        dependencies: Sequence[params.Depends] = None, # here todo
        ...more options
    )

APIRouter has an initalize-option route_class, which not introduced by fastapi office docs.
You can override the class. here comes the source codes:
class APIRoute(routing.Route):
    def __init__(
        self,
        path: str,
        endpoint: Callable,
        *,
        response_model: Type[Any] = None,
        status_code: int = 200,
        tags: List[str] = None,
        dependencies: Sequence[params.Depends] = None, # here todo
        ...more options
    )

class AuthenticatedRoute(APIRoute):
def init(self, *args, **kwargs):
dependencies = list(kwargs.pop('dependencies', None) or [])
dependencies.insert(0, Depends(has_admin_role)) # here your codes
kwargs['dependencies'] = dependencies
super(AuthenticatedRoute, self).init(*args, **kwargs)
router = APIRouter(route_class=AuthenticatedRoute)

APIRouter has an initalize-option route_class, which not introduced by fastapi office docs.
You can override the class. here comes the source codes:
class APIRoute(routing.Route):
    def __init__(
        self,
        path: str,
        endpoint: Callable,
        *,
        response_model: Type[Any] = None,
        status_code: int = 200,
        tags: List[str] = None,
        dependencies: Sequence[params.Depends] = None, # here todo
        ...more options
    )

class AuthenticatedRoute(APIRoute):
    def __init__(self, *args, **kwargs):
        dependencies = list(kwargs.pop('dependencies', None) or [])
        dependencies.insert(0, Depends(has_admin_role))
        kwargs['dependencies'] = dependencies
        super(AuthenticatedRoute, self).__init__(*args, **kwargs)

router = APIRouter(route_class=AuthenticatedRoute)
@router.get("/api/some-resource", dependencies=[Depends(some_more_other_resource)])```
def view():
   pass

There should be a better solve to place a router-scope-global  dependencies.
for example:
router = APIRouter(scope_dependencies=[Depends(...),..])

It worked just fine. It's not entirely as safe (a developer might accidentally use @app.get instead of @router.get and thereby bypass the authentication), but it does solve my use-case well enough for this ticket to be closed. Thanks again!

How exactly did you use a second router here? If you could post a simple example thatd be great

I've been wondering about this too.  Automatic dependencies can now be added both globally and to individual routers.
However, it would be nice to be able to disable them, on individual endpoints, maybe something like
@router.disable_dependencies(global_depend).get("/api/resource")
def foo(): pass

# or
@router.get("/api/resource", disabled_dependencies(global_depend))
def foo(): pass

This avoids accumulating a system of special routers with different default dependencies on them.


Best practice for updating old instance?

Hi, congratulations to the stable version!
Been using G5V+API for a while, i'm looking to update both the frontend and api on Debian.
Is there any written guide or something? I'm running everything in a VM, so i can snapshot before starting.

Heya!
Depends on how you've installed it in the first place - if you've installed just by cloning the repo, you can just call git pull, followed by yarn build and replace wherever the old version is with the new files in the dist directory.
If you've used Docker, you can just pull the latest image.
If you're using docker-compose, I believe just calling docker-compose up -d should update the image, as well as G5API!
Thanks!

Heya!
Depends on how you've installed it in the first place - if you've installed just by cloning the repo, you can just call git pull, followed by yarn build and replace wherever the old version is with the new files in the dist directory.
If you've used Docker, you can just pull the latest image.
If you're using docker-compose, I believe just calling docker-compose up -d should update the image, as well as G5API!
Oh, and for API it's simple! All you have to do is the following steps:
git pull
# update dependencies
yarn
# update db
yarn migrate-prod-upgrade
# restart PM2 instance
yarn restartprod

That should update the API :)
Thanks!

Wow, awesome!
I just downloaded the releases and installed it barebones. I will give this a go tonight, thank you for this truly AWESOME project.

Anytime! Yeah if you're downloading from releases you should just be able to overwrite the files and follow the same instructions (minus the git pulls).
And thanks! Glad you're finding some use out of it 😁

Hey, updating seems to be rather complicated. I'm running into alot of errors when running yarn (for updating the G5V), same with the API.
I'm just considering doing a fresh install, since i would need to create 10+ issues to resolve all these errors!

What are the errors you're exactly experiencing?
I haven't made a release for the latest features here (login, etc) due to it being largely untested aside from me. I know there's a select few people that run based off of the master branch here. If you'd like, you could try just doing that, so when there's a new update you can simply git pull and then build based off that.
Updating shouldn't be too hard, as I've tried to streamline the process as much as possible. Example, for the front-end it's a 4 step process:

Git pull latest changes
Yarn install to update any packages
yarn build to build for production
Move files from the dist directory into wherever your web directory is.

For the API it's very similar, but since there's no web server needed it's only the following:

git pull latest changes
yarn install to update any packages
yarn migrate-prod-upgrade to update the database
yarn restartprod (if prod is currently running)

Downloading from releases isn't really encouraged if you wish to be on the bleeding edge, it's really not meant for being kept up-to-date with everything, but more of a tagging system for myself in order to keep track of what features were added when.

Hey,
G5V worked perfectly fine, thank you for that!
However, the API is not going as smooth.
Any idea on how to update node?
yarn install yarn install v1.22.5 [1/6] Validating package.json... error<EMAIL_ADDRESS>The engine "node" is incompatible with this module. Expected version ">=14.18.1". Got "13.8.0" error Found incompatible module. info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.

I usually use nvm which is a version manager for node. If you've installed via apt I would recommend just using NVM
https://github.com/nvm-sh/nvm
Thanks!

On to the next issue, any idea what might cause this?
 yarn migrate-prod-upgrade yarn run v1.22.5 $ db-migrate --env production --config config/production.json up:production Ignoring invalid configuration option passed to Connection: driver. This is currently a warning, but in future versions of MySQL2, an error will be thrown if you pass an invalid configuration option to a Connection Ignoring invalid configuration option passed to Connection: redisHost. This is currently a warning, but in future versions of MySQL2, an error will be thrown if you pass an invalid configuration option to a Connection Ignoring invalid configuration option passed to Connection: redisPort. This is currently a warning, but in future versions of MySQL2, an error will be thrown if you pass an invalid configuration option to a Connection Ignoring invalid configuration option passed to Connection: redisTTL. This is currently a warning, but in future versions of MySQL2, an error will be thrown if you pass an invalid configuration option to a Connection Ignoring invalid configuration option passed to Connection: redisPass. This is currently a warning, but in future versions of MySQL2, an error will be thrown if you pass an invalid configuration option to a Connection [ERROR] Error: Data truncated for column 'knife_kills' at row 1     at Packet.asError (/home/get5web/get5webnew/G5API/node_modules/mysql2/lib/packets/packet.js:728:17)     at Query.execute (/home/get5web/get5webnew/G5API/node_modules/mysql2/lib/commands/command.js:29:26)     at Connection.handlePacket (/home/get5web/get5webnew/G5API/node_modules/mysql2/lib/connection.js:456:32)     at PacketParser.onPacket (/home/get5web/get5webnew/G5API/node_modules/mysql2/lib/connection.js:85:12)     at PacketParser.executeStart (/home/get5web/get5webnew/G5API/node_modules/mysql2/lib/packet_parser.js:75:16)     at Socket.<anonymous> (/home/get5web/get5webnew/G5API/node_modules/mysql2/lib/connection.js:92:25)     at Socket.emit (events.js:400:28)     at addChunk (internal/streams/readable.js:293:12)     at readableAddChunk (internal/streams/readable.js:267:9)     at Socket.Readable.push (internal/streams/readable.js:206:10)     at TCP.onStreamRead (internal/stream_base_commons.js:188:23) error Command failed with exit code 1.

By any chance are you using a database that is already setup with the old get5-web?

I am not sure, but i don't think so. I am fairly sure i made a clean install and followed the instructions carefully here on Github.
95% sure that it's a new db since i made a new server for this project.

Ran this:
yarn migrate-create-prod
yarn run v1.22.5
$ MYSQL_FLAGS="-CONNECT_WITH_DB" db-migrate --env production --config config/production.json db:create get5
Ignoring invalid configuration option passed to Connection: driver. This is currently a warning, but in future versions of MySQL2, an error will be thrown if you pass an invalid configuration option to a Connection
Ignoring invalid configuration option passed to Connection: redisHost. This is currently a warning, but in future versions of MySQL2, an error will be thrown if you pass an invalid configuration option to a Connection
Ignoring invalid configuration option passed to Connection: redisPort. This is currently a warning, but in future versions of MySQL2, an error will be thrown if you pass an invalid configuration option to a Connection
Ignoring invalid configuration option passed to Connection: redisTTL. This is currently a warning, but in future versions of MySQL2, an error will be thrown if you pass an invalid configuration option to a Connection
Ignoring invalid configuration option passed to Connection: redisPass. This is currently a warning, but in future versions of MySQL2, an error will be thrown if you pass an invalid configuration option to a Connection
[INFO] Created database "get5"
Done in 0.24s.
But when i ran the prod upgrade i ran into:
yarn migrate-prod-upgrade
yarn run v1.22.5
$ db-migrate --env production --config config/production.json up:production
Ignoring invalid configuration option passed to Connection: driver. This is currently a warning, but in future versions of MySQL2, an error will be thrown if you pass an invalid configuration option to a Connection
Ignoring invalid configuration option passed to Connection: redisHost. This is currently a warning, but in future versions of MySQL2, an error will be thrown if you pass an invalid configuration option to a Connection
Ignoring invalid configuration option passed to Connection: redisPort. This is currently a warning, but in future versions of MySQL2, an error will be thrown if you pass an invalid configuration option to a Connection
Ignoring invalid configuration option passed to Connection: redisTTL. This is currently a warning, but in future versions of MySQL2, an error will be thrown if you pass an invalid configuration option to a Connection
Ignoring invalid configuration option passed to Connection: redisPass. This is currently a warning, but in future versions of MySQL2, an error will be thrown if you pass an invalid configuration option to a Connection
[ERROR] Error: Duplicate column name 'util_damage'
at Packet.asError (/home/get5web/get5webnew/G5API/node_modules/mysql2/lib/packets/packet.js:728:17)
at Query.execute (/home/get5web/get5webnew/G5API/node_modules/mysql2/lib/commands/command.js:29:26)
at Connection.handlePacket (/home/get5web/get5webnew/G5API/node_modules/mysql2/lib/connection.js:456:32)
at PacketParser.onPacket (/home/get5web/get5webnew/G5API/node_modules/mysql2/lib/connection.js:85:12)
at PacketParser.executeStart (/home/get5web/get5webnew/G5API/node_modules/mysql2/lib/packet_parser.js:75:16)
at Socket. (/home/get5web/get5webnew/G5API/node_modules/mysql2/lib/connection.js:92:25)
at Socket.emit (events.js:400:28)
at addChunk (internal/streams/readable.js:293:12)
at readableAddChunk (internal/streams/readable.js:267:9)
at Socket.Readable.push (internal/streams/readable.js:206:10)
at TCP.onStreamRead (internal/stream_base_commons.js:188:23)
error Command failed with exit code 1.

Hah yeah, looks like there was an issue in creating the DB. So what you wanna do is the following:

Drop the old  DB yarn migrate-drop-prod
Create the new DB again yarn migrate-create-prod
Run the migration scripts yarn migrate-prod-upgrade

That should work as intended.

The drop worked!
yarn migrate-drop-prod
[INFO] Deleted database "get5"
Done in 0.31s.
However, the create-prod did not
yarn migrate-create-prod
yarn run v1.22.5
[ERROR] AssertionError [ERR_ASSERTION]: ifError got unwanted exception: Unknown database 'get5'
at /home/get5web/get5webnew/G5API/node_modules/db-migrate/lib/commands/db.js:17:12
at /home/get5web/get5webnew/G5API/node_modules/db-migrate/lib/driver/index.js:95:9
at /home/get5web/get5webnew/G5API/node_modules/db-migrate-mysql/index.js:518:14
at Connection.<anonymous> (/home/get5web/get5webnew/G5API/node_modules/mysql2/lib/connection.js:775:13)
at Object.onceWrapper (events.js:520:26)
at Connection.emit (events.js:400:28)
at Connection._notifyError (/home/get5web/get5webnew/G5API/node_modules/mysql2/lib/connection.js:236:12)
at ClientHandshake.<anonymous> (/home/get5web/get5webnew/G5API/node_modules/mysql2/lib/connection.js:125:14)
at ClientHandshake.emit (events.js:412:35)
at ClientHandshake.execute (/home/get5web/get5webnew/G5API/node_modules/mysql2/lib/commands/command.js:39:14)
at Packet.asError (/home/get5web/get5webnew/G5API/node_modules/mysql2/lib/packets/packet.js:728:17)
at ClientHandshake.execute (/home/get5web/get5webnew/G5API/node_modules/mysql2/lib/commands/command.js:29:26)
at Connection.handlePacket (/home/get5web/get5webnew/G5API/node_modules/mysql2/lib/connection.js:456:32)
at PacketParser.onPacket (/home/get5web/get5webnew/G5API/node_modules/mysql2/lib/connection.js:85:12)
at PacketParser.executeStart (/home/get5web/get5webnew/G5API/node_modules/mysql2/lib/packet_parser.js:75:16)
at Socket.<anonymous> (/home/get5web/get5webnew/G5API/node_modules/mysql2/lib/connection.js:92:25)
at Socket.emit (events.js:400:28)
at addChunk (internal/streams/readable.js:293:12)
at readableAddChunk (internal/streams/readable.js:267:9)
at Socket.Readable.push (internal/streams/readable.js:206:10)
at TCP.onStreamRead (internal/stream_base_commons.js:188:23)

error Command failed with exit code 1.

Hmmm okay, that's a weird one. I think the easiest way is just to sudo into mysql and just do the following, then call yarn migrate-prod-upgrade
CREATE DATABASE GET5;
GRANT ALL PRIVILEGES ON get5.* TO '<get5_user>'@'localhost';
FLUSH PRIVILEGES;

Where <get5_user> is the user you defined in your production.json.

That worked perfectly, wow!
Thank you so much for the support, this was great.


[Experimental] Add cache mechanism for dataset groups to avoid long waiting time for initilization

For large scale dataset, sd-scripts will suffer from long waiting time to read the image size or other meta.
So I propose 2 improvements:

Cache the built dataset group object into disk so we don't need to calculate it multiple time

For ddp or some expriments across settings. This will be SUPER helpful

use imagesize library to read the image size, don't use PIL which is overkill.

This can provide 5~10 times speed up for reading image size on NVME ssd.

In my cache script, I successfully only use half hour to get the dataset groups. (Which will cost 4hour if I directly run 4card training)
And the loading for cached dataset groups also be fine. I have do a quick sanity check that first few images are same. But need more check from community

Thank you for this! This seems to be really useful. I was thinking about how I can reduce the waiting time for preprocessing. I had not thought of the method for pickling of dataset group object.
However, I feel the pickling seems to be a bit aggressive. I wonder caching the sizes of images might be enough for reducing the waiting time...

I will implement a version which cache absolute path list and imagesize for each subset
So the loading procedure will be same, just ignore the listdir and imagesize part

@kohya-ss I have done the implementation
which only cache the image path/caption and image size.
With cached metadata, dataset with 32768 img only need 4sec from start the program to finish the dataset setup (include creating bucket)
I only implement it for DreamboothDataset at first.
But I think you can copy the implementation to another 2 dataset class easily.


Click enabled for disabled preview button

On load, while preview button is disabled, user can click and it will go to end.
Here's a sample:
http://codepen.io/anon/pen/qEzopE

@zeligon maybe you could pass a extra css like:
.owl-theme .owl-controls .owl-nav .disabled{
pointer-events: none;
}
But I don't know if thats ideal, its IE11+ compatible, as far as I know.

Here's an updated test case with beta 3. The issue seems to be with the slideBy: 'page' functionality -- works fine without the slideBy property or if it is set to a Number.


various variables?

I'm noticing that there are several ways to initialize variables, with many examples using "var". My IDE is insisting I use "let" instead, and I've noticed when I neglect to use either "let" or "var" the script still works.
I understand this is a scope issue, but I am not quite understanding how any of it works. Can anyone clearly explain the difference between:
let x = y
var x = y
and simply
x = y

And now there is 'const' too???


Adding necessary mechanisms to install a plugin

Include, but not limited to:

[ ] Create software
[ ] Create commands (with their parameters and default parameters set)
[ ] Add new filepath types
[ ] Add new artifact types
[ ] Add filepath type - artifact type relationship

Can this be closed?

Yes, thanks for pointing it out. The new thing we are working on is to -automatically- install them: https://github.com/biocore/qiita/pull/1909.

It hasn't been yet merged on master


[DK] Add Tank/DPS T12 set

Adds T12 2/4PC for DK DPS
Adds T12 2/4PC for DK Tank

Tank

Updated to also include Tank set


Updated to PL-300

Module: 06
Lab/Demo: 1
Fixes #.
Changes proposed in this pull request:

Exercise 1, Task 1, Step 1: The link in the file points to the wrong website.

This update has been made separately.


Update to Rails 6.1.7

Update to Rails 6.1.7. I did this by updating all Rails-related gems in the Gemfile, then running the following to update the file Gemfile.lock:
bundle update actionmailer actionpack actionview activejob \
              activemodel activerecord activesupport railties rails

Signed-off-by: David A. Wheeler<EMAIL_ADDRESS>

@andrewfader - I don't think this will interfere with your work. I certainly hope it will not :-).


Labeling tool by SAM

Hello, my project ISAT is a labeling tool for image segment.
Now supported models have SAM, sam-hq, mobile-sam.
Extra, looking forward to your project T-Rex

Hello! T-Rex will not be open-sourced that soon, stay tuned! After we open-source it we will inform u at the first time!


No white spaces for NumberValidator

Q
A

Is bugfix?
✔

New feature?
❌

Breaks BC?
only if someone is relying on wrong behavior

Tests pass?
✔

Fixed issues
#18544

👍


mbed TLS 1.3: test_suite_memory_buffer_alloc tests not backported

There are about 6 tests that were introduced in the test_suite_memory_buffer_alloc test suite that were never backported to mbed TLS 2.1 and 1.3. I have already backported the changes to mbed TLS 2.1 as part of PR https://github.com/ARMmbed/mbedtls/pull/1009. I think we should do the same for mbed TLS 1.3.

ARM Internal Ref: IOTSSL-1541

mbed TLS 1.3 is a maintenance branch that's very near it's end of life. I don't see the value in, at this point in its lifecycle, backporting additional test cases. New users and existing users of 1.3 should all be using the most recent release or the 2.1 branch or planning to do so.
As such I'm closing the ticket, but if anyone feels strongly that this is the wrong choice, please say so and I'd welcome other points of view.


TemplateUtil helper functions code style fix

This PR fixes the code style issues addressed by @zuyu in #65.

LGTM.


Support 64bit Windows

https://github.com/atom/atom-shell/releases
Atom Shell since v0.23 has added releases for 64bit Windows but gulp-atom can't download them.

Thanks! Though npm says it's still at 0.0.5.

thank you


feat: add mdformat-gfm (#3888)

mdformat-gfm is an mdformat plugin that changes the target specification to GitHub Flavored Markdown (GFM).
Resolves: #3888

Hello! Mason installs pypi packages in their own environments. As I understand it this is a plugin that needs to be installed in the same environment as mdformat? In this case this can't be added as a separate package but instead as a "sub-package" of mdformat, which is currently not yet supported.

Since there are multiple plugins supported by mdformat as mentioned in their documentation and they require being installed together.
I have a setup which contains mdformat, mdformat-gfm, mdformat-toc, and mdformat-myst (for not messing up math equations when the formatter runs). For now, I'll create a fork and try to have my own custom registry but it would be great if having plugins (multiple tools in the same virtualenv) gets supported upstream one day! :)
For a quick hack is there a way to get the path of the virtualenv where mdformat gets installed right now by Mason? That way maybe we can manually install the additional plugins we require for our configs.

For a quick hack is there a way to get the path of the virtualenv where mdformat gets installed right now by Mason? That way maybe we can manually install the additional plugins we require for our configs.

For automated installations you can do something like below (haven't tested but you get the idea)
local registry = require("mason-registry")

registry.refresh(function ()
  local mdformat = registry.get_package("mdformat")
  mdformat:on("install:success", function ()
    local python = mdformat:get_install_path() .. "/venv/bin/python"
    vim.fn.jobstart({ python, "-m", "pip", "install", "mdformat-gfm" })
  end)
end)

This of course doesn't contain any error handling and won't work on Windows.

Thanks @williamboman! Finally, I ended up doing it this way by putting this after the mason.setup() call.
local registry_status_ok, mason_registry = pcall(require, "mason-registry")
if not registry_status_ok then
    return
end

mason_registry.refresh(function()
    local mdformat = mason_registry.get_package("mdformat")
    local mdformat_extensions = {
        "mdformat-gfm",
        "mdformat-toc",
        "mdformat-myst",
    }
    mdformat:on("install:success", function()
        -- Create the installation command.
        vim.notify("Installing mdformat extensions.")
        local extensions = table.concat(mdformat_extensions, " ")
        local python = mdformat:get_install_path() .. "/venv/bin/python"
        local pip_cmd =
            string.format("%s -m pip install %s", python, extensions)

        -- vim.fn.jobstart doesn't work in callback so use popen instead.
        local handle = io.popen(pip_cmd)
        if not handle then
            vim.notify(
                'Could not install "mdformat extensions".',
                vim.log.levels.ERROR
            )
            return
        end
        local _ = handle:read("*a")
        handle:close()

        vim.notify('"mdformat extensions" were successfully installed.')
    end)
end)


Next.js 13 with app folder

I'm trying new app folder which is in beta now since Next.js 13.
But using the app folder, I have an error message that I don't have in pages folder.
I have pushed a minimal repos for testing purpose: https://github.com/srod/nextjs-13-tremor
git clone https://github.com/srod/nextjs-13-tremor.git
cd nextjs-13-tremor
npm install && npm run dev

Access example page: http://localhost:3000/example
error -<EMAIL_ADDRESS>(6:41848) @ eval
error - TypeError: Super expression must either be null or a function
    at eval (webpack-internal:///(sc_server)/./node_modules/@tremor/react/dist/cjs/index.js:1884:57)
    at eval (webpack-internal:///(sc_server)/./node_modules/@tremor/react/dist/cjs/index.js:1892:6)
    at eval (webpack-internal:///(sc_server)/./node_modules/@tremor/react/dist/cjs/index.js:1952:2)
    at<EMAIL_ADDRESS>(/Users/rodolphe/Downloads/nextjs-13-tremor/.next/server/app/example/page.js:251:1)
    at __webpack_require__ (/Users/rodolphe/Downloads/nextjs-13-tremor/.next/server/webpack-runtime.js:33:42)
    at eval (webpack-internal:///(sc_server)/./app/example/page.tsx:6:71)
    at Object.(sc_server)/./app/example/page.tsx (/Users/rodolphe/Downloads/nextjs-13-tremor/.next/server/app/example/page.js:229:1)
    at __webpack_require__ (/Users/rodolphe/Downloads/nextjs-13-tremor/.next/server/webpack-runtime.js:33:42)
    at Object.page (webpack-internal:///(sc_server)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fexample%2Fpage&appPaths=%2Fexample%2Fpage&pagePath=private-next-app-dir%2Fexample%2Fpage.tsx&appDir=%2FUsers%2Frodolphe%2FDownloads%2Fnextjs-13-tremor%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Frodolphe%2FDownloads%2Fnextjs-13-tremor&isDev=true&tsconfigPath=tsconfig.json!:22:124)
    at collectGenerateParams (/Users/rodolphe/Downloads/nextjs-13-tremor/node_modules/next/dist/build/utils.js:710:194) {
  type: 'TypeError',
  page: '/example'
}
null

It appears to be related with server side rendering.
Because it's working by adding 'use client'; at the top of app/example/page.tsx.

hi @srod, thanks for pointing this out & for your research! We did not have the time to deal with Next v13 yet unfortunately. We will try to fix this as soon as possible though, thanks for the patience.

hi @srod,
When using components that provide interactivity, in Next 13, I would suggest creating another file (a wrapper of the component that you want to display), which will be rendered only on the client.
The default behavior of Next 13 is server-first, relying on RSC.

Because it's working by adding 'use client'; at the top of app/example/page.tsx.

Adding "use client" at the top of page.tsx will make the entire page be client rendered.

How to make it work
Let's say you want to add an Area Chart to any of your pages.
Let's create a component called AreaChartComponent.tsx (this is only a wrapper, where we specify that it needs to be client rendered).
"use client";

import { Card, Title, AreaChart } from "@tremor/react";

const chartdata = [
  {
    date: "Jan 22",
    SemiAnalysis: 2890,
    "The Pragmatic Engineer": 2338,
  },
  {
    date: "Feb 22",
    SemiAnalysis: 2756,
    "The Pragmatic Engineer": 2103,
  },
  {
    date: "Mar 22",
    SemiAnalysis: 3322,
    "The Pragmatic Engineer": 2194,
  },
  {
    date: "Apr 22",
    SemiAnalysis: 3470,
    "The Pragmatic Engineer": 2108,
  },
  {
    date: "May 22",
    SemiAnalysis: 3475,
    "The Pragmatic Engineer": 1812,
  },
  {
    date: "Jun 22",
    SemiAnalysis: 3129,
    "The Pragmatic Engineer": 1726,
  },
];

const dataFormatter = (number: number) => {
  return "$ " + Intl.NumberFormat("us").format(number).toString();
};

export default function AreaChartComponent() {
  return (
    <Card>
      <Title>Newsletter revenue over time (USD)</Title>
      <AreaChart
        data={chartdata}
        categories={["SemiAnalysis", "The Pragmatic Engineer"]}
        dataKey="date"
        height="h-72"
        colors={["indigo", "cyan"]}
        valueFormatter={dataFormatter}
        marginTop="mt-4"
      />
    </Card>
  );
}

Now, in your app/example/page.tsx, let's remove the "use client", and just import our wrapper component.
/* other imports */
import Component from "./component";

export default function Page() {
  return (
    <div>
      {/* other stuff */}
      <Component />
    </div>
  );
}

@mitrotasios
About the error he's getting

TypeError: Super expression must either be null or a function

I suspect that this might be related to some circular dependencies.
(!) Circular dependencies
node_modules/d3-interpolate/src/value.js -> node_modules/d3-interpolate/src/array.js -> node_modules/d3-interpolate/src/value.js
node_modules/d3-interpolate/src/value.js -> node_modules/d3-interpolate/src/object.js -> node_modules/d3-interpolate/src/value.js

@mitrotasios
About the error message:

error - TypeError: Super expression must either be null or a function

The issue might be related to circular dependencies from d3-interpolate
(!) Circular dependencies
node_modules/d3-interpolate/src/value.js -> node_modules/d3-interpolate/src/array.js -> node_modules/d3-interpolate/src/value.js
node_modules/d3-interpolate/src/value.js -> node_modules/d3-interpolate/src/object.js -> node_modules/d3-interpolate/src/value.js

Thanks @mariusflorescu! Indeed, I think for now the best way to use the app directory from Next 13 along with tremor is to wrap the tremor components into a client component with the use client directive.
Also feel free to check out the Next.js docs on how to integrate third-party packages for more info.

Tremor works if you add it in next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
  experimental: {
    appDir: true,
    serverComponentsExternalPackages: ["@tremor/react"],
  },
};

module.exports = nextConfig;

See https://twitter.com/chronark_/status/1612522989521891328

Thanks @chronark, will also add this to the documentation!

hi @mitrotasios , I can help to create a PR for the documentation (or at least readme) if it's not yet created. I also got the error and had no idea to fix it before I found the solution in twitter.

That would be awesome, thanks @tegarimansyah! Sorry, totally forgot about that 🤦🏼♂

Hi @mitrotasios , please review the PR here. It's a small changes in readme file. I think you also need to update the docs site.
Thanks for the opportunity to contribute to this awesome project

thanks for contributing! 🙂

Hit into this issue.
Specifying ```
serverComponentsExternalPackages: ["@tremor/react"],
as mentioned by @chronark did not help.
I still have to use it in a client component ('use client' directive) to make it work.

If I do not use the "use client" option, I run into the issue of

Cannot set properties of undefined (setting 'props')
/Users/shriharip/nextprojects/proj/node_modules/.pnpm/@tremor+react<EMAIL_ADDRESS>(249:457609)
type
<EMAIL_ADDRESS>(1379:17)
attemptResolveElement
<EMAIL_ADDRESS>(1941:20)
resolveModelToJSON
<EMAIL_ADDRESS>(1204:13)
stringify
<EMAIL_ADDRESS>(197:13)
processModelChunk
<EMAIL_ADDRESS>(2208:25)
retryTask
<EMAIL_ADDRESS>(2255:6)
performWork
<EMAIL_ADDRESS>(1475:13)
callback
<EMAIL_ADDRESS>(60:2)
scheduleWork
<EMAIL_ADDRESS>(1474:4)
pingTask
<EMAIL_ADDRESS>(1488:13)

Yeah that's still required for some components.
the whole use client thing is a bit tricky cause it's not as simple as putting "use client" in the component file in tremor, because other frameworks or react by itself can choke on that :/
you can do this:
// app/components/tremor.tsx
"use client"
export * from "@tremor/react"

Would be nice to work on server components too (at least button or simple component).


feat: Save URL multihashes to DB

What do you think of this as a start? I don't yet have an acceptance-level test of it.

@l0b0 , I had a look on implementation but not on tests. It looks OK to to me

@l0b0 , I had a look on implementation but not on tests. It looks OK to to me

Rebased…


Configure the Intranet Zone for client machines

this do not align with the AADConnect SSO; it only use 1 URL not 2 URL.
https://docs.microsoft.com/en-us/azure/active-directory/connect/active-directory-aadconnect-sso-quick-start#detailed-steps

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 2d91f97c-a14f-6554-a788-519ca944eabb
Version Independent ID: c92d0fd1-f3c6-e641-c7ae-4b55eaf1b3de
Content: Azure AD Connect: Custom installation
Content Source: articles/active-directory/connect/active-directory-aadconnect-get-started-custom.md
Service: active-directory
Product: unspecified
GitHub Login: @billmath
Microsoft Alias: billmath

@limjianan Thanks for the feedback. We are actively investigating and will get back to you soon.

@limjianan Please note that you can add multiple value names with Value (Data): 1 which indicates the Intranet zone.

@MohitGargMSFT just want to be on the same page.
Refer to https://docs.microsoft.com/en-us/azure/active-directory/connect/active-directory-aadconnect-sso-quick-start#detailed-steps   it only use single URL https://autologon.microsoftazuread-sso.com/
but in this page https://docs.microsoft.com/en-us/azure/active-directory/connect/active-directory-aadconnect-get-started-custom#configure-the-intranet-zone-for-client-machines it has two URL
Value: https://autologon.microsoftazuread-sso.com
Data: 1
Value: https://aadg.windows.net.nsatc.net
Data: 1
I am looking more for documentation alignment;

@limjianan Sure, I will assign this to content author to check and update as appropriate.

@limjianan good catch.  Yes the custom doc was out of sync on that.  I have corrected it.  http://aadg.windows.net.nsatc.net` is no longer required.
#please-close

This should be live later today.

#please-close

@billmath just one more note on https://docs.microsoft.com/en-us/azure/active-directory/connect/active-directory-aadconnect-get-started-custom#configure-the-intranet-zone-for-client-machines
the step 4. do the value really have the ` as open and close ?
the step 5; you have a picture that still shows 2 URLs, I probably will just steal it from https://docs.microsoft.com/en-us/azure/active-directory/connect/active-directory-aadconnect-sso-quick-start#detailed-steps


Be able to specify the output directory for a JFR recording

PR would be awesome for this. Thanks in advance
On Feb 18, 2017 7:13 PM, "Tyler Rockwood"<EMAIL_ADDRESS>wrote:

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ktoso/sbt-jmh/issues/108, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAHYkyXgg5CzF5uc3H6TOVSJw8khLSF5ks5rdzTTgaJpZM4MFM3o
.

@rockwotj After I walked through source code, I found this L46. So you could setup your output directory in system property - jmh.jfr.saveTo. If you get into interactive mode of sbt, you could setup thought this command - set javaOptions ++= Seq("-Djmh.jfr.saveTo={your_directory}"). Then JFR recording would be export to your directory.
@ktoso Do have any idea of this feature? Maybe I could try this one. :)

Would be great if you could give it a shot, thanks!


Fix routine leak in TWCC Send Interceptor

Internally we read and process packets in a seperate routine. On close this routine would be destroyed. In some cases a packet could still be in flight to this thread. This would cause a routine to be leaked.
Resolves #181

@ziminghua @braams thank you so much for the PR!
I added a test. hopefully this fixes the issues you were having. If you don't mind testing again I would really appreciate it :)

Thank you, thank you fix it.
When will the new version be released, I will testing it,but I don't know how to trigger it.

@ziminghua I have released a new version of pion/webrtc v3.1.62
I was able to trigger this bug manually. I wrote a test for it. Other bugs may exist though. If you see more leaked threads please tell me and will get it fixed ASAP!

@Sean-Der Thank you ,I will test it on tonight


Appointment card

Appointment card is created using tailwind.

good job @nishilpjpt
Congrats 🎉, your PR got merged. To be eligible for the swags from ClueLess. Follow this steps.

Star this repository. ⭐
SignIn / SignUp in [ClueLess Website](https://www.clueless.tech/) .
Go to profile section from the top right hand corner.

Comment your profile URL under this comment tagging the person who merged your PR.

That’s it. Follow the leaderboard !
And don’t forget to share your achievement with your friends.


Here is my S&P 500 Companies EDA

🛠 Related Issue

Closes #[issue_number]

📝 Description

[Provide a concise description of the changes. Include the purpose and any relevant context or details.]
🔍 Type of PR

[ ] 🐛 Bug fix
[ ] ✨ Feature enhancement
[ ] 📚 Documentation update
[ ] 🛑 Other (specify): _______________

📸 Screenshots / 🎥 Videos (if applicable)

[Attach screenshots or videos]
✅ Checklist

[ ] I have performed a self-review of my code.
[ ] I have read and followed the Contribution Guidelines.
[ ] I have tested the changes thoroughly before submitting this pull request.
[ ] I have provided relevant issue numbers, screenshots, and videos after making the changes.
[ ] I have commented my code, particularly in hard-to-understand areas.

ℹ Additional Context

[Include any additional context or information that might assist reviewers in understanding the changes]

That book came by mistake I will resolve it sir  I have trained it


ValueError: feature_names mismatch - shap_values error on League of Legends demo notebook

Hi @slundberg,
Thanks for your package, which I'm just starting to learn to use.
I was running a demo notebook (shap/notebooks/League of Legends Win Prediction with XGBoost.ipynb), but couldn't get the SHAP values to calculate - it gives “ValueError: feature_names mismatch” when trying to running cell 4.
Someone has already spotted this issue on Stackoverflow (https://stackoverflow.com/questions/50711382/why-am-i-getting-a-valueerror-feature-names-mismatch-when-specifying-the-feat).
I used that guidance to help me, but thought I would flag this to help other new users, particularly as other demo notebooks might also have this problem.
Specifically, I changed the last two lines of cell 2 to add in the feature_names option:
dt = xgb.DMatrix(Xt.values, label=yt.values, feature_names=X.columns)
dv = xgb.DMatrix(Xv.values, label=yv.values, feature_names=X.columns)

and then I changed cell 4 to use a Pandas dataframe with named columns instead:
shap_values = shap.TreeExplainer(model).shap_values(pd.DataFrame(Xv, columns=X.columns))

I can submit a PR, but thought it might be faster for your team to check your demo notebooks.

Thank you for pointing out the problem! I'll push a fixed notebook as soon as I can (likely next week).


Unable to select the last comment

Describe the bug in current situation
When we try to multiselect redactions, unable to select the last one since Edit panel is covering up the last redaction comment
Link bug to the User Story
Impact of this bug
Describe the impact, i.e. what the impact is, and number of users impacted.
Chance of Occurring (high/medium/low/very low)
Pre Conditions: which Env, any pre-requesites or assumptions to execute steps?
test-
Steps to Reproduce
Steps to reproduce the behavior:

Go to redaction app
Click on multiselect and try to select some redactions
Scroll down to last comment/redaction
See error
Unable to select the checkbox for page 187 in the screenshot

Actual/ observed behaviour/ results
Expected behaviour
A clear and concise description of what you expected to happen. Use the gherking language.
Screenshots/ Visual Reference/ Source
If applicable, add screenshots to help explain your problem. You an use screengrab.
Private Zenhub Image

Apryse ticket raised: https://support.apryse.com/support/tickets/65760


chore(infra): renew-vault with raph

:tada: This PR is included in version 3.29.0 :tada:
The release is available on:

GitHub release
v3.29.0

Your semantic-release bot :package::rocket:


Implement an easy access route to get to the RabbitMQ information on Vault

This repository is for the website.
On top of that, our team uses issues for specific, actionable, reasonably well described problems. One line problem
statements like here do not cut it I'm afraid. Start a discussion or a mailing list thread describing what you are doing, why, and what you find missing.


Implement HPN_HELPTENDER_CALL_SUPER_NO_ARGS_WITH_SEL_NAME

Done in https://github.com/xcode-actions/eXtenderZ/commit/50e8198e9fb4e25ebf3836e59462fc83471ae10b

The eXtenderZ repo is no longer maintained by happn.


bug: Vercel deploy to preview PR check fails

Issue:
Vercel deploy to preview PR check fails
Steps to reproduce:

Create a PR in this repo.

Additional Context:
Need to make changes to  https://github.com/kuosc2005/website/blob/main/.github/workflows/test-deploy.yml file.

Looks like all other errors are fixed, except the ones about Github Pages.

This is solved.

Looks like the issue is solved for now !


Remote Caching: Unhandled HTTP Exception & Client Timeout Feature Request

What version of Turborepo are you using?
1.5.1
What package manager are you using / does the bug impact?
pnpm
What operating system are you using?
Mac
Describe the Bug
While implementing a remote cache service, we were running into issues with some cache objects never being uploaded despite the logs reporting a successful write. Server-side, however, no http requests were coming through.

I recompiled turbo locally after adding some additional logging here (as reflected in the RESPONSE STATUS output above)
Currently, the only exception handling is for 403 errors
	resp, err := c.HttpClient.Do(req)
	if err != nil {
		return fmt.Errorf("failed to store files in HTTP cache: %w", err)
	}
	defer func() { _ = resp.Body.Close() }()
	if resp.StatusCode == http.StatusForbidden {
		return c.handle403(resp.Body)
	}

It would be great if non 200 status codes could likewise be handled/reported in the logs. The 413 issue we could resolve internally, as that was just an nginx ingress configuration, but the only way we were able to successfully leverage remote caching for larger cache objects was by changing the client timeout here.
	client := &ApiClient{
		baseUrl:      remoteConfig.APIURL,
		turboVersion: turboVersion,
		HttpClient: &retryablehttp.Client{
			HTTPClient: &http.Client{
				Timeout: time.Duration(customTimeout * time.Second),
			},
                         ...
		},

This could be made available as part of an official release in one of two ways - either providing the flexibility to set a client timeout (perhaps by environment variable or flag) which would fall back to the default of 20 if it's not set or ensuring no http retry is initiated if the client connection hasn't been closed from the server/an upload is actively in progress. The former would likely be the most straightforward approach for this particular edge case.
I am happy to open a pull request for whatever implementation is preferred if you would be open to adding this feature!
Expected Behavior

http errors would be logged and reported by the command line when there are failures uploading to the remote cache
writing to cache... would not appear after failed writes
success would not be the final status if there were any unsuccessful writes
pending requests would not be suspended in favor of a retry and/or client timeouts could be modified so as to prevent retries that suspend uploads prior to completion

To Reproduce
This is currently reproducible if you're working with especially large cache outputs (💫  monorepos), but could also potentially be reproduced by synthetically throttling your network connection to simulate a timeout during a remote cache write.
You can add additional logging to stdout in cli/internal/client/client.go as further confirmation:
	resp, err := c.HttpClient.Do(req)
	if err != nil {
		return fmt.Errorf("failed to store files in HTTP cache: %w", err)
	}

	defer func() { _ = resp.Body.Close() }()
	if resp.StatusCode == http.StatusForbidden {
		return c.handle403(resp.Body)
	}

        if resp.StatusCode != http.StatusOK {
	       fmt.Println("RESPONSE STATUS: ", resp.Status, " URL ", requestURL)
        }

As we're running an internal remote cache service, we could also confirm server-side no PUT requests were coming through for artifacts reported by the turbo cli to have successfully written by referencing the server logs, and that this was only resolved by recompiling the cli with an updated client timeout to accommodate those larger cache objects.

I'm getting the same issue building my Next.js app. It just says payload too large. Any ideas? Thanks!

I'm getting the same issue building my Next.js app. It just says payload too large. Any ideas? Thanks!

@nandorojo i created another issue for that https://github.com/vercel/turbo/issues/8772


javascript hot code reloading not working in demo app

The hot code reloading does not work if:

code outside of the ui frontend part, e.g. the libraries, is changed
scss is changed
files are added to the ui frontend

Todo:

[ ] Serve dev bundle without bazel
[ ] Integrate the react hot loader
[ ] Make process a Bazel binary to remove node dependency
[ ] document and clean up


HHH-13309 Extended bean managers implementing the new interface are not correctly detected

https://hibernate.atlassian.net//browse/HHH-13309

Merged, thanks


[Feature Request]: An example notebook for agents with nested chats inside a group chat.

Is your feature request related to a problem? Please describe.
I am attempting to incorporate nested chat functionality into a graph-based implementation. However, the nested chat feature is not being invoked successfully. Additionally, when I tried to implement a nested chat in standard group chat, it started causing issues as well. I am uncertain whether the root of the problem lies with the group chat implementation itself or if there are challenges in properly integrating the nested chat capability. I would appreciate a straightforward implementation example demonstrating how to effectively incorporate nested chat capabilities within a group chat system, potentially utilizing a graph-based data structure or a similar approach.
Describe the solution you'd like
No response
Additional context
No response

Could you please post your code here? Perhaps we can help you with your scenario and you can create a notebook PR for everyone else having the same issue.

will share

task = """Write a concise but engaging blogpost about Navida and format accordingly"""
import autogen
writer = autogen.AssistantAgent(
name="Writer",
llm_config={"config_list": config_list},
system_message="""
You are a professional writer, known for your insightful and engaging articles.
You transform complex concepts into compelling narratives.
You should improve the quality of the content based on the feedback from the user.
You need to follow all the three task properly.
""",
)
articleFormatter = autogen.AssistantAgent(
name="ArticleFormatter",
llm_config={"config_list": config_list},
system_message="""Once the article is finalized then only you should format the given article in the given format "article":{"content"}TERMINATE.
""",
)
user_proxy = autogen.UserProxyAgent(
name="User",
human_input_mode="NEVER",
is_termination_msg=lambda x: x.get("content", "").find("TERMINATE") >= 0,
code_execution_config={
"last_n_messages": 1,
"work_dir": "tasks",
"use_docker": False,
},  # Please set use_docker=True if docker is available to run the generated code. Using docker is safer than running the generated code directly.
)
critic = autogen.AssistantAgent(
name="Critic",
llm_config={"config_list": config_list},
system_message="""
You are a critic, known for your thoroughness and commitment to standards.
Your task is to scrutinize content for any harmful elements or regulatory violations, ensuring
all materials align with required guidelines.
For code
""",
)
def reflection_message(recipient, messages, sender, config):
print("Reflecting...", "yellow")
return f"Reflect and provide critique on the following writing. \n\n {recipient.chat_messages_for_summary(sender)[-1]['content']}"
groupchat = autogen.GroupChat(agents=[user_proxy, writer,critic , articleFormatter], messages=[], max_round=12)
manager = autogen.GroupChatManager(groupchat=groupchat, llm_config=gpt_config)
critic.register_nested_chats(
[
{
"sender":manager,
"recipient": critic,
"message": reflection_message,
"summary_method": "last_msg",
"max_turns": 2
}
],
trigger=writer,  # condition=my_condition,
)
res=user_proxy.initiate_chat(
manager, message=task,max_turns=5, summary_method="last_msg"
)
res = user_proxy.initiate_chat(recipient=writer, message=task, max_turns=2, summary_method="last_msg")

User (to chat_manager):
Write a concise but engaging blogpost about Navida and format accordingly

Writer (to chat_manager):
Title: Unfolding the Power of Navida: A Modern Wonder
Introduction:
In the sprawling landscape of technology companies, Navida stands out as a rising titan with an exciting story. Known for spearheading unique innovations, this tech powerhouse is making a magnificent ripple effect in today's digital world.
Body:
Leadership in Disruptive Innovation:
Navida, a technology company mainly recognized for its immense contributions in artificial intelligence and graphic processing, has created an outstanding reputation for itself due to the extraordinary products and unforgettable services they offer. Their impressive approach towards technological advancements serves as a beacon for other companies, inspiring them to elevate their game in the tech industry.
Spotlight On Navida's Biggest Breakthroughs:
Navida has been instrumental in pushing boundaries and reconstructing the perception of what technology can do. Their groundbreaking work in the field of virtual reality has utterly revolutionized the gaming industry. Alongside, their noteworthy work in autonomous driving technology has made a significant impact, adding another feather in their already brimming cap of achievements.
Let's not forget their dynamic Graphics Processing Units (GPUs) that have indeed changed the game, with the highly advanced architecture and streamlined performance, offering a seamless experience to users.
Embracing the Future with Navida:
Navida continues to take giant strides towards the future and persists in creating trails that others follow. As they relentlessly work on the frontlines of technology, they are setting new trends that will dictate the direction in which the industry moves.
Conclusion:
Indeed, Navida is more than just a company—it is a visionary force shaping the contours of the technological landscape. As we watch this tech conglomerate grow, we can only anticipate how they will continue to redefine our experience of the digital world. To sum it up, Navida is not only about achieving milestones but about paving the way for a future we can barely imagine.
Stay tuned to witness more marvels from the amazing world of Navida!

Critic (to chat_manager):
As a critic, it's important for me to clarify that the entity in question is actually called "Nvidia". The blogpost provided is engaging and professionally written, however, the user's initial instruction mentioned 'Navida' which may have been a typographical error. Therefore, it would be required to replace the term 'Navida' with 'Nvidia' in the blogpost to meet the necessary accuracy and factual requirements. Meanwhile, the blogpost meets all other standards like language usage, good formatting, and structure and it doesn't contain harmful elements or regulatory violations.

Writer (to chat_manager):
Title: Unfolding the Power of Nvidia: A Modern Wonder
Introduction:
In the sprawling landscape of technology companies, Nvidia stands out as a rising titan with an exciting story. Known for spearheading unique innovations, this tech powerhouse is making a magnificent ripple effect in today's digital world.
Body:
Leadership in Disruptive Innovation:
Nvidia, a technology company mainly recognized for its immense contributions in artificial intelligence and graphic processing, has created an outstanding reputation for itself due to the extraordinary products and unforgettable services they offer. Their impressive approach towards technological advancements serves as a beacon for other companies, inspiring them to elevate their game in the tech industry.
Spotlight On Nvidia's Biggest Breakthroughs:
Nvidia has been instrumental in pushing boundaries and reconstructing the perception of what technology can do. Their groundbreaking work in the field of virtual reality has utterly revolutionized the gaming industry. Alongside, their noteworthy work in autonomous driving technology has made a significant impact, adding another feather in their already brimming cap of achievements.
Let's not forget their dynamic Graphics Processing Units (GPUs) that have indeed changed the game, with the highly advanced architecture and streamlined performance, offering a seamless experience to users.
Embracing the Future with Nvidia:
Nvidia continues to take giant strides towards the future and persists in creating trails that others follow. As they relentlessly work on the frontlines of technology, they are setting new trends that will dictate the direction in which the industry moves.
Conclusion:
Indeed, Nvidia is more than just a company—it is a visionary force shaping the contours of the technological landscape. As we watch this tech conglomerate grow, we can only anticipate how they will continue to redefine our experience of the digital world. To sum it up, Nvidia is not only about achieving milestones but about paving the way for a future we can barely imagine.
Stay tuned to witness more marvels from the amazing world of Nvidia!

ArticleFormatter (to chat_manager):
"article":{ "content": "Title: Unfolding the Power of Nvidia: A Modern Wonder\n\nIntroduction:\nIn the sprawling landscape of technology companies, Nvidia stands out as a rising titan with an exciting story. Known for spearheading unique innovations, this tech powerhouse is making a magnificent ripple effect in today's digital world.\n\nBody:\n\nLeadership in Disruptive Innovation:\nNvidia, a technology company mainly recognized for its immense contributions in artificial intelligence and graphic processing, has created an outstanding reputation for itself due to the extraordinary products and unforgettable services they offer. Their impressive approach towards technological advancements serves as a beacon for other companies, inspiring them to elevate their game in the tech industry.\n\nSpotlight On Nvidia's Biggest Breakthroughs:\nNvidia has been instrumental in pushing boundaries and reconstructing the perception of what technology can do. Their groundbreaking work in the field of virtual reality has utterly revolutionized the gaming industry. Alongside, their noteworthy work in autonomous driving technology has made a significant impact, adding another feather in their already brimming cap of achievements.\n\nLet's not forget their dynamic Graphics Processing Units (GPUs) that have indeed changed the game, with the highly advanced architecture and streamlined performance, offering a seamless experience to users.\n\nEmbracing the Future with Nvidia:\nNvidia continues to take giant strides towards the future and persists in creating trails that others follow. As they relentlessly work on the frontlines of technology, they are setting new trends that will dictate the direction in which the industry moves.\n\nConclusion:\nIndeed, Nvidia is more than just a company—it is a visionary force shaping the contours of the technological landscape. As we watch this tech conglomerate grow, we can only anticipate how they will continue to redefine our experience of the digital world. To sum it up, Nvidia is not only about achieving milestones but about paving the way for a future we can barely imagine.\n\nStay tuned to witness more marvels from the amazing world of Nvidia!" }TERMINATE.

it does not create a new chat as you can see in the output

it does not create a new chat as you can see in the output

If you want the critics to trigger nested chat each time it is invoked by the chat manager, this code
critic.register_nested_chats(
    [
        {
            "sender":manager,
            "recipient": critic,
            "message": reflection_message,
            "summary_method": "last_msg",
            "max_turns": 2
        }
    ],
    trigger=writer,  # condition=my_condition,
)```

`trigger` should be `manager`.

But it looks like your scenario doesn't need nested chat. Can you try constrained speaker selection so you have the critic to speak always after the writer? See: https://microsoft.github.io/autogen/docs/tutorial/conversation-patterns#constrained-speaker-selection

A few more points:
1. Use code executor: https://microsoft.github.io/autogen/docs/tutorial/code-executors
2. Update description field: https://microsoft.github.io/autogen/docs/tutorial/conversation-patterns#group-chat

critic.register_nested_chats(
[
{
        "sender":user_proxy,
        "recipient": critic,
        "message": reflection_message,
        "summary_method": "last_msg",
        "max_turns": 1
    }
],
trigger=manager,  # condition=my_condition,

)
res=user_proxy.initiate_chat(
manager, message=task,max_turns=1, summary_method="last_msg"
)
I updated this like above and now it's giving me result like this
User (to chat_manager):
Write a concise but engaging blogpost about Navida and format accordingly

Writer (to chat_manager):
Title: Inside the World of Innovations: A Deep Dive into NVIDIA
Header 1: A Sneak Peek into NVIDIA's Origins
NVIDIA, the renowned American multinational technology corporation, has been at the forefront of revolutionizing how we interact with technology. Founded in 1993 by Jensen Huang, Curtis Priem, and Chris A. Malachowsky, NVIDIA started as a niche market player and has transformed into a global technology powerhouse.
Header 2: NVIDIA – Mastering the Graphic Processing Unit (GPU) Game
Arguably, NVIDIA's major claim to fame is its groundbreaking innovations in Graphics Processing Units (GPUs). Originally aimed at gaming, these units have become staples in the rapidly growing realms of cryptocurrency mining, AI, and data science. The world's fastest supercomputer owes its breakneck speeds to NVIDIA's potent GPUs, providing a glimpse of the power and potential.
Header 3: When Gaming met AI: NVIDIA’s Role
NVIDIA didn’t just stop at gaming. It recognized the enormous potential artificial intelligence held and pivoted its GPU applications towards machine learning and high-performance computing. This revolutionized various sectors, from self-driving cars to healthcare, and even digital content creation, enabling AI to perform complex computations and tasks at unprecedented speeds.
Header 4: NVIDIA’s Foray into the Self-driving Arena
Venturing into the world of vehicles, NVIDIA's super powerful Drive platform helps transform the transportation industry by introducing automated and autonomous capabilities. This technology platforms plays a vital role in making self-driving vision a reality, with capabilities extending from perception to mapping, and maneuvering to integration.
Header 5: Forging the Future - NVIDIA's commitment to Innovation
NVIDIA continues to disrupt industries, redefine modern computer graphics, and revolutionize parallel computing. The company remains committed to tackling global issues like climate change, energy efficiency, and AI for good programs, showing not just a focus on innovation, but a sense of social responsibility as well.
In conclusion, NVIDIA continues to position itself as a harbinger of technological change and growth, leading by example in the tech world. Given its track record, there's no doubt that whatever innovation NVIDIA comes up with next, it's bound to leave an indelible impact on the world as we know it.
Signing off - until the next wave of tech disruption rockets our path!

Reflecting... yellow

Starting a new chat....

User (to Critic):
Reflect and provide critique on the following writing.
Title: Inside the World of Innovations: A Deep Dive into NVIDIA
Header 1: A Sneak Peek into NVIDIA's Origins
NVIDIA, the renowned American multinational technology corporation, has been at the forefront of revolutionizing how we interact with technology. Founded in 1993 by Jensen Huang, Curtis Priem, and Chris A. Malachowsky, NVIDIA started as a niche market player and has transformed into a global technology powerhouse.
Header 2: NVIDIA – Mastering the Graphic Processing Unit (GPU) Game
Arguably, NVIDIA's major claim to fame is its groundbreaking innovations in Graphics Processing Units (GPUs). Originally aimed at gaming, these units have become staples in the rapidly growing realms of cryptocurrency mining, AI, and data science. The world's fastest supercomputer owes its breakneck speeds to NVIDIA's potent GPUs, providing a glimpse of the power and potential.
Header 3: When Gaming met AI: NVIDIA’s Role
NVIDIA didn’t just stop at gaming. It recognized the enormous potential artificial intelligence held and pivoted its GPU applications towards machine learning and high-performance computing. This revolutionized various sectors, from self-driving cars to healthcare, and even digital content creation, enabling AI to perform complex computations and tasks at unprecedented speeds.
Header 4: NVIDIA’s Foray into the Self-driving Arena
Venturing into the world of vehicles, NVIDIA's super powerful Drive platform helps transform the transportation industry by introducing automated and autonomous capabilities. This technology platforms plays a vital role in making self-driving vision a reality, with capabilities extending from perception to mapping, and maneuvering to integration.
Header 5: Forging the Future - NVIDIA's commitment to Innovation
NVIDIA continues to disrupt industries, redefine modern computer graphics, and revolutionize parallel computing. The company remains committed to tackling global issues like climate change, energy efficiency, and AI for good programs, showing not just a focus on innovation, but a sense of social responsibility as well.
In conclusion, NVIDIA continues to position itself as a harbinger of technological change and growth, leading by example in the tech world. Given its track record, there's no doubt that whatever innovation NVIDIA comes up with next, it's bound to leave an indelible impact on the world as we know it.
Signing off - until the next wave of tech disruption rockets our path!

Critic (to User):
The piece is well-structured, informative, and engaging. It employs a user-friendly approach when explaining technical concepts, making it easy to understand for readers with both technical and non-technical backgrounds.
However, the tone varies from being formal to somewhat casual, specifically in the conclusion, which could potentially make it seem less professional. Phrases such as "Signing off - until the next wave of tech disruption rockets our path!" feel out of place with the overall tone of the article. For a more consistent tone, it would be better to maintain a formal and impartial voice throughout the entire piece.
Additionally, the article lacks specific examples or case studies that could illustrate the impact NVIDIA is having in various sectors. While it talks about revolutionizing areas like self-driving cars, healthcare, and digital content creation, it doesn't provide concrete examples or delve into detail. Including such examples would enrich the article and reinforce its claims.
Further, the text fails to address any negative or controversial aspects related to NVIDIA. While it's important to highlight its innovations and impact, an objective review should also present any criticism or issues the company has encountered to provide a balanced view. This will not only maintain transparency and uphold journalistic integrity but also increase reader trust in the review's validity.
Lastly, the text could benefit from additional proofreading, especially to correct minor errors such as "This technology platforms plays a vital role..." which should be written as "This technology platform plays a vital role..."
In conclusion, while the piece is well-crafted and informative, it could be improved by maintaining a consistent tone, providing specific examples, addressing potential critiques of NVIDIA, and conducting further proofreading for grammatical accuracy.

Critic (to chat_manager):
The piece is well-structured, informative, and engaging. It employs a user-friendly approach when explaining technical concepts, making it easy to understand for readers with both technical and non-technical backgrounds.
However, the tone varies from being formal to somewhat casual, specifically in the conclusion, which could potentially make it seem less professional. Phrases such as "Signing off - until the next wave of tech disruption rockets our path!" feel out of place with the overall tone of the article. For a more consistent tone, it would be better to maintain a formal and impartial voice throughout the entire piece.
Additionally, the article lacks specific examples or case studies that could illustrate the impact NVIDIA is having in various sectors. While it talks about revolutionizing areas like self-driving cars, healthcare, and digital content creation, it doesn't provide concrete examples or delve into detail. Including such examples would enrich the article and reinforce its claims.
Further, the text fails to address any negative or controversial aspects related to NVIDIA. While it's important to highlight its innovations and impact, an objective review should also present any criticism or issues the company has encountered to provide a balanced view. This will not only maintain transparency and uphold journalistic integrity but also increase reader trust in the review's validity.
Lastly, the text could benefit from additional proofreading, especially to correct minor errors such as "This technology platforms plays a vital role..." which should be written as "This technology platform plays a vital role..."
In conclusion, while the piece is well-crafted and informative, it could be improved by maintaining a consistent tone, providing specific examples, addressing potential critiques of NVIDIA, and conducting further proofreading for grammatical accuracy.

Writer (to chat_manager):
Title: The Power of Progress: A Comprehensive Overview of NVIDIA
Header 1: Tracing the Journey: NVIDIA's Groundbreaking Beginnings
In the realm of technology, NVIDIA established itself as a game changer right from its inception in 1993. Spearheaded by visionaries Jensen Huang, Curtis Priem, and Chris A. Malachowsky, NVIDIA began as a niche endeavor but steadily expanded, moving from strength to strength, to become a global icon in the tech world.
Header 2: NVIDIA's Proficiency in the Graphic Processing Units (GPUs)
NVIDIA's significant breakthrough was its unprecedented advancements in Graphics Processing Units (GPUs). Primarily targeting the gaming industry, these units significantly redefined the landscape of industries such as cryptocurrency mining, AI, and data science. For instance, NVIDIA's potent GPUs power the world's fastest supercomputer, exemplifying the dynamic versatility of their applications in real-world scenarios.
Header 3: NVIDIA and AI: Redefining the Gaming Experience
Ever one step ahead, NVIDIA expanded the applications of its GPUs beyond just gaming. Harnessing the unlimited potential of artificial intelligence, the company redirected its focus towards machine learning and high-performance computing. The impact of this paradigm shift was monumental, transforming industries ranging from autonomous vehicles to healthcare, and initiating groundbreaking strides even in the realm of digital content creation.
Header 4: Revolutionizing Transportation: NVIDIA’s Drive Platform
NVIDIA's innovative pursuits do not stop at AI and gaming. The company has ventured into the realm of transportation with its revolutionary Drive platform. This technology significantly contributes to the evolution of the industry by introducing high-level automated capabilities and promoting the feasibility of autonomous vehicles.
Header 5: NVIDIA: A Vision for the Future
NVIDIA's commitment to innovation and growth is unmatched, with ongoing efforts to redefine computer graphics and revolutionize parallel computing. Moreover, the company is also dedicated to addressing critical global issues such as climate change and energy efficiency. Through its AI for good programs, NVIDIA demonstrates a commendable alignment of technological innovation with social responsibility.
However, like any major company, NVIDIA has faced certain criticisms and challenges. Some have raised concerns about its competitive practices, and its major role in AI development stirs debates about the ethical implications of this technology. Yet, these obstacles do not diminish NVIDIA's significant contributions but rather provide contexts for discussion on future progress.
In wrapping up, it’s clear that NVIDIA plays a pivotal role in shaping the horizon of future technological advancements. No matter the challenges it faces or the criticisms it encounters, NVIDIA's innovative spirit remains undeterred, consistently pushing the boundaries of what's possible in technology. The anticipation for NVIDIA's next big reveal is palpable, reinforcing its inarguable significance in our rapidly evolving tech-scape.
As we continue to keep pace with this ever-advancing realm of innovation, one thing appears certain - with NVIDIA in the driver's seat, the road to future advancement promises to be an exciting journey.

Reflecting... yellow

Starting a new chat....

User (to Critic):
Reflect and provide critique on the following writing.
Title: The Power of Progress: A Comprehensive Overview of NVIDIA
Header 1: Tracing the Journey: NVIDIA's Groundbreaking Beginnings
In the realm of technology, NVIDIA established itself as a game changer right from its inception in 1993. Spearheaded by visionaries Jensen Huang, Curtis Priem, and Chris A. Malachowsky, NVIDIA began as a niche endeavor but steadily expanded, moving from strength to strength, to become a global icon in the tech world.
Header 2: NVIDIA's Proficiency in the Graphic Processing Units (GPUs)
NVIDIA's significant breakthrough was its unprecedented advancements in Graphics Processing Units (GPUs). Primarily targeting the gaming industry, these units significantly redefined the landscape of industries such as cryptocurrency mining, AI, and data science. For instance, NVIDIA's potent GPUs power the world's fastest supercomputer, exemplifying the dynamic versatility of their applications in real-world scenarios.
Header 3: NVIDIA and AI: Redefining the Gaming Experience
Ever one step ahead, NVIDIA expanded the applications of its GPUs beyond just gaming. Harnessing the unlimited potential of artificial intelligence, the company redirected its focus towards machine learning and high-performance computing. The impact of this paradigm shift was monumental, transforming industries ranging from autonomous vehicles to healthcare, and initiating groundbreaking strides even in the realm of digital content creation.
Header 4: Revolutionizing Transportation: NVIDIA’s Drive Platform
NVIDIA's innovative pursuits do not stop at AI and gaming. The company has ventured into the realm of transportation with its revolutionary Drive platform. This technology significantly contributes to the evolution of the industry by introducing high-level automated capabilities and promoting the feasibility of autonomous vehicles.
Header 5: NVIDIA: A Vision for the Future
NVIDIA's commitment to innovation and growth is unmatched, with ongoing efforts to redefine computer graphics and revolutionize parallel computing. Moreover, the company is also dedicated to addressing critical global issues such as climate change and energy efficiency. Through its AI for good programs, NVIDIA demonstrates a commendable alignment of technological innovation with social responsibility.
However, like any major company, NVIDIA has faced certain criticisms and challenges. Some have raised concerns about its competitive practices, and its major role in AI development stirs debates about the ethical implications of this technology. Yet, these obstacles do not diminish NVIDIA's significant contributions but rather provide contexts for discussion on future progress.
In wrapping up, it’s clear that NVIDIA plays a pivotal role in shaping the horizon of future technological advancements. No matter the challenges it faces or the criticisms it encounters, NVIDIA's innovative spirit remains undeterred, consistently pushing the boundaries of what's possible in technology. The anticipation for NVIDIA's next big reveal is palpable, reinforcing its inarguable significance in our rapidly evolving tech-scape.
As we continue to keep pace with this ever-advancing realm of innovation, one thing appears certain - with NVIDIA in the driver's seat, the road to future advancement promises to be an exciting journey.

Critic (to User):
This piece is generally quite thorough and well-written. It provides a comprehensive overview of NVIDIA as intended, with adequate detailing of the company's accomplishments and relevance. The language used is engaging, with a balanced mix of fact-based reporting and subjective praise. The use of headers makes it easier to follow and insert additional details as needed.
However, during the critique, a few key points arose regarding its deficits:

It lacks dissenting opinions or possible negatives associated with the technology. The piece feels somewhat biased, with the writer largely praising NVIDIA's achievements and impact without sufficiently exploring the potential risks or downsides. While the piece touched on issues like competitive practices and the ethical implications of AI, these were briefly mentioned and not adequately dissected.

Lack of specifics: While the article mentions NVIDIA's social responsibility through its "AI for good" programs, it fails to provide any specific examples or details about these initiatives and their potential impact. This omission may lead to a lack of depth and understanding for the reader.

It lacks third-party voices which could add credibility to any claims made. Including quotes or references from authoritative sources, both praising or criticizing the company and its products, would enhance the material's overall balance and reliability.

The final sections of the article veer into speculative territory with very little evidence or information provided to support the assertions. This type of forward-looking conclusion can be reworked and grounded more firmly in evidence from reliable sources to avoid undermining the objectivity and credibility of the piece.

The language feels overly promotional at points, slightly dampening the critique. Striking a balance between recognizing NVIDIA's contributions while maintaining an objective tone would provide a more comprehensive review.

Therefore, while the piece is well-structured and informative, it needs improvements in terms of balance, specifics, objectivity, and credibility.

Critic (to chat_manager):
This piece is generally quite thorough and well-written. It provides a comprehensive overview of NVIDIA as intended, with adequate detailing of the company's accomplishments and relevance. The language used is engaging, with a balanced mix of fact-based reporting and subjective praise. The use of headers makes it easier to follow and insert additional details as needed.
However, during the critique, a few key points arose regarding its deficits:

It lacks dissenting opinions or possible negatives associated with the technology. The piece feels somewhat biased, with the writer largely praising NVIDIA's achievements and impact without sufficiently exploring the potential risks or downsides. While the piece touched on issues like competitive practices and the ethical implications of AI, these were briefly mentioned and not adequately dissected.

Lack of specifics: While the article mentions NVIDIA's social responsibility through its "AI for good" programs, it fails to provide any specific examples or details about these initiatives and their potential impact. This omission may lead to a lack of depth and understanding for the reader.

It lacks third-party voices which could add credibility to any claims made. Including quotes or references from authoritative sources, both praising or criticizing the company and its products, would enhance the material's overall balance and reliability.

The final sections of the article veer into speculative territory with very little evidence or information provided to support the assertions. This type of forward-looking conclusion can be reworked and grounded more firmly in evidence from reliable sources to avoid undermining the objectivity and credibility of the piece.

The language feels overly promotional at points, slightly dampening the critique. Striking a balance between recognizing NVIDIA's contributions while maintaining an objective tone would provide a more comprehensive review.

Therefore, while the piece is well-structured and informative, it needs improvements in terms of balance, specifics, objectivity, and credibility.

Writer (to chat_manager):
Title: Unpacking the Power of Progress: A Balanced Overview of NVIDIA
Header 1: The Groundbreaking Beginnings of NVIDIA
Transcending its humble beginnings, NVIDIA, founded by tech visionaries Jensen Huang, Curtis Priem, and Chris A. Malachowsky in 1993, has championed significant technological advancements, paving its path to global recognition.
Header 2: NVIDIA's Impressive Strides in Graphic Processing Units (GPUs)
A remarkable breakthrough in NVIDIA's journey has been its development of Graphics Processing Units (GPUs). Initially designed for gaming, these GPUs found broader application, particularly in data-driven sectors like cryptocurrency mining, data science, and Artificial Intelligence (AI). To highlight the real-world impact of such advancements, the world's fastest supercomputer, Summit, leverages NVIDIA's potent GPUs, exemplifying their significant contribution to high-speed computing.
Header 3: The Intersection of NVIDIA, AI, and Gaming
Expanding its horizons, NVIDIA utilized the application of its GPUs beyond gaming, integrating them with Artificial Intelligence. As a case in point, deep learning technology, powered by NVIDIA's machine learning GPUs, have accelerated developments in sectors like data centers and autonomous vehicles. However, these advances in AI have also spurred debates around the ethics of using AI, with critics questioning issues related to privacy and potential misuse.
Header 4: NVIDIA's Drive Platform: A Leap Towards Autonomous Transportation
Shifting gears into the transportation sector, NVIDIA introduced its Drive platform, engineered to streamline automated functioning in vehicles. Its impact is evident in Tesla's electric cars, equipped with NVIDIA's Drive PX2 hardware, a clear instance of how NVIDIA's technology is aiding the evolution of the automobile industry.
Header 5: NVIDIA's Future Endeavors and Social Responsibility
NVIDIA demonstrates laudable strides in innovation, driving growth in the tech realm and aspiring to solve global issues like climate change. The company's initiative, Green500, leverages AI to develop energy-efficient supercomputers, showcasing its commitment to a sustainable future.
However, it's important to point out that NVIDIA has faced criticisms. Some of the ongoing concerns revolve around its market monopolizing tendencies and questionable competitive practices, as noted by entities like the Federal Trade Commission.
Conclusion: Striking A Balance – The Road Ahead for NVIDIA
In conclusion, NVIDIA's commitment to technological advancements holds undeniable significance in our evolving digital landscape. Yet, it's essential to balance this admiration for their achievements with a willingness to critically examine the accompanying ethical questions and concerns, to ensure a future where technological advancements truly serve humanity's best interest. As NVIDIA continues to shape the technology landscape, its journey remains an intriguing narrative of innovation, dedication, and resilience in the face of challenges.

Reflecting... yellow

Starting a new chat....

User (to Critic):
Reflect and provide critique on the following writing.
Title: Unpacking the Power of Progress: A Balanced Overview of NVIDIA
Header 1: The Groundbreaking Beginnings of NVIDIA
Transcending its humble beginnings, NVIDIA, founded by tech visionaries Jensen Huang, Curtis Priem, and Chris A. Malachowsky in 1993, has championed significant technological advancements, paving its path to global recognition.
Header 2: NVIDIA's Impressive Strides in Graphic Processing Units (GPUs)
A remarkable breakthrough in NVIDIA's journey has been its development of Graphics Processing Units (GPUs). Initially designed for gaming, these GPUs found broader application, particularly in data-driven sectors like cryptocurrency mining, data science, and Artificial Intelligence (AI). To highlight the real-world impact of such advancements, the world's fastest supercomputer, Summit, leverages NVIDIA's potent GPUs, exemplifying their significant contribution to high-speed computing.
Header 3: The Intersection of NVIDIA, AI, and Gaming
Expanding its horizons, NVIDIA utilized the application of its GPUs beyond gaming, integrating them with Artificial Intelligence. As a case in point, deep learning technology, powered by NVIDIA's machine learning GPUs, have accelerated developments in sectors like data centers and autonomous vehicles. However, these advances in AI have also spurred debates around the ethics of using AI, with critics questioning issues related to privacy and potential misuse.
Header 4: NVIDIA's Drive Platform: A Leap Towards Autonomous Transportation
Shifting gears into the transportation sector, NVIDIA introduced its Drive platform, engineered to streamline automated functioning in vehicles. Its impact is evident in Tesla's electric cars, equipped with NVIDIA's Drive PX2 hardware, a clear instance of how NVIDIA's technology is aiding the evolution of the automobile industry.
Header 5: NVIDIA's Future Endeavors and Social Responsibility
NVIDIA demonstrates laudable strides in innovation, driving growth in the tech realm and aspiring to solve global issues like climate change. The company's initiative, Green500, leverages AI to develop energy-efficient supercomputers, showcasing its commitment to a sustainable future.
However, it's important to point out that NVIDIA has faced criticisms. Some of the ongoing concerns revolve around its market monopolizing tendencies and questionable competitive practices, as noted by entities like the Federal Trade Commission.
Conclusion: Striking A Balance – The Road Ahead for NVIDIA
In conclusion, NVIDIA's commitment to technological advancements holds undeniable significance in our evolving digital landscape. Yet, it's essential to balance this admiration for their achievements with a willingness to critically examine the accompanying ethical questions and concerns, to ensure a future where technological advancements truly serve humanity's best interest. As NVIDIA continues to shape the technology landscape, its journey remains an intriguing narrative of innovation, dedication, and resilience in the face of challenges.

it does not create a new chat as you can see in the output

If you want the critics to trigger nested chat each time it is invoked by the chat manager, this code
critic.register_nested_chats(
[
{
"sender":manager,
"recipient": critic,
"message": reflection_message,
"summary_method": "last_msg",
"max_turns": 2
}
],
trigger=writer,  # condition=my_condition,
)
trigger should be manager, and the "sender" should be someone else other than the manager otherwise you will get recursive triggering of nested chats.
But it looks like your scenario doesn't need nested chat. Can you try constrained speaker selection so you have the critic to speak always after the writer? See: https://microsoft.github.io/autogen/docs/tutorial/conversation-patterns#constrained-speaker-selection
A few more points:

Use code executor: https://microsoft.github.io/autogen/docs/tutorial/code-executors
Update description field: https://microsoft.github.io/autogen/docs/tutorial/conversation-patterns#group-chat

I love you, I think this will fix my issues. They really need to put this on the docs because the current docs are not explicit with how to do nested trigger within a group chat manager conversation


Group Communication (README)

Hey, the branch name should be just "Group Communication" without the "README", the README is another name for the Group Norms file only


jenkinsx-quickstart-nuxeo-poc to 1.0.14

Promote jenkinsx-quickstart-nuxeo-poc to version 1.0.14

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


Added coolify logo to doc navbar.

Adds logo from main website to the docs and updated the config to include the logo file.

Thanks for the PR!


Support rewording merge commits

Also addresses #515.

This looks good to me, FWIW. I like the clean up in reword.rs!


Traceback error

Python version:  3.6
Bandcamp-dl version: Current as of (May 11th 2017)
Bancamp-dl options:  Album download
url: https://mfdoom.bandcamp.com/album/mm-food
options:
Describe the issue:
When attempting bandcamp-dl https://mfdoom.bandcamp.com/album/mm-food
I get
Traceback (most recent call last):   File "/usr/local/bin/bandcamp-dl", line 11, in <module>     sys.exit(main())   File "/usr/local/lib/python3.6/site-packages/bandcamp_dl/__main__.py", line 100, in main     arguments['--embed-art'], arguments['--no-slugify']) KeyError: '--embed-art'

Delete any old not.finished files, its attempting to resume a previously run command that uses an argument that is no longer available.

Thank you so much! This fixed the issue!


feat(schema): add parent relationship column

Notion ticket link

BUG: Missing Parent Relationship To Student

Implementation description

Steps to test

What should reviewers focus on?

Checklist

[ ] My PR name is descriptive and in imperative tense
[ ] I have run the linter
[ ] I have requested a review from the PL, and/or other devs who have background knowledge on this PR or who will be building on top of this PR

delegated to @GodGreg


Add optional arguments to startActivity

There is much more that can be sent to the function. See https://github.com/appium/appium/issues/6097

:+1:

:+1:


No Javascript telemetry example

Page is missing a Javascript example.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: db892de5-e60e-1d4f-505b-11b1cdb73323
Version Independent ID: f7263014-b8fa-9a20-71aa-e4217b2821ee
Content: Add telemetry to your bot - Bot Service
Content Source: articles/v4sdk/bot-builder-telemetry.md
Service: bot-service
GitHub Login: @WashingtonKayaker
Microsoft Alias: kamrani

Can you please update status on this?

I think I can start on this early next week.

Any update? I was looking for this content (again) and realised it still hasn't been added...

Unable to use telemetry without this

@garypretty do you know if this is still necessary with all the changes coming, or is my request obsolete already.

for javascript you can use this example https://docs.microsoft.com/en-us/azure/azure-monitor/app/nodejs, there is a doc for python too. Don't know why they put there when they could have put it here tho

Sorry for the delays, the JavaScript sample is available and the Add telemetry to your bot article has been updated to include information on how to add telemetry to your bot developed using JavaScript.


docs: fix simple typo, relavent -> relevant

There is a small typo in code/2.7/adder.c.
Should read relevant rather than relavent.
Semi-automated pull request generated by
https://github.com/timgates42/meticulous/blob/master/docs/NOTE.md

Thank you @timgates42


Segmentation fault when initializing with null language

Basic Information
tesseract 5.2.0
leptonica-1.82.0
libgif 5.2.1 : libjpeg 6b (libjpeg-turbo 2.1.3) : libpng 1.6.37 : libtiff 4.4.0 : zlib 1.2.12 : libwebp 1.3.0
Found AVX2
Found AVX
Found FMA
Found SSE4.1
Operating System
No response
Other Operating System
Fedora Linux 37
But this was originally reported to me from a user on a Mac M1 (presumably macOS 13 Ventura).
uname -a
Linux fedora-desktop 6.1.14-200.fc37.x86_64 #1 SMP PREEMPT_DYNAMIC Sun Feb 26 00:13:26 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
Compiler
gcc version 12.2.1 20221121 (Red Hat 12.2.1-4) (GCC)
Virtualization / Containers
No response
CPU
13th Gen Intel® Core™ i7-13700K
Current Behavior
When using TessBaseAPIInit3(cube, NULL, NULL) the language isn't set to a sensible default, thus later causing a segmentation fault when TessBaseAPIRecognize is called.
Expected Behavior
Given that the documentation  says:

The language is (usually) an ISO 639-3 string or nullptr will default to eng.

I would expect a NULL to work the same way as "eng" (not segmentation fault at the Recognize step).
Suggested Fix
Null pointer defaults to "eng".
Other Information
Test case program
#include <tesseract/capi.h>
#include <leptonica/allheaders.h>

int main(int argc, char *argv[]) {
    TessBaseAPI *cube = TessBaseAPICreate();
    TessBaseAPIInit3(cube, NULL, NULL); // change this 2nd `NULL` to "eng" for success

    PIX *image = pixRead("img.png");
    TessBaseAPISetImage2(cube, image);
    TessBaseAPIRecognize(cube, NULL);
    char *text = TessBaseAPIGetUTF8Text(cube);
    printf("%s\n", text);
    TessDeleteText(text);
    pixFreeData(image);
    TessBaseAPIDelete(cube);
}

run using gcc $(pkg-config --cflags --libs tesseract) $(pkg-config --cflags --libs lept) test.c && ./a.out.
This was originally reported against a Rust wrapper: https://github.com/antimatter15/tesseract-rs/issues/34

The API was changed by my commit f5d22d0bc ("Don't set a default language in TessBaseAPI::Init"). The reason for that commit was that Tesseract required (and loaded) eng.traineddata even for tasks which did not require a model file.
So the documentation should be updated, and of course the code should not crash.

#include <leptonica/allheaders.h>

The right form is #include <allheaders.h>.

The right form is #include <allheaders.h>.

Why?

Including leptonica/allheaders.h simply does not work in many cases, for example on MacOS with Homebrew.
Leptonica tells the compiler to look for header files in the leptonica directory which provides allheaders.h, but not leptonica/allheaders.h:
% pkg-config --cflags lept
-I/opt/homebrew/Cellar/leptonica/1.82.0_1/include/leptonica

Including leptonica/allheaders.h works on typical Linux installations , because the compiler searchs /usr/include and /usr/local/include, too. It won't work on Linux if Leptonica was installed in a non standard location like $HOME.

The PR has more details: https://github.com/tesseract-ocr/tesseract/pull/3610

@stweil : Who leptonica is build on MacOS with Homebrew? With autotool or cmake? On Windows cmake build with custom instalation  I got this:
>SET PKG_CONFIG_PATH=f:\win64\lib\pkgconfig
>F:\vcpkg\downloads\tools\msys2\9a1ec3f33446b195\mingw32\bin\pkg-config.exe --cflags lept
-If:/win64/include -If:/win64/include/leptonica

IMO this is right approach, so developer could use both variants. Personally I prefer leptonica/allheaders.h, because allheaders.h is too general and unclear to which library it belongs.

Homebrew uses autotools for all platforms in its tesseract formula.

@DanBloomberg, there seem to exist two different conventions how people include the header file for Leptonica:

#include <allheaders.h> /* works with compiler flags from pkg-config generated by autotools of cmake */
#include <leptonica/allheaders.h> /* works with compiler flags from pkg-config generated by cmake */

Which of the two variants would you prefer? We currently have the problem that it can depend on the build type (autotools of cmake) whether both variants work or only the first one. We could enforce that only one of both variants is supported, or we could support both variants.

CMake and Autotools should behave similarly, otherwise you make supporting the software more difficult.

Due to the differences between the builds, for Tesseract at least I would prefer that we support just one build system for Linux, macOS,, and the BSDs.

#4026 is one more example for a different behavior of the Autotools build vs. the CMake build.

I have always used variant 1.  Both in the library and for the 300 or so programs in the prog/ directory.
Never considered variant 2, which wouldn't work with any of my code because I'm using specific local builds (not installed software) when developing and testing.

CMake and Autotools should behave similarly, otherwise you make supporting the software more difficult.

Currently they use different templates for lept.pc which results in different compiler flags for the include path. See template for CMake and template for Autotools.
The lept.pc template for CMake should be fixed to fit the template for Autotools.

What do you means by pkg-config generated by autotools of cmake?

I meant lept.pc which is used for pkg-config and which is generated by autotools or cmake.

IMO leptonica has problem with naming conventions: "lept.pc" is one of examples (why not leptonica.pc?)
allheaders.h, PIX, BOX etc are others problems when you try to read the code and you are not familiar. There are too general.
That's why I prefer <tesseract/baseapi.h> and <leptonica/allheaders.h>.
If I understand it correctly: <leptonica/allheaders.h> is problem on MacOS with autotools build and pkgconfig only . On rest of platforms developers has freedom to choose if they will use <leptonica/allheaders.h>  or just <allheaders.h>.  IMO we should give this freedom also for autotools users...


RPF: Configure DVR to re-record existing tests

DVR concurrently looks to see if a recording exists, and if it does, it will consider itself in playback mode. We would prefer to explicitly call out whether we want DVR to record.
Modes:

record: record tests or, if they already exist, re-record them
playback: playback tests if they exist; if not, fail

This should honor the TEST_MODE environment variable we are setting.

Here's the link to the VCRpy record modes:
https://github.com/venmo/DVR/issues/39

Depends on: https://github.com/tjprescott/DVR/pull/1

Essentially:

Record mode => DVR .all
Playback mode=> DVR .none
Live => Use URLSession instead of DVR's Session type

PR #909 merged. Closing.


Changing positions in ReactFlow: update the monaco editors

For now, I would only do this for the positions

However, not automatically: have a button to 'set positions' (and turn off autoLayout in the global config)

e.g. you have no positions set in your node config, but autoLayout sets positions. There should be a button that states 'fill in the positions of the reactflow image in the config of the nodes'