Migrations don't work on Windows

I'm trying to use the new migration strategy introduced in 1.25 but it fails loading the ./db file:
import { rakeDb } from 'orchid-orm/migrations'
import { BaseTable } from './baseTable'

export const change = rakeDb(
    { databaseURL: process.env.DIRECT_URL },
    {
        baseTable: BaseTable,
        snakeCase: true,
        migrationsTable: 'migrations',
        migrationsPath: './migrations',
        dbPath: './db',
        commands: {
            async seed() {
                const { seed } = await import('./seed')
                await seed()
            }
        }
    }
)

Running npm run db g crashes with:
node:internal/process/promises:289
            triggerUncaughtException(err, true /* fromPromise */);
            ^
Error [ERR_UNSUPPORTED_ESM_URL_SCHEME]: Only URLs with a scheme in: file, data, and node are supported by the default ESM loader. On Windows, absolute paths must be valid file:// URLs. Received protocol 'c:'
    at __node_internal_captureLargerStackTrace (node:internal/errors:496:5)
    at new NodeError (node:internal/errors:405:5)
    at throwIfUnsupportedURLScheme (node:internal/modules/esm/load:138:11)
    at defaultLoad (node:internal/modules/esm/load:89:3)
    at nextLoad (node:internal/modules/esm/hooks:733:28)
    at Z (file:///C:/Users/<redacted>/node_modules/tsx/dist/esm/index.mjs:2:1750)
    at nextLoad (node:internal/modules/esm/hooks:733:28)
    at Hooks.load (node:internal/modules/esm/hooks:377:26)
    at MessagePort.handleMessage (node:internal/modules/esm/worker:168:24)
    at [nodejs.internal.kHybridDispatch] (node:internal/event_target:778:20)
    at exports.emitMessage (node:internal/per_context/messageport:23:28) {
  code: 'ERR_UNSUPPORTED_ESM_URL_SCHEME'
}

Node.js v20.5.0

db script is defined as tsx src/db/dbScript.ts

WIll fix it for you, just want to share that Windows is so tough. It layed down broken after update for about a year on my machine, but luckly, I reinstalled it recently. So far I figured out how to enable developers mode, installed node.js. Now trying to install postgres and I'm a bit stuck with it.
Fireship yesterday posted a video about Windows vs Macos vs Linux for devs, how much of a lier he is. Windows devs should realize and be proud of how much difficulties they have to overcome for what they're doing compared to Mac and Linux users. Even disabling automatic update is such a challenge, so every time Windows is shutting down and updates things I'm praying that I won't need to reinstall it again.
How to install postgres in my linux:
yay -S postgresql

Ready.
How to install postgres on windows: lol, I googled it, opened official postgres installers page, they have a link postgres installer, which has a link back to postgres downloads, clicking on Windows and I'm redirected back to the first page :)
Maybe it's easier when using WSL, but last time I tried to install WSL it was also a journey on itself, so much patience and dedication is needed. All those folks who claims things like "windows is for noobs" are so far form reality, developers on Windows are true heros who can fight back complexities that would make Mac/Linux users to give up and run away.

Fixed! Update orchid-orm, now it should be fine.

Amazing @romeerez you rock!

I'm not sure what I'm doing wrong. I'm now trying the latest version; importing the file now works but it fails to load the db object which is correctly exported as db named export.
import { orchidORM } from 'orchid-orm'
import { UserTable } from './tables/user.table'

export const db = orchidORM(
    { databaseURL: process.env.DATABASE_URL },
    {
        user: UserTable
    }
)

I get the following error:
Error: Unable to import OrchidORM instance as db from ./db
    at getDbFromConfig (C:\Users\<redacted>\node_modules\orchid-orm\src\migrations\generate\generate.ts:192:11)
    at generate (C:\Users\<redacted>\node_modules\orchid-orm\src\migrations\generate\generate.ts:82:14)
    at runCommand (C:\Users\<redacted>\node_modules\rake-db\src\rakeDb.ts:152:11)

In fact, I ran the exact same code from generate.ts:192:11 myself and it properly loaded the module. I have no clue why your code fails to load it.

Adding a print statement in your code in my node_modules shows that module is [Module: null prototype] { default: { db: [Getter] } } instead of { db: [Getter] } from my version of the import.

FWIW, I do see in your code that you require the module if import fails. requireing in my code fails if I use a file URL (the fix for Windows).
In fact, even if I do import without resolving to a file URL it works on windows. So I have no clue why we had this Widnows issue in first place.

Now, this is becoming more intense... I manually added .default in the node_modules version of the code so I can run the migration.
It now fails with the following error:
Error: Failed to verify generated migration: some of database changes were not applied properly. This is a bug, please open an issue, attach the following migration code:

change(async (db) => {
  await db.createTable('user', (t) => ({
    id: t.identity().primaryKey(),
    created: t.timestamps().createdAt,
    updated: t.timestamps().updatedAt,
    name: t.text(0, 1000),
  }));

  await db.dropTable(
    'migrations',
    {
      noPrimaryKey: true,
    },
    (t) => ({
      version: t.text(),
      name: t.text(),
    }),
  );
});

    at generate (C:\Users\<redacted>\node_modules\orchid-orm\src\migrations\generate\generate.ts:129:13)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at runCommand (C:\Users\<redacted>\node_modules\rake-db\src\rakeDb.ts:152:11)

Node.js v20.5.0

It doesn't end here, I see that the interactive CLI asked me if I want to rename the table from the existing migrations table. Now, this is my custom name for the schemaMigrations table (since I like concise names). It attempts to delete this table although it is defined as the migrations table name in the rakedb config.
Removing the override and trying to generate with the default migration table name still errors, but differently:
C:\Users\<redacted>\node_modules\orchid-orm\src\migrations\generate\generate.ts:129
      throw new Error(
            ^

Error: Failed to verify generated migration: some of database changes were not applied properly. This is a bug, please open an issue, attach the following migration code:

change(async (db) => {
  await db.createTable('user', (t) => ({
    id: t.identity().primaryKey(),
    created: t.timestamps().createdAt,
    updated: t.timestamps().updatedAt,
    name: t.text(0, 1000),
  }));
});

    at generate (C:\Users\<redacted>\node_modules\orchid-orm\src\migrations\generate\generate.ts:129:13)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at runCommand (C:\Users\<redacted>\node_modules\rake-db\src\rakeDb.ts:152:11)

Node.js v20.5.0

It's expected for a large new feature to have some issues initially, so it will take some time to polish.
Regarding the importing problem, please make a min reproduction repo, because it worked for me on Windows when I was fixing it. I used tsx as a code runner, perhaps you were using something different? imports are implemented differently by every tool to run TS code.
The second problem with "migrations" is apparently a bug that's will be quick to fix, by simply unhardcoding the migrations table name.

Thanks.
I'll create a reproduction soon. Even after working around the import issue we still had this crash not related to the hard coded migration table name (in the last comment of mine)

I'm not at my computer at the moment, but I suspect I need to change the module and moduleResolution keys in tsconfig.json.
Currently module is defined as esnext and moduleResolution as node.
It could be the windows issue isn't at all related to Windows, but instead with this configuration.

Nope, tweaking those setting didn't seem to make any difference, but the reason I initially changed those settings around was because another issue I had when setting moduleResolution to node. It should probably be opened under a separate issue.

Going back to the original issue of Windows, I believe the solution should not be to resolve to a file URL, but instead not resolve as an absolute file.
both import and require handle importing a file from the local filesystem perfectly, but it seems that path.resolve(config.basePath...) resolves the file to the filesystem root (C:) instead of against the CWD which causes the resolution to fail.
To me, this boils down to a bug in resolving against config.basePath instead.

Ok ok! So after creating a brand new project for the purpose of the reproduction it turns out that I removed this part from the rakeDb config which caused the import problems resolving to the default export:
import: (path) => import(path),

This doesn't solve the windows import issue though. Installing 1.26.1 will still not work on Windows.

The issue with the generation was due to something else entirely, namely, I created a defaults() column type in the base table and use it in the table definition as ...defaults(). This somehow triggered an error. Importing the fields verbatim instead of spreading did properly create the migration.
But! back to a previous issue I created a while back, it won't generate the column names correctly for timestamps.
This is my table definition
import { BaseTable } from '../baseTable'

export class UserTable extends BaseTable {
    readonly table = 'user'
    columns = this.setColumns(t => ({
        id: t.identity().primaryKey(),
        created: t.timestamps().createdAt.asDate(),
        updated: t.timestamps().updatedAt.asDate(),
        name: t.text(0, 1000)
    }))
}

Which generates the following:
import { change } from '../dbScript';

change(async (db) => {
  await db.createTable('user', (t) => ({
    id: t.identity().primaryKey(),
    created: t.name('created_at').timestamps().createdAt,
    updated: t.name('updated_at').timestamps().updatedAt,
    name: t.text(0, 1000),
  }));
});

And creates the wrong column names in the database.

So to wrap up:

Omitting the import key from the rakeDb config should default to the standard import directive.
I believe the Windows bug was fixed in the wrong way, we need to deal with resolving against the basePath instead of coercing to a file URL.
The generation process ignores the migration table name override
Importing orchid-orm/migrations  shows an error when module resolution isn't set to bundler etc.
Generation fails when spreading my custom defaults column type (but works well with the built in timestamps())
Renaming the timestamps is ignored in the migration file

Importing orchid-orm/migrations shows an error when module resolution isn't set to bundler etc.

This is how it's supposed to work. What else would you pick for moduleResolion anyway? node10? If that's a must for whatever legacy reason, you can fall back to using the separately published rake-db instead of orchid-orm/migrations. But for most projects Bundler is the best pick.

Yeah you could be right, I just wasn't sure why I was seeing this error so wanted to bring to the attention of the maintainers.

Hey @mordechaim, I published a few fixes, testing this on Windows and it seems to be working fine on my side.

import: I've changed it to be required in the config, but I didn't fix it because isn't broken for me, so if you still have import errors please create a min repro

custom "migrations" table name: un-hardcoded, it should be fine now

"Failed to verify generated migration": don't know how to reproduce, it may be related to custom migrations table name and then it's fixed, or it may be related to customly named timestamps, then please show how to you define the timestamps, because I tried to use "created" and "updated" timestamps and it worked for me.
class Table extends BaseTable {
  columns = this.setColumns(t => ({
    created: t.timestamps().createdAt,
    updated: t.timestamps().updatedAt,
  }))
}

node module resolution doesn't work: fortunately, TS error message is descriptive here, so not a problem unless you really need that option.

Relative imports are trickier than absolute because files are imported by the library from deep inside of node_modules, that's why they are resolved into absolute paths.

Generation fails when spreading my custom defaults column type (but works well with the built in timestamps())

Let me see your defaults, cannot fix it otherwise.

Renaming the timestamps is ignored in the migration file
How do you rename it?

One issue that remains is that the init script creates a package.json with "NODE_ENV=development" in the db script, but envs doesn't work on Windows in such a way. Probably, I should change it to cross-env, or just to remove it if it itsn't really needed.

Thanks @romeerez. I'll create a reproduction later.
Regarding absolute paths, of course we can't rely on relative paths entirely. My point was to resolve absolute against the CWD root, not the file system root. The entire windows issue is only happening because the ESM loader sees the "C:" part of a Windows absolute file.
(I'm now thinking, since we require the import key in the config, we can now rely on relative paths, since import looks at the defining file, no?)
Btw, why do we even need this entire loading mechanism if first place? We can't we just pass in an instance of db and call it a day?

Renaming the timestamps is ignored in the migration file

How do you rename it?

You can see in the code snippet in this comment
Regarding setting NODE_ENV, yeah removed it as I'm using Next.js which automatically sets the environment according to the selected start script. In any case, I never rely on the compiled version anyway and just run "production" migrations with tsx, so I don't need this env at all. Since we removed app code generation this doesn't even affect anything I think.

(I'm now thinking, since we require the import key in the config, we can now rely on relative paths, since import looks at the defining file, no?)

Yes, if there will be a good reason to switch from absolute to relative, the import is defined in the "dbScript" file and it could serve as a root point for relative paths. But I hope that absolute paths will work well and no need to rework and retest it on various TS runners and platforms.

Btw, why do we even need this entire loading mechanism if first place? We can't we just pass in an instance of db and call it a day?

That's right it would be much simpler, but the db file links together all project tables, it can be a large tree of project files, it is only needed when generating migrations and won't be loaded otherwise. It could be that migrations are bundled to be executed on a remote server, and having a directly imported db would increase bundle size significantly.

You can see in the code snippet in https://github.com/romeerez/orchid-orm/issues/263#issuecomment-2106398533

I see, probably related to asDate, will check this.

On a clean project, everything now seems to work perfectly!
On my existing project I'm still having slight issues with timestamps, I'll investigate further,

Ah! Using snakeCase: true in the rakeDb config causes the timestamp issues. In my clean project I initially didn't set it to true.
If the table defines anything that uses timestamps() it crashes with an error, and in some cases it will force the name('created_at') option even though it's not set in the table definition.

Trying to resolve the custom timestamp name related issue, it appears to be a tough one so it will take some time.

I published a fix, and now that should work fine.
Custom timestamps names in snake case mode
created: t.timestamps().createdAt,
updated: t.timestamps().updatedAt,

will be named created and updated in the database, as expected.

Yes! I confirm it works as expected. Thanks @romeerez

Awesome! Any more troubles with this for now, or let's close?

I believe all issues have been hashed out by now, though I haven't thoroughly tested every scenario.
The only thing I would probably do differently is to resolve the db file against the CWD root instead of filesystem root, and in turn not need to get file URLs for Windows.

Imports are relative to a file where they're called (dbScript.ts). Reworking and retesting how it works on various platforms isn't fun, so I'm happy with it as long as it works.

Imports are relative to a file where they're called (dbScript.ts). Reworking and retesting how it works on various platforms isn't fun, so I'm happy with it as long as it works.

Yeah! Agree with this sentiment. Thanks again!


Replaces Azure Remote Debug functionality with opening the help page.

Replaces Azure Remote Debug functionality with opening the help page.

Merging because it's the same as #1307.


Error while inserting into database (with a real type)

E/flutter (13486): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: Bad state: Too many elements
E/flutter (13486): #0      _ListBase&Object&ListMixin.singleWhere (dart:collection/list.dart:167:11)
E/flutter (13486): #1      SqlTypeSystem.forDartType (package:moor/src/types/type_system.dart:23:18)
E/flutter (13486): #2      Variable.mapToSimpleValue (package:moor/src/runtime/expressions/variables.dart:48:37)
E/flutter (13486): #3      Variable.writeInto (package:moor/src/runtime/expressions/variables.dart:56:33)
E/flutter (13486): #4      InsertStatement._createContext (package:moor/src/runtime/statements/insert.dart:107:16)
E/flutter (13486): #5      InsertStatement.insert (package:moor/src/runtime/statements/insert.dart:31:17)

Thanks for the report! I'm pretty sure I know why this is happening, I'll fix it this weekend.

I have made a quick fix by changing:
/// Returns the appropriate sql type for the dart type provided as the
  /// generic parameter.
  SqlType<T> forDartType<T>() {
    return types.singleWhere((t) => t is SqlType<T>) as SqlType<T>;
  }

to:
/// Returns the appropriate sql type for the dart type provided as the
  /// generic parameter.
  SqlType<T> forDartType<T>() {
    return types.where((t) => t is SqlType<T>).last as SqlType<T>;
  }

I think I'll make the RealColumn a Column<double> instead of a Column<num> to fix this, as num is the supertype of int and double and we already have a dedicated IntColumn. But thanks for the idea!

Should be fixed on the development. You probably need to re-run the build runner.

I have the same issue while trying to insert a record
E/flutter (21585): [ERROR:flutter/lib/ui/ui_dart_state.cc(198)] Unhandled Exception: LateInitializationError: Field '_db@1324164674' has not been initialized.
E/flutter (21585): #0      Sqlite3Delegate._db (package:drift/src/sqlite3/database.dart)
package:drift/…/sqlite3/database.dart:1
E/flutter (21585): #1      Sqlite3Delegate._runWithArgs
package:drift/…/sqlite3/database.dart:110
E/flutter (21585): #2      Sqlite3Delegate.runInsert
package:drift/…/sqlite3/database.dart:127
E/flutter (21585): #3      _BaseExecutor.runInsert.<anonymous closure>
package:drift/…/helpers/engines.dart:99
E/flutter (21585): #4      _BaseExecutor._synchronized.<anonymous closure>
package:drift/…/helpers/engines.dart:51
E/flutter (21585): #5      new Future.sync (dart:async/future.dart:301:31)
E/flutter (21585): #6      Lock.synchronized.callBlockAndComplete
package:drift/…/utils/synchronized.dart:17
E/flutter (21585): #7      Lock.synchronized.<anonymous closure>
package:drift/…/utils/synchronized.dart:21
E/flutter (21585): #8      _rootRunUnary (dart:async/zone.dart:1434:47)
E/flutter (21585): #9      _CustomZone.runUnary (dart:async/zone.dart:1335:19)
E/flutter (21585): <asynchronous suspension>
E/flutter (21585): #10     InsertStatement.insert.<anonymous closure>
package:drift/…/statements/insert.dart:74
E/flutter (21585): <asynchronous suspension>
E/flutter (21585): #11     InsertStatement.insert
package:drift/…/statements/insert.dart:73
E/flutter (21585): <asynchronous suspension>
E/flutter (21585): #12     DealCardState._buildDealCardAddFavoriteButton.<anonymous closure>.<anonymous closure>
package:deal_hunter/…/widgets/deal_card.dart:530
E/flutter (21585): <asynchronous suspension>
E/flutter (21585):


grunt build fails (grunt cannot symlink on windows?)

Running "make_build_dir:default" (make_build_dir) task

Created build folder: C:\dev\doppio\build\dev-cli
Fatal error: Cannot symlink classes to build\dev-cli\classes: Error: EPERM, operation not permitted 'C:\dev\doppio\build\dev-cli\classes'

at 927371e330b3a759b4eb7157df6102fc38df2ff3, windows 8.1 x64

As of the commit I just made, we now copy when symlinking fails.


Trained* description is not updated

Trained* trait description from compendium is not updated. Because - old Calm rules and have no Pointer specialization

Hi Gregor,

The pointer specialisation wasn’t included in the original trained list Andy had in his article.
Pointer - trained spot birds and small game such as rabbits and 'point' to them by freezing and aiming their muzzle towards them.
I’ll add it.

That’s strange I though I’d updated all instances of the Calm rule. I’ll fix it.
thanks again

We’ll spotted. I’m back from bank holiday tomorrow so will make all your updates over the next few days

Do not rush. Now I think maybe it's intentional that it's not there? Becouse Note on Andy Law blog: "this is the breed in the WFRP Starter Set".


⚠ Bofrost.es has degraded performance

In 3761be1, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1436 ms

Resolved: Bofrost.es performance has improved in 52b75c4 after 24 minutes.


feat: if we have enabled TLS lets make the jx secret the default TLS cert used by nginx, this can still be overriden on a per ingress basis

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please assign rawlingsj
You can assign the PR to them by writing /assign @rawlingsj in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

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

/approve

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

Needs approval from an approver in each of these files:

OWNERS [rawlingsj]

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


Add documentation on link names

From the 06-20 community call, we spoke extensively about the use of link names in wasmCloud to use logically named different links, potentially between the same two components. The search docs don't pull up a heading for this, so there must not be a piece under the linking at runtime docs that mention link names.

Resolved by #479


chatflow log out takes long time  forever

code version

(js-sdk-vpmH-Z_5-py3.6) root@Bishoy:~/js-sdk# git log -1
commit 1891a2825400d3cb96f9ccc94fb2da62d4bad469 (HEAD -> development, origin/development, origin/HEAD)
Author: Ahmed El-Sayed<EMAIL_ADDRESS>Date:   Wed Jul 1 15:02:29 2020 +0200

    add the new admin dashboard (#152)

not relevant anymore


Remove triggers for currently unused actions

These aren't being actively used, so no need spending CPU cycles running them
Save the whales

Could we remove these instead

I'd prefer leaving them just so they're more discoverable (since I believe the team who will be working on them in the future likely wasn't involved in implementing them in the first place). I've cordoned them off in the k8s subdirectory for tidiness.


Can't see it after compiling

Hi. I can use it when running with ionic serve but when compiling with: ionic package build android --profile=production --release --prod it doesn't show on device. Any advice? Thanks.

I can confirm it's because of "--prod" param that minifies and uglifies the code. Without --prod it's working on device as well.

Please use the latest version, and use ModalController instead of CalendarController.


Enhance JSON template validation

Context
Authenticated users:

Can bypass publishing permissions by updating an existing Form Template with the ‘publishingStatus’ property set to ‘true’ and waiting for an application release.  Each application release, as part of the Prisma migration seed file, will iterate over Form Templates and use the value of ‘publishingStatus’ to overwrite the ‘isPublished’ field.  The ‘publishingStatus’ field is removed from the object to ensure the migration is only run once per form configuration however there is no parsing on a Form Template update or create action that explicitly stops the field from being readded.
Impact: Bypassing security controls and publishing a form without authorization.

Can inject various properties into a Form Template on “api/templates”.  With further testing, it might be found that prototype pollution can be achieved to produce unexpected results when opening / loading a form.  At a minimum it allows an authenticated user a pathway to inject unsanitized input into the Database
Impact: Security risk / attack path

Acceptance criteria

[ ] Enhance json template validation and do not allow extra properties to be included.

Concerning the "bypass publishing permissions" security issue. We planned on removing that piece of code once the migration will have happen in production. Also I just tried adding the old publishingStatus field to the JSON configuration and it cannot be done because of our JSON validation.

@craigzour I'll test out the "bypassing publishing permissions" but the issue is that the JSON validation allows for  "additionalProperties": true.
By changing it to false and ensuring that all properties are included in the JSON Validation we should be able to close this potential attack path.

Confirmed I can bypass publishing with adding the 'publishingStatus' property.

publishingStatus

Yes so it is only possible because of https://github.com/cds-snc/platform-forms-client/blob/develop/prisma/seeds/seed.ts#L32 . Now that it ran in production we can remove it and also apply the other fix you mentioned with "additionalProperties": true set to false.


Fix setenv.sh scripts in Docker services.

Misplaced " is causing issues.
Also rest-redirector won't launch.

merged into develop


kubo: 0.29.0 -> 0.30.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/ipfs/kubo/releases.
meta.description for kubo is: IPFS implementation in Go
meta.homepage for kubo is: https://ipfs.io/
meta.changelog for kubo is: https://github.com/ipfs/kubo/releases/tag/v0.30.0
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS

[!CAUTION]
A test defined in passthru.tests did not pass.

found 0.30.0 with grep in /nix/store/1im16g1280cbxa8x5k5l8fc8c3afdhhz-kubo-0.30.0
found 0.30.0 in filename of file in /nix/store/1im16g1280cbxa8x5k5l8fc8c3afdhhz-kubo-0.30.0

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

4 package rebuild(s)

First fifty rebuilds by attrpath

kubo
python311Packages.ipwhl
python312Packages.ipwhl

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/1im16g1280cbxa8x5k5l8fc8c3afdhhz-kubo-0.30.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A kubo https://github.com/r-ryantm/nixpkgs/archive/cf25e2fd2c82d86f054be23f4f57ae05d38b1346.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/cf25e2fd2c82d86f054be23f4f57ae05d38b1346#kubo

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/1im16g1280cbxa8x5k5l8fc8c3afdhhz-kubo-0.30.0
ls -la /nix/store/1im16g1280cbxa8x5k5l8fc8c3afdhhz-kubo-0.30.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

7 packages built:

kubo
kubo.systemd_unit
kubo.systemd_unit_hardened
python311Packages.ipwhl
python311Packages.ipwhl.dist
python312Packages.ipwhl
python312Packages.ipwhl.dist

Maintainer pings
cc @Luflosi @fpletz for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

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

This PR must not be merged yet. I need to add the new migration first. I'll try to do so in the following days.

@Luflosi happy to help if needed, I'm not sure what should be done, but if you have an example of a commit adding such a migration I can start from there 🙂

I created #344265  to add the new migration. Even after that PR is merged, this PR should still not be merged, as I need to add the new WebRTC-Direct Transport in the NixOS module.

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/ipfs/kubo/releases.
meta.description for kubo is: IPFS implementation in Go
meta.homepage for kubo is: https://ipfs.io/
meta.changelog for kubo is: https://github.com/ipfs/kubo/releases/tag/v0.31.0
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS

[!CAUTION]
A test defined in passthru.tests did not pass.

found 0.31.0 with grep in /nix/store/mgp9312pms928k0xfsm2dcv591jkk96c-kubo-0.31.0
found 0.31.0 in filename of file in /nix/store/mgp9312pms928k0xfsm2dcv591jkk96c-kubo-0.31.0

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

4 package rebuild(s)

First fifty rebuilds by attrpath

kubo
python311Packages.ipwhl
python312Packages.ipwhl

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/mgp9312pms928k0xfsm2dcv591jkk96c-kubo-0.31.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A kubo https://github.com/r-ryantm/nixpkgs/archive/2c0a73550e1a8cc08c09ea126e817884782b588e.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/2c0a73550e1a8cc08c09ea126e817884782b588e#kubo

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/mgp9312pms928k0xfsm2dcv591jkk96c-kubo-0.31.0
ls -la /nix/store/mgp9312pms928k0xfsm2dcv591jkk96c-kubo-0.31.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review

x86_64-linux

:white_check_mark: 7 packages built:

kubo
kubo.systemd_unit
kubo.systemd_unit_hardened
python311Packages.ipwhl
python311Packages.ipwhl.dist
python312Packages.ipwhl
python312Packages.ipwhl.dist

Maintainer pings
cc @Luflosi @fpletz for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

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

I created #357960.


Currency on Recurring Donation is not in sync with currency on related Opportunities

Hub thread: https://powerofus.force.com/0D580000048d7HB
Confirmed in a scratch org - changing currency on parent recurring donation record from the corporate default does not change currency on open opportunities. Update does not fire in 'Refresh Opportunities' or scheduled job.

Linked to W-024076

Another Hub Thread.

Additional Details:
Steps to Reproduce:

Enable Multicurrency in an org. Add a second currency, such as CAD so that you know have two currencies (say USD and CAD).

Create a new Recurring Donation. Field don't matter with the exception of:

Select CAD as the Currency value
Amount: $1000

Note that the new child Donations are setup correctly as $1000 CAD and shows USD conversion.

Modify the Recurring Donation record to reflect USD currency and a new amount (say $5000) and save.

Expected Result: The child Opty donations (that are not in a Closed stage) will be recreated to reflect the updated Amount and Currency values.

Actual Result: The child Opty donations (that are not in a Closed stage) are recreated with the updated Amount value ($5000), but the Currency value remains the original value (in this case USD), which incorrectly reflects the USD currency conversion.

Workaround: Create a workflow or Process Builder to update the Child Opty Currency value with the value from the parent Recurring Donation.


chore(release): 1.10.0

[1.10.0] (2020-12-22)
Features

ComboBox component (#694) (824028a)
Use Node 14x (#729) (db7dc29)

Compare this diff https://github.com/trussworks/react-uswds/compare/1.9.3...main

closing to bring in new commits, including dependabot updates


Update openapi.yaml

Insert JIRA Issue number and update link
PR owner checklist
Please make sure that your PR meets the following requirements:

[ ] Your code is properly formatted according to this configuration.
Run mvn clean verify -DskipTests so that imports are correctly set.
[ ] Your commit messages are clear and reference the JIRA issue e.g: "[MGDOBR-1] - $clear_explanation_of_what_you_did"
[ ] All new functionality is tested
[ ] Pull Request title is properly formatted: MGDOBR-XYZ Subject
[ ] Pull Request contains link to the JIRA issue
[ ] Pull Request contains link to any dependent or related Pull Request
[ ] Pull Request contains description of the issue
[ ] Pull Request does not include fixes for issues other than the main ticket

PR reviewer(s) checklist

[ ] Check if code and Github action workflows have been modified and if the modification is safe
[ ] If the modification is safe, add the safe to test label

How to trigger pipelines and use the bots:

Run the end to end pipeline
Annotate the pull request with the label: safe to test. If you want to run the pipeline again, remove and add it again.

Rebase the pull request
Comment with: /rebase.

However.. please note the failure on this PR: https://github.com/5733d9e2be6485d52ffa08870cabdee0/sandbox/runs/5865084730?check_suite_focus=true (it's moaning the openapi.yaml file is wrong).


"Go someplace random" button

We've gotten a lot of requests for a button somewhere in the UI that will take someone to a random chat room (with at least one but no more than three people currently in it).
The main reason for this is lowering the "activation threshold" for shy people to join conversations.  Thus, the need for this may be a little less if we succeed in our other efforts to help such people (e.g., by creating a "listening mode" when entering chats).

+1
It'd be nice to have a 'chatroulette' like feature were you're coupled to 1-2 random people. I find the barrier quite high to join a coffee room -- 'all these famous & smart people must be having a very important conversation that I wouldn't want to interrupt'.

Want to help design it?  How should things flow, exactly?

I like the visible/public coffee rooms -- but I think this feature might help recreate some of the random encounters that you have in a coffee break at a physical conference.
I'd like to see a 'random' button that does one of two things:

create a new (private?) meeting room that is empty until more people join a random room;
or joins an existing (random?) coffee room with 1-2 people in it.

There are a few parameters to tweak here, which I can't quite predict how they'll work out.

Should you only join other random coffee rooms, or also the public ones? I found that the public coffee rooms filled up quickly and people are hesitant to start new ones. On the one hand, restricting the random coffee rooms to other random coffee rooms should help reduce congestion in the public rooms. On the other hand, if people get randomly assigned to a busy public room, that they wouldn't dare join themselves -- that's maybe not a bad thing.

Should random rooms be private? The drawback of having public rooms is that anyone can join, which can interrupt the flow of the conversation a bit. Making the random rooms private will (hopefully) lead to more in-depth uninterrupted interaction between unfamiliar people; making them public makes it easier for others to join. I really don't know what's best here. Perhaps make them public by default -- especially if the 'join with audio only' feature is implemented?

At ICFP this year, I often joined an empty coffee room to see who wanted to stop by. This worked well, but favoured people who already knew me and were happy to chat. This kind of feature might help form new connections.
Does this help?

I like the sound of this.  In particular, I had been thinking of this in terms of joining existing rooms; creating rooms on the fly sounds like a better plan!  Thanks for the input.

On Aug 31, 2020, at 3:38 AM, Wouter Swierstra<EMAIL_ADDRESS>wrote:
I like the visible/public coffee rooms -- but I think this feature might help recreate some of the random encounters that you have in a coffee break at a physical conference.
I'd like to see a 'random' button that does one of two things:
create a new (private?) meeting room that is empty until more people join a random room;
or joins an existing (random?) coffee room with 1-2 people in it.
There are a few parameters to tweak here, which I can't quite predict how they'll work out.
Should you only join other random coffee rooms, or also the public ones? I found that the public coffee rooms filled up quickly and people are hesitant to start new ones. On the one hand, restricting the random coffee rooms to other random coffee rooms should help reduce congestion in the public rooms. On the other hand, if people get randomly assigned to a busy public room, that they wouldn't dare join themselves -- that's maybe not a bad thing.
Should random rooms be private? The drawback of having public rooms is that anyone can join, which can interrupt the flow of the conversation a bit. Making the random rooms private will (hopefully) lead to more in-depth uninterrupted interaction between unfamiliar people; making them public makes it easier for others to join. I really don't know what's best here. Perhaps make them public by default -- especially if the 'join with audio only' feature is implemented?
At ICFP this year, I often joined an empty coffee room to see who wanted to stop by. This worked well, but favoured people who already knew me and were happy to chat. This kind of feature might help form new connections.
Does this help?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/clowdr-app/clowdr-web-app/issues/49#issuecomment-683619456, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABVQQC63RXPGHQ6SSO2QH3DSDNHRHANCNFSM4OZXN7NA.

Happy to help. And thank you (and the rest of the team) for all the time you've put into clowdr so far!

Refer to conversations with POPL + Crista's student's work on implementing a prototype of this for SPLASH.


MapView toScreen() issue

Hi Guys,
I'm seeing some weird behavior using MapView toScreen() function in 4.2
It works fine on initial draw of a graphic, but when you pan the map all the way around the globe back to the point then the returned x value is way out.
See this plunk for an example: https://plnkr.co/edit/OPQaau3ULeGlH469Jqpz
Hover over the graphic to see the toScreen values returned.
I've worked around it by adding this code to check if the map has been wrapped around using the worldScreenWidth property and adjusting the value, but I feel like toScreen should be returning the correct value all the time, regardless of whether the map has been wrapped around?
var sp = mapView.toScreen(<some web merc point>);
var wsw = mapView.state.worldScreenWidth;
//get a ratio to determine how many times the map has been wrapped around.
let ratio = parseInt((sp.x / wsw).toFixed(0));
if (sp.x < 0) {
   //x is less than 0. Adjust by the world screen width.
   sp.x += wsw * (ratio * -1);
}
else if (sp.x > wsw) {
   //x is too big, cater for it.
   sp.x -= wsw * (ratio);
}

This seems to work for web merc points,  using a geographic SR has a different set of issues I think.
Thanks,
Nick

Thanks for reporting this @nickcam . It's a bug with the JSAPI, even with the current version (4.5).


Update README for TP to provide steps for a valid installation on OCP

Ensure steps defined in the readme allow for a customer to be able to install the operator and securesign along with identifying which flags may be important to them when configuring securesign.

@Gregory-Pereira going to steal this

merged to main


Import std::string and std::to_string

Added "using std::string;" and "using std::to_string;"

@googlebot I signed it!

@googlebot I signed it!

We always qualify std:: types.

We always qualify std:: types.


[FEATURE] Order wins and losses in Stats page

@itsalaidbacklife let me know if tests need to be updated as well. Current test case:
 cy.get('[data-players-lost-to=Player3-week-total]').should(
      'contain',
      'Player1 (2), Player2 (2), Player4 (2), Player5 (1)'
    );

seems to be fine for the sorting of losses. And for the wins, there's just 1 win for this player in this test case.


XML mode doesn't highlight processing instructions

highlight.js does not highlight processing instructions in XML mode (except for the pseudo processing instruction <?xml ...?>)
I am using highlight.js 11.4.0 and the following HTML code:

<?ul4 langs(*names)?>
<?whitespace strip?>
<?doc Languages?>

	<?for n in names?>

			<?printx n?>

	<?end for?>

I include highlight.js like this (in the ):

I activate highlight.js by the following

The only highlighted parts in the result however are the start and end tags. None of the processing instructions get hightlighted:

For information about XML processing instructions see: https://www.w3.org/TR/REC-xml/#sec-pi

Looks kind of blah if one has tons of processing instructions.


Add an explanation on processId being problematic

See https://github.com/johnsoncodehk/volar/issues/706 and https://github.com/lspcontainers/dockerfiles/issues/53

Ping?

Thank you! I always try and keep on top of these but sometimes get busy. This looks great!

I know what it's like. Thanks!


Basic features

Microvers' JavaScript capstone project
This pull request contains the following features:

Shows listing from TV-MAZE API.
Ability to like a show.
Ability to comment on a show.
Shows counter displayed on the header.
Pop for the show.
Unit test.

description video here

Hi Team @teckim and @assadounto ,
STATUS: APPROVED! 🥇 💯

[ ]  This is actually one of the best project I have reviewed. Bravo!!!

    [

    ](https://camo.githubusercontent.com/9a1ff1ac1c31736bb2648bba672d41f069cdc47841099fdec9a4209321b37135/68747470733a2f2f6d656469612e67697068792e636f6d2f6d656469612f6c31756761384f6250426e49426f5855512f67697068792e676966)

        ![done](https://camo.githubusercontent.com/9a1ff1ac1c31736bb2648bba672d41f069cdc47841099fdec9a4209321b37135/68747470733a2f2f6d656469612e67697068792e636f6d2f6d656469612f6c31756761384f6250426e49426f5855512f67697068792e676966)

      [

      ](https://camo.githubusercontent.com/9a1ff1ac1c31736bb2648bba672d41f069cdc47841099fdec9a4209321b37135/68747470733a2f2f6d656469612e67697068792e636f6d2f6d656469612f6c31756761384f6250426e49426f5855512f67697068792e676966)

In my opinion, your project is ready for the presentation! There is nothing else to say other than... it's time to merge it :shipit:
Good luck! 🎉
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.

Thank you @VICTOR-CHUKWU, you are the best reviewer ever 🥇


Transcript level quantification?

Hi team,
very nice work! I noticed that the tutorial was made to generate gene-level quantification (https://combine-lab.github.io/alevin-fry-tutorials/2021/improving-txome-specificity/). Can I use alevin-fry to get transcript-level count for each single cell?
Thanks for developing the tool!

Hi @zhanglab2008,
Sorry to have missed this for so long!
In general, transcript-level analysis is highly unreliable with tagged-end single-cell sequencing data.  This is because the vast majority of sequencing reads are drawn from close to the 3' end of the underlying transcripts, meaning that reads usually derive from the final or penultimate exon in a transcript (or an intervening intron), and the resulting reads are therefore usually ambiguous as to their transcript of origin within a gene.  This is in contrast to bulk RNA-seq where reads are drawn from all along a transcript's body.  In the bulk context, it is therefore often very effective to use an inference algorithm to infer the assignment of ambiguous reads from reads that can be uniquely assigned to a transcript, considering also the expected distribution of reads across the transcripts' bodies.  However, such methods are (currently) much less effective in the tagged-end context.
It is certainly possible to "trick" tools into doing a transcript-level analysis.  This can be done by providing a "transcript-to-gene" map to alevin-fry that simply maps each relevant transcript to itself.  The mapping is how alevin-fry determines which input alignments (which are performed with respect to the index which is almost always over transcripts) should be aggregated and assumed to derive from the same gene.  Those aggregated alignments are then used for e.g. for UMI deduplication.  If one instead provides a mapping that performs no aggregation — every input transcript is mapped to itself rather than a gene feature — the subsequent processing will take place a the transcript level.  Of course, due to the caveats mentioned above, this should be done with appropriate caution of the limitations it raises.
Anyway, sorry again for the long delay in replying, and feel free to reach out if you have further questions.
Best,
Rob


Implementation of ._get_code method for ODESystem class

Method is to implement in solvers.linear.py module within ODESystem class.

Call Code:
from dynpy.solvers.linear import *
ODESystem._get_code()


Support for Snowflake Connector

Snowflake is Cloud-based data warehousing service for structured and semi-structured data (9# position according to https://db-engines.com/en/ranking/relational+dbms)
Would you please consider adding support for https://pypi.org/project/snowflake-connector-python/

Hi @njdub,
We are not prioritizing adding new instrumentation support to this SDK at this time, but I would recommend opening this request in the OpenTelemetry Python repo: https://github.com/open-telemetry/opentelemetry-python-contrib
X-Ray has first class support for Otel python through the AWS Distro for OpenTelemetry: https://aws-otel.github.io/docs/getting-started/python-sdk

@willarmiros Got it, Thank you!
I've created request in https://github.com/open-telemetry/opentelemetry-python-contrib/issues/948


Fix redirection from home page to overview page, while user is not sign/in or sign/up

As non-logged-in user
I can't sign-in/sign-up
Because of redirection to the overview page

The issue was already fixed by Fauzia on another ticket.


Adjust account storage location

Hi,
according to the documentation the accounts file is saved to %LOCALAPPDATA% in an encrypted manner.
What I'm wondering: why is it local appdata? Is there a way to change it to just %APPDATA% in order to work with roaming profiles? Either by migrating the location for everybody in general or by providing an option for this.
The reason I'm asking: I'm working in an environment where we have roaming profiles to work from different workplaces. As of now, I have two options: either copy the settings to the new machine manually or, if I forget to do that, I have two re-add my cloud provider. If it went into the normal %APPDATA% folder, it would move to every new workstation automatically with no need of manual adjustments.
From my perspective, I don't see any negative effects on other users or use cases:

Security isn't compromised as still only the logged in user can decrypt the file.
For people in a "normal" non-roaming environment, it works still just as well.

Could you please consider moving the location of the settings file? Or at least provide an option to override it manually?
Thanks in advance. :)

I will take a look at this.
mh166<EMAIL_ADDRESS>schrieb am Mo., 30. Okt. 2017, 10:41:

Hi,
according to the documentation
https://github.com/Kyrodan/KeeAnywhere/wiki/Advanced-Topics#which-account-storage-location-should-i-choose
the accounts file is saved to %LOCALAPPDATA% in an encrypted manner.
What I'm wondering: why is it local appdata? Is there a way to change
it to just %APPDATA% in order to work with roaming profiles? Either by
migrating the location for everybody in general or by providing an option
for this.
The reason I'm asking: I'm working in an environment where we have roaming
profiles to work from different workplaces. As of now, I have two options:
either copy the settings to the new machine manually or, if I forget to do
that, I have two re-add my cloud provider. If it went into the normal
%APPDATA% folder, it would move to every new workstation automatically
with no need of manual adjustments.
From my perspective, I don't see any negative effects on other users or
use cases:

Security isn't compromised as still only the logged in user can
decrypt the file.
For people in a "normal" non-roaming environment, it works still
just as well.

Could you please consider moving the location of the settings file? Or at
least provide an option to override it manually?
Thanks in advance. :)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Kyrodan/KeeAnywhere/issues/113, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAVraqvOxyvAuIYv7Fo9-HUeP17g0vO5ks5sxZmmgaJpZM4QK5sX
.

Released in v1.5.0


implemented styling on nodes

Description

Implements Node and Edge Type to add appropriate styling to LinktaFlow components
Fixes # (issue)
#352
Type of change

[ ]  🐛 Bug fix (non-breaking change which fixes an issue)
[x] ✨  New feature (non-breaking change which adds functionality)
[ ] 💥 Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] 📝 Documentation update
[ ] Other 🗒 ______________

How Can this be tested? Testing Plan to review this PR

[x] Where in the app does this change take place?
[x] What are the steps to test this change?
[x] What is the expected output?

Change is in adding type to each flow component (node and edge). In order to test this change, create a new flow and ensure styling is visible. Make changes within LinktaNode.tsx in order to ensure styling is updated within the displayed LinktaFlow. Styling should match changes made
Checklist:

[x] I have performed a self-review of my own code.
[x] I have commented on my code, particularly in hard-to-understand areas.
[ ] I have made corresponding changes to the documentation.
[x] My changes generate no new warnings.
[ ] Any dependent changes have been merged and published in downstream modules.
[x] I have reviewed the Security Best Practices Document.
[x] I have followed the Naming Conventions Guide for my changes.
[x] I have ensured that my pull request title is descriptive.

Additional Information:

Closing due to inactivity.


how to clear the custom fields

Hi.
I started use OrientDB 2.2.6
but I can't clear custom fields
for it I use command "alter class myClass custom clear"
this command worked in OrientDB 2.1.19

Hi @Ivanov-Yuriy
It seems to be a regression, I'll fix it in short
Thanks
Luigi

command "custom clear" works in properties
"alter property test.myProp custom clear" // OK

Hi @Ivanov-Yuriy
I just pushed a fix on 2.2.x
Thanks
Luigi


form label { width: 15% } is a bad default

See:

https://github.com/simonw/datasette-edit-schema/issues/36
https://github.com/simonw/datasette-auth-tokens/issues/12

https://github.com/simonw/datasette/blob/64fd1d788eeed2624f107ac699f2370590ae1aa3/datasette/static/app.css#L485-L489

That should be scoped just to the query filters form on the table page.
I'll fix it in main but I'm still going to ship a fix for those plugins separately so they work well before people upgrade to the next Datasette release with this change in it.

Looks like that affects a few forms:

The search form on the table page over-rides it already:

I added outline: 3px dotted pink to that form label block to help spot where else it's being used.
Oh interesting, looks like it's over-ridden here too:


error when trying to update from ps<IP_ADDRESS> to ps <IP_ADDRESS>

error when trying to update from ps<IP_ADDRESS> to ps <IP_ADDRESS>
autoupgrade-v4.0.0-beta.5
Unable to guess the mime type as no guessers are available (Did you enable the php_fileinfo extension?)
Thanks

Hi @aixos
Did you enable the file info extension?

On what step did you encounter this issue?

BTW, fileinfo is a mandatory PHP extension to run PrestaShop, @aixos shouldn't be able to upgrade your shop if he didn't enable it.

Ok . the hosting have php_fileinfo, run ok with autoupgrade-v4.0.0 estable
thanks

Hi @aixos,
If the upgrade went well with the stable version, can we close this issue?

sorry
Yes, with the stable version works fine
you can close this thread
thank so  much

Thanks for your feedback. :)


Some exceptions encountered using mlx.core.dequantize

Describe the bug
Problem1:
When I use mlx.core.dequantize, I cannot adjust the appropriate scales and biases based on the documentation and error information. When I use the following code, I don't know how to adjust my scales and biases to match the default group_size and bits.
import mlx.core as mx

quantized_w = mx.array([[1, 2], [3, 4]],dtype=mx.uint32)
scales = mx.array([[0.5, 0.5], [0.5, 0.5]])
biases = mx.array([[1.0, 1.0], [1.0, 1.0]])

group_size = 64
bits = 4

dequantized = mx.dequantize(quantized_w,
                            scales,
                            biases,
                            group_size=group_size,
                            bits=bits)
print(dequantized)

Problem2:
When I try to adjust my group_size and bits, I set them both to 0, and when I run the code, I don't get a return value, I don't have any crash, I just keep executing, which I think is probably a bug.
import mlx.core as mx

quantized_w = mx.array([[1, 2], [3, 4]],dtype=mx.uint32)
scales = mx.array([[0.5, 0.5], [0.5, 0.5]])
biases = mx.array([[1.0, 1.0], [1.0, 1.0]])

group_size = 0
bits = 0

dequantized = mx.dequantize(quantized_w,
                            scales,
                            biases,
                            group_size=group_size,
                            bits=bits)
print(dequantized)

Problem3:
In the mlx official documentation for this API, there is a latex text problem with the formula.

Desktop (please complete the following information):

OS Version:  MacOS 14.2.1
Version 0.10.0

Thanks for finding this.
The first one is not a bug, the error message maybe should be better but basically we require that w is at least divisible by the group_size which in this case it isn't. Also we require that w is actually 32 * packing_factor but I don't think we check this during dequantize and quantize, only during matmul (I 'd have to check to make sure).
The second is obviously a bug, it doesn't make sense to have 0s in either of these values, we should throw a proper error message.

Thanks for your reply Angelos! May I take the liberty of asking how I should modify my first piece of code to make it work? @angeloskath

I tried to adjust my parameter input in various ways, but I still couldn't get it to work properly. 🤕

The doc looks ok to me:

A good way to get a valid input for dequantize is to use quantize :)
>>> a = mx.zeros((256, 256))
>>> a,w,b = mx.quantize(a, 32, 4)
>>> mx.dequantize(a, w, b, 32, 4).shape
[256, 256]

Sorry, it could be a browser problem, thanks for replying, problem2 could be listed as a bug? @awni

Yes that is a bug, the fix is in #560


The command "curve_ops_tool status" not working when deploy curvebs without snapshotclone service

root@curvebs-mds:/curvebs/mds# curve_ops_tool status
Split snapshot clone server address fail!
Init snapshotClient failed!
Init StatusTool failed

root@curvebs-mds:/curvebs/mds# curve_ops_tool status Split snapshot clone server address fail! Init snapshotClient failed! Init StatusTool failed

Yep, it is a bug, we will fix it in the v0.0.27.


[Issue #206] - Prevent printing of logs in the status command

Addresses #206, regression in 2.0 since it breaks the documented behavior. This is rather a workaround to prevent printing of log messages in CLI with the default logging level.

[x] Reduce CLI logging verbosity to Info
[x] Move the messages polluting the output to Debug. Anyway, these logging levels seem to be reasonable.
[x] Add Info logging for start/stop/install/restart commands to have a welcome message in CLI

I do not consider it as final fix. Ideally WinSW startup logic should determine commands like status and disable console log appender for them at all. It requires extra changes in the code.
@reviewbybees @Digital-Chaos

This pull request originates from a CloudBees employee. At CloudBees, we require that all pull requests be reviewed by other CloudBees employees before we seek to have the change accepted. If you want to learn more about our process please see this explanation.

@reviewbybees done


Improve logging and error reporting in Licensify deploy job.

good work!

Thanks! :)
Tested in Integration just now (for the record).


Cannot access without adding clusterid

What happened:
I set up three clusters:  broker, c1, and c2, all of them has only master node. After that, i use subctl join --kubeconfig ./config/c2.yaml broker-info.subm --clusterid c2 --natt=false make c2 a member .

In c1, I use subctl export service --namespace sample whereami-cs  exported the service whereami-cs which in the namespace sample. In c2, I couldn't access it use curl whereami-cs.sample.svc.clusterset.local, but when i use curl c1.whereami-cs.sample.svc.clusterset.local, it worked.
Client pod info:
kubectl run client --image=cr7258/nettool:v1
all test curl command exec in pod client.
info:
use c1.whereami-cs.sample.svc.clusterset.local

use whereami-cs.sample.svc.clusterset.local

test-submariner.yaml
`
apiVersion: apps/v1
kind: Deployment
metadata:
name: whereami
namespace: sample
spec:
replicas: 1
selector:
matchLabels:
app: whereami
template:
metadata:
labels:
app: whereami
spec:
containers:
- name: whereami
image: cr7258/whereami:v1
imagePullPolicy: IfNotPresent
ports:
- containerPort: 80
env:
- name: NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: NODE_NAME
valueFrom:
fieldRef:
fieldPath: spec.nodeName
- name: POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: POD_IP
valueFrom:
fieldRef:
fieldPath: status.podIP
apiVersion: v1
kind: Service
metadata:
name: whereami-cs
namespace: sample
spec:
selector:
app: whereami
ports:
`
What you expected to happen:
use  curl whereami-cs.sample.svc.clusterset.local successful.
How to reproduce it (as minimally and precisely as possible):
Install broker first(will as broker role)
subctl join --kubeconfig ./config/c1.yaml broker-info.subm --clusterid c1 --natt=false
subctl join --kubeconfig ./config/c2.yaml broker-info.subm --clusterid c2 --natt=false
Anything else we need to know?:
what should i do to access "whereami-cs.sample.svc.clusterset.local" successfully in cluster c2.
when use nslookup:

complement:
i change test client from cr7258/nettool:v1 to alpine3.19 , use nslookup successful, but curl failed.
like follow:

I'm new to k8s and submariner, need some help.
Environment:

k3s: v1.27.2+k3s1
subctl: v0.13.0
docker: 20.10.9

Thanks for trying Submariner @trumpzhang ,
Please share the output of [1] from both clusters
[1]
`subctl show all
subctl diagnose all
`

Thanks for trying Submariner @trumpzhang ,
Please share the output of [1] from both clusters
[1] `subctl show all
subctl diagnose all `

thanks your reply. Query result like below:

broker
subctl show all

subctl diagnose all

c1
subctl --kubeconfig ./config/c1.yaml show all

subctl --kubeconfig ./config/c1.yaml diagnose all

c2
subctl --kubeconfig ./config/c2.yaml show all

subctl --kubeconfig ./config/c2.yaml diagnose all

By the way, I change test client from cr7258/nettool:v1 to alpine:3.19.
In pod alpine:
[root@192 karmada]# kubectl  exec -it alpine-deployment-85cd8fcdcb-j688t sh
kubectl exec [POD] [COMMAND] is DEPRECATED and will be removed in a future version. Use kubectl kubectl exec [POD] -- [COMMAND] instead.
/ #
/ # nslookup whereami-cs.sample.svc.clusterset.local
Server:         <IP_ADDRESS>
Address:        <IP_ADDRESS>:53

Name:   whereami-cs.sample.svc.clusterset.local
Address: <IP_ADDRESS>

/ # curl <IP_ADDRESS>
{
  "dest_ip": "<IP_ADDRESS>",
  "dest_port": 80,
  "http_headers": {
    "Accept": [
      "*/*"
    ],
    "User-Agent": [
      "curl/8.9.1"
    ]
  },
  "namespace": "sample",
  "node_name": "<IP_ADDRESS>-master",
  "pod_name": "whereami-58b45d7dbf-csxhc",
  "source_ip": "<IP_ADDRESS>",
  "source_port": 36228,
  "timestamp": "2024-09-24T10:12:12Z"
}/ #
/ # curl whereami-cs.sample.svc.clusterset.local
curl: (52) Empty reply from server
/ # curl whereami-cs.sample.svc.clusterset.local -v
* Host whereami-cs.sample.svc.clusterset.local:80 was resolved.
* IPv6: (none)
* IPv4: <IP_ADDRESS>
*   Trying <IP_ADDRESS>:80...
* Connected to whereami-cs.sample.svc.clusterset.local (<IP_ADDRESS>) port 80
> GET / HTTP/1.1
> Host: whereami-cs.sample.svc.clusterset.local
> User-Agent: curl/8.9.1
> Accept: */*
>
* Request completely sent off
* Empty reply from server
* shutting down connection #0
curl: (52) Empty reply from server

# when use c1.whereami-cs.sample.svc.clusterset.local
/ # nslookup c1.whereami-cs.sample.svc.clusterset.local
Server:         <IP_ADDRESS>
Address:        <IP_ADDRESS>:53

Name:   c1.whereami-cs.sample.svc.clusterset.local
Address: <IP_ADDRESS>

/ #
/ # curl c1.whereami-cs.sample.svc.clusterset.local -v
* Host c1.whereami-cs.sample.svc.clusterset.local:80 was resolved.
* IPv6: (none)
* IPv4: <IP_ADDRESS>
*   Trying <IP_ADDRESS>:80...
* Connected to c1.whereami-cs.sample.svc.clusterset.local (<IP_ADDRESS>) port 80
> GET / HTTP/1.1
> Host: c1.whereami-cs.sample.svc.clusterset.local
> User-Agent: curl/8.9.1
> Accept: */*
>
* Request completely sent off
< HTTP/1.1 200 OK
< Content-Type: application/json
< Date: Tue, 24 Sep 2024 10:14:14 GMT
< Content-Length: 353
<
{
  "dest_ip": "<IP_ADDRESS>",
  "dest_port": 80,
  "http_headers": {
    "Accept": [
      "*/*"
    ],
    "User-Agent": [
      "curl/8.9.1"
    ]
  },
  "namespace": "sample",
  "node_name": "<IP_ADDRESS>-master",
  "pod_name": "whereami-58b45d7dbf-csxhc",
  "source_ip": "<IP_ADDRESS>",
  "source_port": 37314,
  "timestamp": "2024-09-24T10:14:14Z"
* Connection #0 to host c1.whereami-cs.sample.svc.clusterset.local left intact

As above show, access cluster c1 svc ip <IP_ADDRESS> in c2 is ok. But access svc domain is failed.  nslookup whereami-cs.sample.svc.clusterset.local show that Address is <IP_ADDRESS>, but when i curl -v, it shows:
/ # curl whereami-cs.sample.svc.clusterset.local -v

Host whereami-cs.sample.svc.clusterset.local:80 was resolved.
IPv6: (none)
IPv4: <IP_ADDRESS>
why the "IPv4" is not "<IP_ADDRESS>" but "<IP_ADDRESS>". Maybe my Virtual Host has some err config? I use centos7.x.

I updated c2 Host Node 's /etc/resolv.conf.
Added submariner-lighthouse-coredns ClusterIP "<IP_ADDRESS>" to Host Node 's /etc/resolv.conf
[root@192 submariner]# kubectl get svc -A|grep <IP_ADDRESS>
submariner-operator   submariner-lighthouse-coredns           ClusterIP      <IP_ADDRESS>    <none>           53/UDP                       168m

[root@192 submariner]# cat /etc/resolv.conf
# submariner-lighthouse-coredns
nameserver <IP_ADDRESS>
nameserver <IP_ADDRESS>
nameserver <IP_ADDRESS>

Then, try curl in Host, it worked. Like :
[root@192 submariner]# curl whereami-cs.sample.svc.clusterset.local
{
  "dest_ip": "<IP_ADDRESS>",
  "dest_port": 80,
  "http_headers": {
    "Accept": [
      "*/*"
    ],
    "User-Agent": [
      "curl/7.29.0"
    ]
  },
  "namespace": "sample",
  "node_name": "<IP_ADDRESS>-master",
  "pod_name": "whereami-58b45d7dbf-csxhc",
  "source_ip": "<IP_ADDRESS>",
  "source_port": 32892,
  "timestamp": "2024-09-24T10:51:17Z"
}

In test pod , use try, it still not worked.
/ # curl whereami-cs.sample.svc.clusterset.local
curl: (52) Empty reply from server
/ #
/ # curl whereami-cs.sample.svc.clusterset.local -v
* Host whereami-cs.sample.svc.clusterset.local:80 was resolved.
* IPv6: (none)
* IPv4: <IP_ADDRESS>
*   Trying <IP_ADDRESS>:80...
* Connected to whereami-cs.sample.svc.clusterset.local (<IP_ADDRESS>) port 80
> GET / HTTP/1.1
> Host: whereami-cs.sample.svc.clusterset.local
> User-Agent: curl/8.9.1
> Accept: */*
>
* Request completely sent off
* Empty reply from server
* shutting down connection #0
curl: (52) Empty reply from server
/ #
/ # cat /etc/resolv.conf
nameserver <IP_ADDRESS>
search default.svc.cluster.local svc.cluster.local cluster.local localdomain
options ndots:5
/ #

First of all, seems that you are using an older version (0.13) of Submariner, please reinstall Submariner using latest subctl (0.18), check [1] for more details.
Post deployment, you can use subctl  automatic verification for testing inter-cluster service discovery functionality.
[1]
https://submariner.io/operations/deployment/subctl/#installation

@yboaron
Thanks for your reply. I find the problem and fix it up.
A few days ago, I installed app named "Clash Verge" which is a proxy software. For convenience, I turned on its Tun mode, which caused requests from pods in my virtual machine to not be resolved correctly. Because I found that the curl public domain name in the pod was unresponsive, but the curl public domain name on the host was good. When I turned off Tun mode, everything worked normally.

@trumpzhang Glad things are working. Closing this for now, feel free to open something else if you have more questions.


React: Unhandled Rejection (TypeError): PromiseReject called on non-object

When initializing the client in a react project I'm unable to gracefully catch/handle the error if a connection the the API endpoint fails.
To reproduce this error using your example script, try adding the api parameter to init, using some unresponsive URL. ie:
componentWillMount() {
     const { handleFlags, handleFlagsError } = this;
     flagsmith.init({
       api: 'http://notavalidurl.com',
       environmentID,
       ...
    });
...

The unhnadled rejection bubbles to the top and I can't seem to catch it. I've tried adding the onError callback handler to init, as well as adding a .catch() after the init call, but nothing wants to catch this exception.

I don't know if this is related, but I get PromiseResolve called on non-object in the onError callback. I initialize flagsmith outside of react.
flagsmith.init({
  environmentID: process.env.REACT_APP_FLAGSMITH_ENVIRONMENT_KEY,
  cacheFlags: true, // stores flags in localStorage cache
  enableAnalytics: true, // See https://docs.flagsmith.com/flag-analytics/ for more info
  onChange: async (oldFlags, params) => {
    const event = new CustomEvent("onlycreators/featureflags", {
      detail: {
        oldFlags,
        params,
      },
    });

    window.dispatchEvent(event);
  },
  onError: (e) => {
    console.log("error", e);
  },
});

Resolved in<EMAIL_ADDRESS>and<EMAIL_ADDRESS>🚀  Via https://github.com/Flagsmith/flagsmith-js-client/pull/99


Upgrade from 1.10.1 to 1.10.3 with Azure IPAM fails

We have Cilium 1.10.1 deployed on an AKS cluster using the Azure IPAM configuration. When trying to upgrade from 1.10.1 to 1.10.3 the new Cilium agent pods don't get ready.
They continuously output the following log messages:
2021-08-03T13:59:16.389218698Z level=info msg="Waiting for IPs to become available in CRD-backed allocation pool" available=31 helpMessage="Check if cilium-operator pod is running and does not have any warnings or error messages." name=aks-sys-13759587-vmss000005 required=8 subsys=ipam
2021-08-03T13:59:21.390186904Z level=info msg="Waiting for IPs to become available in CRD-backed allocation pool" available=31 helpMessage="Check if cilium-operator pod is running and does not have any warnings or error messages." name=aks-sys-13759587-vmss000005 required=8 subsys=ipam
2021-08-03T13:59:26.391377776Z level=info msg="Waiting for IPs to become available in CRD-backed allocation pool" available=31 helpMessage="Check if cilium-operator pod is running and does not have any warnings or error messages." name=aks-sys-13759587-vmss000005 required=8 subsys=ipam

The operator seems fine (as far I can tell) and doesn't output any errors. I've attached the logs of the operator and one of the agents below.
If I understand the code change PR #16696 correctly, it seems that the agent waits for a CIDR attribute in the CiliumNode below status.azure.interfaces, but that CIDR attribute never appears (waited about 20 mins), so the agent loops continuously waiting for it, and doesn't get ready.
agent.log
operator.log
How to reproduce the issue

Deploy a AKS Cluster with Cilium 1.10.1 and Azure IPAM
Upgrade Cluster to Cilium 1.10.3

hello @csomm thanks for filling out this issue. Could you provide us with a system dump of the cluster as well as the exact steps that you have used to upgrade Cilium from 1.10.1 to 1.10.3?

@csomm Also what role permissions does your Azure service principal have?

This issue has not seen any activity since it was marked stale. Closing. Feel free to re-open a new issue if it is still persisting. Thank you.


Make BBS and BBS+ parameters independent from underlying architecture

Thank you for publishing such an impressive library!
I've observed that when generating BBS(+) parameters h_i, even with the same label and message_count, the resultant h_i values can differ based on the execution environment: 32-bit (e.g., wasm32) versus 64-bit. This discrepancy seems to stem from the usize type of the parameter i, which varies depending on the environment. To illustrate, in a 32-bit setting, h_1 might be generated as H("label : h_0001 0000 0000 0000"), while in a 64-bit context, it could be H("label : h_0001 0000 0000 0000 0000 0000 0000 0000"). This leads to distinct h_1 values for identical label and message_count.
In this PR, I suggest a straightforward remedy: casting i to u64 just before calculating h_i. I would greatly appreciate your review on this as this could introduce a breaking change for 32-bit environments.

Excellent catch! Thank you for pointing this out.
Can you please change the cast to u32 rather than u64? This is to prevent breaking the downstream JS libs (using it through WASM). Also the max value of u32 is a reasonable upper bound on the number of generators.
We use this pattern (concatenating a counter with a fixed label) at a few more places in the code like this. Will be fixed.

Yes, I have no objections to aligning with u32 instead of u64. I understand that this still introduce a breaking change for 64-bit users, but I assume it's more acceptable than the impact on JS/WASM users.

Yes. Thanks for the change.

@lovesh In this fix, we simply truncated the MSBs using as u32 for casting, which means that if a message_count greater than $2^{32}$ is provided, repetitions will occur in the generator sequence. Specifically, $h_i$ and $h_{2^{32}+i}$ would be the same, resulting in an invalid BBS(+) generator.
However, a message_count greater than $2^{32}$ requires approximately 618GB of memory; so in most practical environments, the operation would stop at Vec::with_capacity(), making this a non-issue. Still, I thought it prudent to note this potential pitfall.
If we fix this, I think we can redefine message_count parameter as u32 (which makes impacts ) or use .try_into() instead of as u32 (with appropriate error handling, including change new's output to Result<_, _> .

@yamdan  Yes. We will make this change along with some other changes to keep these architecture-independent. Thanks.


FreezePanes and UnFreezePanes breaks when we have more than one window of the same application open

https://github.com/VirtualActuary/MiscVBAFunctions/blob/37588420504c4fe4e7509b73144fecbbf2f78335/MiscVBAFunctions/Modules/MiscFreezePanes.bas#L26
The window that should be opened is then WS.Parent.Name & "  -  1"

We need a helper function like this:
Private Function getWorkbookWindow(WorkbookName As String) As Window
    On Error GoTo TryWindows
    Set getWorkbookWindow = Application.Windows(WorkbookName)
    Exit Function

TryWindows:
    ' use the first window from the multiple windows:
    Set getWorkbookWindow = Application.Windows(WorkbookName & "  -  1")
End Function


Merge pull request #1 from talkpython/master

Update README.md

Hey @mistwire what did you want to update?

Hi Bob!
Sorry about that! I cloned the wrong repo 😅
Please ignore.
Regards,
Chris Williams
[image: https://aws.amazon.com/developer/community/heroes/chris-williams/]
https://aws.amazon.com/developer/community/heroes/chris-williams/
mistwire.com
On Thu, Sep 28, 2023 at 2:32 PM Bob Belderbos @.***>
wrote:

Hey @mistwire https://github.com/mistwire what did you want to update?
—
Reply to this email directly, view it on GitHub
https://github.com/talkpython/100daysofcode-with-python-course/pull/62#issuecomment-1739820092,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEB5C5UPPCUL2BJJTGPP4WLX4W7DDANCNFSM6AAAAAA5LHBQ6Q
.
You are receiving this because you were mentioned.Message ID:
@.***
com>

Nws :)


Allow more than one Reply-To contact in order to be compliant with the Mail RFC

Feature description
According to the RFC 2822 the reply-to field can occur multiple times.
The EmailBuilder doesn't allow you to specify more than on reply-to contact.
    @Override
    @NonNull
    public Message compose(@NonNull Email email,
                           @NonNull Session session) throws MessagingException {
        MimeMessage message = new MimeMessage(session);
        message.setSubject(email.getSubject(), "UTF-8");
        message.setFrom(contactToAddress(email.getFrom()));
        if (CollectionUtils.isNotEmpty(email.getTo())) {
            message.setRecipients(Message.RecipientType.TO, contactAddresses(email.getTo()));
        }
        if (CollectionUtils.isNotEmpty(email.getCc())) {
            message.setRecipients(Message.RecipientType.CC, contactAddresses(email.getCc()));
        }
        if (CollectionUtils.isNotEmpty(email.getBcc())) {
            message.setRecipients(Message.RecipientType.BCC, contactAddresses(email.getBcc()));
        }
        if (null != email.getReplyTo()) {
           // make getReplyTo() a collection
            message.setReplyTo(contactAddresses(Stream.of(email.getReplyTo()).collect(Collectors.toList())));
        }

        MimeMultipart multipart = new MimeMultipart();

        Body body = email.getBody();
        if (body != null) {
            multipart.addBodyPart(bodyPart(body));
        }
        for (MimeBodyPart bodyPart : attachmentBodyParts(email)) {
            multipart.addBodyPart(bodyPart);
        }
        message.setContent(multipart);
        return message;
    }

@guillermocalvo read the RFC and verify what @saw303 is telling us which replyTo should allow multiple contacts.
Then, support this is a non breaking way.

@saw303 thanks for reporting


Invoke-WebRequest does not handle Redirect correctly in some situations.

I would like to retrieve the content of a web page using Invoke-WebRequest.
For a particular URL that contains a redirection, Windows PowerShell 5.1 can retrieve the web content, but PowerShell 7.1.1 throws an exception.
I have tried the -MaximumRedirection parameter and try-catch, but with no good results.
How can I get the same results as in Windows PowerShell 5.1?
Steps to reproduce
In PowerShell 7.1.1, These commands does not return the content of the web page.
Invoke-WebRequest 'https://welcome.opendns.com/'
Invoke-WebRequest 'https://welcome.opendns.com/' -MaximumRedirection 100
try{ Invoke-WebRequest 'https://welcome.opendns.com/' }catch{ $_.Exception.Response }

In Windows PowerShell 5.1, The command returns HTTP 200 response and the content of the page.
Invoke-WebRequest 'https://welcome.opendns.com/'

Expect behavior
PS C:\> Invoke-WebRequest 'https://welcome.opendns.com/'

StatusCode        : 200
StatusDescription : OK
Content           : <!DOCTYPE html>
                    <html lang="en-US" prefix="og: http://ogp.me/ns#" class="">

                    <head>
                        <meta http-equiv="content-type" content="text/html; charset=UTF-8" />
                        <meta name="viewport" content="width=d...
---- (ellipsis) ----
ParsedHtml        : mshtml.HTMLDocumentClass
RawContentLength  : 28582

Actual behaivor
PS C:\> Invoke-WebRequest 'https://welcome.opendns.com/'
Invoke-WebRequest:
302 Found
302 Found
nginx/1.16.0

PS C:\> try{ Invoke-WebRequest 'https://welcome.opendns.com/' }catch{ $_.Exception.Response }

Version             : 1.1
Content             : System.Net.Http.HttpConnectionResponseContent
StatusCode          : Redirect
ReasonPhrase        : Moved Temporarily
Headers             : {[Server, System.String[]], [Date, System.String[]], [Connection, System.String[]], [Location, System.String[]]…}
TrailingHeaders     : {}
RequestMessage      : Method: GET, RequestUri: 'https://welcome.opendns.com/', Version: 1.1, Content: System.Net.Http.StringContent, Headers:
                      {
                        User-Agent: Mozilla/5.0
                        User-Agent: (Windows NT 10.0; Microsoft Windows 10.0.19042; ja-JP)
                        User-Agent: PowerShell/7.1.1
                        Content-Length: 0
                      }
IsSuccessStatusCode : False

My Workaround
My current workaround is to run Invoke-WebRequest recursively until I get HTTP 200. However, this method is not too beautiful.

$URL = [Uri]'https://welcome.opendns.com/'
$sb = { param($p1) try { Invoke-WebRequest $p1 }catch { $_.Exception.Response } }

$Response = $null
do {
    $Response = Invoke-Command -ScriptBlock $sb -ArgumentList $URL
    if ($Response.StatusCode -ne 200 -and $Response.Headers.Location) {
        $URL = $Response.Headers.Location
        continue
    }
    else {
        Write-Output $Response
        break
    }
} while ($true)

Um, sorry.
I went back through the list of Issues quite a bit and found that this is a duplicate of #2896.
This issue has been discussed for quite some time, but does not seem to have been addressed. I hope it will be addressed as soon as possible.


[DOCS] add poetry installation instructions for Teams SDK

Docs improvement to add instructions for installing Teams SDK with poetry rather than straightforward pip.
Looks like this when generated.

Warning: Found deprecated key 'default' or 'secondary' in pyproject.toml configuration for source fiftyone-teams. Please provide the key 'priority' instead. Accepted values are: 'default', 'primary', 'secondary', 'supplemental', 'explicit'.
[[tool.poetry.source]]
name = "fiftyone-teams"
url = "https://pypi.fiftyone.ai/simple/"
default = false
explicit = true

should be
[[tool.poetry.source]]
name = "fiftyone-teams"
url = "https://pypi.fiftyone.ai/simple/"
priority = "explicit"

@spacepirate0001 thanks! Sorry, the image in this PR (and that I sent to you) was not up to date with the content of the branch. We decided to just remove those lines since it will look different depending on 1.4 or 1.5+.
Really, the important part is the poetry source add ... , since that will edit the pyproject.toml for you.

I think it's useful to have the exact text though, I'm gonna add it back in along with that note about kaleido


What is https://huggingface.co/datasets/daishen/legal-cfm after all?

There is little information about the provenance of this dataset..

Thanks for your attention. The legal_cfm is our private dataset, and there is still some data anonymization work that is not complete (this problem may also exist in other data sets), so it has not been released yet. We will publish all the datasets used for the evaluation benchmark and more detailed information before January 15th.

There is little information about the provenance of this dataset..

In addition, you can find the name of the original source in the Main Dataset of the table in the Dataset section.

There is little information about the provenance of this dataset..

In addition, you can find the name of the original source in the Main Dataset of the table in the Dataset section.

Thanks, but I still cannot find any specifications for the data source.

There is little information about the provenance of this dataset..

In addition, you can find the name of the original source in the Main Dataset of the table in the Dataset section.

Thanks, but I still cannot find any specifications for the data source.

You can directly use the query of the dataset to test the model and then submit the results to us for scoring.

There is little information about the provenance of this dataset..

In addition, you can find the name of the original source in the Main Dataset of the table in the Dataset section.

Thanks, but I still cannot find any specifications for the data source.

You can directly use the query of the dataset to test the model and then submit the results to us for scoring.

Thanks, I am more interested in the provenance of the benchmark dataset. Maybe you can tell me a bit how you formulate this dataset.

There is little information about the provenance of this dataset..

In addition, you can find the name of the original source in the Main Dataset of the table in the Dataset section.

Thanks, but I still cannot find any specifications for the data source.

You can directly use the query of the dataset to test the model and then submit the results to us for scoring.

Thanks, I am more interested in the provenance of the benchmark dataset. Maybe you can tell me a bit how you formulate this dataset.

Thanks for your interest in our work. You can continue to follow this project, as we will release the complete paper later. The paper will provide an introduction to formulating the dataset. However, since our dataset is intended for testing purposes, we are unable to provide too many details about the formulation to avoid potential data leaks that could affect the fairness of evaluations.

There is little information about the provenance of this dataset..

In addition, you can find the name of the original source in the Main Dataset of the table in the Dataset section.

Thanks, but I still cannot find any specifications for the data source.

You can directly use the query of the dataset to test the model and then submit the results to us for scoring.

Thanks, I am more interested in the provenance of the benchmark dataset. Maybe you can tell me a bit how you formulate this dataset.

Thanks for your interest in our work. You can continue to follow this project, as we will release the complete paper later. The paper will provide an introduction to formulating the dataset. However, since our dataset is intended for testing purposes, we are unable to provide too many details about the formulation to avoid potential data leaks that could affect the fairness of evaluations.

Thanks for the reply. But this is a bit weird since other datasets are traceable and mentioned clearly in the paper. CFM seems not the same case. There is no detailed information at all.

There is little information about the provenance of this dataset..

In addition, you can find the name of the original source in the Main Dataset of the table in the Dataset section.

Thanks, but I still cannot find any specifications for the data source.

You can directly use the query of the dataset to test the model and then submit the results to us for scoring.

Thanks, I am more interested in the provenance of the benchmark dataset. Maybe you can tell me a bit how you formulate this dataset.

Thanks for your interest in our work. You can continue to follow this project, as we will release the complete paper later. The paper will provide an introduction to formulating the dataset. However, since our dataset is intended for testing purposes, we are unable to provide too many details about the formulation to avoid potential data leaks that could affect the fairness of evaluations.

Thanks for the reply. But this is a bit weird since other datasets are traceable and mentioned clearly in the paper. CFM seems not the same case. There is no detailed information at all.

The CFM is based on proprietary data that has not been published. As a result, we are unable to disclose further information.


Remote search

Using Choices for a while and now I want to implement remote search.
The list of users is over 100k, so external load and search is needed.
But it loses focus on every keystroke when typing.
Please see jsfiddle example: https://jsfiddle.net/8zn132go/9/
var config = {
  'searchResultLimit': 15,
  'searchChoices': false
};
var select = document.getElementById('users');
var choice = new window.Choices(select, config);
select.addEventListener('search', function(event) {
    if (event.detail.value) {
        choice.setChoices(function(callback) {
            return fetch(
                // below api is only used for this example. it doesn't support query filtering, but its returns some data.
                'https://randomuser.me/api/?results=20&q=' + event.detail.value
            )
            .then(function(response) {
                return response.json();
            })
            .then(function(data) {
                return data.results.map(function(user) {
                    return { value: user.login.uuid, label: user.name.first };
                });
            });
        })
    }
});

any updates? otherwise i have to implement Selectize

@sharkooon did you find a solution for this/did you investigate further? Was your code example working in a previous version of Choices?

Don't know if it worked in previous versions.. and did not found a solution for it, i used Selectize now.

@jshjohnson  I think just set
this.input.element.focus();
at line 356 in the enable function should solve the problem. In my test the focus still on the input element

I had same problem..
I solved calling .focus() on my input, like @Raidri suggested..
My code:
 myInput.addEventListener('search', (event) => {
      myChoice.setChoices(async () => {
        return this.doSearch(event.detail.value);
      })
      .then(() => {
          event.target.parentNode.querySelector('input').focus();
         });
    });

@medeirosrafael Using that approach I still get a small freeze after every keystroke. Have you managed to work around that?

@WhyNotHugo i get no freezing behavion on keystroke with this code.. are you fetching data from remote source?

Yes, I'm using fetch to load my data. It's form localhost, so it's just a few dozen milliseconds, but it's very intrusive when typing, since keys pressed during the freeze are ignored.

Ok.. are you using any debounce approach?
If not, you can do it with setTimeout, like:
let myTimeOut = null;
 myInput.addEventListener('search', (event) => {
      clearTimeout(myTimeOut);
      myTimeOut = setTimeout(() => {
             myChoice.setChoices(async () => {
               return this.doSearch(event.detail.value);
              })
              .then(() => {
                      event.target.parentNode.querySelector('input').focus();
            });
         }, 600);

    });

Reference: #162

I solved it with simple code below
let choice = new Choices(element);
element.addEventListener('search', async (e) => {
    let data = await doSearch(event.detail.value);
    .then(res => {
        return res.json();
    });

    choice.setChoices(data, 'value', 'label', true)._handleSearch(event.detail.value);
});


#165: Add a function that copies an binary from the path of a contain…

…er to the workspace.

@iocanel Is this really necessary? Should we add more to an already massively bloated library?

@jaseemabid: This pull request was part of an effort to align the fabric8 pipeline library with a pipleine library I was working on for the shake of the syndesis project.
Nowdays, the syndesis proejct is using no jenkins pipelines and its pipeline library is deprecated. So, this change is out of scope.

@iocanel Shall we close this  PR then?


Implemented async-await / promise support for onRequest and onResponse hook methods

FPR

I think we should implement support for async handlers in hammerhead (at least for onRequest - https://github.com/DevExpress/testcafe-hammerhead/blob/b90bb478f63d0df4d133bf8d68d66f023e34ee2a/src/request-pipeline/index.js#L67), and write a test/modify an existing one.


声网的插件安装后，分享屏幕是否可以添加全屏功能 || After the plug-in of the sound network is installed, can the shared screen be added to the full screen function?

声网插件安装了没问题，但是分享屏幕的时候无法全屏对方分享的屏幕，也可能是我眼瞎，找遍了页面都没找到全屏按钮，这个能做一下优化吗，感谢！

There is no problem with the installation of the Shengwang plug-in, but when sharing the screen, the screen shared by the other party cannot be fully screened. It may also be that I am blind. I have searched the page and found no full-screen button. Can this be optimized, thank you!

新版本的livekit解决方案已经添加全屏功能。可以移步新的解决方案尝试


2017-10-31のJS: Node.js 8.8.0、Chrome 63β、Property-Based Testing

Node v8.8.0 (Current) | Node.js
Chromium Blog: Chrome 63 Beta: Dynamic module imports, async iterators and generators, Device Memory API, and permissions UI changes
Property-Based Testing for Godly Tests
unbounce/babel-plugin-transform-flow-to-gen: Flow + Babel + TestCheck == QuickCheck in JavaScript
Randomized Testing in JavaScript Without Lifting a Finger
leebyron/testcheck-js: Generative testing for JavaScript

bors r+