Pull some events from EditCommand to ReedlineEvent

I have done some refactors along the way. Let me know your thoughts on this.
This could have been 4-5 separate PRs, getting them reviewed/merged individually would have taken some time, so I just clubbed them together to save some time. (The squashing merge of PRs also makes it hard to rebase, otherwise, that could have saved a lot of trouble and I would have managed to do multiple PRs - This might just be a lack of knowledge on my side, if there is an easy way to rebase with the squashed stuff please do tell me.).
Meanwhile here are all the things that this PR tries to do
Extraction of Hinter and Highlighter out of Painter
Hinter has logic that is more than just display specific so it does not make sense for it to be a part of Painter (A component that is supposed to only care about screen painting operations). Though the same can not be said about the Highlighter. The Highlighter does deal with display elements, though currently, it understands what a LineBuffer is, which makes me skeptical about its presence in Painter.
Maybe we can have an interface with Painter where we supply 3-tuple (kinda) object (before_cursor_string, virtual_text/hint, after_cursor_string), then the Highlighter can do anything with this info whilst residing inside the Painter.
Change Keybinding structure to use use  ReedlineEvent instead of Vec<EditCommand>
Given that the Keybinding operates on more than the editor stuff (e.g. history, etc)  it should follow that its internal structure reflects this.  ReedlineEvent (in need of a better name) is the enum that fits this bill IMO.
Pull non-editor commands out of EditCommand to ReedlineEvent
As mentioned in https://github.com/jntrnr/reedline/pull/134#issuecomment-904327380  the following
EditCommand::Clear
EditCommand::Up
EditCommand::Down
EditCommand::AppendToHistory
EditCommand::PreviousHistory
EditCommand::NextHistory
EditCommand::SearchHistory

make more sense in ReedlineEvent than they do in EditCommand, for the reason that these aren't really editor operations which EditCommand should be interested in.
Pull history search-related specific decisions to the top level.
History search operations are too deep down in the code which makes it a high coupling piece. I wanted to try and reduce that coupling and as a result, I have pulled this up.
Another way to think about this is that when we start history search by pressing Ctrl-R (or equivalent) we essentially start another editor with limited functionality and the result from this is carried over to any line-editors buffer. (Kinda like how shell and line-editor interact)
Maybe eventually we can have a shared editor between struct (different instances) thus providing best in class history search experience with minimal effort from our side. Thoughts?
But currently, The distinction is made between how the handling of events happens at the top level (instead of the old way where it was taking place nestled down deep)
Resolve InsertChar hack in ReedlineEvent
Initially, I added a hack (special brach in ReedlineEvent enum to handle InsertChar) to simplify pulling handle-event into a separate function. So this just fixes that hack.

Looks good.
Make me wonder what other things we can put into ReedlineEvent.


:::video::: auto-complete does not exist when using :::

When user types ::: there is auto complete for all of the triple colon syntax. However :::video::: does not exist in the auto-complete and is missing from selection.
Please add :::video::: to the auto-complete.

AB#296191

Added :::video to docs-markdown ::: auto-complete in PR #817


As a user, I want to add/update/edit the details.

Components:Item
procedure:
1- Fill/edit/add data to the form
2- Click on continue
3- Add data to DATABASE


Update go mod to v1.17

@alpe
Issue
https://github.com/confio/tgrade/issues/207

circleci
https://circleci.com/developer/images/image/cimg/go
===========
dockerfile
https://hub.docker.com/layers/golang/library/golang/1.17.6-alpine3.15/images/sha256-1a3fb455aee5b51f1aeaaa660065d6db080bf2d0fe24618e7cf5ec4f23e90089?context=explore


when using webapp it gives 401 and mobile client gives 403 at blob level

when using URI type
web : it gives 401 error
https://stackoverflow.com/questions/51080514/body-must-contain-client-secret-or-client-assertion
when using type : public client or mobile
Microsoft.WindowsAzure.Storage.StorageException: 'The remote server returned an error: (403) Forbidden.'

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

ID: d02de0bf-09d7-a7fc-1b4a-213426e96b2d
Version Independent ID: 36f6c8fe-6bc1-6643-4b66-2c38bcd2e5f0
Content: Authenticate with Azure Active Directory to access blob and queue data from your applications
Content Source: articles/storage/common/storage-auth-aad-app.md
Service: storage
Sub-service: common
GitHub Login: @tamram
Microsoft Alias: tamram

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

Could you please provide us with additional details and to the documentation issue section you are refering to ?

Scenario:
Trying to use App registration option in Azure AD to authenticate the Azure blob by following the below link
https://docs.microsoft.com/en-us/azure/storage/common/storage-auth-aad-app
but when using the URI in the code, it give 401 error

This might be related to something I've run into this weekend. When the user is a member of more than ~5 groups and the access token is obtained via the implicit grant flow, Azure Storage will return a 401 error. The only exception appears to be when the user has direct permissions on the blob container, instead of via a group.
@kartee87: you could try granting the user you test with the role of e.g. Storage Blob Data Reader directly, and see whether it works then. If so, your problem is likely the same as mine :)

Hi,
have given the role of contributor to the blob storage and am the only user accessing it for now.
withweburi.txt
below link followed,
https://docs.microsoft.com/en-us/azure/storage/common/storage-auth-aad-app

All forums say only native or mobile app works with App registration and not Webapp

@kartee87 I'd recommend posting your question in Community support since it's not directly related to the documentation. We'll follow up there. We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Update components prop name to be more accurate?

The components prop is a little misleading, as @erikthedeveloper points out. You might think you can place components in there, but you can't. It only accepts elements (or functions that return elements).
Because of this, one could argue that a more accurate name for this prop would be elements.
The downside to this wording is that I think many people gloss over the difference between components and elements (that's exactly what I did, which is why the prop is named components in the first place). This runs the risk of making things more confusing in exchange for the accuracy.
What do folks think? components=[<A/>] or elements=[<A/>]?
Leave a :+1: or a :-1: to this issue to share your opinion!
And feel free to comment, too, of course :)

My 2 cents: even though you're putting elements in that array, I think the intention is to specify the components that you want to compose. Also, these elements are not the actual ones that are going to be rendered. They are there as a means to pass down the component along any extra optional props each component might need. But the element that ends up rendered is another one generated during the rendering of Composer.

They are there as a means to pass down the component along any extra optional props each component might need.

@gnapse My concern is that at no point are we passing down "components", but we are actually working with "elements" throughout. Both having very specific/defined meaning in React.

From https://github.com/jmeas/react-composer/issues/19
Whether your components are "function components" or "class components", by the time they make it into the props.components array they are no longer components, but rather evaluated components which are then elements. So by adding this typeof props.components[n] === 'function' check we would essentially be asking "Is this already an element or is this a function [element factory]?".
From https://reactjs.org/blog/2015/12/18/react-components-elements-and-instances.html#components-can-be-classes-or-functions

Components Can Be Classes or Functions
In the code above, Form, Message, and Button are React components. They can either be written as functions or as classes descending from React.Component. [...] However, whether functions or classes, fundamentally they are all components to React. They take the props as their input, and return the elements as their output.

This is related to what I was getting at with:

I feel like naming in general might warrant discussion where these are being called "components" throughout where they are really "elements" both having a rather specific meaning in React

But from the perspective of the user of this library, they want to compose components. That's why I think how I stated above. Not a huge deal, but if you ask me, I prefer components={}.
From my perspective I am stating there the components I want to compose, not the actual elements that will be composed. The very sub-title of this library README says "Compose render prop components." It does not say "Compose render prop elements".

These are compelling arguments. I think you’re both right.
From a “developer experience” perspective, I think using the name “components” is preferable, so I’m leaning toward keeping it as-is for now.
Of course, I can be persuaded if a bunch of people think the current name is causing problems 🙂

@gnapse I do see your point now 😃  I think you've hit the nail on the head with

[...] components I want to compose, not the actual elements that will be composed [...] README says "Compose render prop components." It does not say "Compose render prop elements".

For me, it is still a little weird to require an array of elements or element producing functions but to call them "components", but I can definitely see your point for the public facing API/naming.
https://github.com/jmeas/react-composer/blob/00529c046711fd014ec36ba1000c026f08af8cbc/src/index.js#L54-L61
🤔  Naming can always be such a subjective/gray area. Perhaps we leave it as-is and we can always revisit if it really resurfaces/causes confusion.

Yeah, naming stuff can be tricky, you probably know the old saying:

There are 2 hard problems in computer science: cache invalidation, naming things, and off-by-1 errors.

I understand the apparent confusion, but I prefer to privilege what the outer interface of the utility looks like and intends to solve, rather than something that is a bit more internal. Granted this is not 100% internal, because the knowledgeable React user will know that those are elements what are being passed in there, and not components, but we can even be forthcoming in the README about it, if needed, perhaps with a link to this issue as reference.

Perhaps we leave it as-is and we can always revisit if it really resurfaces/causes confusion.

I think this is a good resolution given what we know right now. I'm going to close out this issue for now, but feel free to leave a comment if you have more to do to the conversation!
@erikthedeveloper , thanks again for starting this discussion! It's certainly been interesting to think about... 🤔


How to use custom port when using pm2?

⚠ Please verify that this bug has NOT been raised before.

[X] I checked and didn't find similar issue

🛡 Security Policy

[X] I agree to have read this project Security Policy

📝 Describe your problem
How can I run using pm2 and a custom port
🐻 Uptime-Kuma Version
1.18.5
💻 Operating System and Arch
ubuntu server 22.04 64 bit
🌐 Browser
Google Chrome 108.0.5359.124
🐋 Docker Version
No response
🟩 NodeJS Version
14.21.1

2 ways:

Before installation via npm run setup you can adjust the default port in the file install.sh

pm2 start server/server.js --name uptime-kuma -- --port=$port

Change the $port to whatever you want it to be.

Cool. Thanks


utility_trie_speed_test: remove char for uniform_int_distribution undifined behavior

IntType | - | The result type generated by the generator. The effect is undefined if this is not one of short, int, long, long long, unsigned short, unsigned int, unsigned long, or unsigned long long.
Commit Message:
Additional Description:
Risk Level: low
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional API Considerations:]

/assign @ravenblackx


Unify text titles in Selects

Titles in Selects should be unified: "Select [text]". Fix it in Images and Activity log.
See a screenshot


Edge x/y not calculated

Hello,
what do I have to change on the example from the wiki to force Dagre.js to calculate the edge x/y as described in the wiki (for positioning the label). I only get the points for the edges.
Thank you and best regards!

Hi,
you need to set edge`s label width and height like you do it for the node`s one:
g.setEdge("kspacey",   "swilliams", { width: '10', height: '10' });


TSP solver queries distances for forbidden connections

I would like to solve an asymmetric TSP on a graph which is not the complete graph. I created a model like this:
RoutingModel routing(size, 1, RoutingModel::NodeIndex(size - 1));

In order to remove edges I used the following snippet:
routing.NextVar(src)->SetValues({tgt});

As far as I can tell, this line should ensure that the only arc leaving src is the one leading to tgt. I added a custom distance callback like this:
int64 distance(RoutingModel::NodeIndex from, RoutingModel::NodeIndex to) {...}

I would assume that this function is never called with from == src and to != tgt. However, this is the case. Am I wrong in believing that this restriction works or are the query results discarded if the edges can't be used anyways (so I can return some fake value)?

