Trying to Present in UTC, and Save in UTC.  Cannot get data without timezone conversion

Environment

Tech
Version

material-ui-pickers
1.0.0-rc.4

material-ui
1.0.0-beta.33

React
16.2.0

Browser
Chrome

Platform

Steps to reproduce

Date & Time Picker Basic Example

Expected behavior
Component to send me back either:
A) Format like so: 2018-04-04T13:48:00.000Z
B) Accept my UTC=true flag, and NOT apply a timezone conversion as it is here: Fri Apr 20 2018 10:28:00 GMT-0700 (PDT)
Actual behavior
i) I can only receive the 2018-04-04T13:48:00.000Z format when I wrongly send a default value date string yyyy-mm-dd.  This comes through as {}._i when the component submits.  As soon as I send the proper selectedValue through, the {}._I property becomes Fri Apr 20 2018 10:28:00 GMT-0700 (PDT).
ii) Am am applying UTC=true to the component.  I can see _isUTC as true in the submission object.  But the datetime format is still having the PDT conversion applied.
import React from 'react';
import moment from 'moment-timezone';
import MomentUtils from 'material-ui-pickers/utils/moment-utils';
import MuiPickersUtilsProvider from 'material-ui-pickers/utils/MuiPickersUtilsProvider';
import { DateTimePicker } from 'material-ui-pickers';

moment.tz.setDefault('UTC');

function DateAndTimePicker(props) {
  const { handleChange, label, selectedDate } = props;

  return (
    <MuiPickersUtilsProvider
      moment={ moment }
      utils={ MomentUtils } >
      <DateTimePicker
        disablePast
        label={ label }
        onChange={ handleChange }
        value={ selectedDate }
      />
    </MuiPickersUtilsProvider>
  );
}

export default DateAndTimePicker;

I am not fully sure what you want. Inside pickers would call moment(value) and if you are passing flag Z it says that you are passing in UTC and everything works fine for me => value returns in that timezone, you mentioned in the string or it would be taken from default.

I think he's wanting the date to display in UTC instead of the local timezone, as the two expected behaviours listed are both in UTC. Is this possible?

Yes, it's possible.
you need to create you own Utils class to handle the format:
class UTCUtils extends MomentUtils {
  format(value, formatString) {
    return moment(value)
      .utc()
      .format(formatString);
  }
}

