make project structure simple

Is your feature request related to a problem? Please describe
why integrate the go and python part together? I think it is better if both of there setup and config file are maintained in different folder respectively, easy to handle and cleaner structure
Describe the solution you'd like
A much more simple project folder structure where python and go component are maintained in a different folder and make the project folder structure more user friendly

@sahasrara62 - is there some specific problem you're running into with your IDE?

@lo5  no problem till now, but my question is related to structuring the wave package in the base directory where a lot of go files are present, can we arrange or reorganize them in the sep go folder to run a server? as I find the whole folder can be structure in a more modular way?

Wave is primarily a Go project, and currently the subdirs are for language-specific drivers. We can refactor if it bothers contributors, but it's not super critical right now. Thanks for your input.

Thanks, I think in the future when this project scale, it's better to refactor according to language specific


Python: Variables not found in the KernelArguments

Describe the bug
I was trying out the notebooks. The code runs, but as I invoke the created plan, it shows Variable Symbols.VAR_PREFIX: INPUT not found in the KernelArguments and the output got funny, as if there is no input topics.
To Reproduce
Run the notebook included in the repo.
Screenshots

Meaning of results, for reference and funny:

Platform
Python 3.11.5, semantic-kernel==0.9.1b1

Same problem in the new notebook, with SequentialPlanner.
(Also it does not seem to handle functions with no description that well. I did use a but of duct tape codes.)

Importing straight from the folder did the trick.


⚠ Bofrost.de has degraded performance

In e580074, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1590 ms

Resolved: Bofrost.de performance has improved in a83ce79 after 21 minutes.


Word format possible?

Hello, thanks a lot for this extension. It was very helpful.  Since quite a few T&F journals require word format submission, will it be possible to add docx format with this extension?

Hi @rfaridi ! Sorry, but this isn't something I'm going to do; I don't use Word and I don't need the Word template for my own work, so I haven't looked into the T&F Word template at all, or at how one even writes a Word template for Quarto.
If you wind up making a Word template, let me know and I'll happily link to it from this project! And just as a personal observation, I find that a lot of journals whose submission instructions only mention Word documents are also perfectly happy to accept latex files; they just want to make sure they're getting text files and not solely the rendered PDF.


The certificate of listener requires all the certificates in the chain included as part of the pfx file.

When I added certificate file which did not have intermediate CAs to the listener, I encountered some errors using openssl command. I confirmed that the error was caused by the certificate which did not have intermediate CAs. I want you to add the limitation in this document.
E.g. "Certificates should have all the certificates in the chain."
---Error---
openssl s_client -connect 52.224.201.xxx:443 -servername xxxxnet.com
CONNECTED(00000003)
depth=0 OU = Domain Control Validated, CN = xxxnet.com
verify error:num=20:unable to get local issuer certificate
verify return:1
depth=0 OU = Domain Control Validated, CN = xxxnet.com
verify error:num=21:unable to verify the first certificate
verify return:1
Certificate chain
0 s:/OU=Domain Control Validated/CN=xxxnet.com
i:/C=US/ST=Arizona/L=Scottsdale/O=GoDaddy.com, Inc./OU=http://certs.godaddy.com/repository//CN=Go Daddy Secure Certificate Authority - G2
Server certificate

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

ID: 77a317f1-deef-4ba7-5839-f39ce3733655
Version Independent ID: d85aa8fe-7270-d073-ea56-d1c0759383b8
Content: Enabling end to end SSL on Azure Application Gateway
Content Source: articles/application-gateway/ssl-overview.md
Service: application-gateway
GitHub Login: @amsriva
Microsoft Alias: victorh

Thanks for the feedback and bringing this to our notice . At this time we are reviewing the feedback and will update the document as appropriate .

@hisasima This is talked about in the note near the bottom:

Note
In order for a TLS/SSL certificate to be trusted, that certificate of the backend server must have been issued by a CA that is included in the trusted store of the Application Gateway.If the certificate was not issued by a trusted CA, the Application Gateway will then check to see if the certificate of the issuing CA was issued by a trusted CA, and so on until either a trusted CA is found (at which point a trusted, secure connection will be established) or no trusted CA can be found (at which point the Application Gateway will mark the backend unhealthy). Therefore, it is recommended the backend server certificate contain both the root and intermediate CAs.

Does your backend server cert contain both root and intermediate CAs?

As I said, I added the certificate to the listener not backend. I want to talk about certificate of listener. Could you check again ?

Updated the doc as per the PR mentioned above. @TravisCragg-MSFT you can close this issue now.

@hisasima We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Fix for issue #274: STIXPackage.add() now correctly adds TTPs.

@chisholm, can you write a unit test for the add() method?

I started doing this, and ran into an oddity with the STIXPackage class.  All of the entitylist properties on it except observables will create an empty list when the property is set to None.  So default-constructing a STIXPackage results in all of the entitylist properties being initialized to empty lists, except the observables property, which is initialized to None.
The style of code is different for that property: the setter does _set_var(), whereas the others just directly instantiate an entitylist.  Why the inconsistency?  (It caused an error in my code... which I can work around, but why work around when you can fix?)

@chisholm,
I don't know if there is a reason for the inconsistency. I think we want users to be able to append() after instantiating a STIXPackage object:
package = STIXPackage()
package.indicators.append(my_indicator)
``
...which is why the `EntityList` property setters work that way.

Maybe they should just be created in the `__init__()` method and the property setters allow users to set a field to `None` (like `observables`). What do you think?

We can default `observables` to an empty `Observables` object in `__init__()` as well, but it may need special handling in `to_dict()` and `to_obj()` since I don't know if it has the same `__nonzero__()` behavior (actually, after looking at its code I think its inherited `EntityList.__nonzero__()` may produce incorrect results). You'll probably need to check its `len()` and if it has an `observable_package_source` set inside `STIXPackage.to_dict()|to_obj()` before attempting to call `to_obj()` or `to_dict()` on it. Otherwise you'll export an empty `stix:Observables` element with version attributes set every time.

Write the tests and update the code to work the way you'd expect but don't get too hung up on the implementation. The `typedfields` branch is going to be merged into `master` eventually so `STIXPackage` is going to look pretty different in a bit. But we'd still want those tests to pass after merge.

I don't know if I actually answered your question ;)

@chisholm, I'm going to merge this. If you think there's something else that needs to be done, please open a new issue.


Access DNS

Hi, I'm trying to access the dns feature through the api  but im getting this error
An exception of type 'Hyak.Common.CloudException' occurred in Microsoft.Threading.Tasks.dll but was not handled in user code
Additional information: AuthorizationFailed: The client 'bc0524ef-7afc-4b78-9497-a266473de305' with object id 'bc0524ef-7afc-4b78-9497-a266473de305' does not have authorization to perform action 'Microsoft.Network/dnszones/read' over scope '/subscriptions/2dbfb480-6eff-4e5d-bc94-53cb6afaa4fc/resourceGroups/RGNSolvexDNS/providers/Microsoft.Network'.
Im using this code to get the authentication token
var authenticationContext = new AuthenticationContext(string.Format(ConfigurationManager.AppSettings["login"], ConfigurationManager.AppSettings["tenantId"]),false);
// Config for OAuth client credentials
var clientCred = new ClientCredential(ConfigurationManager.AppSettings["clientId"], ConfigurationManager.AppSettings["clientSecret"].ToSecureString());
var authenticationResult =  authenticationContext.AcquireToken(ConfigurationManager.AppSettings["apiEndpoint"],clientCred);
        string token = authenticationResult.AccessToken;

        return token;

any ideas?

Does authenticationResult.AccessToken contain a value (it should be a long string of characters and numbers) and does authenticationResult.AccessTokenType contain the value "Bearer"?  You should also check the ExpiresOn field and the UserInfo to make sure that's correct.
Gareth

