TypeError: Cannot read property 'call' of undefined

Do you want to request a feature or report a bug?
A bug

What is the current behavior?
Uncatched error pops up if some resource is not found in array.
try block have no catch block, only finally. That leads to interruption of execution of webpack client-side script.
If the current behavior is a bug, please provide the steps to reproduce.
Honestly, I don't know how to reproduce it. I suppose it should not happen if build were correct. But I had this problem when build happened with no error, but some resources were missing in generated scripts.
I posted a simple example of same situation without webpack here https://github.com/webpack/webpack/issues/7212#issuecomment-387354884
Please check it out.

What is the expected behavior?
Execution of script continues after finally block.
If this is a feature request, what is motivation or use case for changing the behavior?
Please mention other relevant information such as the browser version, Node.js version, webpack version, and Operating System.
webpack 3.10 and as I see - should 4.7 have this problem too
node  v9.3.0
Google Chrome Version 66.0.3359.139 (Official Build) (64-bit)
Detailed description
webpack/lib/MainTemplate.js have an issue leading to that error:
TypeError: Cannot read property 'call' of undefined
    at __webpack_require__ (main-b872855452d328d9c1c2.js:formatted:110)
    at SomePage (Some.js:345)
    at beginWork (main-b872855452d328d9c1c2.js:formatted:7973)
    ...etc

It looks like some chunks are unavailable, but the problem is in try block. It doesn't work as expected:
/******/ 		// Execute the module function
/******/ 		var threw = true;
/******/ 		try {
/******/ 			modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/ 			threw = false;
/******/ 		} finally {
/******/ 			if(threw) delete installedModules[moduleId];
/******/ 		}

It have no catch block, so it can't catch an error. That's why an error pops up and application crashes.
It looks like someone forgot to add catch block after try. Maybe because it would do nothing - an empty catch block looks useless. But it does important work - it catches an error.
Solution
To fix it one just need to edit webpack/lib/MainTemplate.js starting with line 189:
								"// Execute the module function",
								"var threw = true;",
								"try {",
								Template.indent([
									`modules[moduleId].call(module.exports, module, module.exports, ${this.renderRequireFunctionForModule(
										hash,
										chunk,
										"moduleId"
									)});`,
									"threw = false;"
								]),
+								"} catch (e) {",
								"} finally {",
								Template.indent([
									"if(threw) delete installedModules[moduleId];"
								]),
								"}"

or in v3.10 starting from line 69:
					"// Execute the module function",
					"var threw = true;",
					"try {",
					this.indent([
						`modules[moduleId].call(module.exports, module, module.exports, ${this.renderRequireFunctionForModule(hash, chunk, "moduleId")});`,
						"threw = false;"
					]),
+					"} catch (e) {",
					"} finally {",
					this.indent([
						"if(threw) delete installedModules[moduleId];"
					]),
					"}"

Updated description. Problem persists in 4.7 https://github.com/webpack/webpack/blob/v4.7.0/lib/MainTemplate.js#L200

The lack of catch block is intentional. If you need to catch the error you must wrap your require call by try/catch.

Without catch block an error breaks through
Examples
withCatch.js
let a = [];

console.log('Start');
try {
    a.call();
} catch (e) {
} finally {
    console.log ('Finally executed');
}
console.log('Successful end');

output
$ node withCatch.js
Start
Finally executed
Successful end

withoutCatch.js
let a = [];

console.log('Start');
try {
    a.call();
} finally {
    console.log ('Finally executed');
}
console.log('Successful end');

output
$ node withoutCatch.js
Start
Finally executed
C:\Users\igors\Desktop\дока\withoutCatch.js:5
  a.call();
    ^

TypeError: a.call is not a function
    at Object.<anonymous> (C:\Users\igors\Desktop\дока\withoutCatch.js:5:5)
    at Module._compile (module.js:660:30)
    at Object.Module._extensions..js (module.js:671:10)
    at Module.load (module.js:573:32)
    at tryModuleLoad (module.js:513:12)
    at Function.Module._load (module.js:505:3)
    at Function.Module.runMain (module.js:701:10)
    at startup (bootstrap_node.js:194:16)
    at bootstrap_node.js:618:3

The second example ends up with an error and no "Successful end" in output.

Finally I updated description according template. :D

+1

@igordata What I am saying is that it is intended that the error is not catch:

we want the exception to be thrown
we don't want the exception to be catch by webpack

If you need to catch it, use a try/catch block:
try {
  dep = require("something-missing")
} catch (e) {
  //
}

Why then do you have this try and finally blocks and variable threw and check of that variable? o_O

Because finally is required to de-reference the module if the require call failed.
Considering the following file:
// silly.js
// NOTE: I admit, this is silly
let luckToken = Math.random()
if (luckToken < .5) throw new Error()
module.exports = luckToken

And this one:
let token
let attempt = 0
while (!token) {
  try {
    attempt++
    token = require("./silly")
  } catch (e) {
    // not this time
    console.log(`${attempt}: failed to get the luck token`)
  }
}

Thanks to the finally statement, webpack forgets about silly.js and will try to evaluate this module until it succeeds.
The above example is really naive but we could imagine something more real:

my app uses a custom profiler that is heavy to load so it needs to be lazy-loaded when needed
the profiler must be decorated before used

try {
  // Try to decorate the profiler if it is already loaded
  require("./enhance-profiler")
} catch (e) {
  // Looks like it was not…
  require("custom-profiler")(/* some options */)
  require("./enhance-profiler")
}

OK, got it.
The problem is I have no optional dependencies and I don't know what makes this error to appear.
And if I add this catch block - everything works fine and I don't see any missing resources. =(
Maybe that's an issue of next.js, or just chunks are assembled in a wrong way...

I'm closing this issue for now. Please open a new one with an example to reproduce the error if the problem is still there.

Can you please take a look at my question on StackOverflow? The error I get is the same as described above, but I can't tell if it's related. The issue can be reproduces using this repo.

Uncaught TypeError: Cannot read property 'call' of undefined
at d (runtime.js:1)
at Module. (app.js:1)
at Module. (app.js:1)
at d (runtime.js:1)
at Object. (app.js:1)
at d (runtime.js:1)
at r (runtime.js:1)
at Array.n [as push] (runtime.js:1)
at app.js:1
Browser - Chrome
Nuxt version -<EMAIL_ADDRESS>Webpack version -<EMAIL_ADDRESS>


explore tables through webview

PR has been open for 13 days now, its has multiple conflicts.
Please reopen when its ready to review again. And add a description.


New look and feel, adding labels and possibility to use checkboxes, replaced dl elements with tables, renamed options

Configuration portal got new look and feel
Added a very small CSS framework based on mincss
Added the possibility of using labels. A labels will receive the text of the corresponding placeholder
Added option for label placement. 0 - label not displayed, 1 - label displayed before field (default), 2 - label displayed after field. Latter is useful for checkboxes
Scan link was moved to the top
All HTML  description list elements were replaced by tables
Removed  before each form parameter, CSS will take care of the spacing and custom HTML injection will be more useful
Renamed Configure WiFi option to Configuration as WiFi is not the only option that can be configured
Renamed Info option to WiFi Information as the original text was too short and looked strange
Reanmed Close configuration portal option as it was too long and was displayed in two lines on smaller devices

Will work on it a bit, add a complete example and reopen

Cool. :)
On 1 May 2016 19:58, "battika"<EMAIL_ADDRESS>wrote:

Will work on it a bit, add a complete example and reopen
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/kentaylor/WiFiManager/pull/1#issuecomment-216032098


Add unit tests for OccluderInstance3D.

This PR adds unit tests for the OccluderInstance3D node, specifically the bake_scene and bake_single_node functions.
Partially "fixes" #43440

This latest commit should fix the style issues ... I don't think I can run the checks myself but afterword if they succeed I can squash the commits.


ChromeOS wiped my user, now enter-chroot fails trying to mount something

name: jessie
encrypted: yes, locked
Unmounting /media/removable/SD Card/jessie...
name: lost+found
encrypted: no
Entering /media/removable/SD Card/lost+found...
/usr/local/bin/enter-chroot: 511: cannot create /run/crouton/media/removable/SD Card/lost+found/etc/crouton/name: Directory nonexistent
Unmounting /media/removable/SD Card/lost+found...

