Download errors

$ tar xzvf /media/sde1/home/voltagex/src/ffmpeg-static-master/dl/yasm-1.3.0.tar.gz
--2015-10-15 08:36:30--  http://download.videolan.org/pub/x264/snapshots/last_x264.tar.bz2
Resolving download.videolan.org (download.videolan.org)... <IP_ADDRESS>
Connecting to download.videolan.org (download.videolan.org)|<IP_ADDRESS>|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 726062 (709K) [application/octet-stream]
Saving to: ‘STDOUT’

     0K .......... .......... .......... .......... ..........  7%  891K 1s
    50K .......... .......... .......... .......... .......... 14% 1.74M 1s
   100K .......... .......... .......... .......... .......... 21% 1.74M 0s
   150K .......... .......... .......... .......... .......... 28% 1.72M 0s
   200K .......... .......... .......... .......... .......... 35% 1.74M 0s
   250K .......... .......... .......... .......... .......... 42% 1.74M 0s
   300K .......... .......... .......... .......... .......... 49% 1.72M 0s
   350K .......... .......... .......... .......... .......... 56% 1.67M 0s
   400K .......... .......... .......... .......... .......... 63% 1.74M 0s
   450K .......... .......... .......... .......... .......... 70% 1.73M 0s
   500K .......... .......... .......... .......... .......... 77% 1.74M 0s
   550K .......... .......... .......... .......... .......... 84% 1.74M 0s
   600K .......... .......... .......... .......... .......... 91% 1.73M 0s
   650K .......... .......... .......... .......... .......... 98% 1.74M 0s
   700K .........                                             100%  109M=0.4s

2015-10-15 08:36:31 (1.64 MB/s) - written to stdout [726062/726062]

MD5 sum of the downloaded file does not match (file: f40642763bd979fea44c5c3fd73e00f0, requested: 2b712f196293bd04f4241e4f218e102d) - deleting download.
--2015-10-15 08:36:31--  http://mirror2.openwrt.org/sources/last_x264.tar.bz2
Resolving mirror2.openwrt.org (mirror2.openwrt.org)... <IP_ADDRESS>
Connecting to mirror2.openwrt.org (mirror2.openwrt.org)|<IP_ADDRESS>|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2015-10-15 08:36:31 ERROR 404: Not Found.

Download failed.
--2015-10-15 08:36:31--  http://downloads.openwrt.org/sources/last_x264.tar.bz2
Resolving downloads.openwrt.org (downloads.openwrt.org)... <IP_ADDRESS>
Connecting to downloads.openwrt.org (downloads.openwrt.org)|<IP_ADDRESS>|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2015-10-15 08:36:31 ERROR 404: Not Found.

Download failed.
No more mirrors to try - giving up.

the same


[clojure mode] Highlight forms wrapped by (comment ...) as comment.

This PR partially resolves issues #1896 and #2314.

Not too sure about abstracting === into a function, but sure, the mode seems to be improving so I won't nitpick.

Yeah, that was the only part I felt I had gone too far with and was not 100% certain either. I suppose I can limit the usage of is to the scope of the tokenizers only. But please feel free to point out anything that doesn’t feel right. I’m open to any idea that helps improve code quality, readability, and maintainability.


Make permissions checking asynchronous by creating a withBetas HOC

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Problem
The methods in permissions.js file should be asynchronous. They kind of already are if you look at the code, since data is coming from Onyx, but the methods themselves as synchronous, which does not align with how the data is loaded, so there are possible race conditions.
Solution
Implement a HOC withBetas that can be used to show/hide something based on its beta status.
/cc @tgolen @marcaaron

Triggered auto assignment to @SofiedeVreese (AutoAssignerTriage), see https://stackoverflow.com/c/expensify/questions/4749 for more details.

Yeah, I think this is a good move. I'd like to see those moved to an HOC or at the very least be made asynchronous. Without them being asynchronous, we are limited by the amount of checks we can do. For example, we can't use Environment.getEnvironment() because that is an async method.
While this is not currently a problem, I'd like to change this code so that when new betas are added, they do not follow this old sync pattern anymore.

Gonna try to rephrase this problem solution to make sure I understand...
Problem

The beta list is fetched async then saved to storage before it updates the local list in memory.
We also use a native module to determine if the app version is beta which happens async.
Checks in Permissions.js need to wait for those things to happen before returning or else they may be inaccurate.

Solution
Create an HOC to delay rendering the wrapped component until after the async things are finished so we can check the betas via props?
Or was the HOC supposed to work differently...?

What do you mean by delay rendering? As in other HOCs, I think we would not delay it, right? If the betas data is not present, it would render the same as if you were not in any beta and when the data is available, it would re-render.

As in other HOCs, I think we would not delay it, right? If the betas data is not present, it would render the same as if you were not in any beta and when the data is available, it would re-render.

withOnyx delays the rendering of a component until the data is retrieved from AsyncStorage so the Onyx.connect() part of our problem is already solved. That leaves the API call and the native modules async data.
Delaying came to mind since I'd assume we would not want to initialize a view with all beta features disabled by default and then flash in the beta features as the various data becomes available. But if we don't care about that then maybe another idea is to just subscribe directly to the betas key via withOnyx and update it with an action like...
let isOnDev;

function updateBetas(betas = []) {
    if (isOnDev) {
        Onyx.set(ONYXKEYS.BETAS, CONST.BETAS.ALL);
        return;
    }

    Onyx.merge(ONYXKEYS.BETAS, betas);
}

getEnvironment()
    .then((environment) => {
        isOnDev = environment === CONST.ENVIRONMENT.DEV;
        updateBetas();
    });

Now any component that is connected to withOnyx() can just pass this.props.betas to a Permissions.js method to check that feature.
render() {
    if (canUseChronos(this.props.betas)) {
        return (...)
    };
}

export default withOnyx({
    betas: {key: ONYXKEYS.BETAS}
})(SomeComponent);

I'm out of office today so removing my assignment and adding the AutoAssigner label back in for triaging.

Triggered auto assignment to @laurenreidexpensify (AutoAssignerTriage), see https://stackoverflow.com/c/expensify/questions/4749 for more details.

@iwiznia @marcaaron when you reach a consensus here can you please update the O/P to reflect the outcome. Thanks

I think the delayed re-rendering might be a pre-optimization. I'm not sure that there is really a problem with that yet. However, I do kinda like the idea of just using withOnyx (not creating a new HOC) and then passing this.props.betas to the permission methods.

I prefer Onyx solution, a pretty straightforward thing and no need of HOC overhead.

@laurenreidexpensify updated the OP, we are ready to move this forward, can you post it to upwork?

Triggered auto assignment to @timszot (Exported), see https://stackoverflow.com/c/expensify/questions/7972 for more details.

Upwork posting here https://www.upwork.com/jobs/~01f29f2d2fa738d842

Proposal

We Will update all the methods in Permissions.js in a way that they take betas as a parameter.
for example

/**
 * @private
 * @returns {Boolean}
 */
function canUseAllBetas(betas) {
    return isDevelopment() || _.contains(betas, CONST.BETAS.ALL);
}

Now we will  pass the betas at all places where we are calling these methods.
We will get the betas from Onyx by subscribing over the components as it makes the process synchronous.
for ex:

withOnyx({
    betas: {key: ONYXKEYS.BETAS}
})(SomeComponent);

then updating the call as to canUseAllBetas(this.props.betas) .

@timszot these remain daily until we have a PR up and merged 👍🏽

@parasharrajat I think that sounds like a good proposal, but please take a look at this usage: https://github.com/Expensify/Expensify.cash/blob/71c58ee8b17fce1503a8c9cabfcdc630b6fc5d2f/src/libs/OptionsListUtils.js#L336
It is going to be the most difficult one since the betas will have to be passed down through several layers. Can you please update your proposal to include this? Thanks!

Better approach would be use the Onyx.connect method to pass the betas to getOptions but that goes against the desired behavior. We want to wait until betas is ready on Onyx so subscribing at component level helps but Onyx.connect will not.
So we can do the following:

Subscribe to ONYXKEYS.BETAS at page level(SearchPage).
Modify the getOptions to accept betas as optional Config Param