Hello,
Returning some fake values, as you suggested, will not impact the solution.
However, the callback might be called for forbidden arcs during the initial
propagation.
I hope this helps.
Regards,
On Thu, Dec 15, 2016 at 11:29 AM, ax487<EMAIL_ADDRESS>wrote:

I would like to solve an asymmetric TSP on a graph which is not the
complete graph. I created a model like this:
RoutingModel routing(size, 1, RoutingModel::NodeIndex(size - 1));
In order to remove edges I used the following snippet:
routing.NextVar(src)->SetValues({tgt});
As far as I can tell, this line should ensure that the only arc leaving
src is the one leading to tgt. I added a custom distance callback like
this:
int64 distance(RoutingModel::NodeIndex from, RoutingModel::NodeIndex to) {...}
I would assume that this function is never called with from == src and to
!= tgt. However, this is the case. Am I wrong in believing that this
restriction works or are the query results discarded if the edges can't be
used anyways (so I can return some fake value)?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/google/or-tools/issues/290, or mute the thread
https://github.com/notifications/unsubscribe-auth/ASwpfK3REUPtJIUnJ4zawNox6jE5JucXks5rIRZ5gaJpZM4LN8JL
.

--
driss

OK, thanks. I was just wondering about that. Could you maybe include this in the documentation / examples?

Thank you for you suggestion. We will see about it.
On Fri, Dec 16, 2016 at 3:44 PM, ax487<EMAIL_ADDRESS>wrote:

OK, thanks. I was just wondering about that. Could you maybe include this
in the documentation / examples?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/google/or-tools/issues/290#issuecomment-267608607,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ASwpfHqPg3N9RV8QPXof5uZBEWoPfHrcks5rIqO0gaJpZM4LN8JL
.

--
driss


What would be the proper nestjs-pdf method to use in a response?

Thank you for this great library, I love how it totally integrates into the nestjs framework!
So in my case I'm using nestjs-pdf as a service for another app.
The idea is my main app will use this as service as a lamda on my server separately.
e.g.
main-app: main app calls ejs-to-pdf to send data to create pdfs!
ejs-to-pdf: ejs app provides pdfs when main-app calls or another authorized app!
And ultimate;y it goes to a S3 bucket.
nestjs-pdf app
app.controller.ts
@Controller('/ejs-to-pdf')
export class AppController {
	constructor(private readonly pdfService: PdfService) {}
	@Public()
	@Post('/quote-letter-to-pdf')
	async requestQuoteLetter(@Body() data: string): Promise<DSResponse<DSError<any>, any>> {
	        console.log('data ', data);
		const fileName: string = 'Quote-Letter-' + new Date().toUTCString() + '.pdf';
		return new DSResponse(null, await this.pdfService.generatePDFToFile(JSON.stringify(data), fileName));
	}
}

I see the data coming through. and I consoled the response as well.
res  DSResponse {
  status: undefined,
  success: true,
  data: Observable {
    source: Observable {
      source: [Observable],
      operator: [Function (anonymous)]
    },
    operator: [Function (anonymous)]
  },
  error: null,
  token: undefined
}

In the main app I'm seeing the file generated in S3, but I get when I try to open it.

Error
Failed to load PDF document.

In the main-app In the service that calls 'ejs-to-pdf` I see the resp in a console.log:
resp  <Buffer 7b 22 73 75 63 63 65 73 73 22 3a 74 72 75 65 2c 22 64 61 74 61 22 3a 7b 22 73 6f 75 72 63 65 22 3a 7b 22 73 6f 75 72 63 65 22 3a 7b 22 73 6f 75 72 63 ... 33 more bytes>
And I see the file:

const resp: any = await this.ejsToPdf.makePDF(JSON.stringify(quoteLetterPayload), this.dsConfig.services.webmerge.testMode, true);

console.log('resp ', resp);

const filePost: FileStorageReqInfo = new FileStorageReqInfo();
filePost.bucket = this.dsConfig.aws.s3.bucketName;
filePost.key = `quote/${quoteId}/${docNameWithExt}`;
filePost.buffer = resp;
filePost.contentEncoding = 'utf-8';
filePost.contentType = this.dsUtil.getContentTypeByFile(filePost.key);
const s3Resp: boolean = await this.dsFileService.uploadFile(filePost);

console.log('JSON.stringify(filePost) ', JSON.stringify(filePost));

Any ideas how to get the pdf to open/render correctly?

Could this be an issue with encoding to your S3 bucket? How are you trying to view the file?


Analyzer should warn when passing functions to JS without allowInterop

This currently fails at runtime, but would be really helpful to catch at analysis time.
It might be difficult to catch all cases, but having something would be better than nothing. For instance, we could detect when we know a function can't have been wrapped in allowInterop:

Inline function expressions
Tearoffs

main() {
  // Should warn when using function expressions
  jsMethod(() {});
  jsSetter = () {};

  // Should warn when using tearoffs
  var object = Foo();
  jsMethod(object.doSomething);
  jsSetter = object.doSomething;

  // No warning when allowInterop is in place
  jsMethod(allowInterop(() {}));
  jsSetter = allowInterop(() {});
  jsMethod(allowInterop(object.doSomething));
  jsSetter = allowInterop(object.doSomething);
}

@JS()
external void jsMethod(void Function() callback);

@JS()
external set jsSetter(void Function() callback);

class Foo {
  void doSomething() {}
}

This is really frustrating for me right now, I'm working with an interop and we often debug/QA in ddc, which means when it goes to production it doesn't work. Which is usually a bad thing.

Note that this Dart 2.8.1 will help with that ^

Breaking Change: Functions passed to JavaScript using the recommended package:js interop specification must now be wrapped with a call to allowInterop. This behavior was always enforced by Dart2JS, but was not enforced consistently by DDC. It is now enforced by both.

But, it would still be helpful to see these errors ahead of time via the analyzer.

1000%, having the analyzer catch it means I can catch it before it's even built, and that also helps reinforce the good habit of remembering to do it in the first place.


added workflow as mentioned in issue #119

Related Issue
Fixes #119
Description
This feature aims to solve the problem of poor communication and lack of acknowledgment when issues are closed. By automatically commenting on closed issues, it ensures that contributors are informed about the closure and are thanked for their efforts. This helps maintain a positive and engaging community atmosphere, encouraging continued contributions and fostering good relationships between maintainers and contributors.
Type of PR

[ ] Bug fix
[X] Feature enhancement
[ ] Documentation update
[ ] Other (specify): _______________

Checklist:

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

@Asymtode712  read contributors.md please. Do it asap

@Asymtode712 add ur sef in the contributors ...


ConsoleOutput can execute script of command line ?

Thanks for your great tool ! 👍
i'm not sure consoleoutput tool can execute script ?
Thanks a lot.

If your application can handle script commands coming from the Input of ConsoleOutput, then you could send it script commands.


No audio, error messages related to "aurioc"

Hi,
since some days, audio transmission stopped working on iOS devices. The same app configuration worked weeks ago, so I guess this is related to a recent iOS update, currently I am using 10.1.1.
If I start a WebRTC session on iOS, the video appears as expected. But as soon as the peer tries to connect, the video freezes and it takes a long time until the following errors are being thrown in the Xcode console:
[aurioc] 1316: AUIOClient_StartIO failed (-66637)
[aurioc] 1590: AURemoteIO@0x14023b840: IOThread exiting with error 0x10004006
[aurioc] 1316: AUIOClient_StartIO failed (-66637)
Then, the video connection is established and the video commences, but I can hear no audio. Obviously, there's a problem with the audio connection. Sometimes, also the remote video freezes and it takes a long time until it starts playing correctly.
Any ideas what may cause this? Any help is appreciated. Thanks.
PS: On my old iPad 3 with iOS 9, everything is working just fine.

Update: The problem disappeared after I restarted my iPad. I found some hints on Google that this sometimes happens on the latest 10.1.1 and also Apple's ear-phones are affected by this bug. Closing this now, as it wasn't a bug in iOSRTC.


Issue #1844 - Only log stack trace for server error or fine log level

Issue #1844 - Only log stack trace for server error or fine log level
Signed-off-by: Troy Biesterfeld<EMAIL_ADDRESS>

Ready to merge.


Missing name in helm install in TL;DR

The release name is missing here:
https://github.com/rowanruseler/helm-charts/blob/87ecfd8dba3059bc07653f3df13c6b2b537e6dc1/charts/pgadmin4/README.md?plain=1#L11
Add either --generate-name or a name like so: helm install pgadmin runix/pgadmin4.
🙃

You are correct, feel free to open a pull request! Else I'll do it next week :)

added as requested: https://github.com/rowanruseler/helm-charts/pull/250


docs: fix typos and formatting in NL2SQL tool README

Fix typos and improve formatting in NL2SQL Tool README
Changes Made

Fixed typo: "passsed" → "passed"
Fixed typo: "proivdes" → "provides"
Fixed typo: "number of user" → "number of users"
Removed unnecessary blank line in code section
Maintained consistent spacing throughout the document

Type of Change

[x] Documentation update
[ ] Bug fix
[ ] New feature
[ ] Breaking change

Testing
No testing required as these are documentation-only changes.
Additional Notes
These changes improve the readability and professionalism of the NL2SQL Tool documentation without affecting any functionality.

Disclaimer: This review was made by a crew of AI Agents.
Code Review Comment for PR #135: Fix typos and formatting in NL2SQL Tool README
Overview
This PR enhances the README.md for the NL2SQL tool by fixing typographical errors and improving formatting. These changes, while minor, are essential to uphold quality documentation standards.
Identified Improvements
1. Typo Corrections

Corrected spelling for clarity:

"passsed" to "passed"
"proivdes" to "provides"
Changed pluralization from "user" to "users" in the example query description.

2. Formatting Enhancements

Removed an unnecessary blank line between the code block and usage instructions, improving visual flow.

Detailed Review
Documentation Quality
The adjustments made significantly enhance the readability and professionalism of the documentation. By employing consistent spelling and formatting, the documentation becomes easier to understand and navigate. This encourages user trust and reliability in utilizing the tool.
Suggested Improvements

Enhancement of Introduction Section
Expanding the introduction to briefly outline the tool's capabilities and common use cases can provide users with a clearer understanding of its purpose. For example:
## Description

The NL2SQL tool converts natural language into SQL queries. It enables powerful workflows by allowing agents to:
- Access databases to retrieve information based on specific goals.
- Generate reports using the retrieved data.
- Update database content as needed during workflows.

Security Warning Addition
To ensure users are aware of potential risks, consider adding a security warning section:
**⚠ Security Warning**: Ensure that the agent has either read-only permissions or access to a read-replica database to prevent unintentional data modifications.

Installation Section Addition
Include detailed installation instructions to facilitate user onboarding:
## Installation

To install the tool, use pip:

```bash
pip install 'crewai[tools]'

For the development installation:
pip install 'crewai[tools,dev]'

Minor Recommendations:

Consider including version badges for PyPI and Python compatibility to offer immediate information to users.
Add a "Contributing" section to encourage external contributions and community involvement.
Include a "License" section to clarify legal usage.
A "Troubleshooting" section could be beneficial for addressing common installation or usage issues.

Conclusion
The modifications in this PR enhance the quality of the NL2SQL tool's documentation effectively. Although the adjustments are minor, they are critical in promoting clarity and professionalism. The proposed enhancements can further enrich the guide, making it more comprehensive and user-friendly.
Recommendation: Approve this PR with a note that the suggested improvements can be valuable in future updates. They will help create a more robust and informative documentation experience for users.


New Startup Procedure Concept

I have been retooling the interface building and teardown process, because frankly I just wasn't happy with it. Though the idea of building temporary loopback interfaces was clever, it was really a hack.
I was really trying to keep wireguard interfaces named using the traditional wgX prefix. However, doing so requires these special tricks to get the interface built early during startup.
I was reminded of an alternative solution from an old project attempting to make a WireGuard package around wireguard-go that never really took off (you can find it here: https://github.com/Ascrod/pfSense-pkg-wireguard/) In this project, the author names WireGuard interfaces using the tun prefix. pfSense is already plumbed to ignore tun interfaces in the interface mismatch routine during system startup!
The relevant code is here from (https://github.com/pfsense/pfsense/blob/6bb8cdd4d8b892bcb77163c02902d83c26cbe2f2/src/etc/inc/util.inc)
You can see a list of many interface prefixes that are ignored and cannot trigger an interface mismatch during system startup. Because of this, all WireGuard tunnels will be named using the prefix tun_wg instead of wg. This eliminates the need for any earlyshellcmds as we can now build the tunnels when packages are started towards the end of the bootup process!
function is_interface_mismatch() {
	global $config, $g;

	$do_assign = false;
	$i = 0;
	$missing_interfaces = array();
	if (is_array($config['interfaces'])) {
		foreach ($config['interfaces'] as $ifname => $ifcfg) {
			if (interface_is_vlan($ifcfg['if']) != NULL ||
			    interface_is_qinq($ifcfg['if']) != NULL ||
			    preg_match("/^enc|^cua|^tun|^tap|^l2tp|^pptp|^ppp|^ovpn|^ipsec|^gif|^gre|^lagg|^bridge|vlan|_wlan|_\d{0,4}_\d{0,4}$/i", $ifcfg['if'])) {
				// Do not check these interfaces.
				$i++;
				continue;
			} else if (does_interface_exist($ifcfg['if']) == false) {
				$missing_interfaces[] = $ifcfg['if'];
				$do_assign = true;
			} else {
				$i++;
			}
		}
	}

	if (file_exists("{$g['tmp_path']}/assign_complete")) {
		$do_assign = false;
	}

	if (!empty($missing_interfaces) && $do_assign) {
		file_put_contents("{$g['tmp_path']}/missing_interfaces", implode(' ', $missing_interfaces));
	} else {
		@unlink("{$g['tmp_path']}/missing_interfaces");
	}

	return $do_assign;
}

will wait for this change before i try to install. how can I remove the earlyshellcmd and rc.bootstrap_wireguard or will the next release include some code to clean this up?

Most likely won't cleanup. Because this is still experimental, I don't see the value of moving old configuration forward until we are in the Netgate repository. For now, just edit your config.xml manually by removing the <earlyshellcmd> entries and deleting rc.bootstrap_wireguard from /usr/local/etc/. That should clean it up.

Most likely won't cleanup.

In that case, make sure this is clearly indicated in the release notes; no one will search old issues or changes in the README.md to detect those kind of changes.

It is something I'm going to address in my next progress report video, which I'm about to film now.
I hate pulling breaking schema changes like this, but I'm confident that this will be the last breaking change moving forward, unless someone can demonstrate a better way of building interfaces at startup. I really like the tun prefix because it doesn't rely on anything else than what pfSense provides is, is inherently portable between hardware platforms, and is way more reliable. I think that is worth a bit of some inconvenience here to move to the new paradigm.

hmm.. i have only ever edited the config.xml after an backup and restored it back.. didn't know it can be edited inline. I guess I can see how you insert stuff into it.

Diagnostics > Edit File > /conf/config.xml
You can make changes and save. Now it's possible that the very next interaction you have with pfSense might read from the $config array and then write that to disk, thus overwriting your edits...I've seen that a few times, but it should be very rare. There are enough calls to parse_config scattered throughout pfSense internals that the global $config array should be up-to-date most likely.

After manually editing your /config/config.xml. Delete the cache file, /tmp/config.cache and refresh your browser. This will create a new cache file based on your edits.

@SPCulhane Good call, thanks for the tip!

I like this idea also, much cleaner then the various ways we thought about getting around this.
However, do you think we could have some code in the next release post install to migrate from wg to tun_wg for existing users. Yes it's still a breaking change but also a seemless one.
Additionally this code is worth having in the future if we need to change back to wg if netgate add that to the list of exceptions.
Failing that I also agree it would be really useful to have the steps on the next release to adjust our installs for this change.

I'm going to close this as v0.0.6_1 is now available. I will readdress the suggestions here in another issue.


The nri-elasticsearch fails to execute after Linux hardening

Description
The New Relic Elasticsearch was installed via rpm from repository:
https://download.newrelic.com/infrastructure_agent/linux/yum/el/8/x86_64/

The rpm contains following files:
# rpm -qlv nri-elasticsearch-5.1.0-1.x86_64
-rw-r--r--    1 root    root                     1820 Jun  2 02:22 /etc/newrelic-infra/integrations.d/elasticsearch-config.yml.sample
-rw-r--r--    1 root    root                      646 Jun  2 02:22 /etc/newrelic-infra/logging.d/elasticsearch-log.yml.example
-rw-r--r--    1 root    root                     4995 Jun  2 02:22 /usr/share/doc/nri-elasticsearch/CHANGELOG.md
-rw-r--r--    1 root    root                     1063 Jun  2 02:22 /usr/share/doc/nri-elasticsearch/LICENSE
-rw-r--r--    1 root    root                     6099 Jun  2 02:22 /usr/share/doc/nri-elasticsearch/README.md
-rwxr-xr-x    1 root    root                  5574656 Jun  2 02:23 /var/db/newrelic-infra/newrelic-integrations/bin/nri-elasticsearch
-rw-r--r--    1 root    root                      370 Jun  2 02:22 /var/db/newrelic-infra/newrelic-integrations/elasticsearch-definition.yml

System without noexec option on /var is identified as vulnerable with: unix-partition-mounting-weakness
This is currently enforced by Security Technical Implementation Guides (STIGs).
On system with noexec option on /var the NRI Elasticsearch fails with:
fork/exec /var/db/newrelic-infra/newrelic-integrations/bin/nri-elasticsearch: permission denied

Expected Behavior
Executables are placed in /usr/bin or another place where execution is allowed.
The NRI starts and sends data on a system where /var is mounted with noexec option.
Steps to Reproduce

Set noexec option for /var

# grep '/var' /etc/fstab
UUID="<uuid>"     /var    ext4    defaults,nodev,noexec,nosuid,nofail     0 0

Remount the /var

# mount | grep '/var'
/dev/mapper/rootvg-varlv on /var type ext4 (rw,nosuid,nodev,noexec,relatime,seclabel,data=ordered)

Install Newrelic Infra and NRI Elasticsearch from download.newrelic.com

# rpm -qa | grep relic
newrelic-infra-1.42.4-1.el8.x86_64
# rpm -qa | grep nri
nri-elasticsearch-5.1.0-1.x86_64

Start NewRelic Infra

# systemctl restart newrelic-infra

Look for the error in journalctl

# journalctl -u newrelic-infra | grep denied

Your Environment
newrelic-infra-1.42.4-1.el8.x86_64
nri-elasticsearch-5.1.0-1.x86_64
System has set up noexec option for /var , /tmp , /var/tmp (that are in /etc/fstab).
RHEL 8.8
System MUST be STIG compliant (https://public.cyber.mil/stigs)
System has FIPS enabled (https://www.nist.gov/publications/security-requirements-cryptographic-modules-includes-change-notices-1232002)
System needs to pass vulnerability scans.

Hi @xhujerr ,
Thanks for the detailed issue. We are currently looking for this scenario and working on a solution.
We will update this once we are ready.

Hello @xhujerr,
we have planned a future fix and release of the agent and the integrations, including nri-elasticsearch, where we are going to  install the integrations binaries by default in /opt.
We will keep you updated when that new versions are released.
For the moment you may mount “var/db/newrelic-infra“ in a separate file system without noexec as a workaround.


Highlight forms inputs in red when they're invalid (eg. blank required field)

I think this would be a great addition. It would require a new CSS color variable like --danger, and would target the selector :invalid:not(form)
holiday.css does this, here's an example: https://holidaycss.js.org/kitchen-sink/#form

Let me know if this change would be acceptable and I could submit a PR.

can i work on this issue??

I was experimenting with this. I'm not sure it's a great idea - it leads many form fields to be red before the user has even touched them, which often isn't desired behavior and is bad for UX imo. What are your thoughts?

I was experimenting with this. I'm not sure it's a great idea - it leads many form fields to be red before the user has even touched them, which often isn't desired behavior and is bad for UX imo. What are your thoughts?

On second thought I completely agree with you. It seemed like a neat addition when I saw it but I do think inputs should only appear red after interaction or submission... which would probably require JS and doesn't seem within the scope of water.css. Maybe if css eventually supports a selector indicating whether an input has been touched or modified, then this could be revisited.


How to display the last media captured ? filePath does not exist for MediaCapture

I am new to flutter and app development. Please give me some help.
I just copied paste from the document
import 'package:flutter/cupertino.dart';
import 'package:camerawesome/camerawesome_plugin.dart';
import 'package:path_provider/path_provider.dart';
import 'package:better_open_file/better_open_file.dart';

CameraAwesomeBuilder.awesome(
  saveConfig: SaveConfig.photoAndVideo(),
  onMediaTap: (mediaCapture) {
    OpenFile.open(mediaCapture.filePath);
  },
)

And vscode shows that
The getter 'filePath' isn't defined for the type 'MediaCapture'.
Try importing the library that defines 'filePath', correcting the name to the name of an existing getter, or defining a getter or field named 'filePath'.dart[undefined_getter](https://dart.dev/diagnostics/undefined_getter)

How can I get the path of last captured photo?
About your device

Brand
Model
OS

Apple
iPhone 14 Pro
16.1

Your flutter version
camerawesome: 2.0.0-dev.1
Flutter 3.13.9 • channel stable • https://github.com/flutter/flutter.git
Framework • revision d211f42860 (3 weeks ago) • 2023-10-25 13:42:25 -0700
Engine • revision 0545f8705d
Tools • Dart 3.1.5 • DevTools 2.25.0

I find the right code in the examples. I tried it and works fine.
          onMediaTap: (mediaCapture) {
            // OpenFile.open(
            //   mediaCapture.captureRequest
            //       .when(single: (single) => single.file?.path),
            // );

Why is that commented and not in the document?

There was an issue with the upgrading version of gradle and this package.
It has been recently resolved and this will be uncommented.
Sorry for this

This has been fixed in last commits.

Please reopen the issue and close it just after fix related example in https://docs.page/Apparence-io/camera_awesome/getting_started/awesome-ui

I see a direct related PR already exists: https://github.com/Apparence-io/CamerAwesome/pull/489


electron_11: 11.2.1 -> 11.2.3 & electron_10: 10.3.0 -> 10.3.2 & electron_9: 9.4.1 -> 9.4.3

Motivation for this change
https://github.com/electron/electron/releases/tag/v9.4.2
https://github.com/electron/electron/releases/tag/v9.4.3
https://github.com/electron/electron/releases/tag/v10.3.1
https://github.com/electron/electron/releases/tag/v10.3.2
https://github.com/electron/electron/releases/tag/v11.2.2
https://github.com/electron/electron/releases/tag/v11.2.3
Things done

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

[x] NixOS

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 112623 at 389a07a2 run on x86_64-linux 1

12 packages built:

_1password-gui
electron (electron_11)
electron_10
electron_9
element-desktop
jitsi-meet-electron
nix-tour
obsidian
stretchly
teleprompter
typora
vieb

Result of nixpkgs-review pr 112623 at 389a07a2 run on aarch64-linux 1

8 packages built:

electron (electron_11)
electron_10
electron_9
element-desktop
nix-tour
stretchly
teleprompter
vieb


Add support for the hover style option

I need set a custom behavior when the user pass the mouse hover or focus in the thumb change the style, but custom style don't support this functionality.
Example:
https://codesandbox.io/s/objective-sound-o4s5x

Updated the styling for handler and thumb https://github.com/swiftcarrot/react-input-slider/pull/57

released in 5.1.6


kitematic

Expected behavior
Actual behavior
Information about the Issue
Steps to reproduce the behavior

...
...

No information provided or steps to replicate - Closing 😞

@FrenchBen  我搞错了，thie problem is docker-compose ascii code，my system win10+python3+vs2017+aspnetcore1.1， I can't copy this problem because I reset my computer，
i remmanber like：
‘UnicodeEncodeError: 'ascii' codec can't encode characters in position * ’ when I try to  debug app and docker-compose with powershell... my English is poor ,sorry...

bug


Dynamically probe system for availability of larger (1M) BPF instruction limit

Describe the bug
In https://github.com/pixie-io/pixie/pull/1795, we introduced the ability for kernels that support the 1M BPF program limit to raise certain tunables used to restrict program size. Many upstream distros and companies backport features, which means that the kernel version is somewhat meaningless (older kernels could have the feature you are checking for). We knew this was a possibility, but thought it was safe to assume that any version > 5.1 would be guaranteed to have the functionality.
Linux 6.10 introduced BPF tokens, which are a newer way to allow less privileged processes to access BPF functionality. This changes the BPF permission model and can even cause programs to fall back to the lower, 4096 instruction limit. Therefore, it's possible that a process with less permissions can be forced to use a lower limit. This causes PEMs with this reduced permission to fail to start since our tunables to reduce program size will still be increased despite the kernel forcing us to use 4096 instructions.
This was detected while fixing #2035, where our adhoc 6.10 qemu builds failed with instruction limit errors (as seen below):
$ bazel run -c dbg src/stirling/source_connectors/socket_tracer:dns_trace_bpf_test_qemu_interactive
bash-5.2# src/stirling/source_connectors/socket_tracer/dns_trace_bpf_test
I20241009 14:21:07.577044   135 socket_trace_connector.cc:468] Kernel version greater than V5.1 detected (6.11.1), raised loop limit to 882 and chunk limit to 84
I20241009 14:21:07.578644   135 kernel_version.cc:82] Obtained Linux version string from `uname`: 6.11.1
I20241009 14:21:07.578760   135 linux_headers.cc:381] Detected kernel release (uname -r): 6.11.1
I20241009 14:21:07.580492   135 linux_headers.cc:202] Using Linux headers from: /lib/modules/6.11.1/build and /lib/modules/6.11.1/source.
I20241009 14:21:07.585541   135 bcc_wrapper.cc:166] Initializing BPF program ...
I20241009 14:22:06.109444   135 scoped_timer.h:48] Timer(init_bpf_program) : 58.52 s
bpf: Argument list too long. Program  too large (18400 insns), at most 4096 insns

./src/stirling/source_connectors/socket_tracer/testing/socket_trace_bpf_test_fixture.h:54: Failure
Value of: IsOK(::px::StatusAdapter(source_->Init()))
  Actual: false (Internal : Failed to load syscall__probe_ret_writev: -1)
Expected: true
I20241009 14:22:11.929546   135 container_runner.cc:53] podman rm -f dns_server_52108331944 &>/dev/null
[  FAILED  ] DNSTraceTest.Capture (87555 ms)
[----------] 1 test from DNSTraceTest (87556 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test suite ran. (87557 ms total)
[  PASSED  ] 0 tests.
[  FAILED  ] 1 test, listed below:
[  FAILED  ] DNSTraceTest.Capture

 1 FAILED TEST
I20241009 14:22:12.809012   135 env.cc:51] Shutting down

We should change this logic to based on a dynamic probe of the system. bpftool is able to identify if a kernel is capable of the higher instruction limit by inserting a test program above the 4096 limit. This would address this bug and properly identify any backported kernels that should have the higher limits applied.

I have a crude test on this branch that inserts > 4096 BPF asm instructions. This test works on < 5.2 kernels, but it appears to pass on the 6.11 kernel that is later scope to 4096 instructions when the socket tracer program is loaded.
More investigation needs to be done to see how this dynamic probe can trigger the 6.11 instruction limit restriction.


[Bug]: Provide documentation for enum type

What happened?
When the schema.json is an enum, it doesn't generate anything fields in the html.
Find a way to tell what kind of value we can provide.
What browsers are you seeing the problem on?
No response
Version
No response
Relevant log output
No response

Fixed by #143


Canvas API draw calls should not be stored permanently

Draw calls on the canvas API should not write in the staged buffer, as the staged buffer will be used for undo/redo chain.

This will be resolved by #21.


Segmentation Fault for bitser.dumpLoveFile

Happy Holidays,
I was trying to use bitser to serialize some tables in the context of Love2D where I noticed that the game is sometimes crashing when saving. I created a small example for debugging reasons but was not able to fix it. Therefore, I would like to share my findings with you.
I ran following code with Love2D 11.0 and it is crashing on both Linux and Windows. Using Windows 10, I do not get an error message, with Linux it says "segmentation fault (core dumped)".
local sti = require("sti")
local bitser = require("bitser")

local mapFile = "map.lua"
bitser.dumpLoveFile(mapFile, love.filesystem.load("tiled_map.lua")())
local mapTable = bitser.loadLoveFile(mapFile)
sti(bitser.loadLoveFile(mapFile))
bitser.dumpLoveFile(mapFile, mapTable)

The error happens during the first call of serialize_value during the function call of the last line in above's snippet. If the sti function call is commented out, it is working without a problem.
This might be related to #9 but in this case it is about saving and not loading.
Some context: tiled_map.lua is a map created and exported with Tiled and returns on call a big table. For sake of completeness, I've also added the Tiled file to create this file. I don't think it is needed though.
I attached a minimal example to reproduce the bug below. Please note, that it may happen that program is sometimes not crashing. In that case, please rerun again, it happens quite frequently.
minimal_example.zip
.

That's unfortunate. I will look into this, hopefully I can deliver a patch before New Year's Day. I appreciate the minimal example a lot. Happy holidays, I hope you have a lövely time!

The segfault has been fixed, but STI maps are still not supported, as sti() stores functions in the layers (layer.update and layer.draw). Functions are not supported by bitser and are unlikely to ever be supported. 😞

Thanks a lot for the fast fix! I tried it in the larger context of my project and it addresses the issue I had before.
No worries about functions, serialization of tables with simple data types is sufficient for my use case.


Boxplot two areas display different colors

What problem does this feature solve?
How to make the area of upper quartile and lower quartile different? And setting different colors for the four sides?
The effect is shown in the figure below：
https://qc.rimagcloud.com/file/f4bb3e34-4dfc-4944-bee1-2d8dd587c978.jpeg
What does the proposed API look like?
The four borders and midlines can be colored separately, and the two areas can be set separately

I would suggest using custom series to do this.


Adversarial training with ResNet example

Before I ask my question - this framework is awesome - thank you for maintaining it! It's been unbelievably helpful in my research :)
Problem
This issue is a usage question / unexpected problem related to the use of tf.while_loop in the ResNet example.
My setup is as follows:
I am essentially using the ResNet code except that, in the place of the line here:
https://github.com/ppwwyyxx/tensorpack/blob/master/examples/ImageNetModels/imagenet_utils.py#L181
I am using the following code:
        self.get_logits(image) # hack to add variables to graph before going into while_loop
        with tf.variable_scope('', reuse=True):
            if self.attack_inline:
                image = self._adv(image, label)
            logits = self.get_logits(image)

self._adv refers to an adversarial training routine in which we generate an adversarial example for the given loaded input, and is defined here:
    def _adv(self, x, y):
        # probably irrelevant
        def norm_divisor(v):
            norms = (tf.reduce_sum(v**2, axis=[1,2,3])**(1/2.))[..., None, None, None]
            return norms

        def l2_linf_project(v):
            v = tf.clip_by_value(v, 0., 1.)
            diff = v - x
            norms = norm_divisor(diff)
            normalized = diff/norms * tf.minimum(EPS, norms)
            return x + normalized

        random_point = tf.random_normal(shape=tf.shape(x))
        random_point = random_point/norm_divisor(random_point)
        start_adv = l2_linf_project(x + random_point * EPS)

        cond = lambda i, _: tf.less(i, NUM_ITERATIONS)
        initial_vars = [tf.constant(0), start_adv]
        def body(i, adv):
            with tf.variable_scope('', reuse=True): # paranoia
                logits = self.get_logits(adv)

            # note we don't add any summaries here when making losses
            losses = ImageNetModel.compute_loss_and_error(logits, y, attack=True)
            g, = tf.gradients(losses, adv)
            g = g/norm_divisor(g)
            adv = tf.stop_gradient(l2_linf_project(adv + g * STEP_SIZE))
            return i + 1, adv

        _, adv = tf.while_loop(cond, body, initial_vars)

        return tf.stop_gradient(adv)

I then trained with 8 GPUs:
    ./imagenet_resnet.py --gpu 0,1,2,3,4,5,6,7 --checkpoint-dir $ckpt_dir

The program crashed when the graph was run, after freezing. The full log file is here: https://gist.github.com/lengstrom/ade4ebe6acc216e5db184c0e2aac6600
But I think the most relevant parts (I could be / probably am wrong though!) are around line 367:
[0512 16:33:37 @predict.py:51] Building predictor tower 'InferenceTower0' on device /gpu:0 ...
[0512 16:33:40 @collection.py:139] Size of these collections were changed in InferenceTower0: (tf.GraphKeys.WHILE_CONTEXT: 8->9)
[0512 16:33:40 @predict.py:51] Building predictor tower 'InferenceTower1' on device /gpu:1 ...
[0512 16:33:43 @collection.py:139] Size of these collections were changed in InferenceTower1: (tf.GraphKeys.WHILE_CONTEXT: 9->10)
[0512 16:33:43 @predict.py:51] Building predictor tower 'InferenceTower2' on device /gpu:2 ...
[0512 16:33:46 @collection.py:139] Size of these collections were changed in InferenceTower2: (tf.GraphKeys.WHILE_CONTEXT: 10->11)
[0512 16:33:46 @predict.py:51] Building predictor tower 'InferenceTower3' on device /gpu:3 ...
[0512 16:33:49 @collection.py:139] Size of these collections were changed in InferenceTower3: (tf.GraphKeys.WHILE_CONTEXT: 11->12)
[0512 16:33:49 @predict.py:51] Building predictor tower 'InferenceTower4' on device /gpu:4 ...
[0512 16:33:52 @collection.py:139] Size of these collections were changed in InferenceTower4: (tf.GraphKeys.WHILE_CONTEXT: 12->13)
[0512 16:33:52 @predict.py:51] Building predictor tower 'InferenceTower5' on device /gpu:5 ...
[0512 16:33:55 @collection.py:139] Size of these collections were changed in InferenceTower5: (tf.GraphKeys.WHILE_CONTEXT: 13->14)
[0512 16:33:55 @predict.py:51] Building predictor tower 'InferenceTower6' on device /gpu:6 ...
[0512 16:33:59 @collection.py:139] Size of these collections were changed in InferenceTower6: (tf.GraphKeys.WHILE_CONTEXT: 14->15)
[0512 16:33:59 @predict.py:51] Building predictor tower 'InferenceTower7' on device /gpu:7 ...
[0512 16:34:01 @collection.py:139] Size of these collections were changed in InferenceTower7: (tf.GraphKeys.WHILE_CONTEXT: 15->16)
[0512 16:34:01 @summary.py:34] Maintain moving average summary of 4 tensors.
[0512 16:34:01 @graph.py:90] Applying collection UPDATE_OPS of 318 ops.

and the very last line.:
tensorflow.python.framework.errors_impl.InvalidArgumentError: The node 'RunUpdateOps/update_ops/NoOp_7' has inputs from different frames. The input 'tower0/while/group3/block2/conv3/bn/var_ema_op' is in frame 'tower0/while/while_context'. The input 'tower0/group3_1/block2/conv3/bn/var_ema_op' is in frame ''.

It seems like I'm having trouble with the TF graph nodes created in the while_loop in adversarial training interacting with the TF graph nodes created outside of the while_loop.
How can I call the network to get the logits within the while_loop?
Environment information
Python version: 3.6.1
TensorFlow version: v1.4.0-rc1-11-g130a514 1.4.0
Tensorpack version: 0.7.1

It's a tensorflow issue that tf.layers.batch_normalization cannot be used inside conditionals. See https://github.com/tensorflow/tensorflow/issues/14809 and https://github.com/tensorflow/tensorflow/issues/14699.
Using tensorpack BatchNorm layer's internal_update option can probably solve this.


Pipenv/fix install loguru

Codecov Report

Merging #732 (638c805) into main (357860d) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #732   +/-   ##
=======================================
  Coverage   40.64%   40.64%
=======================================
  Files         206      206
  Lines       10882    10882
=======================================
  Hits         4423     4423
  Misses       6459     6459

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more


prevent non-collaborators changing version files (creating releases) with PRs

A release of the chart will be created if a commit is added that updates:

charts/airflow/Chart.yaml
images/pgbouncer/VERSION

We should make a GitHub workflow that fails if a PR modifies a version file and is not created by a GitHub "collaborator". This will help prevent accidental releases.

Bumping for bot.

I updated the PR template to help users understand not to bump the version in Chart.yaml if they are not creating a release.


Can someone help here with the regex?

Checklist

[X] I'm asking a question
[X] I've looked through the README and FAQ for similar questions
[X] I've searched the bugtracker for similar questions including closed ones

Question

I am working on this pull request since the last 2 days:
https://github.com/ytdl-org/youtube-dl/pull/25853
Im nearly finished. Can someone help me with the last regex to get the video duration for each video in a playlist?
I have described the last step on todo here:
https://github.com/ytdl-org/youtube-dl/pull/25853#issuecomment-652567488

Do not post duplicates.


Fidget Spinner Game using python

I have the code ready for the same. Please assign it to me under hacktoberfest-accepted tag.

this repo is excluded from hacktoberfest. there's no use of contributing to it


Persist timeline brush range if possible

We can control brush and axis domains, however charts won't update unless resized (forceUpdate() does nothing).

When you login again at 4pm, it would show you the range of 4pm — 6pm ?

Yes. My goal is to be able to see how many and when will I be doing reviews in the chosen interval until this same interval gets completed. I feel like for a lot of us, seeing 7am - 10pm (period of time we’ll be reviewing that day) is more valuable than seeing 7am - 7am (24h period).

But let’s say you don’t at 4pm, and you only login again at 7pm… should it be reset to the full 24hours since 4pm—6pm doesn’t exist anymore, or should it show you 7pm — 9pm (the 2hr range you had it at previously).

The Timeline that @rfindley made for WK would still maintain the same interval (2h range in this case), which I don’t mind. In both occasions (2h vs 24 period), I guess the user would have to adjust the intervals again, so what’s important is that the system remembers the last interval he user chose.
EDIT: Btw, the number of reviews that appears right above the timeline could adjust depending on the interval that one chooses.

Will most likely have to wait on https://github.com/recharts/recharts/issues/963 & https://github.com/recharts/recharts/issues/858

Not implemented.
If the blocking issues are fixed will re-open.


Add github-code-search extension

Description

You can perform searches on GitHub Code Search directly from Raycast.
You can configure filter options as necessary.

Screencast

https://github.com/raycast/extensions/assets/1296540/724446ee-f8b7-4471-8786-8d3bc2207b76
Screenshots

1
2
3

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

@thomaslombart, would this fit into the current GitHub extension, or does it make sense to have it as a standalone?

@pernielsentikaer It could be the case, yes, especially since it would be possible to retrieve the user's organizations, which could be an improvement here.

What do you think about that, @tdkn - I'm not that much into the GitHub extension as @thomaslombart is, so if we're missing something, please enlighten us 🙂

I think it would be great to add Code Search functionality to an existing GitHub Extension and would prefer it if possible. I'm not familiar with the existing Extension, but can I use Code Search functionality without setting a Personal Access Token (PAT)? My Extension uses a public endpoint, so Code Search works without a PAT.

@tdkn This shouldn't be a problem in the current extension.

Would you be up for that @tdkn


Better differentiate the C based languages in the README.

That's really repetitive and the list is already quite long.


Select and Input doesn't work (Cordova problem?)

I'm creating an Android/iOS app with Cordova and Visual Studio and would like to style the app with materialize. However there seems to be a problem with the initialization. I searched through the tutorials as well as the issues and wasn't able to find a solution. Basically there are two problems, but i think they have the same root problem.
Problem #1: Input fields
When i create an input field it first looks correct:

But when i enter text, the description does not move up as it should and then overlaps the text:

Here' the code: http://codepen.io/anon/pen/VpeqoR
Problem #2: Combobox
When i create a combo box (like the tutorial says) i get two of them. The lower one is just there and does not do anything. The upper one works, but cuts of the text if there are too many options. When trying to scroll, it collapses. I initialized the select component in the onDeviceReady() function.
Screenshot 1:

Screenshot 2:

Here's the code: http://codepen.io/anon/pen/RprEmm
Please note, that the scrolling doesn't work always on the page where i use these input fields.
These problems still occur if i disable all other css files.

Same with switches. Is there nobody who had the same or a similar problem?

Select boxes are not working in a simple html page rendering on Safari (iOS 10.2.1 ).
I opened http://materializecss.com/forms.html and select boxes didn't work even there, in the official demos.

None of your codepen's seem to be demonstrating the problem. Please update this and I will reopen


Update xmldom dependency

current entry in package.json:
"xmldom": "~0.1.22"
prevents updating to xmldom >= 0.5 and thus is affected by
https://www.npmjs.com/advisories/1650

+1 upvote for fixing this.  Will also allow consumer packages (e.g. webfont) to update to a non-vulnerable version


Refactor should take into consideration primitives vs objects (in Python)

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.84.2
OS Version: Windows 11

Steps to Reproduce:

Use the following code snippet

a = 0

for i in range(10):
    a += 1

Use extract method from refactoring tools on the for loop.
Get the following code

a = 0

def new_func(a):
    for i in range(10):
        a += 1

new_func(a)

This has no effect on primitive types.

/extPython

It looks like this is caused by the Python extension. Please file the issue to the Python extension repository. Make sure to check their issue reporting template and provide them relevant information such as the extension version you're using. See also our issue reporting guidelines for more information.
Happy Coding!


provide ARM base image

Can I test on an instance of the ram architecture，Can you provide a basic image？

base image: kubernetes:v1.19.9

base image: kubernetes:v1.19.9

I may need to replace the arm architecture kubectl, kubeadm, kubelet..., docker-ce

You should not do that, we will provide ARM base image later.

Do you have a specific time plan?

Do you have a specific time plan?

At the end of August, we need to complete the test based on the arm architecture

@cuisongliu when we can provide ARM base image?  @clcc2019 which version do you want? We can provide one version at 8.15 I think.

we need arm docker and registry support it.

@cuisongliu when we can provide ARM base image? @clcc2019 which version do you want? We can provide one version at 8.15 I think.

Hope to provide version 1.18

we need arm docker and registry support it.

@justadogistaken provide the source code to build arm docker and registry.

https://github.com/osemp/moby/tree/feature/support-private-registry-mirror-on-v19.03.14

registry.cn-beijing.aliyuncs.com/sealer-io/kubernetes-arm64:v1.19.7

@clcc2019 you can try this arm image registry.cn-beijing.aliyuncs.com/sealer-io/kubernetes-arm64:v1.19.7

root@kylin:/home/kylin# sealer run registry.cn-beijing.aliyuncs.com/sealer-io/kubernetes-arm64:v1.19.7 --masters <IP_ADDRESS>  --passwd ***********
2021-08-09 02:33:39 [WARN] [current_cluster.go:51] current cluster not found, new kube build config failed: stat /root/.kube/config: no such file or directory, will create a new cluster
2021-08-09 02:33:39 [INFO] [default_image.go:55] image registry.cn-beijing.aliyuncs.com/sealer-io/kubernetes-arm64:v1.19.7 already exists
2021-08-09 02:33:39 [INFO] [filesystem.go:90] image already mounted
2021-08-09 02:33:40 [INFO] [sshcmd.go:49] [ssh][<IP_ADDRESS>] : cd /var/lib/sealer/data/my-cluster/rootfs  && chmod +x scripts/* && cd scripts && sh init.sh
+ storage=/var/lib/docker
+ mkdir -p /var/lib/docker
+ command_exists docker
+ command -v docker
+ systemctl daemon-reload
+ systemctl restart docker.service
+ docker info -f {{.CgroupDriver}}
+ driver=cgroupfs
+ echo driver is cgroupfs
driver is cgroupfs
+ export criDriver=cgroupfs
init-kube.sh: 15: test: 4.19: unexpected operator
* Applying /etc/sysctl.d/10-console-messages.conf ...
kernel.printk = 4 4 1 7
* Applying /etc/sysctl.d/10-ipv6-privacy.conf ...
net.ipv6.conf.all.use_tempaddr = 2
net.ipv6.conf.default.use_tempaddr = 2
* Applying /etc/sysctl.d/10-kernel-hardening.conf ...
kernel.kptr_restrict = 1
* Applying /etc/sysctl.d/10-link-restrictions.conf ...
fs.protected_hardlinks = 1
fs.protected_symlinks = 1
* Applying /etc/sysctl.d/10-magic-sysrq.conf ...
kernel.sysrq = 176
* Applying /etc/sysctl.d/10-network-security.conf ...
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.tcp_syncookies = 1
* Applying /etc/sysctl.d/10-ptrace.conf ...
* Applying /etc/sysctl.d/10-zeropage.conf ...
vm.mmap_min_addr = 32768
* Applying /etc/sysctl.d/99-sysctl.conf ...
kernel.core_pattern = /tmp/core-%p-%e-%t
* Applying /etc/sysctl.d/k8s.conf ...
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.conf.all.rp_filter = 0
* Applying /etc/sysctl.conf ...
kernel.core_pattern = /tmp/core-%p-%e-%t
net.ipv4.ip_forward = 1
Failed to stop firewalld.service: Unit firewalld.service not loaded.
SELINUX=enforcing
setenforce: SELinux is disabled
Created symlink from /etc/systemd/system/multi-user.target.wants/kubelet.service to /etc/systemd/system/kubelet.service.
2021-08-09 02:33:41 [INFO] [runtime.go:98] metadata version v1.19.7
2021-08-09 02:33:41 [INFO] [sshcmd.go:49] [ssh][<IP_ADDRESS>] : cd /var/lib/sealer/data/my-cluster/rootfs && echo "
apiVersion: kubeadm.k8s.io/v1beta1
kind: ClusterConfiguration
kubernetesVersion: v1.19.7
controlPlaneEndpoint: "apiserver.cluster.local:6443"
imageRepository: sea.hub:5000/library
networking:
  # dnsDomain: cluster.local
  podSubnet: <IP_ADDRESS>/10
  serviceSubnet: <IP_ADDRESS>/22
apiServer:
  certSANs:
  - <IP_ADDRESS>
  - apiserver.cluster.local
  - <IP_ADDRESS>
  - aliyun-inc.com
  - <IP_ADDRESS>
  - <IP_ADDRESS>
  extraArgs:
    etcd-servers: https://<IP_ADDRESS>:2379
    feature-gates: TTLAfterFinished=true,EphemeralContainers=true
    audit-policy-file: "/etc/kubernetes/audit-policy.yml"
    audit-log-path: "/var/log/kubernetes/audit.log"
    audit-log-format: json
    audit-log-maxbackup: '"10"'
    audit-log-maxsize: '"100"'
    audit-log-maxage: '"7"'
    enable-aggregator-routing: '"true"'
  extraVolumes:
  - name: "audit"
    hostPath: "/etc/kubernetes"
    mountPath: "/etc/kubernetes"
    pathType: DirectoryOrCreate
  - name: "audit-log"
    hostPath: "/var/log/kubernetes"
    mountPath: "/var/log/kubernetes"
    pathType: DirectoryOrCreate
  - name: localtime
    hostPath: /etc/localtime
    mountPath: /etc/localtime
    readOnly: true
    pathType: File
controllerManager:
  extraArgs:
    feature-gates: TTLAfterFinished=true,EphemeralContainers=true
    experimental-cluster-signing-duration: 876000h
  extraVolumes:
  - hostPath: /etc/localtime
    mountPath: /etc/localtime
    name: localtime
    readOnly: true
    pathType: File
scheduler:
  extraArgs:
    feature-gates: TTLAfterFinished=true,EphemeralContainers=true
  extraVolumes:
  - hostPath: /etc/localtime
    mountPath: /etc/localtime
    name: localtime
    readOnly: true
    pathType: File
etcd:
  local:
    extraArgs:
      listen-metrics-urls: http://<IP_ADDRESS>:2381
---
apiVersion: kubeproxy.config.k8s.io/v1alpha1
kind: KubeProxyConfiguration
mode: "ipvs"
ipvs:
  excludeCIDRs:
  - "<IP_ADDRESS>/32"" > kubeadm-config.yaml
2021-08-09 02:33:42 [INFO] [kube_certs.go:234] APIserver altNames :  {map[aliyun-inc.com:aliyun-inc.com apiserver.cluster.local:apiserver.cluster.local kubernetes:kubernetes kubernetes.default:kubernetes.default kubernetes.default.svc:kubernetes.default.svc kubernetes.default.svc.cluster.local:kubernetes.default.svc.cluster.local kylin:kylin localhost:localhost] map[<IP_ADDRESS>:<IP_ADDRESS> <IP_ADDRESS>:<IP_ADDRESS> <IP_ADDRESS>:<IP_ADDRESS> <IP_ADDRESS>:<IP_ADDRESS> <IP_ADDRESS>:<IP_ADDRESS>]}
2021-08-09 02:33:42 [INFO] [kube_certs.go:254] Etcd altnames : {map[kylin:kylin localhost:localhost] map[<IP_ADDRESS>:<IP_ADDRESS> <IP_ADDRESS>:<IP_ADDRESS> ::1:::1]}, commonName : kylin
2021-08-09 02:33:51 [INFO] [kubeconfig.go:267] [kubeconfig] Writing "admin.conf" kubeconfig file

2021-08-09 02:33:52 [INFO] [kubeconfig.go:267] [kubeconfig] Writing "controller-manager.conf" kubeconfig file

2021-08-09 02:33:52 [INFO] [kubeconfig.go:267] [kubeconfig] Writing "scheduler.conf" kubeconfig file

2021-08-09 02:33:54 [INFO] [kubeconfig.go:267] [kubeconfig] Writing "kubelet.conf" kubeconfig file

2021-08-09 02:33:54 [INFO] [sshcmd.go:49] [ssh][<IP_ADDRESS>] : mkdir -p /etc/kubernetes && cp -f /var/lib/sealer/data/my-cluster/rootfs/statics/audit-policy.yml /etc/kubernetes/audit-policy.yml
2021-08-09 02:33:54 [INFO] [sshcmd.go:49] [ssh][<IP_ADDRESS>] : cd /var/lib/sealer/data/my-cluster/rootfs/scripts && sh init-registry.sh 5000 /var/lib/sealer/data/my-cluster/rootfs/registry
+ dirname init-registry.sh
+ cd .
+ REGISTRY_PORT=5000
+ VOLUME=/var/lib/sealer/data/my-cluster/rootfs/registry
+ container=sealer-registry
+ mkdir -p /var/lib/sealer/data/my-cluster/rootfs/registry
+ docker load -q -i ../images/registry.tar
Loaded image: registry:2.7.1
+ docker rm sealer-registry -f
Error: No such container: sealer-registry
+ true
+ pwd
+ dirname /var/lib/sealer/data/my-cluster/rootfs/scripts
+ config=/var/lib/sealer/data/my-cluster/rootfs/etc/registry_config.yaml
+ [ -f /var/lib/sealer/data/my-cluster/rootfs/etc/registry_config.yaml ]
+ docker run -d --restart=always --net=host --name sealer-registry -v /var/lib/sealer/data/my-cluster/rootfs/registry:/var/lib/registry registry:2.7.1
0dd7ffccaa648c1a89799be7db2c7d877fdaec86bc14da5b9b15086e93be626b
2021-08-09 02:33:57 [INFO] [sshcmd.go:49] [ssh][<IP_ADDRESS>] : echo <IP_ADDRESS> apiserver.cluster.local >> /etc/hosts
2021-08-09 02:33:57 [INFO] [sshcmd.go:49] [ssh][<IP_ADDRESS>] : echo <IP_ADDRESS> sea.hub >> /etc/hosts
2021-08-09 02:33:57 [INFO] [init.go:205] start to init master0...
[ssh][<IP_ADDRESS>]failed to run command [kubeadm init --config=/var/lib/sealer/data/my-cluster/rootfs/kubeadm-config.yaml --upload-certs -v 0 --ignore-preflight-errors=SystemVerification],output is: W0809 02:33:57.426033    6398 common.go:77] your configuration file uses a deprecated API spec: "kubeadm.k8s.io/v1beta1". Please use 'kubeadm config migrate --old-config old.yaml --new-config new.yaml', which will write the new, similar spec using a newer API version.
W0809 02:33:57.552342    6398 configset.go:348] WARNING: kubeadm cannot validate component configs for API groups [kubelet.config.k8s.io kubeproxy.config.k8s.io]
[init] Using Kubernetes version: v1.19.7
[preflight] Running pre-flight checks
	[WARNING IsDockerSystemdCheck]: detected "cgroupfs" as the Docker cgroup driver. The recommended driver is "systemd". Please follow the guide at https://kubernetes.io/docs/setup/cri/
	[WARNING FileExisting-ebtables]: ebtables not found in system path
	[WARNING FileExisting-socat]: socat not found in system path
[preflight] Pulling images required for setting up a Kubernetes cluster
[preflight] This might take a minute or two, depending on the speed of your internet connection
[preflight] You can also perform this action in beforehand using 'kubeadm config images pull'
error execution phase preflight: [preflight] Some fatal errors occurred:
	[ERROR ImagePull]: failed to pull image sea.hub:5000/library/kube-apiserver:v1.19.7: output: Error response from daemon: Get https://sea.hub:5000/v2/: http: server gave HTTP response to HTTPS client
, error: exit status 1
	[ERROR ImagePull]: failed to pull image sea.hub:5000/library/kube-controller-manager:v1.19.7: output: Error response from daemon: Get https://sea.hub:5000/v2/: http: server gave HTTP response to HTTPS client
, error: exit status 1
	[ERROR ImagePull]: failed to pull image sea.hub:5000/library/kube-scheduler:v1.19.7: output: Error response from daemon: Get https://sea.hub:5000/v2/: http: server gave HTTP response to HTTPS client
, error: exit status 1
	[ERROR ImagePull]: failed to pull image sea.hub:5000/library/kube-proxy:v1.19.7: output: Error response from daemon: Get https://sea.hub:5000/v2/: http: server gave HTTP response to HTTPS client
, error: exit status 1
	[ERROR ImagePull]: failed to pull image sea.hub:5000/library/pause:3.2: output: Error response from daemon: Get https://sea.hub:5000/v2/: http: server gave HTTP response to HTTPS client
, error: exit status 1
	[ERROR ImagePull]: failed to pull image sea.hub:5000/library/etcd:3.4.13-0: output: Error response from daemon: Get https://sea.hub:5000/v2/: http: server gave HTTP response to HTTPS client
, error: exit status 1
	[ERROR ImagePull]: failed to pull image sea.hub:5000/library/coredns:1.7.0: output: Error response from daemon: Get https://sea.hub:5000/v2/: http: server gave HTTP response to HTTPS client
, error: exit status 1
[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`
To see the stack trace of this error execute with --v=5 or higher
2021-08-09 02:34:00 [EROR] [run.go:55] failed to init master0 init master0 failed, error: [ssh][<IP_ADDRESS>]run command failed [kubeadm init --config=/var/lib/sealer/data/my-cluster/rootfs/kubeadm-config.yaml --upload-certs -v 0 --ignore-preflight-errors=SystemVerification]. Please clean and reinstall

