Feature/change the redis nodejs library

Closes #13
##Proposal

Remove the ioredis lib
Add the node-redis lib
Adapt the average javascript file to use the new library
Format the code.

My discords account is codeDude#4396

Thanks for the PR, @codeDude64 - we''ll take a look :)

@codeDude64 I am curious as to what's going on here... who is @SalvadorJJ?  Because they seem to have made all the commits on your PR.

@codeDude64 I am curious as to what's going on here... who is @SalvadorJJ?  Because they seem to have made all the commits on your PR.

OMG So sorry for that. It's my another account. @SalvadorJJ It's the account that I use to work, I'm a software developer in a company, so I like to separate my personal projects with the work. I totally missed change the email in my local git configuration. I'll fix immediately

@SuzeShardlow I just fixed it. I changed the commits metadata with my correct personal email and username.

@codeDude64 I am curious as to what's going on here... who is @SalvadorJJ?  Because they seem to have made all the commits on your PR.

OMG So sorry for that. It's my another account. @SalvadorJJ It's the account that I use to work, I'm a software developer in a company, so I like to separate my personal projects with the work. I totally missed change the email in my local git configuration. I'll fix immediately

Thanks, no problem, I was just super confused and thought you were collaborating with someone else.  You were collaborating with yourself! 😂


Sourcetype addition Darktrace

Can we get Darktrace logs added as a known source for SC4S, below has details for log source.
App: https://splunkbase.splunk.com/app/3539/ (paywalled)
sourcetypes:

darktrace (default)
darktrace:audit (program darktrace_audit)
darktrace:alert (program: darktrace)

props expects only the json string.
Example events:
Apr 01 14:30:23 darktraceserver1.mydomain.com darktrace_audit {"username":"jsmith","method":"POST","endpoint":"/login","ip":"<IP_ADDRESS>","status":302,"description":"Failed login"}
Apr 01 14:30:54 darktraceserver1.mydomain.com darktrace_audit {"username":"jsmith","method":"POST","endpoint":"/login","ip":"<IP_ADDRESS>","status":302,"description":"Successful login"}
Apr 01 14:30:56 darktraceserver1.mydomain.com darktrace_audit {"username":"jsmith","method":"POST","endpoint":"/devices","ip":"<IP_ADDRESS>","status":400}
Apr 01 14:30:57 darktraceserver1.mydomain.com darktrace_audit {"username":"jsmith","method":"POST","endpoint":"/devices","ip":"<IP_ADDRESS>","status":400}
Apr 01 14:31:17 darktraceserver1.mydomain.com darktrace_audit {"username":"jsmith","method":"PUT","endpoint":"/users/ekaric/settings","ip":"<IP_ADDRESS>","status":200,"description":"User settings changed","additionalInfo":{"Details":"Setting changed","Changes":{"display":{"threatTrayDisplayMode":"threats"}}}}
Apr 01 14:31:20 darktraceserver1.mydomain.com darktrace_audit {"username":"jsmith","method":"PUT","endpoint":"/users/ekaric/settings","ip":"<IP_ADDRESS>","status":200,"description":"User settings changed","additionalInfo":{"Details":"Setting changed","Changes":{"display":{"threatTrayDisplayMode":"incidents"}}}}
Apr 01 14:31:20 darktraceserver1.mydomain.com darktrace_audit {"username":"jsmith","method":"POST","endpoint":"/devices","ip":"<IP_ADDRESS>","status":400}
Apr 01 14:32:27 darktraceserver1.mydomain.com darktrace_audit {"username":"jsmith","method":"POST","endpoint":"ai analyst incident log","ip":"<IP_ADDRESS>","description":"User opened ai analyst incident log from threat tray for cross network activity","usage":true}
Apr 01 14:37:18 darktraceserver1.mydomain.com darktrace_audit {"username":"System","endpoint":"/import/autoupdate","method":"POST","ip":"<IP_ADDRESS>","description":"The system imported model Experimental / Unusual Activity from Critical Network Device"}
Apr 01 14:39:18 darktraceserver1.mydomain.com darktrace {"child_id":null,"last_updated":1648817054.504227,"message":"Unidirectional Traffic on subnet <IP_ADDRESS>/24 is high (22.0%). This means that Darktrace may experience issues tracking devices on your network.\n\nIf you have any issues, please open a ticket using the following link. https://customerportal.darktrace.com/ticket/create","name":"high-unidirectional-traffic-10-12-12-0/24","uuid":"88cf2a43-61b9-4016-b9a6-12c900965f32","ip_address":"<IP_ADDRESS>","alert_name":"High Unidirectional Traffic","acknowledge_timeout":null,"priority":53,"status":"Active","hostname":"td-8294-05","priority_level":"medium","last_updated_status":1648817054.504227,"url":"https://darktraceserver1.serco-na.com/sysstatus?alert=87cf2a43-61b1-4006-b9a6-12c900915f72"}

:tada: This issue has been resolved in version 2.25.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Consistency in plotting functions

We're adding a lot of plotting functionality to this library. For the end user, we want maximum utility and usability. To this end, we should consider a few points:

[ ] Order of arguments. Sometimes it's (ds, ax, var='default_var') sometimes (ax1, ax2, ds). Be consistent #26
[ ] Return the figure and axes. This is nice for the user to then be able to e.g. finetune the xlims, add a title, gridlines etc. It's much simpler than taking all those things as kwargs. Just end the function with return fig, ax #26
[ ] Create axes or take axes? It is nice to make a figure when a user doesn't pass one, and also have the flexibiity for the user to pass their own figure/axes to the function and have the function make a plot on it. See e.g. https://github.com/ioos/gliderpy/blob/def8d7d9d3435461fcb8cd6407cd87a1bf8cb4aa/gliderpy/plotting.py#L47 #27

@MOchiara we can work on this one together. I'll put in an example PR next week showing what I mean refactoring one of  the plotting functions. The goal of this is to make the plots functions as flexible and intuitive as possible, so that others can use this library without needing to understand the internal workings

Nice! Thanks for the suggestions =) I will do it after lunch

Sounds good! I can modify the functions so have the same order of variables and all and we can do the rest next week

Have we addressed all the points in the issue?

lgtm! Resolved in #26 and #27


Fixing bugs

:warning: Validation status: warnings

File
Status
Preview URL
Details

windows-iotcore/tutorials/3DPrint/SetUp.md
:warning:Warning

Details

windows-iotcore/tutorials/3DPrint/SetUp.md