function getOptions(reports, personalDetails, draftComments, activeReportID, {
        betas = [],
        ....

which will be used at https://github.com/Expensify/Expensify.cash/blob/71c58ee8b17fce1503a8c9cabfcdc630b6fc5d2f/src/libs/OptionsListUtils.js#L336

Modify getSearchOptions to take another parameter betas.
https://github.com/Expensify/Expensify.cash/blob/71c58ee8b17fce1503a8c9cabfcdc630b6fc5d2f/src/libs/OptionsListUtils.js#L365
pass down the betas from getSearchOptions to getOptions config key betas

Yep, I think that's the approach we need to take with this! It's a good
proposal now. Let's go with it. Green light!
On Tue, Jun 1, 2021 at 10:08 AM Rajat Parashar @.***>
wrote:

Better approach would be use the Onyx.connect method to pass the betas to
getOptions but that goes against the desired behavior. We want to wait
until betas is ready on Onyx so subscribing at component level helps but
Onyx.connect will not.
So we can do the following:

Subscribe to ONYXKEYS.BETAS at page level(SearchPage).
Modify the getOptions to accept betas as optional Config Param

function getOptions(reports, personalDetails, draftComments, activeReportID, {
betas = [],
....
which will be used at
https://github.com/Expensify/Expensify.cash/blob/71c58ee8b17fce1503a8c9cabfcdc630b6fc5d2f/src/libs/OptionsListUtils.js#L336

Modify getSearchOptions to take another parameter betas.

https://github.com/Expensify/Expensify.cash/blob/71c58ee8b17fce1503a8c9cabfcdc630b6fc5d2f/src/libs/OptionsListUtils.js#L365
2. pass down the betas from getSearchOptions to getOptions config key
betas
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Expensify/Expensify.cash/issues/3194#issuecomment-852248231,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAJMAB5ATBG4XM3USEGGXJDTQUAWFANCNFSM45VGQQ4Q
.

@parasharrajat have hired you in Upwork 👍🏽

Payment has been issued in Upwork @parasharrajat 😃


Please review changes, before combining forces

Hi, it would be great if you had the chance to review (and maybe test) the changes we have done...
The idea was that we could merge our two repositories, for the new machine-drivers organization ?
@SvenDowideit

Great, let's gather issues


getReadableVersion() and getVersion() returning "null.0" and null respectively

The above mentioned two methods are working correctly for iOS but returning null values for Android.
import DeviceInfo from 'react-native-device-info';

...

getDeviceInfo = () => {
    return {
      appBuildNumber: DeviceInfo.getBuildNumber(),
      appVersion: DeviceInfo.getReadableVersion(),
      getVersion: DeviceInfo.getVersion(),
      getApplicationName: DeviceInfo.getApplicationName(),
      hardware: DeviceInfo.getDeviceId(),
      deviceOSVersion: DeviceInfo.getSystemVersion(),
      manufacturer: DeviceInfo.getManufacturer(),
      brand: DeviceInfo.getBrand(),
    };
  }

Is something wrong with the way that I am using it ?
Can I change something in this repo to fix the issue ?

Check the example app - those are working fine, so I suspect a project-local issue (link failure usually). If the example app returns null then maybe we have a device-specific issue and we can reopen and triage

Hey @mikehardy, thank you for your response. I am pretty new to React Native. Can you tell me what you mean by link failure. I tried to google it but did not get anything useful.

@shikhar91939  welcome to react-native then :-), and your first issues getting native modules working - I believe it is a rite of passage, so you now you are a true react-native developer haha. I mean that (assuming npm for these examples, yarn would work too but slightly different commands) -

npm install react-native-device-info is first to install the module, then you:
npm link react-native-device-info to integrate the module into your Java/iOS projects (at least "auto-linking" coming in react-native 0.60 is out and implemented, for 0.59 and lower, you must link)
then the import in the actual javascript implementation, which seems correct

If you look at refresh-example.sh you'll see an example of how to automatically construct an example app, all linked in. Then the example itself (which is just the committed app built from refresh-example you can see it running, and it does work

Thanks a lot for the help @mikehardy !


No process with the specified id is currently running

Sometimes while editing files (while the .NET Watch debugger is running), I'll be typing and get this popup:

When it happens, it usually happens a few times in a row. Any idea what is triggering this? It's not even when hitting CTRL+S or saving the file, it's just while I'm editing a file (usually a .cs file).

interesting, is it possible to give a repro for me to look at? I haven't been able to reproduce this behavior.
How this extension works (in essence):
Generates a task (instead of having you to create tasks.json yourself), start and add it to cache.
Running a Timer (SetInterval) to scan for processes in cache, started by us to attach every second. AttachDotNetDebugger
there's this:
debug.onDidTerminateDebugSession(DebuggerService.TryToRemoveDisconnectedDebugSession);, which means we hook onto vscode's on any termination of a debug session, we will populate the cache of disconnected debug sessions.
AttachDotNetDebugger will:

Check if the intended process is not in both running debugs and disconnected debugs
if so, we will add it running debugs and start a debug session
if intended process is in disconnected debugs

2.2 terminate the task

@murugaratham Unfortunately so far I've only experienced this in a repo I can't share, but I'll let you know if I can get it happening in a test repo.
I think things start to go wrong if the dotnet process crashes, and then your extension doesn't realize it?

Do you have auto save enabled or any extensions that might do it?
Also, if you have vs code integrated terminal in view, do you see if dotnet watch is restarting?


Update require to hyperlink in README.md

The README example "Update stakepool parameters on the blockchain"
contains an old hyperlink, Unlock ,  to ff-testnet script

Unlock the existing mypool.pool.json file and edit it. .....

Also in "Change" in script info
05a_genStakepoolCert.sh:
.
.
want to change some parameters, simply change them in the json file and rerun the script again

internal links changed, thx.


Some General Questions

This isn't so much an Issue, but rather starting a thread in here;
First of all, Great work!
After reading through the Algo.md & Demo.md it looks really promising.
But i still have some Questions left open:
What exactly is LyCORIS?:
Because as i Understood it:

LoRA: The "Normal" Baseline,
LoCon: Introduction of a Convolution Network, which allows the model to also train the Res-Blocked parts, which "prevent" overspecialisations and in theory should also increase the Flexibility. (Depracted and turned into This)
LoHa: Utilizing the Hadamard Product representation, which allows for better weighting generation, and also saves Memory
CP-Decomposition: Speeding up the CPU, with negligible Accuracy loss
LyCORIS: Convolution Network (LoCon) + Hadamard Product Representation (LoHa) + CP-decomposition

Which together means:

Better Learning Rates
More Flexible final Product
Less Memory used
Faster Processing

Or am i Missing/ Misunderstanding Something?

As it Currently stands LyCORIS only works for SD; Does that Include SD-Based models like Anything or HD, or only the "Real" Stable Diffusion Releases?
Also less of a question, but how will your project be maintained in the future, as i didn't see any update function?
And will you Co-Operate with Bmaltais again, to make Lycoris a Standard Feature of the GUI, just like LoCon?
Edit: OK i'm stupid After updating Bmaltais GUI the option is now there, without the need to specifically install from the directory, as the Gui handles it itself including (I assume) updating itself...
Sorry if some of those questions sound stupid, but i'm neither a Mathematician, nor a Computer Engineer, and i have a fairly hard time wrapping my head around a lot of the inner workings of what exactly is happening.

Cool, I had exactly the same questions ;D
Also: If I understand it correctly, Hadamard allows for higher rank approximation with less parameters. However, in the original LORA paper they stated that for finetuning on special tasks, the rank is extremely low anyways and more parameters usually just end up in more noise. Do you have any experiences that using Hadamard is leading to better models or, the other possibility, to more overfitting?

Me personally no,
I dabbled a bit around with creating style LoRA's, just stumbled across this.
Considering Hadamard (according to the paper) as an "Upgrade", the result should be more compact and also more flexible, due to it having a larger capacity:

In this work, we propose a communication-efficient parameterization, FedPara, for federated learning (FL) to overcome the burdens on frequent model uploads and downloads. Our method re-parameterizes weight parameters of layers using low-rank weights followed by the Hadamard product. Compared to the conventional low-rank parameterization, our FedPara method is not restricted to low-rank constraints, and thereby it has a far larger capacity. This property enables to achieve comparable performance while requiring 3 to 10 times lower communication costs than the model with the original layers, which is not achievable by the traditional low-rank methods. The efficiency of our method can be further improved by combining with other efficient FL optimizers. In addition, we extend our method to a personalized FL application, pFedPara, which separates parameters into global and local ones. We show that pFedPara outperforms competing personalized FL methods with more than three times fewer parameters. (From https://arxiv.org/abs/2108.06098)

The Idea that this could lead to more Overfitting is interesting though, but should be fairly manageable by utilizing a lower Learning rate (what you should normally do for LoHa anyway), and just Lowering the Epoch/Step Count.
Also overfitting should (in theory) also be Counteracted by the Convolution network re-introducing Res-Blocked parts.
Not fully sure if that is how it works, but in theory overfitting is a symptom of too much training, and if LyCORIS cuts down on the training time by automatically making training more efficient i'm all for it.
I'm gonna assume we will have to find new training Parameters that "Work well", but that is a small price to pay for the Upsides we should be getting...

1, True
2, Basically yes. just train lora on conv.
3, True, False. Hadamard product representation need a little bit more memory.
4, cp-decomposition is another way to decompose the multi-dim tensor (like the weight for convolution layer). Allows you to get same rank with more less parameter, and take less computation power.
5, LyCORIS is the name for this project, I will continuously add new algo into this project.
Can this answer your question?

Another question, I don't want to open a new issue as I'm not sure if its really a bug, but:

    def forward(self, x):
        if self.cp:
            return self.dropout(
                self.org_forward(x)
                + self.lora_up(self.lora_mid(self.lora_down(x)))
            ) * self.multiplier * self.scale
        else:
            bias = None if self.org_module[0].bias is None else self.org_module[0].bias.data
            return self.op(
                x,
                (self.org_module[0].weight.data
                + self.dropout(self.make_weight()) * self.multiplier * self.scale),
                bias,
                **self.extra_args,
            )

why is in the cp case the output of lora+original output multiplied with the multiplier?

You should maybe mention where its from,
Namely Locon.py line 86f
The Locon.py out of the archive indeed had
def forward(self, x):         bias = None if self.org_module[0].bias is None else self.org_module[0].bias.data         return self.op(             x,             (self.org_module[0].weight.data               + self.dropout(self.make_weight()) * self.multiplier * self.scale),             bias,             **self.extra_args,         )
which means you are correct?
I'm going to leave the honors of creating a Pull Request and Issue to you.
Nice Catch !

Another question, I don't want to open a new issue as I'm not sure if its really a bug, but:
    def forward(self, x):
        if self.cp:
            return self.dropout(
                self.org_forward(x)
                + self.lora_up(self.lora_mid(self.lora_down(x)))
            ) * self.multiplier * self.scale
        else:
            bias = None if self.org_module[0].bias is None else self.org_module[0].bias.data
            return self.op(
                x,
                (self.org_module[0].weight.data
                + self.dropout(self.make_weight()) * self.multiplier * self.scale),
                bias,
                **self.extra_args,
            )

why is in the cp case the output of lora+original output multiplied with the multiplier?

I think you can go ahead and crate an Issue/ Pull Request for that.
I have no idea if that is actually correct or not, but i highly assume it is.
I would only have mentioned where to find it, namely:
venv\lib\site-packages\lycoris\locon.py
in Line 86 following.
Band aid fix until a new version that is more than a single bugfix is read to be release, would be to manually edit the two lines to fix it...

yeah, after reading a paper about cp-decomposition on convolutional neural networks I'm pretty sure the fix is correct. I made a pull request.


More interrupt attributes needed

This is a reminder that we need to create 2 more interrupt attributes:

Interrupt ID: this attribute specifies the interrupt ID/number for each interrupt. With this information, the compiler can automatically generate a table of function pointers for all ISRs which will become the contents of the mtvt table.

An attribute to specify whether each interrupt will use vector mode (inline-ABI) or common-code mode (C-ABI). This is used for selective vectoring.

Constructing the interrupt table in the compiler sounds hard.  Because of separate compilation, the compiler can't expect to see all of the functions.  This actually has to be done in the linker.  But the linker isn't designed to construct RISC-V vector tables.  This might require a new linker feature which would be complicated.  An alternative might be to add a library that has table of functions and somehow overwrite table entries, but then we have compiler plus linker plus library patch which is just as complicated.  I would want to see a credible plan for how to implement this in both gcc and llvm before adding it to the specification.

The C-ABI model uses regular C functions.  There is no interrupt attribute necessary there.  Interrupt attributes are only for the inline-ABI case.

I think the programmer should do this. You can create a table of function pointers anywhere in memory (sufficiently aligned) and make a single call/asm instruction to write a pointer to the table into mtvt

I believe this is done by setting nvbits to 1 and then setting or clearing the LSB of clicintcfg[i] for each interrupt. If the bit is set for interrupt i then it is hardware vectored to an interrupt attribute function via the table pointed to by mtvt. If the bit for interrupt i is cleared then the (assembly language, possibly compiler runtime library) function pointer stored in mtvec is called and it eventually after saving registers etc calls the C ABI function pointer stored in the table pointed to by mtvt.

Thus, as I understand it, you can mix standard C functions and interrupt C functions in the same table of function pointers, and choose the calling mechanism for each one using the LSB of clicintcfg[i] for each interrupt i.
It is the programmer's responsibility to correctly set cliccfg and clicintcfg to make this work. This can of course be hidden in a library, with for example each interrupt set up with a call such as setInterrupt(int i, void (*handler)(), enum {CABI, InterruptABI} mode) and then the appropriate value for clicintcfg calculated and installed by another function.

Hi Jim:

Constructing the interrupt table in the compiler sounds hard. Because of separate compilation, the
compiler can't expect to see all of the functions. This actually has to be done in the linker. But the linker
isn't designed to construct RISC-V vector tables. This might require a new linker feature which would be
complicated. An alternative might be to add a library that has table of functions and somehow overwrite
table entries, but then we have compiler plus linker plus library patch which is just as complicated. I
would want to see a credible plan for how to implement this in both gcc and llvm before adding it to the
specification.

Here is the approach in our NDS32 toolchain, we've construct the default one in weak symbol, and built that in an archive within GCC[1].
Compiler will generate strong symbol if interrupt N is given, then put pointer of interrupter handler into .nds32_vector.N section to make sure the right order during link time. That's relay on the behavior of the linker will merge section with same prefix, and then the default one will be override by linker due to strong/weak symbol merge rule.
So in our experience, it can be done in compiler plus a library without linker modification.
[1] https://github.com/riscv/riscv-gcc/tree/riscv-gcc-8.2.0/libgcc/config/nds32/isr-library

Hi Bruce,

 I think the programmer should do this. You can create a table of function pointers anywhere in memory (sufficiently aligned) and make a single call/asm instruction to write a pointer to the table into mtvt

If there are only 10 interrupts, I definitely agree with you. However, if there are 500 interrupts, manually creating this function pointer table becomes a daunting task!  Any slightest typo or misplacement in ordering will create hideous bugs. And, believe me, it is no fun to debug interrupt handlers. Therefore, this automation with compiler/linker will be very handy and save users tons of trouble/problems.  As an aside, we have already implemented this attribute in GCC (for previous Andes architecture) and our customers like it a lot.

 I believe this is done by setting nvbits to 1 and then setting or clearing the LSB of clicintcfg[i] for each interrupt. If the bit is set for interrupt i then it is hardware vectored to an interrupt attribute function via the table pointed to by mtvt. If the bit for interrupt i is cleared then the (assembly language, possibly compiler runtime library) function pointer stored in mtvec is called and it eventually after saving registers etc calls the C ABI function pointer stored in the table pointed to by mtvt.

Thus, as I understand it, you can mix standard C functions and interrupt C functions in the same table of function pointers, and choose the calling mechanism for each one using the LSB of clicintcfg[i] for each interrupt i.
The reason I suggest to use an attribute is because the compiler needs to compile them differently. For in-line ABI, the compiler must only use callee-saved registers. On the other hand, for C-ABI, the compiler can treat the function normally.
It is the programmer's responsibility to correctly set cliccfg and clicintcfg to make this work. This can of course be hidden in a library, with for example each interrupt set up with a call such as setInterrupt(int i, void (*handler)(), enum {CABI, InterruptABI} mode) and then the appropriate value for clicintcfg calculated and installed by another function.
Alternatively, we can create similar “intrinsic functions” to register interrupt. The main advantage is that we no longer need (or rely on) the library anymore.  Actually, we have also implemented these functions in GCC for our previous CPU products.
CONFIDENTIALITY NOTICE:
This e-mail (and its attachments) may contain confidential and legally privileged information or information protected from disclosure. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution, or use of the information contained herein is strictly prohibited. In this case, please immediately notify the sender by return e-mail, delete the message (and any accompanying documents) and destroy all printed hard copies. Thank you for your cooperation.
Copyright ANDES TECHNOLOGY CORPORATION - All Rights Reserved.

Sorry, I sent the previous reply by e-mail but the formatting got all dropped and messed up. Hope you can still find my replies and comments (under each section).

Hi Bruce,

I think the programmer should do this. You can create a table of function pointers anywhere in >memory (sufficiently aligned) and make a single call/asm instruction to write a pointer to the table >into mtvt

If there are only 10 interrupts, I definitely agree with you. However, if there are 500 interrupts, manually creating this function pointer table becomes a daunting task!  Any slightest typo or misplacement in ordering will create hideous bugs. And, believe me, it is no fun to debug interrupt handlers. Therefore, this automation with compiler/linker will be very handy and save users tons of trouble/problems.  As an aside, we have already implemented this attribute in GCC (for previous Andes architecture) and our customers like it a lot.

I believe this is done by setting nvbits to 1 and then setting or clearing the LSB of clicintcfg[i] for >each interrupt. If the bit is set for interrupt i then it is hardware vectored to an interrupt attribute >function via the table pointed to by mtvt. If the bit for interrupt i is cleared then the (assembly >language, possibly compiler runtime library) function pointer stored in mtvec is called and it >eventually after saving registers etc calls the C ABI function pointer stored in the table pointed to by >mtvt.

The reason I suggest to use an attribute is because the compiler needs to compile them differently. For in-line ABI, the compiler must only use callee-saved registers. On the other hand, for C-ABI, the compiler can treat the function normally.

It is the programmer's responsibility to correctly set cliccfg and clicintcfg to make this work. This can >of course be hidden in a library, with for example each interrupt set up with a call such as >setInterrupt(int i, void (*handler)(), enum {CABI, InterruptABI} mode) and then the appropriate value >for clicintcfg calculated and installed by another function.

Alternatively, we can create similar “intrinsic functions” to register interrupt. The main advantage is that we no longer need (or rely on) the library anymore.  Actually, we have also implemented these functions in GCC for our previous CPU products.

I concur with Jim & Bruce, the array of pointers to interrupt handlers is an application issue and should not be a compiler/linker concern; the compiler should be neutral to device specifics.
In the Cortex-M world, the silicone vendors provide a file with this flash stored array (part of CMSIS), pointing to fixed name functions, defaulting to a no-op handler.
The application programmer does not have to manually create this table, he only has to include this file and redefine the handlers relevant for his application; very convenient.
If you prefer to maintain a custom compiler which includes such tables for all your devices, feel free to continue to do so, but I think it is not realistic to expect all silicone vendors to do the same, or to contribute patches to the compiler for all their distinct devices.

If most people think it is fine to manually create the vector table (a table of function pointers up to 1024 items), then we don't need these new attributes.  We can always revisit and create them in the future if people find them necessary.


Upgrade module to terraform 0.13

I don't believe this is required: the module as-is is compatible with terraform 0.12 still.


Could not get this working with Xgimi Horizon Pro 4k

Thanks for writing up this integration!
Sadly I could not get it working for me.
I copied the xgimi folder to /config/custom_components
Restarted home assistant
and added this to my configuration.yml after getting the ip address of it.
remote:
  - platform: xgimi
    name: horizon_pro
    host: <IP_ADDRESS>

Restarted home assistant again.
and afterwards it does show up in my entities:

However the status is always off (whether the projector is on or not)

And the projector doesn't react to any commands I send it.

I tried: up, down, right, play, poweroff. Nothing happens 🤷♂
Any idea why it's not working?
I did upgrade my Xgimi to the latest firmware, and mine is running Android TV version 10

Hi @MarkLyck , thanks for your interests, I am not sure if there is something different for a international version of XGIMI.
From your description, it seems that your XGIMI is running on native Android TV system, correct? If that is the case, you can use androidtv directly.  Because for the China version XGIMI projector is running on a customized system based on Android 8.
If androidtv is not working for you and want to try on this integration, please provide more information and let's see if we can find out:

home assistant log when you send command while the projector is powered-on
Some screen shots of your XGIMI setting pages


Update NB.GV version to recognize GitHub Actions v2

Testing fix for https://github.com/AArnott/Nerdbank.GitVersioning/issues/375
Do not complete this PR. You will want an official NB.GV version -- not this PR build.

OK, well I'm not sure why the action is failing, but we're not going to see PublicRelease=true unless this is actually building in a public branch in your repo anyway. Can you take my commit and make a local branch called stable-version-test and push it to your repo and check the result?

It works!

https://github.com/ctaggart/froto/pull/111/checks?check_run_id=196042834

It passed my second test too. I created a branch and squash merged it in to the original test branch. All the versioning worked as I expected. Thank you!


[Bug] Traffic lights stuck when minimum time is 0 and flow ratio option not default

If I set a few timers for intersections and I set so the minimum time is 0 and skip if the flow is 0, when there's no flow, the count down of the previous state resets.
IIRC, I was able to do this 2 versions ago. Possible regression.
Using stable version 10.18.
Description short because the mkv and gif shows it all.
Light setup for step2 (3,4 and 5 is basically the same just for the junction to the right)

Summary in a gif:

traffic lights stuck.mkv.zip I thought a video would show more than images for this specific case. OBS didn't make the traffic lights easy enough to see.
Summary is: Making a wave of greens and allowing a traffic light to skip if no traffic.
State 1: Make all bottom ones green
State 2,3,4: Make green for the side lane and to the right in the bottom road
Player log. I removed references to personal stuff on my machine.
Save game:
https://steamcommunity.com/sharedfiles/filedetails/?id=1718059760
Note: I wanted to use some mod that would generate traffic making use of the intersections for this testing but I couldn't find one in a quick enough search.
For now, I'm putting 1s times to deal with this bug.

Hi @brunoais, thanks for the detailed report.
I think they've always worked this way, and there can even be problems when min and max are both set to 1, particularly on the testing mode.
We're planning to do a big update to traffic lights at some point in the future (see tagged issues below) so we'll make sure this issue gets addressed when we do that.
Tagging #8 and #278
Regarding traffic spawner mods, I don't think any exist at the moment.

@aubergine10 It also happens when there's traffic. I'll try to get you a gif with that.

@aubergine10 It also happens when there's traffic. Here's (hard to see... blame the recorder) a gif with that.

Ok, we'll see if we can find and fix the problem when we update the traffic lights code.


java-microprofile: /openapi/ui doesn't show my app's endpoints

Describe the bug
During local dev, /openapi/ui doesn't show my app's endpoints. It only lists endpoints from javametrics.
Note: This is because mpOpenAPI-1.1 feature only scans one jax-rs app. if there is more than one jax-rs app, it'll scan only one. And in this case, it picks javametrics. mpOpenAPI-1.1 doesn't provide a way to specify which app to scan.
To Reproduce

appsody init java-microprofile
appsody run
Go to http://localhost:9080/openapi/ui

Expected behavior
Expected to see starter app's endpoints
Actual behaviour
Saw endpoints from javametrics
If applicable please specify:

CLI version: 0.4.10
Stack you are using (including the version<EMAIL_ADDRESS>
Screenshots
N/A
Additional context
N/A

@navidsh  you might want to try the java-openliberty stack, which is also based on Open Liberty but, because it doesn't use the javametrics instrumentation, does not use the second app.
(Unless you were in need of specific metrics, since at the moment, java-openliberty only uses MicroProfile metrics which to my understanding, only contains a subset of the javametrics info).

@scottkurz @navidsh Is there still an issue that needs to be worked upon or can we close this?

We're not going to fix this. Closing


ancom returns false positives in small tables

When you are dealing with small tables, 10-20 features, it's possible to get a W of 0 and True in the reject  column (significant features with a W of 0). This is expected based on how the algorithm works so it should raise a warning/error on this cases.

:+1:  We probably should raise a warning if a table with <20 features is
used.
On Tue, Jun 7, 2016 at 9:12 PM, Antonio Gonzalez<EMAIL_ADDRESS>wrote:

When you are dealing with small tables, 10-20 features, it's possible to
get a W of 0 and True in the reject column (significant features with a W
of 0). This is expected based on how the algorithm works so it should raise
a warning/error on this cases.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/biocore/scikit-bio/issues/1376, or mute the thread
https://github.com/notifications/unsubscribe/AD_a3asSr1kaxLOlSlmBfEutfczuzN4sks5qJkFJgaJpZM4IwlDD
.

I agree that this would be useful. Where does the number 20 come from? Do the developers of ANCOM recommend that?

That was just based on looking at Antonio's table. I'm not sure exactly
what would be a good threshold.
On Jun 8, 2016 6:49 AM, "Greg Caporaso"<EMAIL_ADDRESS>wrote:

I agree that this would be useful. Where does the number 20 come from? Do
the developers of ANCOM recommend that?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/biocore/scikit-bio/issues/1376#issuecomment-224594245,
or mute the thread
https://github.com/notifications/unsubscribe/AD_a3fu8wsBpYEPQSuH3WYHECWk111Iwks5qJshOgaJpZM4IwlDD
.

Putting this on 0.5.0 milestone, it'll be important to figure out the minimum number of samples and features required by the method, and probably raise an error if the input is smaller than that (unless there's a good reason to only warn).

I'm going to review the paper to see if there is a recommendation on this. I'm not comfortable setting any kind of threshold (on minimum number of samples or features) unless we can back it up though.

I don't see any recommendation about this in the supplement or the main text of the paper. @wdwvt1, do you happen to know if there are recommendations for minimum number of features or samples that should be used with ANCOM? If not, should we ask the first/last authors what they think?

Reopen if this hasn't been addressed


power10:  Fix build issues due to perl scripts conversion

Due to recent perl script conversion, there are some build
errors when compiling openblas with advance toolchain compilers.

Thank you (Pity that these did not show up in CI)


VHT list synch same as Ambulance driver list

If this is referring to the the synch that is executed in the VHTListActivity the problem is simply the Uri being used to invoke the background synch.
However, there is no notion of a "VHT" specific object in the data model. Both VHT's and Midwive's are considered Observer records but differ in the "role" assigned to them. Basically the VHT Activities and fragments on the client are redundant with the Observer activities and fragments. The upshot of that is the synch should get invoked using the Observer.CONTENT_URI with the role="vht" query parameter. We can discuss further at Wednesday's meeting or assign it to someone in the meantime. If either @donrukanga1 or @galimwavu have time during the day Wednesday, please take a look. Thanks.

Hello Eric. I have implemented it with the VHT activities and fragments. may be on Friday we will discuss about it. thanks. Though the VHT part is not implemented at the server side. I stand to be corrected

Thanks @galimwavu. The VHTs aren't implemented as a separate model in the database. They are just treated as Observers with role="vht". On the client side, they should get synched with the Observer accounts as had been implemented. To pull them up in the UI, you should just need to query the Observer table and include the "role", etc. We can discuss more on Friday.

The server is sending the VHT first and last names which are probably more intuitive than displaying the "username"-we really should not be displaying the "username" here anyway for security purposes anyway.


Support formats on types

e.g. date-time formatting. This is a semi-builtin feature of the jsonschema library, so it should be quite doable. See this man entry for more information.

I believe v2 comes with validation and casting of the build in formats (int, bool, datetime, date).
Another thing we can do is user defined formats. Swagger 2.0 actually allows for any string to be used as a format. If pyramid_swagger accepted a mapping of "format name -> validator function" it could use the function to validate and cast the value to the expected type.
I think it could accept that mapping from the pyramid registry user_format_validators maybe?
On the client side these formats would be purely documentation.

[pyramid_swagger] Get the registered validator functions and pass them to bravado
[bravado] Somewhere here check if format_name is available in registered validators. If yes, use it else ignore.
[client side bravado] Ignore the format if not present in built-ins

@prat0318 @analogue is this fixed by the move to use bravado-core? Do we have any tests in place to ensure it works?

Part of bravado-core is implemented. I have yet to send a PR for pyramid_swagger for integrating this part with bravado-core.


(BKR-934) Allow for whitespace in settings

Previously all whitespace was automatically removed from all input. This
commit removes that behavior, allowing for values with whitespace in
them to be properly generated.
This change means users are responsible for properly quoting, escaping,
or URL-encoding the whitespace as necessary.

@waynr @kevpl For review.

I suppose this is technically a breaking change, so once this is merged I'll do an 0.8.0 release.

I'm 👍 on the change. I'm confused about the version number though. Breaking changes are Y releases? Do we have a link/doc explaining why they're note X releases?

@kevpl we're following the semver rule for 0.x versions: http://semver.org/#spec-item-4
Basically in major version 0 anything can change at any time (so API is unstable). But for the sake of API consistency and loose pinning in project repos we are staying backwards compatible API-wise on patch level versions and bumping minor versions for small backwards incompatible changes.

@kevpl Yep, what Wayne said.
@waynr Do you approve of these changes?

ah cool. Thanks for the clarification guys!


Access to a first webcomponent

Hello,
We wanted to analyse the possibility to use the webcomponents in our softwares for UHMEP prescriptions.
Is it possible to give us an access to the first webcomponent ?
We wanted to see what are the limits, how it can be integrated in our soft, what it looks like, ...
In the meeting of 10/11/2023 the first webcomponent should be available on the 30/11/2023 but I can't find it.


Login form size

Description
Add a max width to the login form, when the user enters from a desktop, the form is so big

can you assign me this..

Hey @itsalb3rt  could you please assign this to me?

Here is how it looks with the implementation

Sure @DoritosXL !

ready #77


Problem with phantom tic tac toe

Hey there, I was looking at the phantom tic-tac-toe implementation, specifically the information state tensor:
void PhantomTTTState::InformationStateTensor(Player player,
                                             absl::Span<float> values) const {
  SPIEL_CHECK_GE(player, 0);
  SPIEL_CHECK_LT(player, num_players_);

  // First 27 bits encodes the player's view in the same way as TicTacToe.
  // Then the action sequence follows (one-hot encoded, per action).
  // Encoded in the same way as InformationStateAsString, so full sequences
  // which may contain action value 10 to represent "I don't know."
  const auto& player_view = player == 0 ? x_view_ : o_view_;
  SPIEL_CHECK_EQ(values.size(), kNumCells * kCellStates +
                                    kLongestSequence * (1 + kBitsPerAction));
  std::fill(values.begin(), values.end(), 0.);
  for (int cell = 0; cell < kNumCells; ++cell) {
    values[kNumCells * static_cast<int>(player_view[cell]) + cell] = 1.0;
  }

  // Now encode the sequence. Each (player, action) pair uses 11 bits:
  //   - first bit is the player taking the action (0 or 1)
  //   - next 10 bits is the one-hot encoded action (10 = "I don't know")
  int offset = kNumCells * kCellStates;
  for (const auto& player_with_action : action_sequence_) {
    if (player_with_action.first == player) {
      // Always include the observing player's actions.
      values[offset] = player_with_action.first;  // Player 0 or 1
      values[offset + 1 + player_with_action.second] = 1.0;
    } else if (obs_type_ == ObservationType::kRevealNumTurns) {
      // If the number of turns are revealed, then each of the other player's
      // actions will show up as unknowns.
      values[offset] = player_with_action.first;
      values[offset + 1 + 10] = 1.0;  // I don't know.
    } else {
      // Do not reveal anything about the number of actions taken by opponent.
      SPIEL_CHECK_EQ(obs_type_, ObservationType::kRevealNothing);
    }

    offset += (1 + kBitsPerAction);
  }
}

Firstly, values[offset + 1 + 10] = 1.0;  // I don't know. should be 1 + 9 I believe since actions range from 0-8 and not 1-9.
Second, we offset offset += (1 + kBitsPerAction); in any case. In the default case of ObservationType::kRevealNothing, I think we should only offset in the if and the else if, but now in the else (right now we always offset).
For instance, with ObservationType::kRevealNumTurns we could get, for player 0's info string:
move 0: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0]
move 1: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
move 2: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
move 3: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0]
move 4: [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0]
move 5: [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

(and you can see that the last "i don't know" action isn't set to 1, as per my previous point).
With ObservationType::kRevealNothing, we get:
move 0: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0]
move 1: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
move 2: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
move 3: [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0]
move 4: [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0]
move 5: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

So well, we can still see the number of moves the opponent did by counting the lines of zeros.

I see that the problem is exactly the same in Dark Hex 3. Am I maybe missing something?

I believe you're right (at least for both issues in Phantom TTT -- haven't looked at Dark Hex). Nice find.
Can you submit a PR fix?
I think the the information state size also be smaller then in the case of kRevealNothing (since its upper bound is smaller). And then we can put a check that the offset has reached the exactly the size of the container at the end of the function (like we do in other games).
If/when you're convinced that this is also an issue in Dark Hex, can you open another issue that refrers to this one? (Maybe also listing the code as you did here)


No support for UseDevelopmentStorage=true on connection string

Package Name:  azure-data-tables
Package Version: 12.4.0
Operating System: Ubuntu
Python Version: 3.9

Describe the bug
It's not possible TableServiceClient.from_connection_string() method with UseDevelopmentStorage=true as input, which is basicaly same issue as issue 13100 in azure-sdk-for-js.
The solution to that issue also works here: when UseDevelopmentStorage=true is provided as the connection string it should use the following connection string instead: DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;TableEndpoint=http://<IP_ADDRESS>:10002/devstoreaccount1
To Reproduce
from azure.data.tables import TableServiceClient

table_client = TableServiceClient.from_connection_string("UseDevelopmentStorage=true")

Expected behavior
Should connect to emulator.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

Hi @LuckyLub - Thanks for opening an issue! We'll investigate this asap!


Motion capture system GPS

@basil-huber I removed the changes made in the project for the demo. They are in the branch demo/drone_dome.
I think we can merge now.


Add box shadow for React Native.

shadowOffset:{  width: 10,  height: 10,  },
shadowColor: 'black',
shadowOpacity: 1.0
This is the solution to show shadow for React Native components

Thanks for your solution. It worked well

This isn't an issue or feature request, so going to close the ticket. If you'd like to add some docs to the react native section of the website, that'd be cool!


The :app project is special

Just how special :app is not clear from the documentation.
Process to reproduce.

[ ]  clone the project's git repository
[ ] git mv app foo
[ ] ./gradlew build -> see error below

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine the dependencies of task ':bespin:compileJava'.
> Could not resolve all dependencies for configuration ':bespin:compileClasspath'.
   > Project with path ':app' could not be found in project ':bespin'.

Resolution:

[ ] change :app to :foo in two files

[ ] ./gradle/plugins/base-plugins/src/main/kotlin/org.example.consistent-resolution.gradle.kts
[ ] ./gradle/plugins/base-plugins/src/main/kotlin/org.example.root.gradle.kts

This may be the intended behavior but it was not what I expected.
The documentation around :app including dependencies should get some attention.
My specific issue was that I created an application with a different name.
It was unable to resolve any dependencies unless it shared that dependency with :app.

Thanks for the feedback. It is indeed intentional. Do you have suggestion where I could put some more documentation? Inside the build scripts you needed to touch?
To explain:

org.example.root.gradle.kts - This is for making the build easier accessible. The assumption is that :app:run is the central method to run the application. So we add a lifecycle task for it to the root project. The idea is that if you run :tasks you only see the tasks you usually need to work on the project to make the project easier to access for users working with it for the first time. This is completely optional.
More explanation: https://www.youtube.com/watch?v=sOo0p4Gpjcc&t=1m17s
org.example.consistent-resolution.gradle.kts - This follows the idea, that :app is special in so far that it provides the complete runtime classpath and with that the dependency versions that will be used "for real". So we pull that into all projects with consistent resolution to make sure we use these versions everywhere.
More explanation: https://www.youtube.com/watch?v=YYWhfy6c2YQ&t=5m05s


docs(devs-infra): correct some mistakes on doc homepage

Correct some mistakes on home page of doc

Pull Request Test Coverage Report for Build 411580559

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 93.59%

Totals

Change from base Build 410735850:
0.0%

Covered Lines:
940

Relevant Lines:
970

💛  - Coveralls


Deprecated twine_graph_struct::pristine

No modules use it, except to support its presence
It needlessly complicates workflow processing
It violates the workflow model by allowing modules to ignore and opt out of the processing flow

Instead, we should just use twine_graph_struct::store throughout. If pristine is turned into void *reserved, there should be no binary-compatibility impacts.

Required to sensibly implement #23


Only PR active/recent repos

I have over 200 public repos on my GitHub, accumulated over the past decade. With the recent run I have 39 open PRs across my repos, many of which are against projects that are not active/not relevant/dead.
Some examples are a Win8 XAML project or a WinJS wrapper.
Could there be some intelligence added to the repo detection, that if there hasn't been a commit since a pre-determined point in time (maybe since before the CA team existed), the repo is ignored? I'd argue that if you haven't committed to a repo since the CA team was created, it's probably not impactful to our tracking.

To avoid the same number of pull requests next month, I recommend merging the Pull Requests opened this month.
I know it sucks, but it's insanely easier to merge its PRs than it would've been to update your READMEs by hand.
It was expected that this tool would fine a lot of missing WebTrends queries during its first run and thus open a lot of PRs. After merging this month's PRs, you will receive substantially less PRs next month.

I don't really feel like merging is a best outcome here though. The result of these PR's is that it's now surfacing up projects that are long past being relevant. If you look at my current repo list (from an in-private session) the top three projects are things that dead (having had no commits for between 2 and 9 years).

Now sure, I should archive old repos, but with over two hundred repos it's a lot of effort for minimal impact.
It also doesn't address the underlying cause, so the next person who joins the CA team may well find themselves in a similar situation. Or if we change how the tracking codes are done, then we're back to the same problem.
I see value in the tool, in much the same way I see value in DependBot. But like DependBot, there's a bunch of times that it provides me with PRs on projects that it's low-value to fix, resulting in noise that I'm disinterested in and diminishing the overall value.

I highly recommend that you merge the PRs to understand which GitHub repositories do have an impact with the developer community.
Without using WebTrends, you don't have insight into which of your GitHub repos are receiving engagement from the community. You'll likely be surprised that a few repos you think are "dead" are actually receiving engagement. But we can't know which repos are receiving the most engagement without leveraging WebTrends.
For me, I learned that a few repos I had assumed were "dead" weren't, and thus began to actively maintain those repositories again.
I get it - it requires some time to merge the PRs. I too have over 200 repos and this tool opened 50+ PRs for me. It took about 20 minutes to merge all 50+ Pull Requests.

Related https://github.com/brminnick/GitHubReadmeWebTrends/issues/15

I just realized I never answered your initial feature request, @aaronpowell!
I'm totally down for giving each Advocate the ability to surgically opt-out specific repos, instead of opting-out completely as is the functionality today.
I personally don't have the bandwidth today to work on this feature today, so I've added the 'help wanted' label to encourage anyone to take the lead.

Spec
Add website that allows each Azure Advocate to opt-out specific repos.

[ ] Add page to Opt Out Website

[ ] Provide dropdown that includes every GitHub repo for the signed-in user
[ ] Allow each repo to be tagged as "opt out"

[ ] Opt Out Database

[ ] Add Repository table

[ ] GetGitHubReposFunction

[ ] Add logic to verify whether the repository retrieved from the GitHub API is (or is not) in the Repository table in the Opt Out Database


Split image visualizer to watermap

We might want to merge these changes to main, so I will leave it for now.


Updates "msw" to 0.29.0

Changes

Updates msw to 0.29.0 to include "Fallback mode".

Since the peer depdendency of msw is specified as a wildcard (*), the newest version of the package should propagate to the actual addon users automatically. We should reconsider using the wildcard, as it may leak breaking changes to the users of yet non-updated addon versions.

@kettanaito looks good! any reason not to already merge this (after fixing merge conflicts)?

@yannbf, I've rebased the branch and it should be good to go.

It looks like the tests fail unable to resolve msw-storybook-addon during the test run. Please, @yannbf, would you have a chance to look into this?

@kettanaito super nice that you setup tests in github actions! One test case is failing.
There seems to be an issue related to the link protocol I put in the package.. at least from what I see in the logs:
warning Pattern ["msw-storybook-addon@link:packages/msw-addon"] is trying to unpack in the same destination "/home/runner/.cache/yarn/v6/npm-msw-storybook-addon-1.1.0/node_modules/msw-storybook-addon" as pattern ["msw-storybook-addon<EMAIL_ADDRESS>This could result in non-deterministic behavior, skipping.

I don't understand exactly what's going on, but I believe the dependency is not being installed, and then the test fails as it tries to fetch a non-existent dependency

Any updates on this? Would love to see it land so I can try out vite-storybook-builder in our monorepo.


Beautify files of type HTML(Angular) doesn't work as expected for HTML files

Hi
Suddenly after recent update to atom 0.200 or 0.201 beautifying HTMLs suddenly became different.
most notably it doesn't respect the HTML config for preserve_newlines, and breaking lines.
I found that now my html files were auto detected as HTML (Angular) type, and that once I manually chose HTML beautifying went back to normal.
Any idea why HTML (Angular) is behaving badly compared to HTML?
Thanks!

Atom Beautify treats HTML (Angular) internally as Embedded JavaScript (EJS). See https://github.com/Glavin001/atom-beautify/blob/3913267804995c33d595df9d8ba54b21837f443d/src/languages/ejs.coffee#L13
EJS is handled by the Pretty Diff beautifier: https://github.com/Glavin001/atom-beautify/blob/3913267804995c33d595df9d8ba54b21837f443d/src/beautifiers/prettydiff.coffee#L20
The basic HTML grammar is treated as a separate language, simply HTML: https://github.com/Glavin001/atom-beautify/blob/3913267804995c33d595df9d8ba54b21837f443d/src/languages/html.coffee#L17
The HTML language is handled by both:

Pretty Diff: https://github.com/Glavin001/atom-beautify/blob/3913267804995c33d595df9d8ba54b21837f443d/src/beautifiers/prettydiff.coffee#L21
JS Beautify: https://github.com/Glavin001/atom-beautify/blob/3913267804995c33d595df9d8ba54b21837f443d/src/beautifiers/js-beautify.coffee#L8
with JS Beautify being the default.

Thus switching from HTML to HTML (Angular) grammar actually changes beautifiers from JS Beautify to Pretty Diff. /cc @prettydiff
If it is behaving badly, please provide examples such that @prettydiff can help. You can create issues for Pretty Diff over at https://github.com/prettydiff/prettydiff

Thanks!
Then maybe the reason I see such a big difference in their output is that my project uses a .jsbeautifyrc config file but doesn't have a similar config file for prettydiff? I couldn't see a description for such a file for prettydiff. Do you know of such a way to set a project config file?

The settings for EJS should fallback on js and html, such that your html config in your .jsbeautifyrc file should apply: https://github.com/Glavin001/atom-beautify/blob/3913267804995c33d595df9d8ba54b21837f443d/src/languages/ejs.coffee#L6
Currently the .jsbeautifyrc file works for retrieving the options, regardless of beautifier. It was originally for js-beautify, however now at Atom Beautify supports many more, it still works. This may be renamed in the future.
If you could provide some concrete examples of the differences and what exactly is wrong with Pretty Diff's beautification, then we could look into it. If the file is pure HTML, then I recommend using HTML as the grammar and having Atom Beautify use the HTML Beautify in JS Beautify.

the most notable difference is preserve empty lines that seems like prettydiff ignores completely
try this with prettydiff.com with EJS type:

        lalala

        lululu

another issue is that it messes with line breaks.
first case - removes line break in empty tag:

second case - add line break in long attribute list - seems like it has a default wrap marker at 80 chars:

Definitely forward these issues over to @prettydiff at https://github.com/prettydiff/prettydiff

Is there any way to get beautify to not classify HTML (Angular) as EJS? I'm having a formatting problem too with HTML (Angular) files. I'd rather the files just be treated as HTML files, without having to manually set each file as HTML. Is this possible in any way?

The two issues:

Empty lines

I am rewriting my markup parser. The new parser will preserve most empty lines.
I do not plan to preserve empty lines in some cases where it isn't helpful. The example above is one of those cases. Code is much easier to read and understand when a closing tag immediately follows its opening tag if there are not child nodes.

You can fix the wrapping right now. Pretty Diff has a wrap property that when set to 0 removes wrapping as you desire. This option was added due to multiple requests. Read the atom-beautify documentation to see how the wrap property is implemented.

@prettydiff @Glavin001 I'm already using "wrap_line_length": 0 in my config. Is the key name different for prettydiff?

Does not look like the wrap property is supported, yet, in Atom Beautify: https://github.com/Glavin001/atom-beautify/blob/master/src/beautifiers/prettydiff.coffee#L9-L16
Documentation for all of the supported options can be found here: https://github.com/Glavin001/atom-beautify/blob/master/docs/options.md
There are a number of Pretty Diff options that are not yet supported in Atom Beautify: https://github.com/Glavin001/atom-beautify/issues/297
I'll hopefully get some time to complete that soon.

I have added support for wrap_line_length to Pretty Diff beautifier. See all available options for Pretty Diff in docs: https://github.com/Glavin001/atom-beautify/blob/master/docs/options.md#pretty-diff

Awesome. Thanks for adding support for wrap_line_length with Pretty Diff @Glavin001

You're very welcome.
Can this issue be closed, too? What else is left todo?

Let me know there is any options for Atom Beautify to add to support this.
For the future: You can trick Atom into updating Atom Beautify's dependencies, such as Pretty Diff, by uninstalling Atom Beautify and reinstalling it. Atom will install the latest version of Atom Beautify's dependencies, and you will have the most up-to-date version of Pretty Diff and be able to test these changes @prettydiff is working on.


error: cannot find symbol import android.support.v4.app.ActivityCompat;

Info
System:
    OS: macOS 12.1
    CPU: (8) x64 Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz
    Memory: 147.09 MB / 16.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 16.13.1 - /usr/local/bin/node
    Yarn: 1.22.17 - /usr/local/bin/yarn
    npm: 8.3.0 - /usr/local/bin/npm
  SDKs:
    iOS SDK:
      Platforms: DriverKit 21.2, iOS 15.2, macOS 12.1, tvOS 15.2, watchOS 8.3
  IDEs:
    Android Studio: 2021.1 AI-211.7628.21.2111.8092744
    Xcode: 13.2.1/13C100 - /usr/bin/xcodebuild
  npmPackages:
    react-native: 0.61.3 => 0.61.3
    ```

    In latest version it is throwing error

    ```
GPSStateModule.java:15: error: cannot find symbol
import android.support.v4.app.ActivityCompat;
                             ^
  symbol:   class ActivityCompat
  location: package android.support.v4.app
    ```

    Hello @neuberoliveira  can you please update it

Info
System:
    OS: macOS 12.1
    CPU: (8) x64 Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz
    Memory: 147.09 MB / 16.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 16.13.1 - /usr/local/bin/node
    Yarn: 1.22.17 - /usr/local/bin/yarn
    npm: 8.3.0 - /usr/local/bin/npm
  SDKs:
    iOS SDK:
      Platforms: DriverKit 21.2, iOS 15.2, macOS 12.1, tvOS 15.2, watchOS 8.3
  IDEs:
    Android Studio: 2021.1 AI-211.7628.21.2111.8092744
    Xcode: 13.2.1/13C100 - /usr/bin/xcodebuild
  npmPackages:
    react-native: 0.61.3 => 0.61.3
    ```

    In latest version it is throwing error

    ```
GPSStateModule.java:15: error: cannot find symbol
import android.support.v4.app.ActivityCompat;
                             ^
  symbol:   class ActivityCompat
  location: package android.support.v4.app
    ```

    Hello @neuberoliveira  can you please update it

+1

Info
System:
    OS: macOS 12.1
    CPU: (8) x64 Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz
    Memory: 147.09 MB / 16.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 16.13.1 - /usr/local/bin/node
    Yarn: 1.22.17 - /usr/local/bin/yarn
    npm: 8.3.0 - /usr/local/bin/npm
  SDKs:
    iOS SDK:
      Platforms: DriverKit 21.2, iOS 15.2, macOS 12.1, tvOS 15.2, watchOS 8.3
  IDEs:
    Android Studio: 2021.1 AI-211.7628.21.2111.8092744
    Xcode: 13.2.1/13C100 - /usr/bin/xcodebuild
  npmPackages:
    react-native: 0.61.3 => 0.61.3
    ```

    In latest version it is throwing error

    ```
GPSStateModule.java:15: error: cannot find symbol
import android.support.v4.app.ActivityCompat;
                             ^
  symbol:   class ActivityCompat
  location: package android.support.v4.app
    ```

    Hello @neuberoliveira  can you please update it

+1


Merge commits into latest branch without making a merge commit

Stop merge commits from showing up https://github.com/levibostian/action-hide-sensitive-inputs/commits/latest

This might help give ideas https://dev.to/jenc/git-rebase-for-preventing-merge-commits-2len

This is not the only repo that has a latest branch. Other repos might have ideas.

For now, I am going to make this a low priority. It's not a huge deal because latest is a branch that is meant for tags to exist and be hidden from the public.
My current idea is to refactor my deployment to modify semantic-release's behavior of pushing git commits.
Rather then this workflow:

Push commits on main.
Merge commits from main to latest (which is what creates the merge commits)
Run semantic-release on latest
semantic-release/git plugin makes release commit and pushes to latest branch

Do this workflow:

Push commits to main
Run semantic-release on main
Make release commit for generated files
Push commit to latest branch, not main branch

I got this idea from publish-latest npm package.


Keyserver fallback

If primary keyserver - keyserver.ubuntu.com is down, fallback to secondary pool.sks-keyserver and continue. Both keyservers would use port 80 to communicate, to allow communication in proxy environments.
This addresses a common exception scenario with keyservers.

@askmish why p80 and not just the pool (i.e. hkp://pool.sks-keyservers.net)?

More info here: https://sks-keyservers.net/overview-of-pools.php

p80.pool.sks-keyservers.net
This is a pool containing only servers available on port 80 (needs to be used as hkp://p80.pool.sks-keyservers.net:80)


fix: Fixes #18519 - makes DefinePlugin quieter under default log level

Fixes #18519

What kind of change does this PR introduce?
Technically a bugfix but more like removing an annoying log.

Did you add tests for your changes?
This does not change any functionality and there is no test to check for verbosity of logs. I was wrong. I am fixing related tests right now.

Does this PR introduce a breaking change?
No.

What needs to be documented once your changes are merged?
Default logging behavior of DefinePlugin - but that is already not documented, so no new behavior from the perspective of documentation. It would definitely be nice to add that to the docs.

@alexander-akait I would argue that this definition fits well.

logger.debug(...): for debugging information. These messages are displayed only when user had opted-in to see debug logging for specific modules

Repeating that one line of log with no other information or context to go with it, is causing more noise than giving useful information. I think if that line of log said where the code was replaced while debugging DefinePlugin, that would at least amount to useful information.
I would also argue that if we definitely need a log, webpack must display one unique log line item per replaced variable for logger.log level while logger.debug could be used to say which exact file and what line it happens at. That way debugging is easier and regular operation is not aggressively verbose.
What are your thoughts on this?

I am fine with logger.debug

And other improvements

And other improvements

I will try to open a separate PR for it since it involves a bit more logic. Thanks, @alexander-akait !


Dependency resolution details / results are exposed via build operations

This PR adds Details/Result types to the BuildOperation wrapping dependency resolution. The build scan plugin will use this interface to move away from directly accessing configurations by iterating over project.allProjects.
I raise this PR to get early feedback while working in parallel on adding more integration test coverage for this.

related CI build: https://builds.gradle.org/viewLog.html?buildTypeId=Gradle_Check_Stage_BranchBuildAccept_Trigger&buildId=9185298&branch_Gradle_Check_Stage_BranchBuildAccept_Trigger=breskeby/resolve-deps-build-operations

crucible review is available at https://code-review.gradle.org/cru/REVIEW-6570

Added test coverage for normal builds, composite builds and detached configurations. When this passed CI, I plan to merge this into master if there are no objections as this is blocking build scan plugin work.


Feat: Add U8 extraction/packing

Another key feature of libWiiSharp that is essential for this library is the ability to extract and pack U8 archives.  They are not compressed or encrypted in any way, so extracting and packing them shouldn't be too difficult.

U8 archive extraction is now fully functional! A function exists in the U8 module to use a new U8Archive() object to extract the data of a U8 archive out into a folder. Folder loading and U8 packing code is currently being worked on, however code is already working to dump an existing U8 object back into the raw data of a U8 file.


SAVE on GitHub button color in top bar

What's done:

Fixed SAVE on GitHub button color to be text-light (as is for all the other buttons in top bar)

Was:

How it looks now:

it was intentionally ...

it was intentionally ...

But it looked very annoying (


log feature - support use of the log crate

Hi,
This pull request allows the use of the log crate with error chain. It extends  Result and Error with functions to log the errors and their causes. Please let me know if you would be willing to accept it. Example:
...
let mut req = cl.get(&*url)
        .send()
        .chain_err(|| GetUrl(url.to_string(), "Failed to read".to_string()))
        .loge()?;
...

This will print the following given a badurl:
ERROR|rget::errors|Unable open url: 'badurl' : 'Failed to read'
ERROR|rget::errors|     caused by: relative URL without a base

Features:

Zero-cost: is enabled only by the log feature. If the feature is not used there is no cost.
Great effort was made to maintain full backwards compatibility, even if the feature is enabled.
All tests pass with  the feature disabled or enabled (e.g. cargo test --features log && cargo test)
Supports error!, warn!, info!, debug!, trace! with the chainable functions loge(),logw(),logi(),logd(),logt()
The user can choose the logger  front end for logging, the feature supports any logger that implements the log crate.

Missing:

More tests for the log feature
Documentation
Provide a way to change the "caused by" string used to display the chained errors
Add cargo test --features log to travis

NOTE: travis test with rust 1.10 fails because 1.10 does not support #[cfg(feature(...)] for conditional macro execution. I don't think there is any need to spend time on this, since 1.11 works OK. If you agree, maybe the travis minimum version should be updated to rust 1.11

Can't this be put into a separate crate? This would be the better solution IMO as the feature is mostly orthogonal.


where are the txt data files for training auto encoders

in file train_atuo_encoder.sh
where  are the files?
train=/afs/inf.ed.ac.uk/group/project/img2txt/encdec/dataset/wiki-full/norm_all/auto-encoder-data/train.txt
valid=/afs/inf.ed.ac.uk/group/project/img2txt/encdec/dataset/wiki-full/norm_all/auto-encoder-data/valid.txt
test=/afs/inf.ed.ac.uk/group/project/img2txt/encdec/dataset/wiki-full/norm_all/auto-encoder-data/test.txt

"We use a sequence auto-encoder (SAE; Dai and Le 2015) to train the LSTM sentence encoder on both the complex and simple sentences."
So you can simply concatenate train/valid/test.src and train/valid/test.dst to train/valid/test.txt.
But please do remember to exclude sentences in valid/test sets from training. Usually there shouldn't be any such sentences, but you should always check that.
Here is an example script https://github.com/XingxingZhang/dress/blob/master/scripts/get_auto_encoder_data/gen_data.sh


[SPARK-43973][SS][UI] Structured Streaming UI should display failed queries correctly

What changes were proposed in this pull request?

Handle the exception message from Structured Streaming's QueryTerminatedEvent in StreamingQueryStatusListener, so that the Structured Streaming UI can display the status and error message correctly for failed queries.
Why are the changes needed?

The original implementation of the Structured Streaming UI had a copy-and-paste bug where it forgot to handle the exception from QueryTerminatedEvent in StreamingQueryStatusListener.onQueryTerminated, so that field is never updated in the UI data, i.e. it's always None. In turn, the UI would always show the status of failed queries as FINISHED instead of FAILED.
Does this PR introduce any user-facing change?

Yes. Failed Structured Streaming queries would show incorrectly as FINISHED before the fix:

and show correctly as FAILED after the fix:

The example query is:
implicit val ctx = spark.sqlContext
import org.apache.spark.sql.execution.streaming.MemoryStream
spark.conf.set("spark.sql.ansi.enabled", "true")
val inputData = MemoryStream[(Int, Int)]
val df = inputData.toDF().selectExpr("_1 / _2 as a")
inputData.addData((1, 2), (3, 4), (5, 6), (7, 0))
val testQuery = df.writeStream.format("memory").queryName("kristest").outputMode("append").start
testQuery.processAllAvailable()

How was this patch tested?

Added UT to StreamingQueryStatusListenerSuite

Merging to master/3.4

@rednaxelafx @gengliangwang Looks like CI is failing for 3.4, FYI

Thank you for reporting, @kazuyukitanimura . I'm looking at it now

The difference is the following. I'll make a follow-up PR quickly.

https://github.com/apache/spark/pull/41150


Refactor + Test Coverage + Nuget Deploy

The CI should now deploy to nuget automatically.
To help test this out i've written some tests for the library. I'm realising there is no way to use the lib without an external provider so I probably need to have a think about the architecture, for now it works for me so will ship this as a prerelease

#14 Related


Training get slower with increasing epochs

almgcu.yaml.txt
When I trained the model on my own data (input config posted above, modified based on example.yaml), I found that as the number of epochs increases, the training process becomes slower and slower. The results in metrics_epoch.csv are as follows:

Here, we can see that the first epoch took only ~1h, while the 8th epoch took ~8h. If I interrupt the training process and restart it, the first epoch after restarting takes about 1h again, but it gets slower and slower afterward. I'm not sure if I'm doing something wrong that's causing this strange behavior.

Hi @zjgemi ,
Thanks for your interest in our code!
This is a known issue related to the underlying PyTorch:  https://github.com/mir-group/nequip/discussions/311
Could you please report your PyTorch and CUDA versions, try the latest nequip develop, which may have a fix?
After checking that I suggest you use one of the recommended PyTorch versions from the linked issue (https://github.com/mir-group/nequip/discussions/311) if possible.

My previous version was torch 2.0.0+cuda 11.7. When I switch to torch 1.11.0+cuda 11.3, the training speed increases significantly and no longer slows down as the number of epochs increases. Thank you!

Glad to hear @zjgemi .  Were you able to test whether the latest develop branch still exhibits the issue with PyTorch 2.0 on your system?


Retained Messages limited to 250

Describe the bug
I'm using Server Retained Messages Sample as my MQTT server.
I published data to 500 unique topics with retain flag. The server successfully stored messages and topics on the json file.
But, when I try to subscribe to all topics using another client at later stage, I'm only getting 250 topics and their messages.
It seems like something is limiting the number of topics we can get.
Which component is your bug related to?

Server

Found the solution. It is not a bug.
To fix this you can use WithMaxPendingMessagesPerClient.
The setting MaxPendingMessagesPerClient defaults to 250.
var optionsBuilder = new MqttServerOptionsBuilder()
   .WithMaxPendingMessagesPerClient(1000);


Authpolicy/v1beta3

Closes: https://github.com/Kuadrant/kuadrant-operator/issues/809
This change introduces the AuthPolicy v1beta3.
The RouteSelector has being removed from the API. There is still work required to bring in the Section Name to the API.
In the Docs only the reference to the RouteSelector has being removed from the reference sections. The guides have not being updated to use v1betat3. I expect this to happen with or shortly after the adding of the Section Name.
A number of integration test have been removed which depend on or directly tested the behavior around the RouteSelector.

@KevFan The sample authpolicy that I can update no problem.
I don't feel updating the guides right now is the best thing to do right now. These guides will need to be again updated when the section name is introduced. I had the intentional decision not to update guides till we had the section name in place.

Can we also delete api/v1beta2/route_selectors.go?

@guicassolato yes, I had it remove and reintroduced it when trying to fix test. I most have forgotten to remove it afterwards. It was never meant to make it into this PR.

The guides have not being updated to use v1betat3. I expect this to happen with or shortly after the adding of the Section Name.

Maybe I'm being naive here, but with this PR (unlike #875), we should be able to "just" sed s/v1beta2/v1beta3/g across all md files and docs would be done, no? Personally, I wouldn't wait for sectionName thing to do that if it turns out to be indeed that easy. This way, we have functioning docs from day 1, and section name can be only about adding stuff.

@guicassolato using sed would be the fastest way to do this, but there is reference to the route selectors in the guides. So it is not just a matter of doing a find and replace. I will work on that refactor now. That said I think we can merge the current changes without the docs update.

@guicassolato using sed would be the fastest way to do this, but there is reference to the route selectors in the guides. So it is not just a matter of doing a find and replace. I will work on that refactor now. That said I think we can merge the current changes without the docs update.

No problem, @Boomatang. If you prefer this way, I'm OK with it.
Let's just make sure we don't cut a release of the Operator before fixing those references in the docs. Especially if the route selectors are mentioned, then IMO it's imperative that we remove them as soon as possible.
cc @maleck13


Upgrading checkbox

updates checkbox
adds custom API for onChange. This will make it more intuitive for it to use.
confirms to #1293

Failed pictures (2): failed-pictures.zip

:postbox: Posted by artipost.io, through Travis build 501873576, for commit 290a228.

@cromefire ready for review

ping


Update azure-cosmos to 4.22.0

Updates com.azure:azure-cosmos from 4.21.1 to 4.22.0.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.azure", artifactId = "azure-cosmos" } ]

labels: library-update, early-semver-minor, semver-spec-minor

Superseded by #50.


updated implementation of sort in DG

Coverage remained the same at 89.911% when pulling 59b67741ec4d81431f29db94a62f00b898cd388b on ALim95:uodate_DGSort into f6e002ec6a114b8b6c0fa93d37e59c8ccdc28c57 on CS2103AUG2017-T15-B4:master.


vue-cli-service serve not working with IE11

Version
3.8.2
Reproduction link
https://github.com/joelearn/ie11-dev-server-issue
Environment info
System:
  OS: Windows 10
  CPU: (4) x64 Intel(R) Core(TM) i5-7440HQ CPU @ 2.80GHz
Binaries:
  Node: 10.13.0 - C:\Program Files\nodejs\node.EXE
  Yarn: Not Found
  npm: 6.9.0 - C:\Program Files\nodejs\npm.CMD
Browsers:
  Edge: 41.16299.1004.0
npmPackages:
  @vue/babel-helper-vue-jsx-merge-props:  1.0.0
  @vue/babel-plugin-transform-vue-jsx:  1.0.0
  @vue/babel-preset-app:  3.8.0
  @vue/babel-preset-jsx:  1.0.0
  @vue/babel-sugar-functional-vue:  1.0.0
  @vue/babel-sugar-inject-h:  1.0.0
  @vue/babel-sugar-v-model:  1.0.0
  @vue/babel-sugar-v-on:  1.0.0
  @vue/cli-overlay:  3.8.0
  @vue/cli-plugin-babel: ^3.8.0 => 3.8.0
  @vue/cli-plugin-eslint: ^3.8.0 => 3.8.0
  @vue/cli-service: ^3.8.0 => 3.8.0
  @vue/cli-shared-utils:  3.8.0
  @vue/component-compiler-utils:  2.6.0
  @vue/preload-webpack-plugin:  1.1.0
  @vue/web-component-wrapper:  1.2.0
  eslint-plugin-vue: ^5.0.0 => 5.2.2 (4.7.1)
  vue: ^2.6.10 => 2.6.10
  vue-eslint-parser:  2.0.3 (5.0.0)
  vue-hot-reload-api:  2.3.3
  vue-loader:  15.7.0
  vue-style-loader:  4.1.2
  vue-template-compiler: ^2.6.10 => 2.6.10
  vue-template-es2015-compiler:  1.9.1
npmGlobalPackages:
  @vue/cli: Not Found

Internet Explorer: 11.1029.16299.0

Steps to reproduce

Create a new projectvue create new-project

Choose the default settings (babel, eslint)
Add all polyfills based on the third option from the docs
babel.config.js: module.exports = {
    presets: [
      ['@vue/app', { useBuiltIns: 'entry' }]
    ]
  }

Top of main.js:import '@babel/polyfill'

npm run serve
Open http://localhost:8080/ in IE11

What is expected?
The Welcome page loads.
What is actually happening?
A blank screen.
Error in console:
SCRIPT1002: Syntax error
app.js (4001,1)

A workaround is to install an older version of webpack-dev-server.
npm i -D<EMAIL_ADDRESS>
The dev server has been working fine in IE11 until recently. Due to the workaround above I suspect something has changed in webpack-dev-server to cause it not to load in IE.

I have the same problem. https://github.com/webpack/webpack-dev-server/issues/1981 might be related to this issue

This should be solved with v3.70:
https://github.com/webpack/webpack-dev-server/releases/tag/v3.7.0

it does not work with 4.3

Then  open an issue please.

4.5.19 not working either


QA standards code doc

All QA's will meet or create a doc with all style rules that the developers needs to follow. this can be made easier if all dev's have the same tailwind and prettier rules enforced.
Referred to Process.md, Phase 3, step 1 and the styleguide

if everyone is done with their part and are confident in their commits, and Talitha has checked the doc and given her feedback, this issue can be moved to complete, and the doc can be uploaded to the repo? @FransoArbela @myrset @Janicke92 @pauiws // @Mayamariaruth @Tomatsuppe11211 @BtheBEST84 what do you think?

@kristinatonnessen yes, sounds good! It looks great, amazing work everyone :)


etcdctl cluster health - unhealthy

etcdctl cluster-health
cluster may be unhealthy: failed to list members
error: client: etcd cluster is unavailable or misconfigured; error #0: client: endpoint http:/<IP_ADDRESS>:2379 exceeded header timeout ubuntu software dial tcp <IP_ADDRESS>:4001: getsockopt: connection refused

Problem Solved. - typo in ca-config.json caused all certs to be invalid. once corrected had to recreate all certificates, copy to serve and reload config. All controllers started now...


Dependency Licensing and Vulnerability Tracking

DependaBot
CodeQL analysis (complete? python only?)
Other code scanning?

for the record: https://geekflare.com/find-python-security-vulnerabilities/
bandit looks good!

tested https://pypi.org/project/license-scanner/
works well like Bandit.

done!
here the whitelists: https://github.com/towercomputers/toweros/blob/dev/tower-lib/pyproject.toml#L40-L58
and here is an example when neither the package nor its license are in one of the two whitelists.
https://github.com/towercomputers/toweros/security/code-scanning?query=is%3Aclosed+branch%3Adev

Great!!!

There is just a small problem with CodeQL which does not take into account this line: https://github.com/towercomputers/toweros/blob/dev/tower-lib/towerlib/provision.py#L153
See https://github.com/github/codeql/issues/11427
That's mean we need to close manually, in the Github UI, this one https://github.com/towercomputers/toweros/security/code-scanning?query=is%3Aopen+branch%3Adev
This should happen very rarely.. no point I think to use a hack to solve the problem.. @adamkrellenstein if ok for you I close this issue.


Cluster update fails, enable_binary_authorization conflicts with enable_autopilot

I ran into this issue when I enabled the autopilot option on my cluster. I thought it might have to do with the way I configured my cluster but it occurs even when no other argument is set.
Steps to reproduce

Run pulumi new in empty directory, choose gcp-go template
Replace the contents of main.go and go.mod with code below
Run pulumi up

main.go
package main

import (
	"github.com/pulumi/pulumi-gcp/sdk/v4/go/gcp/container"
	"github.com/pulumi/pulumi/sdk/v2/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := buildCluster(ctx)
		if err != nil {
			return err
		}
		return nil
	})
}

func buildCluster(ctx *pulumi.Context) (*container.Cluster, error) {
	return container.NewCluster(ctx, "cluster", &container.ClusterArgs{
		EnableAutopilot: pulumi.Bool(true),
	})
}

go.mod
module foo

go 1.16

require (
	github.com/pulumi/pulumi-gcp/sdk/v4 v4.21.0
	github.com/pulumi/pulumi/sdk/v2 v2.25.0
)

pulumi up output
Previewing update (production)

View Live: https://app.pulumi.com/organization/foo/production/previews/bar

     Type                      Name            Plan       Info
 +   pulumi:pulumi:Stack       foo-production  create
     └─ gcp:container:Cluster  cluster                    1 error

Diagnostics:
  gcp:container:Cluster (cluster):
    error: gcp:container/cluster:Cluster resource 'cluster' has a problem: ConflictsWith: "enable_binary_authorization": conflicts with enable_autopilot. Examine values at 'Cluster.EnableBinaryAuthorization'.

I just upgraded to v5. I thought there might be a change in there that would solve this too. But unfortunately the error still occurs.

Is there a workaround available? This blocks us from deploying a new stack using pulumi :(

@Zubnix I was not able to find a workaround. Hoping this will be fixed soon.

The same:
error: gcp:container/cluster:Cluster resource 'autopilot' has a problem: ConflictsWith: "enable_binary_authorization": conflicts with enable_autopilot. Examine values at 'Cluster.EnableBinaryAuthorization'.
export const k8sCluster = new gcp.container.Cluster("autopilot", {
  enableBinaryAuthorization: false, // true|false, doesn't matter
  enableAutopilot: true,
});

Hi all
I am working on a fix for this right now and it will be available in the next version of the pulumi-gcp provider in a day or 2
Paul


Could you provide simple tutorial on how to run onnx_to_plugin for simple operator?

Hi, thank you for your great work.
I just wonder how to run onnx_to_plugin on Tile operator. I know it is supported by TPAT 1.0.
I have tried
python3 onnx_to_plugin.py -i model/pfe_baseline32000.onnx -o model/pfe_baseline_tpat.onnx -t Tile
python3 onnx_to_plugin.py -i model/pfe_baseline32000.onnx -o model/pfe_baseline_tpat.onnx -n Tile_16 -dynamic=true -min=1 -max=256 -opt=128
But it returns
Couldn't find reusable plugin for node Tile_16

  7: tvm::relay::StorageAllocaBaseVisitor::DeviceAwareVisitExpr_(tvm::relay::FunctionNode const*)                                  [0/60]
  6: tvm::relay::StorageAllocaBaseVisitor::GetToken(tvm::RelayExpr const&)
  5: tvm::relay::ExprVisitor::VisitExpr(tvm::RelayExpr const&)
  4: tvm::relay::transform::DeviceAwareExprVisitor::VisitExpr_(tvm::relay::CallNode const*)
  3: tvm::relay::StorageAllocator::DeviceAwareVisitExpr_(tvm::relay::CallNode const*)
  2: tvm::relay::StorageAllocaBaseVisitor::CreateToken(tvm::RelayExprNode const*, bool)
  1: tvm::relay::StorageAllocator::CreateTokenOnDevice(tvm::RelayExprNode const*, DLDeviceType, bool)
  0: tvm::relay::StorageAllocator::GetMemorySize(tvm::relay::StorageToken*)
  File "/workspace/TPAT/3rdparty/blazerml-tvm/src/relay/backend/graph_plan_memory.cc", line 408
TVMError:
---------------------------------------------------------------
An error occurred during the execution of TVM.
For more information, please see: https://tvm.apache.org/docs/errors.html
---------------------------------------------------------------
  Check failed: (pval != nullptr) is false: Cannot allocate memory symbolic tensor shape [?, ?, ?]

Thank you

@mhmmdjafarg you mean dynamic=false is okay but  when dynamic=true, it fails? Could you provide your onnx model?

No, both are returns error. I just wonder what is the correct way to do it?
Here's the onnx file
https://drive.google.com/file/d/1WTJe7GNknIqt6cOi9C-izY9D1bKqvDjk/view?usp=sharing

@mhmmdjafarg Currently, we only support Tile operator with specific shape, can not support symbolic shape. You should fix your Tile shape except  the first dimension(batch_size dimension).

Thank you for your reply, now I understand. Do you have any idea how to make it fixed? My input tensor should be with shape (32000,1,32) and the tile is 1D with value (1,20,1)

Hi i just tried my solution but still error. Do you know which part of onnx that read as symbolic shape in TVM? Where to specify the fixed shape
Check failed: (pval != nullptr) is false: Cannot allocate memory symbolic tensor shape [?, ?, ?]


dup-to support in firewall rules

dup-to can be used to duplicate/mirror matching traffic to another system for analysis.
https://www.freebsd.org/cgi/man.cgi?query=pf.conf&sektion=5&n=1#ROUTING

The dup-to option creates a duplicate of the packet and routes it like route-to. The original packet gets routed as it normally would.

Not sure how to add this. Had a go at working out what to do:

add mirror/duplicate/whatever it should be called here https://github.com/opnsense/core/blob/a591cf14123f4fab9e23e801c71c9abf3453170e/src/opnsense/mvc/app/library/OPNsense/Firewall/FilterRule.php#L47
add corresponding parse function
entry in firewall_rules_edit.php around here: https://github.com/opnsense/core/blob/2caa7fae6a6bf7311043dd5bd4d250c4cc2519ae/src/www/firewall_rules_edit.php#L1218

What else would need changed?

That should basically be it, together with some validations if they apply (in the rules edit file).
Out of curiosity, what is the use case for this?

It's more targeted than port mirroring on a switch as you have the full set of port/host/src/destination/protocol/etc to choose for matching.
I wanted to try mirroring some (but not all) traffic to snort running on another more powerful machine.

I see, could be practical indeed.

There's an open freebsd bug which claims dup-to doesn't work so there might not be any point. :( https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=203715
To develop and test this, I can fork this repo, make changes, then run opnsense-code and point it to my fork. Is that the right approach?

maybe you better try the pf rules first then, edit /tmp/rules.debug and reload using
pfctl -f /tmp/rules.debug
if you only need to work on core, you can fork and pull to your OPNsense box and install from there.

Tagging this "support" for now, can always transform into feature ticket. :)

Never managed to get it working with manually created rules - seems to be broken. Not sure if that's broken in general or due to changes made by OPNsense but there doesn't seem to be much point keeping this ticket open.
No-one else has requested it, and port mirroring with a managed switch allows you to do nearly the same thing (as long as you don't mind extra traffic if you were trying to match something more specific)


[Linkding] Misleading Error Toast On Successful Results

Extension
https://www.raycast.com/InteractiveNinja/linkding
Description
Hey @InteractiveNinja,
I've encountered a "false" toast error when executing the command:
https://github.com/raycast/extensions/assets/32794653/6fb7a6bf-65ae-4a71-9dc5-19964dc37162
When launching the command, a toast Something went wrong almost immediately pops up until results are returned.
It has occurred for the last two weeks over several linkding releases (I am currently at 1.19.0).
I have also tried using your repo https://github.com/InteractiveNinja/raycast-linkding-ext, with the same result.
Steps To Reproduce

Execute the Search Linkding command.
Error toast appears until results are shown.

Current Behaviour
Error toast appears early and is misleading.
Expected Behaviour
Error toast appears only when it exhausts all attempts to fetch results.

Hello @vkhitrin
Thanks for your bug ticket, I was able to reproduce the error and correct it in my repo. The error toast was displayed when actually no error occurred, the behavior was adjusted. I am currently working on a multi-linking instance feature for this extension. The fix will be implemented as part of this update and will be available in the store. I am not certain how long it will take me, so please be patient. You could also use the current version from my repository, which already has the fix implemented.
I greatly appreciate your help and wish you a wonderful day.

Thanks a lot, @InteractiveNinja!
Would you like to keep this issue open until you push your PR?

Yes, it would be cool if the ticket stays open, I'll close it when I'm done with the PR.


DO NOT LAND (internal) use bun install for deps

blocked on https://github.com/lovell/sharp/issues/3511

closing this. we can't land this without windows support.


Make CPU tracing lightning-fast

Buffer CPU trace in-memory and only write out once we're done tracing.
This incurs near-0 performance cost during tracing at the cost of a pause at the end.
Have to be careful with this though, holding down Tab for just 1 second generates >40mb of trace!

Codecov Report

Merging #13 into master will increase coverage by 0.02%.
The diff coverage is 98.2%.

@@            Coverage Diff             @@
##           master      #13      +/-   ##
==========================================
+ Coverage   93.32%   93.35%   +0.02%
==========================================
  Files          38       38
  Lines        4916     4905      -11
==========================================
- Hits         4588     4579       -9
+ Misses        328      326       -2

Impacted Files
Coverage Δ

src/emulator/cpu/test/nestest.rs
70.32% <ø> (-1.24%)
:arrow_down:

src/emulator/cpu/mod.rs
93.5% <100%> (ø)
:arrow_up:

src/emulator/util.rs
98.75% <100%> (ø)
:arrow_up:

src/emulator/cpu/trace.rs
98.64% <97.88%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Bare text class for text without tags in HTML

As mentioned in #344, there should be a way to add text to Html without using a tag.
You could either allow for strings instead of just elements in the children iterator or create a class for just bare text.
Something like:
Html indexPage = Html {
    ...
    Body {
        Bare("Hello world!"),
        P {
            Bare("This is a paragraph containing "),
            Strong("boldened"),
            Bare("text!")
        }
    }
}

You could also call it Text("...") or something a little longer even.

+1 on support for String, as in:
shared actual {<String|InlineElement|{<InlineElement|String>*}|Snippet<InlineElement>|Null>*} children;

but if it has to be a Node, I think Text is best.

This was done in #357