Schedulable blade draining

We are using scripts to offline the nodes at 8pm via cron for HPE service the next business day.
We would like to integrate this functionality directly into ctt.
The functionality and way to make it work is authors choice.
--Storm

Currently the methods I can think of do implement this feature are:

Add a way to schedule ctt to automatically change an issue to offline the whole blade
Have ctt create a reservation for when the work should start and add the blade in question to it
Have ctt remove user facing queues from the nodes on the blade's qlist ahead of time to drain the blade

I'll think about this for a bit and then sketch out a design for the team to review

Options 1 is probably the easiest to implement, but it is my least favorite. From other discussions, I think adding a "testing" state to ctt where it is easy for hsg/csg/hpe to test nodes through pbs, but keep users off of them (ex: for node checkout after hardware work) would be beneficial, options 2 and 3 give a fairly clear path on how this could be accomplished, but option 1 doesn't.
Conceptually using reservations (Option 2) fits my mental model the best, plus it will allow back filling of short jobs while the others won't, so it is my preference. However reservations have been known to crash pbs so I'll have to do some testing to confirm if this is feasible.
Option 3 should work, however some care would have to go into handling the Qlist for nodes, as we have a tendancy to change this regularly on Casper, so ctt could cause some serious confusion if we do this wrong.

Moved issue to ctt_server repo


Update init.py

Changes file name from something like "The Weeknd - Blinding Lights.mp3 to "Blinding Lights.mp3"
Title

Description

Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate)
Types of Changes

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

Checklist

[ ] My code follows the code style of this project
[ ] My change requires a change to the documentation
[ ] I have updated the documentation accordingly
[ ] I have read the CONTRIBUTING document
[ ] I have read the  CORE VALUES document
[ ] I have added tests to cover my changes
[ ] All new and existing tests passed

before

after

Have a look at our readme where you can specify a path template, in this case {title}.{ext}
https://github.com/spotDL/spotify-downloader#to-use-path-template


[Bug]: Map correct collection ids for onPageLoad actions during import

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
When we try to export-import the application with onPageLoad action from actionCollection, imported applications onPageLoadActions collectionsId is not getting mapped correctly
Steps To Reproduce

Create JSObject with body

export default {
	getData: async () => {
		const data = await Query1.run();
		return data;
	}
}

Attach a binding to table widget {{JSObject1.getData.data}}
Export the application
Import application and check the response field layouts.layoutOnLoadActions for getPageById API

Environment
Production
Version
Cloud

Causes issues when importing an app with JS objects and API's set to run on page load as seen in #11104 hence reopening the issue


How to always print mail details ?

Hi !
I just installed RainLoop today and it is really amazing ! :+1:
Though, I miss one (simple) functionnality, how can I always print the details of the mails ? (like in the photo but without pressing the button each time)

I have some redirections to my main mail address and I don't see the "TO" line immediatly :/
If you have a solution (changing something in the parameter or in the code) to allow me to see that, it would be astonishing ! :)
Thanks !


Exponential representation of volumes in WebSocket API

{open=311.1, close=310.25, high=315.45, low=310.5, volume=1.8547441E7, lasttradedprice=312.85, change=0.8380338436744634, lasttradedquantity=200.0, volumetradedtoday=0.0, totalbuyquantity=0.0, totalsellquantity=0.0, tradetimestamp=1626421247000}
The volume as 1.8547441E7  is represented in exponential format
For further information please go through the forum discussion page https://kite.trade/forum/discussion/10122/incorrect-volume-data-from-websockets#latest

We will change the volume to long in the coming releases.

This is done on the release 3.2.1


use ES6 default parameters; update @param doc

Hi there! I think we can actually drop that parameter.

So just leave it as it is? Close this PR, or are you suggesting any changes here?

I think if we remove the all argument and replace it with a local variable, there'd be no need for the param docs. Appreciate the PR though, I had forgotten that argument was exposed!


Error in sample code

I think there might be a bad example code here
HandBook->Advanced Types->Intersection Types
Code
function extend<First, Second>(first: First, second: Second): First & Second {
  const result: Partial<First & Second> = {};
  for (const prop in first) {
    if (first.hasOwnProperty(prop)) {
      (result as First)[prop] = first[prop];
    }
  }
  for (const prop in second) {
    if (second.hasOwnProperty(prop)) {
      (result as Second)[prop] = second[prop];
    }
  }
  return result as First & Second;
}

class Person {
  constructor(public name: string) {}
}

interface Loggable {
  log(name: string): void;
}

class ConsoleLogger implements Loggable {
  log(name) {
    console.log(`Hello, I'm ${name}.`);
  }
}

const jim = extend(new Person("Jim"), ConsoleLogger.prototype);
jim.log(jim.name);

When I try to run this code, the program starts throwing errors：jim.log is not a function
because ,  log method can't exit in for ...in...

I suggest
 var protos = Object.getOwnPropertyNames(second);
  for (const prop of protos) {
    if (second.hasOwnProperty(prop)) {
      result[prop] = second[prop];
    }
  }

@rictic @gmoothart @evmar @bb

I suggest
//采用交叉属性可以实现mixins
function extend<T, U>(first: T, second: U): T & U {
    const result = <T & U>{};
    for (let prop in first) {
        if (first.hasOwnProperty(prop)) {
            (result as T)[prop] = first[prop];
        }
    }
    var props = Object.getOwnPropertyNames(second);
    for (let prop of props) {
        if (!result.hasOwnProperty(prop)) {
            (result as U)[prop] = second[prop];
        }
    }
    return result as T & U;
}

class Person {
    constructor(public name: string) { }
}

interface Loggable {
    log(name: string): void;
}

class ConsoleLogger implements Loggable {
    log(name: string) {
        console.log(`log...${name}`);
    }
}

let jim = extend(new Person("kini"), ConsoleLogger.prototype);
jim.log(jim.name)

function extend<First, Second>(first: First, second: Second): First & Second {
  const result: Partial<First & Second> = {};
  for (const prop in first) {
    if ((first as Object).hasOwnProperty(prop)) {
      (result as First)[prop] = first[prop];
    }
  }
  for (const prop in second) {
    if ((second as Object).hasOwnProperty(prop)) {
      (result as Second)[prop] = second[prop];
    }
  }
  return result as First & Second;
}

class Person {
  constructor(public name: string) {}
}

interface Loggable {
  log(name: string): void;
}

class ConsoleLogger implements Loggable {
  log(name: string) {
    console.log(`Hello, I'm ${name}.`);
  }
}

const jim = extend(new Person("Jim"), ConsoleLogger.prototype);
jim.log(jim.name);


chore(master): release 1.2.33

:robot: I have created a release beep boop
1.2.33 (2023-08-15)
Miscellaneous

deps: update dependency phpunit/phpunit to v10.3.1 (4aa379a)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/wayofdev/laravel-symfony-serializer/releases/tag/v1.2.33 :sunflower:


Fix ember-try config

This project uses semver, please check the scope of this pr:

[X] #none# - documentation fixes and/or test additions
[ ] #patch# - backwards-compatible bug fix
[ ] #minor# - adding functionality in a backwards-compatible manner
[ ] #major# - incompatible API change

CHANGELOG

Updated ember-try config

Approved

Problem is this line in the 2.8 test https://github.com/ciena-frost/ember-frost-core/blob/master/ember-cli-build.js#L27
Need to change it to the bower_components location and import from there. Since currently, it's getting it from ember-source

Same goes for https://github.com/ciena-frost/ember-frost-bunsen/pull/460

Approved

@juwara0 think you need to pin the ember-try version like @quincyle  does here https://github.com/ciena-frost/ember-frost-bunsen/pull/460/files#diff-b9cfc7f2cdf78a7f4b91a753d10865a2R79 to avoid the yarn bug

NOTE: We modified the ember-try config to use Ember 2.8 instead of Ember LTS 2.8 due to a difference in behavior when running frost-link in these two versions:  https://github.com/ciena-frost/ember-frost-core/issues/481

👍


feat: add ui to configuration data exchanges [DHIS2-16434]

See ticket: https://dhis2.atlassian.net/jira/software/c/projects/DHIS2/issues/DHIS2-16434
And figma mockup: https://www.figma.com/proto/7pn74aKmqiaiK2Y52XjwGN/Aggregate-Data-Exchange-Configurator
Note if you are testing, you need to use system user (or another user with ALL authority or ADD/DELETE authorities for data exchanges)
UI Differences from figma

id scheme information is hidden in advanced section (discussed with Joe, but we did not update the prototypes)
we have an extra warning + click to edit if you are editing anything within target for an external type exchange (this is because you currently need to update authentication details when making these edits)
if you open a exchange with inputIdScheme:CODE, you will get a warning that the app will convert to using inputIdScheme:UID on save (in general, we do not support defining with code when defining these exchanges in the app)

Technical implementation