I'm on an Asus C201, with my jessie chroot on the SD card.  ChromeOS was playing up (never getting a prompt in crosh) and there were updates pending so I allowed it to "restart to install updates".  It installed an update to allow me to run Android apps (which I already do) then told me the update had failed and I'd need to link my account again.
When I relinked my account and tried enter-chroot (initially via a script I've got because of a known issue with /dev/dri/card0 and /dev/dri/card1) I got the message mount: mount(2) failed: No such file or directory.  I suspect it's trying to mount my old downloads folder (which ChromeOS appears to have wiped) but the errors relating to lost+found in the output of edit-chroot seem strange.

@ChrisHodgesUK,
When you install a chroot on external media, crouton's '-p' option is used to specify the 'parent' directory of where the /bin & /chroots directories will be created. It looks like your 'jessie' chroot might not be in a /chroots directory but rather in the 'root' directory so that could be at least part of the problem.
When you use edit-chroot or any of the start* scripts you'll need to use the '-c' option to enter the directory of where the chroot is actually located , not the parent directory.
Your script to launch may need to be tweaked or not used at all.
The '/dev/dri/card0 and /dev/dri/card1' issues has been fixed and merged so as long as your chroot has been updated since then you shouldn't need the script.
Hope this helps,
-DennisL

My bash debugging isn't up to much but I've narrowed it down a bit. The problem seems to appear in /usr/local/bin/mount-chroot around/just after line 500.  It appears to be able to decrypt the chroot OK (I don't get "Failed to decrypt $NAME" unless my passphrase is wrong). But I do get "Failed to mount $NAME" a few lines later.
If I use echo_tty to output som of the variables just before the attempt to mount, I get:
$CHROOTSRC = /media/removable/SD Card/jessie which looks right
and
$CHROOT = /run/crouton/media/removable/SD Card/jessie which exists and appears empty -- as I'd expect from a mount point at which nothing is mounted.

@DennisLfromGA for some reason your comment didn't show up until I submitted mine but I can't figure out what has changed since it was working before chromeos broke my user.  For testing I've stopped using my script, but apart from the card0/card1 thing it was just doing:
sudo enter-chroot -c /media/removable/SD\ Card
startxfce4

I think the reason it's not in a chroots folder was that I created it on the internal storage then moved it.  It's been running fine for a couple of months though.  I do recall some fiddling with the parent directory when I wanted to add xiwi to get the chrome extension working.

@ChrisHodgesUK,
That explains it then, thanx.
Not sure you know, and disregard this if you do, but the edit-chroot script has built-in mechanisms to copy or move a chroot so that everything is put in the right place. Check out the options for that below -
    -m DEST     Moves a chroot. Specify a new name to keep it in the same
                directory, or an absolute path to move it entirely.
                DEST can be a directory, in which case it must end in a slash.
                If multiple chroots are specified, DEST must be a directory.
                If you are moving a chroot to a SD card/USB drive, make sure the
                storage is formatted to ext2/3/4.

    -C DEST     Like -m, but copies instead of moves.

So you could move your internal chroot to your external media using something like:
sudo edit-chroot -m /media/removable/SD\ Card jessie
Hope this helps,
-DennisL

@DennisLfromGA
if I reinstall crouton I'll either move it properly or start on the SD card in the first place.  I say if because however good crouton is, if chromeos can break it so comprehensively I don't think I can trust the combination.  I'm also still hoping to recover this system. (On ARM my options are rather limited but I may be able to dual boot Arch Linux)
I've been poking around and think that mount is failing on the decryption after all, despite the error message being "no such file or directory".  I can't find a wrapped-passphrase  file anywhere (with  sudo find / -name 'wrapped passphrase'); I'm new to ecryptfs but from what I've read expect to find such a file.


Error in Windows 10: Assertion len >= s->orig_buffer_size failed at src/libavformat/aviobuf.c:581

I downloaded the prebuilt x64 version.
When I try to execute it, I get the following error:
PS D:\desc\scrcpy-win64> ./scrcpy.exe
scrcpy-server.jar: 1 file pushed. 1.2 MB/s (18802 bytes in 0.015s)
INFO: Initial texture: 536x960
Assertion len >= s->orig_buffer_size failed at src/libavformat/aviobuf.c:581
PS D:\desc\scrcpy-win64> ERROR: Exception on thread Thread[main,5,main]
java.io.IOException: android.system.ErrnoException: write failed: EPIPE (Broken pipe)
        at com.genymobile.scrcpy.IO.writeFully(IO.java:22)
        at com.genymobile.scrcpy.IO.writeFully(IO.java:29)
        at com.genymobile.scrcpy.DesktopConnection.send(DesktopConnection.java:81)
        at com.genymobile.scrcpy.DesktopConnection.open(DesktopConnection.java:58)
        at com.genymobile.scrcpy.Server.scrcpy(Server.java:16)
        at com.genymobile.scrcpy.Server.main(Server.java:102)
        at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
        at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:255)
Caused by: android.system.ErrnoException: write failed: EPIPE (Broken pipe)
        at libcore.io.Posix.writeBytes(Native Method)
        at libcore.io.Posix.write(Posix.java:218)
        at libcore.io.BlockGuardOs.write(BlockGuardOs.java:308)
        at android.system.Os.write(Os.java:528)
        at com.genymobile.scrcpy.IO.writeFully(IO.java:19)
        ... 7 more

Every time?
It seems the connection is closed by the server. What is your Android version?

Yes, every time, even with the 32-bit version.
I have Android 5.0.2.

The server may not connect to the client (it fails only on write, not on connect, due to the adb tunnel). Maybe you have a firewall or something which blocks the connection?

LG-H778 Android 5.0.2 also had the error.

Ah but wait, could you test the master version, this could be the same issue as https://github.com/Genymobile/scrcpy/issues/291 on 5.0.1, which has been fixed by https://github.com/Genymobile/scrcpy/commit/b882322f7371b16acd53677c4a3adbaaed0aef77.
See https://github.com/Genymobile/scrcpy/issues/291#issuecomment-427906676.
(download the file, rename it scrcpy-server.jar and replace the existing one)

Yes, it did fix it! Thanks for the help.


Can't get swipe to delete in class component

Hi,
I'm using the swipe list for a todo list, where swiping will get the item done.
I'm not using hooks as an example, but classes. And when I'm using setState for the new updated list the item doesn't disappear, instead the row stays green.
Also it seems like it get into a recursive state (doing some logging seems like the list get to 0 items).
I'm new to recat native, so it might be something very basic, but I've been spending few days on this.
Can you please help?
const onSwipeValueChange = swipeData => {
const { key, value } = swipeData;
if (
value < -Dimensions.get('window').width
) {
   // this.animationIsRunning = true;
    Animated.timing(rowTranslateAnimatedValues[key], {
        toValue: 0,
        duration: 50,
    }).start(() => {
        const newData = [...this.state.listData];
        const prevIndex = this.state.listData.findIndex(item => item.data.key === key);
        newData.splice(prevIndex, 1);
        this.setState( {listData: newData });
       // this.animationIsRunning = false;
    });
}

};

Hi @avishags, it looks like you commented out these lines:
this.animationIsRunning = true;

...

this.animationIsRunning = false;

By doing that the animation is going to run on every swipe event, i.e. many many times. And each time it's going to delete a row. You need to leave those lines in or write your own code to prevent the animation from running more than once per row.
Hope that helps!
Going to close this but please reopen if you still have problems

Hi,
Thanks a lot for your reply! But unfortunately this doesn't fix it.
Still same issue.
When I'm using the original sample code as is, it is working also when this is commented out so it is clearly not the problem.
The only main difference is that I am using component and not hooks.
From some reason the deletion of the item doesn't really work

Also after updating the new list it still stays in the screen as an open row and doesn't disappear

Seems like the problem is in the setState which I'm using instead of setListData, and from some reason doesn't work properly

Also, when I'm using my own data source, how do I set the key value?

Hey @avishags sorry for the late reply. Can you post more code I can look at? Also you can set a key on each object in an array of objects if that is your data source. Or you can use a keyExtractor, see more here: https://reactnative.dev/docs/flatlist#keyextractor


Add overrides for filename, default settings, path generator, and test specific settings and add optional prompt to override baseline

Apologies for the large commit. I had already started working on a VRT library for nightwatch before I found yours. You had followed the proper way of extending nightwatch while I was only using .perform() and you had working selectors. I decided to learn your way (the proper way) and merge my work with yours. This is the result.
In addition to your features, I needed the following:

Default settings (no errors if I provide nothing)
Ability to override default settings at a test level
Method to change folder structure (If I want all images in the same directory, for example)
Add optional suffix to files (In case several files are in one directory, append .diff or .latest to filenames)
Optional custom filenames
Optional terminal prompt if screenshots differ, so user may observe differences and decide whether to override

The above features should function seamlessly to the previous workflow. The defaults all remain as they were before. The only changed behavior is screenshots will be saved by default when prompt: true, and will be always be cleaned up upon successful completion. I've also removed the Saved x file logs since they seemed to clutter the terminal.
Other minor changes include documentation, updating tests, adding a types .d.ts, updating the dependencies, and adding more scripts for linting and running nightwatch locally.

Addresses #2


Resize .jpeg image with a problem

I use GD image driver.Every thing is ok.
When resize a .jpeg image, $image->save('path') is ok，but save it using $image->getCore() to a cloud disk with wrong size just like resize() doesn't work.
any other format like 'jpg','png','git' without this problem.
thanks!

Sorry, I can't help you without any further information.


Animation not playing

Hi, I'm currently experiencing a bug, I think? To be compatible with some older compatibility mods, I've had to run an older version of your mod (0.9.8)
I can't remember why exactly I had to run this version, as I made this decision a while ago after playing around with a lot of things (think it had something to do with traverse), but the issue I'm describing has only started recently.
I double-checked config to make sure, but for some reason trees aren't playing the falling animation, at all.
I am running a fair amount of mods, however, so do you know of maybe any incompatibilties causing this glitch?

Please try updating to the latest version. We have now forked and ported all of the addons maintained by odoursrex (traverse and heat and climate) so they work with the latest version of DT so please update to these and see if you still get this issue.

Alright, I'll make an attempt

Fully updated; the animation is still not playing.

Pardon, just thought I'd ping this to make sure you recieved the messages; your suggestions were helpful! I'm glad I'm playing on the updated version, but the bug still persists unfortunately

If the option is enabled(which it is by default) then it should work.  It's most likely some kind of interaction with another mod.  You say you have many other mods.  Do some binary troubleshooting with your mod list until you find out what it is.

I'm closing this due to inactivity and insufficient info. If you or anyone else still experiences this problem and can provide some more context please comment/re-open.


The theme flow

I've been trying everything to remove these theme as it's clearly glitching and not showing any screen but everytime i try something it just uninstalls spicetify.
I just want to remove these theme and be able to use spicetify, can i please get a code that works on terminal to remove just the theme?
My spicetify and macbook are both up to date

Open Powershell and hit
spicetify enable-devtools
After that open Spotify
Open up DevTools by right clicking anywhere on Spotify, and then click on Inspect Element.
Click the Console tab in the DevTools window, paste the following command inside then execute
Marketplace.reset()
https://github.com/spicetify/spicetify-marketplace/wiki/Development

Open Powershell and hit
spicetify enable-devtools
After that open Spotify
Open up DevTools by right clicking anywhere on Spotify, and then click on Inspect Element.
Click the Console tab in the DevTools window, paste the following command inside then execute
Marketplace.reset()
https://github.com/spicetify/spicetify-marketplace/wiki/Development

thank youu it worked


Stuck when type exit command in cmd

Environment
Windows build number: 10.0.19018.1
Windows Terminal version (if applicable):
0.7.3291.0

Any other software?

Steps to reproduce
Test 1: Start a PowerShell tab and type exit then hit enter.
Test 2: Start a cmd tab and type exit then hit enter.
Expected behavior
In both Test 1 and 2, terminal tab get closed correctly.
Actual behavior
PowerShell closed correctly in Test 1.
Cmd tab stuck in Test 2.

Yes same this is happening to me

File a new bug, this one is five years old.


Two similar realtime rollups behaving differently

I have two realtime rollups that look to me to be identical in every way except that they are rolling up information from two different custom objects related to opportunities and filling two different fields on the opportunity.  The details are this:  in a salesforce instance using the Intacct accounting package integration I have created rollup lookups on the custom objects sales order and sales invoice that are part of the integration. Each rollup is a straightforward count of the number of sales orders or sales invoices related to an opportunity.  The sales order and sales invoice records are created by clicking on custom buttons on the opportunity that create records in Intacct and then intacct inserts copies back into Salesforce into the custom objects already mentioned. In the case of sales orders the rollup works in real time. In the case of the sales invoice it does not  and in order to get it to work at all I have to schedule it. Unfortunately scheduling is not useful in this case because the user needs to see the opportunity roll off of a list view in order to know that invoiced an opportunity as expected.  I am going blind looking for a difference between the two rollups and testing shows that its to related to record creation processes as near as I can tell.  I am mystified.

Can you share a screenshot of both rollups. Also describe what gives you the impression the sales invoice one doesn't work? Is it giving an error or just not firing?

Hi Andrew,
Sorry to take so long to get back to you.  Attached are screen shots of both
look ups. You will see that the sales invoice lookup is scheduled. I made it
scheduled  because when it was realtime like the sales order count it didn¹t
fire.  If a user pushes the create sales order button on an opportunity it
creates the sales order record and updates the count field immediately. This
moves the opportunity off of a list view.  The sales invoice count was
failing to do this. So a user would create a sales invoice but the
opportunity would still show up in the list view. The criteria on the list
views are that the sales order count be 0 and that the sales invoice count
be 0 respectively.   That they two lookup rollups fail to work the same way
is obvious because one staff person is responsible for both creating the
sales orders and creating the sales invoices and she can rely on the list
view for opportunities that need a sales order but not the one for
opportunities needing a sales invoice.  Hope this is enough info.  I can get
the client around the problem with a business process flow but I thought it
might be worth trying to figure out what is happening anyways.
Yours,
Annie
From:  Andrew Fawcett<EMAIL_ADDRESS>Reply-To:  afawcett/declarative-lookup-rollup-summaries
<reply+009ec3a5ad7df07414ac1041f71dd8b29d1431c1bd4c8c1b92cf0000000113d464739
<EMAIL_ADDRESS>Date:  Tuesday, August 23, 2016 at 3:22 PM
To:  afawcett/declarative-lookup-rollup-summaries
<EMAIL_ADDRESS>Cc:  Annie LaCourt<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject:  Re: [afawcett/declarative-lookup-rollup-summaries] Two similar
realtime rollups behaving differently (#384)
Can you share a screenshot of both rollups. Also describe what gives you the
impression the sales invoice one doesn't work? Is it giving an error or just
not firing?

You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<https://github.com/afawcett/declarative-lookup-rollup-summaries/issues/384#
issuecomment-241847064> , or mute the thread
<https://github.com/notifications/unsubscribe-auth/AJ7DpeSLuEqhbhU73n4txmvnQ
4-m02DNks5qi0hzgaJpZM4JqR_U> .
{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4b
b","name":"GitHub"},"entity":{"external_key":"github/afawcett/declarative-lo
okup-rollup-summaries","title":"afawcett/declarative-lookup-rollup-summaries
","subtitle":"GitHub
repository","main_image_url":"https://cloud.githubusercontent.com/assets/143
418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"h
ttps://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6
-9aed-b52498112777.png","action":{"name":"Open in
GitHub","url":"https://github.com/afawcett/declarative-lookup-rollup-summari
es"}},"updates":{"snippets":[{"icon":"PERSON","message":"@afawcett in #384:
Can you share a screenshot of both rollups. Also describe what gives you the
impression the sales invoice one doesn't work? Is it giving an error or just
not firing?"}],"action":{"name":"View
Issue","url":"https://github.com/afawcett/declarative-lookup-rollup-summarie
s/issues/384#issuecomment-241847064"}}}

Sadly the attachment does not make it through via email. Can you use the GitHub web UI to attach your screenshots?

@AnnieLa let me know if you want to continue this discussion and we can re-open no problem. 👍


Crash due to huge text width

The board crashes as soon as it tries to render a text element that has an extremely large width. This happened to me when I pasted a very long text line into the board.
I was able to create a small example that reproduces it. Trying to load this board causes the error:
{
  "type": "excalidraw",
  "version": 2,
  "source": "https://excalidraw.com",
  "elements": [
    {
      "type": "text",
      "version": 228,
      "versionNonce": 901426059,
      "isDeleted": false,
      "id": "someid",
      "fillStyle": "hachure",
      "strokeWidth": 1,
      "strokeStyle": "solid",
      "roughness": 1,
      "opacity": 100,
      "angle": 0,
      "x": 1098.204663744457,
      "y":<PHONE_NUMBER>89053,
      "strokeColor": "#000000",
      "backgroundColor": "transparent",
      "width": 46000,
      "height": 78,
      "seed": 18314603,
      "groupIds": [],
      "strokeSharpness": "sharp",
      "boundElementIds": [],
      "fontSize": 20,
      "fontFamily": 1,
      "text": "very long text",
      "baseline": 70,
      "textAlign": "left",
      "verticalAlign": "top"
    }
  ],
  "appState": {
    "gridSize": null,
    "viewBackgroundColor": "#ffffff"
  }
}

There's no actual long line of text in this example. However, pasting a long line of text sets the width and causes the same crash.
As a side note: I originally triggered the crash when I tried to copy and paste an element on a board. Instead of the element, the raw json was pasted as one very long string.

Can't repro the crash from the JSON you supplied, or with a larger width. I also tried pasting an actual long string:
copy('a'.repeat(10000000))

but no crash, apart from the fact that extremely large strings don't seem to render.
But we could indeed split very long strings onto several lines upon paste.

Oh? I should have specified that I'm on Firefox 85.0.
I just triggered it again, here's the identifier and scene content from the crash reporter:
e131c07900b94c45a9206e8cfda61452
{"excalidraw":[],"excalidraw-state":{"appearance":"light","currentChartType":"bar","currentItemBackgroundColor":"transparent","currentItemEndArrowhead":"arrow","currentItemFillStyle":"hachure","currentItemFontFamily":1,"currentItemFontSize":20,"currentItemLinearStrokeSharpness":"round","currentItemOpacity":100,"currentItemRoughness":1,"currentItemStartArrowhead":null,"currentItemStrokeColor":"#000000","currentItemStrokeSharpness":"sharp","currentItemStrokeStyle":"solid","currentItemStrokeWidth":1,"currentItemTextAlign":"left","cursorButton":"up","editingGroupId":null,"elementLocked":false,"elementType":"selection","exportBackground":true,"exportEmbedScene":false,"gridSize":null,"lastPointerDownWith":"mouse","name":"Untitled-2021-02-09-1349","openMenu":null,"previousSelectedElementIds":{},"scrolledOutside":false,"scrollX":0,"scrollY":0,"selectedElementIds":{},"selectedGroupIds":{},"shouldAddWatermark":false,"shouldCacheIgnoreZoom":false,"showStats":false,"viewBackgroundColor":"#ffffff","zenModeEnabled":false,"zoom":{"value":1,"translation":{"x":0,"y":0}}},"i18nextLng":"en-US"}

It seems the loaded document didn't make it to the reported scene content though.

Ok, can repro on Firefox. It's because the canvas size exceeds the limit. Splitting the text onto several lines should indeed fix that.


add edit_uri mkdocs.yml

Resolves https://github.com/openshift/infrastructure-provider-onboarding-guide/issues/8
This will make the "Edit on GitHub" link direct to correct page in the rendered docs.
Reference: https://github.com/mkdocs/mkdocs/blob/master/docs/user-guide/configuration.md#edit_uri

very cool, thanks Robert!
/approve
/lgtm


Add a link to a C# transpiler

There are times when you give up on your dreams...

Love the name, heh.


Your path contains whitespaces, which is not supported by 'make install'.

I got this msg when running ./build-libssl.sh --version=1.1.0c.
and I did some research but still have no solutions.
What does this error msg mean? Is that my $PATH contains whitespace or ?
I'm looking forward to some suggestions. Thanks if anyone could probably help me out of this!

That means the folder of your local copy of this project contains an whitespace. Remove that whitespace from the folder name and it works fine.

Thanks for reply! After checking, it turns out that I had clone the repo. into a symbolic link of another folder. Not so obvious for me to notice such mistake. Thanks anyway!


Re-separate priority map and DSL handler map so that provides has vet…

…o power over priority

Can you provide a little more background on "priority map" vs. "handler map"?

Handler map is the provides lines--the declarations that say what an individual resource is willing to do. It's the global version of what used to be resource-specific node maps. Priority map is the list of priority arrays, just like before.
This check-in splits priority and provides back out separately because it was not backwards compatible: specifically, if the priority array for :dsl has A and B in it, and A.provides(:dsl) { false }, then we are required to pick B.  The system I built with one map would pick A and never run the block.

Passes in my test-kitchen test
:+1:

:+1:

@coderanger the priority_map in 12.0 through 12.3 was applied after searching through and finding the list of possibly acceptable providers.  So if you got [ Init, Redhat, Systemd ] or something like that it would sort them as a second phase.  12.4.0 broke that and if you applied a priority array it would just use that array instead of doing the first pass to see what was acceptable or not.  This still kind of worked because most of the providers that cared about this behavior override #supports? or #provides? which was still called in 12.4.0 effectively as a global filter.  The biggest thing this breaks is that passing a block to provides is no longer equivalent to overriding #provides? and the former gets ignored in the face of a priority_map while the latter does not, which is a breaking change from 12.3.0 to 12.4.0

:+1:
Minor jargon collision on "chef handler" vs. "resource/provider handler" but that seems fine given most users won't touch these APIs.


Publish a web build

Open issues:

[ ] Bind HTTP server (shelf package does not support this)
[ ] Use self-signed TLS/SSL certificate (not tested)
[ ] Discover devices (cannot fetch local IP properly, see also: https://stackoverflow.com/questions/20194722/can-you-get-a-users-local-lan-ip-address-via-javascript)

pusio

Releasing a web apo would be useful.
Also allow this web app to be easy to self host
And to add a instance list on thr github page for users to find alternative instances

I’d like to ask, is the reason why flutter build web doesn’t work because this app itself doesn’t support being set up as a server? Or is this unrelated to the topic of this thread?


Trancluded template

Is there a way to get template as transcluded html to avoid having template defined as file?

Currently this feature is not supported.


'Unable to create Windows launch for x86' while installing packages

I receive the following error while trying to install packages with uv but pip install crewai works fine
I've also attached a text file with the output with using verbose flag.
verbose_output.txt
PS D:\Temp\test> py -3.11 -m uv venv
Using Python 3.8.2 interpreter at: C:\Python38\python.exe
Creating virtualenv at: .venv
Activate with: .venv\Scripts\activate
PS D:\Temp\test> py -3.11 -m uv venv --python 3.11
Using Python 3.11.0 interpreter at: C:\Users\Anish Pillay\AppData\Local\Programs\Python\Python311\python.exe
Creating virtualenv at: .venv
Activate with: .venv\Scripts\activate
PS D:\Temp\test> .\.venv\Scripts\activate
(test) PS D:\Temp\test> uv pip install crewai
error: Failed to download and build `pypika==0.48.9`
  Caused by: Failed to build: `pypika==0.48.9`
  Caused by: Failed to install requirements from build-system.requires (install)
  Caused by: Failed to install build dependencies
  Caused by: Failed to install: wheel-0.43.0-py3-none-any.http.whl (wheel==0.43.0)
  Caused by: Unable to create Windows launch for x86 (only x64_64 is supported)
(test) PS D:\Temp\test> uv --version
uv 0.1.44 (d417daad7 2024-05-14)
(test) PS D:\Temp\test> python --version
Python 3.11.0

Unclear if we'll add support for 32-bit launchers.

the same problem
Resolved 28 packages in 19ms
error: Failed to install: auto_py_to_exe-2.43.3-py2.py3-none-any.http.whl (auto-py-to-exe==2.43.3)
Caused by: Unable to create Windows launch for x86 (only x64_64 is supported)
i hope you fix it

My only solution is remove uv from the x86 version of python
so the when call uv pip ... it works perfectly without error
only problem that you will face is "pip install --upgrade pip"
is not working and you can't upgrade it I don't know if there is any problem that can appear if there is no update because the uv handles the installation of packages.
I hope the team explain more the tool and how the tool handles the installation of packages.
My best regards
and thank for the dev team for this valuable tool

Thanks @zakimimit. We'll look into supporting x86 launchers, at least see how hard it is.
Can you repeat your question? I'm having trouble following it exactly.

the is problem that "pip install --upgrade pip"
is not working and you can't upgrade it
I don't know if there is any problem that can appear if there is no update because the uv handles the installation of packages.
so my question that when  I create virtual env , I always use pip install --upgrade pip.
is there any problem I will face if the don't use it because uv not support it , and the uv handle the insatlaion unstand of pip .
if you can give a bref explaniation of how uv tool handles the installation of packages.
so we get clear vison of how we use it

Are you using uv venv to create a virtualenv, then pip install --upgrade pip inside it? If so, try uv venv --seed instead of uv venv.

yes i use uv venv
1- so they are no need of pip  installer ?
2- can you explain what the uv venv --seed dose ?


Rescue OTAR project summary widget and detail view

Can we please rescue the OTAR projects widget?
In a previous Platform release, the summary widget and detail view were hidden using the flagShowOTARProjects config. By default, the summary widget and detail view should be hidden and we will set it to be shown in the deployment context profile.
For both the summary widget and detail view, the query remains the same:
query diseaseOTARProjectInfo {
  disease(efoId: "EFO_ID") {
    id
    name
    otarProjects {
      otarCode
      status
      projectName
      reference
    }
  }
}

Sample query: colorectal cancer
*Note: you must be connected to EBI VPN to run the query
Can we please make two adjustments to the detail view data table?

[x] Update the component to use the partner preview Platform API (currently it uses a static JSON file)
[x] Drop the "Disease" column
[x] Sort the table by the "Status" column with "Active" projects appearing first
[x] Add the lock icon component and tooltip to the summary widget and detail view

work done


Executors: snooze on a lower level?

Another follow-up of #1572:
With https://github.com/LiberTEM/LiberTEM/pull/1572, libertem-server can temporarily shut down the whole executor. This solves the issue of long-running processes eating memory and CPU time very well, but a similar issue exists for dangling notebooks. We might want to add the same feature on the executor level, at least for the default dask executor, such that notebooks also free up their resources after a while. Important for shared systems, and especially when a GPU is shared between multiple users.

That would definitely be helpful in our use case, we already have the problem for LT executors started from within Digital Micrograph.
I am happy to look at how to do this.

Great to hear! I was thinking that this could be handled partially by the Context, which would spawn the background task/thread which checks for the timer expiration, and then asks the executor to snooze, if it is supported. The pipelined executor, for example, could opt out of this, as it is contra productive for live processing.
Maybe we can discuss this further tomorrow.

I was thinking that this could be handled partially by the Context, which would spawn the background task/thread which checks for the timer expiration, and then asks the executor to snooze, if it is supported.

This also has the component that the executor needs to be kept alive across all those "running code/jobs/..." operations, which is best done in the executor itself (or maybe a wrapper kind of type), while, as noted above, high-level decisions about the timeout and concrete point of time of snoozing might be handled better by high-level code like Context or the executor state as we have it implemented now.


Allow rewrite status to be 2xx or 4xx.

Matt, first thanks for the Caddy project...a true showcase of Golang's strengths!
I have a case where it would be useful to do the following:
# Headfake the editor
rewrite /editor/spec {
  if {method} is PUT
  status 200
}

However, the current implementation prevents this use case, which I think is safe and reasonable. This PR allow status to be 2xx or 4xx. Tests are included. I hope you agree that this simple change is OK. Thanks again!

 You should sign our Contributor License Agreement in order to get your pull request merged.

Thanks for the tests.
What's your use case? We specifically limited this to 4xx to prevent misuse of this directive.

I suppose you could consider this a "misuse"...but useful!
I'm proxying the Swagger Editor as part of a development sandbox effort. The browser JS wants to PUT the content of the editor for safekeeping on the backend, but we are using the editor in readonly mode, loading static content, so we want to prevent the PUT. Unfortunately, a failed PUT breaks the JS on the client. So, in summary, this is a case of using a proxy to adapt off-the-shelf components to an unanticipated use case. Make sense?

P.S. I tried to sign the CLA, but it seems to be confused by the difference between my two GH accounts...one that did the commit, and on that did the PR. :-(

What if you just put an empty file in that path instead?

It's a PUT...which returns a 405.

Okay, I'm convinced, this is definitely an edge case, but a harmless enough change as far as I can tell.
Note my inline comment and then sign the CLA with the matching email address and we're good to go I think.

CLA signed.

Thank you!


feat(models | views): connect database and app

Issue link
Resolves #31, #43
What does this PR do?

Split models.py into independent files by application object

What does not include in this PR?
Finalize model fields, this would be fixed in other issue (#32)

Confirmed that Music and Movie models are properly rendered in template with local environment, so will merge this PR into main.


mirage vm crash on downstream vm start

this is most likely the same issue as https://github.com/mirage/qubes-mirage-firewall/issues/35 but i am creating a fresh one instead of reopening because the backtrace is very different due to all the changes that happened in the last 4 (!) years.
repro steps:

create a mirage fw vm
connect some downstream vm
restart the downstream vm 64 times
mirage fw crashes

[2022-10-27 21:14:44] 2022-10-27 19:14:43 -00:00: INF [client_net] add client vif {domid=3091;device_id=0} with IP <IP_ADDRESS>
[2022-10-27 21:14:44] Fatal error: exception Xs_protocol.Error("E2BIG")
[2022-10-27 21:14:44] Raised at Xs_protocol.response in file "duniverse/ocaml-xenstore/core/xs_protocol.ml", line 685, characters 13-28
[2022-10-27 21:14:44] Called from Xs_client_lwt.Client.rpc.(fun) in file "duniverse/ocaml-xenstore/client_lwt/xs_client_lwt.ml", line 318, characters 13-50
[2022-10-27 21:14:44] Called from Lwt.Sequential_composition.bind.create_result_promise_and_callback_if_deferred.callback in file "duniverse/lwt/src/core/lwt.ml", line 1849, characters 23-26
[2022-10-27 21:14:44] Re-raised at Lwt.Miscellaneous.poll in file "duniverse/lwt/src/core/lwt.ml", line 3077, characters 20-29
[2022-10-27 21:14:44] Called from Xen_os__Main.run.aux in file "duniverse/mirage-xen/lib/main.ml", line 37, characters 10-20
[2022-10-27 21:14:44] Called from Dune__exe__Main.run in file "main.ml" (inlined), line 3, characters 12-29
[2022-10-27 21:14:44] Called from Dune__exe__Main in file "main.ml", line 115, characters 5-10
[2022-10-27 21:14:44] Solo5: solo5_exit(2) called

the E2BIG right after add-client-vif suggests its still the "xenstore subscriptions leaking" issue.
see https://github.com/mirage/qubes-mirage-firewall/issues/35 and the various issues linked from it.

Hi, thanks for this valuable reproducible protocol!
I can see that too now, and I added some logs in ocaml-xenstore/.../xs_client_lwt.ml. The following shows what s watched during a qvm-start vm && qvm-kill vm:
...
[2022-10-28 04:08:23] 2022-10-28 08:08:23 -00:00: INF [application] rpc hint is Read backend/vif/141/0/ip
[2022-10-28 04:08:23] 2022-10-28 08:08:23 -00:00: INF [client_net] add client vif {domid=141;device_id=0} with IP <IP_ADDRESS>
[2022-10-28 04:08:23] 2022-10-28 08:08:23 -00:00: INF [application] rpc hint is Read backend/vif/141/0/frontend
[2022-10-28 04:08:23] 2022-10-28 08:08:23 -00:00: INF [application] rpc hint is Watch backend/vif/141 4:xs_client.wait
[2022-10-28 04:08:23] 2022-10-28 08:08:23 -00:00: INF [application] rpc hint is Read /local/domain/141/device/vif/0/mac
[2022-10-28 04:08:23] 2022-10-28 08:08:23 -00:00: INF [application] rpc hint is Watch backend/vif/141/0/ip 4:xs_client.wait
[2022-10-28 04:08:23] 2022-10-28 08:08:23 -00:00: INF [application] rpc hint is transaction_start Transaction_start
[2022-10-28 04:08:23] 2022-10-28 08:08:23 -00:00: INF [qubes.db] got update: "/connected-ips" = "<IP_ADDRESS> <IP_ADDRESS> <IP_ADDRESS>"
[2022-10-28 04:08:23] 2022-10-28 08:08:23 -00:00: INF [qubes.db] got update: "/connected-ips6" = ""
[2022-10-28 04:08:23] 2022-10-28 08:08:23 -00:00: INF [qubes.db] got update: "/mapped-ip/<IP_ADDRESS>/visible-ip" = "<IP_ADDRESS>"
[2022-10-28 04:08:23] 2022-10-28 08:08:23 -00:00: INF [qubes.db] got update: "/mapped-ip/<IP_ADDRESS>/visible-gateway" = "<IP_ADDRESS>"
[2022-10-28 04:08:23] 2022-10-28 08:08:23 -00:00: INF [qubes.db] got rm "/qubes-firewall/<IP_ADDRESS>/"
[2022-10-28 04:08:23] 2022-10-28 08:08:23 -00:00: INF [qubes.db] got update: "/qubes-firewall/<IP_ADDRESS>/policy" = "drop"
[2022-10-28 04:08:23] 2022-10-28 08:08:23 -00:00: INF [qubes.db] got update: "/qubes-firewall/<IP_ADDRESS>/0000" = "action=accept"
[2022-10-28 04:08:23] 2022-10-28 08:08:23 -00:00: INF [qubes.db] got update: "/qubes-firewall/<IP_ADDRESS>" = ""
...
[2022-10-28 04:08:23] 2022-10-28 08:08:23 -00:00: INF [application] rpc hint is Watch /local/domain/141/device/vif/0/state 9:xs_client.wait
...
[2022-10-28 04:08:32] 2022-10-28 08:08:32 -00:00: INF [application] rpc hint is Unwatch /local/domain/141/device/vif/0/state 9:xs_client.wait
...
[2022-10-28 04:08:32] 2022-10-28 08:08:32 -00:00: INF [client_net] Client 141 (IP: <IP_ADDRESS>) ready
[2022-10-28 04:08:32] 2022-10-28 08:08:32 -00:00: INF [ethernet] Connected Ethernet interface fe:ff:ff:ff:ff:ff
...
[2022-10-28 04:08:32] 2022-10-28 08:08:32 -00:00: INF [application] rpc hint is Watch /local/domain/141/device/vif/0/state 10:xs_client.wait
...
[2022-10-28 04:09:50] 2022-10-28 08:09:50 -00:00: INF [application] rpc hint is Rm backend/vif/141/0
[2022-10-28 04:09:50] 2022-10-28 08:09:50 -00:00: INF [application] rpc hint is Unwatch /local/domain/141/device/vif/0/state 10:xs_client.wait
...
[2022-10-28 04:09:50] 2022-10-28 08:09:50 -00:00: INF [client_net] client {domid=141;device_id=0} has gone

Here wa have 2 watch not unwatched and this may explain that, at some point, we have too much watch running (as the client id is different for each run) and we get over_quota (E2BIG error). I guess it's possible to unwatch in the firewall when we print the client %d has gone message (at client_net.ml:155) of in the cleanup callbacks (client_net.ml:108orclient_net.ml:128`).
But I wonder if we might run into another, partially related, problem: Is it be possible to connect simultaneously 64 clients to the same qubes-firewall? Unfortunately I don't have not enough memory to try to run that much vm on my laptop :/

Or maybe it makes more sense to add the unwatch call in watcher.cancel: https://github.com/mirage/ocaml-xenstore/blob/2168f073ab5f0d8a609db2bc8c52d67fcd814398/client_lwt/xs_client_lwt.ml#L122 ?

But I wonder if we might run into another, partially related, problem: Is it be possible to connect simultaneously 64 clients to the same qubes-firewall? Unfortunately I don't have not enough memory to try to run that much vm on my laptop :/

interestingly, it didnt even get to 64 ... it crashed on VM 43 startup. same backtrace.
reproducible. with 42 downstream VMs running, restarting the mirage-fw works ... but when trying to add one more it breaks.
a linux FW starts acting up even earlier, with 37 downstream VMs working, after that new ones dont get configured and outbound q-rpc from the FW starts to fail. no crash though.
i suggest we ignore this scenario for the moment since
a) the limit is higher with mirage than with linux and
b) its probably a rare situation and
c) easily mitigated by running another mirage FW.

I agree that we can safely ignore that scenario :)
It's still a to_be_correctly_written patch, but I think we're on the good track with unwatch vif for deconnecting guests. With this commit https://github.com/palainp/qubes-mirage-firewall/commit/f02d71386752953fc5f4acd84efb3867f65be5a4 I managed to qvm-start vm && qvm-kill vm 64+70 times in 2 runs without any fault nor restarting qubes-firewall.
I'm still not sure how to properly get the Xenstore token from client.wait (currently an hard coded value...), and where it's better to call unwatch. @talex5 or @hannesm do you have some ideas on those points ?

Update: To my understanding, a Watch event is up for backend/vif/DOMID between Read backend/vif/DOMID/DEVICEID/frontend and /local/domain/DOMID/device/vif/DEVICEID/mac/. And the other Watch comes just after that, and then both Watch (backend/vif/DOMID and backend/vif/DOMID/DEVICEID/ip) are currently silently dropped at https://github.com/mirage/ocaml-xenstore/blob/2168f073ab5f0d8a609db2bc8c52d67fcd814398/client_lwt/xs_client_lwt.ml#L193 when the client VM is disconnecting.
I'm not sure how is it supposed to behave and if a sort of unwatch is expected without calling unwatch. I'll continue my investigations on that.

Would you mind to give #160 a try? :) (see commit message if the reasoning is of interest)
no, unfortunately I don't understand xenstore and ocaml-xenstore (and don't feel like modifying the implementation of "wait" to suit our needs (I tried hard and failed)).

this has been fixed in the 0.8.3 release, thanks for your report, and please re-open if you see a regression.

(sorry for the late response)
with a fresh build (~0.8.4) i can no longer repro the problem.
a test VM did ~135 client restarts over the last hours without crashing.
thanks!


Replace domainGUID with customDomainIdentifier

Remove reference to GUIDs inside use-dkim-to-validate-outbound-email.md since the values used are not GUIDs, but text identifiers.
Make powershell snippet for Rotate-DkimSigningConfig consistent with it's documentation, which can accept a GUID, a domain name, or a distinguished name (https://docs.microsoft.com/en-us/powershell/module/exchange/rotate-dkimsigningconfig?view=exchange-ps)
Minor formatting edits around initialDomain and customDomainIdentifier

@JohanFreelancer9 - kindly do the copy editor review for this PR. Thanks

@MSFTTracyP Please merge this PR. Thanks

@MSFTTracyP Gentle reminder


Whittle down MB Boundaries census tract lookup table

The MB Boundaries census tracts blocks, which we're not using lookup table CSV (which we will use to "join" to other datasets) is a whopping 60+ MB since it contains the full US tracts dataset. We only need the extent of NYC metro-ish (hopefully not the full Counties extent since that would massively contribute to page load size).
Suggestion was to have Matt do it but it might take longer to explain/document the process than for Jason to just do it. Just need to first confirm what extent to use. Ross may have mentioned the 5 boroughs and that seems a logical approach.

i finished this for the 5-county area today (more details in #113) but i'm not super convinced that maintaining a 2000+ line JSON file is a great long-term solution if anything changes, ever:

to do any perma-joiny stuff it would have to be converted to CSV, making sure my bounds are preserved, then back to JSON. if no perma-join and we use api, then it's good to go.
not sure how i feel about committing super-static stuff like that to git though, so let's keep an eye out for better approaches. could stuff it in dropbox i guess? git can handle it but 2k is like 5-20 "normal" code files.

just to reiterate the purpose of the lookup tables in case there's any confusion: MB provided us w/a set of files which are used to connect/join/cross-reference the Boundaries polygons to other datasets. i had to massage the data a bit but now it has a "tract" ID that matches corresponding records from the Census API:

Hey you're 014607? Me too, let's get together!

-- Census talking to Boundaries


Add Pod 6 to the languages.yml

Add Pod6 as a language to languages.yml.
Description
There's been a long standing issue in the Perl 6 repos to have pod files rendered properly: https://github.com/github/markup/issues/907. I'm trying to solve this issue, and while working through https://github.com/github/markup (going by instructions from https://github.com/github/markup/issues/907#issuecomment-247423165) I found it using Linguist, which did not report any language back for a .pod6 file.
GitHub not rendering .pod6 files correctly has stopped me from using it altogether for READMEs, but I'd like this to change.
~I've been reading through the CONTRIBUTING file, but adding the Grammar I wanted to try with (https://github.com/perl6/atom-language-perl6/blob/master/grammars/perl6fe.cson) gives the error it already exists. (I'm not sure if this Grammar will work correctly, but I can try to make a grammar for this specific purpose if needs be).~
Additionally, the real-world samples (like this one) I know off come from Artistic-2.0 licensed repositories. This license is not in the whitelisted licenses list. Can this license be added, or should I write one myself?
Checklist:

[x] I am associating a language with a new file extension.

[x] The new extension is used in hundreds of repositories on GitHub.com

Search results for each extension:

https://github.com/search?utf8=✓&q=extension%3Apod6+begin&type=Code

[ ] I have included a real-world usage sample for all extensions added in this PR:

Sample source(s):

[URL to each sample source, if applicable]

Sample license(s):

[x] I have included a change to the heuristics to distinguish my language from others using the same extension.

As an answer to #4066 , we had better be focusing on #3366, created by @samcv

Pulling in the latest master into your fork will address the CI failure. It's likely to then highlight a few more things that need addressing in this PR 😉 .

@JJ Should the entry's name be spelt Pod6 or Pod 6, with a separating space? The latter is the conventional spelling used for Perl 6 (and Perl 5...), so I'm inclined to think a space should be used.
However, I'm only familiar with Perl 5 and Perl 6 and its idioms are a mystery to me (aside the whole s/camel/butterfly/ thing 😉). You likely know more than I do.

Should the entry's name be spelt Pod6 or Pod 6, with a separating space?

Ah, good question. I'd rather get this addressed before merging this PR as changing it after the event is a pain in the 🍑 on the GitHub side of things it requires a database migration... don't ask 😞

The canonical answer is: neither. It should probably be Pod6. But I'd better ask. Please hold on while I get some answer.

Weren't we gonna focus on #3366?

That was my idea, but it's @lildude's prerogative how we go about this.

OK. Still trying to find out the answer.

I've updated my PR to merge cleanly, and passes tests https://github.com/github/linguist/pull/3366 If we have decided we want Pod 6 to be its own language, then I will adjust it for that. At the moment it classifies .pod using Pod 6 as Perl 6, but that was because previously the view was there was not enough Pod6 usage to make it its own language. @lildude what are you thoughts on this?

Problem is Pod 6 is Perl 6, it's part of the language specification and it's interpreted or compiled by the very same program. Having them as separate languages might have some implications, like having some heavily documented modules maybe interpreted as Pod 6 instead of Perl 6. The situation is slightly different in Perl, where Pod is interpreted by Perl as "I don't care, this is a comment" with the actual parsing referred to the Pod parser. Perl 6 says "OK, this is a comment, but one I should care about" and puts the structured AST in the structure of the program, to be then retrieved and interpreted any way you want...

@JJ in my PR it does detection on .pod files to see if they're pod6 or not. And it doesn't attempt to classify anything that is .pl or .pl6 as pod, which I think works around that. Though that could be an issue if we tried to distinguish .pl6/.pl files and try and tell if they should be labeled pod6…

That's the thing, there are several heuristics taking place and sometimes
you don't really know which one is actually calling the shots. Besides, if
you look at it from a principled point of view, Pod 6 is simply not a
different language.
I came here from the other side, the one that wants GitHub to render pod6.
So I don't really know. I'm just happy if the PR is accepted, whatever way
you want to call it. It would open the door for having GitHub render .pod6,
which was my main objective all along. Thanks for your work here.

Started a discussion of the "Perl 6" vs "Pod 6" decision over at https://github.com/github/linguist/pull/3366#issuecomment-379750903 to keep things simple and in one place.

@lildude From https://github.com/github/linguist/pull/3366#issuecomment-380467950 I understand preference goes out toward this PR. Is there anything I can do to improve the PR at this point in order to get it merged?

@lildude From #3366 (comment) I understand preference goes out toward this PR. Is there anything I can do to improve the PR at this point in order to get it merged?

Yup, please remove the .pod6 extension. This extension is not popular enough for inclusion just yet. Once this PR lands, peeps can always create a manual override for the .pod6 ext until such time as popularity does increase to the point we can add back the extension.

Okay, I've removed the ".pod6" file extension.
I personally would prefer to have it in as it would be an easy way to infer it really is something else than the regular POD everyone is used to. If it's not supported on Github, that would be a big reason not to use it at all (since it won't render nicely).