export default class extends Component {
  render() {
    return (
      <MuiPickersUtilsProvider utils={UTCUtils} moment={moment} locale={'UTC'}>
         <App />
   ...

and you also need to handle the date in the handleChange(date) function:
handleChange = (dateValue) => this.setState({
  selectedDate: moment.utc(dateValue.format('YYYY-MM-DD HH:mm:ss')),
})

This doesn't seem to fully work. While the text box preserved the UTC date, if you edit the date, the date picker control reverts back to using the local timezone.

You need to pass also moment instance to the Utils provider

Yes, got it working. Thank you.

Thanks @Maxwell2022, any idea how to do an equivalent thing with @date-io/date-fns? Can't find docs on it's use but can't see a utc method in the source

For me this breaks KeyboardDatePicker which attempts to pass date formats that neither dayjs or moment recognise:
Passing MMMM yyyy and EEEEEE - Should be MMMM YYYY and E.
dayjs:

momentjs:

I can manually fix these formats but is there a way to stop it passing invalid formats in the calendar picker?

I am trying to implement exactly this. The input box works as expected, but not the actual TimePicker
I have moment with Europe/London as default timezone and I am currently in Europe/Madrid timezone (+01:00) and this is what I see:

The time at the top looks fine, but the hour picker is in my local timezone.

What about an example with luxor library ?

Same problem as @guilleironhack

Could you do this?
class UTCUtils extends MomentUtils {
    date(value) {
        let theReturn = super.date(value);
        return theReturn.utc();
    }
}

@stephan-king what is your final UTCUtils file?

Has anyone been able to solve the problem @guilleironhack is having above?

I'm no longer using the time picker, but I solved my UTC timezone issues by passing as libInstance a moment-timezone instance configured as follows:
import moment from 'moment-timezone';
moment.tz.setDefault('Etc/UTC');

this is my working solution
import MomentUtils from '@date-io/moment';

class MomentUTCUtils extends MomentUtils {
  format(value, formatString) {
    return this.moment.utc(value).format(formatString);
  }

  parse(value: string, format: string) {
    if (value === '') {
      return null;
    }

    return this.moment.utc(value, format, true);
  }

  date(value?: any) {
    if (value === null) {
      return null;
    }

    const moment = this.moment.utc(value);
    moment.locale(this.locale);

    return moment;
  }
}

export default MomentUTCUtils;

import React from 'react';

import { MuiPickersUtilsProvider } from '@material-ui/pickers';
import moment from 'moment';

import MomentUTCUtils from './MomentUTCUtils';

type Props = {
  children: React.ReactNode;
};
export const UTCWrapper = ({ children }: Props) => {
  return (
    <MuiPickersUtilsProvider utils={MomentUTCUtils} locale={'pt-br'} moment={moment}>
      {children}
    </MuiPickersUtilsProvider>
  );
};

usage:
<UTCWrapper>
   <DatePicker />
</UTCWrapper>

Using this could cause more harm then good


Support for TLS client auth for kafka

I think this would be fairly straightforward, and useful for those in the unfortunate situation of having to use mutual tls authentication.
In addition to the configuration options and reading the client cert adding something like the following would do.
return &tls.Config{
    Certificates: []tls.Certificate{cert},
    InsecureSkipVerify: c.InsecureSkipVerify,
    RootCAs:            rootCAs,
}, nil

Hey @nwest1, sounds reasonable. We could expose a tls config option client_cert_files, which would be an array of paths. I assume you already have a set up that would benefit from this, in which case if we create a branch with this feature would you be willing to test it?

Would be happy to!

I'd be glad to participate in this as well, as I also need this feature. @Jeffail would you be open to just doing a PR review on this change, if I can get it in quickly?

@Jeffail PR: https://github.com/Jeffail/benthos/pull/71

Got this on a branch: https://github.com/Jeffail/benthos/tree/feature/tls-configs
Would be great if you both could try it out and confirm it's enough for your use case, I'm falling asleep at the keyboard but I'll merge into master and put a build out in the morning if there's no issues.

Released: https://github.com/Jeffail/benthos/releases/tag/v0.27.0

@nwest1 if you need more config fields for your use case then feel free to reopen this ticket.

Was able to test this out just today - works like a charm. Additional config fields unneeded.


Post-finish hook starts before pre-finish hook finishes

Describe the bug
As per documentation Pre-finish file hook could be blocking so TUS will wait until it finishes.
But as we see from TUSD log it usually operated by the following order:

pre-finish started
post-finish started
pre-finish finished
post-finish finished
(last 2 lines may be in random order)

To Reproduce
It can be reproduced at every upload with pre- and post- finish hooks
Expected behavior
Tus should wait until pre-finish hook returns OK
Setup details
Docker TUSD 1.9

We need more details from you, please. What hooks are you using? filehooks? What are the logs that tusd is producing?

Just tried it and got the results for the first uploaded file:
[tusd] 2022/05/11 08:30:30.071419 event="HookInvocationStart" type="pre-finish" id="9b832ea6365a3f715f6527c5552e21a6"
[tusd] 2022/05/11 08:30:30.071524 event="UploadFinished" id="9b832ea6365a3f715f6527c5552e21a6" size="1104193"
[tusd] 2022/05/11 08:30:30.071537 event="HookInvocationStart" type="post-finish" id="9b832ea6365a3f715f6527c5552e21a6"
[tusd] 2022/05/11 08:30:31.062397 event="HookInvocationStart" type="post-receive" id="9b832ea6365a3f715f6527c5552e21a6"
[tusd] 2022/05/11 08:30:31.062892 event="HookInvocationFinish" type="post-receive" id="9b832ea6365a3f715f6527c5552e21a6"
[tusd] 2022/05/11 08:30:31.262358 event="HookInvocationFinish" type="pre-finish" id="9b832ea6365a3f715f6527c5552e21a6"
[tusd] 2022/05/11 08:30:31 event="ResponseOutgoing" status="204" method="PATCH" path="9b832ea6365a3f715f6527c5552e21a6" requestId="549bbb90-7252-4960-b0cb-444fd9a70f62"
[tusd] 2022/05/11 08:30:31.714029 event="HookInvocationFinish" type="post-finish" id="9b832ea6365a3f715f6527c5552e21a6"

As you can see, pre-finish here is finished after post-finish is started

Ah, that makes sense and is a bug in tusd. As you can see from the code, the post-finish hook (through the CompleteUploads channel in the code below) is invoked before the pre-finish callback is invoked:
https://github.com/tus/tusd/blob/457ca870ea339ef009fb6ea29502cf08db32025b/pkg/handler/unrouted_handler.go#L703-L714
This looks like a bug to me and the order should be switched around. Are you interested in PRing this?

Not sure if I can correctly fix this code by myself but I may help with testing :)

Should be fixed in master. Feel free to try the latest master branch :)

@Acconut Confirmed this change fixes the behavior of the pre-finish hook. post-finish will now only invoke after pre-finish is completed. Any timeline for when this will be released in a new version?

@jdcalvin Great, this patch is released in https://github.com/tus/tusd/releases/tag/v1.9.1


fix: Fixed some of the links on language understanding

closes #1854

thanks @arafattehsin for the good catch. BTW, we have a PR validation that required the PR title to have a prefix in the following options

feat
fix
docs
style
refactor
perf
test
build
ci
chore
revert
release
otherwise, the validation will fail.

Hi @boydc2014 I'll definitely take care next time. 👍


Efficient batch operations on trees

When a user inserts a new element into a Sparse Merkle Tree, if that tree has a conflict, this operation becomes two inserts (the old element has to be pushed down a level, and the new element has to be inserted).
This causes hashing of the complete merkle path twice, once for each update. It may make sense to batch operations and remove the extra unnecessary work (in the above example, that would be the hashing from the common parent up to the root)

I wonder if it would make sense to expose batch operations in the VM level too. The example on the issue is about an insert from the user perspective that becomes two inserts at the tree implementation.
However, this could be a bit more generalized, for instance, a user may want to construct a tree in the VM, currently this has to be done in an assembly loop, and the user will gradually modify the tree by adding new elements, this is could be more efficient for the Sparse Merkle Tree if done in batch, i.e. all the elements at the same time. This is because the top layers of the tree are shared and will very likely be overwritten on each insert, if the elements are added in batch, we can write the code to hash only what is needed once. probabilities

closing this: we don't need to optimize these structures now.


How to properly use and visualize Start Stop activities in a custom ETW provider

Context
I'm adding profiling support to an application by emitting ETW events that represent logical function calls.
Currently, after i capture an ETL trace i use a tool to convert it to json for use on speedscope.app, but this produces jsons up to 300MB which does not feel optimal.
The problem
I would like to use something like perfview or Windows Performance Analyzer directly, so i looked into the ETW activity pattern which seems to be meant for this kind of use case, however there is not much documentation.
I tried to follow this reference from ms docs, from what i understand this event pattern should allow perfview to group activities and plot them in a hierarchy view.
Several stackoverflow questions point to the fact that this should be possible, however i couldn't find any working reference code in C.
Repro
I tried writing the following code
#include <stdint.h>
#include <stdbool.h>

#include <windows.h>
#include <winmeta.h>
#include <traceloggingprovider.h>

TRACELOGGING_DEFINE_PROVIDER(
	g_profiler,
	"MyProfiler",
	// Example from https://learn.microsoft.com/it-it/windows/win32/api/traceloggingprovider/nf-traceloggingprovider-tracelogging_define_provider
	// {ce5fa4ea-ab00-5402-8b76-9f76ac858fb5}
	(0xce5fa4ea, 0xab00, 0x5402, 0x8b, 0x76, 0x9f, 0x76, 0xac, 0x85, 0x8f, 0xb5));

void RandomSleep()
{
	Sleep(10 + rand() % 1000);
}

int main(int argc, char** argv)
{
	if (!SUCCEEDED(TraceLoggingRegister(g_profiler)))
		return -1;

	// Expected flamegraph:
	//  inner()         |---------|
	//  outer()  |---------------------| ... repeat

	while (true) {
		GUID outer, inner;
		if (!SUCCEEDED(CoCreateGuid(&outer))) return -2;
		if (!SUCCEEDED(CoCreateGuid(&inner))) return -3;

		printf("> enter outer\n");
		TraceLoggingWriteActivity(
			g_profiler, "Function",
			&outer, NULL,
			TraceLoggingOpcode(WINEVENT_OPCODE_START),
			TraceLoggingString("outer()", "func_name")
		);

		RandomSleep();

		printf(">> enter inner\n");
		TraceLoggingWriteActivity(
			g_profiler, "Function",
			&inner, &outer,
			TraceLoggingOpcode(WINEVENT_OPCODE_START),
			TraceLoggingString("inner()", "func_name")
		);

		RandomSleep();

		printf(">> leave inner\n");
		TraceLoggingWriteActivity(
			g_profiler, "Function",
			&inner, NULL,
			TraceLoggingOpcode(WINEVENT_OPCODE_STOP)
		);

		RandomSleep();

		printf("> leave outer\n");
		TraceLoggingWriteActivity(
			g_profiler, "Function",
			&outer, NULL,
			TraceLoggingOpcode(WINEVENT_OPCODE_STOP)
		);

		RandomSleep();
	}

	return 0;
}

You can build it from Visual Studio or just the command line tools with cl Repro.c Advapi32.lib Ole32.lib (i only tried x64 tools).
Then I start an event collection like this:

And the events are collected properly:

However, when i try to open the stacks view for start-stop activities i get Error: Could not find stack source Any Stacks (with StartStop Activities)
Questions

Is there a mistake in the code or have I misunderstood the purpose of start stop activities ?
If not activities, is there a way to plot custom function stacks in perfview ?
Is there a way to generate flamegraphs from this data ?

Your code looks generally correct to me, and so does the events view.  Would you be able to share a sample trace containing these events?  The error that you've described usually represents a programming error in PerfView because we can't match the view name up with a data stream.  If you can share a trace, I can try to repro and debug this.

Thank you for replying, here's a sample trace: perfviewdata.etl.zip
To create this i did the following:

built the repro with the cl command above
In a clean Windows Sandbox instance started the binary
Then ran PerfView.exe  "/DataFile:PerfViewData.etl" /BufferSizeMB:256 /StackCompression /CircularMB:500 /KernelEvents:None /ClrEvents:None /Providers:"ce5fa4ea-ab00-5402-8b76-9f76ac858fb5" /NoGui /FocusProcess:"main.exe" /NoNGenRundown collect (this is the command auto generated by prefview itself)
Manually merge and zip the trace from perfview

Thanks @exelix11.  I'm not quite sure how you got the error Error: Could not find stack source Any Stacks (with StartStop Activities).  The first issue that I see here is that your trace does not contain the event types required to even show this view.  You will need:

TPL events (you can enable these by specifying /TPLEvents:Default).
Context switch events (you can enable these by specifying '/ThreadTime`).

I also recommend that you specify /KernelEvents:Default-Profile.  This will provide enough context to resolve symbols in the stacks that you'll be looking at.
Hopefully that helps - let me know how it goes.  If that doesn't work, please do share an updated trace.

I tried again with the following command line PerfView.exe "/DataFile:PerfViewData.etl" /BufferSizeMB:256 /StackCompression /CircularMB:500 /KernelEvents:Default-Profile /TPLEvents:Default /ThreadTime /Providers:"ce5fa4ea-ab00-5402-8b76-9f76ac858fb5" /NoGui /FocusProcess:"main.exe" /NoNGenRundown collect
And i'm still missing the start stop activities view. PerfViewData.etl.zip
To be clear and please correct me if i misunderstand this feature, i'm trying to replicate what i see in this article https://learn.microsoft.com/en-us/archive/blogs/vancem/exploring-eventsource-activity-correlation-and-causation-features so i can get a view like this with my own events:

However the source code and most links of the page are now missing and this feature seems barely documented elsewhere.
This view that i'm after doesn't seem to have any information outside of the custom ETW provider, does it really need the context switch events ? I'm just talking about this simple view, I do understand they will be needed later in case i want to correlate with other events like file io.


Are all these resource types available across all Azure clouds?

In AzureCloud I see many more resource types than in AzureChinaCloud.
Can you update the documentation to say which reource types are available in each cloud?
For example, I am missing data in resource graph in AzureChinaCloud for advisorresources

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

ID: 2107a05f-64e0-b7ca-4c26-88ec0942f477
Version Independent ID: 37c75209-3327-e1c9-fb81-c3f77e448aaf
Content: Supported Azure Resource Manager resource types - Azure Resource Graph
Content Source: articles/governance/resource-graph/reference/supported-tables-resources.md
Service: resource-graph
GitHub Login: @georgewallace
Microsoft Alias: gwallace

@Sandy-dnv Thank you for your inputs . We will engage the content team on this to take it forward.

Hi @Sandy-dnv! Find all the Azure resource types available in the commercial, government, an sovereign clouds on our Products available by region page.

#please-close


1.x vulcanize: transitive --exclude has issues(?)

In chrome, we have files that don't reside on disk.  We exclude those files from vulcanize.
For some reason, when excluding a file with an excluded URL in it, stuff blows up.
$ echo '' | tee bar.html | tee foo.html
$ vulcanize --exclude strings.js --exclude bar.html foo.html
ERROR finding strings.js
(node:4169) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: ENOENT: no such file or directory, open 'strings.js'
<meta charset="UTF-8">

@justinfagnani @usergenic @tjsavage

as discovered by @freshp86

Note that
vulcanize --exclude strings.js foo.html

works fine. It does not try to fetch the non-existing strings.js. I think the problem lies at https://github.com/Polymer/polymer-bundler/blob/1.x/lib/vulcan.js#L435, where it tries to find all transitive deps of an exclude, without taking into account other excludes (they are not passed to the analyzer).

This has been released in latest npm package vulcanize 1.15.4

woohoo!  thanks @usergenic and @justinfagnani for taking a look at both our patches!

for future, reference, btw: we're happy to write tests if it makes your lives easier.


Set resizable to false again

It already is resizable by using the scale factor, and it messes
up my i3wm system because then it automatically changes the
size to fit with the other windows. It also doesn't actually resize.
I assume this is the reason it was put there in the first place.
I'm guessing this was put here to scale to a full
monitor, which should be further looked at.

I guess you changed this to false because events disappearing doesn't change the window size. resizable=false also doesn't seem to be working as intended as the window still moves at new events, I'm gonna find another way to fix these problems I'm having.

Latest commit makes it so it only uses the space it needs.

Are you using  floating or tiling mode for xenotrade? With floating its working ok, but with tiling mode, you are right it is a little bit messy.
i3 in floating mode

i3 in tiling mode

I'm pretty sure that layout of this app wasn't designed to be flexible resized (what is necessary for tiling window managers).
I'm using resizable=true only for developing to see devtools, probably I was forgoten to flip it back in one commit.

The problem was that i3 automatically puts the program into tiling mode when i set resizable to true.

I can't reproduce it, but anyway... ATM only npm run dev will set resizable true. #2ad6f7 should do the job.


add monochrome filter

choose a definite tone of a color to create its monochrome(varying tones of one color) filter.

@ishita27 shall i work on this ?

Yes

@ishita27 could I get the image of expected Output ?


offline-first

We should serialize state for fast boot and for working offline

pending queue is persisted and restore, but we also need to cache data items.

Date and manfest complete. Probably buggy but its there.


[QUESTION] Return JSON only using DB2 for i JSON_OBJECT

System

odbc Package Version: 2.4.7
ODBC Driver: IBM i Access ODBC Driver
Database Name: DB2 for i
Database Version: 7.4
Database OS: 7.4
Node.js Version: 16
Node.js OS: Ubuntu 22.04

Description
Hi, I would like to directly extract formed JSON right out of DB2 for i using the JSON_OBJECT scalar function. Is it possible to prevent appending the column name to each object received back from the database and ensure they are parsed as JSON?
Expected behavior
Expected JSON object
{
  "employeeNumber": "000010",
  "firstName": "CHRISTINE",
  "middleInitial": "I",
  "lastName": "HAAS",
  "workDepartment": "A00",
  "phone": "3978",
  "hireData": "1965-01-01",
  "job": "PRES    ",
  "yearsOfEducation": 18,
  "sex": "F",
  "birthdate": "1933-08-24",
  "payinfo": {
    "salary": 52750,
    "bonus": 1000,
    "commission": 4220
  }
}

When running query
SELECT JSON_OBJECT(
        'employeeNumber' VALUE EMPNO,
        'firstName' VALUE FIRSTNME,
        'middleInitial' VALUE MIDINIT,
        'lastName' VALUE LASTNAME,
        'workDepartment' VALUE WORKDEPT,
        'phone' VALUE PHONENO,
        'hireData' VALUE HIREDATE,
        'job' VALUE JOB,
        'yearsOfEducation' VALUE EDLEVEL,
        'sex' VALUE SEX,
        'birthdate' VALUE BIRTHDATE,
        'payInfo' VALUE JSON_OBJECT(
            'salary' VALUE SALARY,
            'bonus' VALUE BONUS,
            'commission' VALUE COMM
        )
    )
    FROM sample.employee
    LIMIT 1;

Current result
[
  {
    "00001": "{\"employeeNumber\":\"000010\",\"firstName\":\"CHRISTINE\",\"middleInitial\":\"I\",\"lastName\":\"HAAS\",\"workDepartment\":\"A00\",\"phone\":\"3978\",\"hireData\":\"1965-01-01\",\"job\":\"PRES    \",\"yearsOfEducation\":18,\"sex\":\"F\",\"birthdate\":\"1933-08-24\",\"payInfo\":{\"salary\":52750.00,\"bonus\":1000.00,\"commission\":4220.00}}"
  }
]

The "problems" are two fold here. A default column name 00001 is appended by DB2 for i and all " are escaped.
To Reproduce

Connection String via a connection pool:

db2ConnectionPool = await odbc.pool(connectionParameters)

SYSTEM=<host>;UID=<user>;Password=<password>;Naming=0;DBQ=<libs>

Create database table (IBM i built-in procedure):

CALL QSYS.CREATE_SQL_SAMPLE ('SAMPLE')

Run SQL listed above via node-odbc

Current work around
My current workaround is to SELECT the JSON object with the column name COL then parse each object and extract the desired objects into another array.
public static async getTestJson(
  ) {
    const result = await db2ConnectionPool.query(
      `SELECT JSON_OBJECT(
        KEY 'employeeNumber' VALUE TRIM(EMPNO),
        'firstName' VALUE FIRSTNME,
        'middleInitial' VALUE MIDINIT,
        'lastName' VALUE LASTNAME,
        'workDepartment' VALUE WORKDEPT,
        'phone' VALUE PHONENO,
        'hireData' VALUE HIREDATE,
        'job' VALUE JOB,
        'yearsOfEducation' VALUE EDLEVEL,
        'sex' VALUE SEX,
        'birthdate' VALUE BIRTHDATE,
        'payInfo' VALUE JSON_OBJECT(
            'salary' VALUE SALARY,
            'bonus' VALUE BONUS,
            'commission' VALUE COMM
            )
        ) AS COL
    FROM sample.employee
    LIMIT 1`
    );

   const employees: Array<Object> = result.map((i: any) => {
    return JSON.parse(i.COL);
   });

   return employees;
  }

Thanks for having a look at this! It feels like there should be a better or more efficient way to do this without having to generate another array, but maybe this is more of a question for the IBM i Access ODBC Driver.

Is it possible to prevent appending the column name to each object received back from the database

No. If you had multiple columns, how would you know which is which?

and ensure they are parsed as JSON?

There's no JSON type in ODBC. The column type of a JSON_OBJECT is likely a CLOB, which will get converted to a string, which is why all the quotes are escaped. Using JSON.parse will convert those strings to objects for you, as you already have done. There's currently no mechanism for the user to specify the type they want a column to be returned as, node-odbc merely converts from the database type to the most appropriate Node type.
Of course, if this was a common enough problem then maybe it makes sense to support.
I suppose one way to do it would be to provide a list (or map) of callbacks for each column to transform it before being returned, eg.
const result = await db2ConnectionPool.query(sql, { 'COL': JSON.parse });

(Though maybe it would be better to take an option object instead of positional arguments to improve extendability)
But even if something like this would be implemented, it likely wouldn't be any more efficient than what you already have.

@kadler Thanks for the response and for indulging my curiosity! I want to see if there was a possible performance gain I was missing out on by creating the JSON object at the database level and then having it ready to go on the node side.

I don't think there would be any performance benefit here. The database will always have to serialize the JSON object somehow, in this case it's to a string. The code in node-odbc that fetches the data cannot de-serialize it, since it does not have access to the Node.js runtime (since holding access to the runtime would block the Node event queue while we're fetching, which would massively slow things down), but instead fetches in to temporary C-style memory buffers. Once completed, this is handed off to a Node task which has access to the Node runtime and converts all the raw data fields in to Node.js objects: String, Number, etc.
It's at this second stage you could do the JSON.parse call and potentially reduce memory, but this is all C++ code, so it would be quite complicated to make it work. You'd have to somehow get access to the JSON.parse function from C++ code and call it, plus you'd need to tell the C++ code which columns to call it on, etc. Unless you're talking about gigabytes of data you're working with, I seriously doubt it would be worth the effort over just using the code you already have.

Also, do you have some setting that defaults to double quotes around strings?

I believe it is something with the logging library.
Thank you both for your insight! Especially the bits about access to the JSON.parse function from C++


Update scripted-plugin to 1.2.8

Updates org.scala-sbt:scripted-plugin from 1.2.7 to 1.2.8.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention @scala-steward in the comments below.
Have a nice day!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [{ groupId = "org.scala-sbt", artifactId = "scripted-plugin" }]

labels: semver-patch

@scala-steward failed to also update sbt's version in project/build.properties


Scrolling up jank / jump in ListView.builder, when using StreamBuilder or FutureBuilder as itemBuilder

Scenario:

Send index from ListView.builder to the backend.
Backend performs some task using that index.
Frontend receives the result using StreamBuilder or FutureBuilder, and shows it.

Problem:

Scrolling down is buttery smooth, no problem.
Scrolling up (flick or very slowly) jumps. Say using Card and ListTile to display result. When scrolling up, whenever half of a Card is out of view port from bottom, there is a sudden jump, and the rest of that card is gone. And the above Card's bottom is touching bottom of view port.

Notice how changing from 100 to 99 and so on.

Example:

They were tested in both Stable & Beta version of Flutter.
Tested in Real device and in emulator; using both debug and release mode.

Example using StreamBuilder
import 'dart:async';

import 'package:flutter/material.dart';

void main() {
  runApp(App());
}

class App extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: ListView.builder(
          itemCount: 1000,
          itemBuilder: (context, index) {
            Bloc bloc = Bloc();
            return StreamBuilder(
              stream: bloc.controller.stream,
              builder: (_, snapshot) {
                if (!snapshot.hasData) {
                  bloc.getValues(index);
                  return CircularProgressIndicator();
                } else {
                  final data = snapshot.data;
                  return Card(
                    child: ListTile(
                      title: Text("$data"),
                    ),
                  );
                }
              },
            );
          },
        ),
      ),
    );
  }
}