Since the mockup is structured essentially as two forms (one for saving exchanges, one for saving requests), I have emulated this and nested the request form inside the exchange form (though I suppose it would be possible to structure otherwise). I considered if requests object should be a form value on exchange form but opted instead to just keep track of requests state with useReducer. The main (exchange form) which has most of the technical points of note is https://github.com/dhis2/data-exchange-app/blob/DHIS2-16434/configurations-ui/src/components/edit/exchange-update/edit-exchange.js
Requests are stored internally and will only be committed to the back end when saving an exchange. We discussed the possibility of persisting to the backend on request edit, but this would not be possible for new exchanges (i.e. the exchange needs to already exist such that you can save a request against it).
I've updated the folder structure to create pages and separate components between view/edit mode. I'm not really attached to where anything is, so I could do something else.
OrgUnit, Period, and Data Item selectors are from analytics. In order to disable calculations in the Data Item selector, I am using an alpha release of analytics.
Filters implementation is taken from the maps app (it's not exported, so I've just copy/pasted the code and done some minor adjustments, including changing waste bin icon to remove button (to be consistent with Joe's design)
the visualization open dialog is currently copied into the app from analytics (OpenFileDialog) because analytics library is exporting the FileMenu component which display File and lets you click to open the file dialog, which is not consistent with the use case here. I think it would be better to work with analytics team to export this from analytics, but there's a couple of other modifications we also will need within this app, so it seemed to just import the code directly for now.

Known issues

You cannot currently edit an external exchange without providing the authentication details again. This is a backend issue relating to problems with the patch update: https://dhis2.atlassian.net/browse/DHIS2-16440.
There are not tests at the moment (I'm thinking it would make sense to come back to write tests after the soft freeze as this a continuous release app).
David and Joe and I discussed adding the option to add a request from an existing visualization (from add/edit exchange page). I have not added this yet as there turned out to be some complexities in interpreting some of the visualization parameters into the aggregate data exchange format (e.g. when certain dimensions are filters in a visualization but need to be explicit dimensions in an aggregate data exchange). There are not big obstacles here, but I thought it would be better to submit the PR and create a ticket for the additional work on creating requests from visualizations
Data dimension selector from analytics currently allows for calculations select by default, but we do not want this enabled. Analytics team is going to soon release a new version of the component that allows enabling/disabling certain items, so I am just using the default selector until new one is implemented.

Thanks for the review @Mohammer5 🙏!
I've updated to address your points.


Resizing with mouse unintuitive if you grab the 'wrong' side of the window

Hello, I was wondering if this is feasible - currently, resizing a tiled window is really unintuitive in comparison to a floating window, as pointed out by PR #1347 .
When floating, the position of the cursor vs the container matters - if you click on the right half of the window it'll grow the window if you drag right, and shrink if you go left. If you grab the left half, it does the opposite.
When tiles however, you can grab the 'wrong' side of a window and the resize mechanism is the opposite. It also makes it hard to change the 'splits', since it means you have to figure out which window controls said split.
If you enable resize_on_border the issue is worsened - depending on which part of the gap you drag, you will either get the right or wrong functionality. I'd expect dragging the gap to always allow you to move the split, rather than disturbing some other split. This is just me considering horizontal splits, but as soon as you include vertical the problem gets worse as it could be the correct window for one and not the other.
I believe this is the case in sway and even though I hate to do direct comparisons, I do think it would make this a little nicer to daily drive.
Thank you for your hard work :slightly_smiling_face:

Summary

Please make it so that the mouse's position is taken into account when resizing a tiled window such that you are stretching the window with the mouse:

Dragging right on the right side of the window will grow, and left would shrink.
This will mimic the way it's done for floating windows

Visualised another way, it should look like you're manipulating the splits between windows:

Find the closest window corner to where the cursor clicks and change the position of the splits such that the window's corner follows the mouse

Thanks!

Another weird thing I've encountered is with hyprctl.
On a floating window, hyprctl dispatch resizeactive exact 0 0 makes it tiny, as expected. Likewise, hyprctl dispatch resizeactive exact 2560 1440 sets it to that size. Perfect!
On a tiled window however, these commands do the opposite. hyprctl dispatch resizeactive exact 2560 1440 shrinks the window into the bottom right of my screen, and hyprctl dispatch resizeactive exact 0 0 makes the window take up almost half my screen. I know tiled windows may not be able to reach the values you input, but it would be nice to try and grow and shrink other windows in available directions to reach it. For instance, if there's only a row of windows, then exact can't really change the vertical height as it'll be clamped to monitor size.

Yes, it's not perfect, and this is a reasonable thing to do, but it's not a high priority thing. I have other things to worry about too. Feel free to open a MR.

Maybe we can close this now?


Consider changing license

I am looking for a Radius lib for Rust and found this library and radius-rust.
Did a quick check of the supported features and API and I think I prefer radius-rs but a copyleft license is a no go for my project.
I also think the current license might prevent more contribution to your lib.
What is your view on changing to a more permissive license like MIT or Apache 2.0?
Thank you

Thank you for your suggestion, @mhristache.
Actually, I don't have a strong opinion about the license so I changed that with the MIT license at #31.
And I've just published the new version v0.3.1 to crates.io.


[libplist] Support build libplist static library

What does your PR fix?

Support build libplist static library

Which triplets are supported

x64-windows-static
x86-windows-static
x64-windows-static-md
x86-windows-static-md

This PR adds API which would only exist in vcpkg, and it removes standard behaviours from dlls. IMO this should be rejected here.

This PR adds API which would only exist in vcpkg, and it removes standard behaviours from dlls. IMO this should be rejected here.

Sorry to hear that. Totally understand, I'll remain this only on my fork. : )


Fix : Theme effects not reflecting

This commit fixes the issue##253
Before :

After:

Please take a look and let me of any review comments.

Summary by CodeRabbit

New Features

Enhanced color selection handling in the Home component for a more dynamic user experience.
Streamlined URL construction in the TemplateCard component to include only relevant parameters.

Bug Fixes

Removed inline styles for quote color in the layouts, improving HTML structure without affecting functionality.

Chores

Updated color values in themes to ensure proper CSS hexadecimal formatting across all themes.

PR LGTM
Thank you so much for your efforts and time. Really appreciate it ❤👏🏼


[Tests] Fix broken unit tests

I have the following tests failing for me, even if I run them by themselves:
LightWalletSyncManagerTest.cs - SyncFromDate_ChainTipAfterGivenDate_StartsSyncFromHeightAtTime

Message: Moq.MockException :
Expected invocation on the mock at least once, but was never performed: b => b.SyncFrom(4d7c27e1f2ba8801f9a48f9d0c05a89b2481f8429b7448716a20ceebeee68736)
No setups configured

BlockStoreTests.cs - BlockBroadcastInv()

Message: System.OperationCanceledException : The operation was canceled.

WalletTests.cs -Given__TheNodeHadAReorg_And_WalletTipIsBehindConsensusTip__When__ANewBlockArrives__Then__WalletCanRecover

Result Message:	System.OperationCanceledException : The operation was canceled.

MinerTests.cs - MinerCreateBlockCoinbaseMempoolTemplateCreationFailsAsync()

Message: Assert.Throws() Failure
Expected: typeof(Stratis.Bitcoin.Features.Consensus.ConsensusErrorException)
Actual:   (No exception was thrown)

MinerTests.cs - MinerCreateBlockSigopsLimit1000Async()

Message: Assert.Throws() Failure
Expected: typeof(Stratis.Bitcoin.Features.Consensus.ConsensusErrorException)
Actual:   (No exception was thrown)

Hi @mikedennis, I confirm they are also failing for me. I'll look at the miner tests 👍

@mikedennis
The following tests are fixed now:
SyncFromDate_ChainTipAfterGivenDate_StartsSyncFromHeightAtTime
MinerCreateBlockCoinbaseMempoolTemplateCreationFailsAsync
MinerCreateBlockSigopsLimit1000Async
Still looking into the integration tests.

Unit tests mentioned in this issue are all now working, closing this issue.


migrate CRA to vite

since CRA is deprecated and no further changes are expected, it is necessary to move to vite.

Migrate dev and prod to vite based environments.
Add lazy loading to all routes.
update and test docker build.

LGTM


OkHttp 3.12.4 is released

For this: https://github.com/square/okhttp/issues/3772

Self-merging documentation change.


[1.18.2] 建议：给调料增添获取方式

作者你好，可以考虑出下辣椒、孜然、花椒的种子以及种植相关的么？主要是那些调料只能交易，没有额外的获取方式，这样导致比较依赖于村民。

这个mod设计的初衷就是为了一切从简，我们不希望添加太多离题的内容，作物就是其中之一。考虑到添加作物的形式在各类食物mod中太过常见，我们也认为这稍显无趣了，所以我们最终选择了村民作为调料的获取途径。
不过你提到的调料太过依赖村民确实是个问题，我们可能会考虑在地牢中加入一些调料包。

This mod was designed to keep everything simple, so we didn't want to add too much off-topic content, and crops were one of them. Considering that adding crops is too common in all kinds of food mods, we also thought it was a little boring, so we ended up choosing villagers as the way to get seasoning.
But your mention of relying too much on villagers for seasoning is a real problem, and we may consider adding some seasoning packs to the dungeon.


Add window command

In the spirit of iterative development, this adds a window command that does nothing but open a window. We can make it useful later.
I think I'll try to add a test too.

Watching the build on CI, I'm wondering if we should make this an optional feature. bevy pulls in a bunch of dependencies. But whatever, maybe that's a question for later. I made it build on CI, but disabled the test because it doesn't pass.

Yeah, the long compilation time is a bummer. I just pushed a diff that makes bevy an optional dependency.

Take another look and tell me what you think. I was trying to get the tests to run on CI under Linux, but gave up, since MacOS just works, and it's unlikely that we'll write platform specific code. We can always try to get them running on Linux later. To clean up tests that check for colored output, I added atty, to check if stderr is a terminal, but also a check for CLICOLOR_FORCE to override it for tests. (It's not widely used, but it's a proposed standard.)


Change "Scalable confidential cryptocurrency" to "Confidential, fast, easy to use"

https://zpl.io/aXkM95M
https://zpl.io/br0v8YW
change it everywhere it appears

App's loading screen: change "Scalable confidential cryptocurrency" to "Confidential, fast, easy to use"

Checked


Query: functionTest->device-test->common->3_device-profile

I ran below command after test setup locally for "device-virtual":
python3 -m TUC --exclude Skipped -u functionalTest/device-service -p device-virtual
After running, getting error in the report:
"The device profile Virtual-Sample-Profile is not found"
Got below in response:
GET Response : url=http://localhost:59881/api/v2/deviceprofile/name/Virtual-Sample-Profile   status=404, reason=Not Found   headers={'Content-Type': 'application/json', 'X-Correlation-Id': '8d6ba1d8-cfa1-41e3-a284-2927fccbd754', 'Date': 'Wed, 02 Mar 2022 15:09:51 GMT', 'Content-Length': '166'}   body={"apiVersion":"v2","message":"fail to query object *models.DeviceProfile, because Virtual-Sample-Profile: md|dp:**name doesn't exist in the database"**,"statusCode":404}
Now my question is, in which "database" tried to find out the device profile name? Do we need add any related supporting test data in form of .json file  under TAF-> testData dir by uploading "Upload device profile" in ${WORK_DIR}/TAF/testData/core-metadata/deviceprofile/${file} ??
@cherrycl @cloudxxx8  @beaufrusetta  @michaelestrin  Request you to please guide on this.

@lenny-intel can you possibly help with this or ping someone else that could?

@rajatkumar-eaton database is the RedisDB, and it means you don't have the profile for the test cases you want to run.
The test you are running requires the pre-defined Profiles before starting the device-virtual service.  If you want to run your local virtual device service, you have to feed the test data properly.

thanks @cloudxxx8
I have changed the device name as "Random-Binary-Device" which was the actual imported with service, so working fine now.

It depends on how you start your services
The original script starts the service with the following config, so the device and device profiles are created automatically
https://github.com/edgexfoundry/edgex-taf/tree/main/TAF/config/device-virtual
You need to implement your own set up logic if you would like to run your own deployment logic

@cloudxxx8  I have just started the Edgex default core services provided by them only and then tried to trigger default test, but somehow there is mismatch in predefined profile already deployed and TAF test script.

since device-virtual is set up locally on your own, you can modify the config to remove or change the pre-defined device profile or devices

@rajatkumar-eaton So far, do you have further questions regarding this issue? If not, can I close it?


support for transformers?

is it possible for this tool to be used on any model that is not from OpenAI is it something worth doing to support models from different structure

yes it's possible but you'd have to implement it yourself.  just needs to support a similar hooks structure

dup of #18


Allow text attachment to be collapsible

Allow scenario logs to be collapsible:

Large text data will make the report harder to follow

That's great that you have a solution!
IMO it would be preferable to default to collapsing attachments rather than having an option.
Do you want to make a PR @Johnlon and we can discuss it there?

I will

@mattwynne  Done https://github.com/cucumber/cucumber-react/pull/108
Leverages the "details" html tag so the appearance is determined by the browser.
Here's chrome ...

if the attachment hasn't been given a filename then the title (aka "summary") is the word "text".

Does this also work for image attachments?

Image attachments already have this.

Folk, what's the process / timeline  for getting this integrated?

Same done for Video Attachment inc missing tests

Change is merged but presumably this ticket will stay open until the build is available for consumption?

I guess we can close it
Thanks again @Johnlon 💪

I would only close when the value is realised.

It depends on how the organization typically works.
At cucumber, we usually close such tickets once related PR are merged and the fix is on main.


Use graphite for metrics (+better env var docs to support that)

FT is changing the way we collect and monitor service metrics to standardise on graphite.  This adds metrics to replace existing /__metrics HTTP endpoint.

We should look at Financial-Times/next-metrics.  StatsD isn't really the one true way.

@samgiles this is worth another look.  Adding node-measured made for a very elegant solution, though I worry a bit that this isn't necessarily easy for other tech stacks.  Technologies that don't maintain a running process, like PHP, will need more complex solutions to collect metrics if aggregation is to be the responsibility of the service.  That said, if everyone prefers the raw carbon protocol, it is at least pretty easy to use from Node, and we could make a pattern from this very easily especially if my suggested flatten function were to be pushed into the node-measured module.


Introduce #Expression macro and type

This implements the API proposed in https://github.com/apple/swift-foundation/pull/424

@swift-ci please test

@swift-ci please test


Documentation: foundation pages update part 2

By creating this pull request you agree to the terms in CONTRIBUTING.md.
https://github.com/Infineon/.github/blob/master/CONTRIBUTING.md
--- DO NOT DELETE ANYTHING ABOVE THIS LINE ---

changed text and deleted image in foundations pages

📦 Published PR as canary version: 21.8.3--canary.1224.1b3f0377a217503b2cb18be1321dabb7b538ff8e.0

:sparkles: Test out this PR locally via:
npm install<EMAIL_ADDRESS># or
yarn add<EMAIL_ADDRESS>

Changes included in another PR


Correction for raw affiliation Faculty of Pharmacy, University of Montréal, Pavillon Jean-Coutu, 2940 Chemin de Polytechnique, Montréal, QC, H3T 1J4, Canada

Correction needed for raw affiliation Faculty of Pharmacy, University of Montréal, Pavillon Jean-Coutu, 2940 Chemin de Polytechnique, Montréal, QC, H3T 1J4, Canada
raw_affiliation_name: Faculty of Pharmacy, University of Montréal, Pavillon Jean-Coutu, 2940 Chemin de Polytechnique, Montréal, QC, H3T 1J4, Canada
new_rors: 0161xgx34
previous_rors: 05f8d4e86;0161xgx34
works_examples: W4384120407
contact: 96766ffcf1712f176dbfa4a39e95b13b:4146dbbd8dc9187bd65b65 @ polymtl.ca

This issue was accepted and ingested by the OpenAlex team on 2024-11-01. The new affiliations should be visible within the next 7 days.


Trying to get in touch regarding a security issue

Hi there,
I couldn't find a SECURITY.md in your repository and am not sure how to best contact you privately to disclose a security issue.
Can you add a SECURITY.md file with an e-mail to your repository, so that our system can send you the vulnerability details? GitHub suggests that a security policy is the best way to make sure security issues are responsibly disclosed.
Once you've done that, you should receive an e-mail within the next hour with more info.
Thanks! (cc @huntr-helper)

Hi @JamieSlome thank you very much for your message, I don't know why this went off my radar...
anyway... at the moment I'm not actively maintaining this library (unfortunately), but I'll do me best to add the SECURITY.md file as per your request...

@antonioru - appreciate your response and not a problem at all!
You can find the report here:
https://huntr.dev/bounties/2f42873d-83d7-4006-aa0e-65d085c01071/
Just an thought regarding your security policy, but you could always point people to:
https://huntr.dev/repos/antonioru/deep-waters


feat: don't require command when proxy port provided

fix #1693

Thanks for the PR!
Seems like you forgot to run prettify?

Hey,
can you make a changeset please

Thank you for your PR!


VoiceConnection emitting speaking events for users in other VoiceChannels

I'm working on a bot that processes incoming voice streams.  Whenever the speaking event is emitted by the VoiceConnection for the current VoiceChannel and true is passed, I set up a new stream and process the data after the stream's end event.
I noticed I was processing a bunch more streams than expected, and that many of them were empty, so I started logging the Users who were being passed with the speaking event.  Turns out it was emitting speaking events for members of all of the VoiceChannels on the guild, not just the members in the voice channel the bot was connected to.
Reproduced with the following code:
bot.on('ready', () => {
    let channel = bot.channels.find(c => c.id == CHANNEL_ID);
    channel.join().then(connection => connection.on('speaking', user => console.log(user.username)));
});

By speaking in a different channel.

This seems to be the intended behavior. This is how Discord manages speaking events -- whenever you're in a voice channel, you get sent all speaking events. If you want to only listen to speaking events in the channel, just filter for it yourself. It's possible we could add an event like this for the VoiceChannel class...

It dont think it really make sense for this to be in the VoiceConnection in that case, since the connection is specific to a single VoiceChannel.   I think given this exclusivity the expected behaviour would be that it would only emit events triggered by users in that VoiceChannel.  At the very least this should probably be clarified in the docs imo

Speaking from the API perspective, it absolutely makes sense for this to be bound to VoiceConnection.  The packets are sent by the voice connection websocket, meaning that in order to receive speaking events a voice connection is required.  I'm not sure the docs are in need of clarification; nowhere do they state that speaking events are bound to the current voice channel.

I suggest the documentation change becuase while it may not explicitly state that they are bound to the voice channel, it is not very intuitive when it says that a connection Represents a connection to a voice channel in Discord. Almost everything else about a VoiceConnection is specific to the VoiceChannel it was created from.  I cannot receive data from users in other channels, I cannot play audio in other channels, why is it expected to be assumed that the events emitted by the connection are any different?

Thanks for bringing up this issue. The documentation has been corrected to show that a VoiceConnection isn't specific to a voice channel, but instead a guild. The speaking event will continue to be emitted for users in other channels - the documentation now makes sense for it to do so.
While it would be possible to make VoiceChannel emit the event instead, it would be inefficient to make them EventEmitters. Instead, I'd just suggest filtering for the channel:
connection.on('speaking', (user, speaking) => {
  if (connection.guild.member(user).voiceChannel.id !== connection.channel.id) return;
  // do something with filtered event
});


[stable/jenkins] Default values for securityContext with regards to persistency

Signed-off-by: Francesco Gualazzi<EMAIL_ADDRESS>Is this a new chart
No
What this PR does / why we need it:
Chart is not able to deploy out of the box with persistence.enabled = true
Which issue this PR fixes
A storage permission problem
Special notes for your reviewer:
Checklist

[X] DCO signed
[X] Chart Version bumped
[X] Variables are documented in the README.md
[X] Title of the PR starts with chart name (e.g. [stable/mychartname])

/assign @maorfr

Hello there 😄 a bit of context to this PR: when deploying the chart recently I noticed that it fails deploying with the default values.
This is due to the initContainer creating files that are not readable by the jenkins master at startup: only way to fix this was by using the 1000 uid and gid in securityContext, thus I thought these values should be the default in values.yaml with regards to the other defaults (persistence.enabled = true and securityContext.enabled = true).

Hello @torstenwalter thanks for reviewing, I see your point.
If changing the default is too heavy, maybe then this PR can just contain a better doc that explains that with the default values the chart simply won't start so it requires setting those securityContext parameters.
Reason for this PR is to avoid other people spend 4 hours debugging a non-deployable chart with the defaults, if I had find that detail in the doc deploying the chart might have been easy.

@inge4pres I took you input and included those changes in #21895

Awesome! Good job 😄 thanks


Insights for a Specific Course

Not 100% done, don't merge yet <3

Function fully completed and changes made to fix the errors from the git merge & revert :)


Fix: "Issue Confirmed" badge link

coverage: 31.964%. remained the same
when pulling 0923c1a27a71e37e3ceb5caaba93f3268ccff388 on yestalgia:patch-1
into cae010986b072cff04c40d822b9a5a29f1962248 on mcallegari:master.


feat: Extend SSE client with options, include headers

The purpose of this PR is to extend current SSE client configuration to support custom http headers.

@Volodymyr-Kuchinskyi , could you please rebase your branch against the latest dev branch? thank you

These will go to 2.16.0, should be public next week.


fixed issue with sentiment score

This fixes an issue with the Json serializer and the sentiment
analysis. If a users first message had a weighting of 0, score would be
divided by 0.
Additionally, Gson would throw an exception when attempting to
serialize NaN. For this reason, an additional check was added to ensure
that the score and weighting remain a number.

Looks good.


Bump fluentbit, mdm, and mdsd images to mitigate P0/P1s

Which issue this PR addresses:
Fixes https://msazure.visualstudio.com/AzureRedHatOpenShift/_workitems/edit/14258164
What this PR does / why we need it:
Need to bump the fluentbit, mdm, and mdsd images for P0/P1 vulnerabilities.
The fluentbit image in pkg/util/version/const.go is not bumped as that doesn't need to be bumped at this time, only the RP one and a follow-up PR in RP-Config will be done to address that one.
Test plan for issue:
Run in INT, and confirm we still have logs coming to dgrep / kusto after RP deploy for the AROServiceLogs event/namespace.
Is there any documentation that needs to be updated for this PR?
No

This is going to fail E2E because I haven't mirrored the MDSD image which is used in the openshift-azure-logging namespace.  Mirroring then rerunning e2e.

/azp run e2e


Add Malbolge Unshackled

I would really appreciate the Unshackled variant of Malbolge being hosted on TIO as I'm using it in my answers.
Pretty decent interpreter

Is that a different TIO has 1 MB limit for requests, so if it's for this answer, it won't work... I suppose it's going to be useful nonetheless, so I'll add it anyway.
Is the interpreter you mentioned better than the one TIO already has? Removing the memory limit would be trivial.

https://tio.run/#malbolge-unshackled

That answer was using my to-Malbolge compiler (eating around 1.5 gigabytes of RAM), so I wouldn't expect TIO to run it, although Malbolge Unshackled may come really handy here (60kB vs 1MB makes a difference)


Not a valid identifier in shell script

Hi Team,
a.sh file content:
ENV_FILE="a.env";
source ${ENV_FILE};
export $(cut -d= -f1 ${ENV_FILE});

Idea prompts in red "not a valid identifier"

But it works fine in terminal.

@bhagatdinesh Thanks!
I'll try to fix this with the next update.

Fixed for the next update


HDDS-5417. Fix json parse stackoverflow for cmd ozone debug container list.

What changes were proposed in this pull request?
Fix json parse stackoverflow for cmd ozone debug container list.
Detailed descriptions in the JIRA.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-5417
How was this patch tested?
manual test.

Hi @adoroszlai , could you please help review this, this bug is after this pr: https://github.com/apache/ozone/pull/2158
which add the VolumeSet field into HddsVolume.

Thanks @adoroszlai , hmmm, it is nice to have a new suite for debug, we could do it later.

Thanks @guihecheng for the fix.


Scheduler optimizations

There are 2 issues ...

Monifu has been using System.nanoTime() for scheduling stuff. But while that has much better resolution, unfortunately it's way slower than System.currentTimeMillis, as explained by this Oracle blog post

the methods on Scheduler take as parameters FiniteDuration arguments for user friendliness, which is cool, except that the conversions necessary from Long (like in the debounce or timeout operators) are wasteful, so we need overrides that take 2 parameters instead a Long and a TimeUnit

Solved.


python3Packages.pytun: 2.3.0 -> 2.4.1

Diff: https://github.com/montag451/pytun/compare/v2.3.0...v2.4.1
Description of changes

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

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

Result of nixpkgs-review pr 299716 run on x86_64-linux 1

4 packages built:

python311Packages.pytun
python311Packages.pytun.dist
python312Packages.pytun
python312Packages.pytun.dist


Adding support to groq

          Hello ! It would be cool to use groq api so that it will run a lot faster than openai or ollama (and it's free).

Originally posted by @guepardlover77 in https://github.com/onuratakan/gpt-computer-assistant/issues/19#issuecomment-2146717808

Hey! That would be awesome, I'll put a PR soon for this!

Can we assign me to this one?

Hey yeah, why not. Please.

We are fully open to contributions. Its our agents your and mine.


Changelist is polluted or contains duplicate sequential entries after edit and undo operations

Steps to reproduce
When editing and undoing the changelist often becomes unusable, such that there are often equal sequential entries with the same 'change' i.e same line and col number, leading to a very unpleasant experience when using g; and g,, where one has to spam g; or g, to pass through these repeated changes to traverse the list in any direction.
Note that according to the docs for changelist it might be affected by textwidth - https://vimhelp.org/motion.txt.html#changelist
When two undo-able changes are in the same line and at a column position less                           than 'textwidth' apart only the last one is remembered.  This avoids that a                                              sequence of small changes in a line, for example "xxxxx", adds many positions                                            to the change list.  When 'textwidth' is zero 'wrapmargin' is used.  When that                                           also isn't set a fixed number of 79 is used.  Detail: For the computations                                               bytes are used, not characters, to avoid a speed penalty (this only matters                                              for multibyte encodings).

lorem.txt
Lorem Ipsum is simply dummy text of the printing and typesetting industry.
Lorem Ipsum has been the industry's standard dummy text ever since the 1500s,
when an unknown printer took a galley of type and scrambled it to make a type
specimen book. It has survived not only five centuries, but also the leap into
electronic typesetting, remaining essentially unchanged. It was popularised in
the 1960s with the release of Letraset sheets containing Lorem Ipsum passages,
and more recently with desktop publishing software like Aldus PageMaker
including versions of Lorem Ipsum.

vim -u NONE
:e lorem.txt
tested with both default textwidth and :set textwidth=200, same result
dd line 1
dd line 3
add a 3-4 new lines with o + esc
dd last line
undo all changes
:changes

:changes
change line  col text
    7     2    0 Lorem Ipsum has been the industry's standard dummy text ever since the 1500s,
    6     5    0 electronic typesetting, remaining essentially unchanged. It was popularised in
    5     6    0 the 1960s with the release of Letraset sheets containing Lorem Ipsum passages,
    4     6    0 the 1960s with the release of Letraset sheets containing Lorem Ipsum passages,
    3     6    0 the 1960s with the release of Letraset sheets containing Lorem Ipsum passages,
    2     6    0 the 1960s with the release of Letraset sheets containing Lorem Ipsum passages,
    1     1    0 Lorem Ipsum is simply dummy text of the printing and typesetting industry.
>

Notice that line 6 is repeated 4 times, sequentially and the change is not actually any different, tested with both default textwidth of 0 and textwidth of 200, this could be connected to the number of new lines inserted above, but even after the undo one would expect to have just a single change for that particular line + col pair of change. Further more i would imagine that after step 5, undoing all changes, and reverting back to the initial state of the file, the changes list should be empty ?
Expected behaviour
Sequential changes such as the ones presented above, should be collapsed into one.
Version of Vim
9.1
Environment
Ubuntu
Alacritty
Logs and stack traces
None

Can't reproduce it with 9.1.636. Tested with a different text as I don't have the one OP uses.
ps, I have used :changes command, there is no :changelist in vim.

And I can reproduce it with the latest master but the step 6 should be more explicit:
o<esc>o<esc>o<esc>o<esc>

I initially did o<cr><cr><cr><cr><esc> instead and changelist was different.

@habamax thanks, edited the issue with the text and fixed the commad to :changes, also i first observed this in neovim, and has been like that for quite a while, maybe at least since 9.5

Vim doesn't remember the buffer state after each change. So it cannot know, when to collapse the changelist. I think this was asked previously a few times. Remembering the buffer state, would mean we calculate a hash of the buffer for each change, which is quite costly.

From a cursory glance, it seems that we can safely collapse at least duplicate entries, can we not ? Just after the changelist is generated/updated it can be pruned from those.

Okay so temporarily, i was thinking something like that should somewhat work. It can be adjusted to skip over sequential changes within a line and a col_diff threshold. Is there any other mapping the user might use to interact with the changelist besides g; and g, @chrisbra ?
nnoremap <silent> g; :call <SID>GotoTargetChange(-1)<CR>
nnoremap <silent> g, :call <SID>GotoTargetChange(1)<CR>

function! s:GotoTargetChange(direction)
    let diff_threshold = 100
    let current_pos = getpos(".")
    let changes = getchangelist()

    let changelist = l:changes[0]
    let index = l:changes[1] - 1
    let len = len(changelist)

    let call_count = 1
    let step = a:direction
    let current_index = l:index

    let last_lnum = l:changelist[l:current_index].lnum
    let last_col = l:changelist[l:current_index].col

    if l:current_pos[1] == l:last_lnum && l:current_pos[2] - 1 == l:last_col
        let l:call_count += 1
        let l:current_index += l:step
        if l:current_index >= 0 && l:current_index < l:len
            let l:last_lnum = changelist[l:current_index].lnum
            let l:last_col = changelist[l:current_index].col
        endif
    endif

    while l:current_index + l:step >= 0 && l:current_index + l:step < l:len
        let next_index = l:current_index + l:step
        let next_lnum = changelist[l:next_index].lnum
        let next_col = changelist[l:next_index].col
        let col_diff = abs(l:next_col - l:last_col)

        if l:next_lnum != l:last_lnum || l:col_diff > l:diff_threshold
            break
        endif

        let l:current_index = l:next_index
        let l:call_count += 1
    endwhile

    if a:direction == -1
        execute 'silent! normal! ' . l:call_count . 'g;'
    else
        execute 'silent! normal! ' . l:call_count . 'g,'
    endif
endfunctio

However @chrisbra something that seems a bit broken is the textwidth from the docs it states that the changelist uses the textwidth property to determine how to create the changes entries, however i would imagagine with a value of 0 for tw this changelist feature should be considered disabled (as in the tw docs it says that value of 0 means disabled) meaning it should record all changes on a line.
As it is now, if tw is 0, if i do changes on a line spaced in between a few dozen characters, only the last change is remembered as if textwidth was set to some big value, i argue it should be the other way around, with the textwidth of 0, it should record every change on the line.
Lorem Ipsum has been the industry's standard dummy text ever since the 1500s

Having the following line with tw=0, if i delete the words has dummy and the, only the last change will be registered in the change list, if i repeat the same but manually set the tw=5, all 3 changes will be present in the list.


Parametrize blockchain polling interval

This feature was developed to get the events in the right order when working on a PoA network of block time inferior to 10s (default polling time of Web3j).
Add ethereum.node.blockTime parameter to set the polling interval (defaulted to 10s).
Thanks!

Thanks for this Stephane.  One minor change suggestion...could you change the blockTime property name to ethereum.node.pollInterval instead, as I think that better describes the function of the property.  Cheers!

Manually merged in #49 because of conflicts
Thanks!


Add more user information fields to Profile form

The code in this PR adds more fields to the Profile page form. Due to GDPR compliance, we need to let the users edit all the information we have about them.
So, there were some information that was not possible to be edited until now. These new fields are Company, Phone, and Job Role. We moved the Email field from the account page to this one to keep pages consistent.
This PR includes changes in CartoAssets in https://github.com/CartoDB/CartoAssets/pull/197.
Acceptance Steps

[ ] Check that the Email field is not in Account page anymore
Check that the new fields have been added to the form in Profile page (in this strict order)

[ ] Email
[ ] Company
[ ] Your Role
[ ] Phone

[ ] Check that you can edit the fields and save them properly
[ ] Check that you can set remove fields content and save them properly

Related to #13793

retest this please

Acceptance

✅ Email is not on account page.

✅ New fields are added.

✅ Fields are editable, removable and save works.

❌ Link of public profile doesn't work. This can be a problem in OnPrem or Organizations, where the URL can be different, like in https://team.carto.com/u/hacheka/me/

❌ https://team.carto.com/u/hacheka/me/

@ivanmalagon Yes, I took that into account. The thing was that I harcoded the carto.com part, but now I think it is OK.
https://github.com/CartoDB/cartodb/blob/1ecdd4d0e31f7c5a1538127d68f2ff512c8e395d/lib/assets/javascripts/dashboard/views/profile/profile-form/profile-form.tpl#L1-L12
I don't know if your last two points are the same issue or not.

I have just re-deployed the change to staging, as well as the CartoAssets change that I forgot.
So now we should have that fixed and the UX of select inputs improved.

Found several issues
REGULAR USER
There a mismatch between what it's supposed to appear on the public page and what's really shown. I've opened a ticket with the info. -> https://github.com/CartoDB/cartodb/issues/13991
ORG USER

Avatar is not saved.
If Twitter info is filled, the form doesn't save.

The issues have been fixed and tested.
The twitter info was not saved because another user had the same twitter handle set in the profile, so it didn't save the info properly. Seems like the field is unique.
The avatar was failing because /u/USERNAME was missing in the request URL.


Adjust contracts as per latest audit report

Looks OK at first glance, but in the future please do not make such large commits.

Each change from an audit report should be in its own commit, and the commit message should reference the report section.
Unrelated refactoring (e.g. renaming of variables) should be in a separate commit.

In this case, the audit report had only a few minor non-security-relevant comments that requested only a few lines of change. Identifying the matching changes in a several hundred line diff and confirming correctness of unrelated changes unnecessarily slows down review.

Hmm, I had no unrelated renamings, all of the changes were suggested in the report. But yes, you're right, I didn't think how difficult it would be for an evaluator to check all of the changes at once... For me, that may be a more generalizable takeaway, i.e., to break down commits into smaller chunks. Thanks for the review, let me know when you want this merged.


Glific Internal Dashboard: Week 6, 7 & 8

Project
Glific
Changes
Updated Week 6, 7 and 8 milestones
Notes
If there are any further notes.

Add some learnings and contributions(if possible)


Etcher doesn't work on VoidLinux

A user on gitter ( @tom-i ) has reported that whilst the AppImage runs on VoidLinux, it isn't able to flash an image.
We should investigate this.

I'm running i686 Void, are you guys gonna be adding support for Void Linux i686 & x86_64?

Just for clarity and to avoid any confusion:
If your kernel reports i686 then you're running in 32-bit mode and need to use the x86 version of Etcher
If your kernel reports x86_64 then you're running in 64-bit mode and need to use the x64 version of Etcher
@Jakecheslekov Does the x86 AppImage not work on i686 VoidLinux? I never got round to investigating this as @tom-i reported that the x64 AppImage worked fine on x86_64 VoidLinux.
Do you see any errors displayed if you run the x86 Etcher AppImage from a terminal window?


Feature/14 base64

I've written https://github.com/auchenberg/node-canvas-base64, a little module that can be used until this features get's in.


Introduced a React component based design approach

In regards to #7, this PR includes a component based design. The idea is to describe every design as a react component, so you can just change to another design (that was transformed into a component before) through referring to another component inside your renderer. These components are written in JSX, a mix of .html and javascript (and perhaps even CSS) and transpilled using babel. to The component will automatically get all necessary properties and the browser will render the appropriate page like a charm.
Currently, only one design is implemented to demonstrate the behavior. When you click the really-link you will get randomly redirected to the other designs based on regular .html files.  I also changed the directory structure to something more emphasizing, flexible and switched the github badge.
You can access a demo page at: https://vailfire.github.io/afullstop/notaperiod/
☑ Current state of work:

[x] Include the other designs from the gh-pages-branch 1fe4ba9
[x] Create a webpack workflow that allows developing components, using npm-modules, transpilling and minifying to one single .html-file:

[x] Setup npm
[x] Setup eslint to promote a uniform code compliance b8afaeb
[x] Setup basic webpack workflow (transpilling code, import/export for external files, minifying and code optimation, HMR for React components) 60cbde5 97a5220 a5df914

[x] Document the new system with a How to for adding new designs with this approach 3ecb07b
Rewrite and transform all designs to react components (dropping jquery for React)

I will address these things in the next days. 🎃

I don't have much experience with node.js, but is it good practice to store styles inside the html tags? Wouldn't it be better to create a new css file storing everything in it?

I think it is a tough question to answer whether using inline styles or plain CSS files is a better practice.
I would say we can talk about different factors:

performance
maintainability, flexibility
personal preferences

Maintainability can be influenced through a build pipeline (CSS-preprocessors, webpack workflow) that allows you to split your styles into files or to use variables in your CSS stylesheets, etc. which means they depend on your preferences. But that's not the decisive point. These tools can kind of arrange to your preferences. So, unless you want to improve and optimize performance on your site and you are literally fighting for _milli_seconds, it's more a thing of personal preferences.
Theoretically, there are advantages for both techniques. When the browser renders a site the first time with an external CSS file, the rendering of the DOM will be delayed until the CSS was loaded with an additional request which takes time. On the other side, it is easier (presumptive) for the browser to cache these external files. But an advantage of inline styles is the fact that the browser engine does not need to select and interpret the different CSS selectors, but rather can just apply the inline defined styles for only the element. When it comes to larger sites with a lot of duplicated styles, inline styles are in disadvantage again, because the size of the whole document grows proportionally. Here it would be better to write the styles only once with traditional CSS.
You see that it is pretty hard to answer this question. Presumably, the best solution would be a mix of the different techniques. But as I said, as long as you don't optimize a site for performance, the difference of a few hundred milliseconds does not matter.  It's more a personal choice.
With my proposed setup it will be possible to mix these although I would personally go for inline styles when you are using React because you can write everything in one language.  Also, you can use javascript logic inside your styles like variables or functions to generate dynamic styles. And that's a great thing because you do not need CSS-preprocessors (like sass or less) anymore and have more possibilities.
Some interesting blog posts on this topic:
https://developers.google.com/web/fundamentals/performance/critical-rendering-path/
http://stackoverflow.com/questions/8284365/external-css-vs-inline-style-performance-difference
http://stackoverflow.com/questions/26882177/react-js-inline-style-best-practices
https://gomakethings.com/inlining-critical-css-for-better-web-performance/
https://ctheu.com/2015/08/17/react-inline-styles-vs-css-stupid-benchmark/

That's a really nice explanation, learned a lot! Look forward to your react based approach, tell me if you need any help from me.

I've made you collaborating so you can take charge of the js branch.

I'm happy to announce that I completed my work so far. I implemented a reliable Webpack workflow and a new way to write designs with React. Please read further details at my updated CONTRIBUTING.MD.
I also experimented with a continuous integration using Travis CI, to automate builds and decouple them from manually building and pushing via git. Sadly, after spending nearly a whole day on investigating a suitable approach, I dropped my tries due to the too complex workflow that would have introduced too many edge cases where the continuous integration could fail. Perhaps it is possible to setup continuous integration easier with a project reorganization that would split gh-pages and source in different repositories. As long as we do not have a CI Job, we need to install Node.js on our development machines to build the project ourselves using npm run build.prod. Because of that, I also had to change the directory structure. The source needs to be in the same branch like the build for gh-pages and should be merged from the js branch to there.
Now, the next steps are to convert all designs. I hope my new approach appeals to everyone. 😃


Tags too slow in opening

Category

[ ] fzf binary
[ ] fzf-tmux script
[ ] Key bindings
[ ] Completion
[x] Vim
[ ] Neovim
[ ] Etc.

OS

[x] Linux
[ ] Mac OS X
[ ] Windows
[ ] Windows Subsystem for Linux
[ ] Etc.

Shell

[ ] bash
[x] zsh
[ ] fish

For instance I had a project with python, js and other languages in there.
doing this: find . -type f -name '*.py' -not -path "./.env/*" -not -path "*/.tox/*" | ctags -L-  I rely only for searching python code. I mean - its truncated more than it should be.
And still, have 22k tags, :Tag SomeClass indexing couple seconds before start finding.
I'm using pyCharm manually, which looks for everything (js, ruby, python, env, tests, variables and etc) right after I clicked double shift.
Is it possible to "remember" or "pre-indexing" my tags and not spen time waiting at least for signle session (closing tags and calling it after did the same await)?
Thanks

:Tags command generates tags file only when it's not found (:echo tagfiles()). If one already exists, it starts immediately. So I'm not sure what you're describing. Can you post an asciinema recording of the problem?

Hmm
Actualy I thought that when hit :Tags there increasing numbers on bottom are about 'reading' tags. So I thought that you must wait until left part becomes equal right part and only after that you can write tag you want to search for.
Now I tested last searching a tag which starts with 'Z' letter (so it should be last one), before thos numbers become equal, and this tag were found.
So I don't understand, what this numbers are?

fzf works asynchronously, so you don't have to wait until fzf finished reading the input. You can just start typing. Left: number of matches, right: number of lines read.
Also make sure that you have the latest version of fzf, which is 0.16.10. The initial scanning performance has improved, so the numbers will go up noticeably faster.

And if you know the prefix of the tag, you should use the built-in :tag command instead, which should be much faster as it can perform binary search over the tags. :Tags command on the other hand has to load the entire tags file on memory and look at every line.

Yeap. That is what I'm asking about.
Would it be better to store tags in memory, rather than re-read it every time you type :Tags, even if there is no changes?

No, it's not possible. fzf is a separate process and vim synchronously waits for its completion.
I believe one should use :Tags only when fuzzy matching is needed, i.e. don't know the exact tag. I don't use it often. For prefix or exact matching, builtin command and key bindings are much more efficient.
Having said that, I just pushed a commit to fzf.vim (https://github.com/junegunn/fzf.vim/commit/685f9aae97072a190a1230a5c79692e15b7f46c9), which should make the initial loading of Tags significantly faster.


Clean up documentation around organization notifications language

After merging #20866, we have a bunch of follow-up cleanup needed:

[x] We should fix the /help/configure-notification-bot article to cover all the notifications that it sends, maybe not exhaustively but at least in terms of their categories (E.g. notifications when stream settings are changed). Also, we should think about whether it's be better to make the "organization notifications language" article instead be a section within that, since 80% of what this does is configure Notification bot.
[ ] We should rename the page from /help/change-the-default-language-for-your-organization to something reflecting the new name as a "notifications language", with a redirect.
[ ] We should open an issue for changing how invitations work to allow explicitly setting a language to be used in outgoing notification emails, with this being the default (I'm not sure it's urgent, but that seems more logical). Or maybe start with a #design discussion to confirm we think this is a good idea.
[ ] Both language articles advertise contributing support for new languages on **[Transifex](https://www.transifex.com/zulip/zulip/)**.; we should probably adjust that language to match the nicer language we have in the language picker itself. (In particular, it's a bad experience to start out on Transifex, since it has no instructions). (I also opened https://github.com/zulip/zulip/issues/21948 for a tangent off this).
[ ] We should check whether there's anything I missed in updating the documentation for #20866; e.g. maybe the "pick your language" page should mention that we detect your initial language from your browser's Accept-language header (likely in a less technical framing).

I'll also note I started https://chat.zulip.org/#narrow/stream/101-design/topic/language.20in.20invitation.20emails/near/1375528 for a question that could result in some further tweaks to the documentation here.
@laurynmm assigned this to you, since you have a ton of context for this.

Update by @alya :
Related issues, which will require additional changes to be made to the same help page(s): https://github.com/zulip/zulip/issues/22188 and https://github.com/zulip/zulip/issues/22136.

Still actively working on it.

Which parts of this issue remain after #21947 was resolved?

I have a local branch I need to look over and push for the 2nd and 4th parts. Will tag this issue when I make the PR.
Via this CZO conversation, the 3rd part got changed to be fixed with #22108, which Alya tagged today with 'integration review'. I don't think this issue is tagged on that PR.
And then I'll probably do a final sweep / check for the 5th part when those are all merged to see if we can close the issue or if there was anything else to update.

Progress on this issue:

3rd bullet point done as of #22108
4th bullet point done as of #22457
2nd bullet point pending related issues being resolved (https://github.com/zulip/zulip/issues/22188 and https://github.com/zulip/zulip/issues/22136)


Add a test scenario for @BeforeGroups having a dependsOnGroups

TestNG ignores the dependsongroups parameter on @BeforeGroups annotations.
See: https://stackoverflow.com/questions/31929690/beforegroups-method-ignores-dependsongroups

Thanks for the test case but it doesn't follow the current convention.
BTW, I suppose it is a graph issue not covered by tests.
@krmahadevan Do you have time to check it?

@jobayle - I am not sure if the test that you added is running as a group but it may be running as a standalone test. You would need to create a test that extends test.SimpleBaseTest and within an @Test method you would need to create a suite object add the group filtering, instantiate the TestNG object and then run the tests with it.

@krmahadevan Do you confirm the issue?

@juherr I haven't got to this yet. I will get to this shortly. Since this is in the graph section, I would again need to brush up on its working :)

Thanks for the test case but it doesn't follow the current convention.

Where can I read about this convention?

I am not sure if the test that you added is running as a group but it may be running as a standalone test. You would need to create a test that extends test.SimpleBaseTest and within an @Test method you would need to create a suite object add the group filtering, instantiate the TestNG object and then run the tests with it.

Me neither, also I tried to follow your instructions but eventually failed as I could not get it to work, sorry.

@jobayle You can check a recent package test like https://github.com/cbeust/testng/tree/master/src/test/java/test/name
You'll find a *Test which runs *Sample


Update SwaggerHub to include SourceName

Per Monthly Architect's meeting today, it was noted that the SwaggerHub documentation for the Event object was missing SourceName that is now in the model objects.

Move this issue to edgex-go where the swagger files are located.

Added the SourceName field to swagger API doc at PR https://github.com/edgexfoundry/edgex-go/pull/3266


How about adding an app demo section to the documentation?

Hello @rich-iannone and @machow ,
I've noticed that some users have questions about how to integrate great-tables into their applications. The requests come from various frameworks, including Streamlit, Panel, FastAPI, Flask, and Django, among others. While it's not feasible for us to cover every possible use case, I think it would be beneficial to create a section in the documentation (or a separate demo repository) that demonstrates how to render tables in raw HTML within these applications.
I've drafted four examples using Streamlit, FastHTML, FastAPI and Django. Regarding the Panel app, Marc Skov Madsen has already created a great demonstration here. What do you think of this approach?

I submitted a color picker example to FastHTML-Gallery to demonstrate how to integrate Great Tables with FastHTML here.
The maintainer suggested that we could create a plugin to help users more easily adopt Great Tables in a FastHTML app.
I've drafted a rough implementation at the end of this message. I created a decorator called gt2fasthtml that allows users to return a GT instance, with the output of GT.as_raw_html() wrapped in FastHTML components.
The implementation seems straightforward, and we could consider adding a decorators.py file to include various decorators for different apps. For more complex apps like Django, users might need a separate plugin or template tag to achieve this. However, for apps primarily designed for data scientists, the decorators.py file could meet their needs without requiring an additional plugin. Which approach do you prefer?
from functools import cache, partial, wraps

import polars as pl
from fasthtml.common import (
    H2,
    Card,
    Div,
    Form,
    Grid,
    Input,
    Main,
    NotStr,
    Title,
    Titled,
    fast_app,
)
from great_tables import GT, html
from great_tables.data import sza

app, rt = fast_app()

def gt2fasthtml(func=None, **div_kwargs):
    """
    https://pybit.es/articles/decorator-optional-argument/
    """
    if func is None:
        return partial(gt2fasthtml, **div_kwargs)

    @wraps(func)
    def wrapper(*args, **kwargs):
        gtbl = func(*args, **kwargs)
        gtbl_html = gtbl.as_raw_html()
        return Div(NotStr(gtbl_html), **div_kwargs)

    return wrapper

@cache
def get_sza_pivot():
    return (
        pl.from_pandas(sza)
        .filter((pl.col("latitude") == "20") & (pl.col("tst") <= "1200"))
        .select(pl.col("*").exclude("latitude"))
        .drop_nulls()
        .pivot(values="sza", index="month", on="tst", sort_columns=True)
    )

@gt2fasthtml(id="gt")
def get_gtbl(color1: str = "#663399", color2: str = "#FFA500"):
    return (
        GT(get_sza_pivot(), rowname_col="month")
        .data_color(
            domain=[90, 0],
            palette=[color1, "white", color2],
            na_color="white",
        )
        .tab_header(
            title="Solar Zenith Angles from 05:30 to 12:00",
            subtitle=html("Average monthly values at latitude of 20°N."),
        )
        .sub_missing(missing_text="")
    )

@app.post("/submit")
def post(d: dict):
    return get_gtbl(**d)

@app.get("/")
def homepage():
    return (
        Title("FastHTML-GT Website"),
        Titled("Great Tables shown in FastHTML", style="text-align:center"),
        Main(
            Form(
                hx_post="/submit",
                hx_target="#gt",
                hx_trigger="input",
                hx_swap="outerHTML",
            )(
                Grid(
                    Div(),
                    Card(
                        H2("Color1"), Input(type="color",
                                            id="color1", value="#663399")
                    ),
                    Card(
                        H2("Color2"), Input(type="color",
                                            id="color2", value="#FFA500")
                    ),
                    Div(),
                )
            ),
            get_gtbl(),
            cls="container",
        ),
    )

For the Streamlit app, we could introduce a gt2streamlit decorator that automatically calls GT.as_raw_html() and sets unsafe_allow_html=False, similar to the code at the end. I'm not sure if this approach will be well-received, but since users seem to be confused about how to render our tables, I reckon this decorator could reduce some of the friction for them.
from functools import wraps

import polars as pl
import streamlit as st
from great_tables import GT, html
from great_tables.data import sza

def gt2streamlit(func):
    @wraps(func)
    def wrapper(*args, **kwargs):
        gtbl = func(*args, **kwargs)
        gtbl_html = gtbl.as_raw_html()
        return st.write(gtbl_html, unsafe_allow_html=True)

    return wrapper

@st.cache_data
def get_sza():
    return pl.from_pandas(sza)

@gt2streamlit
def st_write_gt(df):
    sza_pivot = (
        df
        .filter((pl.col("latitude") == "20") & (pl.col("tst") <= "1200"))
        .select(pl.col("*").exclude("latitude"))
        .drop_nulls()
        .pivot(values="sza", index="month", on="tst", sort_columns=True)
    )

    return (
        GT(sza_pivot, rowname_col="month")
        .data_color(
            domain=[90, 0],
            palette=["rebeccapurple", "white", "orange"],
            na_color="white",
        )
        .tab_header(
            title="Solar Zenith Angles from 05:30 to 12:00",
            subtitle=html("Average monthly values at latitude of 20°N."),
        )
        .sub_missing(missing_text="")
    )

st.title("Great Tables shown in Streamlit")
st_write_gt(get_sza())

The FastHTML example has been merged, and you can try interacting with it here.

As there has been no further discussion, I will close this issue for now.


Unclosed client session in azure.containerregistry.aio.ContainerRegistryClient.list_repository_names

Package Name: azure-containerregistry==1.0.0b4, azure-core==1.16.0, azure-identity==1.6.0
Operating System: OS X
Python Version: Python 3.9.4

Describe the bug
Using azure.containerregistry.aio.ContainerRegistryClient.list_repository_names results in the following aiohttp warning:
Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x10b264ee0>
Unclosed connector
connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x10b2e84c0>, 1.472941262)]']
connector: <aiohttp.connector.TCPConnector object at 0x10b3020a0>

To Reproduce
Based on the sample from https://github.com/Azure/azure-sdk-for-python/blob/main/sdk/containerregistry/azure-containerregistry/samples/async_samples/sample_delete_old_tags_async.py I do run the  following:
import asyncio
import os

class ListOperations(object):
    def __init__(self, account_url=None):
        if account_url is None:
            self.account_url = os.environ["CONTAINERREGISTRY_ENDPOINT"]
        else:
            self.account_url = account_url

    async def print_repository(self):
        from azure.containerregistry.aio import (
            ContainerRegistryClient,
        )
        from azure.identity.aio import AzureCliCredential

        credential = AzureCliCredential()
        client = ContainerRegistryClient(self.account_url, credential)

        async with client:
            async for repository in client.list_repository_names():
                print(repository)

async def main():
    sample = ListOperations()
    await sample.print_repository()

if __name__ == "__main__":
    loop = asyncio.get_event_loop()
    loop.run_until_complete(main())

Expected behavior
There is no warning about unclosed sessions and connectors.

Thanks for reporting this! someone from our team will soon take a look

@bjoern-meier-by thanks for reporting this issue! I believe this issue is caused by the sessions not being closed on the credential as well. I modified your sample and this should close all connections:
import asyncio
import os

class ListOperations(object):
    def __init__(self, account_url=None):
        if account_url is None:
            self.account_url = os.environ["CONTAINERREGISTRY_ENDPOINT"]
        else:
            self.account_url = account_url

    async def print_repository(self):
        from azure.containerregistry.aio import (
            ContainerRegistryClient,
        )
        from azure.identity.aio import AzureCliCredential

        credential = AzureCliCredential()
        async with credential:
            client = ContainerRegistryClient(self.account_url, credential)

            async with client:
                async for repository in client.list_repository_names():
                    print(repository)

async def main():
    sample = ListOperations()
    await sample.print_repository()

if __name__ == "__main__":
    loop = asyncio.get_event_loop()
    loop.run_until_complete(main())

No this does not change it, running your adapted code still gives:
Unclosed client session
client_session: <aiohttp.client.ClientSession object at 0x10bdfe370>
Unclosed connector
connections: ['[(<aiohttp.client_proto.ResponseHandler object at 0x10bddb5e0>, 2.813222607)]']
connector: <aiohttp.connector.TCPConnector object at 0x10bdfe1f0>

@xiangyan99 could you investigate the root cause first, thanks!

@lmazuel We were assigning the issue at same time. :)


Merge prTesting_201904241045 branch to master branch

Docs Build status updates of commit b7253c3:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details
Dependent Files

split/updateTestRef.md
:white_check_mark:Succeeded

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


Allow using variable for connection timeout

Signed-off-by: Yussuf Shaikh<EMAIL_ADDRESS>

/cc @Prajyot-Parab @cs-zhang @aishwaryabk

/unhold

/cherrypick release-4.6

/cherrypick release-4.7

/cherrypick release-4.8

/cherrypick release-4.9


Remove string-merge caching

When it was added, it appeared to speed up string merging, however it was buggy and once the bug(s) were fixed, it turns out that it actually makes things slower.
Issue #117

Related to this:
https://reviews.llvm.org/D27146
I found this LLD patch that might be helpful. For debug builds, as long as you are willing to sacrifice on determinism, you can get most of the strings merged without requiring coordination between threads.

Thanks @DrewRidley. That's true, sacrificing non-determinism would indeed open up several options for faster string merging. A non-deterministic mode as an opt-in might be OK, but I'd definitely want to exhaust all other possibilities for improving deterministic string-merging first and I don't think we've done that.


Fix ZIP file name for HACS

as current repo is not active more than 6 months.
we have forked it and consider to maintain it in futuer.
https://github.com/wuwentao/midea_ac_lan
PR is welcome
Thanks


Add ws

Adds support for clients using non-encrypted websockets.

This change is

Pull Request Test Coverage Report for Build 306

24 of 31 (77.42%)  changed or added relevant lines in 5 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.5%) to 55.954%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

legacy/testresponder/testresponder.go
7
8
87.5%

ndt-server.go
0
6
0.0%

Totals

Change from base Build 303:
0.5%

Covered Lines:
484

Relevant Lines:
865

💛  - Coveralls

Fixes #49 and #50


XSS and SQL Injection Protection

It would be great to have protection from XSS and SQL Injection attacks built into Caddy. Similar as the project NAXSI is doing for Nginx with a rule based system.
I open this ticket to track this feature in Caddy. I don't know yet how to code in Go but I will jump into that lang to know how to built more features to Caddy if is need it. Perhaps someone could do this before I pass the learning curve necessary to get this done

Cool idea, could be related to #312.

SQL injection is really difficult to do anything about at the webserver level, due to differing dialects and so forth. Best practice is to not put user input into queries except by the parameterization mechanisms in your sql driver, which should protect you to some degree.
XSS is a much wider attack surface and yeah, perhaps there is more a plugin could do to stop it.

to improve protection against xss on some browsers, add following into your Caddyfile:
header / {
X-XSS-Protection "1; mode=block"
}

Closing since, I guess that header does the trick?
I am also thinking there's not a whole lot the web server can do to stop SQL injection.


cmd/compile: bad error for very short malformed package file

I'm redoing the package file format and code, and that work should fix this.
Noticed while debugging a cmd/go issue:
$ echo package p >p.go
$ echo 'import _ "./q"' >>p.go
$ echo broken >q.a
$ go tool compile p.go
p.go:2: import /tmp/q.a: not a package file
$

So far so good. But take the \n away from q.a:
$ echo -n broken >q.a
$ go tool compile p.go
compile: reading input: EOF
$

That's not useful: it doesn't even say what file is broken.
Like I said, the new package file code should fix this. This issue is a reminder to verify that. Please don't send CLs fixing the old code.

@rsc is this now fixed?

No, because the new packages haven't happened.


Boba Gateway - Pending Transaction UI Bug & Delay After A Traditional Exit (Rinkeby)

When you start a traditional exit, the gateway will show you a green pop-up message: oETH was exited to L1. You will recieve x amount oETH on l1 in 7 days. However the pending transaction box will show you: no pending transactions! Thats weird, because you know the transaction is pending, because you have to wait 7 days. The funny thing is, when you start a new exit or deposit. The first traditional exit magically appears. And after that, every traditional exit you start will show up with a strange delay...

Btw, the transaction history page shows the real data on time.

Alert popup messages are based on rpc responses, but other history and pending data comes from different sources, including etherscan and two different custom watchers. It can take as long as 5 minutes for some data to appear, depending on the details of type of transaction, network utilization etc. We can add a notice that you should expect to see pending history data within 5 minutes, although typically it will be much faster.


xADObjectPermissionEntry: Fails when applied in the same configuration as xADDomain

Details of the scenario you tried and the problem that is occurring
When deploying an xADObjectPermissionEntry resource in the same configuration as a new xADDomain resource, the xADObjectPermissionEntry will fail with the error  Cannot find drive. A drive with the name 'AD' does not exist the first time the configuration is deployed.
Verbose logs showing the problem
Operation Consistency Check or Pull started by user sid S-1-5-20 from computer NULL.
Running consistency engine.
The local configuration manager is updating the PSModulePath to WindowsPowerShell\Modules;C:\Program Files\WindowsPowerShell\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\Modules.
 Resource execution sequence :: [WindowsFeature]AD-Domain-Services, [xADDomain]ADDomain, [xWaitForADDomain]ADDomain, [xADObjectPermissionEntry]Permission.
This event indicates that a non-terminating error was thrown when DSCEngine was executing Test-TargetResource on MSFT_xADObjectPermissionEntry DSC resource. FullyQualifiedErrorId is DriveNotFound,Microsoft.PowerShell.Commands.GetAclCommand. Error Message is Cannot find drive. A drive with the name 'AD' does not exist..
MIResult: 1
Error Message: Cannot find drive. A drive with the name 'AD' does not exist.
Message ID: DriveNotFound,Microsoft.PowerShell.Commands.GetAclCommand
Error Category: 13
Error Code: 13
Error Type: MI
This event indicates that failure happens when LCM is processing the configuration. Error Id is 0x1. Error Detail is The SendConfigurationApply function did not succeed.. Resource Id is [xADObjectPermissionEntry]Permission and Source Info is C:\users\Administrator\Documents\test.ps1::38::9::xADObjectPermissionEntry. Error Message is The PowerShell DSC resource '[xADObjectPermissionEntry]Permission' with SourceInfo 'C:\users\Administrator\Documents\test.ps1::38::9::xADObjectPermissionEntry' threw one or more non-terminating errors while running the Test-TargetResource functionality. These errors are logged to the ETW channel called Microsoft-Windows-DSC/Operational. Refer to this channel for more details..
MIResult: 1
Error Message: The PowerShell DSC resource '[xADObjectPermissionEntry]Permission' with SourceInfo 'C:\users\Administrator\Documents\test.ps1::38::9::xADObjectPermissionEntry' threw one or more non-terminating errors while running the Test-TargetResource functionality. These errors are logged to the ETW channel called Microsoft-Windows-DSC/Operational. Refer to this channel for more details.
Message ID: NonTerminatingErrorFromProvider
Error Category: 7
Error Code: 1
Error Type: MI
Job runs under the following LCM setting.
ConfigurationMode: ApplyAndMonitor
ConfigurationModeFrequencyMins: 15
RefreshMode: Push
RefreshFrequencyMins: 30
RebootNodeIfNeeded: NONE
DebugMode: True
MIResult: 1
Error Message: The SendConfigurationApply function did not succeed.
Message ID: MI RESULT 1
Error Category: 0
Error Code: 1
Error Type: MI

Suggested solution to the issue
The resource is attempting to use the AD PSDrive without first verifying that it is present. I believe it is normally created when the ActiveDirectory module is initially loaded, but only if the Active Directory is running at the time. In this scenario, the module is loaded prior to the Active Directory being installed, so no AD PSDrive is created. The resource therefore should check for the existence of the AD PSDrive and create it if necessary.
The DSC configuration that is used to reproduce the issue (as detailed as possible)
Configuration ActiveDirectory {
    param (
        # Specifies the Domain Name
        [Parameter()]
        $DomainName = 'contoso.com',
        # Specifies the Domain NetBIOS Name
        [Parameter()]
        $DomainNetbiosName = 'CONTOSO',
        # Specifies the Domain Administrator Credentials
        [Parameter()]
        [PSCredential]$DomainCred = (Get-Credential -Message 'Enter Domain Administrator Credentials' -UserName 'Administrator'),
        # Specifies the Safe Mode Administrator Credentials
        [Parameter()]
        [PSCredential]$SafeModeCred = (Get-Credential -Message 'Enter Safe Mode Credentials' -UserName 'None'),
        # Specifies the DomainJoiner user Credentials
        [Parameter()]
        [PSCredential]$DomainJoinerCred = (Get-Credential -Message 'Enter DomainJoiner user Credentials' -UserName 'DomainJoiner')
    )

    Import-DscResource -ModuleName PsDscResources
    Import-DscResource -ModuleName xActiveDirectory

    Node $AllNodes.NodeName {
        WindowsFeature AD-Domain-Services {
            Ensure = 'Present'
            Name   = 'AD-Domain-Services'
        }

        xADDomain ADDomain {
            DomainName                    = $DomainName
            DomainNetbiosName             = $DomainNetbiosName
            DomainAdministratorCredential = $DomainCred
            SafemodeAdministratorPassword = $SafeModeCred
            DependsOn                     = '[WindowsFeature]AD-Domain-Services'
        }

        xWaitForADDomain ADDomain {
            DomainName           = $DomainName
            DomainUserCredential = $DomainCred
            RetryCount           = 50
            RetryIntervalSec     = 30
            RebootRetryCount     = 2
            DependsOn            = '[xADDomain]ADDomain'
        }

        xADUser DomainJoiner {
            DomainName = $DomainName
            UserName   = $DomainJoinerCred.UserName
            Password   = $DomainJoinerCred
            DependsOn  = '[xWaitForADDomain]ADDomain'
        }

        xADObjectPermissionEntry Permission {
            Path                               = 'DC=contoso,DC=com'
            IdentityReference                  = "$DomainNetbiosName\$($DomainJoinerCred.UserName)"
            ActiveDirectoryRights              = 'CreateChild', 'DeleteChild'
            AccessControlType                  = 'Allow'
            ObjectType                         = 'bf967a86-0de6-11d0-a285-00aa003049e2' # Computer objects
            ActiveDirectorySecurityInheritance = 'All'
            InheritedObjectType                = '00000000-0000-0000-0000-000000000000'
            DependsOn                          = '[xADUser]DomainJoiner'
        }
    }
}

$configData = @{
    AllNodes = @(
        @{
            NodeName                    = 'localhost';
            PsDscAllowPlainTextPassword = $true
        }
    )
}

ActiveDirectory -ConfigurationData $ConfigData

Publish-DscConfiguration .\ActiveDirectory\

Start-DscConfiguration -Wait -Verbose -Force -UseExisting

The operating system the target node is running

OsName               : Microsoft Windows Server 2019 Standard Evaluation
OsOperatingSystemSKU : 79
OsArchitecture       : 64-bit
WindowsVersion       : 1809
WindowsBuildLabEx    : 17763.1.amd64fre.rs5_release.180914-1434
OsLanguage           : en-US
OsMuiLanguages       : {en-US}

Version and build of PowerShell the target node is running

Name                           Value
----                           -----
PSVersion                      5.1.17763.316
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.17763.316
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>

Version of the DSC module that was used ('dev' if using current dev branch)
<IP_ADDRESS>

How come that importing the module does not create the PSDrive? 🤔
https://github.com/PowerShell/xActiveDirectory/blob/e2fb20f8f51e1b81e1a2b1bb804155583be14e2c/DSCResources/MSFT_xADObjectPermissionEntry/MSFT_xADObjectPermissionEntry.psm1#L61
I curious if this is because the feature RSAT-AD-PowerShell is not part of the configuration, meaning that the ActiveDirectory module is not installed. Those cmdlets use prior to that is using the cmdlets out of the ADDSDeployment module. 🤔

I believe it is normally created when the ActiveDirectory module is initially loaded, but only if the Active Directory is running at the time.

Since the xADDomain resource is restarting the node, the Active Directory is running on the node once it comes back online, so next time the configuration runs it should import the module ActiveDirectory again, and PSDrive should be created. 🤔
What are you thoughts around this?

Hi @johlju, when the DSC configuration first runs, the xADDomain resource creates Active Directory and then requires a reboot before the configuration will continue (it sets $global:DSCMachineStatus = 1).
After the reboot, the xADDomain resource will execute again, and as it uses ActiveDirectory cmdlets for its Test-TargetResource function, the module will be auto-loaded, but at this time, Active Directory is not yet ready for connection, and so the creation of the AD PSDrive silently fails.
The following resources will then be processed, but the ActiveDirectory module is already loaded in the DSC session without the AD PSDrive, and that is why this scenario occurs.
It may have been possible to force load the module to create the AD PS drive in the xADObjectPermissionEntry resource, but I don't know whether this would have had other consequences.
No other xActiveDirectory resources are currently affected by this, as they don't use the AD PSDrive.

@X-Guardian Thanks for that! Appreciate the detailed run down! I will review the PR you sent in to resolve this issue.

No problem @johlju. It would be great to get integration testing added to this module, as discussed in #121 so we could add tests for scenarios like this.

Yep agree, I added one so far https://github.com/PowerShell/xActiveDirectory/tree/dev/Tests/Integration. Another PR will add another. I'm working on instructions on how to set up a test environment that I will send in as a PR eventually (half way done). It will be one of ways to set it up, we need to work on alternatives too.


revert #1764

After doing some more thorough testing I came to the conclusion that using KeyboardAvoidingView should handle the issue described in #618 and this reverts PR #1764 (TabBarBottom should hide itself when Keyboard is activated) which was addressing the issue, but seems to cause more harm than good according to some comments in https://github.com/react-community/react-navigation/pull/1764.
The KeyboardAvoidingView can be used like this: https://snack.expo.io/B1udZbp0b

What is the android:windowSoftInputMode in that example?


Support write advise / read advised nukleus:flush

Blocked-By: https://github.com/k3po/k3po/issues/472
Supports sending and receiving FLUSH frame with optional extension metadata.

Fixed by https://github.com/reaktivity/reaktor.java/commit/4e574ee43a2859159a9f003e9830c857d14aba4c.


Callback Runs twice on load

I have a weird issue.
When my app loads, two calls are made to the server in quick succession.
I have dug around and found that it behaves correctly (only one fetch) if I just leave the pagination parameters with straightforward integer values:
                pagination: {                     total: 0,                     per_page: 25,                     current_page: 1,                     last_page: 0,                     from: 1,                     to: 25                 },
The above works.
The moment I change it to the below, then it fetches remote data twice:
                pagination: {                     total: 0,                     per_page: this.paginate,                     current_page: 1,                     last_page: 0,                     from: 1,                     to: this.paginate                 },
//this.paginate is set to 25
In my mounted() function, I call the method responsible for fetching the remote data.
I notice in your example that you don't manually call this, the plugin takes care of it somewhat.
However, if I don't make that call, then nothing happens.
It seems it's either fetch twice or not at all for me.
Any ideas?

Ok I have found the issue.
The plugin watches the value of pagination.per_page.
If this changes, then it calls callback().
On receiving data from the server, we overwrite the pagination object with the server provided values.
The plugin treats this as a change in pagination.per_page and so calls callback() once again.
Now, we can fix this by simply checking to see if the value of pagination.per_page really changed before we call callback()
    watch: {
        'pagination.per_page' (newVal, oldVal) {
            if ( newVal != oldVal )
                this.callback();
        }
    },

On this line

Updated. Have you checked if you ever changed per_page from number to string?

Actually, .toString() did the trick! If you rollback the update and just do .toString() on the per_page value from the server, the plugin behaves well!

before variable changes it to number so that shouldn't be an issue.
.toString() isn't a good option because it should be an integer

Alright, I've got rid of the .toString() and updated to 2.10.1 - works perfectly.


Media put

Allows media resources to updated via PUT.
Adds a client and configuration for connecting to the aggregation API
Adds aggregations_exports
Add metadata state to dump resources, so we can reflect progress in the front-end.

LGTM. quick question..how is the media scope update authorization setup here?

It should be the parent resources's update scope.


Using ray casting to select faces

http://www.moczys.com/webGL/Experiment_02_V05.html
Being able to select a face from a mesh, or collision shape could be a useful feature in godot, in this example they change face color, but I could imagine using the face to get uv information which can turn to pixel information, and having the ability to move an image around in a 2d scene.

Shouldn't this be considered for 3.0?

What's the status on this for the upcoming 3.0 release?

There is TriangleMesh now, but it does not keep UV information. It's also mostly used for editing.
Kicking for 3.1

Moving to the next milestone as 3.1 is now feature frozen.

I don't think this a necessary feature anymore, it's easily solved many other ways.
Might open another issue or PR for exposing TriangleMesh functions to GDScript, but that's about it.

So basically as of 2021 there is no built-in way as in Unity (RayCastHit.textureCoord) to get coordinate of texture to work with it etc?
I mean there are workarounds like shaders or manually iterating through every vertice but no easy way?
Asking because I came from Unity at some point and was utilizing .textureCoord heavily there. It seems Godot simply does not have such feature without modifying engine with some cpp plugins etc?

@idchlife
Yes it seems so, unfortunately. But Considering the 4.0 render API refactor, I imagine it'll eventually be on the list. Let's see if there is a issue/request for it in the tracker, and if not, then maybe we should make one.

For the record, @leiget opened a proposal: https://github.com/godotengine/godot-proposals/issues/2863


support wkwebview

I hope to adapt it to wkwebview. Currently, initialization will return-1.

This is a known issue, it will be fixed on web sdk side.


[WIP] Unit tests, linting, and travis

Changes Unknown when pulling 66d43b82a98f991baaea7296164e54b8d2a2060a on dan-f/unit-tests into ** on master**.

Changes Unknown when pulling 885a26616c2572570e91590a4e58dfdab32ed876 on dan-f/unit-tests into ** on master**.

Changes Unknown when pulling cee4598ca049fc18f332254d7a4a2753570bba6b on dan-f/unit-tests into ** on master**.


Bolt v4 addendum: stricter typing of AWS API Gateway payloads

Summary
This PR is an addendum / expansion on a proposed change in bolt v4: better typing of the AWS payload interfaces. This is applicable to consumers using the AwsLambdaReceiver. This PR would fix https://github.com/slackapi/bolt-js/issues/2272.
Background
In my initial bolt-v4 PR, @seratch observed that some of the typing adjustments I was making to AWS payloads was simplistic and could be enhanced. He also pointed me to #2272 as a potential issue that could be resolved by doing a bit more work in properly typing both V1 and V2 AWS API Gateway payloads.
This PR attempts to improve these AWS payload types to support both V1 and V2 APIG payloads. A side benefit is it requires bolt code to be a bit more strict and correct when retrieving the URL path from this payload (by requiring to account for the difference in what the relevant property for this is in V1 vs. V2).
If approved, these changes, and how to migrate from bolt v3 to v4 app code to take into account these interface changes

particularly for apps setting customPropertiesExtractor or invalidSignatureHandler methods - would need to be documented in a bolt v3 -> v4 migration guide.

Once the lint error is resolved and the main branch is ready for v4 changes, we can merge this PR

The lint and test errors will be resolved by #2259; I will merge this into the v4 PR in the mean time.


Out of Memory when doing inference on Jetson Tx2

I trained both fcn8s_mobilenet and fcn8s_shufflenet at the resolution 512x1024. After doing the graph optimization and deploying on Jetson (~7.3GB total, ~4GB available usually), I got the runtime error that Tensorflow ran out of the memory.
I checked that on my workstation both the models take around 7.8GB GPU memory. But for these two convolution neural networks, reducing input size should not affect the number of parameters too much, which means the memory needed shouldn't change too much. In this case, what other tricks shall I use to reduce the memory consumption?
Thanks!

Solved. The actual use of memory for Mobilenet is around 1.5GB. I forgot to add 'allow_growth=True' in infer_optimized.py