peeps can always create a manual override for the .pod6 ext

How would one do this?

Given that .pod6 won't be supported yet, is this disambiguation of .pod good enough? If I'm reading it correctly it will only get marked as Pod 6 if it has indented directives; perhaps it should also recognize =begin pod, which would only ever be used in Pod 6?

@Grinnz I've updated the heuristics to check for =comment and =begin pod.

peeps can always create a manual override for the .pod6 ext

How would one do this?

Like so https://github.com/github/linguist#using-gitattributes

2018-04-17 9:29 GMT+02:00 Colin Seymour<EMAIL_ADDRESS>
@lildude commented on this pull request.
In lib/linguist/heuristics.rb
https://github.com/github/linguist/pull/4083#discussion_r181975132:

@@ -380,6 +380,26 @@ def call(data)
end
end

disambiguate ".pod" do |data|

 if /^\s*=\w+$/.match(data)

   if /^=pod|=cut/.match(data)

     Language["Pod"]

   elsif /^\s+=(begin|cut|pod)/.match(data)

     Language["Pod 6"]

Nope. I feel @samcv https://github.com/samcv got the the crux of the
“Pod 6” vs “Perl 6” debate with #3366 (comment)
https://github.com/github/linguist/pull/3366#issuecomment-380282331 and
commented as such in my follow up.