@lin1005q Could you show us the /etc/docker/daemon.json?

cat: /etc/docker/daemon.json: No such file or directory

init-kube.sh: 15: test: 4.19: unexpected operator  @cuisongliu

Failed to stop firewalld.service: Unit firewalld.service not loaded

init-kube.sh: 15: test: 4.19: unexpected operator @cuisongliu

you should run it with bash not sh.

use registry.cn-qingdao.aliyuncs.com/sealer-io/kubernetes-arm64:v1.19.7


DeadInsertElim: Don't revisit select phi nodes during MarkInsertChain

Such revisiting is a waste of time and can cause prohibitively exponential analysis time. Fixes #1487.

Rebased, squashed, and merged as df700f6.


--profile linux-gpu CANNOT pull-model

I get errors like these:
......
genai-stack-pull-model-1  | Error: Head "http://llm-gpu:11434/": dial tcp  <my ip>:11434: connect: no route to host
genai-stack-pull-model-1 exited with code 1
......
service "pull-model" didn't complete successfully: exit 1

I can run this using --profile linux, but it just too slow. But I can not use my gpu!

docker-compose.yml add this
extra_hosts:
      - "host.docker.internal:host-gateway"

under pull-model

Are you using OLLAMA_BASE_URL=http://llm-gpu:11434 in your .env file ? If yes, is your llm-gpu service starting before the pull-model service ?

