[RVT-2583] Investigate best way to boot hub for development

Requirements

Make getting backend & hub up and running as quickly as possible
Allow running hub independently without the backend

Options

What we do now: run webpack for the other repo and manually set BASE_URL
Automatically deploy to Cloudflare Pages from backend Terraform
Serve the repo through Traefik with a local-built copy
Serve the repo through Traefik with a webpack hot reload server

Other notes

Need to find a simple way to merge hub_origin_regex and hub_origin

From SyncLinear.com | RVT-2583

Out of sync with Linear


Add function icons

As discussed in #14 it would be nice to have icons for some other functions:
The Regular Theme has some great looking Icons that munlik has kindly approved usage of. Maybe we can use these in the theme?
I need to experiment a little bit!

I made a few icons myself, but they must be licensed based on the source (nounproject.com) and I am not ready to deal with said licensing yet. So far I have a Memtest icon and Apple Recovery icon in place and working.


CurrentCommandMetada Flow

Should CurrentCommandMetada flow between Aggregate Roots? AR CurrentCommandMetadata is set by DefaultCommandContext. If AR load/creates and invokes method on some other AR, CurrentCommandMetadata is not propagated.
I think this functionality needs to be added to the AggregateRoot Load, TryLoad anc Create implementation.
https://github.com/d60/Cirqus/blob/master/d60.Cirqus/Commands/DefaultCommandContext.cs

Yes it should! I'll investigate when I get some time, maybe today or tomorrod

I could try prepare a PR if needed.

That would be awesome!

Sendt fra min iPhone

Den 18/07/2015 kl. 11.55 skrev Matej Hertis<EMAIL_ADDRESS>I could try prepare a PR if needed.
—
Reply to this email directly or view it on GitHub.

Hi @mhertis , did you do anything about this? if not, I can take a look at it today...

Unfortunately, I did not manage to find time.

excellent - I'll get right on it :)

Hmm, I don't seem to be able to reproduce the bug - if I understood the problem correctly, it was about metadata not flowing correctly to events emitted by other root instances that were created/loaded by an aggregate root?
Could you maybe take a look at the test I made to see which part of the problem I didn't nail correctly? I coded three test cases where the FlowsCorrectlyViaRootLoadingOtherRoot is my attempt at recreating your issue....

Yes, that seems to be a problem. Will check it out, just a sec =D

ah, I extended the test case to use both TestContext and the real CommandProcessor  - I got an error with the real one, I'll investigate further :)

fixed it - waiting for the tests to pass and then 0.61.4 will be pushed to NuGet.org

@mhertis thanks for reporting the issue btw :+1:

great, anytime =D


Update bot.js

Added a default message for the commands which aren't valid .

@reapedjuggler Thanks for the PR ☺

Can you make the PR more descriptively titled?

Please mention the issue number with the appropriate keyword. Eg. Fixes # Ref

Changed the title of the issue and provided a brief description :)

@reapedjuggler It seems like you updated the commit messages with the references. That's great. but Can you also update the Pull Request title as well as Pull Request description with reference to appropriate issue number like you did in the commit.

Also any ref for "How to change the description of the PR" will be helpful ?

@reapedjuggler

@reapedjuggler Did you check this out locally? Can you post a screenshot of how is the bot responding?
@Arnav-Khare Can you review it once too :)

LGTM...


Update to Angular 18

### Tasks
- [ ] Update Angular to 18
- [ ] Update typescript
- [ ] Update ng-bootstrap
- [ ] Check the demo app for bugs
- [ ] Add a major changeset
- [ ] Create a migration page entry
- [ ] Update security.md
- [ ] Update peer dependency in styles package
- [ ] Update common-tracing
- [ ] Update blueprint

Maybe also consider making the components standalone.

Maybe also consider making the components standalone.

@MonsieurBon that would be up to ng-bootstrap, we're just providing styles. But the library does not seem to be maintained as actively anymore.


Sort variants by bandwidth ascending to align with hls.js behavior

The variant list in the UI has the variants in the order that they appear in the manifest, but HLS.js is sorting them by bitrate in ascending order - this means that the variant changing mechanism potentially switches to a different variant than the one the user selected (unless the manifest is ordered that way already, which it often is). This sorts the the list in the same way.

I ended up flipping this - the rest of the code expects the player to start with the "first" variant in the list, which when sorting in ascending order is the lowest quality variant - not a great default behavior. I updated it to sort on bitrate descending, and then invert the index when setting it in HLS.js.


fix: white is should be rgb(255, 255, 255)

