[Bug]: When import ESModule from CommonJS, Error: Must use import to load ES Module

Version
29.2.4
Steps to reproduce

Clone my repo: https://github.com/sugoroku-y/ts-jest-test
Run the command: npm ci
Run the command: npm test
Succeeded because the version of ts-jest is 29.2.3.
Update ts-jest: npm update ts-jest
Run the command: npm test
Failed.

  ● ts-jest-test › import

    Must use import to load ES Module: E:\nodejs\ts-jest-test\esm\index.js

      1 | describe('ts-jest-test', () => {
      2 |     test('import', async () => {
    > 3 |         const { default: esm } = await import('./esm/index.js');
        |                                  ^
      4 |         expect(esm).not.toBeUndefined();
      5 |     });
      6 |     test('require', async () => {

      at Runtime.requireModule (node_modules/jest-runtime/build/index.js:850:21)
      at ts-jest-test.test.ts:3:34
      at async Object.<anonymous> (ts-jest-test.test.ts:3:34)

Expected behavior
I expect to be able to import as in ts-jest version 29.2.3.
Actual behavior
When trying to import an ESModule, Error occurs: Must use import to load ES Module: ...
Debug log
ts-jest.log
Additional context
No response
Environment
System:
  OS: Windows 10 Home 22H2
  CPU: i7-2600
Binaries:
  Node: v20.15.0
  npm: 10.7.0
npmPackages:
  jest: 29.7.0
  ts-node: 10.9.2
  typescript: 5.5.4

We reverted the support of Node16/NodeNext in 29.2.4 because it caused breaking changes for many users. The behavior now is similar to 29.2.1 that whenever user uses Node16/NodeNext for Jest ESM mode, we will automatically override it to ESNext.
In your repo, to make the test work correctly, you need to adjust your jest.config.ts to be like this
export default {
    extensionsToTreatAsEsm: ['.ts'],
    transform: {
        '\\.ts$': ['ts-jest', {
            useESM: true
        }],
    },
} satisfies Config;

This is because I'm seeing your test script attempts to run Jest in ESM mode, so the jest.config.ts should enable ts-jest to use ESM mode too (via useESM: true).
Perhaps we can deprecate useESM option and rely entirely on Jest to tell us when to use ESM and when to use CJS. That would be the enhancement.
The support for Node16/NodeNext will be in the next major release.

I just spent the morning building a demo repo showing the difficulty in configuring ts-jest to support Node16/NodeNext modules.  https://github.com/jmannau/ts-jest-node16
Without supporting Node16/NodeNext it appears to be impossible/very difficult to support projects that require support for mixing CommonJS & ESM dependencies.
Is there anything we can do to help restore support for Node16/NodeNext?

We actually reverted the support because it caused big impact on users.
One thing I can think of is, temporarily introducing an experimental flag which allows to use Node16/NodeNext and remove this flag in the next major release. What do you think?

I understand that it caused issues and I know reverting was the right move.
My feeling is that ts-jest should respect the "module" in tsconfig.json type and not override it.  If users need to have a different module format, then they can configure a tsconfig.jest.json to customise it.
Having said that, is it possible to add a flag, similar to "useESM" that will instruct ts-jest to preserve the target "module"?
ie:
"transform": {
    "^.+\\.ts$": [
        "ts-jest",
        {
            "preserveTsModule": true
        }
    ]
},

or perhaps if jest testEnvironment = node then just preserve the tsconfig.json module type?

Indeed the goal is not implicitly overriding module value. I would go for a new config option.

Just hijacking this but moduleResolution should not be set to ESNext, this is not a valid moduleResolution. At the moment we get an error Argument for '--moduleResolution' option must be: 'node', 'classic', 'node16', 'nodenext'

Just hijacking this but this._ts.ModuleResolutionKind.Node10 is not working and should be this._ts.ModuleResolutionKind.NodeJs instead. This is undefined in our typescript version (4.9.5) and only contains
export enum ModuleResolutionKind {
        Classic = 1,
        NodeJs = 2,
        Node16 = 3,
        NodeNext = 99
    }

Thanks for the comment.
I tried useESM and didn't see any change.
Then I ran the test with different versions from 29.0.0 to 29.2.4 and it failed only on 29.2.4 with or without useESM.
I did a quick debug run...
https://github.com/kulshekhar/ts-jest/blob/v29.2.4/src/legacy/compiler/ts-compiler.ts#L150-L157

const moduleResolution = this._ts.ModuleResolutionKind.Node10
if (!isEsm) {
  return {
    ...compilerOptions,
    module: this._ts.ModuleKind.CommonJS,
    moduleResolution,
  }
}

It seems that moduleResolution is set to Node10 because isESM here is false regardless of the value of the useESM setting.
And,
https://github.com/kulshekhar/ts-jest/blob/v29.2.4/src/legacy/compiler/ts-compiler.ts#L175-L176

const isEsmMode = this.configSet.useESM && options.supportsStaticESM
this._compilerOptions = this.fixupCompilerOptionsForModuleKind(this._initialCompilerOptions, isEsmMode)

It appears that isEsmMode is false because the above options.supportsStaticESM is false, which is specified for isESM.
As far as I can follow in the debug run, options.supportsStaticESM is the value passed from jest-runtime, and the default value of false is used without being affected by any configuration value.
I think there is a logic error somewhere, what do you think?

Idk exactly how jest-runtime sets the value for options.supportsStaticESM. I remember the value is only affected by the flag --experimental-vm-modules  for NodeJS. Anyways, it's more about workaround for your problem.
I believe with a support implementation for Node16/NodeNext, it would be more proper way to go forward.

If --experimental-vm-modules is not specified, the import function will give a syntax error Unexpected token 'export'.
So I always specify --experimental-vm-modules.
If options.supportsStaticESM is only affected by the --experimental-vm-modules, then options.supportsStaticESM is always set to false and moduleResolution is always set to Node10. The import function is always converted to a require function, and dynamic import of an ESModule always results in an error.
It is not always possible to change the build environment to the next major release, so hopefully this will be addressed in 29.x.x.
If changing the configuration file would allow the test to pass, that would be fine, but I can't find that setting.

or perhaps if jest testEnvironment = node then just preserve the tsconfig.json module type?

I gonna use the name useModernModuleFormat

https://github.com/jestjs/jest/blob/main/packages/jest-runtime/src/index.ts#L94-L100

const defaultTransformOptions: InternalModuleOptions = {
  isInternalModule: false,
  supportsDynamicImport: esmIsAvailable,
  supportsExportNamespaceFrom: false,
  supportsStaticESM: false,
  supportsTopLevelAwait: false,
};

The default value for options.supportsStaticESM appears to be the value written here.
It appears that the --experimental-vm-modules flag affects options.supportsDynamicImport, not options.supportsStaticESM.
As far as I can tell from searching under node_modules, the following appears to affect supportsStaticESM

true when importing an ESModule
Inherited from the caller in babel-jest
true when reading files with the extensions specified in extensionsToTreatAsEsm

If you can import ESModule, this Issue has already been resolved, so the first one is meaningless.
The second is irrelevant because we are not using Babel this time.
So, I set *.test.mts to be targeted by JEST by specifying testMatch etc., and specified .mts in extensionsToTreatAsEsm, and I saw that I can import with import function by setting useESM to true.
I would have been happy if this was a happy end, but I could not access the global variable jest in this way. I wanted to use a mock function in the test case, so this method was not available.

Referring to @jmannau 's ts-jest-node16, I separated only the import function into separate files as CommonJS JavaScript.
Object.defineProperty(exports, '__esModule', { value: true });

exports.default = function wrappedImport(packageName) {
    return import(packageName);
};

export default function wrappedImport<T>(packageName: string): Promise<T>;

Added the above js file and d.ts file, and
// @ts-ignore Whether it's CommonJS or ESModule doesn't affect it because it's an import as a type.
const {default: esm} = await wrappedImport<typeof import('./esm/index.js')>('./esm/index.js');

Rewriting the import function as above, the test now passes even with ts-jest 29.2.4.
I use @ts-ignore instead of @ts-expect-error because it is an error on VSCode but not through ts-jest.
If you pass eslint, you may need one more comment to suppress the warning.
I'll let this pass until Node16/NodeNext support is restored.
Thanks to @jmannau for the helpful comments.


[TE-16.2] Include backup NHG for REPAIRED tunnels

The backup next hop group that specifies the fallback to default is currently missing from the gRIBI that specifies the encap and frr actions.

Pull Request Functional Test Report for #2665 / 41368e01d1e54e2423d7160eb60867340752683c
No tests identified for validation.
Help

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 51.783%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1641

Relevant Lines:
3169

💛  - Coveralls


ci(nightly_detect_failure): restore dedup post logic

This reverts most of commit 3ad544d9d2e7bbd808fb00b0591cb8513764bc24, aka #17329.

Thanks!
bors r+


Block password reset flow when user has domain configuration

Super admins can setup a "Domain Configuration" for domain-wide authentication rules.
For example, a super admin can say "all users with @example.com email addresses must use Okta".
In that example, if a user with an @example.com email address tries to reset password, it should show an informative error message.  Currently, we do let them "reset password", but it is meaningless and confusing, because they cannot use that password anyway.

Fixed in https://github.com/medplum/medplum/pull/2399


ML.NET clustering tutorial: updated to 0.10

Samples are also updated: dotnet/samples#625
(two PRs don't depend on each other and can be merged in any order).

@JRAlexander @luisquintanilla could you please take a look at this and related PR.


Merge routes in Router::Route

Fix #11

@Flowneee

Added the changelog, also for #13 :)

Hey, any chance we can merge and release this?


Introduce and Integrate WgKey type

This adds a validating WgKey type that prevents mistakes using keys
and generally makes things more programmer friendly and less prone
to bad strings sneaking in as WgKeys

So the only failures here are backwards compat tests which happen because they use the old config with "" for a wg key, this is no longer valid. Upgrades should work because a valid key is already on disk and is then parsed.
In the case that a device is using an invalid key right now, well it can't open an exit tunnel, so this should be fine.


ComboBox.ItemTemplate is ignored in the flyout when using MaterialComboBoxStyle (v1)

Current behavior

Using ComboBox.ItemTemplate only has an effect on the selected item.
It's ignored in the list popup.
<ComboBox.ItemTemplate>
  <DataTemplate>
    <TextBlock Text="{Binding Converter={StaticResource EnumToString}}"
	   Foreground="Red" />
  </DataTemplate>
</ComboBox.ItemTemplate>

Notice how the red color is not applied everywhere.

Expected behavior

Notice how the red color is applied everywhere.

How to reproduce it (as minimally and precisely as possible)

Use a ComboBox that has the style MaterialComboBoxStyle from MaterialV1 and set a custom ItemTemplate.
<ComboBox Style="{StaticResource MaterialComboBoxStyle}">
  <ComboBox.ItemTemplate>
    <DataTemplate>
      <TextBlock Text="Bob"
		   Foreground="Red" />
    </DataTemplate>
  </ComboBox.ItemTemplate>
</ComboBox>

Environment

Nuget Package: Uno.Material
Package Version(s): 1.3.3
Affected platform(s):

[x] iOS
[x] Android
[x] WebAssembly
[x] UWP
[x] MacOS

Anything else we need to know?

fixed in #849

fixed in https://github.com/unoplatform/Uno.Themes/pull/849


why not push built stable images to hub.docker.com?

Pinpoint is a large sale program.  When I try to build it , I spent more than two hours. When I try to build docker images , I spent more than two weeks.  it's so  frustrating. So I simply think pinpoint is not a good project, haha. why not to improve it at end user perspective.

Unfortunately, we are not experts in the docker.
Also, the docker is not our core issue, and we do not have enough time.
We are waiting for your contribution.
Good luck~

@fuhongwei041 pinpoint uses mvn docker plugin, so mvn clean package docker:build -DskipTests command is just enough. If you want to change image name and/or tag, see my repo: https://github.com/minyk/docker-pinpoint#custom

@emeroad It doesn't take much time to push the images to hub.docker.com. I think it more convenience for user to have official public docker images. @minyk mvn docker plugin version is to old which cause error when building with docker for mac #218

@kk17 I built successfully at Feb, May and Sep 2017 using my macbook pro and latest Docker for Mac. Maybe docker version related issue? My Docker for Mac is 17.09.0-ce-mac35 (19611)

@fuhongwei041 @kk17
Checkout pinpoint docker support


Fastlane Release automation

Automate the release process using fastlane
https://docs.fastlane.tools/getting-started/android/release-deployment/#building-your-app
https://flutter.dev/docs/deployment/cd
https://developer.android.com/studio/publish/app-signing#sign-apk

We could use the git-flow workflow to simplify different releases. Tutorial
ToDo:

Invoke git flow init
All fully implemented and merged feature branches should be removed from origin. See git-flow cheatsheet.

Finished fastlane implementation

Maybe use GitHub actions? There is a possibility to save encrypted secrets
https://help.github.com/en/actions/automating-your-workflow-with-github-actions/creating-and-using-encrypted-secrets


Use Sweeps to tune hyperparameters

Goal
As a developer, I want to automatically tune the model's hyperparameters by using Sweeps.
Tasks

Look at https://colab.research.google.com/drive/1gKixa6hNUB8qrn1CfHirOfTEQm0qLCSS?usp=sharing#scrollTo=aIhxl7glaJ5k
Look at https://colab.research.google.com/github/wandb/examples/blob/master/colabs/pyg/8_Node_Classification_(with_W&B).ipynb#scrollTo=8mOG32VOAAGh

Closed because completion on time is not realistic.


Failure to launch

I'm loving the other work from amebalabs and thought i'd try TRex. Unfortunately 1.5.0 fails to launch on Big Sur. i'm asked if i want to open the app, and then nothing appears. I had a look in activity monitor and nothing is there. I downloaded the previous version and that works fine. Cheers!

Oh my... maybe releasing software while traveling wasn't the best idea 😅
Thanks, looking into it

Can you please try this build? https://github.com/amebalabs/TRex/releases/tag/v1.5.1

Yay! Working well and fine here, good sir.


Implementing Smart Subscription plugin results in Ref Subscription has not been implemented

Hello again :)
I'm currently exploring around subscriptions and have installed the smart subscription plugin, and integrated it like this:
export const builder = new SchemaBuilder<{ PrismaTypes: PrismaTypes; Context: GraphQLContext; DefaultFieldNullability: true }>({
  defaultFieldNullability: true,
  plugins: [PrismaPlugin, RelayPlugin, SmartSubscriptionsPlugin],
  relayOptions: {},
  prisma: {
    client: prisma,
  },
  smartSubscriptions: {
    ...subscribeOptionsFromIterator((name, { pubsub }) => {
      return pubsub.asyncIterator(name);
    }),
  },
});

Now, I want to use the subscriptions in my queries like this:
builder.queryField('user', (t) =>
  t.prismaField({
    type: 'User',
    args: {
      alias: t.arg.string(),
    },
    smartSubscription: true,
    resolve: async (query, root, { alias }, ctx) => {
      if (!alias) {
        throw new Error(
          "Please provide an user alias to the user query"
        );
      }

      return prisma.user.findUnique({
        ...query,
        where: { alias: alias },
      })
    }
  }),
);

builder.queryField('getValidAlias', (t) =>
  t.prismaField({
    type: 'User',
    args: {
      alias: t.arg.string(),
    },
    smartSubscription: true,
    resolve: async (query, root, { alias }, ctx) => {
      if (!alias) {
        throw new Error(
          "Please provide an user alias to the user query"
        );
      }

      return prisma.user.findUnique({
        where: { alias: alias },
      })
    }
  }),
);

In my imagination this would create two subscribtions on the Subscriptions type, but instead, this gives the following error when hitting the API:
error - Error: Ref Subscription has not been implemented
    at ConfigStore.onTypeConfig (/Users/felixhaberle/Desktop/git/homeofopensource/node_modules/@pothos/core/lib/config-store.js:190:19)
    at ConfigStore.addFields (/Users/felixhaberle/Desktop/git/homeofopensource/node_modules/@pothos/core/lib/config-store.js:239:18)
    at SchemaBuilder.subscriptionField (/Users/felixhaberle/Desktop/git/homeofopensource/node_modules/@pothos/core/lib/builder.js:199:26)
    at PothosSmartSubscriptionsPlugin.onOutputFieldConfig (/Users/felixhaberle/Desktop/git/homeofopensource/node_modules/@pothos/plugin-smart-subscriptions/lib/index.js:97:26)
    at /Users/felixhaberle/Desktop/git/homeofopensource/node_modules/@pothos/core/lib/plugins/merge-plugins.js:18:93
    at Array.reduceRight (<anonymous>)
    at MergedPlugins.onOutputFieldConfig (/Users/felixhaberle/Desktop/git/homeofopensource/node_modules/@pothos/core/lib/plugins/merge-plugins.js:18:29)
    at BuildCache.buildFields (/Users/felixhaberle/Desktop/git/homeofopensource/node_modules/@pothos/core/lib/build-cache.js:163:73)
    at BuildCache.getRootFields (/Users/felixhaberle/Desktop/git/homeofopensource/node_modules/@pothos/core/lib/build-cache.js:248:21)
    at BuildCache.getFields (/Users/felixhaberle/Desktop/git/homeofopensource/node_modules/@pothos/core/lib/build-cache.js:253:29)
event - build page: /next/dist/pages/_error

I'm pretty new to how subscriptions work in graphql and managed to create a Apollo Server + WebSocket API with Nextjs with the help of this example . What am I doing wrong here?

Just need to define the subscription type: builder.subscriptionType({})

Thanks very much!! This was the fix.

FWIW - I ran into the same issue with mutations:
Error: Ref Mutation has not been implemented

Similarly, the fix was to set the mutation type: builder.mutationType({})

conceptually, {mutation|query|subscription}Type({}) creates that high level type, after that you would do {mutation|query|subscription}{field|fields} to add fields into each of the type accordingly, so:
builder.queryType({})
builder.queryField('newQuery', {})


monitor data timestamps "sync" with wall clock

I would like to have a metric showing how far behind or ahead incoming metrics are wrt wall clock.
why?

it's useful for debugging/general understanding
it helps knowing how much overlap we need between old and new write pods during migrations (see #160)

instead of reporting, we may as well report the min and max timestamps seen at each point.
that provides more information, and it should be easy to derive the min/max lag numbers from that.

For adhoc analysis you can just look at the Kafka messages.   Each Kafka message has its own timestamp of when the message was created. https://godoc.org/github.com/Shopify/sarama#ConsumerMessage
So it would be trivial to write a tool that consumes from Kafka and compares the message timestamp with the data point timestamp

That would be needless overhead both on Kafka as well as the operator. Seems much simpler to just measure it with a stat.

That would be needless overhead both on Kafka as well as the operator.

How is doing adhoc analysis an overhead?
I would definitely recommend that before investing time in instrumenting anything you do some adhoc analysis to immediately get a better understanding of the lag of points being ingested.

because it requires running the tooling and processing the messages, and because it will consume all data from the kafka topic.
comparing data timestamps against the clock and sending it out via a metric is close to free. and all the stats will always be available for all environments and can be easily consumed.

Why not do all of this in metrictank using the kafka message timestamp.  In addition to the lag between the datapoint timestamp and when we received it, you can also collect the lag between when we received it and when MT processed it.

doing it in MT only would mean the data becomes messy every time a pod restarts.
so both seem useful, for different reasons.


Video event is not called after turning camera off and on in MSTeams

The video event is not called after turning off camera in MSTeams.
I do receive video buffer in the event before turning off camera.
Code Snippet
BotMediaStream constructor has this code:
// Subscribe to the video media.
this.videoSockets = mediaSession.VideoSockets?.ToList();
            if (this.videoSockets?.Any() == true)
            {
                this.videoSockets.ForEach(videoSocket =>
                    {
                        videoSocket.VideoMediaReceived += this.OnVideoMediaReceived;
                    }
                );
            }

After turning camera off and on again in MSTeams, the code doesn't reach this method:
private async void OnVideoMediaReceived(object sender, VideoMediaReceivedEventArgs e)
        {
            try
            {
                // write e.buffer to bin file
                await _mediaStream.AppendVideoBuffer(e.Buffer, this.participants);
                e.Buffer.Dispose();
            }
            catch (Exception ex)
            {
                this.GraphLogger.Error(ex);
                LogHelper.Logger.log(TraceLevel.Error, ex.ToString());
            }
            finally
            {
                e.Buffer.Dispose();
            }
        }

Expected behavior
OnVideoMediaReceived should be called when camera is on.
Graph SDK version:
<IP_ADDRESS>0

This is expected behaviour as you should only receive video when the participant is sending video.

In the case of the restart you have to resubscribe with the video socket to the Participants video

@1fabi0 Thanks. I tried it without success.
This code was added to the audio event:

What I did, is to check if 15 seconds passed from the last video buffer that I got and if so, resubscribe to the video event. The condition works ok but after turning camera on, the code doesn't reach the method of the video event.
Did you mean to this approach? Do you see a problem here or you have a better way?

What you check there is only the Event but on the socket there is a method called Subscribe that needs to be called with media source ID of the video of the participant

It worked, thanks!


optional pageable response handling

in current python codegen logic, we could handle multiple response with at most one response has body type, we will make the method return optional type and return none for empty body response. however, this logic is not work for paging, we did not handle that in paging and it will cause crash.

this should be a wrong usage. do not support for now.


Hunter experience reset for black chinchompas

🐛 Bug Report
Write a description of the bug here, give all the information you can about what it is, how it happened.
  This boost no longer is showing and my hunting speed went down. See message from bso help and support channel showing pumpum screenshots 15min before this issue was submitted.
https://discord.com/channels/342983479501389826/970752140324790384/1088503923284914276

All hunter kc got wiped for everyone.

This is apparently fixed now. Feel free to re-open if its not.

Agreed.  This has since been fixed


Add language: Mermaid Diagram Support

Language name
MermaidJS
URL of example repository
https://github.com/lotusnprod/lotus-processor/blob/f46c20768fa80e8fe6c438424323734f547f6163/docs/flowchart.mmd
URL of syntax highlighting grammar
WIP
Most popular extensions

.mmd
Detected language

N/A
Popularity
https://github.com/search?p=1&q=extension%3Ammd&type=Code (6K Results)

Please note, Linguist can only add support for syntax highlighting of the files (I'm not sure how useful that would be) assuming a grammar can be found. Rendering to show the images would need to be implemented elsewhere.

assuming a grammar can be found

I am currently working on a text mate grammar, so I’ll create a PR after I am done with that.

I think https://github.com/bpruitt-goddard/vscode-mermaid-syntax-highlight should do the trick for syntax highlighting

I've never seen this syntax before. Is !!import/deep a YAML thing?
repository:
  mermaid:
    patterns: !!import/deep
      - diagrams/

Doesn't look like a valid TextMate-compatible grammar to me. It might rely on a build-step or something…

Want me to write one? I'm already halfway through taking apart Mermaid's own Monaco-based highlighter to see how it works. I've reduced it to a list of keywords and patterns, so smashing something together shouldn't be too difficult.

Want me to write one?
[...]
EDIT: Wait, Mermaid is, like, 10 different syntaxes hiding under a trench-coat pretending to be a single language. I can write a grammar for it, but I probably won't be done in time for the next Linguist release. 😅

Go for it if you want the challenge and no rush. I thought it would be a quick addition when I found the grammar.

All I ask in return is that GitHub support Pikchr so we can use pic(1) on GitHub. 😁

Ask in the Product Feedback section of https://github.com/orgs/community/discussions/ and you never know, your wish may come true one day 😁

Track progress here: https://github.com/Alhadis/language-mermaid
I'll submit a PR once I've finished splattering mermaids.


Fix the broken Japenese translation - add escape to double quote

Signed-off-by: Gary O'Neall<EMAIL_ADDRESS>

@goneall was it an issue with the file we delivered ?

@brandelune

was it an issue with the file we delivered ?

I don't think so, I think these were caused by this commit: https://github.com/OpenChain-Project/Online-Self-Certification-Web-App/commit/f6aa614b8da744aa43189c563f4ea4f20c9e3d4b#diff-13b258d9ec458911b1febe96d6eecde2

Thank you !


Enhance WMT17 En-Zh task with full dataset.

This PR adds full dataset to TranslateEnzhWmt if available.
The UN parallel corpus, and CWMT corpus need to be downloaded from official website after registering. We add instructions to add the downloaded datasets manually to e.g. /tmp/t2t_datagen/dataset.tgz and add code to append to full training dataset if available.
Fix #446 Added file_size_budget as argument to get_or_generate_vocab.

@rsepassi I've made the requested changes, hope this is ok!


Can't install tddwizard in php8.1

I just try today by installing tddwizard in magento2.4.4 and php version 8.1
i just seen update of yesterday in github. so today i have checked but not able to install.
It try to install by this command :
composer require --dev tddwizard/magento2-fixtures
composer require tddwizard/magento2-fixtures

Please post the error message of composer

Hi @schmengler
Thank you for help.
I'm getting following error white running composer require.
php version 8.1.4
magento version 2.4.4
`composer require --dev tddwizard/magento2-fixtures
Info from https://repo.packagist.org: #StandWithUkraine
[InvalidArgumentException]
Package tddwizard/magento2-fixtures has requirements incompatible with your PHP version, PHP extensions and Composer version:
- tddwizard/magento2-fixtures 1.1.0 requires php ^7.1 which does not match your installed version 8.1.4.
require [--dev] [--dry-run] [--prefer-source] [--prefer-dist] [--prefer-install PREFER-INSTALL] [--fixed] [--no-suggest] [--no-progress] [--no-update] [--no-install] [--update-no-dev] [-w|--update-with-dependencies] [-W|--update-with-all-dependencies] [--with-dependencies] [--with-all-dependencies] [--ignore-platform-req IGNORE-PLATFORM-REQ] [--ignore-platform-reqs] [--prefer-stable] [--prefer-lowest] [--sort-packages] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--apcu-autoloader] [--apcu-autoloader-prefix APCU-AUTOLOADER-PREFIX] [--] []...`
Thanks

Understood. I tagged version 1.1.1 with PHP 8.1 compatibility but packagist was not updated yet. Please try again

Hi @schmengler
Currently getting different error currently :
composer require --dev tddwizard/magento2-fixtures
Info from https://repo.packagist.org: #StandWithUkraine
Using version ^1.1 for tddwizard/magento2-fixtures
./composer.json has been updated
Running composer update tddwizard/magento2-fixtures
Loading composer repositories with package information
In Laminas\DependencyPlugin\DependencyRewriterV2::onPrePoolCreate
Updating dependencies
Your requirements could not be resolved to an installable set of packages.
Problem 1
- tddwizard/magento2-fixtures v1.1.1 requires fzaninotto/faker ^1.8.0 -> satisfiable by fzaninotto/faker[v1.8.0, v1.9.0, v1.9.1, v1.9.2].
- tddwizard/magento2-fixtures 1.1.0 requires php ^7.1 -> your php version (8.1.4) does not satisfy that requirement.
- fzaninotto/faker[v1.8.0, ..., v1.9.2] require php ^5.3.3 || ^7.0 -> your php version (8.1.4) does not satisfy that requirement.
- Root composer.json requires tddwizard/magento2-fixtures ^1.1 -> satisfiable by tddwizard/magento2-fixtures[1.1.0, v1.1.1].
You can also try re-running composer require with an explicit version constraint, e.g. "composer require tddwizard/magento2-fixtures:*" to figure out if any version is installable, or "composer require tddwizard/magento2-fixtures:^2.1" if you know which you need.
Installation failed, reverting ./composer.json and ./composer.lock to their original content.

Oh yes, Faker is not maintained anymore and does not support PHP 8. We need to remove or replace this dependency...
I made a mistake when configuring the test Github Action for PHP 8.1 and it actually ran on PHP 7.4 too so I didn't notice :see_no_evil:

thanks @schmengler

Hi @schmengler
Thanks for looking into this, Is any possibility to release compatible version in this week?

@schmengler Instead of removing faker in #79 we can also replace it with https://github.com/fakerphp/faker that is what laravel is using right now

@chiragd-evrig thanks for bringing it to my attention, I wasn't aware of an active fork. That should make the backwards compatible replacement easy :+1:

=> #81


Updated and added models in the rewrite branch.

Except for PersistentEnemy and DarkSector, seems those endpoints don't return valuable data anymore?
I'm going over the list in #11 so apologize if I missed anything.

As discussed in #12 I removed all properties returning a fixed time estimation string when they should calculate a TimeSpan using ExpiresAt. I added an interface ITimeSensitive (name really up for discussion, I couldn't come up with something interesting in time) that enforced naming of start/end-time properties then provided extension methods to calculate remaining TimeSpan.
Also note, not sure if was a bug, CetusCycle endpoint returns activation (ActivatedAt property in models) as UNIX Epoch (instead of ISO formatted time string like all other endpoints):
{
    "id": "cetusCycle1573029000000",
    "expiry": "2019-11-06T08:30:00.000Z",
    "activation":<PHONE_NUMBER>000,
    "isDay": true,
    "state": "day",
    "timeLeft": "1h 18m 9s",
    "isCetus": true,
    "shortString": "1h 18m to Night"
}

I took this into account already by forcing a different JSON converter on this particular property but I think the web API should be fixed.

I mean you just have to ask the dude who writes the web API. On my end, both get passed to a new Date in js, which takes both as arguments, so I've never noticed.

I see. I’ll open an issue in the other repo.

From: Matt Voboril<EMAIL_ADDRESS>Sent: Wednesday, November 6, 2019 7:56:09 PM
To: WFCD/Warframe.NET<EMAIL_ADDRESS>Cc: Yi Ding<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [WFCD/Warframe.NET] Updated and added models in the rewrite branch. (#26)
I mean you just have to ask the dude who writes the web API. On my end, both get passed to a new Date in js, which takes both as arguments, so I've never noticed.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/WFCD/Warframe.NET/pull/26?email_source=notifications&email_token=AA2BYGNSBVFABMJFUBUAAEDQSKWFTA5CNFSM4JJSBDT2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDGJC7I#issuecomment-550277501, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AA2BYGJEOWVF2I6WRQV3HJ3QSKWFTANCNFSM4JJSBDTQ.

you'll want to have persistent enemy data in there, cause that's for acolytes, it just doesn't always have data, like almost always doesn't.

@VasID, what can I do to help you get this done? Tbh, if this is the way things need to go, I'm happy to bring you into the org and let you run the repo, considering it's been pretty well abandoned, and I'm garbo with C#

Thank you for the invite. Honestly I’m closing this PR because I deleted my fork in a routine cleanup. It hasn’t been updated in 6 months; that’s a bad sign that the project was also pretty much abandoned on my end.
I‘m not sure if I should join the org. I can’t promise any contributions; heck my main isn’t even C# now. With all due respect and appreciation I don’t consider myself the right person to be managing the repo.
Given how much you know about projects depending on this as a module, do you think it’s really worth the effort for a complete rewrite?

It'll most likely be worth a complete rewrite, the old library is just garbage to today's standards. I'll attempt to work on it during my free time, since I really don't want to let it die, but unfortunately life's got my schedule pretty much filled.

I see. If you don't mind, I'll work on it in my free time, if I had any. (Sorry, no promises.)
Since we've settled on a complete rewrite anyway, I'll work it out my way. It'd be easier and faster for me to just write what comes to mind instead of following guidelines and going over details as I go, given limited time. Once I've a working solution I'll either put it in a new repo and mention it here; or try to replace the rewrite branch and PR. Then it's up to you to make any changes before adopting it.
If there's new activity on the rewrite branch I'll try my best to accommodate before submitting the final copy.
Does this sound OK?

you bet, no expectations from me on time stuff, thank you for your willingness to work on it!

Is NexusStats still running? The API endpoint in the master branch seems down. It also redirects to NexusHub.co when I visit in a browser, is this intended?

it's moved to nexushub, the endpoint on the warframestats api is still up


Update the timed buffer to automatically flush buffers after the given wait time.

Update the timed buffer to automatically flush buffers after the given wait time
The timed buffer does not wait for a receive call to flush.
Use the timed buffer as the default buffer.

These changes will give users an over all better experience. Previously entries could possibly never shown up with the sized buffer (it never filled) or the timed buffer (if another receive never occurred).

LGTM, assuming the dispose pattern will come later or Jon thinks it's unnecessary.

Sorry, hadn't spotted that I'd failed to submit the review. Would rather get the disposal done sooner rather than later... finalizers make me wince.

The dispose pattern will come in a PR today. It will just require changing a lot more files.

Talked with Jon offline.  Merging for now.  PR to come soon.


Assets does not compile on 'real time'

I installed compass for my rails project but assets does not compiling on 'real time' when i am saving them. I launch server on development enviroment.
config.serve_static_files = false
This line solved problem but in that case uploads in /public folder does not appear and attachments are not working
Could you please say do i need launch any compass watchers or add something extra to configs?

Same issue, please advice...


fix warnings

fix warnings:
[DEPRECATION WARNING]: Invoking "yum" only once while using a loop via squash_actions is deprecated. Instead of
using a loop to supply multiple items and specifying name: {{ item }}, please use name: u'{{ pdsh_el7_packages  }}' and remove the loop. This feature will be removed in version 2.11. Deprecation warnings can be disabled by
setting deprecation_warnings=False in ansible.cfg.

Thanks. I also did a bunch of other changes to the testsuite to get a green light in travis (seems the devel- test doesn't work anymore due to some incompatibility with the python requests library or such).
I also pushed  a new tag: v1.2.5

The devel test can be fixed like this:
https://github.com/CSCfi/ansible-role-rsyslog/commit/6191ad01d9af04de158b5853510385a9bf88dc2c
Installing specfific pip package versions helps.

And I don't know if it is better to clean the tests up but I fixed the devel tests like that.

Thanks, I gave up after a couple of tries to fix it.
That being said, I'm not sure this tests anything particularly relevant for us, since in production we use python libraries from yum repositories, and not installed via pip.
What could be useful would be to install the dependencies with yum, and then use git to checkout the latest ansible master from git? That might give some advance warning if a future version of ansible breaks our code, while still using the same stable support libraries that we're actually using? But, I'm not sure this is worth it anyhow..


Update values.yaml

Updated the images  release with v4.isd-spin-2024.06.00 images

Close this PR we have done another PR https://github.com/OpsMx/enterprise-spinnaker/pull/591


Performance issues after loading 50 articles

Hi shameerc,
This application is good for small blogs i.e for about 20-30 articles blog. If we keep on writing articles and if exceeds more than 50 articles then the performance is getting degraded(issue 1). I think this is the issue with the loadArticles() function in Textpress class that loads all the articles in the articles directory in the function that's why the object of the Textpress class is occupying more memory and more time if there are more articles processing them.
One more thing is that cache is not working(issue 2) for the get parameter strings in the url. I have implemented pagination for the index page like localhost/textpress/?page=3 and for each page the cache is displaying only the first visit page.
Can you please fix this 2 issues.
And this application is very fast and loads with in 0.1 second if the articles are less than 10 in number. So if you can figure out a work around for optimizing Textpress object then this application will be the fastest application that can be used with out any problem.

Hey @mohanzeal
We need to load and process all articles to get the categories and tags. But once a page is cached, IMO the performance won't be an issue.
The second one is a bug but which need to be fixed. It's probably because the cache key we are using is not considering the query string. I'm happy to accept a PR on this.
I'm planning for version 3 of TextPress, which should be much better than what we have now. But it's getting delayed due to other high priority stuff :(


feat: pretty print json stac items TDE-759

Pretty printing the STAC items should use the same tool as it used to pretty print the other STAC files: prettier.


[EventHubs] Automatic Load Balancing for Event Processors

Summary
Track One's Event Processor Host, which corresponds to Event Processor in Track Two, provides an automatic load balancing feature. This feature is used to distribute partition processing responsibility among Event Processors instances as evenly as possible.
Goal
Implement the load balancing feature in Track Two's Event Processor. It should behave in a way similar to Track One's and, when possible, follow the same algorithm other languages use in their Track Two implementation.
It's important to make sure that:

Tests continue to pass.
PartitionDistributionIsEvenAfterLoadBalancing and LoadBalancingIsEnforcedWhenDistributionIsUneven live tests, which are currently ignored, should pass as well.

Related issue: [Epic] Release Event Hubs Track 2 Library Preview 3 for .Net (#7141)

Issue solved by #7414.


fix(compiler-sfc): syntax error when v-on contains objects

fix: #6674
If this is merged I will sync the code to vuejs/vue

It seems duplicate of #6652

It seems duplicate of #6652

Oh, I didn't see that, it looks simpler

Thanks for the PR - however #6652 should provide a more generic fix.


Dump dlrn md5 hash from current-podified while using component repo

DLRN md5 hash files are generated when we promote all components in promoted-components, podified-ci-testing and current-podified.
in repo_setup role, we generate the dlrn_md5 hash file based on full_hash. full_hash is returned by all dlrn tags.
In component repo, there is no dlrn md5 hash and repo_setup role is generating wrong dlrn_md5 hash file.
In component pipeline, tcib job as a parent job generating the wrong dlrn md5 hash file and passed it child edpm/podified job.
The child job repo-setup will receive wrong dlrn md5 hash tag and the repo-setup tool will fail.
In component pipeline, we generate current-podified repos then populate the component repos. So, we need to write dlrn_md5 hash from current-podified in the component jobs.
This pull request fixes the same.
As a pull request owner and reviewers, I checked that:

[x] Appropriate testing is done and actually running
[x] Appropriate documentation exists and/or is up-to-date:

[x] README in the role
[x] Content of the docs/source is reflecting the changes

/approve
/lgtm
all green, I don't see obvious issues.


More components

I also removed jsx-a11y

@brs14ku did pull request on wrong repo

Hi there! should this PR be closed? it looks like the changes are intended for a fork, rather than to be part of the template.


parsing a date with a year with last_two

I am trying to parse this date 30.09.24 with this code:
time::Date::parse(
    date,
    &time::format_description::parse("[day].[month].[year repr:last_two]")
        .context("Could not create format description")?,
)
.context("Could not parse date")?

I am getting this error:
the `Parsed` struct did not include enough information to construct the type

I have no idea what I am doing wrong here.

The last two digits of a year does not unambiguously identify what year should be used.

The last two digits of a year do not unambiguously identify what year should be used.

Maybe there could be a way to add additional info about the year so that it works.

You can go through the Parsed struct manually, setting the full year while using the information from the two digits.


tab changed name and layout

changed Command to Officers. Changes Layout for having SrNCO, NCO and
JrNCO.

Btw, you don't have to use a fork! You can clone this repo and push to it
directly!
On 26 Jul 2015 15:39, "HellfireLx"<EMAIL_ADDRESS>wrote:

Merged #2 https://github.com/supremefist/cnto-web/pull/2.
—
Reply to this email directly or view it on GitHub
https://github.com/supremefist/cnto-web/pull/2#event-365488570.


Feature Request: Add tmux integration

I found this repo when trying to bundle tmuxplugins with tmux and first found https://github.com/pjan/nix/blob/master/config/nix-darwin/modules/tmux.nix I'm not 100% if this is for nixos, osx, or home-manager, but I am hoping it won't be too hard to port. I'm fairly new to nix and don't mind doing this myself, but a little pointer might be nice!

This appears to be for the nix-darwin tmux module. I had a quick look at it and I think it would be very simple to port to Home Manager. Mostly a matter of changing the config section like, for example, changing
environment.systemPackages = [ tmux ];

to
home.packages = [ tmux ];

and a few of the options to better fit the HM style. E.g., the programs.tmux.tmuxConfig option we would call programs.tmux.extraConfig.

I'll close this because the PR was merged. Thanks again! :+1:


Make cookie secure if used over https

apparently setting secure=False effectively sets secure=True on tornado < 4.2 (4.1 is latest stable). So need to do a **kwargs approach:
kwargs = {}
if self.request.protocol == 'https':
    kwargs['secure'] = True
self.set_secure_cookie(
    ...,
    **kwargs
)


reproduce

hello, I can't reproduce the results reported in your paper and don't know why,can you tell me the reason and the training details. I train the model based on bert-base-uncased model  and get avg, 75.7~76.0 compared with your result 76.25.

hello, I can't reproduce the results reported in your paper and don't know why,can you tell me the reason and the training details. I train the model based on bert-base-uncased model and get avg, 75.7~76.0 compared with your result 76.25.

I tried different weight initialization such as He and Xaxiver on the MLP on the top of [CLS].

Hi,
Results can vary based on different hardware/software (our readme provides the hardware/software that we used). 76% sounds close enough to me if using different seeds/hardware/software.

hello, I can't reproduce the results reported in your paper and don't know why,can you tell me the reason and the training details. I train the model based on bert-base-uncased model and get avg, 75.7~76.0 compared with your result 76.25.

I also encountered the same problem, and the results were quite different.


Uncontain fixes

Fix the kernel and user space to account for filling of all the bits in the clone flags.

I've queued this with some of my other fixups.

I've been able to boot and test these now. I have more pending changes, but not sense sitting on these, since it gets us back to a zeus compatible base booting system.


DocsArchive-<IP_ADDRESS>Auto archive content

Auto archive content from https://github.com/OPS-E2E-PPE/docs-archive-test-source

Docs Build status updates of commit 2389bd6:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error]

Cannot sync git repo to specified commit because branch Release_Archive_master_2020-04-20-06-17-02 has been deleted or has been force pushed: fatal: couldn't find remote ref refs/heads/Release_Archive_master_2020-04-20-06-17-02

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


where is the documents.tsv  file

When I try to train a Vanilla BERT model，using like this
python3 train.py \
  --model vanilla_bert \
  --datafiles data/wt/queries.tsv   data/wt/document.tsv\
  --qrels data/wt/qrels \
  --train_pairs data/wt/train.wt12.pairs \
  --valid_run data/wt/valid.wt12.run \
  --model_out_dir models/vbert

But it does not have document.tsv file and --train_pairs data/ws/train_pairs it has many train_pairs files like train.wt12.pairs or train.wt13.pairs which I need to set.Same question about --valid_run data/valid_run
Thanks a lot for your help

Regarding documents, see #9
Regrading pairs/runs: You choose the training pairs and validation pairs based on which data sets you want to train and validate on. So if you want to train on WT 2012 and validate on WT 2013, you would use train.wt12.pairs and test.wt13.run.
Does this answer your question?

Ok , I understand
Thanks a lot


spotify web hotkeys and spotify lyrics extensions not working properly together (sometimes)

Hello , so basically when i use the LIKE hotkey it works fine for like over 10 songs and then it starts toggling the spotify lyrics pip instead of liking the song
so what i have to do to make it work normal again is >>> reloading the spotify page and it keeps happening again after listening to few songs and i have to reload page again
this also happened in pwa spotify and in other browsers like brave , edge
here is the spotify-lyrics extension (https://github.com/mantou132/Spotify-Lyrics)
here is a picture
https://i.imgur.com/uhdOVOi.png
these 2 extensions together make spotify work so good and it is really sad they don't work together properly

Hi there, while I can't promise that I will invest time in supporting the plethora of Spotify extensions that may affect Hot Keys – there are just too many of them – I can try adding a workaround, if you can help me get there though.

Does it behave differently between songs that have lyrics available and songs that do not?
Would you be able to provide me with the HTML contents of the Spotify bar when you're using the extension? You can do that by following the instructions in this comment. I'm looking for a dump when the lyrics are available (but no PIP); as well as when PIP is being used. Thanks.

Oh I see, it would have been helpful to link to the issue you opened in the extension's tracker: https://github.com/mantou132/Spotify-Lyrics/issues/94
It copies the attributes of the like button (https://github.com/mantou132/Spotify-Lyrics/blob/master/src/page/config.json#L12=) for style purposes, which therefore confuses my code.

so i just run the playlist , keep spotify minimized (as your extension offers global hotkeys which is why i use it) and im able to like , play/pause , next music/previous and with pip lyrics by spoitfy lyrics , without having to pull up spotify window anymore

Please wait until Google accepts version 1.0.0 of the extension, which should automatically get to you in a few days. It should have fixed your issue.


XML Reports

HtmlTestRunner version: 1.1.1
Python version: 3.6.2
Operating System: Debian

Description
Hello.
First, thank you for this wonderful package, love it!
I really have the need for xml results beside html results. Is it something that is comming soon?
Or even if it is not comming soon, may I help with it?
Thank you in advance for your response

Hi @AdiuvoDotFr,
It's nice to hear you love it, thank you for that.
For XML results I have been thinking about that, actually, this package was created as a side effect of just having XML reports and needing HTML, there's already an XML report library which uses almost the same API as it, I think we shouldn't rebuild the wheel and use this package

Excuse me I did just see your response. For now I don't see how to use it to have both xml and HTML result. I see that an issue already exist for that, and I will continue the conversation here

Oops, did not see that this issue is also closed. Maybe we can discuss that feature?


Can rules stack?

I.e., I've got rules to:

JIRA: display the ticket name as the tab title instead of the ticket ID (https://jira/browse/)
JIRA: change the icon to make it distinguishable from Confluence (https://jira)
Confluence: change the icon to make it distinguishable from JIRA (https://confluence)

It appears the change icon rule overrides the tab title set by the display ticket name rule. Only the last rule that matches is applied, even if both would match and both would have different effects.
My basic understanding of the code seems to indicate this is true: https://github.com/sylouuu/chrome-tab-modifier/blob/master/src/js/content.js#L12

Hi @nfirvine thanks for your feedback!
First of all, refer to this.
You can make a rule that does many things, all-in-one. This is an intentional behavior.
Let me know if you have additional questions.
Best

Ok, fair.
Is there a technical reason why you couldn't do multiple rules and just apply them in order? I might do a PR. Seems like a straightforward change to me, but you know best.

I understand why some users would like to apply multiple rules for one tab but for most of users, it may be misleading. Indeed you have to deal with rules conflicts. What happens when 2 rules are overwriting the title? I decided to keep the first matched rule to be make it clearer for everyone.
I've also added a way to reorder your rules to let you organize them as the order matters.
Hope you understand my position.
Best

Yep, I understand your position. Just so you know, I'm not trying to complain; I really like the extension!
To me, the fact that two rules with non-overlapping effects can cancel was counterintuitive. Maybe I'm not a standard user, since I'm used to bizarre rule-based systems like email filters and iptables.
How do you feel about me forking to scratch my own itch?

Glad you like! Sure up to you to fork and use your custom version since it's MIT. ;)
Yes you are not a standard user!
Best

Ok, if you're interested in what I did: https://github.com/nfirvine/chrome-tab-modifier/commit/638438e11af532227dd7097202e4dc61eb5ccc8a


add untagged de tests

These tests have been written by Fishrock123 (as named on GitHub) and were originally intended to the original serde-yaml. As per rights of the project license, borrowing from https://github.com/dtolnay/serde-yaml/pull/376/files .
One more test will do no harm if it passes, absolutely!

The new test pass with others. Accepting.


Release Flatcar Container Linux Alpha 3760.0.0, Beta 3745.1.0, Stable 3602.2.1, LTS-2023 3510.3.1, LTS-2022 3033.3.18

The release of the following Flatcar Container Linux version is planning 19th October 2023

Alpha 3760.0.0
Beta 3745.1.0
Stable 3602.2.1
LTS-2023 3510.3.1
LTS-2022 3033.3.18

1. Preparation
Owner:

[x] A. Go/No-Go hackmd doc created from HackMD template for test tracking and release notes: (update the link here)
[x] B. All planned changes are merged & blocker bugs are fixed, last nightly reviewed for problems.
[x] C. Check that the kernel PR are merged for the channel(s) to be released.

2. Build
Owner: @sayanchowdhury

[x] A. Branched off the main branch (only for new major).
[x] B. Tagged all the build branches.
[x] C. Started the Jenkins builds, post the links into this issue as comment.

3. Release
i. The Go/No-Go Meeting
Owner: @sayanchowdhury

[x] A. Test status captured in the HackMD document.
[x] B. All tests are Green.
[x] C. Release notes / announcements added to Go/No Go doc from container/image_changes job by selecting Timestamps: None.
[x] D. QA: Checked the diff for image file list, packages, and image size in the container/image_changes job output.
[x] E. Conduct Matrix Go/No Go meeting (inc. release notes review).

ii. Artifacts goes public
Owner:

[ ] A. Created the Release Notes on the scripts repo for the respective tags on GitHub as GitHub Releases.
[ ] B. Ran the container/release Release job.
[ ] C. Images uploaded with copy-to-origin.sh.
[ ] D. Symlink to "current" updated with set-symlink.sh.
[ ] E. Website updated with ./update-flatcar-versions.sh and PR merged.

iii. Payload
Owner:

[ ] A. Update payload signed/uploaded.
[ ] B. Release package published in Nebraska (Prerequisite: 3.ii.E should marked done).

iv. Cloud Marketplace & Cluster API
Owner:

A. Azure

[ ] Offers updated and started publishing.
[ ] Sent the offers to publish to Live.

B. GCP

[ ] Offer deployment package uploaded to Google Bucket & submit for verification.
[ ] Offer Publish

C. Cluster API for new Stable

[ ] Azure: Manually run ./azure-sig.sh to create New Shared Community Gallery Images
[ ] OpenStack: documentation

4. Announcements
Owner:

[ ] A. Sent announcement to Mailing Lists
[ ] B. Sent Tweet out to Twitter, and Toot out to Mastodon
[ ] C. Brief version announcement in slack (k8s slack #flatcar) and the Flatcar Matrix channel

Go/No Meeting it was decided to put the release on hold. This is because there is a issue identified during testing with Stable/LTS-2023 kernel and Cilium which is expected to be fixed in the next Kernel release.
The plan as of now is the wait till next week for the new kernel and then start new builds for the affected channels.


Contribute ability for before update / post update scripts to be considered as Ketarin job failures with switches

This would be great.
Like a little box under each to make them failures when they exit non-zero.

cc @dtgm

This template repository no longer makes use of Ketarin, and instead uses Chocolatey-AU, so I think we can go ahead and close this out.


Example website from the template

This website is a complete copy of my site : musing.vercel.app
Original code found here

Thanks @pycoder2000 Awesome Template


404 when opening a dashboard

I'm not that familiar with the Ruby world but I've been able to start gdash using rackup and shotgun. I've copied the sample graphite config to my templates folder and can see it listed on the gdash frontpage. When I click on a dashboard I get a 404 and Sinatra claims there is no such route.
Shotgun shows these exceptions in the log:
```Exception LoadError' at /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36 - no such file to load -- sinatra Exception NoMethodError' at /usr/lib/ruby/1.8/rational.rb:78 - undefined method gcd' for Rational(1, 2):Rational Exception Sinatra::NotFound' at /usr/lib/ruby/gems/1.8/gems/sinatra-1.3.2/lib/sinatra/base.rb:837 - Sinatra::NotFound
Exception `WEBrick::HTTPStatus::EOFError' at /usr/lib/ruby/1.8/webrick/httpserver.rb:55 - WEBrick::HTTPStatus::EOFError
I'd really appreciate any help with getting gdash running. My OS is Ubuntu and I'm using Ruby 1.8.7.

The problem seems to be that you didnt install sinatra:
Exception `LoadError' at /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36 - no such file to load -- sinatra

The strange part is that I've run gem install sinatra and that I get an
error message that I expect can only come from sinatra (in the browser):
"Sinatra doesn't know this ditty.".
On Wed, Feb 1, 2012 at 3:30 PM, pinetec <
<EMAIL_ADDRESS>
wrote:

The problem seems to be that you didnt install sinatra:
Exception `LoadError' at
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36 - no such file
to load -- sinatra

Reply to this email directly or view it on GitHub:
https://github.com/ripienaar/gdash/issues/21#issuecomment-3759542

whats the url it tires to access and fail?

The url is http://<IP_ADDRESS>:9393/foo/
my template dir is: /home/leo/gdash-templates and contains the foo-folder with the sample files (dash.yaml and so on).

And thats a url it generates for you when you visit the index page or on your made up? cos that is indeed not a valid url.
Valid url would be something like /foo/graphname/ where graphname is one of the .graph files you put in the foo directory

Ahh, that explains it. Yes that's what I get from the index page. I could visit the url format you specified without any problems.

I was able to reproduce this easily; resolving it seems to be a bit dubious.

maybe you can provide steps then to reproduce? I set up a new instance this weekend and it just worked but maybe I am doing something out of habit thats not obvious

I likely took the wrong steps; but what I did was this.

Fork gdash
Clone the fork
copy samples to a directory called graphs with the name of acheron (yes gdash does pickup the name)
modify gdash.yml to point to the right graphite install and the right whisper directory.

bundle exec rackup
Try and view your graphs.  I know there's other users out there that do work; so it must be something i'm doing odd.

And indeed, there is no page like that. It's not a valid URL, hence 404.
You visit / which will give you an overview of all your dashboard, this would create urls like:
http://your.gdah/dashboards/kvm1

given a directory structure like:
graph_templates
`-- dashboards
    |-- README.md
     `-- kvm1
        |-- dash.yaml
         `-- ssd_write.graph

That was the ticket.  I had the directory layout wrong, updated and fixed!  Thanks!


4.3.3 - Create and update logo image

https://github.com/MyPrivateRepositories/docusaurus-boilerplates/blob/master/classic_instructions.md#custom-domain-optional

https://github.com/Ruben-Arushanyan/secure-event-emitter/releases/tag/v4.3.3


Add etsy/phan static analysis tool

I'm not fully clear whether this adds anything that PHPCS does not already tackle, but it does appear that it is able to catch some pretty sophisticated problems. Worth trying out to see if it's a value-add.

Not currently looking to expand the range of tools integrated into GDT.


Remove rc branch?

Should the 1.0.0 rc branch be removed/deleted/marked as inactive? Not sure proper process.

We can remove it, as it's not a supported branch.


Add  KBase-Gender Info in the bam_sex-check.txt output file

We have the gender exported from KBase and it is used for the sex_check and/or GATK_CNV.
Can we have this KBase-exported Gender field added as a column to the FreeBayes-sex_check.txt output?
Thanks.
C.
Example of Addition:
bam.sexCheck.txt
BAM     SAMPLE  POSITIONS_GENOTYPED     MISSING_GENOTYPES       TESTED_GENOTYPES        HOMOZYGOUS_TOTAL        HOMOZYGOUS_REFERENCE    HOMOZYGOUS_ALTERNATE    HETEROZYGOUS    HOMOZYGOUS_RATE HOMOZYGOUS_RATE_SEX_PREDICTION  B_ALLELE_GENOTYPES      BB_ALT_RATE     BB_ALT_RATE_SEX_PREDICTION      READS_ON_X      READS_ON_Y      TOTAL_SEX_CHR_READS     Y_READS_SEX_CHR_RATIO   READ_COUNT_SEX_PREDICTION       SEX_PREDICTION  SEX_PREDICTION_CONFIDENCE `GIVEN_KBASE_GENDER`
UTJMM_0061_1_PB_MNC_C2_TWUTJ.bwa.bam    UTJMM_0061_1_PB_MNC_C2  5166    99      3011    2921    2538    383     90      0.970   Male    473     0.810   Male    1471486 67071   1538557 0.044   Male    Male    High    `Male`

Add to v2.0, will hold till then


[Bug] NPE on GUI creation for ChestCommands

Reproduce steps:

Execute /ghcreate
Put items to opened inventory
Execute /ghcreate ChestCommands

Error:
[17:21:38] [Server thread/ERROR]: null
org.bukkit.command.CommandException: Unhandled exception executing command 'ghcreate' in plugin GUIHelper v1.6
	...
Caused by: java.lang.NullPointerException
	at me.gabytm.guihelper.generators.types.ChestCommands.addItem(ChestCommands.java:68) ~[?:?]
	at me.gabytm.guihelper.generators.types.ChestCommands.generate(ChestCommands.java:57) ~[?:?]
	at me.gabytm.guihelper.commands.CreateCommand.onCommand(CreateCommand.java:91) ~[?:?]
	at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[patched_1.12.2.jar:git-Paper-1618]
	... 15 more

The problem is config.get().getConfigurationSection(path) == null (ChestCommands:57).
Making it config.get().createSection(path) will solve the issue.

Well, it should be createSection() but I think I forgot to change it when I have moved from the old system, thank you for reporting it.

Fixed on #4


Support GitHub's Alert Markdown extension

I am currently immersed in the development of a new Hugo theme, which aims to provide users with a seamless experience when writing Hugo blogs using Obsidian. However, when it comes to Callout blocks like this:

[!important]
This is a Callout.

Things get stuck. While utilizing shortcodes and regex can be a workaround, it tends to be error-prone and lacks elegance.
Thus, I am curious whether the esteemed Hugo development team would consider enhancing the Markdown parsing engine to natively support GitHub-style Callouts.
Yours sincerely.

When this was proposed/implemented at GitHub, I suggested they used markdown attributes instead (which is certainly more standard and something Hugo could easily support).
They chose not to listen to me. But you could, e.g:
```callout {level="warning" }
This is a warning.
```

And add a code render hook for it.

When this was proposed/implemented at GitHub, I suggested they used markdown attributes instead (which is certainly more standard and something Hugo could easily support).
They chose not to listen to me. But you could, e.g:
```callout {level="warning" }
This is a warning.

And add a code render hook for it.

Thank you for your kind reply, @bep. Using markdown attributes is indeed a more Markdown-standard solution, and I will try it in my development. I might also come up with another solution for our Obsidian users to write with ease.
I won't close this issue, and if there are any breakthroughs, I will update it.
Have a day as amazing as you are :)

GitHub's implementation is OK if you speak English. But for the rest of the planet, not so much.
Using English words in the callout designator (e.g., [!NOTE])  is fine, but the rendered callout type is always English. For example:
> [!NOTE]
> Das ist meine Notiz.

[!NOTE]
Das ist meine Notiz.

The above is just... rude.
We could support this monolignual syntax with a Goldmark extension, or (preferably) provide multilingual support via a blockquote render hook.
The blockquote render hook would parse the first line, looking for a callout designator (e.g., [!something]), and provide this context to the render hook template:

.Text -- The blockquote text.
.PlainText -- The blockquote text as plain text.
.Page -- A reference to the current page.
.Ordinal -- The zero-based ordinal of the blockquote on the page.
.Position -- The position of the blockquote within the page content.
.IsCallout -- Returns true if the blockquote has a callout designator.
.CalloutType -- The callout type converted to lowercase.
.CalloutText -- The blockquote text, excluding the callout designator.
.CalloutPlainText -- The blockquote text as plain text, excluding the callout designator.

Ordinal and position are desired but not required. The ordinal is handy for assigning element ids, and the position is handy for error reporting.  Example render hook:
{{ $emojis := dict
  "caution" ":exclamation:"
  "important" ":information_source:"
  "note" ":information_source:"
  "tip" ":bulb:"
  "warning" ":information_source:"

}}

{{ if .IsCallout }}

      {{ transform.Emojify (index $emojis .CalloutType) }}
      {{ or (i18n .CalloutType) (title .CalloutType) }}

    {{ .CalloutText }}

{{ else }}

    {{ .Text }}

{{ end }}

Have there been any breakthroughs here? I wrote a Python script for an All-in-One regex and S3 image upload, and it works well for me for now. However, I'm still hoping for native support for GitHub alerts. Markdown syntax does have its quirks, but it's currently the most widely used format. :)
PS: My dummy Python regex
alert_pattern = re.compile(r'^>\s*\[!(.*?)\]\s*\n((?:>.*\n)*)', re.MULTILINE | re.DOTALL)
def replace_alert(match):
    alert_type = match.group(1).strip()
    content = match.group(2).replace('>', '').strip()
    return f'{{{{< alert "{alert_type}" >}}}}\n{content}\n{{{{< /alert >}}}}'

content = alert_pattern.sub(replace_alert, content)

I've tested both types of hooks with various scenarios, and both are working really well. I'm working on the docs now, and will probably finish by tomorrow evening.

I've been trying this out following the new documentation and it works great, thanks to @bep and @jmooring.
I have however noticed that the alert type's seem to be hardcoded to only accept a few preset types (the five mentioned in GitHub's alerts documentation) - which makes sense because this ticket was for exactly that!
However, it would be quite helpful if we could define additional alert types. I use Obsidian and this change is great because Obsidian does alerts the same way as GitHub, but supports a few more alert types, see here for the list (stuff like info, danger etc).
Would @bep consider adding functionality to allow the user to manually define their own alert types in config.yml?.

@jakeprice-me Please open a new issue.


Restarting or restoring after chromecast session (VMAP)

Hi all,
I'm trying to find a way to restart, pause or restore after a chromecast session (e.g. playing in videojs, then chromecasting, then back to playing in browser) within the same videojs player session.
I've tried

https://developers.google.com/interactive-media-ads/docs/sdks/html5/client-side/faq#8 (calling destroy() on AdsManager and contentComplete() on AdsLoader) and then calling player.ima.changeAdTag with an updated AdTagUrl (to make it unique for IMA).
(re) calling player.ima() with an updated AdTagUrl
but no cigar.

Is there any way to temporarily pause videojs-ima (during the cast session) or restart this plugin?
Thanks!

Solved. For reference:
player.ima.getAdsManager?.().destroy();
adsLoader?.contentComplete();
player.ima.changeAdTag(updatedAdTagUrl);
player.ima.requestAds();
Is the way to go.


Upgrading Ansible to latest version

2.3 has a feature - new 'order' play level keyword that allows the user to change the order in which Ansible processes hosts when dispatching tasks.
With all the moving parts of Mantl this feature would be nice.

To my knowledge this should read 2.3 because 2.8 does not exist in the Ansible source.

Thank you @bbaassssiiee I have corrected the OP.

This will not happen for Mantl 1.x as we are only supporting 1.x as an LTS. There is too much bit-rot to build upon and we have to get away from maintaining a k8s fork. We are currently planning the re-write of Mantl from scratch, you can view the progress and contribute here: https://github.com/cloud-endeavor/endeavor


fix: helm install karpenter failed if ns not created

What happened:
➜  karpenter-provider-alicloud git:(main) make apply
2024/11/07 21:20:24 Using base cgr.dev/chainguard/static:latest@sha256:1c785f2145250a80d2d71d2b026276f3358ef3543448500c72206d37ec4ece37 for github.com/cloudpilot-ai/karpenter-provider-alibabacloud/cmd/controller
2024/11/07 21:20:24 git doesn't contain any tags. Tag info will not be available
2024/11/07 21:20:24 Building github.com/cloudpilot-ai/karpenter-provider-alibabacloud/cmd/controller for linux/arm64
2024/11/07 21:20:24 git doesn't contain any tags. Tag info will not be available
2024/11/07 21:20:24 Building github.com/cloudpilot-ai/karpenter-provider-alibabacloud/cmd/controller for linux/amd64
2024/11/07 21:20:33 Loading ko.local:e95a9413b513d373523b8ea01a649e3450180267e2fa4e9cb7a26806b17c3d34
2024/11/07 21:20:35 Loaded ko.local:e95a9413b513d373523b8ea01a649e3450180267e2fa4e9cb7a26806b17c3d34
2024/11/07 21:20:35 Adding tag latest
2024/11/07 21:20:36 Added tag latest
helm upgrade --install karpenter charts/karpenter --namespace karpenter-system \
         \
        --set logLevel=debug \
        --set controller.image.repository=ko.local \
        --set controller.image.tag=e95a9413b513d373523b8ea01a649e3450180267e2fa4e9cb7a26806b17c3d34 \

Release "karpenter" does not exist. Installing it now.
Error: create: failed to create: namespaces "karpenter-system" not found
make: *** [Makefile:55: apply] Error 1

What you expected to happen:
Install karpenter successfully even if ns doesn't be created beforehand
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Environment:

Karpenter-provider-alibabacloud version (use git describe --tags --dirty --always):
AliCloud ACK version:
Others:

cc @Vacant2333 Please take a look

@jxs1211 hi,u can follow the helm charts installation guide at the chatrs direction


The Auto-Response Messaging Tool

When you see a Friend or a Guildie post to Guild or LFG, we'll have the option to auto-respond with your current spec and gear stats when a group they post matches what you're after.
Should turn itself off if you are:
In a group.
In a battle ground or arena queue.

Also dont respond if AFK, or if the instance is filtered, saved, or out of level range

Sound should only fire when a group posted by friends matches your interests.
Sound should only fire when you aren't already in a group, battleground, or arena.
We'll also need an option to turn that sound off, under Character Options.
Groupie Sounds
[X] Play a Sound When Friends or Guildies Post Their Groups
(On by default)
https://www.wowhead.com/wotlk/sound=17318/lfg-dungeonready
/script PlaySound(17318)
From #31

also, we shouldnt auto respond to ourselves :)


Image 2 image with Diffusers?

Is there a way to use Kolors diffusers code for img2img?  ie use a source image and change it with a text prompt?

from diffusers import KolorsImg2ImgPipeline

Thanks, I totally missed that.


Whitelist UX changes for the main popup

Reviewer: @andrey-p @dharb
CC: @alohaas

Description:
Following up from #137, second part of the UX changes: main popup.
Sorry for the messy diff, once #137 is merged it should be fine.
TODO:

[ ] Pre-populate the whitelist input field with last visited site

Steps to test this PR:

Build and reload the extension
On special pages, when the popup is disabled, the "manage whitelist" and "report broken sites" piece should look disabled as well. Clicking on either of those links shouldn't have any effect
On any other page, "manage whitelist" should open the options page (to test the whitelist adding/removing functionality, see testing steps in #137), white "report broken site" should open a mailto:link with correct URL and browser information
Click on the privacy protection toggle to whitelist a site: there should be an "added to whitelist" message appearing briefly, before reloading the page
Open the popup and click again on the toggle button to remove the site from whitelist: this time the page should reload immediately
Reset stats or remove and re-install the extension to verify the layout with the no-data graphbar

Automated tests:

[ ] Unit tests
[ ] Integration tests

Reviewer Checklist:

[ ] Ensure the PR solves the problem
[ ] Review every line of code
[ ] Ensure the PR does no harm by testing the changes thoroughly
[ ] Get help if you're uncomfortable with any of the above!
[ ] Determine if there are any quick wins that improve the implementation

PR Author Checklist:

[ ] Get advice or leverage existing code
[ ] Agree on technical approach with reviewer (if the changes are nuanced)
[ ] Ensure that there is a testing strategy (and documented non-automated tests)
[ ] Ensure there is a documented monitoring strategy (if necessary)
[ ] Consider systems implications

@dharb that is so weird, and I can't reproduce on my machine! Investigating...

What a bizarre bug, great thinking with reverting the height. No clue why that was translating to width 🤕 .
Looks good to me on both linux and macOS now.


Faster env activation

For #7849

Get activated environment variable activation ourselves (& not using Python extension)
Note: We still rely on python extension to generate the commands used to activate an environment

Here are some stats:

Non-Conda - Our code takes 300-400ms and Python extension takes 1300-1500ms
Conda - Our code takes 5s with conda and Python extension takes 10s

So we're definitely saving a few seconds

Codecov Report

Merging #8342 (9b5412f) into main (14f28cd) will increase coverage by 0%.
 Consider uploading reports for the commit e58289c to get more accurate results

@@          Coverage Diff           @@
##            main   #8342    +/-   ##
======================================
  Coverage     71%     71%
======================================
  Files        373     376     +3
  Lines      23554   23724   +170
  Branches    3619    3652    +33
======================================
+ Hits       16881   17048   +167
+ Misses      5211    5208     -3
- Partials    1462    1468     +6

Impacted Files
Coverage Δ

src/client/common/process/currentProcess.ts
50% <50%> (ø)

src/client/common/process/interpreterActivation.ts
76% <76%> (ø)

src/client/api/pythonApi.ts
68% <100%> (-1%)
:arrow_down:

src/client/api/serviceRegistry.ts
100% <100%> (ø)

src/client/common/installer/productInstaller.ts
50% <100%> (-1%)
:arrow_down:

src/client/common/process/proc.ts
70% <100%> (+5%)
:arrow_up:

src/client/common/process/processFactory.ts
90% <100%> (+<1%)
:arrow_up:

src/client/common/process/serviceRegistry.ts
100% <100%> (ø)

...rc/client/common/process/pythonExecutionFactory.ts
79% <0%> (-4%)
:arrow_down:

... and 24 more


[RFC] Development plan

I create this in order to gather the development resources and track the task list. At this moment, IC team from Ali and Intel developers covering container runtime parts will explicitly participate in this project. Also, I‘m glad to add more tasks to detail our works according to the feedback.
Components

shim-rune @haosanzi
rune and PAL API v4 @YangLiang3, @bigdata-memory
agent-enclave @YangLiang3 @arronwy @zhiwei-intel-h
Gramine (including PAL adaption) @ying2liu, @bigdata-memory
Occlum (including PAL adaption) @qzheng527
FUSE encryption fs
CI/CD

Milestone 1: Initial PoC (May)
The goal is to enable enclave-cc arch with a LibOS to launch an unencrypted/unsigned hello-world container image. The first LibOS to support this milestone is Occlum. Gramine still needs to discuss about PAL API adaption.

[ ] shim-rune supports to launch agent-enclave during Pod creation. @haosanzi
[x] agent-enclave supports to pull unencrypted/unsigned image and unpack it as OCI bundle to unprotected storage. @zhiwei-intel-h @YangLiang3
[x] the LibOS in app enclave can mount the OCI bundle from unprotected storage as app container rootfs. @zhiwei-intel-h @qzheng527 @YangLiang3
[ ] discuss and design the PAL API v4 changes. @YangLiang3 @ying2liu @bigdata-memory
[x] Occlum PAL API adaption. @qzheng527
[ ] documentation works (in documentation repo and this repo).
[ ] provide a build and test script/Makefile to help to develop enclave-cc.
[ ] add the basic CI/CD for compilation error check.

Milestone 2: Second PoC (June)
The goal is to enable the image protections and operator deployment for enclave-cc.

[ ] import shim-rune and rune components with a clean base from IC project. @haosanzi @YangLiang3
[ ] Gramine PAL API adaption (see https://github.com/confidential-containers/enclave-cc/issues/7 for details).  @ying2liu, @bigdata-memory
[ ] add the image encryption support. @zhiwei-intel-h  @YangLiang3
[ ] add the image signature verification support. @zhiwei-intel-h @YangLiang3
[ ] enclave-agent as a single process needs to integrate attestation-agent as internal module/service. @jialez0
[ ] add the local attestation support between agent enclave and app enclaves. @YangLiang3
[ ] all design opens closed.
[ ] add CC operator support to deploy enclave-cc.
[ ] add the CI/CD runtime test on genuine SGX 2.0 machine for enclave-cc project.
[ ] enhance CI/CD to cover above new features.
[ ] add E2E K8s CI/CD test.
[ ] add nightly test.

Milestone 3: Formal enclave-cc (July)
The goal is to accomplish the initial design of enclave-cc.

[ ] implement that API limiting.
[ ] support FUSE encryption filesystem.
[ ] rebase shim-rune and rune from IC and upstream. @haosanzi @YangLiang3
[ ] enhance CI/CD to cover above new features.

Follow-up Story

create the coordination of enclave-cc and kata-cc on Intel CPU, forming the so-called “small TEE and big TEE" similar to "small core and big core", and deploy them together in a node.
kata-sgx

Reference

enclave-cc design discussion
enclave-cc design doc PR

"enclave-cc v0 PoC"

Just thinking out loud but I wonder if it would make sense to get this work tied to the master project "CCvX" milestones somehow rather than using it's own versioning which is behind the master project. After all there are many components we share.

import shim-rune and rune components (without commit history) from IC project directly.

Is there some functionality in these we don't need for enclave-CC? IIRC you mentioned the carrier framework stuff isn't necessary. I was wondering would it make sense to clean-up things a bit first?

the LibOS in app enclave can mount the OCI bundle from unprotected storage as app container rootfs.
Gramine PAL API adaptation.

We should probably have a task that designs the PAL API changes. Also, this suggests that the milestone criteria is set so that both Occlum and Gramine are supported and validated for each feature. Should that target be made more explicit or we pick only either one for the POCs..
For the "v0" milestone I'd also suggest: all design opens closed.
For a later milestone we need a task to implement that API limiting.

Just thinking out loud but I wonder if it would make sense to get this work tied to the master project "CCvX" milestones somehow rather than using it's own versioning which is behind the master project. After all there are many components we share.

I try to rename the milestone names but not sure if they are appropriate.

Is there some functionality in these we don't need for enclave-CC? IIRC you mentioned the carrier framework stuff isn't necessary. I was wondering would it make sense to clean-up things a bit first?
We should probably have a task that designs the PAL API changes.
For the "v0" milestone I'd also suggest: all design opens closed.
For a later milestone we need https://github.com/confidential-containers/documentation/issues/21#issuecomment-1060642313.

Done.

I added "Components" and "Follow-up Story".

@jiazhang0 thanks!
I'm thinking we could also start moving some of these tasks to "Projects" soon to have better tracking for status.

@jiazhang0 thanks!
I'm thinking we could also start moving some of these tasks to "Projects" soon to have better tracking for status.

In IC project, I use "projects" to maintain components. So do you also mean this?

@jiazhang0 thanks!
I'm thinking we could also start moving some of these tasks to "Projects" soon to have better tracking for status.

In IC project, I use "projects" to maintain components. So do you also mean this?

Yes, that was my thinking but instead of doing it for components, we could track milestones.

@jiazhang0, can you add following name to the task list for components and Milestone 1?

rune and PAL API v4 @YangLiang3, @Gordon
Gramine (including PAL adaption), @Gordon, @Ying

Milestone 1

[ ]  designs the PAL API v4 changes. @YangLiang3
[ ]  Gramine PAL API adaption, @Gordon, @Ying

I created the first milestone 2022-04 as example. Let me know whether it makes sense to you.

@jiazhang0 looks good!

Move "Gramine PAL API adaption" from the first milestone to the second one.
It is confirmed that ying2liu is the dev and contact from Gramine team.
It is confirmed that qzheng527 is the dev and contact from Occlum team.
The first milestone will use Occlum to show the demo. Gramine adaption (decoupling design) needs to be discussed further.

@bigdata-memory Update the detail info for the task "Gramine PAL API adaption".

Add "enclave-agent as a single process needs to integrate attestation-agent as internal module/service. " to the second milestone.

The containerd 1.7 plans, including the new APIs, were discussed in last week's community call. Since we are still in the very early stages of the implementation, I think we should (re-)think which approach is best for enclave-cc. I'm planning to take a closer look how the 1.7 design for enclave-cc would look. Thoughts on this topic?

@mythi Thank you for raising up this. The containerd changes would happen and affect kata-cc as well so eventually we will switch to new approach of containerd if kata-cc decides to follow up it. I guess offloading image pulling to TEE is still a basic principle of CC community so the possible impact is shim api change, which is controllable for enclave-cc.

(Occlum as basic Libos)
What Have Done:
According to the architecture’s steps (mark as completed status by green text )

Completed create and exec agent enclave container based on rune and Occlum(Step 1)
Completed pulling the common image(Step 3)
Completed unpacking image to bundle(Part of Step 5)
Completed mount rootfs and exec User Application(Hardcode fuse key)(Step 8)
Rune PAL API V4 has been submitted to CC community

What Have Left:

Ttrpc communication between shim-rune and image management  (Intel & Alibaba Co-work) (Step 2)
Setup RA and get the decryption key between Verdictd(KBS) and Attestation Agent (Alibaba) (Step 4)
After getting the decryption key, decrypt the image(Intel) (Part of Step 5)
Get fuse key by LA between agent enclave and App enclave(Intel & Alibaba) (Step 7)
Rune attest command in Rune PAL API V4 is still under discussion.

Plan update:
Postpone the following 3 items one month, because it is insufficient to submit the PR on time. Most of efforts are occupied to implement the initial PoC. The design doc of shim-rune would be submitted in the end of this month.

import shim-rune and rune components with a clean base from IC project. (May to June)
all design opens closed. (May to June)
implement that API limiting. (June to July)

Update: shim-rune already supports to launch agent-enclave during Pod creation.

Update: shim-rune already supports to launch agent-enclave during Pod creation.

@jiazhang0 is this using the pre-created bundle format?

Yes. A pre-created oci bundle for agent-container/enclave is needed because agent-container/enclave is the first component along with pod creation so there is no direct support for it to pull and unpack it in the form of container image in a TEE.

Update： Currently we have completed the first stage of POC that we could use k8s to deploy user app hello-world successfully.
We test the startup time of POD from creating to ready is about 11 seconds, and will optimize it in the future to be less than 10s.

@zhiwei-intel-h - Would it be possible to break down that 11 seconds to show where that time is being spent? Presumably most of the time is spent pulling the image, but it would be interesting to understand how the remaining time is divided between the remaining steps (if possible - do the current logs provide sufficient detail I wonder?).

@zhiwei-intel-h - Would it be possible to break down that 11 seconds to show where that time is being spent?

Also, what's the "baseline" value without enclave-cc in the same environment.

Update： Currently we have completed the first stage of POC

Let's document the key takeaways from the first milestone: were there unexpected issues that require proper fixing in subsequent milestones. any changes in the design or milestone plans based the learnings?

Milestone updates:

Move the initial PoC demo in cc meeting to June, because the boot time is still long a bit.
Keep the original goal of June, supporting image protections and remote attestation.

@mythi @jodh-intel  we are preparing the time statistics of launch pod and making some optimizations.  Due to the China Dragon Boat Festival, the data will be posted after the holiday. Thanks

shim-rune launch enclave-agent container：
time="2022-06-06T19:01:51.255097194+08:00" level=debug msg="createAgentContainer() end" end time="2022-06-06 19:01:51" name=containerd-shim-v2 source=containerd-rune-shim-v2 start time="2022-06-06 19:01:49" total time cost=1.45895407s
shim-rune send request to pull image:
time="2022-06-06T19:01:55.848000611+08:00" level=debug msg="PullImage() end" end time="2022-06-06 19:01:55" name=containerd-shim-v2 source=containerd-rune-shim-v2 start time="2022-06-06 19:01:51" total time cost=4.56953493s
shim-rune launch app-container：
time="2022-06-06T19:01:56.611420379+08:00" level=debug msg="create App Container() end" end time="2022-06-06 19:01:56" name=containerd-shim-v2 source=containerd-rune-shim-v2 start time="2022-06-06 19:01:55" total time cost=753.127063ms

@jiazhang0 is this issue still relevant or can be closed?
If it's still relevant to what release do you think we should map it to (mid-November, end-December, mid-February etc...)?

@jiazhang0 is this issue still relevant or can be closed?

@jiazhang0 I think most of the items originally covered by this plan are now complete. Maybe we can close this and track any remaining items in their own issues?


Mismatch between displayed and actual # of photos in Timeline

Very simply put, PhotoView's main screen displays "615" for the count of photos in my "Timeline" album, whereas it actually contains only "1" photo. To further illustrate the count mismatch issue, PhotoView had been displaying "623" before I visited photos.google.com and sent 8 photos from "Archive" to "Trash".
Hoping there's a way for PV or GP to sync this count accurately (as I pride myself on filing GP images into folders on Google Drive, leaving none in the "Google Photos" folder, leaving the count near "0" at all times). Reason: I don't want the people using Roku in my absence to have unfettered access to every photo I take while on the road!
NOTE: For the same reason, it would be NICE (probably already a Feature Request) to be able to limit PhotoView's access to certain Albums and no others, in a manner similar to how we can already pre-select the album(s) used by ScreenSaver!

Known issue. This is due to removal of archived items in in the final view

On the off chance that further feedback would help isolate possible causes of this Known Issue, I took two screenshots to demonstrate the "count mismatch".
PhotoView welcome screen, incorrectly showing "44 photos" in Timeline:
https://photos.app.goo.gl/rEQasSnpGD8sfhec8
PhotoView album screen of Timeline (selected on previous screen), showing "2 photos":
https://photos.app.goo.gl/ptKJ8k6yHDoar9my7
NOTE: The latter is accurate; I currently have only two images in Google Photos proper.

This issue should be resolved now with the newer Google API. Closing.


As a user on a profile page, I ant to be able to define my own custom time bound for up to a 12 month period.

If we have data over a period of time (several years), would it be possible to see how trends look?


Removing the masking out

A MAE with a Unet like ours is actually a dual learning strategy. 1) creating accurate embeddings at patch level to reconstruct the input image, and 2) masking out to learn semantics across patches through interpolation.
The latter, masking out works really well for semantics that cover several patches, but can fault terribly for semantics fully contained on one patch without much relation elsewhere. E.g. a small forest clearing or fire, an aquaculture, ... Moreover in those cases where some neighbors are semantically mostly empty (water) the masked self-attention might put more aquaculture semantics on the empty water patch next to it, that the patch itself which also has the coast and other stuff within it.
The current 75% masking ratio overly emphasizes interpolation, diluting the model's focus on learning discrete, isolated semantic features critical for our applications.
I propose we greatly reduce (10% tops) or eliminate masking to prioritize direct learning from unmasked, full patch data. May be even tightening the self attention weights.
Lowering or removing the masking ratio will allow the model to more effectively learn and retain high-fidelity semantic information from each individual patch, aligning with our priority of achieving precise semantic understanding at the patch level, specially when fully contained.
@leothomas @MaceGrim @yellowcap @srmsoumya

I chatted with @yellowcap and @lukaskondmann and I think I was wrong.

If you don't mask enough, the task is too easy for the MAE and it will not learn meaningful things. So I would not do this. You could in principle make the embedding space very constrained and that would make it more difficult but this resembles more the style of other autoencoders and not MAE. Would not combine super well I think.

source
This, combined with the fact that we can, in v1, input smaller chip sizes, means that the patch embeddings is less relevant.
The underlying factor is that patch embddings are not designed to be used isolated. The opposite, the are desgined to contain the context around them, therefore are not well suited to be used for isolated similarity search. Opening a ticket on that now.


Add pod annotations to container

We have the annotations SandboxID and SandboxName, let's use them. This also allows kata containers to be created in pods
partial fix to https://github.com/containers/libpod/issues/4353 (we don't need to add the annotations manually, but still need to disable selinux labeling manually)
Signed-off-by: Peter Hunt<EMAIL_ADDRESS>

PTAL @zer0def

LGTM, assuming that's the right spot to retain the info.  I'll let other chime in on that part.

/hold
this needs some thinking

As of 1342d713dc6bd2aca15039f323ae87a99abfda98 along with the patch at the end of this message:

flow from #4353 point 2.2. works, even if it causes the sandbox/VM to SIGABRT on pod destruction (which might be a separate issue outside of the scope of this one)
flow from 2.1 of the same issue fails without explicitly stating the annotations that would attach the container to a given sandbox, plus given how this was used as a workaround to just get any working result, I'd say it's fine to leave it be as-is
play kube still fails along the same lines as 2.2 did, but that should be an easy port

I've also removed the complementing condition for podInfraID != "" that explicitly set ContainerType=sandbox just to err on the safe side in case there's ever a runtime whose behavior would conflict with this annotation in some way. After testing, it worked just fine.
diff --git a/cmd/podman/shared/create.go b/cmd/podman/shared/create.go
index b9c1aa86..e158a8c2 100644
--- a/cmd/podman/shared/create.go
+++ b/cmd/podman/shared/create.go
@@ -12,7 +12,7 @@ import (
 	"syscall"
 	"time"

-	"github.com/containers/image/v4/manifest"
+	"github.com/containers/image/v5/manifest"
 	"github.com/containers/libpod/cmd/podman/shared/parse"
 	"github.com/containers/libpod/libpod"
 	"github.com/containers/libpod/libpod/image"
@@ -586,8 +586,6 @@ func ParseCreateOpts(ctx context.Context, c *GenericCLIResults, runtime *libpod.
 	if podInfraID != "" {
 		annotations[ann.SandboxID] = podInfraID
 		annotations[ann.ContainerType] = ann.ContainerTypeContainer
-	} else {
-		annotations[ann.ContainerType] = ann.ContainerTypeSandbox
 	}

 	if data != nil {

@haircommander Any update on this PR?

@rhatdan @zer0def whoops, this fell through the cracks. Added the changes as suggested. PTAL

/lgtm
/approve

@zer0def could we make it work with play kube?

@rhatdan I'm not much of a golang coder, but since current changes revolve around cmd/podman/shared/create.go:ParseCreateOpts that returns a CreateConfig, my guess would be that similar logic could be introduced to pkg/adapter/pods.go:kubeContainerToCreateConfig. It would require confirmation from someone a bit better versed with the language and codebase than I current am, though.

I can take care of that later today

Something like this does the trick, though I would deem it more of a hack than a proper solution, with code duplication and all.
diff --git a/pkg/adapter/pods.go b/pkg/adapter/pods.go
index 6648edc8..ae118c79 100644
--- a/pkg/adapter/pods.go
+++ b/pkg/adapter/pods.go
@@ -17,6 +17,7 @@ import (
        "github.com/containers/libpod/libpod"
        "github.com/containers/libpod/libpod/image"
        "github.com/containers/libpod/pkg/adapter/shortcuts"
+       ann "github.com/containers/libpod/pkg/annotations"
        ns "github.com/containers/libpod/pkg/namespaces"
        createconfig "github.com/containers/libpod/pkg/spec"
        "github.com/containers/libpod/pkg/util"
@@ -791,6 +792,19 @@ func kubeContainerToCreateConfig(ctx context.Context, containerYAML v1.Container
        }
        containerConfig.Env = envs

+       annotations := make(map[string]string)
+       pod, err := runtime.LookupPod(podID)
+       if err != nil {
+               return nil, err
+       }
+       podInfraID, err := pod.InfraContainerID()
+       if err != nil {
+               return nil, err
+       }
+       annotations[ann.SandboxID] = podInfraID
+       annotations[ann.ContainerType] = ann.ContainerTypeContainer
+       containerConfig.Annotations = annotations
+
        for _, volume := range containerYAML.VolumeMounts {
                hostPath, exists := volumes[volume.Name]
                if !exists {

@zer0def thanks, your approach was basically what I was going to do :)

Can confirm both cases of creating a pod with an infra container and play kube run just fine with this PR.

/lgtm

/hold cancel

@haircommander Thanks for the PR.
I verified that the containers for a pod are launched in a single qemu instance for Kata with this PR provided that the infra container is present.
Afaik, Kata should not have a dependency for the infra container, (we had one earlier for sharing PID namespaces)
So, I wanted to try to see if that would work with podman, but what I am seeing with podman is that without the infra container, containers in a pod have different IP addresses and hostname, which surprised me.
Aren't containers in a pod supposed to have the same IP address and share network,uts and ipc namespaces?
cc @giuseppe

@amshinde right now, we're kind of using the infra container as a crutch (mostly because I don't really understand the needs of kata).
Let's imagine pods and kata work without infra. if a pod is created without an infra container, the first container would become the owner of the vm (annotated as sandbox) and the other containers that are added to the pod attach to that vm (annotated as container).
If the first container in the pod is removed (which it can be if it's not marked an infra), what happens to that VM? who should the other containers add as a reference for sandboxID (to attach to the VM)
Relying on the infra container here is the most clear way to make sure there is a container running that holds the VM, that the other containers can always rely on joining to.
is my understanding correct for how the kata VM works?

Let's imagine pods and kata work without infra. if a pod is created without an infra container, the first container would become the owner of the vm (annotated as sandbox) and the other containers that are added to the pod attach to that vm (annotated as container).

You are right there. But Kata also does not rely on the pause container being the last one to exit iirc.
So, I thought this could work. (The sandboxId could be the id of the first container or a uniquely generated one)
But given the limitation of pods without infra container in podman today(https://github.com/containers/libpod/issues/4531), this would definitely not work with Kata. Kata does rely on containers sharing the same namespaces and having a single IP.

@amshinde You can still create a pod without an infra container (which is also what would be, as you put it, "a uniquely generated one") by following these instructions coutresy of @mheon . It's just unnecessarily tideous, on top of not providing namespace guarantees for other containers in the pod to rely on, as @haircommander outlined.
Do mind that this PR hasn't yet been part of a stable release, in which case the behavior you're describing is expected as of the current latest stable, because each container will be started as a separate VM due to not receiving appropriate container-type and sandbox-id annotations.


renderer: implementing HTML5 fullscreen api

initial work for #1314 based on the process described here doesnt work yet.
/cc @zcbenz

Need to send back viewmsg_resize_params as ipc to render process to call render_view()->OnResize with it.

closing in favour of https://github.com/atom/electron/pull/1455


Updated colors to support Mattermost themes

Summary
Updated colors to support Mattermost themes
Ticket Link
Fixes https://mattermost.atlassian.net/browse/MM-57748

Thanks @harshilsharma63! I added a comment separately and rquesting one more change: In webapp/src/components/surveyPost/linearScaleQuestion/style.scss, line 35, under &.disabled, the color variable set might be incorrect. I think we can update it to background: var(--center-channel-color-08);

Done!

@abhijit-singh can please please try this out?