Oddest thing. This was up and running with just those few simple edits to the .env file when I initially set this up, late December. Yesterday, I tried to start it up and got this same error for the pull-service service. I hadn't changed system or Docker settings or run any other models.
Ultimately, I got it running again by specifying the llm-gpu dependency in the pull-model service and the llm-gpu hostname in the docker-compose.yml and restarting the docker service (sudo systemctl restart docker).
pull-model:
  ...
  depends_on:
    - llm-gpu

and
llm-gpu:
  hostname: llm-gpu
  ...

in addition to @DeanXu2357 's recommendation to define the extra_hosts. Without it, at least when the llm-gpu hostname is set, the network service would not run.
Attaching to genai-stack-api-1, genai-stack-bot-1, genai-stack-database-1, genai-stack-front-end-1, genai-stack-llm-gpu-1, genai-stack-loader-1, genai-stack-pdf_bot-1, genai-stack-pull-model-1
Error response from daemon: network fe6b55fd9b9e0b3795bb3f1c089a3799537be31d55407dc0c3094585fd7ff39c not found

In any case, I find Docker to be sensitive to container stops/starts. Sometimes, it's necessary to run docker system prune to clean up issues like the cached network service ID.

The dependency makes sense, but the default hostname should already by llm-gpu. But if it works, it works!