Description
it is black, but should be white. It's a black and white issue.

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] I have signed the Adobe Open Source CLA.
[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[x] I have added tests to cover my changes.
[x] All new and existing tests passed.

:tada: This PR is included in version 12.0.0-beta.6 :tada:
The release is available on:

GitHub release
npm package (@beta dist-tag)

Your semantic-release bot :package::rocket:


Publish imgpkg to TanzuNet

Why?
We want people to be able to consume imgpkg off of TanzuNet. We'd like imgpkg available on TanzuNet alongside the other tools in the suite.
TODO:

[ ] Learn how the other tools are made available (check the index?)
[ ] Create OSL ticket
[ ] Upload latest imgpkg to tanzunet (0.6.0)

The current system works via concourse at hush-house. We'll continue to use this system, adding in imgpkg, and further inquiring about whether OSL is needed.

I attached a package “imgpkg 0.6.0” to the OSM release “imgpkg 0.6.0"
And, I created a new product “imgpkg” with a version called “Latest” to use in our norsk pipeline.
The above 2 are pending OSPO approval.

Closing this issue (since imgpkg is published to tanzunet)
will create a new issue to capture the 'automation' piece to it.


Remove OpenSSL Requirement

Description
The addition of the reqwest dependency in #1000  brings in openssl / openssl-sys dependencies with its default features. It would be great if we could modify this dependency to disable default features, utilize the rusttls-tls feature instead of default-tls, and enable the other required default features.
To Reproduce
Please outline the steps to replicate the bug, and if possible, provide a comprehensive code example consisting of both main.rs and Cargo.toml files. A complete and functional code snippet would be highly appreciated.
Expected Behavior
No dependencies on the host's openssl installation.
Environment:
Additional Context
Building loco into minimal container images or the like works best with just rustls and not having to install openssl.
Also, cargo-deny's deny.toml could be used in the future to explicitly audit for openssl dependencies.
deny = [{ name = "openssl" }, { name = "openssl-sys" }]

thanks! yes, happy to accept a PR for this


feat: implement fal_results.json

Implements the fal_results.json. It is basically a mirror of the original DBT run results, but contains additional information for post-hooks and Python model scripts (including execution time, their name, executed thread, etc.).

@chamini2 an example fal_results.json file: https://gist.github.com/isidentical/b83eed5c8634e3e18965cd92238c2f61

This heavily touches on the flow runner internals, so I'll wait @chamini2's PRs to be first merged and then open this with a new rebase.


Expand embed's default width and height

Fixes #https://github.com/avalonmediasystem/avalon/issues/1798
In chrome, if an embeded swf is too small (ours was 1x1) it doesn't consider that content and will automatically disable flash on that page. This fix bumps up the size to 45x45, so that chrome will run it again.
This is what the 1x1 not working looks like with the disabled plugin icon->

And this is it working:

I'm merging this now but I still think 45x45 may cause problems if we want a smaller player later.


Mocking a module API pains

Firstly, I think jest is a great test runner and I appreciate all the hard work that has gone in to it. Awesome job 👍
However, the mock API does irk me. So I'd like to open this issue to see if there's something that we can do about it. Some documentation changes may help, some different APIs also may be beneficial.
Do you want to request a feature or report a bug?
Feature
What is the current API?
Here are some of my pain points with the mocking APIs:

Unclear semantics
The difference in semantics between jest.mock and jest.doMock are not apparent from the names alone, I have to check the docs to remind myself. Same goes for jest.unmock and jest.dontMock. And jest.resetAllMocks and jest.restoreAllMocks. And mockFn.mockReset and mockFn.mockRestore. I think you get the picture...

jest.mock hoisting
jest.mock calls are hoisted to the top of the scope (via babel-jest). The issues I see here:

Hoisting function calls to the top of the current scope is non-standard JS, it's a language extension. Users probably won't expect it, which may cause them problems until the new behaviour is learnt. For example:
// original
import foo from './foo'
jest.mock('./foo')
foo() // is this call mocked?

// transpiled output
jest.mock('./foo')
import foo from './foo'
foo() // yes! it is mocked.

It feels like the hoisting was added to fit in with the way existing tests were written, rather than attempting to change the way people write tests to fit the mocking problem. I think TestDouble.js has an interesting solution to this problem. An obvious rip off of their API might look like:
let mockedFoo = jest.replace('./foo')
let mockedBar = jest.replace('./bar').default // in this case bar is a default export
let subject = require('./subject') // subject now depends on mocked foo and bar

The CommonJS (CJS) module format is  more flexible for messing around with modules than ES6 modules (ESM). I would suggest keeping both the current API for ESM and introducing the new for CJS tests and in some future version suggest new tests should be written in the CJS style. This way the hoisting behaviour, as well as some of the lesser known caveats of ESM, can be avoided.

Large API surface
The API relating to mocking a module as of v22.4.2 consists of:

jest.mock/jest.unmock
jest.doMock/jest.dontMock
jest.setMock
jest.genMockFromModule
import * as foo from './foo' + jest.spyOn (See #936)
Manual mocks
require.requireMock
jest.enableAutoMock/jest.disableAutomock

Are all of these different methods of mocking a module required? Can a simpler, smaller API be found to cover the above cases? I don't have any immediate answers but would love to see what the community come up with.

I can probably fix most of these by using a 3rd party lib but it would be nice if Jest made some changes so I didn't have to. I willing to accept that I hold a minority opinion on these APIs and if so, it may not be worth anyones time to work on this. I thought it was worth raising all the same.

It's 1 AM here, so I'll save a larger response for later, but this article explains mocks pretty well: https://medium.com/@rickhanlonii/understanding-jest-mocks-f0046c68e53c
I do agree the API surface is probably larger than it has to be (and @cpojer has mentioned in the past that he'd like to revamp the API of it). Any concrete proposals (beyond the test double example).
/cc @rickhanlonii

I second this. jest mock API is convoluted, at best, and generally confusing, IMHO.

Do I need to reset, restore or clear a mock?
Why do restore work only on spies?
Is it a module or a mock that needs restoring?
Do I use genMockFromModule or plain .mock to mock a module?
Was it .mock that gets automatically hoisted... or is it doMock?
Why is there an unmock?
How do I partially mock a module's API?
Why is it not straightforward to declare mocks per test?

I'm not saying these questions don't have proper answers. I'm making the point that it's the fact that you need to consider those answers and think about them every time you (or at least I) write a test using jest. I end up losing myself in the docs and/or SO more than I feel I should.

@SimenB https://github.com/facebook/jest/issues/6180#issuecomment-392319592

That new proposal look awesome 👍. Adding my two cents: it would actually be beneficial to users if all other functions/methods get deprecated rather than this new chainable API be build on top or sit alongside them.

The aim of my new proposal is to add the new features alongside to get the feature out there as a minor release and then deprecate the old APIs in the next major release.

Regarding reset vs restore vs clear, I think we should just give them better names. clearInvocations, restoreOriginal, resetImplementations etc. More verbose, but you don't have to check the docs

And more clearly separate generic mock functions from module mocks would be good

Another honest concern that I can think of here is that, while this new API looks nicer and more user-friendly, does not actually address most of outlined problems regarding mocking creation.
At least in my experience, writing a mock was never an issue.
// This:
const isOdd = n => n % 2 != 0;
const mock = jest.fn()
  .when(isOdd)
  .thenReturn('🍌');

// Can be written now as:
const mock = jest.fn(n => isOdd(n) ? '🍌' : undefined);

Which is arguably equally readable.
Defining the contents of the mock function (the argument to fn()) was never a pain point. Just take a look at TC's list.
Thoughts?

Hi all, I've been using jest for quite a while now. I agree with OP that the runner itself is fantastic. That said, I've tried a number of times over the many projects I've used jest on to use jest mocks. I always run into confusion and problems. It's very possible that I'm doing something wrong and have some fundamental misunderstanding, but the current API doesn't appear to lead to the pit of success.
I think that the problems I've run into boil down to a simple fact: jest mocks are not generally safe to use between tests. That is, they leak state between tests by default. As far as I can tell, they leak recordings and implementations. If I mockReturnValue in a test then the next test will get that return value too if I don't manually restore the mock.
This plays poorly with some of the other features of jest like manual mocks. Here's an example of something I'm trying to do right now that led me to this issue.
__mocks__/service.js
export default {
  foo: jest.fn(() => 'original')
}

__tests__/mytest.js
import service from '../service'

it('original', () => {
  expect(service.foo()).toEqual('original')
})

it('override', () => {
  trelloService.foo.mockReturnValue('override')
  expect(service.foo()).toEqual('override')
})

it('original', () => {
  // none of these matter:
  // jest.restoreAllMocks()
  // jest.resetAllMocks()
  // jest.clearAllMocks()
  expect(service.foo()).toEqual('original') // FAIL
})

So, I know I'm doing something "wrong" here. I probably shouldn't be using manual mocks in these ways. However, the problem doesn't end with manual mocks. Many of the jest examples in the docs show mocks being created at the module level. This fails too:
const foo = jest.fn(() => 'original')

it('original', () => {
  expect(foo()).toEqual('original')
})

it('override', () => {
  foo.mockReturnValue('override')
  expect(foo()).toEqual('override')
})

it('original', () => {
  expect(foo()).toEqual('original') // FAIL
})

Furthermore, the necessity for jest.mock to be at the module level makes it more likely that jest.fn()'s will be created at the module level. Basically, every time I've used jest I've felt pushed to create mocks at the module level only to find that, like the north, mocks remember.
What I think would be fantastic is if:

There was a single function to completely reset mocks to the state they were in when they were created.
That function worked on jest.fn()'s created at the module level (or in manual mocks).
That function was called between tests by default.

I believe, if those were true, then mocks would "just work" and wouldn't leak state between tests.
The API mentioned above looks nicer, but, at least for me, this is the much bigger pain point.

Agree with most of the points raised by @aaronjensen above. The runner is phenomenal - but some design decisions baked into the API itself really irk me (and seems like I'm not alone here). To me, it seems as though Jest's API (not just mocks) really likes global state and hidden stuff:

All of its core depends on a foreign build tool (babel-jest).
All of its API is declared on the global object (never understood the reason behind neglecting imports).
Many non-obvious things can be happening in the background through config (like automatic reset of mocks).
Mocks remember state through tests.
Mocks can be shared trough test suites.
Mocks are automatically "hoisted" so what you write is not necessarily what gets executed.

The API mentioned above looks nicer, but, at least for me, this is the much bigger pain point.

☝This. I believe none of the listed points are really covered by the new design, unfortunately.

Thanks everyone, this is all great feedback, please keep it coming!
@nfantone @aaronjensen you both mentioned the mock state being remembered across tests. We have a config option to opt-out of this behavior: resetMocks. Turning this on will reset the mock calls and implementation (effectively re-declaring the mock) for every test. Does this fix that concern for you?

@rickhanlonii No, it doesn't, at least not for this:
const foo = jest.fn(() => 'original')

it('original', () => {
  expect(foo()).toEqual('original')
})

it('override', () => {
  foo.mockReturnValue('override')
  expect(foo()).toEqual('override')
})

it('original', () => {
  expect(foo()).toEqual('original') // FAIL
})

Likely because the arg passed to .fn is just shorthand for .mockImplementation. I'd expect it to be "stickier" than that so when a reset happens it'd reset to what I passed it originally.

Also, manipulating tests behavior through config always seemed arcane to me. I usually try to do without those kind of flags/switches that determine the outcome of expected results, despite having to be more verbose in my test files or write a bunch more code.
IMHO, an ideal runner would allow me to:

Import functions and matchers that I want to use to test a particular piece of functionality.
Declare mocks that are scoped to test blocks and do not leak state outside them.
Runs tests independent of it order.
Copy a single test(...) and move to it to another file with no consequences.

Unit tests are built around the concept of isolation. I think we should be applying the same ideas to the creation of tests.

Contributing to the discussion, I'm not quite sold on @aaronjensen expectations on the shown examples.

If you declare a mock function that's scoped to the entire module, I'd expect it to behave exactly like it does now. In my opinion, if you change its internal state, that's on you.
If you want different mocks for different tests, create them where they belong.

it('original', () => {
  const foo = jest.fn(() => 'original')
  expect(foo()).toEqual('original')
})

it('override', () => {
   const foo = jest.fn(() => 'override')
  expect(foo()).toEqual('override')
})

it('original', () => {
  const foo = jest.fn(() => 'original')
  expect(foo()).toEqual('original') // PASSES
})

I don't think there should be any "magic" involving mocks that would change their natural variable scope.

@nfantone I'd totally agree with you if it weren't for the rest of how jest works and what the examples in the documentation show.
The example you pulled from my post is the most contrived of all of the examples. The problem is complicated by jest.mock, which must (without some hoop jumping) be done at the module level. The API for jest.fn makes it appear as if you are setting the "default" state. For example:
import foo from 'foo'
jest.mock('foo', () => jest.fn(() => 'original'))

it('original', () => {
  expect(foo()).toEqual('original')
})

it('override', () => {
  foo.mockReturnValue('override')
  expect(foo()).toEqual('override')
})

it('original', () => {
  expect(foo()).toEqual('original') // FAIL
})

Suffers from the exact same problems as my original example. The only way to reset it would be to add a beforeEach with foo.mockImplementation(() => 'original'), in which case you can/should remove the argument to jest.fn. That is obviously a contrived example as typically you'd be importing from the actual module under test and testing that (that module would, in turn, import foo).
Also, see my example with the manual mocks. How would you create different mocks for different tests in that case? It is effectively not possible to create jest.fn with a default implementation that survives test runs and is temporarily overridable.
It boils down to defaults and documentation that lead to tests sharing state rather than the pit of success which would be completely isolated test doubles.
I really like the idea of keeping things at the module level as it avoids having to declare and assign lets like you would in testdouble but if the functionality doesn't actually work for it without bleeding state between tests, it really shouldn't be used in that way (or documented as such).
Perhaps related, it appears that there is actually a bug preventing jest.restoreAllMocks() and restoreMocks: true from working as intended: https://github.com/facebook/jest/issues/6059 https://github.com/facebook/jest/issues/5790 so it's possible that that is adding to the confusion.

Sorry to have only just caught up now. I'm glad to see other people are having similar trouble to me.
@SimenB @rickhanlonii I also agree with @nfantone and @aaronjensen, the new proposal looks cool but doesn't help these issues unfortunately.
@rickhanlonii I didn't know about the resetMocks config option. I don't think that will help, however the clearMocks option might. @aaronjensen does that cover the cases you've shared? If so, I think it should be enabled by default.
@nfantone Generally, I'd want to be able to create my mocks once and use them in multiple tests. I don't want the overhead of creating the mocks for a module in every it. The test runner already has some "magic" for each test and I think it's good and helpful if it's known and it's semantics are clear. Hence why I'm not a fan of jest.mock or the naming of various mock helper functions.
I want to work on a new API a bit, lacking time at the moment, perhaps end of this week or early next week

@aaronjensen does that cover the cases you've shared? If so, I think it should be enabled by default.

No, it does not. There is no setting afaict that causes jest.fn(...) to reset to the ... implemenation.

@aaronjensen You raise good points by pointing out how docs make things out to be. And yes, jest.mock is an entirely different beast. Have you tried mockImplementationOnce? I think it might be a good fit for your example:
const foo = require('foo');
jest.mock('foo', () => jest.fn(() => 'default'));

it('original', () => {
  expect(foo()).toEqual('default');
});

it('override', () => {
  foo.mockImplementationOnce(() => 'override');
  expect(foo()).toEqual('override');
});

it('original', () => {
  expect(foo()).toEqual('default'); // PASSES
});

And since we are on the topic...

@nfantone Generally, I'd want to be able to create my mocks once and use them in multiple tests. I don't want the overhead of creating the mocks for a module in every it.

I was actually referring to jest.fn(...), but I understand where you're coming frmo. Broadly speaking, I'm on board with the idea of "create once and re-use" if it is module mocking we are talking about. Unfortunately, in my experience, that kind of neat scenario doesn't come around too often. There's always this instance in which you would like to have a "default mock" implementation, but override it or make it behave differently for this one test. And jest API doesn't play very well with this kind of handling, unless you take very good care of crafting your tests and avoid falling into the pitfalls we are discussing here. My point being that "global module mocking" is only ever useful in contrived situations (http and other native modules mocking come into mind) and not generally applicable as they tend to favor state sharing and brake encapsulation.

Have you tried mockImplementationOnce? I think it might be a good fit for your example:

Yes, though that assumes that mock is only called the once in my test. That's often a safe assumption, but it's the kind of thing I don't want to have to think about. I typically would use a "once" method if I wanted a mock to only temporarily behave a certain way in the scope of a test. I realize that my mindset is clashing with the design of jest.mocks, but that's the point 😄


Flicker effect on report pages slightly larger than the viewport

In #311, the header of the load test report was reworked to get smaller when scrolling down. This may cause a strange flicker effect if the report page is slightly higher than the current viewport. In this case, scrolling down causes the header to shrink which in turn causes the page to fit on the page again which in turn causes the header to grow again, ...

Got submitted twice. See #358 for the original ticket.


There is no tag for 2.23.0 release

Fixed: https://github.com/haskell/haddock/tree/haddock-2.23.0-release.


Infinite Scroll demo some views are hidden in ViewPort

Hi
I was just checking the infinite scroll demo here,
http://runspired.github.io/smoke-and-mirrors/#/infinite-scroll
I noticed some views are still being hidden when scrolled randomly up and down, even when they are in the viewport. The top view div is changing to visible as expected but its the inner view which is still being hidden.
It would be nice if you can look into this, as I am looking this as an alternate to ember-cloaking for my app.
Thanks.

This is just a factor of not having pushed a new demo, has been fixed for ages :D
The blank views were the result of an attempt to cache the html output of views and re-hook them in later.  Unfortunately it turned out that could work in Ember 1.10 but not 1.11.  I pushed that work in to a feature branch and will revisit it if some of the fastboot work enables that approach to work again.
Pushing a new demo now.

ya its working great, Thanks.


Bump to Speech SDK >= 1.16.0

Feature Request
This is to resolve a ticket 235209208.
[feature-request]

Fixed in #3907.


feat!: bump version [APE-1555]

What I did

fixes: #
How I did it
How to verify it
Checklist

[ ] Passes all linting checks (pre-commit and CI jobs)
[ ] New test cases have been added and are passing
[ ] Documentation has been updated
[ ] PR title follows Conventional Commit standard (will be automatically included in the changelog)

if you have test issues, this line may need to be updated:  fix/deprecated-missed-export


Add ID Card signature support

This needs more documentation.

CHANGELOG
README
Pull request description
Code comments (method / parameter descriptions)

Cant merge until PHP 5.6 build task will start to pass

Ping. Please find a moment for this PR.


chore(release): 0.23.1

Release 0.23.1
The CHANGELOG.md text was autogenerated. Since this is a dot release, just having the link for the diff seems OK to me. wdyt

The style check is failing.

The style check is failing.

@matejvasek that file is a generated file.


Feature: custom frames

Hi! We're happily using expressive-code in our docs. It's awesome, and makes everything look high-polish (even if we've got a ton of writing and copyediting to do 😆 )
For chunks of code, we're generally giving examples for the platform, and it'd be great to add a button to each code example that says like "Open in Val Town". I could imagine the same for other scenarios - open in CodePen, open in CodeSandbox, etc. Or even code with a built-in REPL.
It's be awesome if there was a way to provide a custom frame - like by providing our own method that returns HAST like this does internally for frames. I know that right now frame names are validated so that might make the 'check' step harder, though. But anyway - if this is potentially in scope it'd be awesome, and if you have an idea for how it could be implemented cleanly, we could help with a PR!

Hello and welcome!
Modifying the HAST of the code blocks at any stage is already possible with Expressive Code. In fact, this was one of the key design principles when developing this package with its plugin architecture. I'm just writing its documentation in Starlight and your request is a great proof that I need to include plugin development examples. :)
Here's a quick StackBlitz example on how you can add custom buttons by writing a small plugin:
https://stackblitz.com/edit/github-n7kyh4?file=src%2Fcontent%2Fdocs%2Findex.mdx,astro.config.mjs,plugins%2Fcustom-open-button.mjs

You can find my existing documentation on how to write plugins (including all the available hooks and data) here: https://github.com/expressive-code/expressive-code/blob/main/packages/%40expressive-code/core/README.md#writing-your-own-plugins
Hope that helps! Please let me know if you run into any issues.


Implement Upserts

Resolves #139
This PR implements upserts using native database support for upserts (ON CONFLICT DO UPDATE …) while supporting 3 modes of conflict handling in both single and bulk inserts.
Example usage:
// user.email has a Unique() constraint

client.User.Create().
	SetEmail("roger-test@entgo.io").
	SetName("Test User").
	OnConflict(user.FieldEmail).
	SaveX(ctx)

client.User.Create().
	SetEmail("alex-test@entgo.io").
	SetName("Test User").
	OnConflict(user.FieldEmail).
	SaveX(ctx)

users, err := client.User.CreateBulk(
	client.User.Create().SetEmail("roger-test@entgo.io").SetName("Roger"),
	client.User.Create().SetEmail("alex-test@entgo.io").SetName("Alex"),
).
	OnConflict(user.FieldEmail).
	Save(ctx)

// alex-test will be updated to name=Alex
// roger-test will be updated to name=Roger

Conflict handling:
Not currently defined in DSL, defaults to using new values

Do nothing: This is supported by doing an update on itself in order to get the ID. This might not be ideal for your exact setup, but it seems like an acceptable tradeoff.
Resolve with new values: sets all fields to the new values provides in the INSERT clause.
Resolve with alternate values: Sets all fields to alternative values (probably can't support this for bulk updates)

Things to note:

DSL isn't final, needs support for specifying which mode of conflict handling to use
Bulk inserts that specify alt values will write these values to all records, as it's not possible in SQL to specify a per row upsert value other than the values used in the INSERT clause. Hence the default behaviour is to use these values.
~DSL needs an extra method on CreateBulk to specify conflict handling for ALL records, however, it's currently implemented to use the conflict handling of the FIRST record.~

Tested on:

[x] Postgres ✅
[x] MySQL ✅
[x] SQLite ✅

TODO:

[x] Validate that conflict fields have a unique constraint
[ ] Define conflict resolution mode in DSL
[ ] Implement builder for alternate column updates that set column=value
[ ] Figure out how to handle Edge Foreign Key Constraints
[ ] Show warning if OnConflict is used on individual inserts when doing a bulk insert. This has no effect.

@a8m I'd love to get your thoughts on this approach?

After thinking about this overnight, I think the DSL needs to support different types of conflict resolution:
// Single inserts
client.User.Create().SetEmail("alex-test@entgo.io").SetUpdateCount(2).
	// Do a custom update
	OnConflict(user.FieldEmail).Update().SetEmail("another-alex@entgo.io").
	Save(ctx)

client.User.Create().SetEmail("alex-test@entgo.io").SetUpdateCount(2).
	// Writes each field to itself, forcing an update of the record and returning the ID
	OnConflict(user.FieldEmail).Ignore().
	Save(ctx)

client.User.Create().SetEmail("alex-test@entgo.io").SetUpdateCount(2).
	// Default action, optional. Same as `OnConflict(user.FieldEmail).Save(ctx)`
	OnConflict(user.FieldEmail).UpdateWithNewValues().
	Save(ctx)

... Another idea:
Support specifying the resolution action per column:
users, err := client.User.CreateBulk(
	client.User.Create().SetEmail("roger-test@entgo.io").SetUpdateCount(2),
	client.User.Create().SetEmail("alex-test@entgo.io").SetUpdateCount(3),
).OnConflict(user.FieldEmail).SetUpdateCount(ent.IncomingValue).SetName("New Name Value")

It's also worth noting that specifying columns has no meaning for MySQL, but it is used internally to trigger the ON DUPLICATE KEY.. logic.

Hey @ivanvanderbyl and thanks a lot for starting this effort. It's really appreciated 🙏
Are you on Ent's Slack? If not, can you join and ping me there - we can discuss some of these ideas there.
Also, when we're aligned on the design/API, we'll need to break this into multiple PRs - it will be easier to review it this way.

hey thanks for doing this work. I was wondering about the syntax though - it would seem more natural to have a top level action like Upsert() than using Create() with additional methods chained later.  As a user, the code becomes much more natural to write.  If a new Upsert method was added, existing Create calls could continue to work as they do now.  Introducing a new one i think gives us a number of benefits.

new upsert behavior is restricted to this new method, thus easier to review, iterate, land, etc.
it provides a clear distinction between creating something first and then doing an updated vs trying to put these in one operation, which under the hood are actually a Query() and then Update().  Upsert then becomes a feature of the ent api that makes managing upserts more naturally.
Create continues to behave as it does now without any additional side-effects or consideration to existing code.  New upsert code is then written to the behavior of upsert itself.  EG, upsert could fail if it needed to create an ent and didn't have enough required fields provided, just like create would.
Upsert could use Save(ctx) and SaveOnly(ctx) or something like that.  The former, creating or updating all records it's able to following constraints and the latter returning an error if the where clause returned more than one ent to create or update.

I propose that perhaps this pattern may be more clear:
client.User.Upsert().
    Where(user.NameEQ("Test User").
    SetAge(35).
    SetNickname("fooman").
    SaveOnly(ctx). // SaveOne(ctx) ??

Let's expand this to a full example:

type User struct {
    ent.Schema
}

func (User) Fields() []ent.Field {
    return []ent.Field{
        field.Int("age"),
        field.String("name"),
        field.String("nickname").
            Unique(),
    }
}

func (User) Edges() []ent.Edge {
    return []ent.Edge{
        edge.To("groups", Group.Type),
        edge.To("friends", User.Type),
    }
}

func (User) Index() []ent.Index {
    return []ent.Index{
        index.Fields("age", "name").
            Unique(),
    }
}

This is taken from the tutorial, but consider a query such as one that uses the Name index field as a starting root...
    client.User.Upsert().
        Where(user.NameEQ("Test User").
        SetAge(35).
        SetNickname("fooman").
        Save(ctx). // SaveOnly, SaveOne ??

Using something like Upsert lets the programmer know, hey, i need to be able to query for something to Upsert.  If I don't have a way to do that sanely, then probably should do a Query() first to get that stuff.   I could add predicates in the where clause that match any field, but ideally, and realistically, we'd be starting with an indexed field or primary key, etc.  If multiple matches where there, Save would work, but, perhaps SaveOnly(ctx) (or SaveOne(ctx)) would return an error if more than one row was selected in from the where clause, further ensuring the desired behavior.
I can appreciate the syntax that you have here already in the Create, providing required fields per the schema, but i personally feel that most upsert cases are indeed shortcuts to updating existing records where not all of the required data may be available without an additional query.  For really simple schemas, it's easy to provide the fields, but for complicated ones, it becomes increasingly difficult without bailing to a full create, or ensuring that all required fields are provided.
Another additional advantage to do this would be to provide a top level Set(e entType) type function.
    client.User.Upsert().
        Where(user.NameEQ("Test User").
        Set(func (u user.User) {
           // complicated work here, you could even use common table expressions if you had such complexity to run.
          if (externalVariable == SET_AGE) {
            u.SetAge(AGE_VALUE_FROM_SOMETHING)
          }
          ... repeat this as needed.  You could do RPCs here to get required data, etc.
              Also for bulk upserts, `u` would be each row selected from the where clause on each loop.
        }).
        Save(ctx)

I apologize if this is the current state of the api already, or at least proposed, but I didn't see a discussion like this so I wanted to ask.  thanks again!

Figure out how to handle Edge Foreign Key Constraints

Hello, curious if there's some workaround for this case today when doing CreateBulk with OnConlict columns in Posgtes driver?


Why hashids has MAX_NUMBER limitation

Hello,
I was looking into this great library for my project, but I quickly found undocumented limitation that this library doesn't support any number ><PHONE_NUMBER>740992L.
Could you please explain the reasoning behind this limitation?
ids.encode(new Random().nextLong()

Exception in thread "main" java.lang.IllegalArgumentException: number can not be greater than<PHONE_NUMBER>740992L
at org.hashids.Hashids.encode(Hashids.java:178)
at io.remotable.experiments.ids.IdsExperiment.main(IdsExperiment.java:21)

The original and reference implementation is a JS version. JS number limitation is (2^53 - 1). In the java implementation we used Long because Integer has a max value of (2^31 - 1). As Long has a limitation of (2^63 - 1) we have to limit the upper bound.
That's why we cannot accept values greater than JS.

Thanks for explanation. It would be nice to have ability to provide Max number as constructor argument.

Why don't use BigInt for Javascript to resolve the number max value in Javascript instead of use a more little number for java ?

We are just a port from JS version.

JS version is preparing the BigInt package and will support it with V2. Why don't make the MAX_NUMBER as options instead of final value.

This was a suprise to me as well, as the org.hashids.Hashids#encode(Long) method makes no mention of this, so on paper the interface supports any long.
This seems like something that should be on the javadoc. For random numbers, ThreadLocalRandom.current().nextLong(Hashids.MAX_NUMBER) works well.


FYI: Aurelia Hub Binding Documentation Errors

See - http://aurelia.io/hub.html#/doc/article/aurelia/binding/latest/binding-value-converters/4
I'm submitting a bug report

Library Version: - whatever you're using on the documentation hub
** Windows 10, Chrome Version 52.0.2743.116 m
Current behavior:
Unhandled rejection TypeError: numeral is not a function
at NumberFormatValueConverter.toView

@jdanyow I think you have access to the Hub. Can you take a look at what is going on here?

There is a similar error complaining that moment is missing.

I can also confirm that there is indeed a problem:


v1.41.1 release [DO NOT MERGE]

My first release attempt, so would appreciate if someone could check that this looks correct before I tag it

Is there a script for automating these steps?

Ah, I see I need to use https://github.com/libuv/libuv-release-tool (and also move to a machine with my GPG key), but does the commits otherwise look correct?

Note that z/OS is expected to be broken in CI on this security patch release due to https://github.com/nodejs/build/issues/2491, which will be fixed in v1.42.x

The commits do look OK, but yea, you should use the release tool. If you use the release tool, the only thing you'll need to account for is that it will include all of the other commits still on v1.x. At this point, I'm not sure that we need to worry about that though.

Alright, I have a better version now at https://github.com/vtjnash/libuv/releases/tag/v1.41.1 but need access to dist.libuv.org to finish publishing it


[WIP] docs: regular update (mid June)

Fix #432 among other misc. improvements

This was still WIP :p but thanks for merging, I'm continuing it in #441


[Bug]: Flaky Test: Lobby - P1 Perspective => 1) Shows when oppenent Readies/Unreadies

Bug Summary
The Lobby test Lobby - P1 Perspective => 1) Shows when oppenent Readies/Unreadies is flaky
Detailed Description
See #59 . Failed despite only change being in the game view. This test has been infrequently flaky for a long time. We should see if it's a race condition due to poor/missing retry logic so it can be made consistent

Current Behavior
No response
Expected Behavior
No response
Steps to Reproduce

Closing as invalid because this hasn't happened in CI for a long time


buck: 2<IP_ADDRESS> -> 2<IP_ADDRESS>

Motivation for this change
Things done

[X] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[X] NixOS
[X] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

I'm not familiar with buck but the documentation mentions a daemon program buckd, which was present in the old version but is not generated any more with this PR. Has buckd been removed?

I'm not familiar with buck but the documentation mentions a daemon program buckd

the daemon buckd is started the first time buck is executed

[...] Has buckd been removed?

yes, it was removed https://github.com/facebook/buck/commit/dd7ecf22814b33b61b485f454b846f55cf563d98, also if you download their binary releases, it does not ship buckd anymore.


Create button becomes active before entering SQL query

Environment: Win'10, Chrome 71.0.3578.98, 64 bit
Zafira environment: stage
Steps:

Click '+' button to create a new widget
Enter necessary fields Title and type
Click Create button
Actual result: Error "unable to create widget"
Expected: ??? tbd

out-of-dated as widget creation procedure completely redesigned


Broken link

The egui demo has a plot widget. The link to the source code is broken.
https://github.com/emilk/egui/blob/master/crates/egui_demo_lib/src/demo/plot_demo.rs

404 Page not found.  The link should point to here.
https://github.com/emilk/egui_plot/blob/main/demo/src/plot_demo.rs

egui_plot demo now lives at https://emilk.github.io/egui_plot/

Thanks, but not sure that I understand your resolution "not planned". The link inside the compiled egui demo is pointing to the wrong URL.

Where is this broken link? I cannot find it on master, nor on https://www.egui.rs/

Hi @emilk, I cannot see the incorrect link now. The only questionable links I can see would be on here https://docs.rs/egui_plot/latest/egui_plot/struct.Plot.html. The repository and homepage links in the dropdown are pointing at https://github.com/emilk/egui.
Great work on this project btw !


Fix recording a field in the parent spans

Synopsis
Due to somewhat undocumented behavior in the tracing crate, it was assumed that field recording logic from this crate is correct. Our tests never checked the value of the field after recording it, and there were no panics.
Solution
Fix the flaw in the parent field recording logic.
Add tests that make sure we are indeed recording the field.
Checklist

Created PR:

[x] In draft mode
[x] Name contains issue reference
[x] Has type and k:: labels applied
[x] Has assignee

Before review:

[x] Documentation is updated (if required)
[x] Tests are updated (if required)
[x] Changes conform code style
[x] CHANGELOG entry is added (if required)
[x] FCM (final commit message) is posted or updated
[x] Draft mode is removed

[x] Review is completed and changes are approved

[x] FCM (final commit message) is approved

Before merge:

[x] Milestone is set
[x] PR's name and description are correct and up-to-date
[x] All temporary labels are removed

FCM
Fix recording of field to the parent span (#4)

@zohnannor released as 0.1.1.


🐞[Bug]: Disappearing text

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
The text on the about us disappears in 5 seconds.
Expected behavior
It should have a fade in sort of animation and the picture of it can be aligned properly with the text
Add ScreenShots

What browsers are you seeing the problem on?
Chrome, Microsoft Edge
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I have starred the repository

@varshith257 assign this to me please!


Add ability to add dependency with version from another dependency

There is crate A. There is crate B.
Crate A depends on B and uses it. It exports some methods those accepts types from B.
I use crate A. To work with crate A I also depends on B, but I cannot write
use B::something;

Also I cannot write
extern crate B;

Before that I must add to Cargo.toml
[dependencies]
B = "here is version"

But I want version which is required by A. How to do it?

Thanks for the report! This has been reported before, and I closed that in favor of https://github.com/rust-lang/cargo/issues/2064. Solving that will end up solving this as well!


Create Test Match Series.cpp

CODECHEF SMACKDOWN-2021 Qualifiers
Problem Code: TESTSERIES

Hi, i have added my CODECHEF SMACKDOWN-2021 Qualifier problem Contest Code:SNCKQL21 Problem Code: TESTSERIES
kindly accept my pull request


[Feature] widget

Is your feature request related to a problem? Please describe.
Describe the solution you'd like
Could you please add a home screen widget.
Describe alternatives you've considered
Additional context

Android 12 widget guidelines: https://developer.android.com/about/versions/12/features/widgets

it will also good to support ioS as well


Blurred (GitHub?) avatars on profile pages

Some profile pictures (avatars) appear blurry for me. Judging from a few samples, mostly pictures imported from Github seem to be affected. Take mine as an example:
https://gratipay.com/korakinos/
https://github.com/korakinos
Among the samples I took, almost all avatars from Twitter weren't blurred, except, strangely, for one. As I don't know if the person appreciates linking, I'll just post the username: InquilineKea
A similar issue in the past was issue 887. Only back then, Twitter images were blurred.
(Off topic: Gratipay is awesome. Thank you all so much for your efforts!)

We used to show avatars in 128px maximum, then we switched to 160px, but we forgot to modify the avatar URLs.


replace with \t doesn't work

running :%s/ - /\t/ig
turns
PO_HDR Purchase Order Header- Header Record for Purchase Order
into
PO_HDR Purchase Order HeadertHeader Record for Purchase Order
instead of replacing the "-" with a tab character? Is this user error?

Escape sequences are not turned into control characters... yet.

Fixed in ddbdb86


Incorrect line number in debugging cells

Environment data

VS Code version: 1.62.2
Jupyter Extension version (available under the Extensions sidebar): 2021.10.1101450599
Python Extension version (available under the Extensions sidebar): 2021.11.1422169775
ipykernel: 6.5.0
OS (Windows | Mac | Linux distro) and version: Windows
Python and/or Anaconda version: Python 3.7.7
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): conda
Jupyter server running: Local

Expected behaviour
Debug a function locating the corresponding line.
Actual behaviour
Debug at the incorrect line.
Steps to reproduce:

Create and run a cell (cell A) containing a function definition with 'def' at the first line.
Create and debug a cell (cell B) calling the defined function.
Modify (add two more lines) cell A and run the cell
Debug cell B

Logs

Info 2021-11-15 10:01:40: Executing (status Idle) silently Code = import debugpy;debugpy.listen(('localhost', 0))
Info 2021-11-15 10:01:40: Executing silently Code (completed) = import debugpy;debugpy.listen(('localhost', 0))
Info 2021-11-15 10:01:40: connected to notebook during debugging
Info 2021-11-15 10:01:40: Executing (status Idle) silently Code = import debugpy;debugpy.wait_for_client()
Info 2021-11-15 10:01:40: Executing silently Code (completed) = import debugpy;debugpy.wait_for_client()
Info 2021-11-15 10:01:40: import startup: undefined
Info 2021-11-15 10:01:40: Executing (and forget) (status Idle) silently Code = from debugpy import trace_this_thread;trace_this_thread(False)
Info 2021-11-15 10:01:40: Adding hash for 3 = bea1735ac853 with 2 lines
Info 2021-11-15 10:01:40: Executing (and forget) (status Idle) silently Code = from debugpy import trace_this_thread;trace_this_thread(True)
Info 2021-11-15 10:02:29: Finished execution for 6bebbc1f-f99f-4bb9-a157-559b2f59f58c
Info 2021-11-15 10:02:29: stop debugging
Info 2021-11-15 10:02:29: Executing (and forget) (status Idle) silently Code = from debugpy import trace_this_thread;trace_this_thread(False)
Info 2021-11-15 10:02:32: Adding hash for 4 = a2c3aa35981f with 4 lines
Info 2021-11-15 10:02:32: Finished execution for d3e7e2fa-2393-4477-818e-9e3d4473871f
Info 2021-11-15 10:02:39: start debugging
Info 2021-11-15 10:02:39: connected to notebook during debugging
Info 2021-11-15 10:02:40: Executing (status Idle) silently Code = import debugpy;debugpy.wait_for_client()
Info 2021-11-15 10:02:40: Executing silently Code (completed) = import debugpy;debugpy.wait_for_client()
Info 2021-11-15 10:02:40: import startup: undefined
Info 2021-11-15 10:02:40: Executing (and forget) (status Busy) silently Code = from debugpy import trace_this_thread;trace_this_thread(False)
Info 2021-11-15 10:02:40: Adding hash for 5 = bea1735ac853 with 2 lines
Info 2021-11-15 10:02:40: Executing (and forget) (status Busy) silently Code = from debugpy import trace_this_thread;trace_this_thread(True)
Info 2021-11-15 10:02:44: Finished execution for 95b22618-1c7b-4a2e-a434-ab6aa5f34d85
Info 2021-11-15 10:02:44: stop debugging
Info 2021-11-15 10:02:44: Executing (and forget) (status Idle) silently Code = from debugpy import trace_this_thread;trace_this_thread(False)

Thanks for reporting this issue.
I believe we have resolved this in our development branch.
Please could you install vscode insiders and test this out and let us know if it's fixed.

Thanks for replying.
Environment data

VS Code version: 1.63.0-insider
Jupyter Extension version (available under the Extensions sidebar): 2021.11.1001452373
Python Extension version (available under the Extensions sidebar): 2021.11.1422169775
Others are the same.

The problem exists.

I'm sorry for not getting back to you on this.
We'll look into this issue, thanks.

Investigating this a bit now. For me this repro is only if black / comment lines are added. I think it might be our stripping code is not detecting the difference. If I add something like a = 100 above the def in cell A and then rerun then the lines do line up correctly.

Was this fixed? Think I just ran into this with an inline comment.


My Groups are glitched

I was trying to add some new permission nodes to my groups when suddenly this happened:

Idk why did that occur, but now I just have an empty group default instead of these configured ones.

If you want to check it here's the link https://luckperms.net/editor/hLo9ztkFnD


Count inversion in Java

Have you read the Contributing Guidelines on Pull Requests?
Yes
Description
As assigned by @iamrajiv for issue #1778, I have added the solution for the Counting Inversion problem using modified merge sort algorithm
Checklist

[x] I've read the contribution guidelines.
[x] I've checked the issue list before deciding what to submit.
[x] I've edited the README.md and link to my code.

Related Issues or Pull Requests
#1778

Closing the PR because of no updates.

Closing the PR because of no updates.


fix(esbuild): avoid polluting global namespace while minify is false

Description
fix #11641

Additional context

What is the purpose of this pull request?

[x] Bug fix
[ ] New Feature
[ ] Documentation update
[ ] Other

Before submitting the PR, please make sure you do the following

[x] Read the Contributing Guidelines.
[x] Read the Pull Request Guidelines and follow the PR Title Convention.
[x] Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
[x] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
[x] Ideally, include relevant tests that fail without this PR but pass with it.

Thanks!

I think, the global scope is still polluted by three variables. In one of our projects we even ran into problems with that. Minification renames one of those variables into v and because a script from another vendor has also such variable in global scope, we ran into an issue.
I have described the problem here: https://github.com/vitejs/vite/discussions/15489 because the barrier to open an issue is quite high. I would appreciate some feedback on this.

The problem still exists and sometimes collides even with $ jquery. :(


How to improve the fps further

Hi sir,
How can I further improve the fps by changing parameters in the code ?
Are there any tunable parameters which we can play with to get more fps ?
Thanks

@Kant01354 ,
Sorry, that is not possible with this type of DNN. NanoDet has a fixed number of weights (floating points). Calculation of x floating points will always result in y mSec process time. The only way to alter the FPS is by manipulating the clock frequency.


Publish main to live on 9/9 @ 10:30 am

Docs Build status updates of commit 4b78e01:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/docs-conceptual/app-only-auth-powershell-v2.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/docs-conceptual/basic-auth-connect-to-exo-powershell.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Get-VivaInsightsSettings.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Set-MailboxAutoReplyConfiguration.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Set-VivaInsightsSettings.md
:white_check_mark:Succeeded
View (exchange-ps)

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


npm run production error

cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js
internal/child_process.js:340
throw errnoException(err, 'spawn');
^

Error: spawn EACCES
at _errnoException (util.js:1003:13)
at ChildProcess.spawn (internal/child_process.js:340:11)
at Object.exports.spawn (child_process.js:499:9)

This looks like it might be a permissions issue, but because you haven't filled out the issue template and have given no information on your environment there is not much help we can give you.


feature(waf): add support for WAF V2 logging and sampling

Resolves https://github.com/DNXLabs/terraform-aws-ecs/issues/35
Adding support for WAFv2 logging and sampling for the ALB.  It is important get detailed information about traffic that is analysed by the WAF web ACLs in order to evaluate the rules groups and make improvements.
Types of changes
What types of changes does your code introduce to <repo_name>?
Put an x in the boxes that apply

[ ] Bugfix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation Update (if none of the other choices apply)

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[x] I have read the CONTRIBUTING.md doc.
[x] I have added necessary documentation (if appropriate).
[x] Any dependent changes have been merged and published in downstream modules.

Closing this as it is better implement customisation of the WAF in your own terraform config. Particularly when needing things like rule exclusions.


Having access to raw results of the query would be handy

This might be a duplicate of #231, but that was closed as fixed referencing non-interactive output options.  However that only talks about ways running in non-interactive mode and options to either send the results to file on standard out.  That only gets us half the way there.  Doing so still includes text in the result does not come from the query.
For example
mssql-cli -S *** -U *** -P *** -Q "SET NOCOUNT ON; SELECT name FROM sys.databases"
Yields this
Commands completed successfully.
+------------------------------------------+
| name                                     |
|------------------------------------------|
| master                                   |
| tempdb                                   |
| model                                    |
| msdb                                     |
| Azurite_Blob                             |
| Mps_Configuration                        |
| Mps_653f5e5a-3fbb-44be-9e61-be90630a7187 |
+------------------------------------------+
Commands completed successfully.

While correct, that make consuming this output more difficult.  Ideally there would an option so that the above query would yield this output
master
tempdb
model
msdb
Azurite_Blob
Mps_Configuration
Mps_653f5e5a-3fbb-44be-9e61-be90630a7187

My example may be an over simplification, newlines may not always be the best delimiter :smile:.  So it may be handy to provide options to return the results in a standard format, here are a few that folks might find handy.
csv, tsv, json, yaml, xml, raw text
Most of the power of many command line tool does not come from running the tool in isolation, but instead comes from being able to combine it with other command line tools.

You can change the format in the config file:
grep format ~/.config/mssqlcli/config
Table format. Possible values: psql, plain, simple, grid, fancy_grid, pipe,
table_format = csv
However, even if you select csv format and use -i -o options you still get the Commands completed successfully in the output, of the CSV file!  That's totally unexpected and not proper.

I have SET NOCOUNT ON; at the top of my script and I exchanged (204 rows affected) for Commands completed successfully.


Create Powerpoint or other presentation

Powerpoint or google sheets is great.
I really like prezi its more fun
requirement:
Prepare a presentation containing findings about the system including a demo (25-30 minutes including discussion).  The demo part of the presentation should take no less than 10 minutes.

closing since another issue tracks this more thoroughly


Error when trying to execute python code from client to remote server

Hi,
My setup:
SERVER - running a spigot server on a LAN
CLIENT - running Minecraft Java and connecting to SERVER.  Also running python shell for mcpi.  CLIENT and SERVER are not the same computer.
From CLIENT, I can create a Minecraft class instance:
from mcpi.minecraft import Minecraft mc=Minecraft.create(<SERVER  IP>,25565)
However, any command I try to run from the CLIENT hangs for a bit, and then returns the same error below:
>>> mc.getPlayerEntityIds()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\...\AppData\Local\Programs\Python\Python39\lib\site-packages\mcpi\minecraft.py", line 332, in getPlayerEntityIds
    return list(map(int, ids.split("|")))
ValueError: invalid literal for int() with base 10: ''

I appreciate any insight you can provide - especially if I'm doing something wrong on my end.

Hi Folks,
Now that I've learned a little more about mcpi I realized that commands sent to the server actually need to travel over port 4711 when the RaspberryJam plugin is running on the server itself.  Modifying my above line of code and changing 25565 to 4711 got me up and running.
Cheers,
Dave


Test colors and no-colors outputs

See original issue on GitLab
In GitLab by [Gitlab user @traveltissues] on Nov 12, 2019, 10:50
https://gitlab.com/BuildStream/buildstream/merge_requests/1704#note_243326092
Add a test checking that --no-colors is being respected (guard against regression on #1200)

In GitLab by [Gitlab user @traveltissues] on Nov 12, 2019, 10:51
mentioned in merge request !1704

In GitLab by [Gitlab user @traveltissues] on Nov 12, 2019, 10:51
mentioned in merge request !1704

In GitLab by [Gitlab user @tpollard] on Nov 13, 2019, 11:22
This is something I think would definitely be of value, if pytest has built in-support especially

In GitLab by [Gitlab user @tpollard] on Nov 13, 2019, 11:22
This is something I think would definitely be of value, if pytest has built in-support especially

In GitLab by [Gitlab user @tpollard] on Nov 19, 2019, 16:19
So having another quick look, in our .gitlab-ci.yml we have --color=yes in our PYTEST_ARGS, this should force pytest to respect color in its output. If our cli.run doesn't strip color ansi from the stdout/err it returns, then it should be fairly adaptable to parse the output for ANSI specific color codes, if we have the raw output. Currently it explicitly sets --no-colors in the bst args, without providing an override. This makes sense as a default for most of our string matching, but having it configurable seems fine to me. There's obviously quite a lot of color variance across buildstream's output, but a few on/off tests for color in specific UI elements (say, coloured output from bst show) would be a good addition to the frontend tests.

In GitLab by [Gitlab user @tpollard] on Nov 19, 2019, 16:19
So having another quick look, in our .gitlab-ci.yml we have --color=yes in our PYTEST_ARGS, this should force pytest to respect color in its output. If our cli.run doesn't strip color ansi from the stdout/err it returns, then it should be fairly adaptable to parse the output for ANSI specific color codes, if we have the raw output. Currently it explicitly sets --no-colors in the bst args, without providing an override. This makes sense as a default for most of our string matching, but having it configurable seems fine to me. There's obviously quite a lot of color variance across buildstream's output, but a few on/off tests for color in specific UI elements (say, coloured output from bst show) would be a good addition to the frontend tests.

In GitLab by [Gitlab user @cs-shadow] on Nov 19, 2019, 17:52
I'm not sure if pytest --color is relevant here. IIUC that's for controlling in pytest's own output (like green successes and red failures).
You are right about the second part though - our cli fixture currently forces --no-colors. We need a way to control from the test modules, but also a way to parse color codes sensibly in the tests that are testing such things.

In GitLab by [Gitlab user @cs-shadow] on Nov 19, 2019, 17:52
I'm not sure if pytest --color is relevant here. IIUC that's for controlling in pytest's own output (like green successes and red failures).
You are right about the second part though - our cli fixture currently forces --no-colors. We need a way to control from the test modules, but also a way to parse color codes sensibly in the tests that are testing such things.

In GitLab by [Gitlab user @tpollard] on Nov 20, 2019, 15:43
[Gitlab user @cs-shadow] Yes it's for the pytest output, but I think it also controls allowing any color in the stacktracs/logs it outputs from tests too which would be useful for debug failed color tests in pipelines.

In GitLab by [Gitlab user @tpollard] on Nov 20, 2019, 15:43
[Gitlab user @cs-shadow] Yes it's for the pytest output, but I think it also controls allowing any color in the stacktracs/logs it outputs from tests too which would be useful for debug failed color tests in pipelines.


RFM - tinymediamanager

I am mostly stepping away from chocolatey as I do not really use it anymore and don't really have time to upkeep my packages (fixing issues or checking and seeing if everything is still working as it should be) I have been maintaining for a good while now, so I am currently on the lookout for someone to take over pretty much all my packages (I'll be creating an issue for each package).

Current Maintainer

[x] I am the maintainer of the package and wish to pass it to someone else;

Checklist

[x] Issue title starts with 'RFM - '

Existing Package Details
Package URL: https://chocolatey.org/packages/tinymediamanager
Package source URL: https://github.com/JourneyOver/chocolatey-packages/tree/master/automatic/tinymediamanager

As this is a software that I am personally using, I would like to take over the maintenance of this package.
@JourneyOver could you add me as an additional maintainer for this package?

Sure thing @AdmiringWorm I will put you as an additional maintainer.
Are you going to add the package manually to your repo or you want me to fork and PR it over to you after?

Sounds good! anyways I've disabled the update script on my side for this package so it doesn't try to auto update off my side. Thanks for taking over the package :)

A new version of this package has been pushed and approved on Chocolatey Community Repository.


Fix leaks

Related to #9. This fixed all the leaks I found in my app.
Please review carefully, as I have not contributed to a non-ARC project for some time.

:+1: cheers!


Updated new screenshot with updated interface

Please merge master branch into gh-pages so it's available as GitHub page too!

Will update the gh-pages branch!


[question] ETCD cluster stability

Hi, guys, I really need your help!
Our etcd has 3 nodes. We start etcd through one "existing" and two "new", but the etcd cann't work steadily. Here is the log:
Waiting for member0 to come up
Waiting for member1 to come up
Waiting for member2 to come up
826b2b0fa44fc8e2: name=infra0 peerURLs=http://<IP_ADDRESS>:2380 clientURLs=
exist cluster
2016-12-09 19:45:52.684478 I | etcdmain: etcd Version: 2.2.4
2016-12-09 19:45:52.684545 I | etcdmain: Git SHA: bdee27b
2016-12-09 19:45:52.684552 I | etcdmain: Go Version: go1.5.3
2016-12-09 19:45:52.684558 I | etcdmain: Go OS/Arch: linux/amd64
2016-12-09 19:45:52.684566 I | etcdmain: setting maximum number of CPUs to 4, total number of available CPUs is 4
2016-12-09 19:45:52.684730 I | etcdmain: listening for peers on http://<IP_ADDRESS>:2380
2016-12-09 19:45:52.684775 I | etcdmain: listening for client requests on http://<IP_ADDRESS>:4001
2016-12-09 19:45:52.684813 I | etcdmain: listening for client requests on http://<IP_ADDRESS>:4001
2016-12-09 19:45:52.692419 I | etcdserver: name = infra0
2016-12-09 19:45:52.692441 I | etcdserver: data dir = /var/paas/etcd/data
2016-12-09 19:45:52.692449 I | etcdserver: member dir = /var/paas/etcd/data/member
2016-12-09 19:45:52.692455 I | etcdserver: heartbeat = 100ms
2016-12-09 19:45:52.692460 I | etcdserver: election = 1000ms
2016-12-09 19:45:52.692466 I | etcdserver: snapshot count = 10000
2016-12-09 19:45:52.692478 I | etcdserver: advertise client URLs = http://<IP_ADDRESS>:4001
2016-12-09 19:45:52.709698 I | etcdserver: starting member 826b2b0fa44fc8e2 in cluster 1cea985a8ab67bd2
2016-12-09 19:45:52.709763 I | raft: 826b2b0fa44fc8e2 became follower at term 0
2016-12-09 19:45:52.709784 I | raft: newRaft 826b2b0fa44fc8e2 [peers: [], term: 0, commit: 0, applied: 0, lastindex: 0, lastterm: 0]
2016-12-09 19:45:52.709803 I | raft: 826b2b0fa44fc8e2 became follower at term 1
2016-12-09 19:45:52.721833 I | rafthttp: the connection with 4b076ba613948cf1 became active
2016-12-09 19:45:52.722201 I | raft: 826b2b0fa44fc8e2 [term: 1] received a MsgHeartbeat message with higher term from 4b076ba613948cf1 [term: 60]
2016-12-09 19:45:52.722270 I | raft: 826b2b0fa44fc8e2 became follower at term 60
2016-12-09 19:45:52.722294 I | raft: raft.node: 826b2b0fa44fc8e2 elected leader 4b076ba613948cf1 at term 60
2016-12-09 19:45:52.733106 I | etcdserver: starting server... [version: 2.2.4, cluster version: to_be_decided]
2016-12-09 19:45:52.734656 I | rafthttp: the connection with 735ca03c1dfbeb4f became active
2016-12-09 19:45:52.796757 N | etcdserver: added member 4b076ba613948cf1 [http://<IP_ADDRESS>:2380] to cluster 1cea985a8ab67bd2
2016-12-09 19:45:52.796867 N | etcdserver: added member 735ca03c1dfbeb4f [http://<IP_ADDRESS>:2380] to cluster 1cea985a8ab67bd2
2016-12-09 19:45:52.796980 N | etcdserver: added local member 826b2b0fa44fc8e2 [http://<IP_ADDRESS>:2380] to cluster 1cea985a8ab67bd2
2016-12-09 19:45:52.797093 N | etcdserver: set the initial cluster version to 2.1
2016-12-09 19:45:52.918532 I | etcdserver: published {Name:infra0 ClientURLs:[http://<IP_ADDRESS>:4001]} to cluster 1cea985a8ab67bd2
2016-12-09 19:45:57.771251 N | etcdserver: updated the cluster version from 2.1 to 2.2
2016-12-09 19:48:04.913380 I | raft: 826b2b0fa44fc8e2 [term: 60] received a MsgVote message with higher term from 735ca03c1dfbeb4f [term: 61]
2016-12-09 19:48:04.913435 I | raft: 826b2b0fa44fc8e2 became follower at term 61
2016-12-09 19:48:04.913451 I | raft: 826b2b0fa44fc8e2 [logterm: 60, index: 665, vote: 0] voted for 735ca03c1dfbeb4f [logterm: 60, index: 665] at term 61
2016-12-09 19:48:04.913459 I | raft: raft.node: 826b2b0fa44fc8e2 lost leader 4b076ba613948cf1 at term 61
2016-12-09 19:48:05.105051 I | raft: 826b2b0fa44fc8e2 [term: 61] ignored a MsgApp message with lower term from 4b076ba613948cf1 [term: 60]
2016-12-09 19:48:05.129142 I | raft: 826b2b0fa44fc8e2 [term: 61] ignored a MsgApp message with lower term from 4b076ba613948cf1 [term: 60]
2016-12-09 19:48:06.141696 I | raft: 826b2b0fa44fc8e2 [term: 61] received a MsgVote message with higher term from 735ca03c1dfbeb4f [term: 62]
2016-12-09 19:48:06.141760 I | raft: 826b2b0fa44fc8e2 became follower at term 62
2016-12-09 19:48:06.141776 I | raft: 826b2b0fa44fc8e2 [logterm: 60, index: 665, vote: 0] voted for 735ca03c1dfbeb4f [logterm: 60, index: 665] at term 62
2016-12-09 19:48:07.651403 I | raft: 826b2b0fa44fc8e2 [term: 62] received a MsgVote message with higher term from 735ca03c1dfbeb4f [term: 63]
2016-12-09 19:48:07.651461 I | raft: 826b2b0fa44fc8e2 became follower at term 63
2016-12-09 19:48:07.651476 I | raft: 826b2b0fa44fc8e2 [logterm: 60, index: 665, vote: 0] voted for 735ca03c1dfbeb4f [logterm: 60, index: 665] at term 63
2016-12-09 19:48:09.247411 I | raft: 826b2b0fa44fc8e2 [term: 63] received a MsgVote message with higher term from 735ca03c1dfbeb4f [term: 64]
2016-12-09 19:48:12.620197 I | raft: 826b2b0fa44fc8e2 became follower at term 64
2016-12-09 19:48:12.620245 I | raft: 826b2b0fa44fc8e2 [logterm: 60, index: 665, vote: 0] voted for 735ca03c1dfbeb4f [logterm: 60, index: 665] at term 64
2016-12-09 19:48:12.620286 I | raft: 826b2b0fa44fc8e2 [term: 64] received a MsgVote message with higher term from 735ca03c1dfbeb4f [term: 65]
2016-12-09 19:48:12.620305 I | raft: 826b2b0fa44fc8e2 became follower at term 65
2016-12-09 19:48:12.620314 I | raft: 826b2b0fa44fc8e2 [logterm: 60, index: 665, vote: 0] voted for 735ca03c1dfbeb4f [logterm: 60, index: 665] at term 65
2016-12-09 19:48:12.620349 I | raft: 826b2b0fa44fc8e2 [term: 65] received a MsgVote message with higher term from 735ca03c1dfbeb4f [term: 66]
2016-12-09 19:48:12.620369 I | raft: 826b2b0fa44fc8e2 became follower at term 66
2016-12-09 19:48:12.620377 I | raft: 826b2b0fa44fc8e2 [logterm: 60, index: 665, vote: 0] voted for 735ca03c1dfbeb4f [logterm: 60, index: 665] at term 66
2016-12-09 19:48:13.343446 I | raft: 826b2b0fa44fc8e2 [term: 66] received a MsgVote message with higher term from 735ca03c1dfbeb4f [term: 67]
2016-12-09 19:48:15.988943 I | raft: 826b2b0fa44fc8e2 became follower at term 67
2016-12-09 19:48:15.988970 I | raft: 826b2b0fa44fc8e2 [logterm: 60, index: 665, vote: 0] voted for 735ca03c1dfbeb4f [logterm: 60, index: 665] at term 67
2016-12-09 19:48:15.989002 I | raft: 826b2b0fa44fc8e2 [term: 67] received a MsgVote message with higher term from 735ca03c1dfbeb4f [term: 68]
2016-12-09 19:48:15.989021 I | raft: 826b2b0fa44fc8e2 became follower at term 68
2016-12-09 19:48:15.989031 I | raft: 826b2b0fa44fc8e2 [logterm: 60, index: 665, vote: 0] voted for 735ca03c1dfbeb4f [logterm: 60, index: 665] at term 68
2016-12-09 19:48:15.989042 I | raft: 826b2b0fa44fc8e2 [term: 68] received a MsgVote message with higher term from 4b076ba613948cf1 [term: 69]
2016-12-09 19:48:15.989061 I | raft: 826b2b0fa44fc8e2 became follower at term 69
2016-12-09 19:48:15.989072 I | raft: 826b2b0fa44fc8e2 [logterm: 60, index: 665, vote: 0] voted for 4b076ba613948cf1 [logterm: 60, index: 667] at term 69
2016-12-09 19:48:15.989108 I | raft: raft.node: 826b2b0fa44fc8e2 elected leader 4b076ba613948cf1 at term 69
2016-12-09 19:48:15.989131 E | etcdhttp: got unexpected response error (etcdserver: request timed out)
Waiting for member0 to come up
Waiting for member1 to come up
Waiting for member2 to come up
826b2b0fa44fc8e2: name=infra0 peerURLs=http://<IP_ADDRESS>:2380 clientURLs=http://<IP_ADDRESS>:4001
exist cluster

Do you know what situation it is?
And our tester has found that if one node get down for a long time, such as 30min, when the node get in the cluster again it can't recover the old data. Hope you can explain the problem!
Best wishes!

How did you replace the old member?

I don't replace the old member, I just let one member down and let it up again after a long time, so I don't think I get your point, can you describe it  in more detail? Thanks~

And another question is that when I start the etcd cluster in static model, and one node is existing, the others are new, the etcd can not work steadily. If I want to start etcd through one existing and two new, what should I pay attention to? Thx~

@shuqilou If you start etcd statically, all members need to be configured as "new". Please check our clustering doc:
https://github.com/coreos/etcd/blob/master/Documentation/op-guide/clustering.md#static
I am closing this issue since it seems this is a misconfiguration.
If you still face the same issue, please attach the configuration, logging of all members.


Incorrect date output for format (1 month 1 day ago) (1 month 2 days ago)

parsedatetime is showing incorrect output for few date formats.
I'm using Python 3.4.1 and parsedatetime 1.4
Current date: 29 January 2015

cal.parse('1 month 1 day ago')
(time.struct_time(tm_year=2015, tm_mon=1, tm_mday=30, tm_hour=15, tm_min=36, tm_sec=41, tm_wday=4, tm_yday=30, tm_isdst=-1), 3)

cal.parse('1 month 2 days ago')
(time.struct_time(tm_year=2015, tm_mon=1, tm_mday=31, tm_hour=15, tm_min=47, tm_sec=10, tm_wday=5, tm_yday=31, tm_isdst=-1), 3)

This is both a bug but not a bug ...
in the strict sense of the parsing the "ago" part should be paired only with the "1 day" part but that is me being a computer and not an english speaker.
i'm chewing on ways to get "ago" to stick to each parseable piece of the phrase

Thank you so much for looking at this issue. This is really very kind of you. Yes, you are right this is both a bug but not a bug because sometimes it shows correct results sometimes not. Looking forward to see this bug in a new release.
Thank you soooo much!

Looking forward to see this bug fixed in a new release.
Thank you soooo much!

Your very welcome - thanks for using parsedatetime

Changing this from bug to enhancement to track that it needs to be done as future new work.

Thanks Mike :)
On Sun, Jul 5, 2015 at 11:58 PM, Mike Taylor<EMAIL_ADDRESS>wrote:

Changing this from bug to enhancement to track that it needs to be done as
future new work.
—
Reply to this email directly or view it on GitHub
https://github.com/bear/parsedatetime/issues/80#issuecomment-118649027.


(Temporarily) Disable variable explorer when debugging

For #6081
I tried digging into the problem first. It seems that when you hover over a variable in the IW, a new message is sent and onDidMessageSend is called with message.type === 'response' && message.command === 'variables', so the variables are updated with that message. However the variables in the message are actually the attributes of the variable that is being hovered over, so the variables in the variable explorer get replaced by all of those variable's attributes.
Eg.

Seems like a fix would be to have it so no messages send when you hover over a variable or be able to differentiate between a variable hover and a normal variable message.
Not sure how much code to remove though for debugger variables.

[ ] Pull request represents a single change (i.e. not fixing disparate/unrelated things in a single PR).
[ ] Title summarizes what is changing.
[ ] Has a news entry file (remember to thank yourself!).
[ ] Appropriate comments and documentation strings in the code.
[ ] Has sufficient logging.
[ ] Has telemetry for enhancements.
[ ] Unit tests & system/integration tests are added/updated.
[ ] Test plan is updated as appropriate.
[ ] package-lock.json has been regenerated by running npm install (if dependencies have changed).

Is your intent to fix the real problem later? It seems like you're close to figuring it out.

Is your intent to fix the real problem later? It seems like you're close to figuring it out.

I'd love to fix the real problem now honestly, but I am pretty heavily blocked. My original intentions were to try my best to figure it out and if not, disable it (like in this PR) and as stated in #6081. Then make an issue for it to be investigated later on. Maybe we can chat tomorrow on it and see if I can get a little closer?

Is your intent to fix the real problem later? It seems like you're close to figuring it out.

I'd love to fix the real problem now honestly, but I am pretty heavily blocked. My original intentions were to try my best to figure it out and if not, disable it (like in this PR) as stated in #6081. Then make an issue for it to be investigated later on. Maybe we can chat tomorrow on it and see if I can get a little closer?

Sounds good. Ping me on Teams.

Codecov Report

Merging #6186 (f98e7d6) into main (5580aa1) will increase coverage by 0%.
The diff coverage is 100%.

:exclamation: Current head f98e7d6 differs from pull request most recent head 2145e8b. Consider uploading reports for the commit 2145e8b to get more accurate results

@@          Coverage Diff          @@
##            main   #6186   +/-   ##
=====================================
  Coverage     72%     72%
=====================================
  Files        399     399
  Lines      26895   26896    +1
  Branches    3961    3961
=====================================
+ Hits       19436   19443    +7
+ Misses      5808    5803    -5
+ Partials    1651    1650    -1

Impacted Files
Coverage Δ

src/client/common/utils/localize.ts
95% <100%> (+<1%)
:arrow_up:

...client/datascience/kernel-launcher/kernelDaemon.ts
53% <0%> (-2%)
:arrow_down:

...rc/client/datascience/jupyter/debuggerVariables.ts
75% <0%> (-2%)
:arrow_down:

src/client/datascience/jupyter/jupyterNotebook.ts
76% <0%> (+<1%)
:arrow_up:

...t/datascience/kernel-launcher/localKernelFinder.ts
82% <0%> (+1%)
:arrow_up:

...ent/datascience/jupyter/pythonVariableRequester.ts
74% <0%> (+1%)
:arrow_up:


Buttons for interrupt/stop julia in REPL console

Is it planed to reintroduce the toolbar of the console? I really miss the interrupt/stop julia buttons in the new REPL console look.

No, not really. You can just use the global toolbar though.

I've added a "Interrupt Julia" button to the toolbar:


Suppressed self addition test for whenCompleteAsync

Adds test for self addition as a suppressed exception in AbstractCompletableTask.whenCompleteAsync.
The problem is in the following code:
// exceptions are handled in regular way
failure -> {
    try {
        action.accept(null, failure);
        return forwardException(failure);
    } catch (Throwable e) {
        // CompletableFuture does not override exception here
        // unlike as in handle[Async](BiFunction)
        // Preserve this behavior, but let us add at least
        // suppressed exception
        failure.addSuppressed(e);
        return forwardException(failure);
    }
}

The forwardException throws a CompletionException which is immediatelly caught by the catch clause. Then, it is added to the failure as a suppressed exception. However, it can happen that failure == e (is the same object) since failure is retrown when its type already is the CompletionException.

Applied with minor stylistic change (minor change to onResult as well to look symmetrical with onFailure)
Thank you!


Audit all uses of flags option passed to fs functions, match node

The way we're doing flags in our fs methods is wrong.  We should be expecting a String, and it should be one of the expected flag values.  We seem to assume it will be an Object, see writeFile for an example of this.
Let's overhaul how we do flags, and match what node does.

Dupe of #747.


Issue47_3

Send mail service
Made refactor

Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Invalid bean definition with name 'sendgrid' defined in class path resource [applicationContext.xml]: Could not resolve placeholder 'sendgrid_api_key' in string value "${sendgrid_api_key}"; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder 'sendgrid_api_key' in string value "${sendgrid_api_key}"

Consolidate this branch with issue47-2 and implement full feature.


Stand alone components in Angular-cli

Can I do a partial bootstrap of all the components created so that we can use any of the components at a point of time?
For eg, if i have 5 components which has been bootstrapped in the app.module, is there any provision of defining only two of them in index.html instead of defining all the five components?

This is a question for Stack Overflow or the core Angular repo. Not CLI related.


Improvements to task extraction

Follow on to #60
Stuff like parsing out (like dataview):

created: If available, the 'created' property is extracted and incorporated into the DataView result.
due: If present, the 'due' property is extracted and included in the DataView result.
start: If the 'start' property exists, DataView extracts and integrates it into the result.
scheduled: DataView also considers the 'scheduled' property, extracting and including it if available.

Also maybe pulling all list items and being like dataview ...

Obsidian DataView provides a way to extract fields in tasks.
Here's a summary:

Inline Fields Syntax:

Inline fields use a Key:: Value syntax in the task ( or any list item ).
Example:Basic Field:: Some random Value
**Bold Field**:: Nice!

The :: double colon serves as the delimiter between the key and the field's value.

Bracketed Syntax for Inline Fields:

To embed metadata inside sentences or have multiple fields on the same line, you can use the bracket syntax and wrap your field in square brackets.
Example:I would rate this a [rating:: 9]! It was [mood:: acceptable].

Fields on List Items and Tasks:

When annotating a list item, such as a task, with metadata, you must use the bracket syntax to add fields to specific list items explicitly.
Example:- [ ] Send an email to David about the deadline [due:: 2022-04-05] [start:: 2022-04-05].

Bracketed inline fields are essential in this context, as they allow you to associate specific information with individual list items.

@mohamedsalem401

Inline Fields Syntax

Don't think this is needed IMO / IME.
The useful stuff was the emoji conventions i think.

I've started working on this and have a basic prototype working. I need the inline fields as well as tags in order to manage a variety of tracking elements.
It is not that difficult to add a "taskmetadata" and "tasktags" within the overall metadata field, but this kind of nesting will make sql queries get pretty awkward. I'm planning on having some kind of template or macro expansion syntax for common things but it should also be possible to use sql directly with json_extract functions.
I'd like to propose having a tasks table and bringing everything up a level so that "description", "checked", "due", "completion", "created", "start", "scheduled" are columns and "metadata" contains tags and key-value pairs. I'd also like to consider outlinks as a field as well. Dataview has an extensive set of implicit fields but these are the ones I need to get started and which would also be pretty broadly useful.

@dstengle this sounds pretty good and we're really open to contributions.
My recommendation is that we start with whatever JS typescript object we want and then keep the export to sql cleanly separated. (That's the general approach we are going for). does that make sense?

It does make sense although File vs FileInfo interfaces are confusing, for instance.
I followed the pattern and there is working code in the fork here: https://github.com/dstengle/markdowndb/tree/parse-task-inline-fields.
Take a look and let me know what should be there before I make a PR.
In making this update I had to spend a lot of time updating unit tests with all of the repetition of document data being tested.

@dstengle hey, sorry for slow reply. This looks great.
@mohamedsalem401 can you do a quick extra review to see if you have any suggestions and then we can create a PR.

In making this update I had to spend a lot of time updating unit tests with all of the repetition of document data being tested.

Are there things you think we could de-duplicate to make this better?

Edit: I should note that the description extracted seems to be removing wikilinks and I'd like to have task level links as a property of Task.

I agree. I guess we may want "raw" description and cleaned description as per your suggestion. Or maybe just nor remove formatting or wikilinks from the extracted description.

@dstengle
I have seen your changes. You have done a great job 🙌
I'm just wondering whether it would be good to also include the fileID as a column for tasks.
And it would also be amazing if you updated the tests


ConvexEthMetaStrategy Natspec and Withdraw event

Added Withdrawal event to ConvexEthMetaStrategy's withdrawAll
Updated Natspec

If you made a contract change, make sure to complete the checklist below before merging it in master.
Refer to our documentation for more details about contract security best practices.
Contract change checklist:

[ ] Code reviewed by 2 reviewers.
[ ] Copy & paste code review security checklist below this checklist.
[ ] Unit tests pass
[ ] Slither tests pass with no warning
[ ] Echidna tests pass if PR includes changes to OUSD contract (not automated, run manually on local)

Closing as this has been included in the AMO repeg changes https://github.com/OriginProtocol/origin-dollar/pull/1695


Feature request: Support for multiple configuration files

New Feature request:
orientdb-server-config.xml is the only supported configuration file. I would like to ultimately be able to split out my server, properties, and user configuration files to separate files and handle them independently.
Ultimately I would like to be able to add a conf.d directory, which could be referenced with include conf.d/*,  like many other applications have so I can include any of the configurations that may be necessary.

At the moment we have more than one file, because distributed configuration is on a separated json file. We planned to consolidate almost all conf in a single file, avoiding multiple files/formats. Moreover, it would be quite hard to modify the code to manage multiple files. So, thank you for your request, it will not be implemented.
Obviously, it's open source, feel free to develop it and submit a PR .


Please include merge-tracking information

So that also https://github.com/mmhelloworld/idris-jvm/network reflects that my changes made it into the code base. Or was there a specific reason and/or conscious decision to exclude them? It's not a big issue but I like it when the git log really reflects the code flow ;-)

Sorry, I didn't know about that. Merge wasn't enabled on this repository by default so I had only rebase and squash as the options while merging your PR and I rebased. It looks like I need to do merge to include merge-tracking information. I will do that going forward.


Set-VTAPIKey fails in pscore6+

From PSCore6 Set-Content no longer uses the option -encoding Byte

Problems in PS 7.2 also
Set-VTAPIKey: Cannot process argument transformation on parameter 'MasterPassword'. Cannot convert the "MYKEY" value of type "System.String" to type "System.Security.SecureString".


Model::delete and Model::update

It very useful to have these static methods for removing or updating bunch of records without selecting them. For example:
Post::delete(array(
'conditions' => array('user_id = ?', $user->id), 'limit' => 5
))
Post::update(array(
    'conditions' => array('`user_id` = ?', $user->id),
    'set' => array('`views_count` = `views_count` + 1, `last_viewer` = ?', $user->id)
))

Hi @jpfuentes2, Shouldn't update_all method be referred to in this section instead of update?
http://www.phpactiverecord.org/projects/main/wiki/Basic_CRUD#massive

update() and delete() are being called on Table there. Which is different
than calling Model::update_all(). I would imagine that both should work.
On Fri, Jun 2, 2017 at 11:12 AM, Pedro Gomes<EMAIL_ADDRESS>wrote:

Hi @jpfuentes2 https://github.com/jpfuentes2, Shouldn't update_all
method be referred to in this section instead of update?
http://www.phpactiverecord.org/projects/main/wiki/Basic_CRUD#massive
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/jpfuentes2/php-activerecord/issues/24#issuecomment-305816614,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ANBJih8M4DsrAw-BTIgOKxqbP6AiXvkLks5sACZCgaJpZM4Nuadr
.


Prisma + netlify dev: Cannot read, EISDIR: illegal operation on a directory

Bug description
Unable to use prisma with netlify.
I've tried making other projects from scratch just following the documentations, incase I had messed up somewhere, but I always end bumping into the same error, causing my app to crash.
NestedError: Cannot read from `[PROJECT PATH]/node_modules/.prisma`:
EISDIR: illegal operation on a directory, read
/netlify-cli/node_modules/cp-file/fs.js:21:9)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at copyFileAsync (file:///C:/Users/skunk/AppData/Roaming/npm/node_modules/netlify-cli/node_modules/cp-file/index.js:11:21)
    at C:\Users\skunk\AppData\Roaming\npm\node_modules\netlify-cli\node_modules\p-map\index.js:57:22
Caused By: Error: EISDIR: illegal operation on a directory, read {
  nested: [Error: EISDIR: illegal operation on a directory, read] {
    errno: -4068,
    code: 'EISDIR',
    syscall: 'read'
  },
  errno: -4068,
  code: 'EISDIR',
  syscall: 'read',
  name: 'CopyFileError'
}

From what I understand, netlify expects .prisma to be a file and is trying to read it, when it is a folder.
Stack trace seems to come from this line : https://github.dev/sindresorhus/cp-file/blob/a98bdff6d7dd7005370e05f84537c58d1caf1fd5/fs.js#L21
How to reproduce

Make a new netlify project (along with Astro in this case)
Install prisma and prisma client
netlify dev in terminal
Note that at this point, no function using Prisma actually is called.
App crashes, giving the error message above
Non profit :(

Expected behavior
I do expect my app to run without crashing.
Prisma information

generator client {
  provider = "prisma-client-js"
}

datasource db {
  provider = "mysql"
  url      = env("DATABASE_URL")
}

model user {
  id       Int    @id @default(autoincrement())
  username String @db.VarChar(255)
}

// app crashes before it even reaches this

import { PrismaClient } from '@prisma/client'

const prisma = new PrismaClient()

export const handler = async (event, context) => {

    const users = await prisma.user.findMany()

    return {
        statusCode: 200,
        body: JSON.stringify(users)
    }

}

Environment & setup

OS: Windows 10
Database: MySQL
Node.js version: 16.13.1

Prisma Version
prisma                  : 4.7.1
@prisma/client          : 4.7.1
Current platform        : windows
Query Engine (Node-API) : libquery-engine 272861e07ab64f234d3ffc4094e32bd61775599c (at<EMAIL_ADDRESS>Migration Engine        : migration-engine-cli 272861e07ab64f234d3ffc4094e32bd61775599c (at<EMAIL_ADDRESS>Introspection Engine    : introspection-core 272861e07ab64f234d3ffc4094e32bd61775599c (at<EMAIL_ADDRESS>Format Binary           : prisma-fmt 272861e07ab64f234d3ffc4094e32bd61775599c (at<EMAIL_ADDRESS>Format Wasm             : @prisma/prisma-fmt-wasm 4.7.1-1.272861e07ab64f234d3ffc4094e32bd61775599c
Default Engines Hash    : 272861e07ab64f234d3ffc4094e32bd61775599c
Studio                  : 0.477.0

Test repository : https://github.com/M-W1995/prisma-netlify-astro

The Astro part (and whatever build process that has) is most probably causing this. Can you tell us more about this, or optimally create a minimal reproduction project and put it on GitHub? Thanks.

Hello, there you go : https://github.com/M-W1995/prisma-netlify-astro

Hm, with your repro actually everything works for me (on Gitpod):

This is what you describe and experience as failing, correct?

(Also works on local checkout on Windows for me)

Weird. I can confirm that I still get the same error using this exact repo. Where could the problem come from ?
NestedError: Cannot read from `C:/Users/skunk/Desktop/dev/prisma-netlify-astro/node_modules/.prisma`: EISDIR: illegal operation on a directory, read
    at Module.createReadStream (file:///C:/Users/skunk/AppData/Roaming/npm/node_modules/netlify-cli/node_modules/cp-file/fs.js:21:9)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at copyFileAsync (file:///C:/Users/skunk/AppData/Roaming/npm/node_modules/netlify-cli/node_modules/cp-file/index.js:11:21)
    at C:\Users\skunk\AppData\Roaming\npm\node_modules\netlify-cli\node_modules\p-map\index.js:57:22
Caused By: Error: EISDIR: illegal operation on a directory, read {
  nested: [Error: EISDIR: illegal operation on a directory, read] {
    errno: -4068,
    code: 'EISDIR',
    syscall: 'read'
  },
  errno: -4068,
  code: 'EISDIR',
  syscall: 'read',
  name: 'CopyFileError'
}

Pure guessing now: Where you project is located (Desktop) or how your Npm works and is installed (Appdata/Roaming). Maybe try npm install netlify-cli and run it via npx netlify dev instead. Or put your project in another folder somewhere on your hard disk.

Tried npx netlify dev and moving my folder directly in C:, no success ; still getting the same error.
For testing purpose I've tried building other astro+prisma projects (located on Desktop aswell), but this time using vercel instead of netlify and they run smoothly.

Did you delete your node_modules already completely and run npm install? Something is off with the folder here for some reason, or how netlify dev interacts with that folder.

Maybe you can open an issue over at https://github.com/netlify/cli/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc? It seems your netlify dev somehow is doing something it is not allowed to do when acting on the .prisma folder. From our side I see no way to change this.
Ah, typing that actually gave me a possible idea for a workaround: https://www.prisma.io/docs/concepts/components/prisma-client/working-with-prismaclient/generating-prisma-client#using-a-custom-output-path This makes Prisma use a different location, maybe that will let your netlify dev succeed.

Here is a related issue: https://github.com/prisma/prisma/issues/16021

Found are related issue in the Netlify CLI repository (also by a Prisma user, which is using Windows) so wrote a comment to connect all this together: https://github.com/netlify/cli/issues/5183#issuecomment-1345661059

And my suggested workaround with output folder indeed works: https://github.com/prisma/prisma/issues/16021#issuecomment-1345664685
(The reproduction for the related issue indeed did work for me on Windows surprisingly, so I could both confirm the problem with netlify dev and then also verify my suggested workaround)

As I could reproduce in the other issue, but not here, I will close this issue now and track the problem over at https://github.com/prisma/prisma/issues/16021. It's not really a Prisma problem, but we are interested in driving this forward anyway of course.

@M-W1995 For the other issue my suggested workaround did not work, but it might for you, so maybe try the steps decsribed here and let me know if this works for you: https://github.com/prisma/prisma/issues/16021#issuecomment-1345664685


sticky / pinnable columns demo uses the column header modifier on cells -- seems off

this is the code at the time of reporting:
 {{#each this.table.rows as |row|}}
        <tr class="relative">
          {{#each this.table.columns as |column|}}
            <td
              {{this.table.modifiers.columnHeader column}}
              class="{{if (this.isSticky column) 'bg-basement' 'bg-ground-floor'}}"
            >

using the columnHeader modifier seems wrong.
In the mean time, I can do what I need to with the isSticky helper, but should there be a cell modifier for this situation?

semi resolved in #94 -- long term fix requires "cell modifiers" which, for performance, is blocked by emberjs/rfcs#883