class Bloc {
  StreamController controller = StreamController();

  getValues(index) {
    controller.sink.add("StreamBuilder $index");
  }

  dispose() {
    controller.close();
  }
}

Example using FutureBuilder
import 'dart:async';

import 'package:flutter/material.dart';

void main() {
  runApp(App());
}

class App extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: ListView.builder(
          itemCount: 1000,
          itemBuilder: (context, index) {
            Bloc bloc = Bloc();
            return FutureBuilder(
              future: bloc.getValues(index),
              builder: (_, snapshot) {
                if (!snapshot.hasData) {
                  bloc.getValues(index);
                  return CircularProgressIndicator();
                } else {
                  final data = snapshot.data;
                  return Card(
                    child: ListTile(
                      title: Text("$data"),
                    ),
                  );
                }
              },
            );
          },
        ),
      ),
    );
  }
}

class Bloc {
  getValues(index) async {
    await Future.delayed(Duration(milliseconds: 10));
    return "FutureBuilder $index";
  }
}

@drmirk
Thanks for providing detailed bug report. In your both examples, I noticed that you have used bloc which is 3rd party. Can you remove the related code and use only core code and confirm if you still get same behavior ? If so, can you provide the updated code sample so that we can verify and identify the root-cause ?
Thanks.

@drmirk Thanks for providing detailed bug report. I was able to notice the jank while scrolling up using StreamBuilder example.
https://user-images.githubusercontent.com/67046386/108473128-a2bdeb00-72b3-11eb-9642-aed799399927.mp4

flutter doctor -v
[✓] Flutter (Channel stable, 1.22.6, on Mac OS X 10.15.4 19E2269 darwin-x64, locale en-IN)
    • Flutter version 1.22.6 at /Users/dhs/documents/Fluttersdk/flutter
    • Framework revision 9b2d32b605 (4 weeks ago), 2021-01-22 14:36:39 -0800
    • Engine revision 2f0af37152
    • Dart version 2.10.5

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.0)
    • Android SDK at /Users/dhs/Library/Android/sdk
    • Platform android-30, build-tools 30.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.3, Build version 12C33
    • CocoaPods version 1.9.3

[!] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