Add linux as supported OS

What does this PR do?
Adds Linux support in the manifest file. This lets the Agent build the integration on Linux platforms.
Motivation
Customer request, and travis testing is currently done in Linux.
Review checklist

[ ] PR has a meaningful title or PR has the no-changelog label attached
[ ] Feature or bugfix has tests
[ ] Git history is clean
[ ] If PR impacts documentation, docs team has been notified or an issue has been opened on the documentation repo

Additional Notes
I made a custom build of the Agent and confirmed that the sqlserver wheel is properly shipped with the deb package.

Codecov Report

Merging #2614 into master will decrease coverage by 12.35%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           master    #2614       +/-   ##
===========================================
- Coverage   83.85%   71.49%   -12.36%
===========================================
  Files         644       51      -593
  Lines       36425     3926    -32499
  Branches     4426      490     -3936
===========================================
- Hits        30544     2807    -27737
+ Misses       4563      979     -3584
+ Partials     1318      140     -1178

Let's merge when https://github.com/DataDog/datadog-agent/pull/2729 is merged


Build smaller Docker image with multi-stage build

This change splits image build process in 2 stages:

compiling ClojureScript to JavaScript (which requires JDK and Leiningen)
installing runtime deps (Node.js, PhantomJS, ImageMagick, gifsicle)