Great. Thanks!

2018-04-20 19:11 GMT+02:00 John Gardner<EMAIL_ADDRESS>
For the record, so does Perl (and I assume Perl 6) ;)
Well, I'll be fucked, it does too. :|

perl does everything. And as you said above, in many different ways :-)

HAHA, SEE?! Ruby pretty much stole everything from Perl, right down to the
END directive and all. Pity that they could've learned a few pointers
about dependency management in the RubyGems arena. 😆

Well, now we have cpanfiles which are pretty close to Gemfiles... Not too
bad.

Okay I've looked depths of Perl6's source.
For our purposes we can say Perl6's whitespace's is: space, codepoints 9-13, and Unicode White_Space, minus any newlines.
So we just need to add \p{Space} property.
@Tyil see if this updated Ruby regex works: [\s\p{Space}&&[^\n]]

That fails with the following error:
Encoding::CompatibilityError: incompatible encoding regexp match (UTF-8 regexp with ASCII-8BIT string)

Right, this is where I'm tapped for solutions. 😢
Encoding errors in regex are the best way to remind the world that no language holds shit on Perl when it comes to Unicode or Regular Expressions. All have tried, each have failed.
(Seriously, what the heck is that? 😅)

@lildude Anything else to do to get this merged?

There is still the case of pod like https://github.com/bingos/poe-component-irc/blob/master/lib/POE/Component/IRC/Cookbook.pod not being disambiguated correctly because it contains no single-word directives, so it doesn't enter the initial condition.