[✓] VS Code (version 1.53.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.18.1

[✓] Connected device (1 available)
    • SM A260G (mobile) • 5200763ebcfa861f • android-arm • Android 8.1.0 (API 27)

! Doctor found issues in 1 category.

This is because the CircularProgressIndicator and Card have different heights when scrolling up will trigger a re-layout(card move).
we can warp them in a SizedBox to solve it
 itemBuilder: (context, index) {
            Bloc bloc = Bloc();
            return FutureBuilder(
              future: bloc.getValues(index),
              builder: (_, snapshot) {
                if (!snapshot.hasData) {
                  bloc.getValues(index);
                  return SizedBox(
                    height: 70,
                    child: CircularProgressIndicator(),
                  );
                } else {
                  final data = snapshot.data;
                  return SizedBox(
                    height: 70,
                    child: Card(
                      child: ListTile(
                        title: Text("$data"),
                      ),
                    ),
                  );
                }
              },

In the original code, if you set reverse: true, then scrolling down has issue.
Using SizedBox solves problem, but question is, if this problem occurs because of different height, then shouldn't this affect in both direction?

I have exactly the same issue.

I recorded a video to show this issue, of another case:
https://user-images.githubusercontent.com/3458134/113400994-492dfd80-93d5-11eb-80f1-129de8f91868.mp4
I used a 400 height widget as a placeholder when FutureBuilder is not finished. You'll find that you couldn't scroll up in this case. I know this is something related to the different height of the items, but how to deal with it?
I cannot make every item with the same height - it's not a solution.

@darshankawar Can you share some insights about this issue? I think the issue is more critical if you look at my video above. The users won't think it's not polished, they will think it's not usable.

I have the same problem!!   One temporary solution is to add AutomaticKeepAliveClientMixin to your items.  This keeps the items from rebuilding.  But this is NOT a good final solution because it will eat up memory for large lists.

You can simply change listview with Column inside SingleChildScrollView if it's possible (try to rebuild your widget to be correct inside column)

But I have a different Scenario. I have used to StreamBuilders (nested in each other) in order to get the Collection and the sub-collection data from the firebaseFirestore. I fetch the data and the ListView is scrollable but when I reach the end and want to scroll up, I directly go to the top first Card (having the data from StreamBuilder) and it does not go in the flow. I don't know how to solve this issue and I have tried so many ways but nothing worked. Please help me with this issue. Thanks

But I have a different Scenario. I have used to StreamBuilders (nested in each other) in order to get the Collection and the sub-collection data from the firebaseFirestore. I fetch the data and the ListView is scrollable but when I reach the end and want to scroll up, I directly go to the top first Card (having the data from StreamBuilder) and it does not go in the flow. I don't know how to solve this issue and I have tried so many ways but nothing worked. Please help me with this issue. Thanks

@JanZakki  if you can share your code maybe I can help you

This is the same issue as #99158.
Flutter can't easily solve this problem as explained in https://github.com/flutter/flutter/issues/99158#issuecomment-1064402384.

@Piinks

Closing as duplicate of https://github.com/flutter/flutter/issues/99158.

Closing as duplicate of https://github.com/flutter/flutter/issues/99158.


New entry impl

A new implementation of Entry to deal with #2 .
The old entry is in essence a map from path & path value to collections of Value pointer, which creates the possibility of duplicating pointer between path. This raises multiple issues for Enum. The new impl keeps only 1 collection of Arc<Value>> and now a pair of path & path value will point to the index of the Value in the collection.

See this comment for an explanation of the need for a new Entry impl.


consider whether requireDeathFlag is necessary

Could the same not be achieved by requireTableIntersectFlag? If so, and we want to keep death, would it then be worth having other related utility functions requireConditionOccurrenceFlag, requireDrugExposureFlag, and so on

@catalamarti @nmercadeb let's discuss

I think that requireDeathFlag it is fine at the end we have addDeathFlag and we do not have addConditionOccurrenceFlag
@edward-burn


[JTH|SA][MTDSA-650|MTDSA-652] Convert Self-Employment adjustments and allowances to annual summaries.

Add a new AnnualSummariesController for annual summaries. This controller only supports GET and PUT operations.
All fields on adjustments and allowances are now mandatory.
Update documentation to reflect these changes.

HAL links are not correct.
PUT is not returning a Json. It just returns
"/self-assessment/1121766916/2016-17/self-employments/58079d58c021d8f60312bf59/adjustments"
"/self-assessment/1121766916/2016-17/self-employments/58079d58c021d8f60312bf59/allowances"
GET is not returning self link. It is returning links for all the self-employment summaries


Optimize template helper

Make so handlebars compile is cached using a static variable.
While caching does technically introduce state into a static class, it is a large enough of an optimization for all users that I believe it is worth doing. It is caching something that is guaranteed to have the same output every-time anyway.
Running transformations on my local machine with handlebars compile caching vs without was a difference of 14ms per record vs under 1ms per record

Hi @daniellmorris
I’m fine with this in the vacuum of the package.
Tasks for this before merging:

Add a TEST to verify this works as intended and does not break in a future edit.
The example application should talk about caching and show how a "caller" application can properly be structured to benefit from this caching. (This is actually another project here - https://github.com/valtech-sd/super-transformer-example)
Let’s understand why Node 10 fails the one test. I’m fine if we require Node 12 but before doing so, I want to make sure it’s not something silly that we cold fix for Node 10.

Thanks,
E


MongoError digest view

When my app tried to render /digest view:

[<IP_ADDRESS>] error on fast-rendering path: /digest ; error: MongoError: Can't canonicalize query: BadValue bad sort specification[<IP_ADDRESS>]
[<IP_ADDRESS>]     at Object.Future.wait (/opt/zombts/app/programs/server/node_modules/fibers/future.js:326:15)[<IP_ADDRESS>]
[<IP_ADDRESS>]     at [object Object]._.extend._nextObject (packages/mongo/mongo_driver.js:885:1)[<IP_ADDRESS>]
[<IP_ADDRESS>]     at [object Object]._.extend.forEach (packages/mongo/mongo_driver.js:919:1)[<IP_ADDRESS>]
[<IP_ADDRESS>]     at [object Object]._.extend.map (packages/mongo/mongo_driver.js:929:1)[<IP_ADDRESS>]
    at [object Object]._.extend.fetch (packages/mongo/mongo_driver.js:953:1)
    at [object Object].Cursor.(anonymous function) (packages/mongo/mongo_driver.js:768:1)
    at [object Object].cursorProto.(anonymous function) (packages/meteorhacks:kadira/lib/hijack/db.js:100:1)
    at [object Object].kadira_Cursor_fetch [as fetch] (packages/meteorhacks:kadira/lib/profile/set_labels.js:75:1)
    at packages/meteorhacks:fast-render/lib/server/context.js:84:1
    at Array.forEach (native)
    - - - - -
    at Object.toError (/opt/zombts/app/programs/server/npm/mongo/node_modules/mongodb/lib/mongodb/utils.js:110:11)
    at /opt/zombts/app/programs/server/npm/mongo/node_modules/mongodb/lib/mongodb/cursor.js:686:54
[<IP_ADDRESS>]     at Cursor.close (/opt/zombts/app/programs/server/npm/mongo/node_modules/mongodb/lib/mongodb/cursor.js:969:5)
    at commandHandler (/opt/zombts/app/programs/server/npm/mongo/node_modules/mongodb/lib/mongodb/cursor.js:686:21)
    at /opt/zombts/app/programs/server/npm/mongo/node_modules/mongodb/lib/mongodb/db.js:1843:9
    at Server.Base._callHandler (/opt/zombts/app/programs/server/npm/mongo/node_modules/mongodb/lib/mongodb/connection/base.js:445:41)
    at /opt/zombts/app/programs/server/npm/mongo/node_modules/mongodb/lib/mongodb/connection/server.js:468:18
    at [object Object].MongoReply.parseBody (/opt/zombts/app/programs/server/npm/mongo/node_modules/mongodb/lib/mongodb/responses/mongo_reply.js:68:5)
    at [object Object].<anonymous> (/opt/zombts/app/programs/server/npm/mongo/node_modules/mongodb/lib/mongodb/connection/server.js:426:20)
    at [object Object[<IP_ADDRESS>] ].emit (events.js:95:17)
[<IP_ADDRESS>] Exception in queued task: MongoError: Can't canonicalize query: BadValue bad sort specification[<IP_ADDRESS>]
[<IP_ADDRESS>]     at Object.Future.wait (/opt/zombts/app/programs/server/node_modules/fibers/future.js:326:15)[<IP_ADDRESS>]
[<IP_ADDRESS>]     at [object Object]._.extend._nextObject (packages/mongo/mongo_driver.js:885:1)[<IP_ADDRESS>]
[<IP_ADDRESS>]     at [object Object]._.extend.forEach (packages/mongo/mongo_driver.js:919:1)[<IP_ADDRESS>]
[<IP_ADDRESS>]     at [object Object]._.extend.getRawObjects (packages/mongo/mongo_driver.js:968:1)[<IP_ADDRESS>]
[<IP_ADDRESS>]     at [object Object]._.extend._pollMongo (packages/mongo/polling_observe_driver.js:144:1)
    at [object Object].proto._pollMongo (packages/meteorhacks:kadira/lib/hijack/wrap_observers.js:23:1)
    at Object.task (packages/mongo/polling_observe_driver.js:85:1)
    at [object Object]._.extend._run (packages/meteor/fiber_helpers.js:145:1)
    at packages/meteor/fiber_helpers.js:123:1

:(

Sounds similar to https://github.com/meteor/meteor/issues/3414
Maybe leave a message in that thread?


Expose constructors of the type "OptionState"

This should fix https://github.com/miniBill/elm-ui-with-context/issues/6

I... literally had this same commit sitting on my computer :D
But I like yours slightly more (you extracted the function inside optionWith using a let, and I think it's slightly more readable)

@miniBill would you mind publishing this to elm-packages plez 🙏 ?

Done. Version 2.0.0 published


Support importing images (and other media?) into Anki

As of 1.2, it will be possible to include images on TiddlyRemember notes, but it will only work properly if they are external to the wiki and the URL is accessible both from the link and from all devices you review from. We should be able to import the media into Anki's media collection on sync, so that it will follow the collection – ideally, including if the image is embedded in the TiddlyWiki.

This will be supported in 1.3.


Home page message on top

Number 2 is going into second line. "the" can be removed.

Verified this issue on dev app v1.9.5(331)


NSInvalidArgumentException - Uncaught Exception: unrecognized selector sent to instance 0x28313f580

Hello. I have a flutter application which uses 7 different Ably streams. When the application is resumed from idle then sometimes the following crash occurs. I have not been able to successfully replicate this when I wish to replicate it, but it occurs daily when I am using my app. I have been able to catch the following using Sentry. The 7 Ably streams share the same Ably client so the client is only created once. I recently changed the application from connecting the 7 Ably streams sequentially to connecting them by running multiple futures in parallel. I also recently changed the application from using basic authentication to using token authentication where Ably Token is issued by our servers and passed to clients as described in 2.2 of here. Before these changes were made, I had not experienced this error.
Below is the factory method for how client options is created.
  factory AblyClient.fromServerToken(AblyTokenSupplier tokenSupplier){
    // Create
    final clientOptions = ClientOptions()
      ..authCallback = (TokenParams tokenParams) async {
        try {
          AblyTokenInfo tokenInfo = await tokenSupplier.getAblyTokenInfo();
          return TokenDetails(tokenInfo.token, expires: tokenInfo.expiresRaw, issued: tokenInfo.issuedRaw, capability: tokenInfo.capability, clientId: tokenInfo.clientId);
        } on ClientException catch (e) {
          print('Failed to createTokenRequest: $e');
          rethrow;
        }
      };
    return AblyClient._(clientOptions);
  }

ably_flutter version: 1.2.14
Running on iPhone 11 Pro, running software version 15.5 (19F77)
Exception Type: EXC_CRASH (SIGABRT)
Crashed Thread: 19
Application Specific Information:
-[FlutterError userInfo]: unrecognized selector sent to instance 0x28313f580
Thread 19 Crashed:
0   CoreFoundation                  0x34d0c9288         __exceptionPreprocess
1   libobjc.A.dylib                 0x37eb40740         objc_exception_throw
2   CoreFoundation                  0x34d1a6fc0         -[NSObject(NSObject) doesNotRecognizeSelector:]
3   CoreFoundation                  0x34d05de94         ___forwarding___
4   CoreFoundation                  0x34d05cf6c         __forwarding_prep_0___
5   Ably                            0x101b82a18         +[ARTErrorInfo createFromNSError:]
6   Ably                            0x101b44384         __81+[ARTPaginatedResult executePaginated:withRequest:andResponseProcessor:callback:]_block_invoke
7   Ably                            0x101b6ff94         __80-[ARTRestInternal executeRequestWithAuthentication:withMethod:force:completion:]_block_invoke
8   Ably                            0x101b26564         __47-[ARTAuthInternal _authorize:options:callback:]_block_invoke_3
9   Ably                            0x101b26204         __47-[ARTAuthInternal _authorize:options:callback:]_block_invoke
10  Ably                            0x101b246a8         __54-[ARTAuthInternal _requestToken:withOptions:callback:]_block_invoke.283
11  Ably                            0x101b86eec         -[ARTCancellableFromCallback invokeWithResult:error:]
12  Ably                            0x101b86e00         __47-[ARTCancellableFromCallback initWithCallback:]_block_invoke
13  Ably                            0x101b24a7c         __54-[ARTAuthInternal _requestToken:withOptions:callback:]_block_invoke_3

Flutter version: 3.0.1
Dart version: 2.17.1
Link to full issue: https://sentry.io/share/issue/0eb7c0ef9ebc4b4bb30c77fb9cc6e40d/
I am wondering what the Ably code is doing here and what I can do on my side to prevent this fatal crash. Thank you.
┆Issue is synchronized with this Jira Uncategorised by Unito

I am still experiencing this issue, is there anything I can provide Ably with?

Thanks for submitting this issue @frno. We will investigate this.

@frno Can you clarify what you mean by 'Ably stream'?  Do you mean an Ably channel? Also it would be really helpful if you could provide a sample code block of how you parallelized those streams (or channels)

Hello Thank you for talking a look at this. Yes I mean channels.
First ablyClient is created using a tokenSupplier. Tokensupplier is implemented as a call to our REST API which issues an Ably Token (using server to server).
ablyClient = AblyClient.fromServerToken(_tokenSupplier);
factory AblyClient.fromServerToken(AblyTokenSupplier tokenSupplier){
// Create
final clientOptions = ClientOptions()
..authCallback = (TokenParams tokenParams) async {
try {
AblyTokenInfo tokenInfo = await tokenSupplier.getAblyTokenInfo();
return TokenDetails(tokenInfo.token, expires: tokenInfo.expiresRaw, issued: tokenInfo.issuedRaw, capability: tokenInfo.capability, clientId: tokenInfo.clientId);
} on Exception catch (e) {
print('Failed to createTokenRequest: $e');
rethrow;
}
};
Realtime realtime = Realtime(options: clientOptions);
return AblyClient._(realtime);

}
Then this ablyClient is used in seven different instances which all connect to seperate channels.
await Future.wait([
instanceWhichDealsWithChannel1.Connect(ablyClient),
instanceWhichDealsWithChannel2.Connect(ablyClient),
instanceWhichDealsWithChannel3.Connect(ablyClient),
instanceWhichDealsWithChannel4.Connect(ablyClient),
instanceWhichDealsWithChannel5.Connect(ablyClient),
instanceWhichDealsWithChannel6.Connect(ablyClient),
instanceWhichDealsWithChannel7.Connect(ablyClient),
]);
On connect the following is done:
RealtimeChannel channel = realtime.channels.get('channelStr');
var messageStream = channel.subscribe();
StreamSubscription is setup using messageStream.listen
then history is called:
  		var params = RealtimeHistoryParams(direction: 'backwards', limit: 50);
  		var result = await channel.history(params);
which retrieves message until a certain threshold is met.

I have found that this bug has to do with the authCallback on ClientOptions and when errors are rethrown. I have found that if I removed the rethrow and swallowed the error and instead returned an invalid token string that the fatal exception no longer occured.
I switched the 'rethrow' with return TokenDetails("abcd1234"); and have not observed this exception anymore.

Hello @frno,
Sorry for the delay. This issue seems to be related to handling auth exceptions in native code.
I'm raising this issue with the Objective C team.

@frno, we're having a problem with reproducing this issue, could you prepare a minimal project on which you are able to reproduce this issue?


feat: Initial support for lint rules

Closes #23

This PR starts the support of having lint rules to keep the project standardized
Adds .nvmrc for quick node version switch
Adds .editorconfig for major code editors to use the project's standards

But could you please also add the eslint-prettier-plugin and also integrate that with husky and lint-staged? lint-staged for only making changes to the staged files, and husky for executing those changes when any commit is made. In this case, running eslint:

I honestly don't know how to set those up :( as I never did it before. Would you mind stepping in and commit those implementations?
We could also if agreed, have another PR just for that. Whatever you prefer

@Nick-Gabe sorry if i generated some conflicts with already opened prs, just trying to clean the house up and merge quality of lif epull requests before features. let me know if i can help with anything!


Add copy files feature

add a new deployment method, which copy the js, css and html files from lineman application dist folder to a rails public folder.

Interesting!

Why close the PR?

Hi, I'm fixing some issues here and then I will make the PR again. :D

Hi, I made the PR again here ... please, let me see your thoughts.


Unable to Initialize "ALL" NumPy Array When Executing sga.py

Running sga.py results in the following error
File "/Users/user/SGA-PDE-fork/codes/setup.py", line 345, in <module>
    ALL = np.array([['+', 2, np.add], ['-', 2, np.subtract],['*', 2, np.multiply], ['/', 2, divide], ['d', 2, Diff], ['d^2', 2, Diff2],
ValueError: setting an array element with a sequence. The requested array has an inhomogeneous shape after 2 dimensions. The detected shape was (12, 3) + inhomogeneous part.

Nothing yet. I'm currently working on my own library for a symbolic genetic algorithms, would love to collaborate with you if you're also interested!

I've no idea if someone's still looking for the solution, but I think I found the solution. Adding a property "dtype=object" at the end of the numpy array seems to be a working solution.
ALL = np.array([['+', 2, np.add],
['-', 2, np.subtract],
['*', 2, np.multiply],
['/', 2, np.divide],
['d', 2, Diff],
['d^2', 2, Diff2]], dtype=object)
This will do.

Thank you for your solution. I have successfully executed this part of the code. I have encountered another issue but have no idea.
File "c:\Users\Cookey\Desktop\SGA-PDE-main\codes\PDE_find.py", line 223, in STRidge
if biginds != []:
ValueError: operands could not be broadcast together with shapes (5,) (0,)


Support 'from' usage in pipeline conditions

Expected Behavior
On generating the pod for conditions, if 'from' is used for the condition's resource, the pod could mount to that resource (e.g. /pvc/) then copy to condition resource's workspace.
This is similar to Task usage in the pipeline.
Actual Behavior
No support 'from', any Git resource declared for the condition will be handled as normal Git fetch.
Steps to Reproduce the Problem

Define a normal Condition check with resource type Git
Use that Condition in the pipeline, expect 'from' can be used

Additional Info

Thanks for opening this @jkljf ! I think this is a duplicate of https://github.com/tektoncd/pipeline/issues/1256 so I'm going to close it, but I'm going to copy some of your description into there also :D


Wrong class call in samples

In all the samples the first line is
$graph = new Graph\Graph\Graph();
This is throwing error Class not found.
Shouldn't it be $graph = new Fhaculty\Graph\Graph();  ?

Hi @migmam, welcome to GraPHP! :wave:
It looks like your referring to the documentation of the current master branch which will be released as v1.0.0 not too far in the future – while you're watching the source code of the v0.2.x release branch.
Please refer to the documentation that comes with your installed version or wait for the v1.0.0 release which will come with a much better architecture and documentation. In the meantime, you can also install from the master branch to get the latest development version :+1:


<Version 16.3.0

can i create a pr with offsets for them or will you do it in the future?

if you have offsets that aren't already added make a PR like others have and luca will merge them accordingly


set_lin_acc is useless outside of nphysics.

The acceleration of each object is reset to the world's gravity at the beginning of each update. This mean that any call to set_lin_acc (or set_ang_acc) is just a no-op from the user point of view.
Here are some possible fixes:

Let the user define his own force generator (which would replace the default BodyForceGenerator).
Implement something like box2d's setGravityScale.
Let each rigid body have a user-defined resultant force that would later be added to the gravity.

Starting with v0.8.0, nphysics, set_lin_acc no longer exists. Force generators are not the way to go to customize, e.g., gravity (using force_generator::ConstrantAcceleration) in a per-object basis.


Fix wrong logfile name

Explain the reasoning for this pull request. For instance, is it for a new feature, bug fix, code style/cleanup, or something else? If fixing an open issue, please link to it here.
This PR will fix issue #203
Any additional comments/context?

Thanks for the discovery and PR!
I haven't had time to "page into" this and re-examine the use of the timestamp formats, but would it be sufficient to keep only one (DB_TIMESTAMP_FORMAT) and just change it to the new value?

Unfortunately DB2 and Java use different symbols for the minutes and 24 hour, so one template can not be used for both timestamp formatters.
That's the reason for having two templates.

To expand on my previous comment, I also think that having two constants/templates demonstrates the difference between the timestamp formatters, so no one else will be caught by this.

@chrjorgensen just FYI this is still on my radar. I hope to review and get this landed later this week.

@ThePrez No worry - enjoy the Christmas break!


{Bp-2655} examples: fix noteprint compile error

Summary
fix noteprint compile error
The sched_note_string/bprintf/dump interfaces have been removed and replaced with printf and event
Impact
RELEASE
Testing
CI
Note
includes
https://github.com/apache/nuttx-apps/pull/2596
https://github.com/apache/nuttx-apps/pull/2614
https://github.com/apache/nuttx-apps/pull/2650
https://github.com/apache/nuttx-apps/pull/2677
https://github.com/apache/nuttx-apps/pull/2681

[Experimental Bot, please feedback here]
This Pull Request appears to meet the basic NuttX requirements.
Here's a breakdown based on the provided information:
Strengths:

Summary:  Clearly states the purpose of the PR ("fix noteprint compile error") and provides a concise explanation of the change ("sched_note_string/bprintf/dump interfaces replaced with printf and event").
Impact:  Indicates the PR is a bug fix affecting the RELEASE (likely meaning it's a critical fix).
Testing: States that CI (Continuous Integration) was used for testing. This suggests automated tests were run.
Cross-referencing: Links a related NuttX Apps Pull Request, which is good practice for related changes.

Areas for Potential Improvement:

Impact (Specificity): While "RELEASE" suggests importance, a more detailed description of the impact would be helpful. For example:

What functionality was broken before this fix?
Which specific systems/configurations were affected by the compile error?

Testing (Details):  While mentioning "CI" is a good start, providing a summary of the specific tests run (even if just the names or categories) would strengthen the PR.
Testing (Logs):  The template requests "Testing logs before change" and "Testing logs after change."  While you might not want to paste full logs into the PR description, consider:

Attaching log files to the PR.
Providing snippets of the most relevant log entries.
Linking to external log storage if available.

Recommendation:
While the PR seems to meet the basic requirements, adding more details in the "Impact" and "Testing" sections will provide reviewers with a better understanding of the changes and their validation.

@lupyuen
the CI does not use the right branch
modified:   boards/arm/mps/mps3-an547/configs/ap/defconfig
modified:   boards/arm/mps/mps3-an547/configs/bl/defconfig
we do not have those configs in releases/12.7
@cederom please ignore the errors and merge the change

the CI does not use the right branch

Thanks @jerpelea we're tracking the issue here:
https://github.com/apache/nuttx/issues/14513


x/pkgsite: render mermaid js

What did you do?
Going to add feature request here.
While not formally included in the Github-Flavored Markdown Spec, Github supports mermaid diagrams
Given there's no good way to force these not to render on pkg.go.dev, but do render in readme's I think it'd be best if pkg.go.dev supported them.
I'll use one example from my project on how the ux can be sub-optimal otherwise.
We have a git-change-detector for go workspaces where a lot of the readme looks like this:

But on pkg.go.dev, it looks like this:

Anyway, would definitely be a nice to have
What did you see happen?
N/A
What did you expect to see?
N/A

Supporting Mermaid.js in pkgsite would likely introduce unnecessary complexity and potential performance issues without significant benefits for Go developers.

Maybe it makes sense to add codeblock language id to <pre>/<code> tags to enable userscript-based highlighting/rendering.

I don't know if it's worth making the change in https://go.dev/cl/585955 if it's only going to be used by users who enable a custom script locally.

I don't know if it's worth making the change in https://go.dev/cl/585955 if it's only going to be used by users who enable a custom script locally.

@matloob
What is the problem or risk to enable already existing codeblock language metadata?
Userscript is the straightforward usecase but there might be others like hints to the crawlers or corporate pkgsite deployments with syntax highlight by default.

I don't know if it's worth making the change in https://go.dev/cl/585955 if it's only going to be used by users who enable a custom script locally.

Absolutely, that sounds like a more appropriate approach. By utilizing a script to generate necessary files from upstream sources, you can easily place the URL file where pkgsite can display it. This strategy enables flexibility with various tools, eliminating the need to confine yourself to just one option.

We discussed this in our triage meeting and decided that the benefit of the feature is not worth the costs and risks. Go's pkg.go.dev site was never intended to fully simulate GitHub's markdown renderer.

@adonovan @matloob What are the risks of adding a css class to the html element?

@adonovan @matloob What are the risks of adding a css class to the html element?

The costs and risks of adding a class attribute are very low, though the value seems low also. I would not object to https://go.dev/cl/585955, though I defer to @matloob.
The feature I was referring to as "not worth the costs and risks" is the mermaid rendering that is the subject of this issue.


NaxRiscv gets the wrong value when reading from scause

Environment:
commit id: 6af1a20158f6402196c1f17f47680b96e0a88b86
Description:
The instructions are as follows: (from spike.log)

(1) Set scause  to 0xc0010;
(2) Then encounters an illegal_instruction exception;
(3) Read scause and get value 0xc0010;
NaxRiscv does the same as Spike in step (1) and (2). However,  NaxRiscv gets 0x0 in step (3) while Spike gets the expected value 0xc0010.
For debug and reproduce:
input_6.zip
./obj_dir/VNaxRiscv --load-elf=./input_nax_6.elf --start-symbol=_start --pass-symbol=write_tohost --timeout=99999 --name=input_nax_6 --trace --trace-ref --spike-debug

I have no idea why NaxRiscv gets 0x0 when reading scause. Could you help me solve this problem?

Hi,
scause is implemented with bits XLEN-1 and 3:0
All the other bits are hard wired to 0.
Which is a valid implementation, scause shouldn't be used to store arbitrary value.

I meant that only a few bits of mcause/scause are implemented. Those bits can be read write by both the hardware and the software


docs: Put page title into file name

Fixes #2264

Two links broke: ALVR headset and streamer on separate networks and Hardware Video Encoding

Two links broke: ALVR headset and streamer on separate networks and Hardware Video Encoding

Huh? i thought the links used the page title? And I just kept that and put it into the file name. Doesn't matter, gimme an hour I'll fix it


:bento: Add GoDaddy

Source: https://upload.wikimedia.org/wikipedia/commons/f/fa/GoDaddy_logo.svg

Hi, would it be possible to add one with just the icon too? Thanks in advance!

Hi, would it be possible to add one with just the icon too? Thanks in advance!

Let me try. What would the naming convention be?


bazel-deps completely ignores verbosity settings

I've tried to run:
bazel-bin/tools/bazeldeps generate -v error ...

and
bazel-bin/tools/bazeldeps generate -v trace ...

and they both print the same message:
wrote 414 targets

The same applies to bazel-bin/tools/bazeldeps format-deps - setting -v to any value does absolutely nothing.

here is the entirety of how this setting is used:
https://github.com/bazeltools/bazel-deps/blob/2939a582d75511cd6141df8b6cb2df81302fe909/src/scala/com/github/johnynek/bazel_deps/ParseProject.scala#L17
but the example you give (wrote X targets) is just a println:
https://github.com/bazeltools/bazel-deps/blob/2939a582d75511cd6141df8b6cb2df81302fe909/src/scala/com/github/johnynek/bazel_deps/MakeDeps.scala#L77
so, this is really about plumbing through messages to the slf4j and I guess not enough use of that library was done, OR perhaps the whole mechanism of setting the logging level was incorrectly handled.

I see. I see. I broke something on purpose now, and I'm getting [io-compute-blocker-2] ERROR MakeDeps spam regardless of settings.


Don't create git secret if name is overridden

I want to supply my own private keys for github access (I am creating them, uploading them to github, and to k8s all with terraform. This is completely automatic and avoids the manual process of: install flux; wait; copy out public key; upload to github).
The problem is that because the secret flux-git-deploy already exists, install of the whole chart fails. Automatic creation of this secret (which by dint of being empty causes flux to generate a keypair) should be optional.
I've made it so
"The manifest operator now takes a secretName like the Helm operator
does. If the secretName is specified (i.e. is non-default), the user is
assumed to be bringing their own secret and none is created."
Open to opinions on this: avoiding creation of the key is now inferred from the use of any non-default name. Maybe this is too magic and we want a separate "don't make the secret" flag? Is there a use case for auto-generated keys being stored in custom-named secrets?

The Helm Operator will try to mount the default secret, if you specify a different name for Flux than this should also be supplied to helm-op.
In helm-operator-deployment.yaml there is:
      - name: git-key
        secret:
          {{- if .Values.helmOperator.git.secretName }}
          secretName: {{ .Values.helmOperator.git.secretName }}
          {{- else }}
          secretName: {{ template "flux.fullname" . }}-git-deploy
          {{- end }}

Should be something like:
      - name: git-key
        secret:
          {{- if .Values.helmOperator.git.secretName }}
          secretName: {{ .Values.helmOperator.git.secretName }}
          {{- else }}
          {{- if .Values.git.secretName }}
          secretName: {{ .Values.git.secretName }}
          {{- else }}
          secretName: {{ template "flux.fullname" . }}-git-deploy
          {{- end }}
          {{- end }}

closing this in favour of #1391

Sorry I didn't get a chance to keep up with this. Thanks for the more comprehensive fix!


The image does not appear when changing the logo

help..
thank you

@mando0673
you need to link storage folder
run this command from the root directory
php artisan storage:link

@mando0673
you need to link storage folder
run this command from the root directory
php artisan storage:link

ok work, thank you


kubeadm documentation v1.18.0 is broken

This is a Bug Report
Problem:
Current installation method for kubeadm (container linux flavour) is wrong. I says:
# ...
RELEASE="$(curl -sSL https://dl.k8s.io/release/stable.txt)"
# ...
curl -sSL "https://raw.githubusercontent.com/kubernetes/release/${RELEASE_VERSION}/cmd/kubepkg/templates/latest/deb/kubelet/lib/systemd/system/kubelet.service" | sed "s:/usr/bin:/opt/bin:g" > /etc/systemd/system/kubelet.service
# ...

which results in a 404
$ RELEASE="$(curl -sSL https://dl.k8s.io/release/stable.txt)"
$ curl -sSL "https://raw.githubusercontent.com/kubernetes/release/${RELEASE_VERSION}/cmd/kubepkg/templates/latest/deb/kubelet/lib/systemd/system/kubelet.service"
404: Not Found

Proposed Solution:
provide a link to the correct file
Page to Update:
https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#installing-kubeadm-kubelet-and-kubectl
Kubernetes Version: v1.18.0

404: Not Found

are you setting RELEASE_VERSION to e.g. "v0.2.7" as this page instructs:
https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#installing-kubeadm-kubelet-and-kubectl
this is the k/release git tag

@neolit123  thanks for answering, I just copied the instructions from the docs for my setup and updated today to v1.18.0 and my scripts started to fail. So the RELEASE_VERSION was v1.18.0

this works fine:
RELEASE="$(curl -sSL https://dl.k8s.io/release/stable.txt)"

mkdir -p /opt/bin
cd /opt/bin
curl -L --remote-name-all https://storage.googleapis.com/kubernetes-release/release/${RELEASE}/bin/linux/amd64/{kubeadm,kubelet,kubectl}
chmod +x {kubeadm,kubelet,kubectl}

RELEASE_VERSION="v0.2.7"
curl -sSL "https://raw.githubusercontent.com/kubernetes/release/${RELEASE_VERSION}/cmd/kubepkg/templates/latest/deb/kubelet/lib/systemd/system/kubelet.service" | sed "s:/usr/bin:/opt/bin:g" > /etc/systemd/system/kubelet.service
mkdir -p /etc/systemd/system/kubelet.service.d
curl -sSL "https://raw.githubusercontent.com/kubernetes/release/${RELEASE_VERSION}/cmd/kubepkg/templates/latest/deb/kubeadm/10-kubeadm.conf" | sed "s:/usr/bin:/opt/bin:g" > /etc/systemd/system/kubelet.service.d/10-kubeadm.conf

RELEASE_VERSION is the version of k/release and RELEASE is the version of the artifacts.
you should not modify RELEASE_VERSION
/close

I think this is may be related to https://github.com/kubernetes/kubernetes/commit/baec6d4af55d1e75d371893b1950a2df079461f2

I think this is may be related to kubernetes/kubernetes@baec6d4

https://dl.k8s.io/release/stable.txt resolves to v1.18.0 fine.
also this downloads:
https://storage.googleapis.com/kubernetes-release/release/v1.18.0/bin/linux/amd64/kubeadm

@neolit123  sorry for the interruption. I didn't read everything :(
I was killed by the change in https://github.com/kubernetes/website/commit/5cf0d1955d3b729218e52a545a5368e29710e358
the current docs are correct, but not backwards compatible to my interpretation ;)

no problem, make sure the kubeadm script snippet has RELEASE_VERSION set to the k/release tag.


Question : Use cases

HI,
As I understand, using this tool locally has some benefits
Probably better use case, would be to collect the metrics over time and understand performance of terraform code base over time?
Are use cases for this tool described somewhere? Sorry if missed it somewhere here on github
Something like :

add as a pipeline step and export the metrics to tool XYZ for building a dashboard; Graphana/Prometheus, New Relics and etc
comparison between different runs
introducing some best practices based on number of resources & time it takes for an apply

Hi,
First of all, thanks for showing interest in tf-profile! You're correct that it's currently positioned as a tool to do "adhoc" analysis of logs, locally or by enhancing the output of some automated process (CICD).
I see the value of comparing its output over multiple runs. And you're right that no such use case is currently described. I completely support exporting tf-profile's output to something like Prometheus or similar, and will put that on the roadmap. Imo that covers a lot of useful cases already.
As for your other suggestions (comparisons between runs / introducing some best practices), could you elaborate a bit on how you see this? Ideally, we could keep the API small and focused (i.e. I don't think tf-profile should be responsible for storing logs or making suggestions about your TF configuration).
Quinten


page style after pagebreak(to: "odd") affects the even numbered page before the break

Description
Some text on page 1
#pagebreak(to: "odd") //we should now be on page 3
#set page(fill: orange) // This sets the file from page 2...
this is some text on page 3

Expected result: Pages 1 and 2 should be white, and page 3 should be orange.
Actual result: Page 1 is white, but page 2 is Orange.
Some text on page 1
#pagebreak()
#pagebreak(to: "odd") //we should no be on page 3
#set page(fill: orange) // This sets the file from page 2...
this is some text on page 3

Putting an explicit page break before the pagebreak(to:"odd") exhibits the correct behaviour (1&2 white, 3 orange)
Some text on page 1
#pagebreak()
#pagebreak(to: "odd", weak: true) //we should no be on page 3
#set page(fill: orange) // This sets the file from page 2...
this is some text on page 3

adding "weak:true" to the page break exhibits the same behaviour as the error case (1 white, 2 and 3 orange)
putting any text between the two pagebreaks ensures that the page colours are correct, but now there is unwanted text.
Reproduction URL
n/a
Operating system
Web app
Typst version

[X] I am using the latest version of Typst

Just checked the code and did some experiment. This is not just fill but any style/attribute in general. Essentially, the pagebreak will creates an empty page, but the style of the empty page (fill, width, height, or any other style) will be identical to the next page instead of the previous page. See the fn layout for PageElem in layout/page.rs, note that the created empty page when clear_to flag is triggered.
An example as described by @frugal-10191
Some text on page 1
#pagebreak(to: "odd") // We should now skip to page 3
#set page(fill: orange) // This should set the color of the page starting from page 3, but page 2 already is set.
Some text on page 3

I would consider it as a bug to be fixed, as I think it would be natural to assume and expect the empty page to follow the style of the previous page, instead of the style of the next page

Seems to be the same issue causing https://github.com/typst/typst/issues/2095

Seems to be the same issue causing https://github.com/typst/typst/issues/2095

Indeed.

Fixed by https://github.com/typst/typst/pull/2182


integration: fix resultCount types to not overflow, update expected vals.

integration: fix resultCount types to not overflow
Using uint8 as the type for the count fields in the resultCount type produces overflows if more than 255 certificates with a given result level are linted.
Our integration test corpus is just shy of 600,000 certificates so uint32 should be more than sufficient.
integration: update expected values to correct overflows.
Any lints that had more than 255 results at a given level will have overflowed, meaning expected counts were not correct. Also updates the expected values for the small config (which had drifted out of sync).
Resolves https://github.com/zmap/zlint/issues/555

Well, everything about this ticket makes me sad, but I'm glad we're getting it cleaned up.

Well, everything about this ticket makes me sad, but I'm glad we're getting it cleaned up.


Update PITCHME.md

PR title
Status
READY/IN DEVELOPMENT/HOLD
Description
A few sentences describing the overall goals of the pull request's commits.
Related PRs
List related PRs against other branches:

branch
PR

other_pr_production
link

other_pr_master
link

Todos

[ ] Tests
[ ] Documentation

Steps to Test or Reproduce
Outline the steps to test or reproduce the PR here.
git pull --prune
git checkout <feature_branch>
pytest --showlocals

Impacted Areas in Application
List general components of the application that this PR will affect:

:white_check_mark: Build ebook_homebrew 1.0.492 completed (commit https://github.com/tubone24/ebook_homebrew/commit/ab7c6ce2e4 by @tubone24)


Add support for VNC console for shim VMs

We enable access to shim VMs via VNC console through the following steps:

add another virtual console in the QEMU configuration that's gonna be used by VNC
call agetty on that virtual console during VMs boot to enable login

When connecting to the QEMU instance via VNC the user will first be presented with a view of the currently running process (container's entry point). To switch to the shell of the shim VM the user will have to press 'Ctrl+Alt+2' and then 'Enter' to get the login prompt. Due to inability of some VNC clients to change the resolution of the display, the client might crash. However upon the client restart the new virtual console will appear as expected. The user can then switch back to the previous virtual console by pressing 'Ctrl+Alt+1'.

Can you please add to the commit message and PR description that this will work only for the standalone vnc client, not the "Remote Console" guacamole plugin. Also would be great if you specify the reasons why it does not work for there.
I do not have any objections on this PR, this is what we discussed with you. The main thing is left to be done here is to enable this feature by a separate flag, like the regular vnc is enabled: https://github.com/lf-edge/eve-api/blob/6180247abbc1c04422e093458809e8da59a25eff/proto/config/vm.proto#L52
Why? There are huge security concerns that we can't let everyone who has a vnc access to the Container let freely access the Shim Vm (if you wish we can discuss that with you and @shjala once again).
So my advice is in order to finish with this PR is to add a new field to the VmConfig structure (vm.proto). Then we can raise the whole security discussion how to enable this safely.

@rouming I added the flag EnableVncShimVm to pillar. It needs to be added to edgeview as well, but since it depends on pillar I will have to create another PR for that after this one is merged.

Can you please add to the commit message and PR description that this will work only for the standalone vnc client, not the "Remote Console" guacamole plugin. Also would be great if you specify the reasons why it does not work there.

I'm also curious why it wouldn't work since guacamole is built using the vnc access in kvm/qemu.
Don't we have some markdown file which documents the current use of the console/vnc where this information can be added? If not we need to add it.

@europaul There are a few changes requested. Also please fix yetus. Seems it wants "VM" name (all capital).

Can you please add to the commit message and PR description that this will work only for the standalone vnc client, not the "Remote Console" guacamole plugin. Also would be great if you specify the reasons why it does not work there.

I'm also curious why it wouldn't work since guacamole is built using the vnc access in kvm/qemu.

Here we talk about this https://www.qemu.org/docs/master/system/keys.html, so you can switch between consoles from the VNC viewport. But guacamole browser client (I assume this is guacamole) does not let you send those keys combinations (or this is the browser? I did not invesitate that, might be Paul knows). So the switch between VNC consoles (vm and shim-vm) will work from application client (tightvnc, etc), but not guacamole.

Don't we have some markdown file which documents the current use of the console/vnc where this information can be added? If not we need to add it.

Seems indeed we don't have any documentation VNC related.

@eriknordmark @europaul I'm still looking into how to switch between consoles using a key combination in guacamole. According to the guacamole's FAQ this might be possible. If I find a solution it will be part of another PR.

@eriknordmark @rouming I think I addressed all comments, feel free to have another look!

@rouming @eriknordmark I actually just confirmed that switching between virtual consoles works via the keyboard shortcut in guacamole in both Firefox in Chromium on my machine. So I removed that line about the limitation from the docs.

That's cool. Thanks for update.


Update cmake.yml to run build jobs in parallel.

But isn't Ninja determining the appropriate number of jobs already by itself? According to the Ninja Manual (see Section "Running Ninja"), it is stated, that usually one does not need to pass the -j option. So we might limit ourselves, should Azure give us some more resources.

Hi, I'll be back at my laptop this evening, but as a short explanation: This was to experiment with threads to see if it actually makes the CI faster. (Doesn't seem to be the case with a build time of 32m)
A second, but more time-intensive approach would be to introduce caching of our cmake state (as its done locally). Would decrease CI time drastically and perhaps would be interesting when we start coding in hyrise.

Let's focus on other things than making the CI faster for now. (And maybe get back to caching in the CI later.)


Discussion/Feature: highlight unused function argument as comment

Since gleam supports prefixing an argument with underscore to mark it as unused it would be nice if the variable was highlighted like a comment.
The Elixir plugin vim-elixir does exactly that.
I hacked something together with my non existing vim regex skills:

What's the general opinion on this?

Sounds good to me!


Switching to Favorite Decks may be broken

The link: https://mtgarena.pro/decks/#fav opens in fresh tab, but switching from My Decks to Favorite Decks in the same tab is broken.
When switching back from Favorite to My, causes an empty list with just one entry remaining from Favorite Decks. May be related bug to #80
While at it, rename Favourite to Favorite for the US-centric demographic.

Fixed. And added nice switcher button on the menu


Translators

Codecov Report

Merging #42 (76da375) into main (f434189) will decrease coverage by 1.03%.
The diff coverage is 28.03%.

:exclamation: Current head 76da375 differs from pull request most recent head d768728. Consider uploading reports for the commit d768728 to get more accurate results

@@            Coverage Diff             @@
##             main      #42      +/-   ##
==========================================
- Coverage   80.67%   79.63%   -1.04%
==========================================
  Files          20       20
  Lines        6690     6822     +132
==========================================
+ Hits         5397     5433      +36
- Misses       1293     1389      +96

Flag
Coverage Δ

unit
79.63% <28.03%> (-1.04%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

helics/capi.py
78.79% <28.03%> (-2.01%)
:arrow_down:

helics/_build.py
40.65% <0.00%> (+1.09%)
:arrow_up:

Continue to review full report at Codecov.

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


System.Xml.XmlException: '.', hexadecimal value 0x00, is an invalid character. Line 15, position 1.

When starting RWC I receive the following error. It is a fresh install without %appdata%/Reddit Wallpaper Changer. RWC is running in the background and it is possible to "bring to front" via task manager but it still doesn't function correctly... UI elements are all over the place and it doesn't appear in task bar or tray at all.
Maybe something to do with region settings? I tried to change to something else but it didn't help.
************** Exception Text **************
System.Xml.XmlException: '.', hexadecimal value 0x00, is an invalid character. Line 15, position 1.
   at System.Xml.XmlTextReaderImpl.Throw(Exception e)
   at System.Xml.XmlTextReaderImpl.ParseText(Int32& startPos, Int32& endPos, Int32& outOrChars)
   at System.Xml.XmlTextReaderImpl.ParseText()
   at System.Xml.XmlTextReaderImpl.ParseElementContent()
   at System.Xml.XmlTextReaderImpl.Skip()
   at System.Configuration.XmlUtil.StrictSkipToNextElement(ExceptionAction action)
   at System.Configuration.BaseConfigurationRecord.ScanSectionsRecursive(XmlUtil xmlUtil, String parentConfigKey, Boolean inLocation, String locationSubPath, OverrideModeSetting overrideMode, Boolean skipInChildApps)
   at System.Configuration.BaseConfigurationRecord.ScanSectionsRecursive(XmlUtil xmlUtil, String parentConfigKey, Boolean inLocation, String locationSubPath, OverrideModeSetting overrideMode, Boolean skipInChildApps)
   at System.Configuration.BaseConfigurationRecord.ScanSections(XmlUtil xmlUtil)
   at System.Configuration.BaseConfigurationRecord.InitConfigFromFile()

************** Loaded Assemblies **************
mscorlib
    Assembly Version: <IP_ADDRESS>
    Win32 Version: 4.8.4515.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
----------------------------------------
Reddit Wallpaper Changer
    Assembly Version: <IP_ADDRESS>
    Win32 Version: <IP_ADDRESS>
    CodeBase: file:///C:/Program%20Files%20(x86)/Reddit%20Wallpaper%20Changer/Reddit%20Wallpaper%20Changer.exe
----------------------------------------
System.Windows.Forms
    Assembly Version: <IP_ADDRESS>
    Win32 Version: 4.8.4550.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_<IP_ADDRESS>__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    Assembly Version: <IP_ADDRESS>
    Win32 Version: 4.8.4536.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_<IP_ADDRESS>__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    Assembly Version: <IP_ADDRESS>
    Win32 Version: 4.8.4390.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_<IP_ADDRESS>__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Core
    Assembly Version: <IP_ADDRESS>
    Win32 Version: 4.8.4566.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_<IP_ADDRESS>__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Configuration
    Assembly Version: <IP_ADDRESS>
    Win32 Version: 4.8.4190.0 built by: NET48REL1LAST_B
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_<IP_ADDRESS>__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
    Assembly Version: <IP_ADDRESS>
    Win32 Version: 4.8.4084.0 built by: NET48REL1
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_<IP_ADDRESS>__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Data.SQLite
    Assembly Version: <IP_ADDRESS>
    Win32 Version: <IP_ADDRESS>
    CodeBase: file:///C:/Program%20Files%20(x86)/Reddit%20Wallpaper%20Changer/System.Data.SQLite.DLL
----------------------------------------
System.Data
    Assembly Version: <IP_ADDRESS>
    Win32 Version: 4.8.4536.0 built by: NET48REL1LAST_C
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_64/System.Data/v4.0_<IP_ADDRESS>__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Transactions
    Assembly Version: <IP_ADDRESS>
    Win32 Version: 4.8.4084.0 built by: NET48REL1
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_64/System.Transactions/v4.0_<IP_ADDRESS>__b77a5c561934e089/System.Transactions.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

Hmm, it sounds like the config file has corrupted somehow (looks like it contains 0x00 which is a NUL character).
Close the app and try using a text editor to alter the Reddit Wallpaper Changer.exe.config file, delete and retype lines 14-16 manually, if you have a text editor like Notepad++ installed it can show non-printable characters so you can find and delete the NUL character.
Otherwise, close the app and delete the Reddit Wallpaper Changer.exe.config file, then restart the app and see if it gets regenerated correctly.
If that doesn't work, try re-downloading the installer from Github again, uninstall the app, delete any app folders (e.g. AppData/Reddit Wallpaper Changer), then reinstall
Let me know if that helps

I think I have it figured out... A bit of a strange one I guess. First I tried running RWC in Windows Sandbox, which obviously worked fine. After this I figured to have a look with Procmon and noticed the C:\Users\%USERPROFILE%\AppData\Local\_u_qwertydog\Reddit_Wallpaper_Changer._Url_fn5rdr3tbrupllitik0y5clty5pa2qfl\<IP_ADDRESS> path being read.. In the path there was only a single file:
user.config with:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <userSettings>
        <Reddit_Wallpaper_Changer.Properties.Settings>
            <setting name="AppDataPath" serializeAs="String">
                <value>C:\Users\<username>\AppData\Roaming\Reddit Wallpaper Changer</value>
            </setting>
        </Reddit_Wallpaper_Changer.Properties.Settings>
    </userSettings>
</configuration>

I figured why to delete the folder <IP_ADDRESS>, however the problem persisted. The same folder contains folders for older RWC installs from <IP_ADDRESS> through <IP_ADDRESS>. Only after renaming the whole folder Reddit_Wallpaper_Changer._Url_fn5rdr3tbrupllitik0y5clty5pa2qfl did RWC start normally...
Finally I dug a little deeper and figured out that renaming the previous version's folder <IP_ADDRESS> I could make RWC start normally. This is where I found the issue... The previous version's user.config had line full of NUL (5400 of them to be exact...) It is still a bit weird since Procmon doesn't appear to show that RWC is actually even trying to read this file.. Only the user.config of v. <IP_ADDRESS> is being read. Deleting/renaming <IP_ADDRESS> apparently made RWC to restore settings from <IP_ADDRESS> regardless. Go figure!

Huh that's a weird one


Compatibility issues running in GLSL 1.10 or lower

Basic Info
Tested MagicaVoxel Version: 0.99.2
GLSL version: 1.10
Behavior: Simply cannot execute
Target Platform: Linux wine, macOS and Windows with lower GLSL version.
Log
In fact all the shaders in this project cannot avoid the mentioned problem. The log below belongs to the Terrain Generator.

[Cmd] : xs : tergen 19260817 50 20 1
[Log] cache model
[Log] compute model
==== [GL:Shader] ====
0:19(10): warning: Float suffixes are invalid in GLSL 1.10
0:19(84): warning: Float suffixes are invalid in GLSL 1.10
0:24(75): warning: Float suffixes are invalid in GLSL 1.10
0:25(67): warning: Float suffixes are invalid in GLSL 1.10
0:26(24): warning: Float suffixes are invalid in GLSL 1.10
0:31(31): warning: Float suffixes are invalid in GLSL 1.10
0:49(33): warning: Float suffixes are invalid in GLSL 1.10
0:15(2): error: operator '%' is reserved in GLSL 1.10 (GLSL 1.30 or GLSL ES 3.00 required)
0:15(2): error: could not implicitly convert error to int
0:16(2): error: operator '%' is reserved in GLSL 1.10 (GLSL 1.30 or GLSL ES 3.00 required)
0:16(2): error: could not implicitly convert error to int
0:18(7): error: bit-wise operations are forbidden in GLSL 1.10 (GLSL 1.30 or GLSL ES 3.00 required)
0:18(7): error: bit-wise operations are forbidden in GLSL 1.10 (GLSL 1.30 or GLSL ES 3.00 required)
0:18(7): error: type mismatch
0:18(6): error: bit-wise operations are forbidden in GLSL 1.10 (GLSL 1.30 or GLSL ES 3.00 required)
0:19(22): error: bit-wise operations are forbidden in GLSL 1.10 (GLSL 1.30 or GLSL ES 3.00 required)
0:19(22): error: type mismatch
0:19(16): error: cannot construct `float' from a non-numeric data type
0:19(16): error: operands to arithmetic operators must be numeric
0:19(10): error: operands to arithmetic operators must be numeric
0:20(9): warning: `o' used uninitialized
0:31(11): error: could not implicitly convert operands to arithmetic operator
0:31(10): error: operands to arithmetic operators must be numeric
0:32(14): warning: `f' used uninitialized
0:32(12): error: could not implicitly convert operands to arithmetic operator
0:32(9): error: operands to arithmetic operators must be numeric
0:32(19): warning: `f' used uninitialized
0:32(9): error: operands to arithmetic operators must be numeric
0:32(2): error: `return' with wrong type error, in function `cosini' returning float
0:37(13): error: could not implicitly convert operands to arithmetic operator
0:39(13): error: could not implicitly convert operands to arithmetic operator
0:40(56): warning: `fraX' used uninitialized
0:41(60): warning: `fraX' used uninitialized
0:42(22): warning: `fraY' used uninitialized
0:48(13): error: no matching function for call to `pow(float, int)'; candidates are:
0:48(13): error:    float pow(float, float)
0:48(13): error:    vec2 pow(vec2, vec2)
0:48(13): error:    vec3 pow(vec3, vec3)
0:48(13): error:    vec4 pow(vec4, vec4)
0:49(16): warning: `freq' used uninitialized
0:49(23): warning: `freq' used uninitialized
0:49(29): error: no matching function for call to `pow(float, int)'; candidates are:
0:49(29): error:    float pow(float, float)
0:49(29): error:    vec2 pow(vec2, vec2)
0:49(29): error:    vec3 pow(vec3, vec3)
0:49(29): error:    vec4 pow(vec4, vec4)
0:49(9): error: operands to arithmetic operators must be numeric
0:49(2): error: operands to arithmetic operators must be numeric
0:49(2): error: could not implicitly convert error to float
0:55(17): error: could not implicitly convert operands to arithmetic operator
0:56(25): warning: `height' used uninitialized
0:56(44): error: operands of `==' must have the same type
[Error] cmd failed to parse parms: MV_CMD_VoxelShader

Fixing status
Now project shader works in GLSL 1.10.

Bummer! I was racking my brain as to why they wouldn't execute.
By the way, how did you get this log? I was trying to find a console output of some kind to see if the scripts were failing, but couldn't find one.

@Swivelgames I'm also curious where you found MagicaVoxel's logfile.  I'd like to fix some shaders for the latest version of MV, but don't know what it's getting caught up on.

To view the logging file:
If you are using Wine for Mac or Linux, simply launch MagicaVoxel.exe through terminal and Wine itself will print all the debugging logs via terminal, and it's real-time.
For Windows users, try GLIntercept ( https://github.com/dtrebilco/glintercept ), it generates the shader compiling data right in the /Shader directory which is more detailed.

That makes too much sense.
For macOS:

Open Terminal.app and drag-and-drop MagicaVoxel.app onto the Terminal window… this'll type the path to MagicaVoxel for you, something like /Applications/MagicaVoxel-0.98.2-mac/MagicaVoxel.app
Backspace once to remove the space after the path, and type /Contents/MacOS/MagicaVoxel, resulting a command prompt that looks like $ Applications/MagicaVoxel-0.98.2-mac/MagicaVoxel.app/Contents/MacOS/MagicaVoxel.
Hit enter.  Keep the Terminal window open for as long as MagicaVoxel is running, and the log will show up there.  (If you close the Terminal window, MagicaVoxel will quit immediately.)

For longer term use, you can create a macOS-friendly bash script (text file with extension .command that has been chmod +x-ed) and drop it in the same directory as MagicaVoxel.app):
#!/usr/bin/env bash

DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null && pwd )"
cd "$DIR"

./MagicaVoxel.app/Contents/MacOS/MagicaVoxel

@capnslipp
Well done.
I do not use macOS so couldn't provide a solution to it. Your reply is of great help to those macOS users. :)
Thank you.

Hi!
On my mac I'm getting:
[Cmd] : xs : tergen 19260817 50 20 1 0 -10 10 10
[Log] cache model
[Log] compute model
==== [GL:Shader] ====
ERROR: 0:19: 'f' : syntax error: syntax error
[Error] cmd failed to parse parms: MV_CMD_VoxelShader
And, naturally, shader produces nothing. I'm not a developer, so I don't know if this might help, but I'd very much like to get this shader to work.

@my-little-bunny
I have to say that this is a weird issue and it's disappointing that for me locating the bug through the log is nearly impossible.
At present without further investigating I can only guess that the problem comes from the 'f' mark for the float number. I've removed the mark in the latest build, please check it out and see if the problem disappears. If the problem still exists, welcome to comment in this issue.
Hope to help.

Thank you for your reply. Sadly, shader (and all of the others) still doesn't work. New log:
[Log] compute model
==== [GL:Shader] ====
ERROR: 0:18: '<<' does not operate on 'int' and 'int'
ERROR: 0:19: '&' does not operate on 'int' and 'int'
ERROR: 0:20: Use of undeclared identifier 'o'
[Error] cmd failed to parse parms: MV_CMD_VoxelShader

I've copied your command: xs tergen 19260817 50 20 1 0 -10 10 10, so I don't think there were any 'o's.

It may also be worth noting that this shader, xs height, also doesn't work on mac, and ephtracy said it was some sort of problem with mac recognising UTF-8 encoding: https://twitter.com/ephtracy/status/956999681132974082
Although other shaders (https://github.com/lachlanmcdonald/magicavoxel-shaders) work perfectly fine with no problems at all.

Thank you! No need to be sorry, I just wanted to contribute to this issue, sorry I couldn't do more.

It is worth concerning that the bug of the generator has been fixed at present. Feel free to have a try.

OH MY GOD IT FINALLY WORKS!!!! Thank you so much!!!!

All fixed. Close the issue.


Package management (unpublish/remove) on UI

Is your feature request related to a problem? Please describe.
I had issue with unpublishing when package name was same on npmjs.org. I solved it by manual removing data from file system on the server and it was hard
Describe the solution you'd like
Add buttons on package details page

hi @whins which issue did you have?

Hi @whins,
I guess you mean the proxy which fetches and delivers the package + version combo from npmjs. Publishing the same combination in Verdaccio does not make much sense as this would create a conflicht (same but not really same).

@juanpicado I believe this is a feature request.  He wants the ability to easily unpublish a package.  Is this a feature you plan on supporting?

I think admin tooling is hard to achieve now, not on my plans. I would rather to now how to reproduce his error so I can understand the issue itself.

Hi
I'm sorry. It's my mistake.
I run unpublish command incorrectly (without package name).

Thanks @whins for the update


Paste text from browser or word

Hi @zzxming
Your module is great and I'm starting using it but I have an issue when tring to paste text from browser or word in a table, it breaks the table into 2 tables. is there any way to fix this issue or give me an example to ovveride thise issue.
Thanks

Thanks for report. It's a bug. I will handle it

Hi. I have released version 1.5.1, which fix this issue. You can give it a try.

It works, thanks! Great work. Really appreciate your effort in fixing this so quickly.

It works, thanks! Great work. Really appreciate your effort in fixing this so quickly.

Thank you for using this module and giving me feedback😊