Image size reduction: 832 MB => 380 MB
Requires Docker 17.05 for building, although older Docker engine versions are fine for running it.

It seems Docker Hub does already support multiple FROM directives, but doesn't yet support COPY --from=... - https://hub.docker.com/r/asciinema/a2gif/builds/bs9juez22ccpxuqonz9lmc4/


[VS Code] Live Share extension failed to initialize, try to reload the VSCode window and try again.

Error:
Live Share extension failed to initialize, try to reload the VSCode window and try again.
Steps to Reproduce:

Version Data

extensionName
VSLS

extensionVersion
0.3.514

protocolVersion
2.2

applicationName
VSCode

applicationVersion
1.22.2

platformName
Linux

platformVersion
4.14.0-deepin2-amd64

Thanks for reporting this! Could you try uninstalling and reinstalling the extension? That may help unblock this issue. We’re tracking this issue via #660, so I’m going to close this as a duplicate in order to consolidate the conversation. But let us know if the mentioned workaround helps. Thanks!


Event posting will be blocked when no listener for this event is registered

Event posting disabled if the event's listener is not registered


In 7.13.3 and 7.13.4 folder, images won't load from data folder

Hi Dan,
both folders work fine at the moment. But l want images to be stored in the folder called data, so I created a fold named data, and put the image file into it. However, the image won't load. Images are loaded fine outside of data folder.
What did I do wrong?
Thanks

Did you say loadImage('data/filename.jpg')?  Unlike Processing, p5 won't look in the data folder automatically.

yes, I see, thanks.


e2e: pr warning testThu, 30 Nov 2017 06:29:23 GMT

:warning: Validation status: warnings

File
Status
Preview URL
Details

E2E_DocsBranch_Internal_Dynamic/index.md
:warning:Warning
View
Details

E2E_DocsBranch_Internal_Dynamic/index.md

[Warning] Ignore metadata: content_type. They are generated by open publish.
[Warning] the value invalid_type is undefined for metadata content_type
Line 6: [Warning] Invalid file link:(~/../nonexisted1.md).
Line 7: [Warning] Invalid file link:(~/../nonexisted2.md).
Line 8: [Warning] Invalid file link:(~/../nonexisted3.md).

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.


Investigate various model options

https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/detection_model_zoo.md#coco-trained-models has a few other models that we could make available, either via a Docker build flag or via an API call query parameter (at the cost of significantly increasing the Docker image build time as it would need to pull down multiple models).
In particular, we use the ssd_mobilenet_v1_coco model which is among the fastest & smallest, but a bit less accurate.
There are a couple new models on the TF model zoo that are slower (by about a factor of 2) but more accurate:

ssd_mobilenet_v1_fpn_coco
ssd_resnet_50_fpn_coco

cc @djalova @ajbozarth @bdwyer2 @ptitzler

Maybe use both, build time and api flags. The build time flag determines what model(s) to download and the api flag for which of those models to use. Then we can play with different configurations of "default" models to download on build to pick one with a good balance better useful and fast. Just a brainstorming idea.

@MLnick can we close this?

I think we still should look at upgrading the model to a newer, better performing version. So let's keep this open for tracking that effort, though it may not be highest priority.


GFM version 7, suggest things here

STALLED BECAUSE WAITING ON DERELICTUTIL v3
STALLED BECAUSE NO TIME
TODO for v7