To me that looks as if it could be valid Pod 6 as well, nothing in particular seems Pod 5 only to me. Am I missing something obvious, or is this valid in both Pod 5 and Pod 6? And if so, how should it be handled in this case?

It does not have any indented pod or any of the recognized Pod 6 triggers, so it should be treated as Pod (the same thing that would happen if it did have a one-word directive like =back somewhere).

I've added the Cookbook.pod as a sample file and updated the heuristics.rb for Pod 6. Let's see if Travis thinks this'll work.

Are Pod 6 files always going to have a single word directive either? I feel like the main heuristics only being applied if a single word directive is found is a problem; is there a reason for requiring that?

@Tyil Another thing unique to Perl 6 is =item1, =item2 etc. We still have =item, which is an alias for =item1. So if the pod document has item and some number of digits, then it is Pod 6

LGTM now, other than if you also want to recognize any indented-only directives as Pod 6 like was there before, I don't know what directives are commonly indented. If this will catch most Pod 6 as it is then :+1: (and hope that github will recognize .pod6 soon).

Unfortunately, I'm going to have to revert this and open a new PR for it for the moment as it requires Pod 6 rendering support to be implemented in https://github.com/github/markup/pull/1173 or https://github.com/github/markup/pull/1185 and GitHub.com updated. This needs to coincide with the release of a Linguist release that introduces support for Pod 6 so we don't end up leaving people scratching their heads trying to work out why one pod document is being rendered and not another.
I don't currently have the bandwidth to look into the markup side of things either.