Line 15: [Warning] Invalid file link:(~/tutorials/PrototypeBoards.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.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

windows-iotcore/tutorials/3DPrint/SetUp.md
:white_check_mark:Succeeded

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


Fixed typo for SEO canonical url field key

The canonical url field key in the SEO collection is canonical_url, not canonical alone.

Nice! Hello Bryant! I love your YT videos.

Nice! Hello Bryant! I love your YT videos.

Bryant makes some nice videos, it's true. But if you really want top notch content, check out Bry Ross instead. He's 🔥


Add development.md document with instructions for glide

Adds a development document with instructions on how to use glide with
odo

@containscafeine @kadel Updated!


clarify when Broker.Close should be called

The sarama package documentation doesn't clarify when Broker.Close is expected to be called, and usage in the code doesn't make it clear either.
For example, here's a Client method in the code that sometimes closes the returned broker and sometimes does not:
func (client *client) getOffset(topic string, partitionID int32, time int64) (int64, error) {
	broker, err := client.Leader(topic, partitionID)
	if err != nil {
		return -1, err
	}

	request := &OffsetRequest{}
	if client.conf.Version.IsAtLeast(V0_10_1_0) {
		request.Version = 1
	}
	request.AddBlock(topic, partitionID, time, 1)

	response, err := broker.GetAvailableOffsets(request)
	if err != nil {
		_ = broker.Close()
		return -1, err
	}

	block := response.GetBlock(topic, partitionID)
	if block == nil {
		_ = broker.Close()
		return -1, ErrIncompleteResponse
	}
	if block.Err != ErrNoError {
		return -1, block.Err
	}
	if len(block.Offsets) != 1 {
		return -1, ErrOffsetOutOfRange
	}

	return block.Offsets[0], nil
}

If I call Client.Leader in my code, should I close the returned Broker or not? Given that brokers are shared and cached, it seems maybe not, but the fact that getOffset does close them in some circumstances means that I can't be sure.

@probot-shopify yup, it would indeed be nice to have some kind of response here.

I guess no-one knows. Sigh.

@rogpeppe in the example code you posted it is only closing the Broker in what would be considered protocol error cases where we think the broker has become unusable and so is closed to cause it to be re-opened if a request is attempted to the same broker again.
As a consumer of the Sarama client you wouldn't be expected to close Brokers yourself unless you explicitly wanted to disconnect from every broker and tear everything down

That's useful information, thanks!
Would this be a fair suggestion for a more informative doc comment?
// Close closes the broker resources.
//
// It is not necessary for the client to close a Broker instance
// returned from a Client method - it will be closed when the Client is
// closed.
//
// However, it is OK to close a Broker explicitly anyway (for example to
// invalidate it when the connection is known to be bad). It is also OK
// to close a Broker more than once.
func (b *Broker) Close() error

@rogpeppe yes looks like a reasonable idea to me, apart from the comment "it is also OK to close a Broker more than once" — it is OK to call b.Close() more than once in that it doesn't have side-effects, but the follow-on attempts would return an err of sarama.ErrNotConnected to the caller so you would need to either discard or handle that

Better like this?
// Close closes the broker resources.
//
// It is not necessary for the client to close a Broker instance
// returned from a Client method - it will be closed when the Client is
// closed.
//
// However, it is OK to close a Broker explicitly anyway (for example to
// invalidate it when the connection is known to be bad). It is also OK
// to close a Broker more than once, although a repeated Close will
// return a sarama.ErrNotConnected error.
func (b *Broker) Close() error

Thanks 😊 LGTM


React Native v0.72 no longer includes setAndForwardRef utility

react-native version 0.72.0
@react-native-community/checkbox version 0.5.15

The setAndForwardRef utility was removed from React Native in v0.72.0 (context). Since this package has a dependency on that utility, the app fails at runtime:
error: Error: Unable to resolve module react-native/Libraries/Utilities/setAndForwardRef from<EMAIL_ADDRESS>react-native/Libraries/Utilities/setAndForwardRef could not be found within the project or in these directories:
  node_modules/@react-native-community/checkbox/node_modules
  node_modules
  52 | var IOSCheckBoxNativeComponent_1 = __importDefault(require("./IOSCheckBoxNativeComponent"));
  53 | // @ts-ignore setAndForwardRef type does not exist in @types/react-native
> 54 | var setAndForwardRef_1 = __importDefault(require("react-native/Libraries/Utilities/setAndForwardRef"));
     |                                                   ^
  55 | var CheckBox = /** @class */ (function (_super) {
  56 |     __extends(CheckBox, _super);
  57 |     function CheckBox() {
    at ModuleResolver.resolveDependency (/node_modules/metro/src/node-haste/DependencyGraph/ModuleResolution.js:139:15)
    at DependencyGraph.resolveDependency (/node_modules/metro/src/node-haste/DependencyGraph.js:277:43)
    at Object.resolve (/node_modules/metro/src/lib/transformHelpers.js:169:21)
    at Graph._resolveDependencies (/node_modules/metro/src/DeltaBundler/Graph.js:472:35)
    at Graph._processModule (/node_modules/metro/src/DeltaBundler/Graph.js:260:38)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async Graph._addDependency (/node_modules/metro/src/DeltaBundler/Graph.js:371:20)
    at async Promise.all (index 2)
    at async Graph._processModule (/node_modules/metro/src/DeltaBundler/Graph.js:321:5)
    at async Graph._addDependency (/node_modules/metro/src/DeltaBundler/Graph.js:371:20)

same issue here, to temporarily fix the problem, I create a new setAndForwardRef.js as following:
function setAndForwardRef({ getForwardedRef, setLocalRef }) {
  return function forwardRef(ref) {
    const forwardedRef = getForwardedRef();

    setLocalRef(ref);

    // Forward to user ref prop (if one has been specified)
    if (typeof forwardedRef === 'function') {
      // Handle function-based refs. String-based refs are handled as functions.
      forwardedRef(ref);
    } else if (typeof forwardedRef === 'object' && forwardedRef != null) {
      // Handle createRef-based refs
      forwardedRef.current = ref;
    }
  };
}
export default setAndForwardRef;

and then changes the line 54 above to
var setAndForwardRef_1 = __importDefault(require("./setAndForwardRef"));

Done forget Android...
<EMAIL_ADDRESS>

@react-native-community+checkbox+0.5.15.patch
see

function setAndForwardRef({ getForwardedRef, setLocalRef }) {
return function forwardRef(ref) {
const forwardedRef = getForwardedRef();
setLocalRef(ref);

// Forward to user ref prop (if one has been specified)
if (typeof forwardedRef === 'function') {
  // Handle function-based refs. String-based refs are handled as functions.
  forwardedRef(ref);
} else if (typeof forwardedRef === 'object' && forwardedRef != null) {
  // Handle createRef-based refs
  forwardedRef.current = ref;
}

};
}
export default setAndForwardRef;

Patch based on this:
@react-native-community+checkbox+0.5.15.patch
diff --git<EMAIL_ADDRESS><EMAIL_ADDRESS>index 7b09252..31e2236 100644
---<EMAIL_ADDRESS>+++<EMAIL_ADDRESS>@@ -49,7 +49,7 @@ var nullthrows_1 = __importDefault(require("nullthrows"));
 var react_1 = __importDefault(require("react"));
 var react_native_1 = require("react-native");
 // @ts-ignore setAndForwardRef type does not exist in @types/react-native
-var setAndForwardRef_1 = __importDefault(require("react-native/Libraries/Utilities/setAndForwardRef"));
+var setAndForwardRef_1 = __importDefault(require("./setAndForwardRef"));
 var AndroidCheckBoxNativeComponent_1 = __importDefault(require("./AndroidCheckBoxNativeComponent"));
 /**
  * Renders a boolean input (Android only).
diff --git<EMAIL_ADDRESS><EMAIL_ADDRESS>index 49f7822..f9d0bcb 100644
---<EMAIL_ADDRESS>+++<EMAIL_ADDRESS>@@ -51,7 +51,7 @@ var react_1 = __importDefault(require("react"));
 var react_native_1 = require("react-native");
 var IOSCheckBoxNativeComponent_1 = __importDefault(require("./IOSCheckBoxNativeComponent"));
 // @ts-ignore setAndForwardRef type does not exist in @types/react-native
-var setAndForwardRef_1 = __importDefault(require("react-native/Libraries/Utilities/setAndForwardRef"));
+var setAndForwardRef_1 = __importDefault(require("./setAndForwardRef"));
 var CheckBox = /** @class */ (function (_super) {
     __extends(CheckBox, _super);
     function CheckBox() {
diff --git<EMAIL_ADDRESS><EMAIL_ADDRESS>index 8b767a5..da1f23e 100644
---<EMAIL_ADDRESS>+++<EMAIL_ADDRESS>@@ -52,7 +52,7 @@ var react_1 = __importDefault(require("react"));
 var react_native_1 = require("react-native");
 var WindowsCheckBoxComponent_1 = __importDefault(require("./WindowsCheckBoxComponent"));
 // @ts-ignore setAndForwardRef type does not exist in @types/react-native
-var setAndForwardRef_1 = __importDefault(require("react-native/Libraries/Utilities/setAndForwardRef"));
+var setAndForwardRef_1 = __importDefault(require("./setAndForwardRef"));
 var CheckBox = /** @class */ (function (_super) {
     __extends(CheckBox, _super);
     function CheckBox() {
diff --git<EMAIL_ADDRESS><EMAIL_ADDRESS>new file mode 100644
index 0000000..a27044e
--- /dev/null
+++<EMAIL_ADDRESS>@@ -0,0 +1,18 @@
+function setAndForwardRef ({ getForwardedRef, setLocalRef }) {
+  return function forwardRef(ref) {
+    const forwardedRef = getForwardedRef();
+
+    setLocalRef(ref);
+
+    // Forward to user ref prop (if one has been specified)
+    if (typeof forwardedRef === 'function') {
+      // Handle function-based refs. String-based refs are handled as functions.
+      forwardedRef(ref);
+    } else if (typeof forwardedRef === 'object' && forwardedRef != null) {
+      // Handle createRef-based refs
+      forwardedRef.current = ref;
+    }
+  };
+}
+
+export default setAndForwardRef;

@react-native-community+checkbox+0.5.15.patch
see

This one is with androidx. It's harder to see what's changed

Thanks, 0.5.16 was released


Bug - PDF Splitting File Size

I split a test 11-page PDF file with a file size of 545 KB using the split-pages API endpoint with a pageNumbers value of 1n.
The output is 11 PDF files in a ZIP file however the total size of the ZIP file is 5,399 KB and the uncompressed size of each PDF file is between 516 KB and 519 KB which is nearly the size of the entire original file.
I am using the latest alpha Docker container.

Just added a quick fix, can you try pull the latest alpha version once it uploads in 2-3 mins?

closing and duplicate of 401 really


[Do not merge] Decouple ecommerce tracking from search

Trello: https://trello.com/c/BTt4TmUG/143-generalise-statics-ecommerce-module

I believe that the ecommerce module now lives in the components gem - is it worth closing this pull request?


KeyError: "No object named 'BoundaryROIHeads' found in 'ROI_HEADS' registry!"

When trying to run the demo.py, keep getting registry related problems.
Have tried to modify the code in the detectron2 module, but unsuccessfully.
Is there anyone who encountered this problem? How did you solve it?

Or is there any other way to get alpha channel prediction from one image input?
Please let me know if there is one.

Hi，you need to import bmaskrcnn in demo.py.  Or directly copy the demo.py to projects/BMask-RCNN and import the bmaskrcnn module, then you can use the demo to obtain predictions

@wondervictor could you be so kind to provide with minimal working example?
Have been struggling to make it work on 1 custom image for the last 3 days

Hello, PytaichukBohdan
Are you done with this issue?
If done, how to get the result?

@charlescho64 @PytaichukBohdan Hi all, you need to import files/modules of BMask R-CNN to the demo.py to register the modules first.

@wondervictor  Thank you. I solved it. I am interesting in your working.
other, could you give "cascade_bmask_rcnn_R_101_FPN_1x.yaml" to me because there is weight file but not config file in your site?

@charlescho64 config file for R101 has been updated cascade_bmask_rcnn_R_101_FPN_1x.yaml


[DM-29112] Turn on cachemachine / nublado2

This is for idf related environments, as requested.

Thanks, fixed.


Authentication Middleware

My understanding is that ViteExpress will auto. attach a middlware to the express app that serves up the Vite assets (handles * endpoints).
How would I go about putting a middleware, for say authentication around these routes?
Is the only solution to use app.use(middleware) at the very end of my app and assume that all routes afterwards must follow the same authentication?
In my situation, I have a login page at /login which would have no authentication required, but I need to have authentication for all other pages of the app.
I'm not sure how to go about doing this with ViteExpress.

Here's a bit more context of what I'm struggling with.
I have 5 routes currently.  4 of them must be authenticated, 1 is the login page (no authentication).
I am currently using this setup to get close to what I need, but it's still not great.
app.use(ViteExpress.static()); // Serve vite assets

app.get('/login', unauthenticatedUser); //If the user is authenticated, redirect to home page

 //These routes must be authenticated, but let vite express handle the response
app.get('/', authenticatedUser);
app.get('/trackers', authenticatedUser);
app.get('/analytics', authenticatedUser);
app.get('/settings', authenticatedUser);

function unauthenticatedUser(req: Request, res: Response, next: NextFunction) {
  if (!isAuthenticated) return next();
  else res.redirect('/');
}

function authenticatedUser(req: Request, res: Response, next: NextFunction) {
  if (isAuthenticated) return next();
  else res.redirect('/login');
};

In this scenario, the ViteExpress.static() is only serving the asset files, but not the index.html.
The login endpoint has a middleware that will redirect to / if the user is already logged in, but it will not handle the request if not signed in.  It is "defaulting" to the Vite html middleware to serve the index.html file.
The other four routes have a middleware that will redirect to /login if the user isn't logged in, but they also do not handle the request.  It uses vite-express to serve the index.html.
This is somewhat working for me, but I have the following concerns:

I have to manually specify every single authenticated route, rather than just declaring /login as unauthenticated and using app.use(authenticatedUser) to automatically authenticate all other routes.  If I had a middleware that could force the return of index.html, then I could do this for the /login route.  Right now it's relying on the "catchall" route to return it.
I cannot use express to handle invalid routes.  All routes are being forwarded to the index.html, so I'm not sure how to catch invalid routes and automatically redirect them.

Hi @IronCrystal, from your description I believe that you are very close to achieving what you want.
For me this snipped does the trick:
import express from "express";
import ViteExpress from "vite-express";

const app = express();

app.use(ViteExpress.static());

function isPublicRoute(url: string) {
  return url.match("/login");
}

app.use((req, res, next) => {
  const isLoggedIn = req.headers.cookie?.includes("token");

  if (isLoggedIn) {
    if (req.url.match("/login")) {
      return res.redirect("/");
    } else {
      return next();
    }
  }

  return isPublicRoute(req.url) ? next() : res.redirect("/login");
});

app.post("/login", (req, res) => {
  res.cookie("token", "123456");
  res.redirect("/");
});

ViteExpress.listen(app, 3000, () =>
  console.log("Server is listening on port 3000...")
);

I don't need to specify handler for all the routes, I can just manipulate the isPublicRoute function to specify which URLs should be considered public and otherwise if you are not logged in you are getting redirected. I don't know if you want to display separate HTML files for login page etc. but if you do there is not much more needed to be done to make it work.

If I had a middleware that could force the return of index.html, then I could do this for the /login route. Right now it's relying on the "catchall" route to return it.

Could you elaborate a little bit more about why relying on this pass-through logic is bad in your case? For me it's simple: if you are not allowed to complete the request because you are not authenticated just redirect, otherwise let it through. But maybe this doesn't work in your case and I would like to hear more about it, so I can help you further.

I'm closing this issue from inactivity. As always, feel free to continue it if you have any more questions about this matter.


Add private methods to config interfaces to prevent compilation of cu…

…stom implementations
@jcchavezs pointed out this idea in my coraza config exploration, curious what do you think of it? Unfortunately it doesn't seem to be without compromise, the godoc gets a mysterious line at the bottom

TL'DR' I think all our interfaces should have a doc on them like where not already:
// # Notes
//
//   - This is an interface for decoupling, not third-party implementations. All implementations are in wazero.

I think this and a runtime fail is enough, because doing something odd like this will only work when they are in the same package, and major interfaces like api.Module are not in the same package as the Implementation. IOTW, I think this is clever, but not really solving the whole problem, and has as you notice some awkward side effects. In summary, maybe trying too hard.

Cool, sounds reasonable


Update using-openaps-tools.md

Apologies for not providing actual instructions on how to do what I was suggesting.  It looks like someone's prior PR was also a comment and not meant to be committed to.


Update categories for "Intervention type"

This is linked to #231 but much simpler: to replace

with these categories from gov.uk guidance.
Area-wide traffic management (including by TROs (both permanent and experimental))
Bus priority measures that also enable active travel (for example, bus gates)
Improvements to make an existing walking/cycle route safer.
New junction treatment
New permanent footway
New road crossings
New segregated cycling facility
New shared use (walking and cycling) facilities.
Provision of secure cycle parking facilities
Restriction or reduction of car parking availability
School streets

Additional idea on this: if the concept of type is tied to a drawing tool, that could be the first thing you click on, with drawing tool depending on type (possibly with a "Change drawing tool" for edge cases).

When's the next time we expect anyone to use it?

TBC. Will pick up elsewhere. Not a priority, I just added the idea after comms with @Pete-Y-CS.


[veolx] Add trail function

Summary:
Add trail function as per specs here: https://prestodb.io/docs/current/functions/string.html#trail-string-N-varchar
We return the last N characters of the string up to at most the length of the input string.
Differential Revision: D64379575

In the commit/PR title there is a typo [veolx]. It should be [velox]


Update: make variable names more descriptive

Current coverage is 100% (diff: 100%)

Merging #30 into master will not change coverage

Powered by Codecov. Last update 38fbf44...90280bd

Hi @jordalgo, thank you for your contribution! :+1:
I think this is a desirable change, in order to make it easier to contribute. However, one of my reasons for using short variable names, is to keep the bodies of functions below 517 characters (including indentation), which is the (seemingly arbitrary) limit that determines whether a function will be in-lined by v8 or not.
Many functions have already surpassed this limit anyway, so for those it no longer matters to keep the variable names short. For the functions where the longer variable names cause the length of the body to tipple over the limit however, we may need to reconsider: It makes quite a difference for users of the library.
I'm currently enjoying the stunning Norway nature, and I'm with a really slow internet connection. Once I'll get back I'll have a look at the function lengths and choice of variable names. :)

@Avaq Thanks for the quick response while you are on vacation! (Github should really have a "maintainer out of office" feature 😄 ).
We can definitely discuss more once you are back but my thought on the subject is why not use a nice minifier like uglify if you're trying to gain the V8 performance benefits of small function bodies (it can also do the nice conditional and boolean optimizations for you). You can always supply a min or production version of Fluture in the package while keeping some really clear and understandable source code. (FYI: Uglify requires a transpile down to es5).

Do you think we can close this PR @jordalgo? Again, I appreciate the work, but a lot of it is superseded by #34. I also created a project on this repo for adding a build step in response to your remarks about uglify, and to support rollup tree-shaking.

@Avaq Sure, I'll close. Are you working on that particular project or are you looking for some added resources :) ? Also, if there is going to be a build step to minify, how do you feel about removing some of the v8 optimizations you made in favor of more readable code?


Move common/scripts/docker/startFakeAPI.sh to common/scripts/x86_64/Ubuntu_14.04/startFakeAPI.sh. Use updated path to boot fake API.

https://github.com/Shippable/pm/issues/10115

this is done, closing


x/tools/gopls: improve presentation of package loading failure caused by cgo errors

gopls: v0.6.1
I encountered a repo that uses cgo and requires tools (e.g.pkg-config, ...) and correct configuration to build cgo.
Loading packages took a while and eventually failed because of my incomplete configuration. The PROBLEMS (diagnostics) section is flooded with hundreds of errors related to cgo types

I could find the reasons from the gopls (server) trace channel of vscode. But it would be better to expose these error in the diagnostics page or with other means. Also, consider suppressing all the cgo-related type errors when the root cause is obvious. Finding the root cause out of hundreds of type errors seems impossible.
[Error - 3:28:30 PM] 2020/12/21 15:28:30 initial workspace load failed: go [-e -json -compiled=true -test=true -export=false -deps=true -find=false -- builtin github.com/some/repo/...]: exit status 2: go: downloading golang.org/x/net v0.0.0-20201031054903-ff519b6c9102
go: downloading github.com/stretchr/testify v1.6.1
...
go: downloading golang.org/x/text v0.3.4
# pkg-config --cflags  -- vips vips vips vips vips vips vips vips vips vips vips vips vips vips
pkg-config: exec: "pkg-config": executable file not found in $PATH
# pkg-config --cflags  -- vips vips vips vips vips vips vips vips vips vips vips vips vips vips
pkg-config: exec: "pkg-config": executable file not found in $PATH

Was the go list error shown at the bottom of the screen? If not, that definitely seems like a problem.

No. I don't see any go list error message outside the gopls server trace.
Also,  tried regenerate cgo definitions codelens. There was no visible change or error message, which needs improvement.
[Trace - 16:54:37.207 PM] Sending request 'workspace/executeCommand - (19)'.
Params: {"command":"gopls.regenerate_cgo","arguments":["file:///work/govips/vips/arithmetic.go"]}

[Trace - 16:54:37.209 PM] Received request 'window/workDoneProgress/create - (6)'.
Params: {"token":"6129484611666145821"}

[Trace - 16:54:37.211 PM] Sending response 'window/workDoneProgress/create - (6)' in 1ms.
Result:

[Trace - 16:54:37.211 PM] Received notification '$/progress'.
Params: {"token":"6129484611666145821","value":{"kind":"begin","title":"Regenerate cgo","cancellable":true,"message":"Running..."}}

[Trace - 16:54:37.218 PM] Received notification '$/progress'.
Params: {"token":"6129484611666145821","value":{"kind":"end","message":"gopls.regenerate_cgo: completed"}}

[Trace - 16:54:37.218 PM] Received response 'workspace/executeCommand - (19)' in 10ms.
Result: null

I happened to try github.com/davidbyttow/govips but  we can create a minimal repro for testing.

I have a CL to make the error message pop-up, but this also looks like a regression in #36770. Reopened that issue.


[CBR-468] Add sliding window tx requests

Description
This pr makes the getTransactions endpoint to work on a loop, untill it fetches all wanted results. Untill now, if a TxMeta entry failed to be transformed into a V1.Transaction, the request failed. Now we are more lenient: we ignore such TxMeta. This means we can have less entries than wanted. That's why we keep going back to SQlite for more TxMeta entries untill we have a full page or TxMeta are over.
TODO: needs to add tests.
Linked issue
https://iohk.myjetbrains.com/youtrack/issue/CBR-468
Type of change

[ ] 🐞 Bug fix (non-breaking change which fixes an issue)
[ ] 🛠 New feature (non-breaking change which adds functionality)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)
[ ] 🏭 Refactoring that does not change existing functionality but does improve things like code readability, structure etc
[ ] 🔨 New or improved tests for existing code
[ ] ⛑ git-flow chore (backport, hotfix, etc)

Developer checklist

[ ] I have read the style guide document, and my code follows the code style of this project.
[ ] If my code deals with exceptions, it follows the guidelines.
[ ] I have updated any documentation accordingly, if needed. Documentation changes can be reflected in opening a PR on cardanodocs.com, amending the inline Haddock comments, any relevant README file or one of the document listed in the docs directory.
[ ] CHANGELOG entry has been added and is linked to the correct PR on GitHub.

Testing checklist

[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

QA Steps

Screenshots (if available)

Duplicated by #3943


Improve loading time for Electron apps

I'm using Prisma inside of an Electron app. This is perhaps a not supported/intended use of Prisma. But FYI, when run by Electron, process.cwd() returns "/". So the findSync call scans from the root directory which takes a long time (~60s).
I'm working around this by running a build script that replaces process.cwd() with require('electron').app.getAppPath() in the generated client code:
const dirname = findSync(require('electron').app.getAppPath(), [
    "src/generated/client",
    "generated/client",
], ['d'], ['d'], 1)[0] || __dirname

This cuts down the time it takes to instantiate the Prisma client to ~10ms.
Originally posted by @awohletz in https://github.com/prisma/prisma/issues/8484#issuecomment-969403133

Since process.cwd()  returns the system root in Electron (which is correct behavior), this will search all users's files and therefore trigger multiple access permissions alerts during first start. "Do you want this app to access your photos? Your contacts? etc.". This leads to user confusion ("Why does this app need my photos?"). It would be great if a path could be passed to prisma client directly.

Is there a way to reliably detect Electron so we could differentiate if we use process.cwd() vs. require('electron').app.getAppPath()? Or is require('electron').app.getAppPath() not even always the right answer in Electron context?

Apologies, this is a rather long answer, but using require('electron').app.getAppPath() will not work as expected.
Problem
require('electron').app.getAppPath() is not a viable solution. It would make it impossible to securely expose Prisma to the renderer process during preload, since require('electron').app.getAppPath() is not accessible in a preload script (which you would use to expose select node.js apis and code like prisma to the browser).
We expose prisma via ContextBridge from the main process to the renderer process. This in line with what other uses do and allows for a very convenient, yet secure, use of prisma in Electron (e. g. https://github.com/prisma/prisma/discussions/7889?sort=top#discussioncomment-1618858)
So we can simply use window.prisma.myCollection.create() in the browser window.
What we currently do
Since you cannot use app.getAppPath in a preload script, we expose the app path and some other prisma related stuff like query engine paths via IPC, which we can then read from the preload script.
// main.ts process, where electron.app.getAppPath() is accessible
ipcMain.on('config:get-app-path', (event) => {
  event.returnValue = app.getAppPath();
});
// shortened for brevity
// we also get the query engine path and the db location here, exposed in a similar fashion

// preload script where we can access IPC
import { ipcRenderer } from 'electron';
import { PrismaClient } from '@prisma/client';

const dbPath = ipcRenderer.sendSync('config:get-prisma-db-path');
const qePath = ipcRenderer.sendSync('config:get-prisma-qe-path');

export const prisma = new PrismaClient({
  datasources: {
    db: {
      url: `file:${dbPath}`,
    },
  },
  __internal: {
    engine: {
      // @ts-expect-error
      binaryPath: qePath,
    },
  },
});

Then we use a custom postinstall script that replaces the process.cwd() call with an IPC call that will return the app path.
const replace = require('replace-in-file');
const path = require('path');

const options = {
  files: path.join(__dirname, '../node_modules/', '.prisma', 'client', 'index.js'),
  from: 'findSync(process.cwd()',
  to: `findSync(require("electron").ipcRenderer.sendSync('config:get-app-path')`,
};

const results = replace.sync(options);

Since IPC handlers are done in user land and other people might structure their projects differently, I'm afraid there is no "one-fits-all" solution here. Therefore my suggestion to expose a path config variable. BTW: This very same issue should be applicable to all use cases where you use prisma for a custom CLI (like internal tooling), where process.cwd() would return the path from where the CLI command is called instead of the origin, where the CLI command's code exist.
Suggestion: Expose via param
// preload script
const dbPath = ipcRenderer.sendSync('config:get-prisma-db-path');
const qePath = ipcRenderer.sendSync('config:get-prisma-qe-path');
const appPath = ipcRenderer.sendSync('config:get-app-path');

export const prisma = new PrismaClient({
  datasources: {
    db: {
      url: `file:${dbPath}`,
    },
  },
  __internal: {
    cwd: appPath, // this does not exist
    engine: {
      // @ts-expect-error
      binaryPath: qePath,
    },
  },
});

Detecting electron
To answer your original question, you can detect electron like this:
// https://github.com/cheton/is-electron/blob/master/index.js
// https://github.com/electron/electron/issues/2288
function isElectron() {
    // Renderer process
    if (typeof window !== 'undefined' && typeof window.process === 'object' && window.process.type === 'renderer') {
        return true;
    }

    // Main process
    if (typeof process !== 'undefined' && typeof process.versions === 'object' && !!process.versions.electron) {
        return true;
    }

    // Detect the user agent when the `nodeIntegration` option is set to false
    if (typeof navigator === 'object' && typeof navigator.userAgent === 'string' && navigator.userAgent.indexOf('Electron') >= 0) {
        return true;
    }

    return false;
}

module.exports = isElectron;

There is another, but related, issue:
The generated prisma client defines the search paths in findSync in a OS-specific manner.
Example after using the build script by @awohletz
const dirname = findSync(require('electron').app.getAppPath(), [
    "src/main/prisma-app-client",
    "main/prisma-app-client",
], ['d'], ['d'], 1)[0] || __dirname

This causes an error on windows where the search path would be
const dirname = findSync(require('electron').app.getAppPath(), [
    "src\\main\\prisma-app-client",
    "main\\prisma-app-client",
], ['d'], ['d'], 1)[0] || __dirname

It would be helpful if the matches would be written in a cross-platform conform manner.


the app/chromium browser doesn't beep when there is a hit

My speakers work perfectly for everything else, but when a place is available on the miq app, the app/browser doesn't beep!
I tried using @jooknon's link (see "Add a 'test sound' button #69"thread) and clicked on the beep button, but it doesn't beep most of the time and emits a very short and faint beep at other times.
I am using the 0.10.3 version of the miq app.
What settings do I have to make to let the miq app or browser beep?
Please help! Many thanks!
P.S. I have no it/tech background.

I have the same issue. Already with 10.2 since beginning of this week, now with 10.3. Speakers work on other pages in Chrome, and any other application, but do not beep when a spot becomes available using the MIQ app.

Same issue here. I keep track of when dates have come up via Twitter notifications but I've missed spots because there's no beep. I'm sitting right by the laptop and volume is on max.

The Chromium browser doesn't beep when it is minimised.  It only beeps when it is open on the screen.
Like most other users, I need to use the screen for other applications most of the time.  Therefore, it is not practical for the browser not to beep when minimised.
Is there any possibility for a fix?


Duplicate identifier on tsc

Hello, I updated the dependencies of my project, but now I'm unable to run tsc with both the new updated dependency and the old ones.
I'm getting a lot of duplicate identifiers errors:

Errors Log
node_modules/@girs/adw-1/node_modules/@girs/gtk-4.0/gtk-4.0-ambient.d.ts:3:20 - error TS2300: Duplicate identifier 'Gtk40'.

3     export default Gtk40;
                   ~~~~~

node_modules/@girs/gtk-4.0/gtk-4.0-ambient.d.ts:3:20
  3     export default Gtk40;
                       ~~~~~
  'Gtk40' was also declared here.
node_modules/@girs/gtk-4.0/gtk-4.0-ambient.d.ts:8:20
  8     export default Gtk40;
                       ~~~~~
  and here.

node_modules/@girs/adw-1/node_modules/@girs/gtk-4.0/gtk-4.0-ambient.d.ts:8:20 - error TS2300: Duplicate identifier 'Gtk40'.

8     export default Gtk40;
                   ~~~~~

node_modules/@girs/gtk-4.0/gtk-4.0-ambient.d.ts:3:20
  3     export default Gtk40;
                       ~~~~~
  'Gtk40' was also declared here.
node_modules/@girs/gtk-4.0/gtk-4.0-ambient.d.ts:8:20
  8     export default Gtk40;
                       ~~~~~
  and here.

node_modules/@girs/gio-2.0/gio-2.0-ambient.d.ts:3:20 - error TS2300: Duplicate identifier 'Gio20'.

3     export default Gio20;
                   ~~~~~

node_modules/@girs/gnome-shell/node_modules/@girs/gio-2.0/gio-2.0-ambient.d.ts:3:20
  3     export default Gio20;
                       ~~~~~
  'Gio20' was also declared here.
node_modules/@girs/gnome-shell/node_modules/@girs/gio-2.0/gio-2.0-ambient.d.ts:8:20
  8     export default Gio20;
                       ~~~~~
  and here.

node_modules/@girs/gio-2.0/gio-2.0-ambient.d.ts:8:20 - error TS2300: Duplicate identifier 'Gio20'.

8     export default Gio20;
                   ~~~~~

node_modules/@girs/gnome-shell/node_modules/@girs/gio-2.0/gio-2.0-ambient.d.ts:3:20
  3     export default Gio20;
                       ~~~~~
  'Gio20' was also declared here.
node_modules/@girs/gnome-shell/node_modules/@girs/gio-2.0/gio-2.0-ambient.d.ts:8:20
  8     export default Gio20;
                       ~~~~~
  and here.

node_modules/@girs/gio-2.0/gio-2.0-import.d.ts:5:9 - error TS2717: Subsequent property declarations must have the same type.  Property 'Gio' must be of type 'typeof Gio', but here has type 'typeof Gio'.

5         Gio: typeof Gio20;
        ~~~

node_modules/@girs/gnome-shell/node_modules/@girs/gio-2.0/gio-2.0-import.d.ts:5:9
  5         Gio: typeof Gio20;
            ~~~
  'Gio' was also declared here.

node_modules/@girs/glib-2.0/glib-2.0-ambient.d.ts:3:20 - error TS2300: Duplicate identifier 'GLib20'.

3     export default GLib20;
                   ~~~~~~

node_modules/@girs/gnome-shell/node_modules/@girs/glib-2.0/glib-2.0-ambient.d.ts:3:20
  3     export default GLib20;
                       ~~~~~~
  'GLib20' was also declared here.
node_modules/@girs/gnome-shell/node_modules/@girs/glib-2.0/glib-2.0-ambient.d.ts:8:20
  8     export default GLib20;
                       ~~~~~~
  and here.

node_modules/@girs/glib-2.0/glib-2.0-ambient.d.ts:8:20 - error TS2300: Duplicate identifier 'GLib20'.

8     export default GLib20;
                   ~~~~~~

node_modules/@girs/gnome-shell/node_modules/@girs/glib-2.0/glib-2.0-ambient.d.ts:3:20
  3     export default GLib20;
                       ~~~~~~
  'GLib20' was also declared here.
node_modules/@girs/gnome-shell/node_modules/@girs/glib-2.0/glib-2.0-ambient.d.ts:8:20
  8     export default GLib20;
                       ~~~~~~
  and here.

node_modules/@girs/gnome-shell/node_modules/@girs/gio-2.0/gio-2.0-ambient.d.ts:3:20 - error TS2300: Duplicate identifier 'Gio20'.

3     export default Gio20;
                   ~~~~~

node_modules/@girs/gio-2.0/gio-2.0-ambient.d.ts:3:20
  3     export default Gio20;
                       ~~~~~
  'Gio20' was also declared here.
node_modules/@girs/gio-2.0/gio-2.0-ambient.d.ts:8:20
  8     export default Gio20;
                       ~~~~~
  and here.

node_modules/@girs/gnome-shell/node_modules/@girs/gio-2.0/gio-2.0-ambient.d.ts:8:20 - error TS2300: Duplicate identifier 'Gio20'.

8     export default Gio20;
                   ~~~~~

node_modules/@girs/gio-2.0/gio-2.0-ambient.d.ts:3:20
  3     export default Gio20;
                       ~~~~~
  'Gio20' was also declared here.
node_modules/@girs/gio-2.0/gio-2.0-ambient.d.ts:8:20
  8     export default Gio20;
                       ~~~~~
  and here.

node_modules/@girs/gnome-shell/node_modules/@girs/glib-2.0/glib-2.0-ambient.d.ts:3:20 - error TS2300: Duplicate identifier 'GLib20'.

3     export default GLib20;
                   ~~~~~~

node_modules/@girs/glib-2.0/glib-2.0-ambient.d.ts:3:20
  3     export default GLib20;
                       ~~~~~~
  'GLib20' was also declared here.
node_modules/@girs/glib-2.0/glib-2.0-ambient.d.ts:8:20
  8     export default GLib20;
                       ~~~~~~
  and here.

node_modules/@girs/gnome-shell/node_modules/@girs/glib-2.0/glib-2.0-ambient.d.ts:8:20 - error TS2300: Duplicate identifier 'GLib20'.

8     export default GLib20;
                   ~~~~~~

node_modules/@girs/glib-2.0/glib-2.0-ambient.d.ts:3:20
  3     export default GLib20;
                       ~~~~~~
  'GLib20' was also declared here.
node_modules/@girs/glib-2.0/glib-2.0-ambient.d.ts:8:20
  8     export default GLib20;
                       ~~~~~~
  and here.

node_modules/@girs/gnome-shell/node_modules/@girs/glib-2.0/glib-2.0-import.d.ts:5:9 - error TS2717: Subsequent property declarations must have the same type.  Property 'GLib' must be of type 'typeof GLib', but here has type 'typeof GLib'.

5         GLib: typeof GLib20;
        ~~~~

node_modules/@girs/glib-2.0/glib-2.0-import.d.ts:5:9
  5         GLib: typeof GLib20;
            ~~~~
  'GLib' was also declared here.

node_modules/@girs/gnome-shell/node_modules/@girs/gobject-2.0/gobject-2.0-ambient.d.ts:3:20 - error TS2300: Duplicate identifier 'GObject20'.

3     export default GObject20;
                   ~~~~~~~~~

node_modules/@girs/gobject-2.0/gobject-2.0-ambient.d.ts:3:20
  3     export default GObject20;
                       ~~~~~~~~~
  'GObject20' was also declared here.
node_modules/@girs/gobject-2.0/gobject-2.0-ambient.d.ts:8:20
  8     export default GObject20;
                       ~~~~~~~~~
  and here.

node_modules/@girs/gnome-shell/node_modules/@girs/gobject-2.0/gobject-2.0-ambient.d.ts:8:20 - error TS2300: Duplicate identifier 'GObject20'.

8     export default GObject20;
                   ~~~~~~~~~

node_modules/@girs/gobject-2.0/gobject-2.0-ambient.d.ts:3:20
  3     export default GObject20;
                       ~~~~~~~~~
  'GObject20' was also declared here.
node_modules/@girs/gobject-2.0/gobject-2.0-ambient.d.ts:8:20
  8     export default GObject20;
                       ~~~~~~~~~
  and here.

node_modules/@girs/gnome-shell/node_modules/@girs/gobject-2.0/gobject-2.0-import.d.ts:5:9 - error TS2717: Subsequent property declarations must have the same type.  Property 'GObject' must be of type 'typeof GObject', but here has type 'typeof GObject'.

5         GObject: typeof GObject20;
        ~~~~~~~

node_modules/@girs/gobject-2.0/gobject-2.0-import.d.ts:5:9
  5         GObject: typeof GObject20;
            ~~~~~~~
  'GObject' was also declared here.

node_modules/@girs/gobject-2.0/gobject-2.0-ambient.d.ts:3:20 - error TS2300: Duplicate identifier 'GObject20'.

3     export default GObject20;
                   ~~~~~~~~~

node_modules/@girs/gnome-shell/node_modules/@girs/gobject-2.0/gobject-2.0-ambient.d.ts:3:20
  3     export default GObject20;
                       ~~~~~~~~~
  'GObject20' was also declared here.
node_modules/@girs/gnome-shell/node_modules/@girs/gobject-2.0/gobject-2.0-ambient.d.ts:8:20
  8     export default GObject20;
                       ~~~~~~~~~
  and here.

node_modules/@girs/gobject-2.0/gobject-2.0-ambient.d.ts:8:20 - error TS2300: Duplicate identifier 'GObject20'.

8     export default GObject20;
                   ~~~~~~~~~

node_modules/@girs/gnome-shell/node_modules/@girs/gobject-2.0/gobject-2.0-ambient.d.ts:3:20
  3     export default GObject20;
                       ~~~~~~~~~
  'GObject20' was also declared here.
node_modules/@girs/gnome-shell/node_modules/@girs/gobject-2.0/gobject-2.0-ambient.d.ts:8:20
  8     export default GObject20;
                       ~~~~~~~~~
  and here.

node_modules/@girs/gtk-4.0/gtk-4.0-ambient.d.ts:3:20 - error TS2300: Duplicate identifier 'Gtk40'.

3     export default Gtk40;
                   ~~~~~

node_modules/@girs/adw-1/node_modules/@girs/gtk-4.0/gtk-4.0-ambient.d.ts:3:20
  3     export default Gtk40;
                       ~~~~~
  'Gtk40' was also declared here.
node_modules/@girs/adw-1/node_modules/@girs/gtk-4.0/gtk-4.0-ambient.d.ts:8:20
  8     export default Gtk40;
                       ~~~~~
  and here.

node_modules/@girs/gtk-4.0/gtk-4.0-ambient.d.ts:8:20 - error TS2300: Duplicate identifier 'Gtk40'.

8     export default Gtk40;
                   ~~~~~

node_modules/@girs/adw-1/node_modules/@girs/gtk-4.0/gtk-4.0-ambient.d.ts:3:20
  3     export default Gtk40;
                       ~~~~~
  'Gtk40' was also declared here.
node_modules/@girs/adw-1/node_modules/@girs/gtk-4.0/gtk-4.0-ambient.d.ts:8:20
  8     export default Gtk40;
                       ~~~~~
  and here.

node_modules/@girs/gtk-4.0/gtk-4.0-import.d.ts:5:9 - error TS2717: Subsequent property declarations must have the same type.  Property 'Gtk' must be of type 'typeof Gtk', but here has type 'typeof Gtk'.

5         Gtk: typeof Gtk40;
        ~~~

node_modules/@girs/adw-1/node_modules/@girs/gtk-4.0/gtk-4.0-import.d.ts:5:9
  5         Gtk: typeof Gtk40;
            ~~~
  'Gtk' was also declared here.

node_modules/@girs/gtk-4.0/node_modules/@girs/harfbuzz-0.0/harfbuzz-0.0-ambient.d.ts:3:20 - error TS2300: Duplicate identifier 'HarfBuzz00'.

3     export default HarfBuzz00;
                   ~~~~~~~~~~

node_modules/@girs/harfbuzz-0.0/harfbuzz-0.0-ambient.d.ts:3:20
  3     export default HarfBuzz00;
                       ~~~~~~~~~~
  'HarfBuzz00' was also declared here.
node_modules/@girs/harfbuzz-0.0/harfbuzz-0.0-ambient.d.ts:8:20
  8     export default HarfBuzz00;
                       ~~~~~~~~~~
  and here.

node_modules/@girs/gtk-4.0/node_modules/@girs/harfbuzz-0.0/harfbuzz-0.0-ambient.d.ts:8:20 - error TS2300: Duplicate identifier 'HarfBuzz00'.

8     export default HarfBuzz00;
                   ~~~~~~~~~~

node_modules/@girs/harfbuzz-0.0/harfbuzz-0.0-ambient.d.ts:3:20
  3     export default HarfBuzz00;
                       ~~~~~~~~~~
  'HarfBuzz00' was also declared here.
node_modules/@girs/harfbuzz-0.0/harfbuzz-0.0-ambient.d.ts:8:20
  8     export default HarfBuzz00;
                       ~~~~~~~~~~
  and here.

node_modules/@girs/gtk-4.0/node_modules/@girs/harfbuzz-0.0/harfbuzz-0.0-import.d.ts:5:9 - error TS2717: Subsequent property declarations must have the same type.  Property 'HarfBuzz' must be of type 'typeof HarfBuzz', but here has type 'typeof HarfBuzz'.

5         HarfBuzz: typeof HarfBuzz00;
        ~~~~~~~~

node_modules/@girs/harfbuzz-0.0/harfbuzz-0.0-import.d.ts:5:9
  5         HarfBuzz: typeof HarfBuzz00;
            ~~~~~~~~
  'HarfBuzz' was also declared here.

node_modules/@girs/harfbuzz-0.0/harfbuzz-0.0-ambient.d.ts:3:20 - error TS2300: Duplicate identifier 'HarfBuzz00'.

3     export default HarfBuzz00;
                   ~~~~~~~~~~

node_modules/@girs/gtk-4.0/node_modules/@girs/harfbuzz-0.0/harfbuzz-0.0-ambient.d.ts:3:20
  3     export default HarfBuzz00;
                       ~~~~~~~~~~
  'HarfBuzz00' was also declared here.
node_modules/@girs/gtk-4.0/node_modules/@girs/harfbuzz-0.0/harfbuzz-0.0-ambient.d.ts:8:20
  8     export default HarfBuzz00;
                       ~~~~~~~~~~
  and here.

node_modules/@girs/harfbuzz-0.0/harfbuzz-0.0-ambient.d.ts:8:20 - error TS2300: Duplicate identifier 'HarfBuzz00'.

8     export default HarfBuzz00;
                   ~~~~~~~~~~

node_modules/@girs/gtk-4.0/node_modules/@girs/harfbuzz-0.0/harfbuzz-0.0-ambient.d.ts:3:20
  3     export default HarfBuzz00;
                       ~~~~~~~~~~
  'HarfBuzz00' was also declared here.
node_modules/@girs/gtk-4.0/node_modules/@girs/harfbuzz-0.0/harfbuzz-0.0-ambient.d.ts:8:20
  8     export default HarfBuzz00;
                       ~~~~~~~~~~
  and here.

prefs.ts:10:27 - error TS6133: 'window' is declared but its value is never read.

10     fillPreferencesWindow(window: Adw.PreferencesWindow) {
                           ~~~~~~

Found 26 errors in 16 files.

Errors  Files
   2  node_modules/@girs/adw-1/node_modules/@girs/gtk-4.0/gtk-4.0-ambient.d.ts:3
   2  node_modules/@girs/gio-2.0/gio-2.0-ambient.d.ts:3
   1  node_modules/@girs/gio-2.0/gio-2.0-import.d.ts:5
   2  node_modules/@girs/glib-2.0/glib-2.0-ambient.d.ts:3
   2  node_modules/@girs/gnome-shell/node_modules/@girs/gio-2.0/gio-2.0-ambient.d.ts:3
   2  node_modules/@girs/gnome-shell/node_modules/@girs/glib-2.0/glib-2.0-ambient.d.ts:3
   1  node_modules/@girs/gnome-shell/node_modules/@girs/glib-2.0/glib-2.0-import.d.ts:5
   2  node_modules/@girs/gnome-shell/node_modules/@girs/gobject-2.0/gobject-2.0-ambient.d.ts:3
   1  node_modules/@girs/gnome-shell/node_modules/@girs/gobject-2.0/gobject-2.0-import.d.ts:5
   2  node_modules/@girs/gobject-2.0/gobject-2.0-ambient.d.ts:3
   2  node_modules/@girs/gtk-4.0/gtk-4.0-ambient.d.ts:3
   1  node_modules/@girs/gtk-4.0/gtk-4.0-import.d.ts:5
   2  node_modules/@girs/gtk-4.0/node_modules/@girs/harfbuzz-0.0/harfbuzz-0.0-ambient.d.ts:3
   1  node_modules/@girs/gtk-4.0/node_modules/@girs/harfbuzz-0.0/harfbuzz-0.0-import.d.ts:5
   2  node_modules/@girs/harfbuzz-0.0/harfbuzz-0.0-ambient.d.ts:3
   1  prefs.ts:10

It seems like I'm not the first one this has happened to (#157 ), but I'm not able to solve it with a new project.
I made a very simple stackblitz to reproduce the issue.
Running npm i and then tsc will show the very same errors.

@ljuzig You're mixing incompatible library versions:
   "@girs/gjs": "^4.0.0-beta.16",
   "@girs/gnome-shell": "^46.0.2",

The gjs version already for GNOME 47, whereas your gnome-shell types are still for 46 and use an older version of the gjs types.  Hence you end up with diverging versions of transitive dependencies, meaning you get transitive dependencies twice, hence the duplicate identifiers.
With @girs/gnome-shell you need to use matching versions of all its dependencies.  Ideally, we could express this restriction by narrowing @girs/gnome-shell dependencies, but since the whole things is pretty much in flux none's figured out how to do this yet.
I think we're happy to hear proposal how to prevent this at @girs/gnome-shell.

@swsnr Yes! Using this
"@girs/gnome-shell": "^47.0.0-next.4",
"@girs/gjs": "^4.0.0-beta.16",
<EMAIL_ADDRESS>"2.0.0-4.0.0-beta.16",

is indeed working as expected! You can close this issue if you want!
Anyway, adding something about this in the documentation or in the wiki or anywhere, citing the error would be very beneficial, because looking for the error I couldn't really find anything related to dependencies. I guess this issue could  help already anyone facing this issue in the future.
Thank you!

@ljuzig Please feel free to make a pull request over a the gnome-shell typings repo.
@JumpLink needs to close this issue, I have no permission to do so here.


Align BF16 fix to upstream

This PR reverts previous BF16 FMA fix and cherry-picks changes from upstream.
Related fix from upstream: https://github.com/openai/triton/pull/2162

I've noticed that fix like #316 is already implemented in upstream, so I've cherry-picked it here, so next IFU should be little easier.

Can you split this into 2 commits:

1 with the revert of #316
1 with the cherry-pick of https://github.com/openai/triton/commit/f6cdcf1d771b6a7e6c5129dddd4eda8690f79f27

Thx. Upstream commit now ncluded in the IFU


Broken link in README.md

The link provided is broken: http://d4st.org/ prefixing with www ends up in an GitHub 404 page.

Yes, I'm still working out the details of how to host d4st.org--my initial attempt at redirect to the github pages didn't work.

Hi Eliot,
I have a D4st site ready to host on your domain, based on a ditamap with all content in dita topics and doing a live transform. When I mentioned I would put the content on GitHub, I meant the dita topics and map, not the php that transforms them into responsive html5.
I have been very busy with other work in the past month, so I have not tried pulling individual files from a GitHub repo yet, but that should be doable, I guess. The d4st domain does not need to redirect to GitHub as a site, I don't think. Let me know what your plans are. We can do a Skype session this week if you want. Not today, as I was wiped off my feet by the flu. I should be better tomorrow or Thursday.
Ciao
Jang
Jang F.M. Graat
Smart Information Design
Amsterdam, Netherlands
Cell: +31 646 854 996
http://amsterdamdatascience.nl/
https://www.facebook.com/4everJang
https://twitter.com/4everJang https://nl.linkedin.com/in/4everjang https://github.com/4everJang
https://github.com/4everJang

On 02 May 2017, at 16:16, Eliot Kimber<EMAIL_ADDRESS>wrote:
Yes, I'm still working out the details of how to host d4st.org--my initial attempt at redirect to the github pages didn't work.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/dita-for-small-teams/dita-for-small-teams/issues/2#issuecomment-298648450, or mute the thread https://github.com/notifications/unsubscribe-auth/ADxAQ5RgWtqSnmJ7nEgzLR_ejIEKvNT5ks5r1zqkgaJpZM4NOEjV.

OK. I can set up a new hosting service through Network Solutions unless you prefer a different provider.

Didn’t you already have a hosting service for the domain ? I thought you were using One.com http://one.com/ but maybe you only grabbed the domain name without hosting.

On 02 May 2017, at 18:33, Eliot Kimber<EMAIL_ADDRESS>wrote:
OK. I can set up a new hosting service through Network Solutions unless you prefer a different provider.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/dita-for-small-teams/dita-for-small-teams/issues/2#issuecomment-298688857, or mute the thread https://github.com/notifications/unsubscribe-auth/ADxAQ_DxtvRsQS8hpFGKQ_lFtC2gdIj7ks5r11rbgaJpZM4NOEjV.

No, I've been using Network Solutions as my hosting service (e.g., for contrext.com)

Let me first run a couple of checks to see whether you really need a separate hosting service for the site. I have a couple domains that I can use to do some testing. As the content is supposed to be on GitHub anyway, there might not be any need for a real hosted solution, just an alias might do.
]

On 02 May 2017, at 18:36, Eliot Kimber<EMAIL_ADDRESS>wrote:
No, I've been using Network Solutions as my hosting service (e.g., for contrext.com)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/dita-for-small-teams/dita-for-small-teams/issues/2#issuecomment-298689552, or mute the thread https://github.com/notifications/unsubscribe-auth/ADxAQ0rBjgEeSwUSWkJ-fbFh0sVP-tvLks5r11t0gaJpZM4NOEjV.


Firmware updater is not working

I click "Choose firmware", select the bin file, then I get this:

it wasn't turned on


Close Window on :wq if only one pane

Have my global core.editor in Git set to:
"atom --wait"
So it can be used for commit messages. When using Sublime, it opens a new window (as does Atom) and when I use the :wq command it closes that Sublime window after saving. Atom/Ex-mode closes the pane, not the window. Would it make sense for :wq to close the window if there is only the one pane?

This seems pretty related to #85.

You might want to install the close-after-last-tab package. This will also close the window when you close all tabs by pressing Ctrl-WQ or clicking on the close tab button.
I don't think it would be a good idea to have different behaviors when closing tabs using different methods.

@mainderay very related. As it exists currently, the usage of :q in ex-mode already contradicts vim's implementation of :q, which is to simply alias :quit, which quits the vim application. In ex-mode, rather than quitting Atom, :q closes a single file. In #85, it's noted that the concept of vim's buffers are largely unavailable as it stands, where the :bd/:bdelete (buffer delete) command deletes the currently viewed buffer (e.g. purges the file from memory) leaving the empty tab to remain open. I suppose this comes down to a question of preference and development roadmap. It was a concept I originally found irritating in vim, but ultimately came to love and adore.  Was slightly confused to find it missing in ex-mode.


Incorporate Zeek into SMB troubleshooting docs

The open source network security monitoring and traffic analysis tool, Zeek, includes an SMB analyzer which may be useful for troubleshooting SMB trace files collected with tools like tcpdump.
Invoking Zeek on a pcap is as simple as zeek -Cr example.pcap. By default, Zeek will generate 3 different logs from processing SMB traffic:

smb_cmd.log
smb_files.log
smb_mapping.log

Depending on features used by the SMB traffic in a pcap, Zeek may also generate logs containing information about Kerberos, NTLM, and DCE_RCP transactions.

We hugely appreciate your contribution, feedback, and support to our technical documentation.
We’ve phased out GitHub Issues on this repository as the feedback mechanism for content and have replaced it with a new feedback system. For more information see, Content User Feedback. As part of this rollout, we are migrating your issue where our team will use your comments to improve the documentation experience. Unfortunately, this does mean you won't be able to access this issue after the migration is complete.
All issues will be migrated by Thursday 29th August 2024.
Once again, thank you for your valuable feedback, we hope you’ll continue to contribute using our new feedback system.


View  Member Profile

As a DAO member, I want to see member profiles so that I know who they are, what  their  roles are and what their  reputation is.
See Members: https://www.figma.com/file/F8qFmJv4Vq90zfR9QHnaGw/Dao-UI?node-id=33%3A2497

We have a responsive design for this but not desktop. Should desktop mimic the layout albeit with a wider screen?


Add Tab component and TabbedCard

This relates to #111.  Added generic Tab component which can be used to build other tabbed components.  Built default TabbedCard and put it on the Cards demo page.

Tabs! I think this is our last 'must have' component for any website :tada:.  I only have some queries about splitting the logic out into the Tab component and maybe creating a new Tabs component, just to help make it all a bit more reusable.

I'd have to agree with @jonthomp, this is great news.
I have also found that the current implementation of the tabs on the website always underlines the first tab of the list (Home).
For example when viewing Documentation both the Home and Documentation tabs are underlined.

@jonthomp I added two new components - TabbedContainer and TabbedHeader - these abstract away much of the logic.  As you may not want to render these the same way always, the state is decoupled from these two components.  All you have to do is manage state in whatever component renders both of them, which gives you the freedom to display the tabs and the content itself in two different locations.  All you have to do is include a string variable in state and have a callback in tabbed header to update it.
You can see TabbedCard for a good example of how I used this.  Let me know your thoughts!

@AaronCoplan great! And I really like the separated TabbedContainer/TabbedHeader and so being able to place them separately :+1:
Would you be up for adding a Tabs component as part of this PR too? I imagine that as just TabbedCard without all the Card components?
Also a query on the Tab component. As it doesn't do anything on its own it can't really be used by anyone for putting together more custom Tab setups but perhaps something we just need to make clear in comments/docs? Or is it worth extracting the Nav.Link part of Tabbedheader?

@AaronCoplan yeah exactly, then users can easily throw some ready and working tabs in wherever they like

@jonthomp Here are 2 screenshots of the Tabs component - should I add some padding between the header and the tabs so it doesn't look so smushed?

Awesome and yeah I think a bit of padding will do the trick to finish it off nicely!


ERROR cosmic_applet_battery::app: org.freedesktop.DBus.Error.ServiceUnknown: The name is not activatable resulting in high CPU usage

Hi!
As reported on Matrix, my logs get spammed with the following error after starting Cosmic:
ERROR cosmic_applet_battery::app: org.freedesktop.DBus.Error.ServiceUnknown: The name is not activatable

Logs up to first few occurrences of error: https://paste.sr.ht/~e-v/2af5121c6416599675c94b5d673da63307a802d6
Full configuration in Emacs org-mode format: https://paste.sr.ht/~e-v/684432abb5308d11d4988c4ef406b0eeb37262b0
Hardware: Intel integrated GPU on a Lenovo Thinkpad T470

Thanks a lot for your work!

This is solved by https://github.com/lilyinstarlight/nixos-cosmic/commit/4a7ff8984d9537a8f5e6340b866551b066749fe6
Thanks again! I Will keep this issue open until https://github.com/pop-os/cosmic-applets/pull/356 is merged.


Add GetCookieCollection param Uri: url

I propose this method to give the possibility to retrieve from the browser all the cookie collection using the Uri wish in same cases is really helpful, because I think we are not always supposed to know all the cookies name but we would like to use them

Thanks for your contrib


 Removal of tern:Instrument in favour of tern:System (aligned to ssn:System). More changes were done, see changelog or the diff.
See changelog:
Attribute
Update the skos:definition of the class.
dcterms:type
All classes may have dcterms:type. There should be no cardinality here.
Removing sh:maxCount = 1. Add sh:description.
void:inDataset
Remove sh:minCount = 1 and sh:maxCount = 1
Add description.
tern:attribute
Add description.
tern:hasSimpleValue
Add description.
tern:hasValue
Add description
tern:isAttributeOf
Add description. Remove cardinality.
tern:Count

Class removed in favour of tern:Integer

tern:Integer

Create class
Add class as a subclass of tern:Value

tern:Float

Create class
Add class as a subclass of tern:Value

tern:QuantitativeRange

Class removed since use cases for requiring this is unlikely

tern:Percent

Class removed in favour of using tern:Float with the correct tern:unit from QUDT.

tern:PercentRange

Class removed due to unlikely use

tern:QuantitativeMeasure

Class removed in favour of tern:Float

tern:Plot

This class has been removed

tern:System

Add new property called tern:systemType

tern:Instrument

Class removed

tern:Sampler

SHACL constraints added

tern:System

Added property tern:systemType and dcterms:type

tern:Concept

Class removed in favour of tern:IRI

tern:Observation

sosa:hasResult sh:class is an AND between tern:Value and tern:Result.

tern:Result

No longer a subclass of tern:Value

Diagram overview
See the new class hierarchy of tern:Value and its subclasses.

Are negative counts possible? Should it be positiveInteger ?

Should tern:IRI really be tern:Thing ?

Are negative counts possible? Should it be positiveInteger ?

@dr-shorthair yes I think Integer includes negative values. The value may not always be a result of an observation. Example, a negative integer value may be part of an attribute of a sampler like the configuration value for an electronic device.

Should tern:IRI really be tern:Thing ?

I think tern:IRI is more intuitive here. I understand why you have suggested tern:Thing but I'd like to avoid having to explain to non-OWL people what a Thing is (a resource identified by an IRI).
If everything else is all good @dr-shorthair, I'll merge this by midday. Cheers.


Disabled Indeterminate Checkbox Styling

Bug: Background-color styling for a disabled indeterminate checkbox doesn't match styling for disabled checked checkbox
What is the expected behavior?
Disabled checkboxes all have the same background-color: #b0b0b0 no matter their state
What is the current behavior?
Indeterminate checkboxes retain their themed color
What are the steps to reproduce?
https://stackblitz.com/edit/angular-iscw2w

Expand top level
Click on a secondary level checkbox so top level becomes indeterminate
Click disable button at the bottom

What is the use-case or motivation for changing an existing behavior?
Regression from 6
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
"@angular/core": "^7.1.1",
"@angular/material": "^7.1.1",
"typescript": "~3.1.6"
MacOS High Sierra 10.13.6
Chrome Version 70.0.3538.110
Is there anything else we should know?

@crisbeto Thank you, I'm curious why did this change from 6 to 7? And whats the purpose of keeping the background-color rather then going gray like disabled selected?

@crisbeto Any reason why this changed from 6 to 7?

The reason was that the Material Design spec changed and we are matching it. @RussellAFisher I'm not sure what the reasoning is, but it seems to be deliberate when looking at the spec.

I'm sorry, I just double-checked it with the people that are maintaining the design spec and according to them all disabled checkboxes are supposed to be greyed out. It looks like an incorrect design got uploaded to the site which we ended up implementing.

Thank you for looking into this, much appreciated.

@crisbeto Thank you!


Update Composer dependencies (2022-02-04-00-10)

Visual regression test passed!
View the visual regression test report


What is the requirement of the Python Version?

Python 2.7.x or 3.4 and higher

Closing this issue!!


Website doesn't have a favicon

Easy to add and makes it look better, especially when lined up next to other tabs.
This has worked for me:
https://www.favicon-generator.org

Hey @sselfridge we've added a favicon per your request. Thanks for submitting the issue; feel free to check back any time!


Preprocesador

Codecov Report

Merging #4 (30002e3) into develop (68f4ef2) will increase coverage by 12.11%.
The diff coverage is 93.65%.

@@             Coverage Diff              @@
##           develop       #4       +/-   ##
============================================
+ Coverage    84.04%   96.16%   +12.11%
============================================
  Files            8       16        +8
  Lines          163      547      +384
============================================
+ Hits           137      526      +389
+ Misses          26       21        -5

Impacted Files
Coverage Δ

dataloader/circle_generator.py
83.33% <61.53%> (+57.24%)
:arrow_up:

dataloader/image_generator.py
88.67% <73.91%> (ø)

dataloader/preprocessor.py
94.39% <94.39%> (ø)

dataloader/electric_field.py
100.00% <100.00%> (ø)

dataloader/electric_field_generator.py
96.34% <100.00%> (ø)

dataloader/image.py
100.00% <100.00%> (ø)

...unctional_tests/test_image_generator_functional.py
100.00% <100.00%> (ø)

...s/functional_tests/test_preprocessor_functional.py
100.00% <100.00%> (ø)

tests/tests.py
100.00% <100.00%> (ø)

... and 9 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 68f4ef2...30002e3. Read the comment docs.


support for CycloneV SoC Development Kit

Signed-off-by: mevalver<EMAIL_ADDRESS>cylonev_socdk: add board support

this includes files under ./boards/arm/cyclonev_socdk
this includes files under ./soc/arm/intel_socfpga_std
added a new runner for the DevKit scripts/west_commands/runners/intel_cyclonev.py

modified: runner selection file scripts/west_commands/runners/__init__.py

example: lcd_display: created a lcd_display example for Cyclone V SoC development kit samples/drivers/lcd_cyclonev_socdk

dts: dts files for the cyclone v soc development kit board dts/arm/intel_socfpga_std

i2c: modified driver i2c_dw.c to use with this board

serial: driver: modified driver uart_ns16550.c to work with extended fifo

serial: driver: kconfig: adding extended fifo configuration 128 bytes

usb: driver: usb_dc_dw.c adding lines to support GIC_V1

closing to make a new one cleaner

closing to make a new one cleaner

In the future, please update your pull requests instead. See https://docs.zephyrproject.org/latest/contribute/guidelines.html#contribution-workflow


RAIN WATER SAVING-INTERVIEW QUESTION(FAANG)

AKSHITA has created an elevated roof. She wants to know how much water can she save during rain.
Given n non negative integers representing the elevation map where width of every bar is 1, Find the maximum water that she can save.
Explanation for the Sample input Testcase:

Elevation Map
Input Format
First line contains an integer n. Second line contains n space separated integers representing the elevation map.
Constraints
1 <= N <= 10^6
Output Format
Print a single integer containing the maximum unit of waters she can save.
Sample Input
10
0 2 1 3 0 1 2 1 2 1
Sample Output
5

ADD IN INTERVIEW QUESTION REPO

hey, @akshitagupta15june can you assign this to me?

YES I AM ASSIGNING IT TO U

YES I AM ASSIGNING IT TO U
ADD IN ALGORITHMS FOLDER

Can you please assign this to me?

Greetings , @akshitagupta15june
As a beginner to open source, I would like to contribute,
It would be a pleasure if you could assign me this issue since I have good experience with CPP programming.

-Regards, thanks.


brew autoremove not removing stuff

brew doctor output
Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. Thanks!

Warning: Some installed casks are deprecated or disabled.
You should find replacements for the following casks:
  meld

Warning: Some installed formulae are deprecated or disabled.
You should find replacements for the following formulae:
  juju-wait

Warning: Unbrewed header files were found in /usr/local/include.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae and may need to be deleted.

Unexpected header files:
  /usr/local/include/node/cppgc/common.h
  /usr/local/include/node/js_native_api.h
[so many files]
  /usr/local/include/node/zlib.h

Warning: Homebrew's "sbin" was not found in your PATH but you have installed
formulae that put executables in /opt/homebrew/sbin.
Consider setting your PATH for example like so:
  fish_add_path /opt/homebrew/sbin

Verification

[X] My "brew doctor output" above says Your system is ready to brew. and am still able to reproduce my issue.
[X] I ran brew update twice and am still able to reproduce my issue.
[X] This issue's title and/or description do not reference a single formula e.g. brew install wget. If they do, open an issue at https://github.com/Homebrew/homebrew-core/issues/new/choose instead.

brew config output
HOMEBREW_VERSION: 4.4.0
ORIGIN: https://github.com/Homebrew/brew
HEAD: 84c31175f11860129a9aaed40a13c549625e2db1
Last commit: 7 days ago
Core tap JSON: 08 Oct 06:42 UTC
Core cask tap JSON: 08 Oct 06:42 UTC
HOMEBREW_PREFIX: /opt/homebrew
HOMEBREW_CASK_OPTS: []
HOMEBREW_EDITOR: vim
HOMEBREW_MAKE_JOBS: 8
Homebrew Ruby: 3.3.5 => /opt/homebrew/Library/Homebrew/vendor/portable-ruby/3.3.5/bin/ruby
CPU: octa-core 64-bit arm_blizzard_avalanche
Clang: 16.0.0 build 1600
Git: 2.47.0 => /opt/homebrew/bin/git
Curl: 8.7.1 => /usr/bin/curl
macOS: 15.0.1-arm64
CLT: <IP_ADDRESS>.1.1724870825
Xcode: N/A
Rosetta 2: false

What were you trying to do (and why)?
Trying to remove stale deps.
I ran "brew upgrade" and there were so many, what's "wangle"?
I've checked brew deps --tree --installed | view - and realised that was brought in by watchman.
I removed watchman, but that didn't remove edencommon.
So I removed edencommon, but that didn't remove fb303.
etc. etc.
What happened (include all command output)?

brew remove fbthrift
Uninstalling /opt/homebrew/Cellar/fbthrift/2<IP_ADDRESS>... (881 files, 27.6MB)

brew autoremove
[no output; retval OK]

What did you expect to happen?
for brew to remove the stale deps
Step-by-step reproduction instructions (by running brew commands)
Weirdly, if I `brew install watchman` again, it installs 3 packages (watchman, fb303, edencommon) and reuses the other deps.

When `brew remove watchman` it removes (edencommon,fb303,fbthrift) and doesn't remove the other deps.

It's as if my system state got weird, as if every dependency got marked as "explicitly installed".

P.S. doctor output doesn't say ready to brew maybe doctor output was changed? It does tell me that everything is working fine.

It's as if my system state got weird, as if every dependency got marked as "explicitly installed".

What's the output of brew leaves --installed-on-request? These are the formulae that are not used by other installed formulae, but will never be autoremoved, because you either did brew install for them at some point, or your Homebrew state "got weird" somehow.
Make a list of the formulae above that you're absolutely sure you never manually installed and you don't want on your system at this point, then:
brew tab --no-installed-on-request <list_of_non-manually-installed_formulae>

then a subsequent brew autoremove should do what you intended.

brew leaves --installed-on-request includes weird things like mvfst (QUICK protocol dep of something, I don't even recognise the name, surely I didn't install that manually).
Same for ncdu flex bison and a few others.
brew tab work-around works just fine, thanks!
I was originally wondering if there was some way I could help diagnose how the system got into this state. Lemme know if there's something I can do on that end.

If you don't recall manually installing those formulae, one possibility is that you did manually upgrade them with brew upgrade $formula (or even brew upgrade $(brew ls)) some time in the past because that also marks $formula as installed on request.


enhancement add bvar latency recorder for pk

Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


How do you render blog content in the view?

The tutorial shows how to set up controller to send the entry but does not show how to render the entry content in the view. When I dd() the $entry variable I don't see the fields I created like title and post_body
Could you please provide example of how an entry can be rendered in a blade view?

Okay and then on the contentful side I add a title field: https://www.contentful.com/faq/basics/#how-to-add-titles-to-entries
Thank you @dborsatto


document drpolicy custom resource

Closing older PRs that are not applicable at present (or stale). Reopen if required.


I need help

Describe your problem here.

how do you do this like this example of the image in the source code
Are you modding a build from source or with Lua?
Source
What is your build target?
Windows x64
Did you edit anything in this build? If so, mention or summarize your changes.
no

borderless: true

That's it?

So you wanted to remove the windows border.

yea

sonic.exe fans when they're asked to make a normal program that doesn't install 459,639,559,537,966,046 different types of malware and send nuclear bombs to your doorstep (they cannot resist the urge)
anyway, i know how to actually make the window borderless but unless you give me an actually valid reason to need it that's not "funny funny ruin ur pc prank!!!" or something, i'm not giving it.
i seriously cannot see why any innocent mod would require this functionality, considering any reasonably mature programmer could find this out with a few google searches.
if you're gonna make a mod where the window border goes away and it moves across your screen spamming something and maybe shutting down your pc or changing any computer settings, DON'T.
genuine flixel users such as myself have been upset with this nonsense in the official haxe programming language's server, as with enough of these silly little "mechanics" could actually get either flixel or haxe's frameworks blocked as a real threat considering all it might take is one guy saying he blocked the frameworks to "protect" people.
this stuff ruins fnf, it ruins flixel, and it ruins haxe.
please grow up and make a normal mod of a game that doesn't mess with your computer.
thank you.

sonic.exe fans when they're asked to make a normal program that doesn't install 459,639,559,537,966,046 different types of malware and send nuclear bombs to your doorstep (they cannot resist the urge)
anyway, i know how to actually make the window borderless but unless you give me an actually valid reason to need it that's not "funny funny ruin ur pc prank!!!" or something, i'm not giving it.
i seriously cannot see why any innocent mod would require this functionality, considering any reasonably mature programmer could find this out with a few google searches.
if you're gonna make a mod where the window border goes away and it moves across your screen spamming something and maybe shutting down your pc or changing any computer settings, DON'T. genuine flixel users such as myself have been upset with this nonsense in the official haxe programming language's server, as with enough of these silly little "mechanics" could actually get either flixel or haxe's frameworks blocked as a real threat considering all it might take is one guy saying he blocked the frameworks to "protect" people.
this stuff ruins fnf, it ruins flixel, and it ruins haxe. please grow up and make a normal mod of a game that doesn't mess with your computer. thank you.

dude to only my knowledge 2 mods have actually messed with your computer
-unfairness in an old dnb 2.5 build, restarts your computer
-exploitation, expunged escapes the window
-that fatal error mod thingy idk

sonic.exe fans when they're asked to make a normal program that doesn't install 459,639,559,537,966,046 different types of malware and send nuclear bombs to your doorstep (they cannot resist the urge)
anyway, i know how to actually make the window borderless but unless you give me an actually valid reason to need it that's not "funny funny ruin ur pc prank!!!" or something, i'm not giving it.
i seriously cannot see why any innocent mod would require this functionality, considering any reasonably mature programmer could find this out with a few google searches.
if you're gonna make a mod where the window border goes away and it moves across your screen spamming something and maybe shutting down your pc or changing any computer settings, DON'T. genuine flixel users such as myself have been upset with this nonsense in the official haxe programming language's server, as with enough of these silly little "mechanics" could actually get either flixel or haxe's frameworks blocked as a real threat considering all it might take is one guy saying he blocked the frameworks to "protect" people.
this stuff ruins fnf, it ruins flixel, and it ruins haxe. please grow up and make a normal mod of a game that doesn't mess with your computer. thank you.

dude to only my knowledge 2 mods have actually messed with your computer
-unfairness in an old dnb 2.5 build, restarts your computer -exploitation, expunged escapes the window -that fatal error mod thingy idk

Did you forget about No More Innocence?

sonic.exe fans when they're asked to make a normal program that doesn't install 459,639,559,537,966,046 different types of malware and send nuclear bombs to your doorstep (they cannot resist the urge)
anyway, i know how to actually make the window borderless but unless you give me an actually valid reason to need it that's not "funny funny ruin ur pc prank!!!" or something, i'm not giving it.
i seriously cannot see why any innocent mod would require this functionality, considering any reasonably mature programmer could find this out with a few google searches.
if you're gonna make a mod where the window border goes away and it moves across your screen spamming something and maybe shutting down your pc or changing any computer settings, DON'T. genuine flixel users such as myself have been upset with this nonsense in the official haxe programming language's server, as with enough of these silly little "mechanics" could actually get either flixel or haxe's frameworks blocked as a real threat considering all it might take is one guy saying he blocked the frameworks to "protect" people.
this stuff ruins fnf, it ruins flixel, and it ruins haxe. please grow up and make a normal mod of a game that doesn't mess with your computer. thank you.

dude to only my knowledge 2 mods have actually messed with your computer
-unfairness in an old dnb 2.5 build, restarts your computer -exploitation, expunged escapes the window -that fatal error mod thingy idk

Did you forget about No More Innocence?

nmi was so bad it got pinned in the official flixel chat as what NOT to do lmaooo

import openfl.Lib;

override function create()
{
     // yoursexy code
     super.create()

      Lib.current.stage.window.borderless = true; // set border less to true
}```

you can do the same thing in update or with runHaxeCode in lua


Update the paginator UI

Update the paginator ui
Ensure that its possible to completely create paginator that is outside the datatable

It probably should be possible to use a separate plugin for a paginator. It might simplify things if react-datatable was concerned only about displaying data. As a user you can model more complicated behavior through configuration.


bug: Composer .on('message') listening problem

Problem Description
Composer .on('message') monitoring will cause the subsequent Composer middleware processing to fail to execute.
Version
Deno 1.36.4<EMAIL_ADDRESS>Example code
const composerA = new Composer()
composerA.command('A', ctx => {
  console.log('composerA command')
  ctx.reply('composerA command')
})

// This will cause other composers to be unable to handle it.
composerA.on('message', ctx => {
  console.log('composerA message')
  ctx.reply('composerA message')
})

const composerB = new Composer()
composerB.command('B', ctx => {
  console.log('composerB command')
  ctx.reply('composerB command')
})
composerB.on('message', ctx => {
  console.log('composerB message')
  ctx.reply('composerB message')
})

const composer = new Composer()
composer
  .use(composerA)
  .use(composerB)

const bot = new Bot('...')
bot.use(composer)
bot.start()

// send '/A' get 'composerA command'
// send '123' get 'composerA message'
// send '/B' get 'composerA message'

Congrats, you just discovered a very powerful concept called middleware. It lets you combine your listeners in very flexible ways. Be sure to open the documentation. https://grammy.dev/guide/middleware


Booster should return "stuck" (not "aborted") when no rules apply

Currently, booster-dev returns "aborted" on several integration test inputs where no rules apply, for example:

test-questionmark-vars/response-one-ques.booster-dev
test-compute-ceil/response-evaluate-g.booster-dev

and perhaps others. If these test had been ran with kore-rpc-booster, we would get "stuck", since we would pass the result through Kore too. We need to return "aborted" from Booster directly, thus saving an attempt to apply rules in Kore.

It turns out, test-compute-ceil/response-evaluate-g.booster-dev aborts due to rewriteStep throwing NoRulesForTerm:
[Aborts] No rules for term <generatedTop>(
    <k>(kseq(_%Int_("12", "5"), dotk())),
    <generatedCounter>("0")

Indeed, the booster does not have a rule for _%Int_. We could of course evaluate this term is we call simplify on this config.


UnboundLocalError: local variable 'EnthalpyPresent' referenced before assignment

Have been running for a couple of days now.
The following error was thrown after not changing the ventilation for a longer period. Then changing the ventilation using the remote control and after a few hours i used home assistant to change the ventilation again. I will try to reproduce if possible but thought it would be best to also post it here.
Traceback (most recent call last):
  File "whr930.py", line 916, in <module>
    sys.exit(main())
  File "whr930.py", line 903, in main
    get_status()
  File "whr930.py", line 777, in get_status
    EnthalpyPresent,
UnboundLocalError: local variable 'EnthalpyPresent' referenced before assignment

Edit:
@Mosibi Was able to reproduce the issue. It happens when the remote control is used to set the WHR 930 into a timed mode of 15 minutes on level 3. When the script then tries to retrieve the current state it crashes with the above error.

I think this one is fixed by https://github.com/Mosibi/whr_930/commit/94e5a07f3b953a0122eb06977efa8a8b62342bf7


Check user's role on cis2 login

Users must have certain roles to be able to access the system. If they do not have an appropriate role they will get the page below. The list of valid roles is still naively implemented, we will refine that as we develop authorisation flows to match the designs.

Argh. Looks like an intermittent error. Replicating it locally with the same seed.


Fixed #28393 -- Added a helpful exception for invalid AutoField/IntegerField values.

When a large model is updated and saved with invalid values, it produces a traceback deep within the ORM, with no clue which field assignment caused the error. Developers are faced with tracebacks like:
  File "/Users/diederik/Sites/virtualenvs/test/lib/python3.6/site-packages/django/db/models/base.py", line 953, in _do_update
    return filtered._update(values) > 0
  File "/Users/diederik/Sites/virtualenvs/test/lib/python3.6/site-packages/django/db/models/query.py", line 661, in _update
    return query.get_compiler(self.db).execute_sql(CURSOR)
  File "/Users/diederik/Sites/virtualenvs/test/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1191, in execute_sql
    cursor = super(SQLUpdateCompiler, self).execute_sql(result_type)
  File "/Users/diederik/Sites/virtualenvs/test/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 863, in execute_sql
    sql, params = self.as_sql()
  File "/Users/diederik/Sites/virtualenvs/test/lib/python3.6/site-packages/django/db/models/sql/compiler.py", line 1157, in as_sql
    val = field.get_db_prep_save(val, connection=self.connection)
  File "/Users/diederik/Sites/virtualenvs/test/lib/python3.6/site-packages/django/db/models/fields/__init__.py", line 766, in get_db_prep_save
    prepared=False)
  File "/Users/diederik/Sites/virtualenvs/test/lib/python3.6/site-packages/django/db/models/fields/__init__.py", line 758, in get_db_prep_value
    value = self.get_prep_value(value)
  File "/Users/diederik/Sites/virtualenvs/test/lib/python3.6/site-packages/django/db/models/fields/__init__.py", line 1853, in get_prep_value
    self.name, repr(value)
   TypeError: int() argument must be a string, a bytes-like object or a number, not 'tuple'

This change displays the field name which makes spotting errors a lot easier.
For example, it shows:
TypeError: remote_id: expected string or a number, not<PHONE_NUMBER>7,)

Trac issue: https://code.djangoproject.com/ticket/28393

My apologies for not noticing the test issues; I ran a plain tox session which apparently skips database tests.
I've fixed the test issues now by reraising the original exception type, and using the raise .. from .. syntax.
I'm a bit in a doubt whether the TypeError/ValueError should be combined to a single type. It's tempting, yet I don't have a clear picture of the consequences that might hold for other projects. It could also introduce new inconsistencies with other field types that don't have such try..catch check. My main aim here is to ease debugging, not to complicate matters :-)

Would it not be possible to do the following to keep it DRY?
try:
   ...
except (TypeError, ValueError) as e:
    raise e.__class__(...) from e

Perhaps a little magic, but saves on the copy-paste...

Good point @pope1ni, I've updated the code. The magic can be counter-balanced with a small comment here I believe.

Looks okay, but new tests are also required. Uncheck "Patch needs improvement" on the ticket when completed.

While you're at it, can you do the same for floatin FloatField.get_prep_value()?
I also noticed that, while there are no conflicts with the base branch, that this pull request branch is "1204 commits behind django:master". That is very far behind and the repository has had many significant changes including removal of support for Python 2. Perhaps it is worth rebasing against upstream master?

@pope1ni, I've updated the FloatField too and rebased on master.
@timgraham, before I continue writing extra tests, I wonder about one thing: The other field types (DateField, BooleanField, DecimalField etc..) all use to_python() from get_prep_value(). Their code is suspiciously similar to my proposed change, except that they raise a ValidationError instead of a TypeError/ValueError.
Would it make sense to port the IntegerField, FloatField and AutoField to this construct instead? It would introduce a backwards incompatibility change however, which my current solution does not.

I think backwards compatibility is important. I know I've written code that catches these exceptions.

@vdboor Are you still interested in pursuing this PR?

Superseded by #11622.


Keep getting completed message on book pages after reaching mastery level

Once you have successful reached the mastery score, you get a pop-up telling you that you've completed the page. This pops up again every time you successfully complete another part of the question on the page, which is annoying

The popups were being triggered depending on the percentage completeness of the gameboard, which was calculated using the number of passed/perfect questions / total questions on the board. This issue resulted from reaching the passmark, and the gameboard containing only one question.


Not working with videojs player v5.00

Videojs player V5.00 was officially released 9 days ago I believer.
I am going to mark this issue as enhancement. Unfortunately we currently have our hands full with new functionalities and it may take a month or two before we can give support for V5.00.
Would you be open to do it? If not we will do it but once we have implemented midroll and postroll ads. It is just more important for us right now.

I can do this. How would you recommend it to be done?
The code might diverge due to ES6 enhancements.

I'm looking forward to this.

kahwee's changes does help a bit but still have issues - the progress bar during the advert is not working even though on the right it shows the correct advert duration and the "rolling circle" in the center of the video doesn't hide as it should when the advert is loaded and running

+1

+1

This should be working now for videojs 5x. So will close this issue


coerce rowsAffected and insertId to concrete values

The fact that they come over the wire as null is a side effect of the protojson encoding, when these fields are uint64 and can't actually be null. An empty value should be treated as an equivalent "empty" value when inflating.
The side effect of this is making rowsAffected and lastId not nullable anymore on ExecutedQuery.
The slightly weird part about this is both rowsAffected and lastId are uint64 (a bigint), but rowsAffected is being lossily coerced into a JavaScript number, while lastId is left as a string.
I don't know if we should address being able to coerce things into a BigInt when it's applicable or not. I don't know how JavaScript ecosystem works.
Fixes #88

In what cases can we not just use BigInt? Seems pretty ubiquitous? https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt
I wouldn't want to do this in this PR, but I think a larger version bump and if a BigInt is available, it seems we should just generically use this for all u?int64s automatically.

I've opened up #90 with a stab at just simply us using bigint types where applicable.


improve schema logic

extract the schema from the builder
all schema values should contain information where they came from:

let schema = {
    name,
    commands: [{
     value: '', // ... whatever was the value before
     generator: 'prettier'
    }],
  }

irellevant


Disallow default Chargeback Rate(s) deletion

https://bugzilla.redhat.com/show_bug.cgi?id=1206285

@h-kataria @dclarizio Please review.

@GregP Please rebase against current upstream/master as I am getting this exception which I think has been fixed:
[----] F, [2015-06-19T13:06:08.824947 #3566:11df988] FATAL -- : Error caught: [NoMethodError] undefined method `sort_by!' for #<ChargebackRateDetail::ActiveRecord_Associations_CollectionProxy:0x0000000699b1b8>
/home/dclarizio/.rvm/gems/ruby-2.2.2/bundler/gems/rails-5ade2acc8607/activerecord/lib/active_record/relation/delegation.rb:136:in `method_missing'
/home/dclarizio/.rvm/gems/ruby-2.2.2/bundler/gems/rails-5ade2acc8607/activerecord/lib/active_record/relation/delegation.rb:99:in `method_missing'
/home/dclarizio/dev/manageiq/vmdb/app/controllers/chargeback_controller.rb:280:in `cb_rate_show'
/home/dclarizio/dev/manageiq/vmdb/app/controllers/chargeback_controller.rb:457:in `get_node_info'
/home/dclarizio/dev/manageiq/vmdb/app/controllers/chargeback_controller.rb:42:in `tree_select'

@dclarizio Rebased and pushed, please verify.

@dclarizio @martinpovolny @h-kataria Please review

@h-kataria @dclarizio

@GregP Any chance of adding specs for this?

@h-kataria @dclarizio Hapreet, working on the spec, can you verify code changes for now.

@GregP Please address non-line length rubocop issue.  Thx, Dan

@dclarizio @h-kataria Ready for review.

@GregP verified fix in UI are you working on adding spec tests for this? Discussing with @dclarizio if the rates that are already assigned should be allowed to delete, not sure why we can not delete default rates but can edit them. Also maybe we should add "default" column to list view so user can tell whether rate is default or not.

Closing this PR as decision has been made in the BZ to solve this another way.