[x] update all wrappers to derelict packages using current DerelictUtil
[x] wideint will go in its own independent DUB package (meh, won't do it)
[x] absByElem for Vector
[x] @fastmath (no need anymore)
[x] change length to magnitude and squaredLength to squaredMagnitude. Better names in general, more fit for completion like in GLM or XNA names (concept then options). Keep them deprecated for now. length should be for "container size" in D.
[x] Include #192 in this major tag (EDIT: no)

It would be nice to avoid issues with non-stack allocated sdl objects

What are those issues?

The issue that I'm referring to is when you try to use SDL2 / SDL2Window / etc without being wrapped in scope!T unless you very carefully manage the scope for those objects.  You end up seeing GC errors and getting a non-zero exit code.  Maybe there's a nice way to do ref-counting for cleanup after all SDL objects are done?

The GFM example use scoped!T but there are other ways to release ressource.
I recommend you simple use .destroy() instead, so that such ressource can be fields. The destructors are the ideal place to do that for fields.0
The reason you are seeing GC errors is that if GFM didn't made relying on the GC for cleanup an error, it would be worse like it was before the GC-proof resource class. Things would crash randomly (or not) at exit.

Is it worth adding an abs() function to gfm.math.vector?
I came across that need a couple of times while playing with Vector's and dual-contouring.

I meant absolute value per element. Something like this:
static if (isSigned!T)
{
    @property @nogc ref Vector abs() pure nothrow const
    {
        Vector!(T, N) v;
        import std.math : abs;
        mixin(generateLoopCode!("v[@] = abs(this.v[@]);", N)());
        return v;
    }
}

Let's call it absByElem then?

Have you had issues by using same names as in Phobos?
Using explicit naming (with module name) and aliases can be used to avoid name collision.
Anyway, I don't mind using absByElem, it's fine by me.
As for "length" name, when I did my own vector implementation, I used "magnitude" as the function definition name, and "length" as an alias. Same for "scalarProduct" aliased to "dotProduct" and "vectorProduct" to "crossProduct". I did not want to have to chose between the proper mathematical naming, and the naming developers are used to.

I know there are always ways to avoid name clashes.
At one point gfm:math had "min", "max" and "clamp", it made lots of problems that tend to creep up when improting whole package.d.
My opinion here would be to have only one name and one that doesn't offer room for misunderstanding.
If I see "vec.abs" how to know if it's the absolutes value of elements, sum of absolutes value of elements or a vector result?
Your "magnitude" seem better than "length" btw and I will probably change to that name at one point.

Ok, I understand now. It's a good point.

By the way, I have a question about something totally different. I noticed most Vector and Matrix methods (and especially operator ones) have their parameter passed by value. I know using reference parameter is problematic (like "const ref Vector vec") when using constructor argument (hence your D-idiom about "auto ref and not using it").
But, passing by value, doesn't it criple code performance? Especially with 4x4 matrices?
I may have missed a train, maybe the compiler does some kind of optimization, with function inlining or something.

Good question.
I learned about "auto ref" when https://github.com/Dgame submitted the idiom, I'm still not sure where it should be used actually. Can you help?
I've never measured seriously, one time I tried ref for passing Vector and it wasn't better. I guess it should be useful
BTW the d-idiom warns about "template bloat" but in practice I don't think this will happen. I should consider auto-ref but as I don't use Matrix a lot in my products it won't be a realistic test.

I dug into dlang forum to see if there were any discussions about this, and I figured it was kind of a polemical question (I've got to find the specific thread about this, it seems Andrei had some specific thoughts about that). Anyway, I'll be happy to help.
I'll make some tests, to see what's going on. I also have to learn more about that "template bloat" problem, in which exact conditions we have to care about it.

I'll make some tests, to see what's going on. I also have to learn more about that "template bloat" problem, in which exact conditions we have to care about it.

In my opinion, never.
It's a semi-mythical beast that appears with too much different instantiation supposed to make you program compiles slower (this part is true) and execute slower (hasn't seen this in practice, rather the contrary).

texture functions
Please add methods to GLTexture for the following gl functions:

glTexParameterfv(_target, GL_TEXTURE_BORDER_COLOR, color);
glTexParameteri(_target, GL_TEXTURE_COMPARE_MODE, compareMode);
glTexParameteri(_target, GL_TEXTURE_COMPARE_FUNC, compareFunc);

diagonal matrices
It would be nice to have a static diag method in Matrix that takes an n-vector and returns a n x n matrix with the vector on its diagonal. This is useful for example with non-uniform scaling.

All available as v7.0.0
However because of DerelictGL3 changes it is currently impossible to setup which opengl version is loaded


Add a recommendation for the ICU version

Fixes https://github.com/symfony/symfony-standard/issues/952

Thank you @jakzal.

@fabpot @jakzal the warning is added, but... how we solve it?

Like @shawe said: the warning is added, but... how we solve it?

@shawe @julinoneto as the message says you need to ipgrade your intl extension with a version that matches Symfony's ICU version (55.1 at the moment). Please suggest an improved message if you find it unclear.

@jakzal i am trying to do it on a CentOS 7 O.S. but i cant find a way to upgrade my ICU version on the O.S. using PHP 7.

I'm using ArchLinux, always with latest versions of software. For me this problem seems to not be logical.

@shawe this is not necessarily a problem. It's just a suggestion.
It's best to be on the latest version of ICU as it's the only one that's up to date. Not all ICU data is exposed by the intl extension and Symfony provides ways to access it. This means that we need to bundle that data with the component and it might be that your system has a different version installed.
The warning generated by Symfony is just to point out there MIGHT be slight inconsistencies for rather rare edge cases.


Blocking hostnames that don't provide DoH or DoT

Just noticed you have Verisign on there. AFAIK, they don't offer DoT or DoH. Is the idea to block any public DNS service, or just DoT and DoH?

For the moment, this list only concern services that provide DoH (and eventually DoT, even if it's not mandatory since you can easily block them with port 853).
Indeed, it doesn't seem to be the case for Yandex either. I've removed them. Thanks for your feedback !


Add token

[x] Added FFaker::InternetSE.token, tests
[x] Added FFaker::InternetSE.token examples
[x] Updated changelog, version

Not needed.


Vulnerability roundup 85: libreoffice-<IP_ADDRESS>: 3 advisories [6.5]

search, files

[ ] CVE-2020-12803 CVSSv3=6.5 (nixos-unstable)
[ ] CVE-2020-12801 CVSSv3=5.3 (nixos-unstable)
[ ] CVE-2020-12802 CVSSv3=5.3 (nixos-unstable)

Scanned versions: nixos-unstable: 22c98819ccd. May contain false positives.
Cc @7c6f434c

Fixed in both stable and unstable.


Logic bug fix : when capturing a stone, check if it's opponent's stone

Without checking the color of captured stones, it can capture its own stone when the newly added move makes its own liberty to be zero.

Thx I'll review this early next week.

The problem with your fix is it implies that isLegalMove() returned true for a self capture, which I don't think it's supposed to do. I suppose if I ever want to handle rule sets that allow self capture I need this, but I want to figure out the underlying problem instead.

I was not aware that you wanted to implement self-capture.  However, if you wanted to implement self-capture, then still the capture logic has to change, probably something like this pseudocode
opponent_stone_captured=false;
foreach(adjacent opponent stone) {
if(liberty == 0) {
capture(opponent_stone); opponent_stone_captured = true;
}
}
if(!opponent_stone_captured and newly_played_stone_has_zero_liberty) {
capture(newly_played_stone);
}
That is, the newly played stone may result in both stones having zero liberty.  In that case, it should remove opponent stones only.  This was the bug that I observed - when the newly played stone was part of a group that turned to zero liberty, but also had another opponent group turn to zero liberty, sometimes it worked out as self-capture, other times it turned into a normal capture.

I'm sorry, let me clarify.... rulesImp.isLegalMove() is where self capture is already checked. SimpleRules the move should not be legal if it is self capture in the current implementation. In a future implementation (a NewZelandRules or IngRules perhaps) this could be legal. All decisions about legality of a move must occur in the rules class.
I think that you are proposing that the bug is that the rules declare the move legal because something of the opponent's is meant to be captured, but the first direction that is checked is part of the capturing group (also out of liberties).
This might be a problem, but the decision to capture self or not has to reside within the rules impl, since sometimes it's legal and sometimes it is not depending on the rule set.
I hope to write a unit test reproducing the issue so that I can verify that the fix really fixes something. 15 years ago I had no idea what a unit test was, so I didn't write any, but now I know better :) if there's one area of the code that should be made testable it's the rules & capturing logic.

Thanks for your help. The fix you proposed was mostly correct but I just wanted to be a bit more pedantic  about things and add some capabilities to write unit tests :)

Oh and in case you haven't figured it out this is also fsparv (when I forget to switch accounts from my work stuff) ;)


No way to search multiple OU's?

Is there no way to search multiple OU's?
If there is how do you do that?
EDIT:
Also, why doesn't
"CN=Group name, OU=Users, OU=Org, dc=ad, dc=domain, dc=comainending"
work in basedn?

Hi @joveice,
This isn't possible with LDAP (without some complex configuration):
https://stackoverflow.com/questions/9184978/ldap-root-query-syntax-to-search-more-than-one-specific-ou
You can only set the base DN (which is the scope of the search you're looking for).
Also to answer your question, you're setting your base DN to a group, not an OU.
A group isn't like an OU. You can't set the base DN to a group DN and retrieve all the members inside the group. You must query for the group, and then ask each group for their members:
$group = Adldap::search()->groups()->find('Group name');

$members = $group->getMembers();

https://github.com/Adldap2/Adldap2/blob/master/src/Models/Group.php#L15-L31


[Bug] Trying to implement OperationsMenuView in mulitiple instance of nodify editor

Hi!  I have some trouble with trying to implement OperationsMenuView in mulitiple instance of nodify editor, the EventManager.RegisterClassHandler not acting right, like this.
https://github.com/miroiu/nodify/assets/37983330/cda4a339-2578-420b-b485-69f092eb74f3
and here is my code.
 I should bind MouseRightButtonUp instead of MouseRightButtonDown, problem solved!


Improved documentation for predefined transitions

Hi,
It is really sad to see a great library that deals with animations and it does not provide an interactive showcase for all of these animations. Right now,iIndividual transitions are just described in a very brief textual way, but that is I guess not enough :(  People want to actually see these transitions in action before they decide to use them in their own project. I know... some of them are used here and there on the documentation page, but not all of them and (more importantly) not in one place.
I also found 2 transitions that weren't mentioned anywhere (scrollThen and scale), so I created a documentation for them, too.
btw. sorry for the way I implemented tabs in predefined.hbs template... I guess it would be much nicer to create nested routes for each of them and not cram averything into one template... but I am just too lazy...

Thanks, this is great.


About evaluation constraint and energy threshold

Hi,
I have two questions about the paper and the code.
1- You say that "We manually examine the OOD images to ensure they do not contain ID category." However, to my understanding, there is no equation in the methodology that requires this constraint. So what is the reason that we can't evaluate on datasets that have common classes with the training dataset?
2- In apply_net code, there is an energy threshold of 8.868 you pass when visualizing and it's used in this line to label OOD.
However, I don't see this value being used if the visualization is 0, and I don't see it in the paper either. Can you explain how do you calculate and use this value? If it's in fact used to label OOD, where in the non-visualization code does this happen? Do we need to modify it if we are evaluating on different datasets? If so, how to tune it?
Thanks a lot in advance!

Thanks for your question.
the reason is the object detection model will output a series of objects in one image, if your image contains both ID and OOD objects, then how are you gonna get the labels of these objects in terms of whether they belong to ID or OOD? Having separate ID and OOD dataset is the common practice in OOD detection literature, which is different from open-set recognition.
the threshold 8.868 is the energy score when the true positive rate of ID samples is at 95%. The model is trained on bdd dataset. You can choose whether you want to visualize the objects or not. I think you need to look at the details of the visualization code.
Thanks,


LTC/BTC pair not working

I've been trying to use the LTC/BTC pair but it doesn't seem to work at all.
Is this just for me, or?

@FarscoreDev Which xchange and with which function ?

I've tried Bittrex, YoBit, Bitfinex, BTCE and Poloniex with the LTC/BTC pair on the .getTicker(CurrencyPair.LTC_BTC). Doesn't work.

@FarscoreDev If I run the ticker example from btce with LTC_BTC it runs without any problems. Can you also try this example ? (xchange.examples.btce.marketdata.BTCETickerExample.java)
Only modification i made was for LTC_BTC
17:21:25.131 [default] [main] DEBUG org.knowm.xchange.ExchangeFactory - Creating default exchange from class name
17:21:25.163 [default] [main] DEBUG org.knowm.xchange.ExchangeFactory - Creating default exchange from class name
17:21:25.939 [default] [main] DEBUG o.knowm.xchange.btce.v3.BTCEExchange - org.knowm.xchange.btce.v3.dto.meta.BTCEMetaData@534df152
17:21:26.038 [default] [main] INFO  o.knowm.xchange.btce.v3.BTCEExchange - Calling Remote Init...
Last: 0.01873
Volume:<PHONE_NUMBER>5
High: 0.01977
Low: 0.01677
Ticker [currencyPair=LTC/BTC, last=0.01873, bid=0.01871, ask=0.01873, high=0.01977, low=0.01677,avg=0.01827, volume=255632.19925, timestamp=1494170496000]


Facing an AttributeError when using BaseSettings with RootModel

Hello,
I'm migrating my application from pydantic v1 to v2 and I'm facing an issue with the BaseSettings, probably a bug.
Steps to reproduce
installing pydantic==2.0.2 and pydantic-settings==2.0.1 in python 3.10.6.
I reproduce the scenario with this python script :
main.py
from typing import List
from uuid import UUID

from pydantic_settings import BaseSettings, SettingsConfigDict
from pydantic import RootModel, BaseModel

class Rule(BaseModel):
    id: UUID
    content: dict

Rules = RootModel[List[Rule]]

class Settings(BaseSettings):
    rules: Rules

    model_config = SettingsConfigDict(env_file=".env", env_file_encoding="utf-8")

settings = Settings()

.env
RULES='[]'

Terminal output
(venv) ~/test-pydantic-v2$ python main.py
Traceback (most recent call last):
  File "/home/glepape/test-pydantic-v2/main.py", line 22, in <module>
    settings = Settings()
  File "/home/glepape/test-pydantic-v2/venv/lib/python3.10/site-packages/pydantic_settings/main.py", line 62, in __init__
    **__pydantic_self__._settings_build_values(
  File "/home/glepape/test-pydantic-v2/venv/lib/python3.10/site-packages/pydantic_settings/main.py", line 150, in _settings_build_values
    return deep_update(*reversed([source() for source in sources]))
  File "/home/glepape/test-pydantic-v2/venv/lib/python3.10/site-packages/pydantic_settings/main.py", line 150, in <listcomp>
    return deep_update(*reversed([source() for source in sources]))
  File "/home/glepape/test-pydantic-v2/venv/lib/python3.10/site-packages/pydantic_settings/sources.py", line 572, in __call__
    data: dict[str, Any] = super().__call__()
  File "/home/glepape/test-pydantic-v2/venv/lib/python3.10/site-packages/pydantic_settings/sources.py", line 245, in __call__
    data[field_key] = self._replace_field_names_case_insensitively(field, field_value)
  File "/home/glepape/test-pydantic-v2/venv/lib/python3.10/site-packages/pydantic_settings/sources.py", line 199, in _replace_field_names_case_insensitively
    for name, value in field_values.items():
AttributeError: 'list' object has no attribute 'items'

With pydantic v1, I was not facing any issues.
A workaround would be to parse the env var by myself but it seems like a bug, please advise.
Selected Assignee: @hramezani

Thanks @hramezani


[lambdarank]Question for param label_gain.

I got a rank task, label in [0,19];
I use the default params of lambdarank, and I got a bad result (much worse than regression);
I tried to change the label_gain to [0...19], and I got a better result (a little better than regression);
why is that?
Is label_gain [0...19] equal to regression?

the default label_gain is 2^i, which is very large for the label [0, 19], and may cause the bad result.
Which metric you used to eval the result? NDCG@k? if k is small, you can reduce the label range [0, k], by merging the small labels (e.g. k=10, you can merge [0, 9] into 0.), or set the same (and small) label gain to these small labels.
it is not equal to regression. the lambdarank loss is: https://github.com/microsoft/LightGBM/blob/master/src/objective/rank_objective.hpp