Fixing Authorization header with basic auth

The http adapter did not remove a custom Authorization header when auth is set (as it is state in the documentation).

Coverage remained the same at 92.876% when pulling 441522108a6eb11de062f7d9b49fce40009769ce on madebyherzblut:fix-auth-header into 8332392bfdf55602d4e0cd120f00d58b381063a4 on mzabriskie:master.

Thank you for the PR! Should we delete the Authorization header in this case as well?
    var parsed = url.parse(config.url);
    if (!auth && parsed.auth) {
      var urlAuth = parsed.auth.split(':');
      var urlUsername = urlAuth[0] || '';
      var urlPassword = urlAuth[1] || '';
      auth = urlUsername + ':' + urlPassword;
    }

I would suggest to check whether auth is defined (after the code block above) and if it is, delete the header:
if (auth) {
  delete headers.Authorization;
}

Coverage remained the same at 92.876% when pulling 1ffcbb0369cd241077f610600cc6e61e092afba1 on madebyherzblut:fix-auth-header into 8332392bfdf55602d4e0cd120f00d58b381063a4 on mzabriskie:master.

Thank you and nice catch @nickuraltsev 👍  I made the changes and amended the original commit to keep the history clean.


Fix compiler crash on property symbols without declarations

Fixes #44970
In short, the checker crash was caused by the fact that properties that go through a mapped type with an as clause don't have declarations attached to their symbols (#44609), but addPropertyToElementList, a function used for serializing type nodes, relied on late-bound property symbols having declarations (propertySymbol.declarations).
The fix here is to make the part of addPropertyToElementList that relies on propertySymbol.declarations actually check if declarations is defined before accessing it.
In addition, there is now a declaration emit reporter for when we reach a late-bound symbol that has no declarations attached, as that should be an error since we shouldn't serialize that property type for declaration emit purposes.

@weswigham gtg?


Module Not Found Error with ResNet50

Hi! I am trying to use ResNet50 for damage classification of buildings from images however I cannot get the ResNet to load. I am using the code below to call for ResNet.
`import numpy as np
import tensorflow as tf
import keras
import ast
from keras import Sequential
from keras.layers import Conv2D, MaxPooling2D, Dense, Flatten, Add, Input, Concatenate
from keras.models import Model
from keras.applications.resnet50 import ResNet50
from keras import backend as K
from model import *`
I have also followed other suggestions and tried...
from tensorflow.keras.applications.resnet50 import ResNet50
as well as...
import tensorflow.keras.applications' 'from tensorflow.keras.applications.resnet import ResNet50
However I keep getting the following error...
    from keras.applications.resnet50 import ResNet50 ModuleNotFoundError: No module named 'keras.applications.resnet50' (note: this changes depending on if tensorflow. ... is used or not)
In addtion I have also checked CUDA and the %PATH% and Microsot visual studio 2015, '17 and '19 are installedand up to date.
Below is my system information and versions:
Windows 11 running miniconda3 ver., 4.12.0
Nvidia RTX3060 6GB
Python 3.9.11
PIP 21.2.4
Keras 2.8.0
Tensorflow 2.8.0
Any help or suggestions is welcomed!

@Saxingh ,
I tried to execute the mentioned code and haven't faced any issue.Please find the gist here.Also i request you please build tensorflow from source for respective dependencies and test your code.Thanks!

Thank you for your help but I think I'm going to close this.
I couldnt seem to install from source so I've switched to using google colab which seems to be working fine.


Dangerfile evaluation is single threaded

Right now it looks like evaluation of a DangerFile is basically single threaded, meaning if you want to do anything with the network you have to have dispatch locks. This is likely because we're not executing the app, but running the swift compiler int an faux-eval mode.
This might not work in the long run, and we might need to switch out to actually compiling using swift-pm and then executing that binary which handles the eval runtime.

Once current solution we have is to move the GitHub API to be synchronous


wypm: Package Management for Wenyan Lang