@gregorypilar There are several things that could be the issue - it could be that the credentials you are using have not been granted access to that resource group or resource (through RBAC), it could be that the token you have acquired is not for the tenant containing the subscription you are using.
Given this particular message, this seems like an actual authorization issue for that resource.
For common authentication patterns, I suggestusing the common.authentication library here:http://www.nuget.org/packages/Microsoft.Azure.Common.Authentication/1.0.26-preview
here is a sample using the library:
using Microsoft.Azure.Common.Authentication;
    using Microsoft.Azure.Common.Authentication.Factories;
    using Microsoft.Azure.Common.Authentication.Models;
    using Microsoft.Azure.Management.Resources;
    using Microsoft.Azure.Management.Resources.Models;
    using System;
    class Program
    {
        public static void Main(string[] args)
        {
            string tenantId = args[1];
            var subscriptionId = args[0];
            AuthenticationFactory factory = new AuthenticationFactory();
            var token = factory.Authenticate(new AzureAccount { Type = AzureAccount.AccountType.User }, AzureEnvironment.PublicEnvironments[EnvironmentName.AzureCloud],
                tenantId, null, ShowDialog.Auto);
            AccessTokenCredential creds = new AccessTokenCredential(new Guid(subscriptionId), token);
...

You can then use the AccessTokenCredential (which will auto-renew in your code.  There is a similar account type for service principal.
To debug issues, consider using one of the published tracing libraries for the sdk:
http://www.nuget.org/packages/Microsoft.WindowsAzure.Common.Tracing.Etw/
http://www.nuget.org/packages/Microsoft.WindowsAzure.Common.Tracing.Log4Net/
This will enable you to capture client/server trafficx, information messages, and the like.  If you are still having issues, message logs would be extremelty helpful to us in diagnosing your issue.

Thanks @markcowl  that solve the problem :+1:


sequences

Hi. Does it also rename sequences?

I'm not sure I understand. Could you please provide more info?

Let's say I have a model old_app.ModelA. Its primary key id points to sequence old_app_modela_id_seq.
localhost=# \d old_app_modela;
                                      Table "public.old_app_modela"
     Column      |           Type           |                             Modifiers
-----------------+--------------------------+-------------------------------------------------------------------
 id              | integer                  | not null default nextval('old_app_modela_id_seq'::regclass)

I decide to move it to new_app. So the next value of primary key should still refer to same sequence, but it should be renamed to new_app_modela_id_seq, like this:
localhost=# \d old_app_modela;
                                      Table "public.old_app_modela"
     Column      |           Type           |                             Modifiers
-----------------+--------------------------+-------------------------------------------------------------------
 id              | integer                  | not null default nextval('new_app_modela_id_seq'::regclass)

I see. No, it doesn't. Should it?

I think yes, it is convenient and more human readable.
Check this out, it may help you: http://marcela-campo.blogspot.sk/2015/01/django-migrations-moving-django-model.html

Thanks for the link. I read that article before implementing this. It doesn't account for other DB engines. For example, SQLite stores sequence information inside a sqlite_sequence table and ALTER SEQUENCE will raise a syntax error. There's also MySQL, Oracle, SQL Server, DB2, Firebird etc.
TBH, the scope of this project is to automate the method described at https://stackoverflow.com/a/30613732/1639699 and, while I understand and agree to the reasoning, renaming sequences seems beyond that.

Ideally renaming a sequence would be implemented as a db operation. Those, however, are not documented and currently I'm not sure how to do that.

One way to implement an operation would be to simply inherit either RunPython or RunSQL and run the appropriate query (or do nothing?) depending on the engine.


File replacement does not work against directories

When saving a new file, if you decide to save it as the same name of a directory (no extension), it will ask if you would like to replace it. If you choose yes, it will error saying that that file is already a directory
I am running Atom 0.165.0 for OSX.
There is no log in the debug console to provide.
There are basically three solutions to this:

Have it error after the "replace" button is clicked but before the dialog box is closed
Have it replace the directory
Have it handle directories and files separately (I'm not sure about other operating systems, but I'm pretty sure on OSX it considers them .folder)

This is still kind of an issue. The error it outputs is different now: Unable to save file: EISDIR: illegal operation on a directory, open 'path/to/folder/being/replaced'
Tested on Atom 1.17.2.

Create new folder, name it something

How are you creating this folder?  Outside of Atom?  Using the tree-view:add-folder command?  Or some other way?

Save as whatever you named the folder

Similarly, how are you saving?  cmd/ctrl-s?

I'm creating a folder by right clicking the project section(?) and selecting new folder.
I'm saving using cmd s, yes.

Thanks for the info.  I'm still unable to reproduce this on Windows.  Here are the steps I followed, please tell me if I did something wrong.

tree-view:add-folder, enter test as the folder name
application:new-file
core:save
Navigate to the directory that has the test folder in it
Type test as the file name
Click save

What happens here is that Windows' file dialog intelligently realizes that the file is the same name as the directory and automatically cd's into the folder for you.  Meaning that once I hit save, I am now inside the test directory and have to choose a different filename.
Perhaps things are different on macOS and/or Linux: /cc @ungb for reproduction on those platforms.

I tried on macOS 10.12.5 following @50Wliu's steps and I can reproduce there with Atom 1.17.2- at step 6 I get:

Then after I click Replace, I get:
Unable to save file: EISDIR: illegal operation on a directory, open '/path/to/folder/being/replaced'
And in console:
fs.js:731 Uncaught (in promise) Error: EISDIR: illegal operation on a directory, read(…)
fs.readSync @ fs.js:731
tryReadSync @ fs.js:486
fs.readFileSync @ fs.js:534
fs.readFileSync @ ELECTRON_ASAR.js:501
module.exports.File.readSync @ <embedded>:104385
module.exports.File.getDigestSync @ <embedded>:104286
module.exports.TextBuffer.serialize @ <embedded>:27562
(anonymous function) @ <embedded>:21890
module.exports.Project.serialize @ <embedded>:21887
module.exports.AtomEnvironment.serialize @ <embedded>:1117
(anonymous function) @ <embedded>:1433
module.exports.AtomEnvironment.saveState @ <embedded>:1429
(anonymous function) @ <embedded>:620

The EISDIR error is related to 'try to open a file but the path give is a directory', consider the following case, where test is a directory
const fs = require('fs');
const path = './test'
const sync_files = fs.readFileSync(path);

the error message is very similar to what @rsese got, 'fs' built-in package cannot read a directory, atom exports fs somewhere in source code
fs.js:119
    throw err;
    ^

Error: EISDIR: illegal operation on a directory, read
    at Object.readSync (fs.js:514:3)
    at tryReadSync (fs.js:337:20)
    at Object.readFileSync (fs.js:374:19)
    at Object.<anonymous> (/.../play.js:8:23)
    at Module._compile (internal/modules/cjs/loader.js:738:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:749:10)
    at Module.load (internal/modules/cjs/loader.js:630:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:570:12)
    at Function.Module._load (internal/modules/cjs/loader.js:562:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:801:12)

consider another method fs.readFile(), the difference between fs.readFile() and fs.readFileSync is that we can add callback function in fs.readFile()
const files = fs.readFile(path, (err, data) => {
    if (err) throw err;
    console.log(data);
})

it will throw following EISDIR error:
    if (err) throw err;
             ^
Error: EISDIR: illegal operation on a directory, read

I cannot reproduce the bug in the latest atom version 1.50.
When trying to save a new file with the same name as an existing directory I get this  message.

Am happy to reopen this issue if anyone is able to reproduce the bug.
apm  2.5.0
npm  6.14.5
node 10.20.1 x64
atom 1.50.0
python 2.7.16
git 2.24.3


Use (or duplicate) JavaScript highlights for TypeScript and React files

Issue/Question/Enhancement
Hey! It would probably make sense to have the JS highlights applied to TS, as well as javascriptreact and typescriptreact.
One way would be something like this for each of the additional permutations:

import the base JS highlights in typescript.lua (for example)
extend them as needed (e.g., if there are highlights for TS that JS doesn't have)

This would avoid having to redeclare all the JS highlights.
If there aren't actually any additional highlights for TS et al, then there's probably a simpler approach, and it might make sense to start there unless you already know up front that we'll need to extend/override the base ones.
What do you think?

Update: seems like they actually need to be, e.g., @variable.typescript rather than @variable.javascript for TS. And from a quick test, I'm not sure there's actually a variant that works for React files? :confused:

Yeah this has been on my mind for a little. I've not yet looked at how something in TypeScript is coloured vs Javascript, in VS Code. I was going to come up with a neat way of injecting a filetype into a filetype highlight template but when I figured it's likely to be just JS and TS, I'm minded to just duplicate the values in separate files. Will try and get to this, this week

@mmirus could you supply some react and typescript examples when you get time and I can work on this.

I will try to follow up here with some examples soon!

Coming up with examples is hard but I threw a few things together based on the Vue and JavaScript examples already in the repo, with another TS example for good measure.
more modern javascriptreact (jsx) adaptation of the current JavaScript example file (which includes React code, not just vanilla JS)
import { useState } from 'react';

export default function App() {
  const [count, setCount] = useState(0);
  const handleClick = () => setCount(count + 1);

  return (

{count}

      <button onClick={handleClick}>Change!</button>

  );
}

typescriptreact (tsx) version of the same, made  a bit more complex to give room for additional types
import React from 'react';
import { useState } from 'react';

export default function App() {
  const [count, setCount] = useState(0);
  const increment = () => setCount(count + 1);
  const decrement = () => setCount(count - 1);

  return (

      <Count count={count} />
      <Button type="decrement" onClick={decrement} />
      <Button type="increment" onClick={increment} />

  );
}

function Count({ count }: { count: number }) {
  return (
    <h1
      style={{
        color: count < 0 ? 'red' : 'black',
      }}
    >
      The count is currently {count}

  );
}

interface ButtonProps {
  type: 'increment' | 'decrement';
  onClick: () => void;
}

function Button({ type, onClick }: ButtonProps) {
  const label = type === 'increment' ? 'Increment' : 'Decrement';

  return <button onClick={onClick}>{label}</button>;
}

typescriptreact (tsx) adaptation of the vue example file (FYI I don't know vue, so I was guessing at how it would actually convert)
import { useState } from 'react';

interface DemoProps {
  index: number;
  value: string;
  disabled: boolean;
  isValid: boolean;
}

export function Demo({
  index = 0,
  value = 'Value',
  disabled = false,
  isValid = true,
}: DemoProps) {
  const [showDropdown, setShowDropdown] = useState(false);
  const openDropdown = () => setShowDropdown(true);
  const closeDropdown = () => setShowDropdown(false);

  const options = ['Optional', 'Mandatory'];

  return (

      {/* overlay */}
      {showDropdown && (

      )}
      <button
        disabled={disabled}
        onClick={openDropdown}
        className={`${inputClass(
          isValid
        )} text-2xs focus:ring-purple-light inline-block h-6 w-full appearance-none overflow-hidden overflow-ellipsis whitespace-pre rounded-md border border-gray-300 bg-gray-200 px-1.5 pr-4 text-left focus:outline-none focus:ring-1 disabled:text-gray-400`}
      >

          {!isValid && (

              <svg
                width="4"
                height="14"
                viewBox="0 0 3 13"
                fill="currentColor"
                xmlns="http://www.w3.org/2000/svg"
              >
                <path
                  fillRule="evenodd"
                  clipRule="evenodd"
                  d="M1.5 0C0.671573 0 0 0.671574 0 1.5V7.5C0 8.32843 0.671573 9 1.5 9C2.32843 9 3 8.32843 3 7.5V1.5C3 0.671574 2.32843 0 1.5 0ZM1.5 10C0.671573 10 0 10.6716 0 11.5C0 12.3284 0.671573 13 1.5 13C2.32843 13 3 12.3284 3 11.5C3 10.6716 2.32843 10 1.5 10Z"
                  fill="#C10707"
                />
              </svg>

          )}

{value}

          <svg
            className="h-2.5 w-2.5"
            width="9"
            height="6"
            viewBox="0 0 9 6"
            fill="currentColor"
            xmlns="http://www.w3.org/2000/svg"
          >
            <path d="M4.45879 5.6777L0.561677 0.4277L8.35591 0.4277L4.45879 5.6777Z" />
          </svg>

      </button>
      <Transition
        enter-active-class="transition duration-100 ease-out"
        enter-from-class="transform scale-95 opacity-0"
        enter-to-class="transform scale-100 opacity-100"
        leave-active-class="transition duration-75 ease-in"
        leave-from-class="transform scale-100 opacity-100"
        leave-to-class="transform scale-95 opacity-0"
      >

            <svg
              className="h-2.5 w-2.5"
              width="9"
              height="6"
              viewBox="0 0 9 6"
              fill="currentColor"
              xmlns="http://www.w3.org/2000/svg"
            >
              <path d="M4.45879 5.6777L0.561677 0.4277L8.35591 0.4277L4.45879 5.6777Z" />
            </svg>

          <Slot>

              {options.map((val, id) => {
                return (

 setPriority(val, index)}
                  >
                    {val}

                );
              })}

          </Slot>

      </Transition>

  );
}

function inputClass(isValid: boolean) {
  return isValid ? 'border-red-700' : '';
}

function setPriority(...args: Array<string | number>) {
  console.log('setPriority', args);
}

typscript (ts) sample
enum AnEnum {
  One,
  Two,
  Three,
  Four,
}

type FuncType = (n: number) => Promise<AnEnum>;

interface AnInterface {
  prop1: AnEnum;
  prop2: string[];
  prop3: Array<number | string>;
  prop4: FuncType;
  prop5: number;
}

async function aFunction({
  prop1,
  prop4,
  prop5,
}: AnInterface): Promise<AnEnum> {
  if (prop5 > 34) {
    const result = await prop4(prop5);
    return result;
  }

  return prop1;
}

aFunction({
  prop1: AnEnum.One,
  prop2: ['a', 'b', 'c'],
  prop3: [1, 2, 'hi', 4],
  prop4: () => Promise.resolve(AnEnum.Two),
  prop5: 35,
});

export { AnEnum, aFunction };

Sorry for the slowness in replying to this. I added tsx support in f776595560bcd3e37a36ee57fa92ebe4e39abc54.
I found out that jsx highlights are included in the vanilla javascript treesitter parser.
Let me know your feedback!

Thanks for adding that! Comparing TSX and JSX, it seems that they render some colors and styles differently. See below (TSX on left, JSX on right).

I don't think it's my config. Is that intentional?

I prioritised JS over JSX but there may well be some slight differences now as it was one of the earlier filetypes.
I've got some mods to make the colorscheme and then I'm going to do a full review and comparison as I would like to add more of the config options to the filetypes.

Sounds good! For future reference, these are the differences that stand out to me:

JSX applies the italic option far more broadly than TSX does
Attribute names on the tags have different colors (red vs orange)

@mmirus it's been a while and you're well.
I've got a PR for some TypeScript improvements (#164). Not sure if you're writing much TS these days but if you are, would love you to take a look and check it out. I'm most keen to ensure that the custom Treesitter queries I write don't slow Neovim down on a big TS file.

They're custom Treesitter queries and they're pretty niche so may not have cropped up. I have added the latest support for LSP semantic tokens so when you do upgrade to Neovim 0.9 you're in for a treat (hopefully).

Looking forward to it!


feat: add option for getting ticks inside the axis

closes #54

What about a prop that sets the tick length, so that you can both control the size and the position inside / outside with one prop?

What about a prop that sets the tick length, so that you can both control the size and the position inside / outside with one prop?

@stropitek I thought the same, but then if you want to invert it you should add a negative value, that's not very user friendly right?

@stropitek I thought the same, but then if you want to invert it you should add a negative value, that's not very user friendly right?

Yes fair enough, it would have to be properly documented. But maybe better to have size just control the size.

Yes fair enough, it would have to be properly documented. But maybe better to have size just control the size.

I'm not sure if the tick direction option should be a boolean or a string.
<Axis tickInside /> vs <Axis tickDirection="inside" /> with the default value being outside
In that case a boolean would make sense because there are only 2 possibilities but I still find the first one a bit awkward compared to the second one. But I could go either way.

I'm not sure if the tick direction option should be a boolean or a string.
<Axis tickInside /> vs <Axis tickDirection="inside" /> with the default value being outside
In that case a boolean would make sense because there are only 2 possibilities but I still find the first one a bit awkward compared to the second one. But I could go either way.

Maybe tickEmbedded, following the labels name convention?

Maybe tickEmbedded, following the labels name convention?

Maybe tickEmbedded, following the labels name convention?

yes that is better than tickInside IMO

Maybe tickEmbedded, following the labels name convention?

yes that is better than tickInside IMO


⚠ ClamAV has degraded performance

In 010f249, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 188 ms

Resolved: ClamAV performance has improved in ebf9c2d after 29 minutes.


Hard-to-understand phrase in README.md

README.md has the following phrase:
For every server, there are two targets, one under scylla job which is used for the scylla metrics. Use port 9180.
It was impossible for me to understand what this is supposed to say. What is "server" in this sentence - a Scylla server? prometheus server? A whole cluster? And why "every"? What does "scylla job" refer to, and how do you do something "under" it? I'm guessing that this is some sort of Prometheus terminology? And what is a "target"?
Maybe once I understand what you really meant here I'll come back and suggest different wording. But it would be nice to make this text readable for someone who has absolutely no prior knowledge of graphana or prometheus or anything, and just knows Scylla terminology like cluster or node.

Thanks for the input, it's good to get feedback from someone outside of the specific domain.
We can probably do better


locking performance with OpenBLAS

Greetings OpenBLAS developers:
One of my colleagues has been working on an application that uses OpenBLAS, and he noticed some performance issues involving locking on OpenBLAS.  He made some changes to OpenBLAS that seemed to improve performance.  He passed these along to me, and I wanted to mention them here for your review.  I would like to get your thoughts on these changes - particularly if you think they are 100% safe.  We have not encountered any issues with these changes so far, but our testing has not been exhaustive.
Here is what my colleague had to say:

Check to see whether memory has been initialized before acquiring the semaphore (lock) for memory initialization.  No need to get the lock if memory is already initialized.

In the blas_memory_alloc() routine, change this:
    LOCK_COMMAND(&alloc_lock);

    if (!memory_initialized) {

To this:
  if (!memory_initialized) {
    LOCK_COMMAND(&alloc_lock);

And then also move the corresponding UNLOCK_COMMAND(&alloc_lock) to inside the code block at the end:
#if defined(SMP) && !defined(USE_OPENMP)
      UNLOCK_COMMAND(&alloc_lock);
#endif
    }

Acquire lock one for the duration of the scanning of array "memory".  Don't get/release the lock for every iteration of the array.

In the blas_memory_alloc() routine, change this:
  do {
    if (!memory[position].used && (memory[position].pos == mypos)) {
#if defined(SMP) && !defined(USE_OPENMP)
      LOCK_COMMAND(&alloc_lock);
#else
      blas_lock(&memory[position].lock);
#endif
      if (!memory[position].used) goto allocation;
#if defined(SMP) && !defined(USE_OPENMP)
      UNLOCK_COMMAND(&alloc_lock);
#else
      blas_unlock(&memory[position].lock);
#endif
    }

To this:
#if defined(SMP) && !defined(USE_OPENMP)
      LOCK_COMMAND(&alloc_lock);
#else
      blas_lock(&memory[position].lock);
#endif
  do {
    if (!memory[position].used && (memory[position].pos == mypos)) {
      if (!memory[position].used) goto allocation;
    }
#if defined(SMP) && !defined(USE_OPENMP)
      UNLOCK_COMMAND(&alloc_lock);
#else
      blas_unlock(&memory[position].lock);
#endif

In essence, he has observed that fine-grained locking and unlocking of individual elements in the memory[] array while scanning them is actually worse than just locking and unlocking the entire array once.
Let us know what you think about these changes.  Thanks in advance!

Thank you for these suggestions. I certainly do not consider myself an expert in thread-safe programming, most if not all of these locks were added in response to valgrind/helgrind warnings and with the intention to keep code changes minimal.
Regarding (1), if I remember correctly the "memory_initialized" flag itself needed to be protected against races. For (2), I am unsure if I ran any benchmarks back then - it may have been just a gut feeling that holding a lock for longer than absolutely necessary would be bad for performance
(in particular as this code had existed for so many years without locks...).

2nd part looks more transactional the way that all RO checks are done in locked context followed by RW, currently it looks like [].used can be raced to change between 2 checks....
The initialisation could happen racing from 2 threads in case static library did not initialize it and 2 threads got called.
Could you make a PR on the 2nd part?

What version you are working on?
I found your code snip dropped a while ago?
https://github.com/xianyi/OpenBLAS/blob/fde8a8e6a02b1186a178f8bbe3b3e5d84c8786e1/driver/others/memory.c#L2685

Indeed the code section that your item (2) apparently refers to is already commented out since 0.3.4 (brada4's #1814, the "WHEREAMI" code on which it depended was deemed obsolete).
Item (1) is I believe addressed by an outer if (!memory_initialized) {in the OPENMP case - without OPENMP the access to the initialized flag itself is racy.

The idea is sort of good - code pinches the variable without locks , then locks if it jas chance and updates, just that lock syscall is more expensive (and gets worse with spectre etc fixes) than plainly iterating all structure in a loop under one lock.

Sorry about that - my colleague was working with 0.3.3.  I appreciate the feedback.

No worries, you are welcome to share if you find any avoidable excess syscalls anywhere in code.
Actually #1785 +#1814 patches should fix concern in 0.3.3, but still 0.3.7 has more improvement even in same source file.


typescript typings?

Does anyone have / want to have Typescript typings for the JS stuff? This would include defining Beaker types in TS and thus make it easier to develop a TS plugin (and JS too)

not sure what you mean but supporting typescript in the JS plugin in on the agenda:
https://github.com/twosigma/beaker-notebook/issues/4012

I mean like a beaker.d.ts. It would just specify the API + the types of the JS exports. No special code needed.

(obviously you would need to add a TS compile step, but I was just thinking about typing transform.js and also the beaker object API

thanks for the suggestion but we are not doing TS yet.


Type hinting and docstrings

It's time we added type hints to make this package a bit more developer-friendly, so here's my first contribution to type hinting and docstring inline documentation (which I developed out of frustration while reviewing the Malaysian submission over the weekend).
While adding type hints I have encountered a few things in the HolidayBase class I simply could not avoid having to refactor, and a few that needed cleaning up:

In __init__ method:

The attribute PROVINCES was unused and has been removed.
Th call to the __init__ of the superclass was missing and has been added.
Generation of a set of years was cleaned up.
Switched year iteration over set().copy() from list(set()). I contributed the original code change, which avoided corner cases of RuntimeError: Set changed size during iteration, so I take full responsibility for the original suboptimal solution.

The __add__ method had to be completely refactored:

The class HolidaySum cannot be buried inside a function or typing and docstring won't work in IDEs, so I moved it to top level.
The determination of the joint list of country and prov logically belongs to the class initializer, not the function, so I moved it there.
Same for the logic combining the boolean expand and observed.
A joint list for state was never created so added the code to do so.

Note that type hinting in __keytransform__ is correct once the six removal PR is applied.
Fixed the get_named function which although unused internally it should probably work as advertised (thank you type hinting for pointing out the problem)!

I have also added doctest testing so that the code used as examples in the docstrings is guaranteed to run.
Finally, in utils.py.get_gre_date() I removed the bit in the description talking about what (used to) happen when I originally wrote this function) if hijri-converter library is not installed -- it is now a project requirement.  Also updated the format of the docstring.
TODO: Inline (docstring) documentation can be improved much more (for example expand and observed aren't even mentioned, and I still have to understand what they do), but it's a start!

Wrong branch


fd: init at 2.0.0

Add the package fd, a simpler alternative to find, at version
2.0.0.
I have tested this change per nixpkgs manual section 13.1 ("Making
patches").

Thanks for merging!


About Nezhe, beseek help

Greetings.
First of all, I sincerely appreciate your generosity in providing the source code.
We plan to use Nezha as part of the baseline of our new platform, for which I need to reproduce Nezhe on five  multi-modal datasets.
In this process, I've met two problem and had some tiny questions about Nezha.
The first problem is about the test environment.  In requirements.txt, Orange3_Associate==1.1.9 was in demand, which also requires numpy==1.15.4. But Orange3_Associate1.1.9 requires Orange3>=3.25.0 and openTSNE>=0.6.1, which two requires numpy>=1.16.0.
The second problem may be caused by the first one: I've successfully run Nezha with Orange3_Associate==1.1.9 and numpy==1.15.4 on python3.6. But the outcome was awful. Here's part of the result:
[INFO]2023-11-13 21:04:39,357 pattern_ranker.py:650: --------AS@1 Result-------
[INFO]2023-11-13 21:04:39,357 pattern_ranker.py:651: 5.357143 %
[INFO]2023-11-13 21:04:39,357 pattern_ranker.py:652: --------AS@3 Result-------
[INFO]2023-11-13 21:04:39,357 pattern_ranker.py:653: 7.142857 %
[INFO]2023-11-13 21:04:39,357 pattern_ranker.py:654: --------AS@5 Result-------
[INFO]2023-11-13 21:04:39,357 pattern_ranker.py:655: 7.142857 %
I'd like to know what caused this.
And I noticed that your source code provide your own data, which contains both trace_id file and trace file. If my understanding was correct, the code only use traces when its id appreared in the trace_id file (reflected in data_integrate.py and in the function data_integrate()). I wonder why.
Please provide illuminate and dispell the darkness for us, amen.

are you able to reproduce the results yet, bro @molujia =))

tomorrow I will help you. But today I have other job to do. :)
---Original---
From: "Luan @.>
Date: Thu, Nov 16, 2023 22:14 PM
To: @.>;
Cc<EMAIL_ADDRESS>Subject: Re: [IntelligentDDS/Nezha] About Nezhe, beseek help (Issue #2)
are you able to reproduce the results yet, bro @molujia =))
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: @.***>

Thanks you feed back. I will try to reproduce this bug  in a new server and fix it in next week.

Hi, @molujia , I have update the requirement  file and test Nezha in a new server. I got the consistent result with our result.

Can you try it again?

Hi, @molujia , I have update the requirement file and test Nezha in a new server. I got the consistent result with the previous result.

Can you try it again?

With pleasure.


Let key pair be configurable.

This also makes stake value configurable.

Done in https://github.com/EspressoSystems/HotShot/pull/1912/commits/eaea7640b6ee8a8d83b304940469f9a2e1cf68ea


Implement profile update

This implements the profile update method in the minder server.
This was done last as it's kinda complex... as you can tell from the PR.
We have to verify that the new profile is valid, that certain values like the
project, name and provider don't change. Then we update the rules, and clean up
the unused ones. And keep the instantiations in check.
This, however, will be a very nice usability improvement.

The latest PR ensures that we can also remove instantiation of the rules. This works and reflects in the database.
What's missing is cleaning up rule evaluations.

The latest commit fixes the last issues I saw.

Alright! This is a summary of what was missing:
We didn't have a unique index that would allow us to ensure we only have a single entity+profile entity_profile row... I know it sounds weird but we didn't. I added that, and now any updates to unexistent entity+profile pairs are handled as an upsert. So, this works now and ensures data integrity too!
I had to use a CONCURRENTLY for the index creation to ensure this works well on an upgrade in the live environment.

I rebased and added missing licenses

@rdimitrov and I are gonna go through this tomorrow

done! Now this is up with the latest changes.


reproduced the performances is lower

Thanks for releasing the awesome codes! I'm a new rookie to be honest and I am trying to reproduce the performances. I have tried training convfuser.yaml use command
torchpack dist-run -np 8 python tools/train.py configs/nuscenes/det/transfusion/secfpn/camera+lidar/swint_v0p075/convfuser.yaml ，
but get mAP is 62.7， Far from 68.5，is that i missed something or need to be load some pretrained model？look forward your answer，thanks。

Hi @MakiNaruto,
Yes you missed something. You need to load the pretrained LiDAR-only checkpoint. And currently we haven't released the schedule we used for fusion models, but you can infer it from available information.
Best,
Haotian

You need to load the pretrained LiDAR-only checkpoint.

sorry，i still confused，is that use command or edit yaml to add checkpoint？i tried both but fails，I would very appreciate if u can tell me some operation details，thanks！

Just use --load_from in the command line will be a good idea.


Specify version of LibreOffice

Is there currently a way to specify the version of LibreOffice to use? I don't think so from a brief look at the code - it looks like the latest libreoffice is being pulled in the Dockerfile.
Motivation: It looks like the latest version of LibreOffice (v7.3) has some regressions and I would like to use a previous version (v7.1). v7.3 turns a 20 page DOCX into a 40 page DOCX (the spacing is doubled somehow between paragraphs), so the resulting PDF from Gotenberg is also 40 pages long. This is not the case in 7.1.

Helllo @davidbasalla,
I do agree there are regressions with LibreOffice v7.3. Check the following comment for more details: https://github.com/gotenberg/gotenberg/issues/442#issuecomment-1082028615
TL;DR: there are currently now easy way to retrieve version v7.1, AFAIK.


Renaming VOC types to generic labels.

Adjusting VOC labels to be generic.

I read the version numbers in reverse - Can you update your protoc local version
If it's a pain, I can submit this PR from my client, I upgraded already

Updated my protoc and seems to be same now.


Feature Request: Control the start of countdown

Hi I been wondering if how can I control the start of countdown for example I wish to click a button first before starting countdown, is it possible? Thank you so much! Very nice package.

Hi! I have added an optional bool parameter named autoStart in CircularCountDownTimer to control start of countdown timer. If you want to start timer then you have to call start method on CountDownController object.

Hi! I have added an optional bool parameter named autoStart in CircularCountDownTimer to control start of countdown timer. If you want to start timer then you have to call start method on CountDownController object.

Thank you so much!

Thank you so much!


is there a way to disable the patchouli book from being added?

Describe the feature you'd like to have added
i dont want the patchouli book that is given when using this mod
Additional information
a

Why? It doesn't automatically add it to your inventory or anything, its just a craftable book, and it only exists with Patchouli installed...
Is there a reason you don't want it there?

Cuz it is given at every first join and it empty ,so it's useless

I’m not doing that with my mod. That’s sounds like a mod pack specific bug. What modpack are you using

My own,ima look better where that book comes from

Sounds good. I don’t have anything in my mod that automatically gives you the book :)


editorial comments

I believe the specific comments here are all we really need to pay attention to-- general point there just for reference.
Some specific comments:

[x] Please reduce the article title to 75 characters (with spaces) or less. #139
[x]  Please reduce the main text references to 50 in total or less - currently there are 80. (This is just because we have the methods references in the wrong place. I don't think .Rmd can be programmed to do this right, so just need to change manually at the end.)
[ ] Please ensure that the text size in all figures is at least 5 pt Arial. which don't meet this standard?
[x] There are no methods references - please create a separate reference list for the methods with continuous numbering. (This is just because we have the methods references in the wrong place. I don't think .Rmd can be programmed to do this right, so just need to change manually at the end.)
[x] Please remove the main figures from the article file and re-supply them individually in an acceptable format such as EPS, AI, PS, PDF, PPT, CDR, PSD or XLS (for graphs).
[x] Please provide the Extended data figures in EPS, JPEG or TIF format.
[ ] Figure 3 is too tall in height when re-sized to 18 cm width, please reduce to 17 cm or less.
[ ] Please supply Table 2b in the article file in an editable format. Does this refer to table in Figure 1b?
[x] Please let us know the sources of the map illustrations in extended data figures.
[ ]  Please provide a Supplementary Information guide. "We ask that you provide a word file entitled “SI Guide”, containing a cover page with manuscript title and author information; a table of contents (preferably with page numbers); and then any SI text, notes, figures, and titles and legends for any separate SI files. Additional information can be found at https://www.nature.com/nature/for-authors/supp-info."
[x]  Please provide a competing interest statement.
[ ]  In the ‘Data presentation’ section of the EPC, you have marked ‘N/A’ in the field corresponding to data distribution format; however, that field seems relevant to the study.
[ ]  In the ‘Data presentation section of the EPC, you have marked the field confirming clearly defined error bars are present as ‘N/A’; however, there are error bars in the supplementary figures.

More general points:
LENGTH: The length for the summary paragraph and body text should not exceed 2500-3000 words, and up to 4 ‘modest’ display items; a modest display item is one that, with its legend, occupies about a quarter of a page (equivalent to ~270 words). If a composite figure (with several panels) needs to occupy at least half a page in order for all elements to be visible, the text length may need to be reduced accordingly to accommodate such figures. Essential but technical details can be moved into the Methods or Supplementary Information (see below).
TITLE: Titles cannot exceed 75 characters (including spaces); they must not contain punctuation.
SUMMARY PARAGRAPH: Papers start with a fully referenced, bold paragraph, ideally of about 200 words, aimed at readers in other disciplines. Numbers, abbreviations, acronyms or measurements should be avoided unless essential. The summary paragraph consists of 2 to 3 sentences of basic-level introduction to the field; a brief account of the background and rationale of the work; a statement of the main conclusions (introduced by the phrase 'Here we show' or its equivalent); and a conclusion of 2 to 3 sentences putting the main findings into general context so it is clear how the results described in the paper have moved the field forward. A downloadable, annotated example is available at https://www.nature.com/nature/for-authors/formatting-guide.
MAIN TEXT: If further introductory material is necessary, the main text can begin with up to 500 words of introduction expanding on the background to the work (some overlap with the summary is acceptable), before proceeding to a concise, focused account of the findings, and ending with 1 or 2 short paragraphs of discussion. Sections are separated with subheadings (up to 40 characters including spaces) to aid navigation.
REFERENCES: As a guideline, most papers should include no more than 50 main text references; all additional references can be cited in (and listed after) the Methods section, as detailed below.
FIGURE LEGENDS: These should be listed sequentially after the main text references and not in the figure files. Each legend should begin with a brief title for the whole figure and continue with a short description of each panel and the symbols used. Legends should not exceed 300 words each. Each figure legend should contain, for each panel where relevant, the following information:

the exact sample size (n) for each experimental group/condition, given as a number, not a range;
a description of the sample collection allowing the reader to understand whether the samples represent technical or biological replicates (including how many animals, litters, cultures, etc);
a statement of how many times the experiment shown was replicated;
definitions of statistical methods and measures:
very common tests (e.g. t-test, simple Chi-square tests, Wilcoxon and Mann-Whitney tests) can be identified by name only, but more complex techniques should be described in the Methods;
whether tests are one-sided or two-sided;
whether there are adjustments for multiple comparisons;
the statistical test results (e.g., P values);
the definition of ‘center values’ as median or average;
the definition of error bars as s.d. or s.e.m.
Descriptions that are too long for the figure legend should be included in the Methods section; see https://www.nature.com/nature/for-authors/formatting-guide for further explanation.

METHODS: The Methods section, which provides the full, step-by-step instructions that would allow other researchers to replicate the results, is included after the main text figure legends. The Methods section will not appear in print but will appear online in the full-text HTML and PDF versions. The Methods section should be written as concisely as possible but should contain all elements necessary to allow interpretation and reproduction of the results. If there are additional references (in the Methods section, Supplementary Information, etc), their numbering should continue from the last entry in the main text reference list, and they should be listed following the Methods section. Specialized methods that require chemical structures, figures or tables, or methods requiring equations, cannot be accommodated in the Methods section of the main text file. If such information is part of the Methods, the entire Methods section must instead be included within a Supplementary
Information text file.
MAIN TEXT STATEMENTS: Several statements (which will not appear in print but will appear online in the full-text HTML and PDF) are required after the Methods (and additional references, if present). First, there should be an Acknowledgements section, listing grant/financial support. Next, we require a detailed Author Contribution statement; the specific contributions of each author, particularly in terms of which authors performed which specific experiments, must be listed. This is followed by a Competing Interest statement. Financial and non-financial interests should be noted here, as well as any patents; patent information should include at a minimum what is covered by the patent and who submitted the patent application. Finally, an Additional Information statement should include information regarding reprints and permissions and name the author(s) to whom correspondence and requests for materials should be addressed. For formatting details and an example see
https://www.nature.com/nature/for-authors/formatting-guide.
DATA AND CODE AVAILABILITY STATEMENTS: All published manuscripts reporting original research in Nature Portfolio journals must include a data availability statement. The data availability statement must make the conditions of access to the “minimum dataset” that are necessary to interpret, verify and extend the research in the article, transparent to readers. This minimum dataset may be provided through deposition in public community/discipline-specific repositories, custom proprietary repositories for certain types of datasets, or general repositories like Figshare, Zenodo and Dryad. Providing large datasets in supplementary information is strongly discouraged and the preferred approach is to make data available in repositories. More information on Nature Portfolio’s reporting standards and preparing your Data Availability Statement can be found here: https://www.nature.com/nature-portfolio/editorial-policies/reporting-standards#reporting-requirements
For all studies using custom code or mathematical algorithm that is deemed central to the conclusions, a statement must be included under the heading "Code availability", indicating whether and how the code or algorithm can be accessed, including any restrictions to access. Code availability statements should be provided as a separate section after the data availability statement but before the References. Code should be deposited in a DOI-minting repository such as Zenodo, Gigantum or Code Ocean and cited in the reference list. Authors are encouraged to manage subsequent code versions and to use a license approved by the open source initiative. Additional details can be found here: https://www.nature.com/nature-research/editorial-policies/reporting-standards#availability-of-computer-code.
DISPLAY ITEMS: We suggest that you take stock of all data that have been generated throughout the review process and ensure that only the data most central to the conclusions are presented in the main text figures. Any figures included within the main text file during the review process must be removed from the final main text file and uploaded as separate, individual files; they will be integrated into the main paper in print and online. An overview of the key features of this presentation may be found at http://s3-service-broker-live-19ea8b98-4d41-4cb4-be4c-d68f4963b7dd.s3.amazonaws.com/uploads/ckeditor/attachments/7824/3g_Paper_composition.pdf.
Figures should be comprehensible to readers in other disciplines and assist in understanding of the paper. Main text figures (but not Extended Data) must be provided in production-quality versions in an editable format (i.e., .ai, .cmx, .cdr, .doc, .eps, .pdf, .ppt, .ps, .psd, .svg and .xls); we cannot accept figures in .cvs, .gif, .jpg, .png and .tif formats. We strongly encourage you to consult the guidelines at http://s3-service-broker-live-19ea8b98-4d41-4cb4-be4c-d68f4963b7dd.s3.amazonaws.com/uploads/ckeditor/attachments/7822/3c_Final_artwork.pdf. They should be as small and simple as is compatible with clarity. All panels of a figure should be logically connected and assembled on a single page in a rectangular shape; any essential alignments (parts horizontal, vertical, spacings of stereo pairs, etc) should be indicated. Each panel of a multipart figure should be sized so that the whole figure can be proportionally reduced and reproduced on the printed page at the
smallest size at which essential details are visible. Nature's standard figure sizes are either 9 or 18 cm wide; the maximum permitted height is 17 cm. You should arrange the panels to fit these widths while minimizing excess space around the panels. Tables should be prepared using the Table menu in Microsoft Word. As we must be able to edit the figures so that they conform to our house style, the submission of files that are incorrectly formatted, flattened, or of insufficient resolution may delay final acceptance of your manuscript. Any images, illustrations, etc that are reused must be identified so that the appropriate permission can be obtained and credit can be given.
IMAGE INTEGRITY: We strongly advise that you go carefully through all the data (including Extended Data and Supplementary Information) to ensure there are no accidental image/data duplications, other image manipulations or data errors. Such issues generally require correction after publication. Any image provided for publication, either in print or online (including Extended Data and Supplemental Information), may be subject to a quality control process to check for image integrity and manipulation. A discussion of our standards regarding how images should be prepared and presented can be found at https://www.nature.com/authors/editorial_policies/image.html.
EXTENDED DATA: Extended Data do not appear in print but are included online within the full-text HTML and integrated in the downloadable PDF. Extended Data are an integral part of the paper, and only data that directly contribute to the main message should be included. All Extended Data must be referred to in the main text, and their legends should be listed sequentially at the end of the main text, not in the Extended Data files. Extended Data should be assembled into a maximum of 10 A4 size, multi-panelled display items. They must be supplied as individual files in .jpg, .tif or .eps format only. They should be of the same quality as the main figures, but there are important differences in their formatting. More specific instructions are provided here: http://s3-service-broker-live-19ea8b98-4d41-4cb4-be4c-d68f4963b7dd.s3.amazonaws.com/uploads/ckeditor/attachments/7823/3h_Extended_data.pdf. We encourage authors who are describing complex processes to include a schematic of
the main finding as part of the Extended Data to aid readers unfamiliar with the immediate discipline.
SUPPLEMENTARY INFORMATION: Supplementary Information (SI) is online-only, peer-reviewed material that is essential background to the study (e.g., large data sets, more complex methods, and calculations), but which is too large or impractical, or of interest only to a few specialists, to justify inclusion in the print version of the paper (see https://www.nature.com/nature/for-authors/supp-info for further details). While SI should not typically contain data figures (any figures additional to those appearing in the main text should be formatted as Extended Data), we require that the raw, uncropped data for gels be presented as an SI figure (see below). Tables may be included in SI, but only if they are unsuitable for formatting as Extended Data (e.g., tables containing large data sets or raw data tables that are best suited to Excel files). If a manuscript has SI, each discrete item of the SI (e.g., videos, tables) must be referred to at an appropriate point in the main manuscript.
We ask that you provide a word file entitled “SI Guide”, containing a cover page with manuscript title and author information; a table of contents (preferably with page numbers); and then any SI text, notes, figures, and titles and legends for any separate SI files. Additional information can be found at https://www.nature.com/nature/for-authors/supp-info.
Please pay careful attention to the formatting of the SI because it is not subedited. After the paper has been accepted, SI files can only be amended for critical changes to the scientific content, not for style.
SOURCE DATA (GRAPHS): To increase transparency, we strongly encourage you to provide, in spreadsheet form, the data underlying the graphical representations used in figures. In the case of all experiments presenting data from animal models, this is a requirement and is not optional. This is in addition to our well-established data-deposition policy for specific types of experiments and large datasets. Online readers of the manuscript will be able to access the graphical source data directly from the figure legend. Spreadsheets must be submitted in .xls, .xlsx or .csv formats. One file per figure is permitted. If there is a multi-panelled figure, the source data for each panel should be clearly labeled in the file; alternatively the source data for a figure can be included in multiple, clearly labeled sheets within an Excel file. File sizes of up to 30 MB are permitted, but it is expected that the vast majority of graphical source data files will be considerably smaller than this.
When submitting these files with your manuscript, you should select the "Source Data" file type and use the title field in the file description tab to indicate the figure(s) to which the source data pertain. Source data should not be provided as Extended Data.
DATA DEPOSITION: The following specific points may be relevant to your paper, so please ensure that you provide the following information:

Sequences for any RNAi/small RNA constructs must be included.

Accession numbers for gene expression data or RNA sequencing data must be listed.

Papers reporting protein structures must conform to our standards listed in the Guide to Authors (https://www.nature.com/authors/editorial_policies/availability.html). The DAS must state that the X-ray crystallographic coordinates and structure factor files (or comparable NMR or cryoEM data) have been deposited in the appropriate, named, public database, along with all relevant accession number(s). You must use the standard Nature templates for structural data (https://www.nature.com/nature/for-authors/formatting-guide; this url contains separate links to tables for X-ray crystal, NMR and cryoEM structures). These tables should be presented as Extended Data. The contour level of any electron density maps presented, as well as the type of map (i.e., Fo-Fc or 2Fo-Fc), should be explicitly stated in the figure legend.

For every new chemical compound, a complete description of the synthesis and the physical characterization (i.e., NMR, MS, etc) must be included in the Supplementary Information (see https://www.nature.com/documents/nature-chemical-characterization-guidelines.pdf).

Papers containing new or revised formal taxonomic nomenclature for animals, whether living or extinct, are accepted conditional on the provision of LSIDs (Life Science Identifiers) by means of registration of such nomenclature with ZooBank, the online registration system for the International Code of Zoological Nomenclature (ICZN). ZooBank LSIDs can be resolved and the associated information viewed through any standard web browser by appending the LSID to the prefix "http://zoobank.org/".

We strongly encourage deposition of 3D morphological data in a suitable repository such as MorphoBank, MorphoSource or similar; the relevant accession numbers should be listed in the DAS.

For animal experiments, you must confirm that all experiments were performed in accordance with relevant guidelines and regulations. There should be a statement identifying the institutional and/or licensing committee approving the experiments, including any relevant details. Sex and other characteristics of animals that may influence the results must be described. Details of housing and husbandry must be included if they are likely to influence experimental results. Further details can be found at https://www.nature.com/authors/policies/experimental.html.

Human genotype data (e.g., SNP array data) should be deposited into a public database (dbGAP or EGA) with controlled access policy for human genotype data.

A full clinical and pathological characterization of patients/human subjects and samples should be provided in tabular format, including the magnitude of response for each patient (partial, complete, stable disease), the site of the biopsy, whether or not that lesion was progressing, and mutational status if appropriate.

CONSORTIA: For papers containing one or more consortia, all members of the consortium who contributed to the paper must be listed in the paper (i.e., print/online PDF). If necessary, individual authors can be listed in both the main author list and as a member of a consortium listed at the end of the paper. When submitting your revised manuscript via the online submission system, the consortium name should be entered as an author, together with the contact details of a nominated consortium representative. See https://www.nature.com/authors/policies/authorship.html for our authorship policy and https://www.nature.com/documents/nr-consortia-formatting.pdf for further consortia formatting guidelines, which should be adhered to prior to acceptance.

Please ensure that the text size in all figures is at least 5 pt Arial.

Do you know how to change the font in an rmd table? I've tried changing font in the csv and adding mainfont = Arial / \fontspec{Arial} to the extended data rmd but neither seemed to work. It seems like the tables are the issue here.

Please let us know the sources of the map illustrations in extended data figures.

This is in reference to EFD1? That map is from ggplot2.

Figure 3 is too tall in height when re-sized to 18 cm width, please reduce to 17 cm or less.

Are they asking us to change the height to 17cm while the width will be 18cm?  That would make the figure into a weird square...

Figure 3 is too tall in height when re-sized to 18 cm width, please reduce to 17 cm or less.

Are they asking us to change the height to 17cm while the width will be 18cm? That would make the figure into a weird square...

It sounds like that. It sure will crunch it down into an almost impossible size... Perhaps we should check with the editor? But I do think that's what's meant.

Which looks suspicious to you? Presumably EDT3 (smallest font size of all)?

I think the font in all the tables needs to be changed

Are you sure? The checklist says figures, not tables. To me it looks like the smallest fonts anywhere are the axis labels on EDF 3, probably followed by the index numbers on the 3 tree-ring plots. (Tables EDT1 and EDT2 have fonts bigger than the captions.)

Are you sure?

It seems weird to have different font types for tables and figures, but you're right, they just mention figures.

the index numbers on the 3 tree-ring plots

These should be large enough in the original images, may become too small because of the way we screenshot the final figure.

Oh no, I'm sorry... This whole time I've been thinking about font size, thinking you wanted me to make the table font bigger! That's just because I didn't read well. I'll look at this in the morning.

Please ensure that the text size in all figures is at least 5 pt Arial.

Do you know how to change the font in an rmd table? I've tried changing font in the csv and adding mainfont = Arial / \fontspec{Arial} to the extended data rmd but neither seemed to work. It seems like the tables are the issue here.

Which looks suspicious to you? Presumably EDT3 (smallest font size of all)? I think that still looks bigger than some of the figures. Perhaps some of the font is getting smaller than programmed when the figure is shrunk to size? (Font and figure sizes can sure be annoying...)

@camerondow35 , Are you sure that changing the font to Ariel is necessary? It looks like it's a tricky thing to do, so I'd rather not bother unless it's specifically requested. Are you basing this on the request "Please ensure that the text size in all figures is at least 5 pt Arial."? If so, I'd think that applies to the figures, and I wouldn't worry about the tables. They can always come back to us if this is a problem.

Are you sure that changing the font to Ariel is necessary?

I'm not sure. So we can leave it alone for now.

Figure 3 is too tall in height when re-sized to 18 cm width, please reduce to 17 cm or less.

See the commit I made a few days ago which I think solves this. I just resized it in powerpoint then saved the image manually (no screenshot)

Please supply Table 2b in the article file in an editable format. Does this refer to table in Figure 1b?

I guess. We have this already but the text is latex based, right? Is that a problem?

Please ensure that the text size in all figures is at least 5 pt Arial. which don't meet this standard?

I think this is ok?

We have completed all but the SI guide, which is now it's own issue, so closing this.


Ability to define arbitrary notes like XXX or LATER

Make it possible for users to define additional notes compositing the available style. For example somebody would like to have a XXX note or a LATER note.

CITE is another good example.


ERRORs that happended in the process of enabling Power Manager

Some errors occurred during enable power manager.
log command:
kubectl logs  -n intel-power power-node-agent-s4h4p -c power-node-agent
Here are some log messages:
1. cannot check status of pod
error message:
{"reconcilerGroup": "", "reconcilerKind": "Pod", "controller": "pod", "name": "power-node-agent-s4h4p", "namespace": "intel-power", "error": "pod not in running phase"}

But the status of my pod is started normally.
$kubectl get pods -n intel-power

NAME                                 READY   STATUS    RESTARTS   AGE
controller-manager-74b6b8589-wr2q8   1/1     Running   0          23h
power-node-agent-s4h4p               2/2     Running   0          2d

2. network error
error message:
{"reconcilerGroup": "power.intel.com", "reconcilerKind": "PowerWorkload", "controller": "powerworkload", "name": "balance-performance-master-workload", "namespace": "default", "error": "Get https://localhost:5000/power_profiles: dial tcp <IP_ADDRESS>:5000: connect: connection refused"}
{"reconcilerGroup": "power.intel.com", "reconcilerKind": "PowerNode", "controller": "powernode", "name": "master", "namespace": "default", "error": "Get https://localhost:5000/pools: dial tcp <IP_ADDRESS>:5000: connect: connection refused"}

This error may related to previous one.
{"powerprofile": "default/balance-performance", "error": "Response status code error"}
{"powerprofile": "default/balance-power", "error": "Response status code error"}
{"powerprofile": "default/performance", "error": "Response status code error"}
{"powerprofile": "default/shared", "error": "Response status code error"}

3. json unmarshal error
error message:
{"reconcilerGroup": "power.intel.com", "reconcilerKind": "PowerWorkload", "controller": "powerworkload", "name": "shared-master-workload", "namespace": "default", "error": "json: cannot unmarshal object into Go value of type []appqos.PowerProfile"}

This error may be a code error.

Hi @shaorui0, thanks for reaching out.
For the first issue, this is the expected behaviour of the power manager, when it tries to reconcile a Pod it checks to make sure it is running. If it is not (the most common example is if the container is in the ContainerCreation phase) it will requeue the reconciliation and try again until the Pod is in the Running phase.
The second and third issues are linked, I think the problem is that Power Profiles/SST-CP is not enabled in your App QoS instance. Because of this the power_profiles target doesn't exist so no power profile can be created, and then when the workload is trying to unmarshal the response from the App QoS agent it expects at least one value but it is getting nothing, hence the error.
Can you show me the logs for the App QoS agent by running this command:
kubectl logs -n intel-power power-node-agent-s4h4p -c appqos

Hi @pbrownlow7 , here are some log messages.  For appqos to be able to utilize power profiles, this feature needs to be enabled on your machine.
Just to be certain, when you first deploy the power node agent, in the logs for the appqos agent's container, does it say PowerProfiles/SST-CP is enabled or disabled?
So for example, this is what it would say if that feature was enabled:
2022-01-26 15:31:19,501 INFO  Interface MSR, MBA BW: unsupported.
2022-01-26 15:31:19,600 INFO  Interface OS, MBA BW: supported.
2022-01-26 15:31:19,601 INFO  Supported RDT interfaces: ['msr', 'os']
2022-01-26 15:31:19,650 INFO  RDT initialized with 'msr' interface
2022-01-26 15:31:20,668 INFO  Supported capabilities:
2022-01-26 15:31:20,668 INFO  ['l3cat', 'mba']
2022-01-26 15:31:20,755 INFO  SST-BF not enabled
2022-01-26 15:31:20,755 INFO  Power Profiles/SST-CP enabled.
2022-01-26 15:31:20,755 INFO  Configuring RDT
2022-01-26 15:31:20,761 INFO  RDT MBA CTRL disabled

hi @pbrownlow7 , I have created a new power-node-agent and it say "Power Profiles/EPP not enabled". Why did this happen?
[root@master kubernetes-power-manager]# kubectl logs -n intel-power power-node-agent-rbcj8 -c appqos
2022-01-27 04:36:24,475 ERROR libpqos is_mba_ctrl_enabled(..) call failed!
2022-01-27 04:36:24,475 ERROR ('pqos_mba_ctrl_enabled returned 3', 3)
2022-01-27 04:36:24,475 INFO  Interface MSR, MBA BW: unsupported.
ERROR: os_cap_init() error 3
2022-01-27 04:36:24,484 ERROR ('pqos_init returned 3', 3)
2022-01-27 04:36:24,484 INFO  Supported RDT interfaces: ['msr']
2022-01-27 04:36:24,491 ERROR libpqos is_mba_ctrl_enabled(..) call failed!
2022-01-27 04:36:24,491 ERROR ('pqos_mba_ctrl_enabled returned 3', 3)
2022-01-27 04:36:24,491 INFO  RDT initialized with 'msr' interface
2022-01-27 04:36:24,491 ERROR ('pqos_mba_get_cos_num returned 3', 3)
2022-01-27 04:36:24,502 INFO  Supported capabilities:
2022-01-27 04:36:24,502 INFO  ['l3cat']
2022-01-27 04:36:24,561 INFO  SST-BF not enabled
2022-01-27 04:36:24,561 INFO  Power Profiles/EPP not enabled
2022-01-27 04:36:24,561 INFO  Configuring RDT
2022-01-27 04:36:24,566 INFO  Configuration changed, processing new config...
2022-01-27 04:36:24,571 INFO  New configuration processed

Hi @shaorui0, apologies for the delay.
The issue is with how App QoS initializes. App QoS doesn't seem to be detecting that SST-CP is enabled on the Node. Unfortunately, with how App QoS works, if SST-CP is not detected, Power Profiles/EPP won't be enabled which means that power profiles can't be used. Without power profiles in App QoS the power manager can't work as the power profiles are what hold all the relevant information for core configuration.
If your system has the capability to run SST-CP and it is configured, App QoS should be able to detect it properly.
Another option, which is a hack to get around it, is to force App QoS to return that SST-CP is enabled by simply changing the code to return True when querying the system in the App QoS source code and rebuilding the image, forcing power profiles to be available.
We'll be moving away from App QoS in a future release so this will only be a temporary solution to this problem and deploying the power manager will hopefully be a lot easier.

pbrowlow7  replied to this issues, and as App QoS in not in V2 its N/A now


#34 Adhere to Prometheus Exposition format

Closes #34
TLDR: PrometheusEncoder produces JVM metrics that violate Prometheus's specified exposition format. Furthermore, it produces parsing errors when linked with telegraf. The solution is to group all the metrics of the same type together so that there is exactly ONE TYPE and HELP line in order to adhere to Prometheus's specified exposition format.
Problem
Under the Prometheus Exposition Formats, "Only one HELP line and only one TYPE line may exist for any given metric name" and "The TYPE line for a metric name must appear before the first sample is reported for that metric name". The current implementation violates this specification, and downstream metric collecting agents such as Telegraf depend on this specification to parse metrics, which is currently failing with parsing errors. There are plenty of reproducable violating examples if we include DefaultJvmMetrics to our metrics.
Solution
We need to group together the metrics that have the same TYPE line but may have different labels. For each group of metrics with the same TYPE, we need one TYPE line, followed by one HELP line, followed by the numerous metrics of the given type.
As an example, prior to this change, the output of DefaultJvmMetrics encoded the jvm memory committed bytes as:
# TYPE jvm_memory_bytes_committed gauge
# HELP jvm_memory_bytes_committed
jvm_memory_bytes_committed{area="heap",} 1.073741824E9<PHONE_NUMBER>729
...
... other metrics
...
# TYPE jvm_memory_bytes_committed gauge
# HELP jvm_memory_bytes_committed
jvm_memory_bytes_committed{area="nonheap",} 3.06315264E8<PHONE_NUMBER>729

This violates the Prometheus specification as described above.
With the changes in this pull request, the output looks like:
# TYPE jvm_memory_bytes_committed gauge
# HELP jvm_memory_bytes_committed
jvm_memory_bytes_committed{area="heap",} 1.073741824E9<PHONE_NUMBER>729
jvm_memory_bytes_committed{area="nonheap",} 3.06315264E8<PHONE_NUMBER>729

Suggested improvements
I noticed that I am introducing some magic numbers (thm.take(2)) coming out of the assumption that each Chunk of String encoded will start with TYPE and HELP strings. To make the code more readable, we could introduce two case classes,
case class EncodedHead(typeComment: String, helpComment: String)
case class EncodedMetric(encodedHead: EncodedHead, metrics: Chunk[String])
and change the PrometheusEncoder.encode(..) method to return EncodedMetric instead of Chunk[String].
This will allow us to make the groupMetricByType method cleaner to read:
  def groupMetricByType(report: Chunk[EncodedMetric]): Chunk[Chunk[String]] = {
    Chunk.fromIterable(report.groupMap(thm => thm.encodedHead)(thm => thm.metrics).map {
      case (EncodedHead(t, h), m) => Chunk(t, h) ++ m.flatten
    })
  }

However, I am unsure about the performance tradeoffs with creating instances of the two introduced classes for each metric, so I am leaving it as a suggestion. I'd be happy to include it in if deemed viable.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.tup916 seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


BUG:LOGIN PAGE

Describe the bug

We cannot have any proper details of users.
Expected behavior

There should be more boxes as an required information such as confirm password, first name ,last name.
Screenshots (Mandatory)

Additional Context (Mandatory )
Are you contributing under any open-source program ?

No, I am not contributing under any open-source program except gssoc'24.

I hope this message finds you well. My name is Chitrang Jain, and I am a passionate developer with experience in web development and design. I am writing to express my interest in contributing to the "TourGuide" project, particularly by solving this bug comprehensive "Login" for the TourGuide website. To proceed, I kindly request access to the repository to begin working on this enhancement. I am open to feedback and keen on maintaining the project's coding standards and conventions.

Hi ,
I am impressed with your issue. Please start working on this issue.
Regards
Project Mentor (GSSoC' 24)

@Ghanshyam89 sir what about the label??

@Ghanshyam89  Sir, also I am adding a page for login up for those who visit second time....so will that be included in bug level?


Hectic jumping in opened editors when picking an entry

have many editors across 3 groups
scroll all the way up and click into a group on an editor that is not open in that group

=> at first the opened editors jumps back down to the current one and then up to the selected one
=> this is because preserveFocus tells the group that it is not the active one and it only later becomes active when the input is set
=> instead we need a better way of deciding if a group is active or not

@isidorn I fixed this by activating the group before opening the editor (https://github.com/Microsoft/vscode/commit/bb3354ff0ae59e9a9b9954664c91804873733990). it is a bit of a workaround but should not have any drawbacks.


Enforce crate naming rules of rustc

Actual behavior
Creating a new crate:
cargo new --bin 'UPPERcase_name'

No issue.
Compiling it:
 cargo build

warning: crate `UPPERcase_name` should have a snake case name such as `uppercase_name`, #[warn(non_snake_case)] on by default

Expected behavior
Cargo should only create crates with names that raise rustc warnings if forced.
Meta
  rustc --version --verbose
rustc 1.8.0
binary: rustc
commit-hash: unknown
commit-date: unknown
host: x86_64-unknown-linux-gnu
release: 1.8.0

  cargo --version
cargo 0.10.0 (10ddd7d 2016-04-08)

I would say that it should warn before creation that it's not according to rules and offer the following options:

Edit the name
Continue
Continue and add the ignore directive where needed

Can I try a fix for this?  I've just started learning rust/cargo and this feels like a good first fix.
There are several validations for crate name at function check_name in cargo_new.rs.  Will adding a warning (similar to the existing ones) about the casing be a good fix?  The existing validations don't prompt for a new name.  Want to be consistent with the existing behavior.

So long as its only a warning, I feel that is the most we should do.  My main concern about a warning is making sure we get the language right to  give people a heads up without coming across to strong (since they can just allow it or ignore it).  I wonder if we should also check the status of the warning in the lints table (#12115).

Rather than warning or not warning you could just be informative. Something like this name doesn't match the naming rules standard X, please see documentation blah blah blah blah.

How is that different from a warning?

A warning is a value judgment.

If this change looks good, I can start a PR:
https://github.com/rust-lang/cargo/compare/master...shnaramn:cargo:WarnAboutNameCase

Theres details to work out in  a PR but that is the general direction of what I'd expect.


Ryuk port is random or possible to set?

Hi,
We are running testcontainers and we have docker installed on a separate server in a separate domain. The server where we run our testcontainer don't have access to all ports on the machine where we have docker installed. Which ports are used for Ryuk? Could it be configured?
//mike

Hi @mpet.
Testcontainers uses random ports for everything, including Ryuk. You can disable Ryuk to unblock yourself, although this would mean that a killed test session could leave containers running.


Added News App Project in Web projects Folder

Updated contributors in readme, project doc in web folder and brief description about project in News App folder.

There are some merge conflicts, resolve them and you are good to go

Resolved conflicts, pls merge!

Pls merge fast!!! @ron2111

@prathimacode-hub @aflah02 @ron2111 @TechSpiritSS pls merge this because it will go on conflicting with others pls pls

Create a new Pull Request and do not edit the Readme file in that, we will manually update all those readme files now.


fix: improve Lighthouse's score, accessibility

SEO check tool "Lighthouse" alert
-> viewport setting
https://github.com/GoogleChrome/lighthouse

Thanks for your PR :smile:


Refraction not working on StandardMaterial3D

Tested versions

Reproduceable in: Godot v4.2.1.stable, v4.3.dev.mono.custom_build [a47830c66]

System information
Godot v4.2.1.stable - Pop!_OS 22.04 LTS - Wayland - Vulkan (Mobile) - dedicated Intel(R) Arc(tm) A750 Graphics (DG2) () - AMD Ryzen 7 5800X 8-Core Processor (16 Threads)
Issue description
Refraction is not working on the standard shader as I would expect it to.  Here are some pics:
Default Refraction Enabled:

Refraction with 0 scale (which I assumed should be no refraction / be disabled):

Refraction Disabled:

I would have expected the background sphere to be distorted but still visible with refraction enabled.  Something more akin to this:

Image above from this repo: https://github.com/NathanWarden/godot_refraction_shader
Steps to reproduce

Download the MRP.
Open the refraction.tcsn scene
See the sphere in front behaving cloudy and opaque instead of refracting its background environment.

Minimal reproduction project (MRP)
RefractionExample.zip

Material roughness is 1.0 by default, which means the underlying refraction is very rough (and therefore blurry). If you want the refraction to be sharper, decrease material roughness.
PS: Refraction rendering on the Mobile rendering method is currently broken because of https://github.com/godotengine/godot/issues/88585.

Nevermind, I found the issue:
Roughness defaults to 1 which results in the 100% cloudy behavior.  Reducing the roughness causes the refraction as I expect:

Should we add some kind of note / info popup that notes the effect of roughness on refraction?

Lol @Calinou commented at the same time I found this.  Thanks @Calinou ! :)


Ability to disable dashboard from user's app host project

https://github.com/dotnet/aspire/blob/3cd891a57338b0a5bafc39c4586c54fc94989afe/src/Aspire.Hosting/DistributedApplicationOptions.cs#L32-L35
We use DistributedApplicationOptions.DisableDashboard to turn off dashboard logic, but nothing seems to be setting this property.
DistributedApplicationOptions is public, but I can't see where we would expose it in a typical DAB construction. If that is possible, then we can close this issue, otherwise we should find and document a way to do this for those who don't want a dashboard.

See https://github.com/dotnet/aspire/blob/3cd891a57338b0a5bafc39c4586c54fc94989afe/tests/testproject/TestProject.AppHost/TestProgram.cs#L10


Not working inside the function

i want to do something like this for multiple comments box.
$('.comments_toggle').click(function(){
var target = $(this).data('comment-for');
$('#comment_el_'+target).paperfold().toggle
});

Hey Ismail! You have to run the function toggle – e.g. add () at the end:
$('#comment_el_'+target).paperfold.toggle();

If you write it like this it returns the function:
paperfold.toggle

If you write it like this it runs the function:
paperfold.toggle()


CI: Enable commit linting

Commits should have the following format:
<type> | <scope>: <subject>

Rules:

type can be any of the following:Core, Component, Container, Utils, Styles - for core library changes
Angular, React, Svelte, Vue - for wrapper related changes
Website - for changes related to website content
Dev, Shared - for changes to the demo app, dev tools or integrations
CI - for CI/CD pipeline related changes
Release - for release commits
Misc - anything else

scope should be the name of the component or feature being worked on in PascalCase
Additional scope values can be added with | delimiter
subject is a short description of the change in Sentence case
A reference <#issue> may also be provided on the next line
No leading or trailing whitespace in the header

Linter warnings:

Scope is optional but encouraged for all types except CI or Release
For Component type, scope should be one of the component names

Some examples:
Core | Utils: Refactoring shape rendering helpers
Component | Timeline: Fixing enter transition bug
Dev | Build: Upgrading rollup dependency
React | Autogen: Tweaking component lifecycle logic
Release: 1.4.0
Website | Gallery: Adding a new example
Website | Docs | Axis: Updating some property description

I went through this and I didn't find any obvious issues. Though this is more like a learning experience to me.


Not sure if it's working.

So I logged in and my power had gone from 42 to 24, then I killed something and it went to 1.
Its now at 3 after a few kills so I'm assuming that's me levelling? Could you add an XP bar or any kind of interface/UI at all so I know what's going on/what strength the levels are giving me?

The levels are basically gear level being replaced, what the exp level give you is exactly what the gear level will give you equal to what that gear level will give you.
For experience, you can check with .experience or .xp

That all works awesomely thank you man. Would you consider adding an XP bar? I think it would really tie it all together :) Thanks again for the cool mod though and great work.

XP bar will require a client side UI mod, it's an area i do not understand yet, hahaha

Ahh okay fair enough! well either way I've got the commands working now and am enjoying the bonuses immensely. However I changed the limit of waypoints to 30 yet am still unable to set more than 3. Is there some kind of admin override or something I need to edit? I believe all the other options change when I change them (Increased XP gain and V Blood kill XP for example both seem to be working fine). I'd just love complete waypoint freedom. What's the maximum and how do I override the default value? :) Thanks again!

Oh and maybe the server could autoping your XP occasionally? I imagine itd be easier than a UI bar but still provide an idea of how close you are to the next level. And would the option to change the level format from x/total xp to x/needed to level up?

The waypoint sounds like a bug, I'll take a look at it.
For experience, use the .experience command, it's available to see there.
Have you read the mod information on the readme yet?

Yeah I knew how to check it I'm suggesting it auto-pings it occasionally to show the player without having to check themselves.

I'm not trying to rush/pester you, but did you get a chance to look at the waypoints bug yet? If not obviously that's fine I was just wondering :) Do you know when it might be fixed? I just really like the feature but the limit is too low for singleplayer :P

Awesome works now :) Thanks man. Time to try and find the upper limit of the waypoints by placing one at every Vblood and camp :D


Feature: Added support for restoring tabs after restarting Windows

Resolved / Related Issues

[x] Were these changes approved in an issue or discussion with the project maintainers? In order to prevent extra work, feature requests and changes to the codebase must be approved before the pull request will be reviewed. This prevents extra work for the contributors and maintainers.
Closes #12624

Validation
How did you test these changes?

[x] Did you build the app and test your changes?
[ ] Did you check for accessibility? You can use Accessibility Insights for this.
[ ] Did you remove any strings from the en-us resource file?

[ ] Did you search the solution to see if the string is still being used?

[ ] Did you implement any design changes to an existing feature?

[ ] Was this change approved?

[x] Are there any other steps that were used to validate these changes?

Open multiple Files instances, and open several tabs for each instance.(Need to check "Continue where you left off")
Modify tabs at will, including opening tabs, closing tabs, changing tab paths, etc.
Check if "LastAppsTabsWithIDList" in user_settings.json is consistent with the open tab page.
Restart the computer directly.
After restarting, open Files and see if the tab status before shutdown is automatically restored.

Screenshots (optional)
Add screenshots here.

I force-pushed my branch, causing the previous PR #12990 to be automatically closed.
I've now put most of my changes into Helpers/AppLifecycle.cs.

You can fix that issue by deleting USER_PROFILE/.nuget/packages

The latest commit has been merged, and it works well.

@IzayoiSake sorry for the delay, I took a look and I think we can simplify this quite a bit by using WM_ENDSESSION to detect when the device is shutting down/logging off.

Sorry for the late response. Indeed, using the WM_ENDSESSION message is much better. However, I am currently stuck in an issue. The code is as follows:
public static void SaveTabs()
{
    var userSettingsService = Ioc.Default.GetRequiredService<IUserSettingsService>();
    var lastAppsTabsWithIdArgList = new List<TabItemWithIDArguments>();
    if (userSettingsService.GeneralSettingsService.LastAppsTabsWithIDList is not null)
    {
        lastAppsTabsWithIdArgList = userSettingsService.GeneralSettingsService.LastAppsTabsWithIDList
            .Select(x => TabItemWithIDArguments.Deserialize(x))
            .ToList();
    }
    var tabsWithIdArgList = GetTabsWithIDArgList();
    tabsWithIdArgList = tabsWithIdArgList.Concat(lastAppsTabsWithIdArgList).ToList();
    userSettingsService.GeneralSettingsService.LastAppsTabsWithIDList = tabsWithIdArgList.Select(x => x.Serialize()).ToList();
}

This function is executed when receiving the WM_ENDSESSION message. However, I found that userSettingsService.GeneralSettingsService.LastAppsTabsWithIDList is not updated in real-time. For example, when "Instance 1" executes the above function first, if "Instance 2" executes it afterward, it won't be able to obtain the data stored by "Instance 1."

This is true even when closing the app normally. We might be able to add support for saving tabs from multiple windows once we switch to single instance.

This function is executed when receiving the WM_ENDSESSION message. However, I found that userSettingsService.GeneralSettingsService.LastAppsTabsWithIDList is not updated in real-time. For example, when "Instance 1" executes the above function first, if "Instance 2" executes it afterward, it won't be able to obtain the data stored by "Instance 1."

The settings file is only saved when the app is closed (for performance reasons). If we need the list of tabs to be saved right away, we can create a new file just for tabs and save it whenever there is a change.

We recently made a fix for this.


feat(pixels): add my new pixel

Checklist

[x] I ran npm test locally and it passed without errors.
[x] I only edited the _data/pixels.json file.
[x] I entered the username in the pixels.json that I'm also using to create this pull request.
[x] I acknowledge that all my contributions will be made under the project's license.

Done! @dkundel

@dkundel I think it's ready to be merged


Belindas-closet-android-2-253-add-front-matter-to-android

resolves #253
This PR adds front matter to template which will allow it to be used in GitHub.

@brinkbrink Yes, very cool. I'll look more into this as well.


Take screenshot of failed test before closing the active editor

Adding a screenshot right after the test fails and before the revertAndCloseActiveEditor command is run. For notebooks, there will be two screenshots for each failed test, one before and one after closing the active editor.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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 42.041%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
26395

Relevant Lines:
56917

💛  - Coveralls


URL is not a constructor

Expected Behavior
url copied to the command line and should not give any error and should be authenticated.
Actual Behavior
when i paste the authorization code, it showing error that url is not a constructor.
Steps to Reproduce the Problem
1.first i run the command node.
2. then it shows a url, go to that and copy the code which comes there
3. when i paste the code then it shows the error
Specifications

Node version (node -v)
OS (Mac/Linux/Windows)

Please include the full exception and/or stack trace.

And which sample was run.

this error is showing..
and this code is run by me
const fs = require('fs');
const readline = require('readline');
const {google} = require('googleapis');
const url = require('url');
const myURL =
url.parse('https://localhost:8080');
// If modifying these scopes, delete token.json.
const SCOPES = ['https://www.googleapis.com/auth/calendar.readonly'];
// The file token.json stores the user's access and refresh tokens, and is
// created automatically when the authorization flow completes for the first
// time.
const TOKEN_PATH = 'token.json';
// Load client secrets from a local file.
fs.readFile('credentials.json', (err, content) => {
if (err) return console.log('Error loading client secret file:', err);
// Authorize a client with credentials, then call the Google Calendar API.
authorize(JSON.parse(content), listEvents);
});
/**

Create an OAuth2 client with the given credentials, and then execute the
given callback function.
@param {Object} credentials The authorization client credentials.
@param {function} callback The callback to call with the authorized client.
*/
function authorize(credentials, callback) {
const {client_secret, client_id, redirect_uris} = credentials.installed;
const oAuth2Client = new google.auth.OAuth2(
client_id, client_secret, redirect_uris[0]);

// Check if we have previously stored a token.
fs.readFile(TOKEN_PATH, (err, token) => {
if (err) return getAccessToken(oAuth2Client, callback);
oAuth2Client.setCredentials(JSON.parse(token));
callback(oAuth2Client);
});
}
/**

Get and store new token after prompting for user authorization, and then
execute the given callback with the authorized OAuth2 client.
@param {google.auth.OAuth2} oAuth2Client The OAuth2 client to get token for.
@param {getEventsCallback} callback The callback for the authorized client.
*/
function getAccessToken(oAuth2Client, callback) {
const authUrl = oAuth2Client.generateAuthUrl({
access_type: 'offline',
scope: SCOPES,
});
console.log('Authorize this app by visiting this url:', authUrl);
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
rl.question('Enter the code from that page here: ', (code) => {
rl.close();
oAuth2Client.getToken(code, (err, token) => {
if (err) return console.error('Error retrieving access token', err);
oAuth2Client.setCredentials(token);
// Store the token to disk for later program executions
fs.writeFile(TOKEN_PATH, JSON.stringify(token), (err) => {
if (err) return console.error(err);
console.log('Token stored to', TOKEN_PATH);
});
callback(oAuth2Client);
});
});
}

/**

Lists the next 10 events on the user's primary calendar.
@param {google.auth.OAuth2} auth An authorized OAuth2 client.
*/
function listEvents(auth) {
const calendar = google.calendar({version: 'v3', auth});
calendar.events.list({
calendarId: 'primary',
timeMin: (new Date()).toISOString(),
maxResults: 10,
singleEvents: true,
orderBy: 'startTime',
}, (err, res) => {
if (err) return console.log('The API returned an error: ' + err);
const events = res.data.items;
if (events.length) {
console.log('Upcoming 10 events:');
events.map((event, i) => {
const start = event.start.dateTime || event.start.date;
console.log(${start} - ${event.summary});
});
} else {
console.log('No upcoming events found.');
}
});
}

What version of node are you using? From the error, I'm guessing something earlier than 6.13.x since that's when the URL constructor was added.
If you are on 6.x, please upgrade. 6.x is no longer supported by the node community.

its working when i upgrade my version..