Hi everyone!
To help people make 3-rd party libraries (#509, #451, #452), I made a minimal package management tool for wenyan lang:
wypm - https://github.com/antfu/wypm
you can try it out:
npm i -g @antfu/wypm

wypm i 子曰

by running commands above, it will install the package 子曰 to 藏經閣/子曰 to the current directory.
Notes

藏經閣 is kind like node_modules in Node.js
序.wy is kind like index.js in Node.js, this can achieve hierarchical imports without './some/nested/module' syntax.
Currently, 藏經閣 and 序.wy will not be handled correctly (Which means the packages can not be imported yet). I will keep working on #499 to make it work.
Publish your own packages is already possible. Please refer to the homepage of wypm
This is just a quick prototype, if you like this idea, I will keep improving it.
A browser version is also possible.

Please let me know what you think! Thanks.

👍Great! This is so awesome!
My only suggestion is that we can change some wording here, e.g. 藏經閣->藏書樓, and perhaps we can think of a creative name for this tool. I like how wypm is reminiscent of npm, but I wonder if there's some missed opportunities here. Here's just one idea from the top of my head: wyg, which can be either interpreted as initial letters of 文淵閣 or wenyan-get(parody of apt-get). As always, more ideas are very welcome!

Cowsay usually has a cow in it, I think ziyue needs a Confucius! I happen to have made one for anther project, so here you go:
                  __._
                 / ___)_
                (_/Y ===\
                |||.==. =).
                |((| o |p|
             _./| \(  /=\ )
           /  |@\ ||||||||.
          /    \@\ ||||||||\
         /   \  \@\ ||||||//\
        (     Y  \@\|||| // _\
        |    -\   \@\ \\//    \
        |     -\__.-./ //\.---.^__
        | \    /  |@|__/\_|@|  |  |
        \__\      |@||| |||@|     |
        <@@@|     |@||| |||@|    /
       / ---|     /@||| |||@|   /
      |    /|    /@/ || |||@|  /|
      |   //|   /@/  ||_|||@| / |
      |  // \ ||@|   /|=|||@| | |
      \ //   \||@|  / |/|||@| \ |
      |//     ||@| /  ,/|||@|   |
      //      ||@|/  /|/||/@/   |
     //|   ,  ||//  /\|/\/@/  / /
    //\   /   \|/  /H\|/H\/  /_/
   // |\_/     |__/|H\|/H|\_/
  |/  |\        /  |H===H| |
      ||\      /|  |H|||H| |
      ||______/ |  |H|||H| |
       \_/ _/  _/  |L|||J| \_
       _/  ___/   ___\__/___ '-._
      /__________/===\__/===\---'

Wow! I love the 文淵閣 and wenyan-get paronomasia! If we go for wyg I maybe the 藏經閣 or 藏書樓 can become 文淵閣 as well.

If you agree with the package management idea, should we also include the 藏經閣/藏書樓/文淵閣 into the CLI default importPaths as Node.js did (up searching). And for the 序.wy functionality, should I work on #499 or create another PR?

Cowsay usually has a cow in it, I think ziyue needs a Confucius! I happen to have made one for anther project, so here you go

It was a quick "helloworld" for testing the install function. And I am just trying to create the ascii art for Confucius! You did a wonderful job (he looks cute!). Will use it and credit to you. Thanks!

And I am just trying to create the ascii art for Confucius!

Sorry to rob you of the fun :P

If we go for wyg I maybe the 藏經閣 or 藏書樓 can become 文淵閣 as well.

I think 文淵閣 a proper noun and is more like the official repository of packages, and 藏書樓 is more like a local collection, so I would suggest keeping 藏書樓 as node_modules.
Some more thoughts: 文淵閣 is historically for royal collection and not for distributing books though. 武英殿 is for 官刻, which, coincidentally, also has initial letters starting with wy. And perhaps the pun for wyd can be wenyan-distribute. Other potential names could be historical names of 書店(selling) or 書坊(printing). Or perhaps 四庫, a collection of books.

Just added the Confucius for ziyue!

I think 文淵閣 a proper noun and is more like the official repository of packages, and 藏書樓 is more like a local collection, so I would suggest keeping 藏書樓 as node_modules.

Sure that makes sense!

Some more thoughts: 文淵閣 is historically for royal collection and not for distributing books though. 武英殿 is for 官刻, which, coincidentally, also has initial letters starting with wy. And perhaps the pun for wyd can be wenyan-distribute. Other potential names could be historical names of 書店(selling) or 書坊(printing). Or perhaps 四庫, a collection of books.

Thanks for the detailed explanation! I would prefer wenyan-get and 文淵閣 then 武英殿 and wenyan-distribute coz the former looks more intuitive for me who is not well-educated XD
Anyway, since I am not good at literal, I better leave the decisions to you and viewers who get interested. And I should probably close Github and go read some books. 😂

I have read many books about the ancients literatures, but I have did a shallow research about this on the web.
FYI, I have to repo for wypm now. On for the tool itself and one for registry (antfu/wypm-registry).
Imo, 文淵閣 sounds more like the registry and the wypm seems to play more 官刻 role. But just like you mentioned, I don't like how 武英 sounds either. Or maybe we can map the 官刻 idea to install somehow.
(PS. to me 文淵閣 seems to be a perfect name and pun, I just can not to think about it XP.

I think perhaps we can keep 文淵閣 for the tool itself, and translate the registry as 總目 or 目錄 (or less appropriately, 花名冊)?

Should the registry be something like 文淵閣總目 or 文淵閣總綱? I am not sure whether it's proper usage. But I think it makes them look more relevant.

@LingDong- I have changed it to wyg, 文淵閣 🎉. And it now functions well with v0.2.3!
Should we consider make wyg an official tool for Wenyan Lang? I have also reserved the Github organization wenyan-lang if you are interested. :)

Thanks, and 🎉!

I think 文淵閣總目 is nice.
Let's make wyg official!
Shall we move this project under wenyan-lang organization, and have all the other related tools under it? Just wondering if it will this be a big hassle? Will those who previously watch/star/etc the project not be able to path find to it? Will those who had the old link to this project be automatically/manually redirected? Just listing my concerns here :P I'll investigate tomorrow, right now I need to push some progress and get some sleep.

@LingDong- If we transfer it to the organization everything should work fine. The all the things(issue/start/pr) will be moved to the new repo seamlessly. Links will be auto redirected. I think Github handles this very well. Anyway, it's always better to be prepared!
And I will transfer wyg to the org then (also as a test 😄).
Good night!

Just moved 🚀

https://github.com/wenyan-lang/wyg
https://github.com/wenyan-lang/wyg-registry


fix: n-way-dimmer sync problem

Rewrite and fixed n-way-dimmer synchronization problem.

Thank you.

@JeremyYu-cn - thanks a bunch.
I'm running your revision on a group of two devices and so far it looks solid.  I'll continue to exercise the code and post an update.
I appreciate your quick help - this script adds some great functionality to these dimmers.

I did unfortunately find a way to break it.
If one swipes the touch dimmer quickly several times it appears the code may be trying to transmit a whole bunch of new dimmer values.  A worthwhile improvement would be some "if n dimmer setting changes in the last x milliseconds, then wait till it stops changing and send only the last"
The console error is "Uncaught Error: Too many calls in progress"
I'll look in to implementing this, but as I'm not a js programmer in the least I'm not confident in contributing any changes to the codebase.

@chrispo-m
Sure, thank you. Please try to handle it yourself; we can support you if needed.


3.9 and 3.11 Learning Resources

Setup:
Searching Introduction:
run wget https://raw.githubusercontent.com/dolphinalt/SEAL_Fastpages/master/_notebooks/2022-11-29-searching-introduction.ipynb in your _notebooks folder. If that doesn't work for you, try running:
curl https://raw.githubusercontent.com/dolphinalt/SEAL_Fastpages/master/_notebooks/2022-11-29-searching-introduction.ipynb > 2022-12-6-Unit-3.9-3.11.ipynb
Developing Algorithms (Python):
run wget https://raw.githubusercontent.com/dolphinalt/SEAL_Fastpages/master/_notebooks/2022-11-29-Developing-Algorithms.ipynb in your _notebooks folder. If that doesn't work for you, try running:
curl https://raw.githubusercontent.com/dolphinalt/SEAL_Fastpages/master/_notebooks/2022-11-29-Developing-Algorithms.ipynb > 2022-12-6-Unit-3.9-3.11.ipynb
Developing Algorithms (Javascript):
run wget https://raw.githubusercontent.com/dolphinalt/SEAL_Fastpages/master/_notebooks/2022-11-29-developing-algorithms-js.ipynb in your _notebooks folder. If that doesn't work for you, try running:
curl https://raw.githubusercontent.com/dolphinalt/SEAL_Fastpages/master/_notebooks/2022-11-29-developing-algorithms-js.ipynb > 2022-12-6-Unit-3.9-3.11.ipynb
These will contain the lesson, space for you to take notes, and homework!
Key pages:
Purpose and Objectives
Searching Introduction (3.9)
Developing Algorithms (3.11)
Developing Algorithms (3.11) (JavaScript)
Homework:
Issue containing homework submission and requirements
Due: Friday (12/9) 7pm
IMPORTANT NOTICE: Please compile ALL three notebooks (above) into ONE blog post and submit that link for easier grading!!

SEAL fastpages - Alex, Ethan, Lily, Sophia

Link to our planning


*: Fix compile error under clang 17

What problem does this PR solve?
Issue Number: ref https://github.com/pingcap/tiflash/issues/7193
Problem Summary:
What is changed and how it works?

Fix some compile errors under clang 17
Refine the style of release-centos7-llvm/env/prepare-sysroot.sh

Check List
Tests

[ ] Unit test
[ ] Integration test
[x] Manual test (add detailed scripts or steps below)
[ ] No code

Side effects

[ ] Performance regression: Consumes more CPU
[ ] Performance regression: Consumes more Memory
[ ] Breaking backward compatibility

Documentation

[ ] Affects user behaviors
[ ] Contains syntax changes
[ ] Contains variable changes
[ ] Contains experimental features
[ ] Changes MySQL compatibility

Release note

None

/run-all-tests

/run-integration-test


amino/def.h error while calling #include <amino.h>

I installed the amino library from git, following the standard procedure mentioned on http://amino.golems.org/installation.html
After the installation, I verified amino installed as  /usr/local/include/amino-1.0
I wrote a c++ code, which is calling amino library as follow:
#include <amino-1.0/amino.h>
This yields the following error:
/usr/local/include/amino-1.0/amino/la_impl.h:44:23: fatal error: amino/def.h: No such file or directory
#include "amino/def.h"
^
compilation terminated.
As per my understanding, it seems that this is the error on your end. Please do let me know if I had not followed the instruction properly.
Thanks

Will running the command solve the issue? because currently it doesn't seem to work for me. I tried reinstalling it and passing it to the configure file but that also didnot solve the issue.

You need to set the include path for your build system and compiler.  The specific command / syntax depends on your build system.

@mamurtaza88 It sounds like you're trying to compile your code without using a build system. The C and C++ languages are notoriously difficult to compile manually, so a build system is widely considered necessary for doing any useful work in those languages.
You can find a discussion on choosing a build system to use here.

I just added a couple example build scripts (Make and CMake).  Please see these for details on using pkg-config to set the include path: https://github.com/golems/amino/tree/master/demo/build-script

Thank you @ndantam and @mxgrey , I got it working. Really appreciate the help.


Revisit configuration options

As today there is a little bit of confusion about the options to configure the runtime (you can blame me as I introduced them in the early days of camel-k) and I think it is now time to rethink them.
I'm thinking about something like:
--build-property  key=val
--config-property key=val[@build]
--config          configmap|secret|file:name[/key]
--resource        configmap|secret|file:name[/key][@path]

This issue also relates to:

https://github.com/apache/camel-k/issues/1831
https://github.com/apache/camel-k/issues/1680

/cc @astefanutti @squakez

I realise from https://github.com/apache/camel-k-runtime/pull/624, that any ConfigMap or Secret is (attempted to be) loaded as properties file.
I'd agree with @lburgazzoli comment from https://github.com/apache/camel-k-runtime/issues/593:

I think the main issue is that we don't have a way to distinguish between configmaps and secrets used to store properties vs resources.

It seems only application properties files should be mounted into the conf.d directory, while other ConfigMaps and Secrets should be mounted on the side. IIUIC, this is what would be for the --config and --resource options for.
So currently, we have the ServiceBindings, ConfigMaps and Secrets mounted under the conf.d directory. Only the ConfigMaps and the Secrets added with the new --config option should be mounted there. The one added with the existing --resource should be mounted in etc/camel/resources.
That also means the existing --configmap and --secret options are removed.

Yep, I'd also add a new property function on camel-kruntime like resource:name/key to ease the process of loading resources.

Would a configmap resource contain build-properties and config-properties itself?

I am working on this.

@squakez @nicolaferraro @astefanutti
wondering if we should create a configuration trait at this point so when we will implement https://github.com/apache/camel-k/issues/2165, we could also use the same mechanic to attach configuration properties to bindings, kamelets & what noy

Also, in that spirit of moving the configurability responsibility to the traits, it may be logical to:

Move the spec.repositories field (Maven repositories) into the builder trait
Move the spec.serviceAccountName field into the pod trait

@squakez @nicolaferraro @astefanutti
wondering if we should create a configuration trait at this point so when we will implement #2165, we could also use the same mechanic to attach configuration properties to bindings, kamelets & what not

Yes, that seems the best path to follow. As we must ensure compatibility, I may follow an approach where I will develop the feature minimizing the impact on the existing code, if I see it makes sense, and then encapsulating the logic into a separate trait.

Also, in that spirit of moving / "encapsulating" the configurability responsibility to the traits, it may be logical to:
* Move the `.spec.repositories` field (Maven repositories) into the _builder_ trait

* Move the `.spec.serviceAccountName` field into the _pod_ trait

Should we better create a separate issue in order to keep track of this?


Add feature to pass parameters to rules from settings file

This change is

Comments from Reviewable

Reviewed 8 of 8 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

@raghushantha Thanks!


Feature/pwmcore

Maybe we can add some error handling which is not there so far in future.

Yeah error handling sounds good :) But something for the future


Styling: Improve property tooltip

Right now the current property tooltip on the map

Blends into the map since it's white
Doesn't match the style of the rest of the site
The close icon is awardly placed

Change the tooltip to this styling.

Dark background, white text, rounded edges, new close icon, close icon far right inline with the text

It should use the tooltip component or be styled to look like it. I have it built out with different variations. With and without a tick/tail/triangle and with and without a close icon.

Here's the prototype page where the property tooltip appears.

@nlebovits assign to me.

@ajtw7  assigned!

closed by #555, #562


Local privilege escalation with sudoers setup

Hi, at the end you can find my initial email to Åsmund and his reply.
Summary
The issue is regarding this part of the documentation. If you followed the documentation previously and did not include the sha256 hash of the yabai binary in the sudoers file, it opens up the possibility for a local privilege escalation. Take a look at the email at the end if you want to know how and why it works.
Note: The documentation already includes the hint to embed the sha256 sum of the yabai binary to prevent this issue.
My current workaround:
Get the yabai installation path:
which yabai

Get the hash of the yabai binary:
shasum -a 256 /opt/homebrew/bin/yabai | cut -d' ' -f 1

Edit the /private/etc/sudoers.d/yabai manually to look like this (replace YOUR_USER, use the hash from the command above, and check the yabai path):
YOUR_USER ALL = (root) NOPASSWD: sha256:d76b3115ddcbd8f9bd297cda2cd777bd10f1d6db65fd2f7efb2d0336880fe9e0 /opt/homebrew/bin/yabai --load-sa

Now you can save the following bash script and run it manually after an upgrade of yabai took place. It will recalculate the hash and replace it in the corresponding file. Use at your own risk.
#!/bin/bash

# calculate new hash for the binary
SHA256=$(shasum -a 256 /opt/homebrew/bin/yabai | cut -d' ' -f 1)
echo "New yabai hash: $SHA256"

# replace the hash in-place in the sudoers file
sudo sed -i '' -e 's/sha256:[[:alnum:]]*/sha256:'${SHA256}'/' /private/etc/sudoers.d/yabai

As I said in the email, I don't really know the inner workings of brew and hadn't had the time to look into it, so if someone knows a way how to automate this or some other way, please comment.

Initial email:
Hi Åsmund,
I recently installed yabai and noticed an issue while following the documentation.
I thought I'll send you an email first instead of opening a public issue and addressing this.
The documentation 1 for running the yabai --load-sa command as root using
the sudoers policy plugin introduces a local privilege escalation
vulnerability.
POC:
$ which yabai
/opt/homebrew/bin/yabai

$ cd /opt/homebrew/bin
$ mv yabai yabai.bak
$ echo '#/bin/bash\nid' > yabai
$ chmod +x yabai
$ sudo yabai --load-sa

Running sudo yabai --load-sa now results in executing the bash script as root
without the need of a password.
To restore the yabai setup, just rename yabai.bak back to yabai.
The problem is that the yabai executable is owned by the user and, therefore,
the user can change it. This can be fixed by adding a hash of the valid yabai
executable.
Quoting from the sudoers manpage (man sudoers):

A command may be preceded by a Digest_List, a comma-separated list of one or
more Digest_Spec entries.  If a Digest_List is present, the command will only
match successfully if it can be verified using one of the SHA-2 digests in
the list.  Starting with version 1.9.0, the ALL reserved word can be used in
conjunction with a Digest_List.  The following digest for‐ mats are
supported: sha224, sha256, sha384, and sha512.  The string may be specified
in either hex or base64 format (base64 is more compact). There are several
utilities capable of generating SHA-2 digests in hex format such as openssl,
shasum, sha224sum, sha256sum, sha384sum, sha512sum.

For instance, adding a sha256 sum prevents this problem. The corresponding line
in the sudoers file /private/etc/sudoers.d/yabai would look like this:
YOUR_USER ALL = (root) NOPASSWD: sha256:d76b3115ddcbd8f9bd297cda2cd777bd10f1d6db65fd2f7efb2d0336880fe9e0 /opt/homebrew/bin/yabai --load-sa

As the manpage states, instead of the hex value a shorter base64 representation
of the hash can be used as well.
I don't know how homebrew works or if something similiar as "post-install"
scripts can be provided. If that's the case the following script can be run to
update the hash for the yabai binary when the package is upgraded.
#!/bin/bash

# calculate new hash for the binary
SHA256=$(shasum -a 256 /opt/homebrew/bin/yabai | cut -d' ' -f 1)
echo "New yabai hash: $SHA256"

# replace the hash in-place in the sudoers file
sudo sed -i '' -e 's/sha256:[[:alnum:]]*/sha256:'${SHA256}'/' /private/etc/sudoers.d/yabai

The above script works on my M1 MacBook. Maybe it has to be adjusted for other
platforms if brew can be run there, too.
If you have any questions, let me know.
/Max

And Åsmund's reply:
Hey,
You are correct; that is indeed an issue.
The wiki instructions should be updated include this information. From what I can tell it would not be possible to have the hash be updated automatically upon brew upgrade, as the sudoers file requires root privileges to be modified, which brew does not (and should not) have.
I do not have time to do this right away, but feel free to post this as a github issue, including my reply, so that people become aware and can perform preventative measures.
Regards,
Åsmund

Closing this as it is resolved, but I'll leave it pinned for now.

Unpinning now; people who needed to see this should have been able to by now.

Wouldn't it be better, if the installation script will run after it is done?
echo "$(whoami) ALL=(root) NOPASSWD: sha256:$(shasum -a 256 $(which yabai) | cut -d " " -f 1) $(which yabai) --load-sa"  | sudo tee /etc/sudoers.d/yabai >/dev/null


[Feat] Generalized scraper for all labels (SeleniumJS)

Flow

In terminal, node scrape-all for all labels or node scrape-all labelName for single label retrieval
Login to etherscan
Extract all labels from labelcloud
Checks for existing label.json in src/mainnet/all-json which are filtered out
Checks for ignore_list labels which are hardcoded in for being too large (100k+ labels) or bugged (no values)
Loop through filteredLabels and save each label to src/mainnet/all-json as ${label}.json

Noticed a bug. Some labels apparently are empty. Not sure if its caused by scraping too quickly?

Wrote a quick script to check. Apparently 186 labels impacted. I'll try to see if re-running the scraper fixes the problem or introducing a delay.

Fixed the empty labels. Seems there's also some weird issue going on with label scraping where inconsistent labels are getting scraped. Had occasion where I ended up with ~370 labels scraping all and ended up managing to scrape up to 400 labels total on a second run.
Might need to test if we are getting consistent number of labels back from labelcloud and if so, might have an issue elsewhere.


Use transient QoS for the requester/replier data writers/readers

This PR adds the logic needed to apply the durability policy to data readers and writers.
Connects to ros2/rmw#41

Instead of forcing the value to be transient local couldn't we change the default profile for service use the system default? Then if a user passes a custom profile it is still possible to set arbitrary qos values.

I agree with Dirk; I think it's worthwhile to expose durability QoS setting and assign TRANSIENT_LOCAL as the default for client/service DataReaders/Writers, since we've discovered it is relevant to the performance of clients/services.

Currentlythis forces the value to be DDS_VOLATILE_DURABILITY_QOS. Based on the above comments I thought we make this conditional based on the passed in policy?

@dirk-thomas the last commit was part of a test did, but was pushed by error, I'll re-run the CI jobs to make sure everything is ok.

+1


Integrate with Azure Machine Learning

Azure Machine Learning collects data going into the machine learning inferencing service. An important application of this is to analyze how this collected data is changing over time, because when there are significant changes it is time to retrain the model. I would like to see documentation on how Time Series Insights can be leveraged for this purpose.

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

ID: d253e404-b6d3-ad56-4ff2-ce1df956cb6d
Version Independent ID: 1c6e51fe-40fc-ebf2-2bb8-6e5fe509761b
Content: Explore data by using the Azure Time Series Insights explorer
Content Source: articles/time-series-insights/time-series-insights-explorer.md
Service: time-series-insights
GitHub Login: @ashannon7
Microsoft Alias: dpalled

@antelope511 Thanks for the feedback! Can you post this as a feedback @Azure Time Series User Voice. This will allow the community to upvote and for the product team to include into their plans.
We also have the "Give Product Feedback" button in our documents now to take you directly to the appropriate feedback page.

@antelope511 Closing this issue for now. I could not find an entry on user voice but if you create one please share it here so others can upvote your request and help the team to prioritize. Tagging @deepakpalled for awareness.


congelado y con el problema

Repro steps:

Action: appService.showFile
Error type: Error
Error Message: TextEditor#edit not possible on closed editors
Version: 0.9.0
OS: win32

We're refactoring the file edit feature. Closing in favor of https://github.com/Microsoft/vscode-azuretools/issues/177


Pin RapidJSON to stable 1.1.0

Recently, Conda-forge released a new version of RapidJSON, 1.1.0.post20240409. While it was meant to be a cosmetic change on top of 1.1.0, it is affected by a bug in CMake build (https://github.com/conda-forge/rapidjson-feedstock/issues/8, https://github.com/Tencent/rapidjson/pull/2193).
Fix: Pin RapidJSON to stable 1.1.0 version.

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)

@conda-forge-admin, please rerender

Recently, Conda-forge released a new version of RapidJSON, 1.1.0.post20240409. While it was meant to be a cosmetic change on top of 1.1.0,

I didn't get that impression. It was supposed to incorporate a whole raft of improvements over the ancient 1.1.0 release. Occasional hiccups are not impossible in such situations, but in this instance it was quickly addressed.

it is affected by a bug in CMake build (conda-forge/rapidjson-feedstock#8, Tencent/rapidjson#2193).
Fix: Pin RapidJSON to stable 1.1.0 version.

I just want to point out that this "stable" 1.0.0 version is from 2016, and is missing hundreds and hundreds of bug fixes made since, which are only unreleased because rapidjson has inexplicably stopped making releases, period. (We've tried very hard to convince them to change their minds, but had no luck.)
I believe the issue that impacted you with the 1.1.0post20240409 build was already fixed in conda-forge/rapidjson-feedstock#9, was it not? If so, please consider unpinning the dependency and building with a rapidjson that isn't "stable" only by virtue of being fossilized.

It was supposed to incorporate a whole raft of improvements over the ancient 1.1.0 release.

The remark about the changes being cosmetic was probably ill-considered. I take it back.
From my knowledge, there have been changes to how the RapidJSON module should be found in CMake. Let me work on a patch so that Treelite is compatible with the new approach.


Run linters and formatters via pre-commit

Hi again!
While working on https://github.com/prometheus/client_python/pull/794 I had a few flake8 linting errors locally that I didn't catch before pushing and had to push again to fix. On other projects I've found pre-commit very helpful for preventing these errors by forcing linters and formatters to run before committing. This PR adds a pre-commit configuration which includes the existing flake8 and isort checks, plus some basic formatters and linters suggested by pre-commit. I've updated CONTRIBUTING.md to include instructions for setting up pre-commit locally and installing the hooks.
In this initial take on the PR I've left flake8 and isort running through tox as well, but there's a CI service associated with pre-commit at https://pre-commit.ci/ that I like (free for open source projects). It runs pre-commit checks on PRs and sends a PR every week to update the pre-commit check dependencies. It's also possible to run the pre-commit checks in CircleCI, example config here. I'd recommend removing the tox configuration for running flake8 and isort and running them through pre-commit instead, either through pre-commit.ci or CircleCI - your preference, assuming you're interested in this :)

Personally, I am not a huge fan of pre-commit hooks as they add more overhead than I would like for some changes, or when I just want to push my progress somewhere. Yes --no-verify is an option, but I have still found them a bit jarring.

Fair point! However, this set of checks is pretty fast.
At least on my computer, running these pre-commit checks on all files (which is the absolute maximum, since during a commit they'll only run on files in the diff) takes ~4 seconds
❯ time pre-commit run --all
check for added large files..............................................Passed
check python ast.........................................................Passed
check builtin type constructor use.......................................Passed
check for case conflicts.................................................Passed
check docstring is first.................................................Passed
check for merge conflicts................................................Passed
check toml...........................................(no files to check)Skipped
check yaml...............................................................Passed
debug statements (python)................................................Passed
fix end of files.........................................................Passed
flake8...................................................................Passed
isort....................................................................Passed

real    0m4.080s
user    0m8.024s
sys     0m1.443s

I'm running through WSL so I suspect this is longer than average due to how slow WSL is with filesystem operations. In my experience, those few seconds are worth it to not have to wait for CI to fail and do a whole extra commit + push to fix the typos.