Problem with graphs

Hi,
please fix the problem with graphs in Object Execution after installing version 3.11.1. I am attaching a screen:

Thanks

Hi,
This issue occurs because there are some time periods where the procedure isn't executed.  The zeros are not actually stored but get filled in.  There is an issue because these zero values were ordered before everything else rather than in the correct chronological order - leading to the strange behavior in the chart.
Depending on the procedure you select and how frequently it's executed, you might not see this issue.  Also, if you increase the date grouping so there are no zero fill time periods, the issue will go away.
I have a fix for this.  If you would like to try it out, run this on your repository database.  It's a minor tweak to the stored procedure to correct the ordering.

ALTER PROC dbo.ObjectExecutionStats_Get(
	@Instance SYSNAME=NULL,
	@InstanceGroupName SYSNAME=NULL,
	@DatabaseID INT=NULL,
	@ObjectName SYSNAME=NULL,
	@SchemaName SYSNAME=NULL,
	@FromDateUTC DATETIME2(3)=NULL,
	@ToDateUTC DATETIME2(3)=NULL,
	@Measure VARCHAR(30)='TotalDuration',
	@UTCOffset INT=0,
	@InstanceID INT=NULL,
	@ObjectID BIGINT=NULL,
	@DateGroupingMin INT=NULL,
	/*
		ObjectExecutionCounts table doesn't store zero executions counts.  This option will generate zero rows where we have object execution data collected for the instance but not for the specified stored proc.
	*/
	@ZeroFill BIT=1,
	@Debug BIT=0,
	@DaysOfWeek IDs READONLY, /* e.g. 1=Monday. exclude weekends:  1,2,3,4,5.  Filter applied in local timezone (@UTCOffset) */
	@Hours IDs READONLY, /* e.g. 9 to 5 :  9,10,11,12,13,14,15,16. Filter applied in local timezone (@UTCOffset)*/
	@Top INT=10,
	@IncludeOther BIT=1
)
AS
SET NOCOUNT ON
SET DATEFIRST 1 /* Start week on Monday */
CREATE TABLE #results(
    SnapshotDate DATETIME,
    DatabaseName NVARCHAR(128),
    DatabaseID INT,
	ObjectID BIGINT,
    object_name NVARCHAR(257),
    TotalCPU DECIMAL(29, 9),
    AvgCPU DECIMAL(29, 9),
	cpu_ms_per_sec DECIMAL(29, 9),
    ExecutionCount BIGINT,
    ExecutionsPerMin DECIMAL(38, 9),
    TotalDuration DECIMAL(29, 9),
    AvgDuration DECIMAL(29, 9),
	duration_ms_per_sec DECIMAL(29, 9),
    TotalLogicalReads BIGINT,
    AvgLogicalReads BIGINT,
    TotalPhysicalReads BIGINT,
    AvgPhysicalReads BIGINT,
    TotalWrites BIGINT,
    AvgWrites BIGINT,
	MaxExecutionsPerMin DECIMAL(29, 9),
    Measure DECIMAL(29, 9),
	TotalMeasure DECIMAL(29, 9),
    ProcRankPeriod BIGINT,
	ProcRankTotal BIGINT

);

IF @Instance IS NULL AND @InstanceID IS NULL AND @InstanceGroupName IS NULL
BEGIN
	RAISERROR('Instance not specified',11,1);
	RETURN;
END

IF @FromDateUTC IS NULL
	SET @FromDateUTC = CONVERT(DATETIME,STUFF(CONVERT(VARCHAR,DATEADD(mi,-120,GETUTCDATE()),120),16,4,'0:00'),120)
IF @ToDateUTC IS NULL
	SET @ToDateUTC = GETUTCDATE()

DECLARE @MeasureString NVARCHAR(MAX)
SELECT @MeasureString = CASE WHEN @Measure IN('TotalCPU','AvgCPU','TotalDuration','AvgDuration','ExecutionCount','ExecutionsPerMin','AvgLogicalReads','AvgPhysicalReads','AvgWrites','TotalWrites','TotalLogicalReads','TotalPhysicalReads','MaxExecutionsPerMin','cpu_ms_per_sec','duration_ms_per_sec')
						THEN @Measure ELSE NULL END

DECLARE @SQL NVARCHAR(MAX)

/* Generate CSV list from list of integer values (safe from SQL injection compared to passing in a CSV string) */
DECLARE @DaysOfWeekCsv NVARCHAR(MAX)
SELECT @DaysOfWeekCsv =  STUFF((SELECT ',' + CAST(ID AS VARCHAR)
FROM @DaysOfWeek
FOR XML PATH(''),TYPE).value('.','NVARCHAR(MAX)'),1,1,'')

/* Generate CSV list from list of integer values (safe from SQL injection compared to passing in a CSV string) */
DECLARE @HoursCsv NVARCHAR(MAX)
SELECT @HoursCsv =  STUFF((SELECT ',' + CAST(ID AS VARCHAR)
FROM @Hours
FOR XML PATH(''),TYPE).value('.','NVARCHAR(MAX)'),1,1,'')

DECLARE @MeasureCol NVARCHAR(MAX) = CASE WHEN @MeasureString = 'TotalDuration' THEN 'SUM(OES.total_elapsed_time)/1000000.0'
					WHEN @MeasureString = 'TotalCPU' THEN 'SUM(OES.total_worker_time)/1000000.0 '
					WHEN @MeasureString = 'ExecutionCount' THEN 'SUM(OES.execution_count)'
					WHEN @MeasureString = 'AvgCPU' THEN 'SUM(OES.total_worker_time)/NULLIF(SUM(OES.execution_count),0)/1000000.0'
					WHEN @MeasureString = 'AvgDuration' THEN 'SUM(OES.total_elapsed_time)/NULLIF(SUM(OES.execution_count),0)/1000000.0'
					WHEN @MeasureString = 'ExecutionsPerMin' THEN 'SUM(OES.execution_count) / NULLIF(MAX(SUM(OES.PeriodTime)/60000000.0) OVER(PARTITION BY DateGroup),0)'
					WHEN @MeasureString = 'AvgLogicalReads' THEN 'SUM(OES.total_logical_reads)/NULLIF(SUM(OES.execution_count),0)'
					WHEN @MeasureString = 'AvgPhysicalReads' THEN 'SUM(OES.total_physical_reads)/NULLIF(SUM(OES.execution_count),0) '
					WHEN @MeasureString = 'AvgWrites' THEN 'SUM(OES.total_logical_writes)/NULLIF(SUM(OES.execution_count),0) '
					WHEN @MeasureString = 'TotalWrites' THEN 'SUM(OES.total_logical_writes)'
					WHEN @MeasureString = 'TotalLogicalReads' THEN 'SUM(OES.total_logical_reads)'
					WHEN @MeasureString = 'TotalPhysicalReads' THEN 'SUM(OES.total_physical_reads)'
					WHEN @MeasureString = 'MaxExecutionsPerMin' THEN 'MAX(MaxExecutionsPerMin)'
					WHEN @MeasureString = 'cpu_ms_per_sec' THEN 'SUM(total_worker_time)/1000.0 / NULLIF(MAX(SUM(OES.PeriodTime)/1000000.0) OVER(PARTITION BY DateGroup),0)'
					WHEN @MeasureString = 'duration_ms_per_sec' THEN 'SUM(OES.total_elapsed_time)/1000.0 / NULLIF(MAX(SUM(OES.PeriodTime)/1000000.0) OVER(PARTITION BY DateGroup),0)'
		   END + ' AS Measure,'

DECLARE @TotalMeasureCol NVARCHAR(MAX) = CASE WHEN @MeasureString = 'TotalDuration' THEN 'SUM(SUM(OES.total_elapsed_time)) OVER(PARTITION BY OES.ObjectID)/1000000.0 '
					WHEN @MeasureString = 'TotalCPU' THEN 'SUM(SUM(OES.total_worker_time)) OVER(PARTITION BY OES.ObjectID) /1000000.0 '
					WHEN @MeasureString = 'ExecutionCount' THEN 'SUM(SUM(OES.execution_count)) OVER(PARTITION BY OES.ObjectID) '
					WHEN @MeasureString = 'AvgCPU' THEN 'SUM(SUM(OES.total_worker_time)) OVER(PARTITION BY OES.ObjectID)/NULLIF(SUM(SUM(OES.execution_count)) OVER(PARTITION BY OES.ObjectID),0)/1000000.0'
					WHEN @MeasureString = 'AvgDuration' THEN 'SUM(SUM(OES.total_elapsed_time)) OVER(PARTITION BY OES.ObjectID)/NULLIF(SUM(SUM(OES.execution_count)) OVER(PARTITION BY OES.ObjectID),0)/1000000.0 '
					WHEN @MeasureString = 'ExecutionsPerMin' THEN 'SUM(SUM(OES.execution_count)) OVER(PARTITION BY OES.ObjectID) * 60.0 / NULLIF(DATEDIFF_BIG(s,MIN(MIN(PeriodStartTime)) OVER(),MAX(MAX(PeriodEndTime)) OVER()),0) '
					WHEN @MeasureString = 'AvgLogicalReads' THEN 'SUM(SUM(OES.total_logical_reads)) OVER(PARTITION BY OES.ObjectID) /NULLIF(SUM(SUM(OES.execution_count)) OVER(PARTITION BY OES.ObjectID),0) '
					WHEN @MeasureString = 'AvgPhysicalReads' THEN 'SUM(SUM(OES.total_physical_reads)) OVER(PARTITION BY OES.ObjectID) /NULLIF(SUM(SUM(OES.execution_count)) OVER(PARTITION BY OES.ObjectID),0) '
					WHEN @MeasureString = 'AvgWrites' THEN 'SUM(SUM(OES.total_logical_writes)) OVER(PARTITION BY OES.ObjectID) /NULLIF(SUM(SUM(OES.execution_count)) OVER(PARTITION BY OES.ObjectID),0) '
					WHEN @MeasureString = 'TotalWrites' THEN 'SUM(SUM(OES.total_logical_writes)) OVER(PARTITION BY OES.ObjectID)'
					WHEN @MeasureString = 'TotalLogicalReads' THEN 'SUM(SUM(OES.total_logical_reads)) OVER(PARTITION BY OES.ObjectID)'
					WHEN @MeasureString = 'TotalPhysicalReads' THEN 'SUM(SUM(OES.total_physical_reads)) OVER(PARTITION BY OES.ObjectID)'
					WHEN @MeasureString = 'MaxExecutionsPerMin' THEN 'MAX(MAX(OES.MaxExecutionsPerMin)) OVER(PARTITION BY OES.ObjectID)'
					WHEN @MeasureString = 'cpu_ms_per_sec' THEN 'SUM(SUM(OES.total_worker_time)) OVER(PARTITION BY OES.ObjectID) /1000.0 / NULLIF(DATEDIFF_BIG(s,MIN(MIN(PeriodStartTime)) OVER(),MAX(MAX(PeriodEndTime)) OVER()),0)'
					WHEN @MeasureString = 'duration_ms_per_sec' THEN 'SUM(SUM(OES.total_elapsed_time)) OVER(PARTITION BY OES.ObjectID) /1000.0 / NULLIF(DATEDIFF_BIG(s,MIN(MIN(PeriodStartTime)) OVER(),MAX(MAX(PeriodEndTime)) OVER()),0)'
		   END + ' AS TotalMeasure,'

SET @SQL = CONCAT(N'
WITH agg AS (
	/* Initial Aggregation by time period & object */
	SELECT DG.DateGroup,
		   D.name AS DatabaseName,
		   D.DatabaseID,
		   OES.ObjectID,
		   O.SchemaName + ''.'' + O.objectname as object_name,
		   ', @MeasureCol, '
		   ', @TotalMeasureCol, '
		   SUM(OES.total_elapsed_time) AS total_elapsed_time,
		   SUM(OES.execution_count) AS execution_count,
		   SUM(OES.total_logical_reads) AS total_logical_reads,
		   SUM(OES.total_logical_writes) AS total_logical_writes,
		   SUM(OES.total_physical_reads) AS total_physical_reads,
		   SUM(OES.total_worker_time) AS total_worker_time,
		   SUM(OES.PeriodTime) AS PeriodTime,
		   MAX(MaxExecutionsPerMin) AS MaxExecutionsPerMin,
		   MIN(PeriodStartTime) AS PeriodStartTime,
		   MAX(PeriodEndTime) AS PeriodEndTime
	FROM dbo.ObjectExecutionStats' + CASE WHEN @DateGroupingMin>=60 THEN N'_60MIN' ELSE N'' END + N' OES
		' + CASE WHEN @DateGroupingMin IS NULL OR @DateGroupingMin =0 THEN 'OUTER APPLY(SELECT DATEADD(mi, @UTCOffset, OES.SnapshotDate) AS DateGroup) DG' ELSE 'CROSS APPLY dbo.DateGroupingMins(DATEADD(mi, @UTCOffset, OES.SnapshotDate),@DateGroupingMin) DG' END + '
		JOIN dbo.DBObjects O ON OES.ObjectID = O.ObjectID
		JOIN dbo.Databases D ON D.DatabaseID = O.DatabaseID
		JOIN dbo.Instances I ON D.InstanceID = I.InstanceID AND OES.InstanceID = I.InstanceID
	WHERE D.IsActive=1
	', CASE WHEN @Instance IS NOT NULL THEN N'AND I.Instance = @Instance' ELSE '' END, N'
	', CASE WHEN @InstanceGroupName IS NOT NULL THEN N'AND I.InstanceGroupName = @InstanceGroupName' ELSE '' END, N'
	', CASE WHEN @InstanceID IS NOT NULL THEN N'AND I.InstanceID = @InstanceID' ELSE '' END, N'
	AND OES.SnapshotDate >= @FromDate
	AND OES.SnapshotDate< @ToDate
	', CASE WHEN @DatabaseID IS NULL THEN N'' ELSE N'AND D.DatabaseID=@DatabaseID' END, N'
	', CASE WHEN @ObjectName IS NULL THEN N'' ELSE N'AND O.objectname=@ObjectName' END, N'
	', CASE WHEN @ObjectID IS NULL THEN N'' ELSE N'AND OES.ObjectID = @ObjectID' END, N'
	', CASE WHEN @DaysOfWeekCsv IS NULL THEN N'' ELSE 'AND DATEPART(dw,DATEADD(mi, @UTCOffset, OES.SnapshotDate)) IN (' + @DaysOfWeekCsv + ')' END, '
	', CASE WHEN @HoursCsv IS NULL THEN N'' ELSE 'AND DATEPART(hh,DATEADD(mi, @UTCOffset, OES.SnapshotDate)) IN(' + @HoursCsv + ')' END, '
	GROUP BY DG.DateGroup,D.Name,O.objectname,D.DatabaseID,O.SchemaName,OES.ObjectID
)
, Ranking AS (
	/* Get top objects for each period & overall */
	SELECT agg.*,
		ROW_NUMBER() OVER (PARTITION BY DateGroup ORDER BY Measure DESC,ObjectID) ProcRankPeriod,
		DENSE_RANK() OVER (ORDER BY TotalMeasure DESC,ObjectID) ProcRankTotal
	FROM agg
	WHERE TotalMeasure>0
),
ReGrouping AS (
	/* Bucket objects outside top into "Other" category */
	SELECT  DateGroup,
			CASE WHEN ProcRankTotal <=@Top OR ProcRankPeriod<=@Top THEN DatabaseName ELSE '''' END AS DatabaseName,
			CASE WHEN ProcRankTotal <=@Top OR ProcRankPeriod<=@Top THEN DatabaseID ELSE -1 END AS DatabaseID,
			CASE WHEN ProcRankTotal <=@Top OR ProcRankPeriod<=@Top THEN ObjectID ELSE -1 END AS ObjectID,
			CASE WHEN ProcRankTotal <=@Top OR ProcRankPeriod<=@Top THEN object_name ELSE ''{Other}'' END AS object_name,
			SUM(total_elapsed_time) AS total_elapsed_time,
			SUM(execution_count) AS execution_count,
			SUM(total_logical_reads) AS total_logical_reads,
			SUM(total_logical_writes) AS total_logical_writes,
			SUM(total_physical_reads) AS total_physical_reads,
			SUM(total_worker_time) AS total_worker_time,
			MAX(PeriodTime) AS PeriodTime,
			MAX(MaxExecutionsPerMin) AS MaxExecutionsPerMin,
			MIN(PeriodStartTime) AS PeriodStartTime,
			MAX(PeriodEndTime) AS PeriodEndTime,
			MIN(CASE WHEN ProcRankTotal <=@Top OR ProcRankPeriod<=@Top THEN ProcRankPeriod ELSE<PHONE_NUMBER> END) AS ProcRankPeriod,
			MIN(CASE WHEN ProcRankTotal <=@Top OR ProcRankPeriod<=@Top THEN ProcRankTotal ELSE<PHONE_NUMBER> END) AS ProcRankTotal
	FROM Ranking
	GROUP BY  DateGroup,
			CASE WHEN ProcRankTotal <=@Top OR ProcRankPeriod<=@Top THEN DatabaseName ELSE '''' END,
			CASE WHEN ProcRankTotal <=@Top OR ProcRankPeriod<=@Top THEN DatabaseID ELSE -1 END,
			CASE WHEN ProcRankTotal <=@Top OR ProcRankPeriod<=@Top THEN ObjectID ELSE -1 END,
			CASE WHEN ProcRankTotal <=@Top OR ProcRankPeriod<=@Top THEN object_name ELSE ''{Other}'' END
)
SELECT DateGroup AS SnapshotDate,
		DatabaseName,
		DatabaseID,
		ObjectID,
		object_name,
		SUM(OES.total_worker_time)/1000000.0 as TotalCPU,
		SUM(OES.total_worker_time)/NULLIF(SUM(OES.execution_count),0)/1000000.0 as AvgCPU,
		SUM(total_worker_time)/1000.0 / NULLIF(MAX(SUM(OES.PeriodTime)/1000000.0) OVER(PARTITION BY DateGroup),0) cpu_ms_per_sec,
		SUM(OES.execution_count) as ExecutionCount,
		SUM(OES.execution_count)/ NULLIF(MAX(SUM(OES.PeriodTime)/60000000.0) OVER(PARTITION BY DateGroup),0) as ExecutionsPerMin,
		SUM(OES.total_elapsed_time)/1000000.0 AS TotalDuration,
		SUM(OES.total_elapsed_time)/NULLIF(SUM(OES.execution_count),0)/1000000.0 AS AvgDuration,
		SUM(OES.total_elapsed_time)/1000.0 / NULLIF(MAX(SUM(OES.PeriodTime)/1000000.0) OVER(PARTITION BY DateGroup),0) duration_ms_per_sec,
		SUM(OES.total_logical_reads) as TotalLogicalReads,
		SUM(OES.total_logical_reads)/NULLIF(SUM(OES.execution_count),0) as AvgLogicalReads,
		SUM(OES.total_physical_reads) as TotalPhysicalReads,
		SUM(OES.total_physical_reads)/NULLIF(SUM(OES.execution_count),0) as AvgPhysicalReads,
		SUM(OES.total_logical_writes) as TotalWrites,
		SUM(OES.total_logical_writes)/NULLIF(SUM(OES.execution_count),0) as AvgWrites,
		MAX(MaxExecutionsPerMin) as MaxExecutionsPerMin,
		', @MeasureCol,'
		', @TotalMeasureCol,'
		MIN(ProcRankPeriod) AS ProcRankPeriod,
		MIN(ProcRankTotal) AS ProcRankTotal
FROM ReGrouping OES
',CASE WHEN @IncludeOther=1 THEN '' ELSE 'WHERE ProcRankTotal <><PHONE_NUMBER> ' END,'
GROUP BY DateGroup,
		DatabaseName,
		DatabaseID,
		ObjectID,
		object_name
ORDER BY ProcRankTotal,SnapshotDate')

IF @Debug=1
BEGIN
	EXEC dbo.PrintMax @SQL
END

IF @SQL IS NOT NULL
BEGIN
	INSERT INTO #results
	(
	    SnapshotDate,
	    DatabaseName,
	    DatabaseID,
	    ObjectID,
	    object_name,
	    TotalCPU,
	    AvgCPU,
	    cpu_ms_per_sec,
	    ExecutionCount,
	    ExecutionsPerMin,
	    TotalDuration,
	    AvgDuration,
	    duration_ms_per_sec,
	    TotalLogicalReads,
	    AvgLogicalReads,
	    TotalPhysicalReads,
	    AvgPhysicalReads,
	    TotalWrites,
	    AvgWrites,
	    MaxExecutionsPerMin,
	    Measure,
	    TotalMeasure,
		ProcRankPeriod,
		ProcRankTotal
	)
	EXEC sp_executesql @SQL,N'@Instance SYSNAME,
							@InstanceGroupName SYSNAME,
							@DatabaseID INT,
							@FromDate DATETIME2(3),
							@ToDate DATETIME2(3),
							@ObjectName SYSNAME,
							@SchemaName SYSNAME,
							@UTCOffset INT,
							@InstanceID INT,
							@ObjectID BIGINT,
							@DateGroupingMin INT,
							@Top INT',
							@Instance,
							@InstanceGroupName,
							@DatabaseID,
							@FromDateUTC,
							@ToDateUTC,
							@ObjectName,
							@SchemaName,
							@UTCOffset,
							@InstanceID,
							@ObjectID,
							@DateGroupingMin,
							@Top

END

IF @ZeroFill=1 AND @ObjectID IS NOT NULL
BEGIN;
	DECLARE @DateGroups TABLE(
		DateGroup DATETIME2(3) NOT NULL PRIMARY KEY
	)
	/*	Get all the date groups where we have data collected for the instance
		We could generate the date groups using a table of numbers which would be more efficient, but this method doesn't generate dates if collections are missing.
		Collections could be missing if @ToDateUTC is a date in the future or the data hasn't been loaded yet. It could also be missing if the agent was stopped or the SQL instance wasn't running.
		It would be wrong to generate zero values in these situations.

Thanks

That's great - thanks for letting me know.  The fix will be included in the next release.

Included in 3.12 🚀


The extendConnection resolve function receives the wrong root

If I'm not mistaken, the first argument to the resolve function of an extendConnection field should be the same root as that of the nodes function (the parent). It currently appears to be passed the connection resulting from the nodes function.

Ah, yeah I suppose it should that that same convenience shortcut. Feel free to open a PR to enable that, or I'll try and get to this (and #394) this weekend.

Same issue with extendEdge. It receives the node rather than the parent.

@tgriesser it appears as though there are more issues. The args are typed as any and are an empty object.

It works correctly when using globally extended connections. It's only the one-off that misbehaves.

I take that back. The function for the global extension is never called and the response gets a non-null error. The plugin tests only check that the schema is update, but not whether the function is called.
To recap:
One-off extension: source/root and args are wrong
Global: function never called

I guess the real problem here is that the connection extensions are sub-fields, meaning that they are only passed the parent (connection) and their own args ({}).
I worked around this temporarily by using the makeResolveFn from within the resolve function and merging the result with the total.

The workaround using makeResolveFn directly has me wondering whether the plugin would be better if it didn't combine resolution with schema definition. In that respect, I think graphql-js-relay has it right, exposing functions for different kinds of resolvers. If .connectionField just made sure that the schema and types were in place, one could either import their, for example, REST-compatible resolve function or roll their own. It would also make connection extensions less brittle. At the end of the day, I wonder whether the resolution logic would be better off in separate modules.

Hi @jamiehodge,
I'm not sure if this has already been fixed or if I'm not getting the point of the issue here, but it looks like fields of extendConnection are receiving the same root & args params than nodes as shown on the screenshot below 👇. Am I missing something here? 🤔

After some investigation, there are two things I noticed here:
1. Extending the connection per field
export const User = objectType({
  name: 'User',
  definition(t) {
    t.id('id');
    t.string('name');
    t.connectionField('PostConnection', {
      type: 'String',
      resolve: (root, args) => {
        console.log({ root, args });
        return {
          edges: [
            {
              cursor: 'cursor1',
              node: 'node1',
            },
            {
              cursor: 'cursor2',
              node: 'node2',
            },
          ],
        };
      },
      extendConnection(t) {
        t.int('totalCount', {
          resolve: (rootFromTotalCount, argsFromTotalCount, ctx) => {
            console.log({ rootFromTotalCount, argsFromTotalCount });
            return 5;
          },
        });
      },
    });
  },
});

The rootFromTotalCount has type any where I guess it should have the same type as the root from the resolve function above.
When you actually execute the following query:

{
  user {
    id
    name
    PostConnection(first: 5) {
      edges{
        cursor
        node
      }
      totalCount
    }
  }
}

Here's what gets printed to the console:

I think that rootFromTotalCount and argsFromTotalCount should be the same as root and args right ? As @jamiehodge pointed out, it appears that the root from and extendConnection get passed the result from the connection's resolve function.
2. Extending the connection globally
When extending the connection globally like in your example, the rootFromTotalCount appears to have the correct type but it looks like the totalCount function is never executed (although I query for the totalCount field)

Thanks a lot for the explanations @tatchi, that's super useful! 🙏

I think that rootFromTotalCount and argsFromTotalCount should be the same as root and args right ?

So, after further investigation, this is AFAIK the expected result. In your example, totalCount is a field of the <X>Connection type. eg:
type PostConnection {
  """
  https://facebook.github.io/relay/graphql/connections.htm#sec-Edge-Types
  """
  edges: [PostEdge]

  """
  https://facebook.github.io/relay/graphql/connections.htm#sec-undefined.PageInfo
  """
  pageInfo: PageInfo!
  totalCount: Int // <-- totalCount field
}

Meaning that the root param should be the parent (this is all handled by graphql-js anyway) and the parent here is the result from the resolve function

Indeed, I've been confused sorry 😅 I might have also misunderstood what @jamiehodge explained.
Do you still confirm the two other issues (any root type while extending the connection per field and the resolver not being called when extending globally) ?


Input fields are once again valid drop targets by default

Issue had been previously addressed (see #93 for description and solution), but has resurfaced as of Stefan's commit authored March 13, Replace dataToSend with text.
Can be worked around by specifying a null-op ui-on-drop function, but thought I'd bring it to your attention.
By the by, love the directive -- thanks for all the work maintaining it!

At the very least, update the documentation to explain defining a null-op ui-on-drop function, it was a bit trivial to me the first 10x I read it, then it clicked.
View:

Would it be possible to also control droppability via a class name?

I have a fix for this available ready to push.
According to this, the first parameter to setData() and getData() should be the mime type of the data being transferred. The current setting of 'text' is being interpreted as 'text/plain' and is thus acceptable to any text input field by default.
Changing it to the correct type of 'application/json' fixes the problem.

@kitd Was this fix ever provided/pushed?  I couldn't find it on your fork...


Merge and split ghosts

Add the ability to merge and split ghosts as well
I've added the is_ghost attribute to the on_chest_merged and on_chest_split events

Nice work, I'll check if ghost entity merging works with circuit network and general testing.
Thanks for your contribution

You're welcome!
Nice catch, I forgot to check for connections. I've now included re-adding the connections, and it looks like it's working properly.

Last thing would be setting the "red bar"...but it turns out the bar has to be set during entity creation for ghosts as they don't have inventory I could access.

Oh, I was concentrating on how to set the bar that it didn't occur to me that it will be more problematic to read it.

Another good point I missed!
It seems like you can't read it nor write it. I stumbled upon LuaEntity.copy_settings, which allows us to copy the settings to another chest.
The only problem is that we need to create a dummy chest of the same size to be able to copy these settings and read from or write to the inventory bar. I created a method where I create a chest at some offset from the chest, but this obviously depends on the chest being able to be placed there, which it might not have empty ground.
This is the code I wrote:
function MergingChests.move_ghost_inventory_bar(from_entities, to_entities)
	local bar_count = 0
	for _, ghost in ipairs(from_entities) do
		local dummy = ghost.surface.create_entity({
			name = ghost.ghost_name,
			-- TODO: Either try a few different positions, or use an empty surface
			position = { x = ghost.position.x + 1000, y = ghost.position.y },
			force = ghost.force,
			raise_built = false,
		})
		if dummy then
			dummy.copy_settings(ghost)
			local inventory = dummy.get_inventory(defines.inventory.chest)
			if inventory and inventory.supports_bar() then
				bar_count = bar_count + inventory.get_bar() - 1
			end
			dummy.destroy({ raise_destroy = false })
		end
	end

	if bar_count == 0 then
		return
	end

	local to_entities_count = table_size(to_entities)
	for _, ghost in ipairs(to_entities) do
		local dummy = ghost.surface.create_entity({
			name = ghost.ghost_name,
			position = { x = ghost.position.x + 1000, y = ghost.position.y },
			force = ghost.force,
			raise_built = false,
		})
		if dummy then
			local inventory = dummy.get_inventory(defines.inventory.chest)
			if inventory and inventory.supports_bar() then
				local bar = math.min(fmath.round(bar_count / to_entities_count), 65535)
				inventory.set_bar(bar + 1)
				ghost.copy_settings(dummy)
				dummy.destroy({ raise_destroy = false })
				bar_count = bar_count - bar
				to_entities_count = to_entities_count - 1
			end
			dummy.destroy({ raise_destroy = false })
		end
	end
end

An option would be to create a create a temporary surface to create the entities each time we merge/split, or to create a persistent surface at the beginning of the load to do this kind of operation.

AFAIK entities can overlap, so it might be possible to build non ghost entity on the same spot, copy settings and then clean up. But I'm starting to worry about code duplication

Ah, didn't realise you could have them overlap. I can try that.
Do you mean duplication in the on_player_alt_selected_area methods? I was thinking that I could tidy them up to have less duplication.
Another question I just thought about: do you split/merge logistical requests?

That's how the merging/splitting works. New entity(ies) are created on their final spot and then inventory is copied, circuit reconnected, bar set. And only then the old entity(ies) are deleted.
Yes, logistic requests are handled in WideChestsLogistic mod. Depending on the mod setting

So it appears that creating an entity on top of a ghost deletes the ghosts underneath it.
So creating a dummy somewhere else in order to copy it is not an issue, even if it overlaps with other entities, but it would delete any ghosts that might be sitting there.
What we could do is pick a location (e.g. (10000, 10000)) to create the dummy, check to see if there are any ghosts underneath, and if there are, try another location, perhaps randomised. What do you think?

Placing the entity in random place on the map doesn't sound great. Especially if you would need to check if the location exist and is empty. It would be better to have separate surface for that like you suggested before. And then clean up after every chest is merged/split.
It's getting kind of complex 😟

Pushed proposed changes with new surface, what do you think? From the testing I did it feels ready to be released

Nice, thank you!
Didn't realise you can set the bar on entity creation, that makes things much easier.
Looks good to me!


Typo on zcasd advanced config screen

mac-os advanced config screen has typo under the Use custom datadir checkbox
'Please chose a'

wow that was quick.. how funny I have a typo 'zcasd' in a ticket highlighting another typo :D


Fixerio change to 'free' plan disabling base rate

As of this morning, API returns the following;
{
  "0": "#################################################################################################################################",
  "1": "#                                                                                #",
  "2": "# IMPORTANT - PLEASE UPDATE YOUR API ENDPOINT                                                                                #",
  "3": "#                                                                                #",
  "4": "# This API endpoint is deprecated and has now been shut down. To keep using the Fixer API, please update your integration       #",
  "5": "# to use the new Fixer API endpoint, designed as a simple drop-in replacement.                                                  #",
  "6": "# You will be required to create an account at https://fixer.io and obtain an API access key.                                   #",
  "7": "#                                                                                #",
  "8": "# For more information on how to upgrade please visit our Github Tutorial at: https://github.com/fixerAPI/fixer#readme          #",
  "9": "#                                                                                #",
  "a": "#################################################################################################################################"
}

I've had to upgrade to a paid plan and update the import url to contain the paid access key in Import.php.
It's possible to create a 'free' account on fixer.io, but it doesn't allow the base rate to be defined. It does, however, return an array of rates.

Had the same issue but updating to the latest version of the extension as posted here on Github solved it for me. Just had to sign up for a free account and enter the API key in the Magento backend. Works flawlessly again.

hi there, where did you add the new API details?

In the currency settings in the backend, at the same place where you
configure the scheduled import settings.
Mit freundlichen Grüssen,
Louis Bataillard
MobWeb GmbH
Oberrenggstrasse 74
8135 Langnau am Albis
Switzerland
+41 (0)44 / 520 90 20
mobweb.ch
<EMAIL_ADDRESS>Erreichbar: Wochentags 8-18 Uhr per Email & Telefon
Notfälle: Jederzeit per Telefon & SMS
Referenzen: https://mobweb.ch/referenzen/
Blog: https://mobweb.ch/blog/
On Tue, Jun 5, 2018 at 12:06 PM, wildrness<EMAIL_ADDRESS>wrote:

hi there, where did you add the new API details?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/philwinkle/Philwinkle_Fixerio/issues/25#issuecomment-394654757,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AALus6QvNKvg1a_5QvLuQsGlT-QYdT9Aks5t5lgcgaJpZM4UaY6v
.

See #24 and v0.4.0 release. 🙌

Please also update the Magento Module version from 0.3.0 to 0.4.0 (in config.xml)

Feel free to submit this in a PR
On Tue, Jun 5, 2018, 8:18 AM Josef Hölzl<EMAIL_ADDRESS>wrote:

Please also update the Magento Module version from 0.3.0 to 0.4.0 (in
config.xml)
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/philwinkle/Philwinkle_Fixerio/issues/25#issuecomment-394687731,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAj-7i7l3hPbcZNQ8sJkFVnrh6BFSFmxks5t5ncSgaJpZM4UaY6v
.

Here it comes :)
https://github.com/philwinkle/Philwinkle_Fixerio/pull/26


Drone run fails "Internal Server Error"

Whenever I build using a custom image, I get the following error:
Status: Downloaded newer image for jeanmertz/droneio-ci-stack:latest
starting build
2014/12/30 18:27:55 Error building 6ea06bcba4ce461c0849ce50f60a57b485ef4d6c, Err: Internal Server Error
2014/12/30 18:27:56 subscription's close channel received message

This is after the image pull was completed successfully.
Is there any way to get some more details on what exactly caused this error? (it happens consistently whenever I retry the build)

@JeanMertz were you able to test after I merged #777 and get a detailed error message? Is the issue persisting?

If the issue persists and we can get the logs we can re-open

I tested after the merged #777 and the issue persists.
91c95931e552: Pull complete
...
...
..
Status: Downloaded newer image for hello-world:latest
starting build
2015/06/27 20:44:19 Error building 08a934bbe8b54a099e67bdccad576a6c88f16fd4, Err: Error: Failed to start build container. Internal Server Error
2015/06/27 20:44:20 subscription's close channel received message

I'm using CoreOs stable (681.2.0) with Docker client and server 1.6.2 and Drone 0.3.0-alpha.
Notice that the image pulls correctly as @JeanMertz mention before. Any thoughts ?


Plugin verifier failure

IDE Information
Commit cea789eef7522940c5d9e7322a65cda6f2097c2d
Bug Description
To reproduce:
./gradlew runPluginVerifier -Pvalidation=lite

Additional context
Internal API usages (10):
    #Internal class kotlin._Assertions reference
        Internal class kotlin._Assertions is referenced in com.sourcegraph.cody.context.EnterpriseEnhancedContextStateController.withModel(Function1) : T. This class is marked with Kotlin `internal` visibility modifier, indicating that it is not supposed to be referenced in client code outside the declaring module.
        Internal class kotlin._Assertions is referenced in com.sourcegraph.cody.context.EnterpriseEnhancedContextStateController.updateSpeculativeRepos(List) : void. This class is marked with Kotlin `internal` visibility modifier, indicating that it is not supposed to be referenced in client code outside the declaring module.
    #Internal method com.intellij.openapi.components.BaseState.doEnum(T, Class) invocation
        Internal method com.intellij.openapi.components.BaseState.doEnum(T defaultValue, java.lang.Class clazz) : com.intellij.openapi.components.StoredPropertyBase is invoked in com.sourcegraph.cody.history.state.MessageState.<init>(). This method is marked with Kotlin `internal` visibility modifier, indicating that it is not supposed to be invoked by the client code outside the declaring module.
    #Internal class kotlin.coroutines.jvm.internal.SuspendLambda reference
        Internal class kotlin.coroutines.jvm.internal.SuspendLambda is referenced in com.sourcegraph.cody.context.RemoteRepoAnnotator.annotate$1. This class is marked with Kotlin `internal` visibility modifier, indicating that it is not supposed to be referenced in client code outside the declaring module.
        Internal class kotlin.coroutines.jvm.internal.SuspendLambda is referenced in com.sourcegraph.cody.context.RemoteRepoAnnotator.annotate$1.<init>(RemoteRepoSearcher, String, AnnotationHolder, PsiElement, Continuation). This class is marked with Kotlin `internal` visibility modifier, indicating that it is not supposed to be referenced in client code outside the declaring module.
    #Internal field kotlin._Assertions.ENABLED access
        Internal field kotlin._Assertions.ENABLED : boolean is accessed in com.sourcegraph.cody.context.EnterpriseEnhancedContextStateController.updateSpeculativeRepos(List) : void. This field is marked with Kotlin `internal` visibility modifier, indicating that it is not supposed to be used in client code outside the declaring module.
        Internal field kotlin._Assertions.ENABLED : boolean is accessed in com.sourcegraph.cody.context.EnterpriseEnhancedContextStateController.withModel(Function1) : T. This field is marked with Kotlin `internal` visibility modifier, indicating that it is not supposed to be used in client code outside the declaring module.
    #Internal class kotlin.KotlinNothingValueException reference
        Internal class kotlin.KotlinNothingValueException is referenced in com.sourcegraph.cody.api.SourcegraphApiRequest.Post.GQLQuery.extractResult(SourcegraphApiResponse) : T. This class is marked with Kotlin `internal` visibility modifier, indicating that it is not supposed to be referenced in client code outside the declaring module.
    #Internal class kotlin.jvm.internal.StringCompanionObject reference
        Internal class kotlin.jvm.internal.StringCompanionObject is referenced in com.sourcegraph.cody.chat.AgentChatSession.receiveWebviewExtensionMessage(ExtensionMessage) : void. This class is marked with Kotlin `internal` visibility modifier, indicating that it is not supposed to be referenced in client code outside the declaring module.
        Internal class kotlin.jvm.internal.StringCompanionObject is referenced in com.sourcegraph.cody.initialization.PrettyTimer.toString() : String. This class is marked with Kotlin `internal` visibility modifier, indicating that it is not supposed to be referenced in client code outside the declaring module.

Possible cause: https://github.com/JetBrains/intellij-plugin-verifier/pull/1101

The problem is "fixed" by fixing the verifier version for now. Let's track the progress in the jetbrains issue tracker and see what the outcome is. Eventually, we may want to update the verifier.


vpk pack: emit signtool output immediately rather than capturing and printing it at the end

I'm asking for a better debugging experience when working with signtool in a non-interactive CI pipeline.
I'm invoking signtool with a dlib which makes network calls. As part of this, it needs login credentials. There are a handful of ways it can accept non-interactive credentials, but when I forget to specify them, the behavior of vpk pack makes it difficult to see what's going on.
The dlib is prompting me for interactive credentials, but because vpk captures stdout, this prompt is never emitted and the pack process hangs indefinitely with no visual indication of what's happening. I need an immediate way to see this.

I would love this, but unfortunately, I don't think this will be possible at the moment. vpk actually is not capable of capturing signtool output at all, it runs signtool as a new process under cmd.exe and redirects the stdout to a file - which is then read back in after the process exits. The reason for doing this, is when we migrated vpk into a dotnet tool, it broke signtool.exe's ability to open HSM password prompts if it's console is connected to vpk in any way. My best guess is it's something related to how dotnet launches tools.
https://github.com/velopack/velopack/blob/develop/src/Velopack.Packaging.Windows/CodeSign.cs#L104
We'd need to find a different way of launching signtool.exe which does not rely on piping stdout to a file, and also preserves signtool HSM functionality.


⚠ ku-s has degraded performance

In 4c9f701, ku-s ($KU_API_STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 7934 ms

Resolved: ku-s performance has improved in e4f2dd1.


fix the latest release in the site

Description
Fixed the display of the latest stable version on this page https://kyuubi.apache.org/releases.html

change：add a variable to define the latest version number

Before

After

@bowenliang123 Please review this pr .Thanks~


zenodo dataset links changed

The dataset link has been updated, causing the current download.sh script located in the /data/synth/ directory to stop working.

Thanks for reporting! Should be fixed now, if not, feel free to reopen.


Fix the name of the mod in rust-wasm bindings for ".wit.md" files.

With ".wit.md" files, we need to strip both extensions, so that we don't
end up with Rust code like mod foo.wit.

👍


Fix Ledger Bitcoin App 1.4.0 multple segwit input signing

A workaround for the multiple segwit input signing issue was added to btchip-python. So we update our copy of btchip-python to include this fix.
Also updates the speculos and bitcoind patches so that travis works.
Note that speculos doesn't have a 1.4.0+ bitcoin app.

tACK https://github.com/bitcoin-core/HWI/pull/351/commits/d0de7b13266bc1ac36bc47ae5f49b55efd4fc177 tested multiple input segwit tx on ledger nano s with non-trusted inputs, bitcoin app 1.4.2, so at least nothing is broken for old flow.


cadl, make models package-private  when convenience methods are disabled

Currently when user disable a convenient method, the corresponding models are still public, we should make the models package-private.
Ref: https://github.com/Azure/autorest.java/issues/1893#issuecomment-1435252705

what are you talking about? currently disabled convenience method will not generate its model.

You mean ff only one method disabled convenient api, the corresponding models will not be generated as well?

what are you talking about? currently disabled convenience method will not generate its model.

Yes, that's current behavior.
Hence I am not very keen to change this behavior (there is pending to move to getAllModels from cadl-dpg, also not eager to switch, but if you do this, you are likely not able to switch, or you need cadl-dpg to support this)

Got it, if we don't need to generate package-private convenient methods, we can close this issue.

BTW, model as package-private seems not even compile pass, as the client and models are in different packages...


Make TeachingTip a public type

Make the TeachingTip types public.
Create a telemetry event for when the tip does not open due to size.
Guard against down level use of ShouldConstraintToRootBounds api usage.

TeachingTipAutomationPeer.idl didn't get PREVIEW flipped either.


WIP: add v1beta1 API version

What this PR does / why we need it:
Adds the v1beta1 API version.
Special notes for your reviewer:
This is WIP as I am still implementing actual changes we've described in the google doc for the v1beta1 API.
Opening this now so I can be sure I'm keeping things green with each commit 😄
Release note:
Add `v1beta1` API version

/kind feature
/area api
/hold

/test pull-cert-manager-e2e-v1-11

/test pull-cert-manager-e2e-v1-11

/test pull-cert-manager-e2e-v1-11

/test pull-cert-manager-e2e-v1-11

/test pull-cert-manager-e2e-v1-11

/test all

/hold

@munnerz just the acme things then lgtm

/test pull-cert-manager-e2e-v1-18

/lgtm

/unhold


Fix call to VoiceManager.join in examples/06_voice

VoiceManager.join(&mut self, guild_id: Option<GuildId>, ...)
has been changed to
VoiceManager.join<G>(&mut self, guild_id: G, ...) where G: Into<GuildId>.
We should no longer wrap guild_id with Some.

Thanks


Possibility of getting a new release

Hello @uwolfer,
Just raising if it is possible to get a new release of the project?
I am releasing some internal code that utilises the recent pull requests.
No issues if there are no current plans to.
Many thanks.

Sure, I will try to create a new release in the next days.

Released 0.9.7.


Exporting OpenAPI doc reports error when @schema/default value is incorrect type

This is a follow-up from #490:
If we validate the type of a default value either while constructing the schema, itself, or en masse immediately after the schema is built (but before Data Value Preprocessing occurs),
then we could provide an audience-specific error message.
Right now:

the message to Configuration Authors when their @schema/default values are mistyped (especially given that we don’t show the annotation in the error) points to the annotated node
we settled for a hint within the PR (example) but this muddies the waters for Configuration Consumers.

Benefits:

provide a "annotation error" when a user provides a value in their annotation that is incompatible with their schema.
if a schema has an incorrect default value provide a error when exporting openapi schema

This story was regarding displaying the appropriate error message for the user (config consumer or author) and currently the error messages do display a hint for @schema/default when you are a config author which is correct.
Closing this since no more work needs to be done


Refactor css and petition detail template

In this PR

petition template extends base.html
improve base.html to overrides navbar and add extras css and others meta
avoid opening tags without their closing sista'
move CSS from this template in a dedicated file

I have others ideas for this PR

use the same CSS file for all templates
rename detail2.html into petition_detail.html
redesign the template

Concerns #44

Thanks for this PR! As soon as I have a bit of time I'll review it :)
But the general idea looks good to me!

I added some information in the related issue https://github.com/pytition/Pytition/issues/44

I think this PR is complete according to #44. There are other things to improve, but it could be another story ^^

Also, with this PR applied, I find the narvar is too close to the divs under it.
For instance on the org_dashboard page.
The "New petition" Button is touching the navbar.
Is it possible to add a

 ? Or a margin-bottom? Or maybe there is a better approach?


Feature/sm precipfrac pr2

This is a reissue of the earlier PR #256, available here:
https://github.com/GEOS-ESM/GEOSgcm_GridComp/tree/feature/SM_precipfrac_PR
This reissue addresses all recommendations listed in PR 256 and is related to issue 150

@rdkoster , @smahanam : I edited the explanatory text in the Surface GridComp resource file:
https://github.com/GEOS-ESM/GEOSgcm_GridComp/commit/90d54be48c7be65330f4a9b1609143707b2866d8
I tried to clarify what FWETC and FWETL are, and how they are set, including providing template entries for these rc parameters.   My strong preference is to have template entries for all model parameters that can be set in the rc file, so it's very clear that they can be set.  I had missed this fact in the original prose.  Maybe check with Scott R about GEOS-ESM guidance (or lack thereof).
Probably more importantly, I think we need to make sure that the limitations of the "calibrated" values are expressed clearly in the rc file.  Please correct any mistakes in my understanding.
cc: @biljanaorescanin

I made a tiny additional wording change in the SurfaceGridComp resource file comment lines.  Aside from that, I am happy with Rolf's additions.

Thanks, @rdkoster , for the fix to the comment.  I hadn't noticed that this had been missing in the original revisions.
I went ahead and merged develop into the branch (per the "Update Branch" button on this PR).
As far as I am concerned, once it has been 0-diff tested for the GCM and for GEOSldas by the developer ( @smahanam ), it's ready to be handed off to the gatekeepers ( @biljanaorescanin , @sdrabenh ) for their review, verification (re-test) and merge.  To hand it off, remove the "Contingent - DNA" label and press the "Ready for Review" button.
PS: Separate 0-diff testing in the GCM and GEOSldas is necessary because the Surface GridComp resource file has changed.  I do not anticipate that any of the computations fail in GEOSldas if they work in the GCM, but whenever an interface changes it is important to verify that both the GCM and GEOSldas can handle the change properly.

Something is wrong with the logic applied to the relevant resource parameters in the Catch GridComp:
The most recent commit aa2e174 violates the logic of the GEOS_SurfaceGridComp.rc file, which is processed by ldas_setup.
All resource parameters specified here should be prefaced by "# GEOSagcm=>" and "# GEOSldas=>".  See the file header for details.
In creating LDAS.rc, ldas_setup removes "# GEOSldas=>" and consequently inserts the values specified in GEOS_SurfaceGridComp.rc into LDAS.rc as follows:
USE_FWET_FOR_RUNOFF:.FALSE.
FWETC: 0.005
FWETL: 0.025.
If the above does not yield zero-diff, then the logic of how these resource parameters are used in the new branch of the CatchGridComp is flawed.
Per the agreed-upon documentation in GEOS_SurfaceGridComp.rc, any FWETC and FWETL settings should be ignored when USE_FWET_FOR_RUNOFF:.FALSE.
This does not seem to be the case, or the 0-diff test would have worked.
Revisions are needed.
cc: @smahanam @biljanaorescanin @rdkoster @weiyuan-jiang

I added myself as "assignee" to this pull request because I do not get email notifications for all GCM issues and pull requests, and I hadn't seen the comment by @smahanam until it was pointed out to me by @biljanaorescanin .
The issue is thorny in that we need to satisfy two things at once: (i) the integrity of the Surface GridComp rc file (which needs to work for both the GCM and GEOSldas) and (ii) the appropriate default values for 0-diff testing.
The simplest and most elegant way to achieve this is to be consistent in the default inputs for GEOSldas in the Surface GridComp file.  My most recent commit should fix the issue.
@rdkoster : Please review my changes here: 29c2513
@weiyuan-jiang

risky - now default are read from RC file while they are embedded in the code in develop

@smahanam : If you need the flexibility to change the parameter values in the resource file, then maybe the old parameter values shouldn't be hard-coded in the first place... Feel free to remove the hard-coded values from the src code if you prefer.
I absolutely insist on having  the Surface GridComp file be uniform in design and with clear and consistent documentation.  We are not going back to the mess with which we were presented back in March.
cc: @rdkoster @biljanaorescanin @weiyuan-jiang

PS: There's nothing wrong with adding an ASSERT statement into the src code, something like (pseudocode):
if USE_FWET_FOR_RUNOFF==false.
if FWETC /= 0.02 .or. FWETL /= 0.02
then stop with a clear message
end
end
The message should instruct the user that the default values that go with USE_FWET_FOR_RUNOFF==false. are FWETC=FWETL=0.02.  If the user wants to really run with USE_FWET_FOR_RUNOFF==false. but have different values for  FWETC and FWETL, they can disable this stop in their src code.
cc: @smahanam @biljanaorescanin @rdkoster @weiyuan-jiang

@gmao-rreichle I talked with Sarith and since both him and Randy confirmed these changes are OK I will proceed with testing
cc: @rdkoster,@smahanam,@weiyuan-jiang

This branch passed 0diff testing for both GEOSldas and GCM.


[idea] Use rustfmt in CI for style checks

This could prevent many style review comments in PRs.

I used to run this for my projects but found that it was unstable. I don't believe it's reasonable at this point to use rustfmt in CI, especially since it'll likely point out many errors unrelated to the current PR. I think this would be a good thing to do for 1.0, however. Same with running Clippy on all PRs.

@Susurrus Shall we reconsider enabling this check today? I mean rustfmt is pretty stable now in 2019.

I think enabling a rustfmt check in CI at this point would be very reasonable and is something I have started to add to a lot of projects including ones with significant churn at the day job.
This can be done via cargo fmt --all -- --check.

@rtzoeller Pretty sure this was fixed by https://github.com/nix-rust/nix/pull/1748

I'm not sure. Try checking out and running cargo fmt -- src/*.rs. I'm getting a big diff if I do this.

Huh, it seems like we're running into this issue: https://github.com/rust-lang/rustfmt/issues/3253


Selecting form element within drawer closes drawer on Android 4.4.2

Tested on Chrome, Dolphin, Opera, and default browser on Android 4.4.2 on Samsung Gallery S4.
Commenting out line 54 in jquery.drawer.js fixes the bug:
methods.close.call(_this);

I didn't consider using select element. I have to try to do it.


[JENKINS-33881] Added support for Jython Plugin

Added support for Jython Plugin
JENKINS-33881

Thank you for this pull request! Please check this document for how the Jenkins project handles pull requests.


Training and validation script and notebook fixes.

Closes issue 385: https://github.com/nv-morpheus/Morpheus/issues/385

/rerun tests

/ok to test

/rerun tests

rerun tests

/rerun tests

@gpucibot merge


Show unsaved files in Explorer

When you have an unsaved file ("Untitled-2"), it doesn't show up in the Explorer list on the left:

Once you save, it does:

The unsaved file should appear in the list before it's saved.

We never had that as a feature. And I think it makes sense the way it’s implemented.

I agree with Carlos, I think the explorer should only contain actual files. And VSCode does the same

Will close this one as won't fix for now and see if users think it's weird.


OSAtomic* OS X includes deprecated in 10.12

Environment info
Operating System: Mac OS X 10.12.1
Installed version of CUDA and cuDNN:
(please attach the output of ls -l /path/to/cuda/lib/libcud*):
N/A

The commit hash (git rev-parse HEAD)
41285cf7a11fa3a2c2ead6b6e9adcec4232b18ad (rc11  release from GIT)

The output of bazel version
Build label: 0.4.0-homebrew

If possible, provide a minimal reproducible example (We usually don't have time to read hundreds of lines of your code)
#import "tensorflow/cc/ops/const_op.h"
`
Showing All Messages
/Users/vade/Documents/Repositories/Synopsis/Synopsis/Synopsis/TensorFlowAnalyzer/includes/google/protobuf/stubs/atomicops_internals_macosx.h:47:9: 'OSAtomicCompareAndSwap32' is deprecated: first deprecated in macOS 10.12 - Use std::atomic_compare_exchange_strong_explicit(std::memory_order_relaxed) from  instead
`
etc etc
What other attempted solutions have you tried?
N/A
Logs or other output that would be helpful
(If logs are large, please upload as attachment or provide link).

I see this related issue for protobufs:  https://github.com/google/protobuf/issues/2182
which supposedly has been fixed.   @petewarden have we picked that up for TF on Mac?

Let me confirm this is an issue with RC 12 in the mean time. Thank you.


Add --config for custom paths to serve.json

Add --config for users to specify custom paths to their serve.json file.
Below is an example of configuring serve to use serve.json residing in the scripts directory:
serve --config scripts/serve.json

This closes zeit/serve#401.

This is amazing. Thank you!


Theme: Form submissions don't work on some pages in macOS/iOS

Server-side OS ubuntu server 16.04.2. 1.860 webmin. 19.01 1023 theme
Client Side OS. MacOS whatever the latest is called, IOS 11, Safari on both and mercury on iOS
I navigate to System tab, then select boot up and shutdown, scroll to bottom, select reboot system, select reboot system on next page.
Nothing happens. Any ideas?

Hi,
I confirm that it doesn't submit the form undef Safari 11 in macOS Sierra.

Are you saying its an "Apple" issue or a "Safari" issue? I have the same problem with the Mercury browser on iOS. I will try chrome on IOS later today.

It's Safari browser. Chrome in macOS works great.

I went ahead and tried chrome in iOS. It doesn't work.

iOS? Chrome browser doesn't work identically on mobile, non-Android devices.
I've made a patch.. Testing now. Will be appreciate if you will be able to test it.
I'll let you know in around 10-15 minutes.

Yeah I have the same problem on both macOS and iOS (iOS doesn't work with Safari, Mercury, and Chrome). I will only be able to test the patch from mobile (iOS) for now. It will be about 12 hours before I can test on macOS.
Let me know

Sounds, great.
It'll just work.
That was a global problem.
Thanks for reporting.
Please give it a try, by force-reinstalling the theme.

Looking forward for your test results.

It worked on iOS with Mercury Browser.
Will test more thoroughly this evening. Thanks!

Sure,
Please let me know if it works fine.

IMHO: iOS Apple does only allow his rendering engine (webkit?), so all browsers has to use it, e.g.
https://arstechnica.com/gadgets/2016/01/new-chrome-for-ios-is-finally-as-fast-and-stable-as-safari/

I have made a patch. It's just  working.
Thanks, Kay.

Seems like I’m having another issue now. I can’t even get to the reboot selection. Once I select system/ boot up and shutdown. Nothing happens. Tried only on iOS Safari, Chrome, Mercury

Just try to clear browser cache. It should work.

This is endlessly frustrating how Safari works. I could reproduce the issue but only every second or third time, I can't load the content page while clicking into navigation menu. Sometimes the same page gets loaded.
The server response is just empty.
I have no idea why this is happening. It shouldn't be. It requires further analysis.

At the moment any link without any particular reason can go broken, by when clicking on it - does nothing. For example, reloading a page or clicking somewhere else and then returning to the same page makes previously non-working link work. 😕
Looking at the headers in Safari here what I have found out.
 I don't see how it could be the theme issue. I will be looking though but I would like others to share some thoughts over it.

There are issues with Safari using AJAX but solution is not straight forward.
JQuery Ajax call often not working on Safari 6.
Will see what I can do about it.
The problem is that the same link both works and doesn't not work based on when you click it.
I wish it would be the theme issue that I could properly address.
I can confirm that this doesn't happen in Chrome on MacOS, only in Safari.
I'm installing update for MacOS with Safari 11.0.1 and Security Update 2017-001 10.12.6. Let's see what happens afterwards.

Out of curiosity do you have Xcode installed?

Installing latest 11.0.1 doesn't really help.
Upgrading to the latest Xcode 9.1 ..

You need to click around the navigation menu. Sometimes, out of no reason, links don't react on click (not loading content). It's also happening if clicking around the module content, not just navigation.

Currently everything works smoothly. No issues seen at all.

@fdmgit Good to know. Do you have Xcode installed? Thank you for giving it a try.

Yes, Xcode version 8.2.1 is installed

Fixed.

@Madseason41 Give it a try and tell me if it works fine for you?
@fdmgit I'd be also interested to know if it still works on prior versions after update?

No change for me. doesn't work on iOS (chrome, safari, or mercury browsers).

Mobile doesn't work?
Could anyone else please try it?
How about desktop then?

That's odd. I've just tried my iPhone X Xcode emulator. Everything works just fine in Safari iOS.
Could you make sure that you have pulled latest changes and cleared the cache?

@qooob
Desktop:
I've pulled latest changes and cleared the cache.
No issues seen so far.

@qooob
iOS:
Just tested it on Chrome for iOS. It works, no issues found.
I'm using iOS V10.3.3

@fdmgit Thanks.

I am on iOS 11.1. Chrome 62.3202.70.
Login to webmin works and load fine. On the left bar I click system, boot up and shutdown and the progress bar goes from far left to far right but the next page never loads. I cleared cache and tried on both an iPad and iPhone and neither work. It works fine on chrome with macos.

I suppose iPhone X runs 11 version of iOS in Xcode. Then I will have to find someone with actual device.
Are you sure that you have updated to the latest version. Could you force update one more time?

So I was updating from my iOS device and Mac from safari. That part “seemed” to work. I took a step back and forced an update from my Mac on chrome and now all seems to work.
Thanks for the help.


Intended behaviour of set_callback/set_hostname

🌊
set_callback allows calling set_hostname via passed ConnectConfiguration.
However  into_ssl is called with the original, unmodified hostname, is this intended?

I suppose that's intended? I don't know what other option there is given the API structure.

The servername method does not retrieve the value set by set_hostname.

Addressed by implementing custom resolver


Error Log 9-3-15

-----Application Exception Logged At: 9/3/2015 12:06:14 AM-----
Application Error Message:
An unhandled exception occurred: Object reference not set to an instance of an object.
Error Stack Trace:
at iNGen.ViewModels.HomeViewModel.ArkRcon_ServerConnectionFailed(Object sender, ServerConnectionEventArgs e)
at System.EventHandler1.Invoke(Object sender, TEventArgs e)    at Ark.Rcon.OnServerConnectionFailed(Object sender, ServerConnectionEventArgs args)    at Ark.Client.<Connect>d__44.MoveNext() --- End of stack trace from previous location where exception was thrown ---    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)    at System.Runtime.CompilerServices.TaskAwaiter1.GetResult()
at Ark.Rcon.d__63.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
at iNGen.ViewModels.HomeViewModel.d__39.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.b__4(Object state)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.DispatcherOperation.InvokeImpl()
at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Windows.Threading.DispatcherOperation.Invoke()
at System.Windows.Threading.Dispatcher.ProcessQueue()
at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
at System.Windows.Threading.Dispatcher.Run()
at System.Windows.Application.RunDispatcher(Object ignore)
at System.Windows.Application.RunInternal(Window window)
at System.Windows.Application.Run(Window window)
at System.Windows.Application.Run()
at iNGen.App.Main()
-----END OF ERROR-----
-----Application Exception Logged At: 9/3/2015 12:18:33 AM-----
Application Error Message:
An unhandled exception occurred: Object reference not set to an instance of an object.
Error Stack Trace:
at iNGen.ViewModels.ChatViewModel.d__55.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.b__5(Object state)
at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(Object state)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
-----END OF ERROR-----

This seemed to be occuring when the ark rcon server was restarting, or the rcon server crashed.
Hopefully latest patch should fix


Proposal: Preserve ViewModel state on live-reloads

One problem folks have today is that when live-reload occurs it removes all state that's not in the URL. We could possibly improve upon this by saving ViewModels (serializing them perhaps) and restoring them later.  Will take more thought to figure out but I wanted to get this proposal out there.

maybe we should simply make a guide for serialize and hydrate viewModel to localstorage?

@frank-dspeed do you mean how to do it manually? That's not a terrible idea.

Two thoughts on this:

Riffing off what Frank said, maybe this can be provided as another module that makes this really easy? Does it make more sense to opt in/out of this at the app level or component level?

This feels conceptually related to how requests made during SSR are cached and made available to the client-side app. Is there something to be shared there?

My comments on time-travel debugging are highly related: https://github.com/canjs/canjs/issues/4529

@chasenlehara it's related, but SSR data caching is far more simple as requests are more or less stateless. It's so simple that it's very unlikely the same approach can be used.
The hard part is how to deal with side effects. Say I wrote a component like:
ViewModel: {
  todos: "any",
  connectedCallback(){
    Todo.getList({}).then( (todos) => {
      this.todos = todos;
    })
  }
}

Do we serialize todos?  How do we make sure they get converted to the Todo type? Do we run connectedCallback() again?
I think we should identify what sorts of state we really want to "keep" and which we do not.  For example, a tab-like component:
tag: "my-tabs",
view: `
  {{# eq(state, "toys") }}
    CONTENT
  {{/ eq }}
  {{# eq(state, "tots") }}
    CONTENT
  {{/ eq }}
`,
ViewModel: {
  state: "string"
}

What it seems we would really need is just a way to save the last value to localStorage and use it as the default value:
tag: "my-tabs",
view: `
  {{# eq(state, "toys") }}
    CONTENT
  {{/ eq }}
  {{# eq(state, "tots") }}
    CONTENT
  {{/ eq }}
`,
ViewModel: {
  state: {
    type: "string",
    setLastValueAsDefaultInLocalStorage: true
  }
}

The problem here is what to do if there are multiple my-tabs

Just a sidebar, as it relates to live-reload localStorage is not needed as the browser doesn't actually refresh. We can just save the state in a Map of some kind in memory.

@justinbmeyer in my new proposal that is linked to this issue i will prepare a little util helper function that will simply allow to store values on change and listen for values also it will publish values on load you will to add that explicit for the values that need perserve of state
ViewModel: {
  todos: "any",
  connectedCallback(){
    Todo.getList({}).then( (todos) => {
      this.todos = todos;
    })
  }
}
ViewModel.todos.setValue(storeLocal('todos'))
VIewModel.todos.onChange(storeLocal('todos'))

something like that i am not finished with the final api but i think you get the concept

the guide for this should maybe show simply getter setter logic and value logic for preservingState some where


Implement preset

For https://github.com/avajs/ava/issues/1195.

This removes the deprecated APIs: https://github.com/avajs/ava/blob/a380fe4f5ffa1d334a2a3786215d3c1ff10a9898/lib/enhance-assert.js#L17:L21

Changes Unknown when pulling efb08df91bd5efa163b3e3198c6c75d0d661d2fb on makeitso into ** on master**.

Changes Unknown when pulling efb08df91bd5efa163b3e3198c6c75d0d661d2fb on makeitso into ** on master**.

Forgot that we needed a way to disable power-assert…


Querying Lite-CI API will stuck git node land

We should probably remove checks for Lite-CI since we don't use it anymore.

@mmarchini happy to take it unless you're already on it!


A little cleanup of the mask system

About the PR
Done a little cleanup of the mask system.
Why / Balance
Fixes #30701.
Technical details
Media

https://github.com/user-attachments/assets/b0032a81-7177-46f8-8ff0-1b46e3ecc8ec
Requirements

[x] I have read and I am following the Pull Request Guidelines. I understand that not doing so may get my pr closed at maintainer’s discretion
[x] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Breaking changes

Changelog

:cl:

add: Some masks can now be seen when pulled down.

based

Hell yeah, I want the tired underpaid surgeon vibe of a dangling medical mask for newmed. If only I could smoke at the same time.

#33451


can't collect real metric of memory

Env:
system: coreos
application: kubernetes v1.3.4
when i use heapster collect some metric from my kuberneters cluster, i found some container memory value is 0. So I send request to kubelet api, then response like it, as follows

the "/init.scope/system.slice/docker-...." and "/system.slice/docker-" metric is very similar, then the code will reflect the container info, the metricSetKey is same value
the data result is a map type, if key will use metricSetKey and had same value, the data send to sink will mixed

this is a known issue with CoreOS when using the systemd-cgroups driver with docker.  It is recommended to use the cgroupfs driver instead.


Unreliable times in result if agent updates time

If the time in the agent gets updated, it could lead to unreliable times in the results.
Scenario:
9:19: Malware starts at 4:48 (agent time).
The API calls and enhanced data will have a time of 4:48
9:19: Windows updates time to 9:19
9:21: Malware creates a new process
The API calls and enhanced data will have a new time of 9:21
Real example:
"info": {
"category": "file",
"started": "2015-06-15 09:19:31",
"ended": "2015-06-15 09:20:58",
"duration": 87,

As you can see the Cuckoo's time was 9:19 when the malware started and the analysis was 87 seconds long.
{
"category": "process",
"timestamp": "2015-06-15 04:58:50,980",
"thread_id": "2648",
"api": "ExitProcess",
"id": 254
}

{
"parent_id": 2644,
"process_name": "50ea956ee0cd6.exe",
"process_id": 2880,
"first_seen": "2015-06-15 09:19:28,732",
"calls": [
{
"category": "threading",
"timestamp": "2015-06-15 09:19:28,748",
"thread_id": "3060",
"api": "ExitThread",
"id": 0
},

The first call is from the parent process at 4:48. The second is from a new process that started at 9:19.
I can provide the full json if needed.

This is actually something we are aware of, but it is a bit tricky to fix. Normally, the VM clock should be adjusted before the processes are started.
What virtualization software do you use?

We are using Vmware workstation 11. We are also using INetSim (which has NTP).

It also occurs on 2.0-rc1.
The timestamp in .json report seems incorrect.
However, the timestamp in .html report is correct.

Disable NTP on the guest -- what point is there in using it?


Issues accessing the Swift object store

Hi,
we would like to use Velero on Kubernetes clusters built on our OpenStack cloud platfort, where the object storage is based Ceph radosgw.
We have done the following:

install velero cli
install velero server:

$ velero install --provider "community.openstack.org/openstack" --plugins lirt/velero-plugin-for-openstack:v0.2.1 --bucket velero --no-secret

create public container "velero" on the project hosting the k8s cluster.
create "velero" user with Member role on the project.
create secret "openstack-cloud-credentials" with velero user credentials:

kubectl -n velero create secret generic openstack-cloud-credentials
--from-literal OS_REGION_NAME=$OS_REGION_NAME
--from-literal OS_USER_DOMAIN_NAME=$OS_USER_DOMAIN_NAME
--from-literal OS_PASSWORD=$OS_PASSWORD
--from-literal OS_AUTH_URL=$OS_AUTH_URL
--from-literal OS_USERNAME=$OS_USERNAME
--from-literal OS_INTERFACE=$OS_INTERFACE
--from-literal OS_PROJECT_NAME=$OS_PROJECT_NAME
--from-literal OS_PROJECT_ID=$OS_PROJECT_ID
--from-literal OS_DOMAIN_NAME=$OS_DOMAIN_NAME
-o yaml

We have checked that with this set of credentials we manage to authenticate to the project using both openstack and swift client.

modify deployment velero to inject the openstack credentials into velero container:

kubectl edit deployment velero -n velero

...
    env:
        - name: OS_AUTH_URL
          valueFrom:
            secretKeyRef:
              key: OS_AUTH_URL
              name: openstack-cloud-credentials
       ...

The setup looks OK, however velero backups fail:
$ velero backup create wordpress-backup --include-namespaces wordpress
Backup request "wordpress-backup" submitted successfully.
Run `velero backup describe wordpress-backup` or `velero backup logs wordpress-backup` for more details.

$ velero get backup
NAME               STATUS   ERRORS   WARNINGS   CREATED                         EXPIRES   STORAGE LOCATION   SELECTOR
wordpress-backup   Failed   0        0          2021-07-28 14:48:26 +0000 UTC   29d       default            <none>

$ velero describe backup wordpress-backup
Name:         wordpress-backup
Namespace:    velero
Labels:       velero.io/storage-location=default
Annotations:  velero.io/source-cluster-k8s-gitversion=v1.16.15
              velero.io/source-cluster-k8s-major-version=1
              velero.io/source-cluster-k8s-minor-version=16
Phase:  Failed (run `velero backup logs wordpress-backup` for more information)
Errors:    0
Warnings:  0
Namespaces:
  Included:  wordpress
  Excluded:  <none>
Resources:
  Included:        *
  Excluded:        <none>
  Cluster-scoped:  auto
Label selector:  <none>
Storage Location:  default
Velero-Native Snapshot PVs:  auto
TTL:  720h0m0s
Hooks:  <none>
Backup Format Version:  1.1.0
Started:    2021-07-28 14:48:26 +0000 UTC
Completed:  2021-07-28 14:48:30 +0000 UTC
Expiration:  2021-08-27 14:48:26 +0000 UTC
Total items to be backed up:  19
Items backed up:              19
Velero-Native Snapshots:  2 of 2 snapshots completed successfully (specify --details for more information)

In particular, velero manages to make snapshots of the persistent volumes, but cannot write into the object store.
Among the velero logs we found these messages:
time="2021-07-28T14:48:30Z" level=error msg="Error uploading log file" backup=wordpress-backup bucket=velero error="rpc error: code = Unknown desc = failed to create new object in bucket velero with key backups/wordpress-backup/wordpress-backup-logs.gz: Resource not found" logSource="pkg/persistence/object_store.go:231" prefix=

time="2021-07-28T14:48:30Z" level=error msg="backup failed" controller=backup error="rpc error: code = Unknown desc = failed to create new object in bucket velero with key backups/wordpress-backup/velero-backup.json: Resource not found" key=velero/wordpress-backup logSource="pkg/controller/backup_controller.go:281"

It looks like velero can read the container: we uploaded a test object on the container and found that velero complains about it:
time="2021-07-28T12:35:06Z" level=error msg="Current backup storage locations available/unavailable/unknown: 0/1/0, Backup storage location \"default\" is unavailable: Backup store contains invalid top-level directories: [test.png])" controller=backup-storage-location logSource="pkg/controller/backup_storage_location_controller.go:164"

Can you help us understanding why velero cannot use the object store to complete the backups?
Thank you in advance,
Alberto

Hello @albebeto First of all I'm sorry I missed that you created issue in July.
Let me try to help you, so let's go step by step:
First use the same openstack credentials that you defined in kubernetes secret to make sure you can execute command below and check that there is a bucket with name velero:
$ swift list
velero
$ swift list velero
...

Second in velero log you should see message Authentication successful. This will tell us that authentication is OK also from plugin side.
Noe: you can simplify the deployment yaml to have this to load all env. vars from secret like this:
        envFrom:
        - secretRef:
            name: openstack-cloud-credentials

One reason can be that the Member role is not enough for velero to create and upload objects into a specific bucket. Can you try to create some object in the bucket from swift CLI? Something like this to ensure you have correct rights:
$ echo "hello" > velero-test
$ swift upload velero velero-test
$ rm velero-test
$ swift download velero velero-test
$ cat velero-test
hello

If nothing helps, can you please recreate the backup, wait until it fails again and then print either whole log as a file or just grep error from the log?
$ kubectl logs velero-<POD_ID> | grep -i -e "error" -e "fail"

Closed because of no response from issue reporter.


exit 5 instead of raising error if no etcd endpoint responds

WHAT is this pull request doing?
Exit 5 (5th letter, E, for etcd) instead of raising error when no etcd endpoint responds.
fixes #872
HOW can this pull request be tested?
Try starting LavinMQ with clustering enabled and no etcd running.

I did this for exit 3: https://github.com/cloudamqp/lavinmq/pull/887/commits/5fd0ea00678ace02539faeb4c2109293496e4c3c So it won't exit specs.. it's not pretty though :/

I did this for exit 3: 5fd0ea0 So it won't exit specs.. it's not pretty though :/

Did the same here for now 👍
IMO let's go with that solution until we figure out something better!


Added asajeffrey to reviewers.

As discussed with @metajack.

You don't need to be in the try group if you're in the reviewers group.

Fixed.

@bors-servo r+

:pushpin: Commit ae78100 has been approved by larsbergstrom

:hourglass: Testing commit ae78100 with merge de61823...

:tada:

:sunny: Test successful - travis

Thanks! Er, I guess I have to do some reviewing now...


DeltaLake executed Rust: write method not found in DeltaOps

Environment
Delta-rs version:
0.17.0 core + aws in AWS environment.
Bug
What happened:
84 |       let _createTable = DeltaOps::try_from_uri(&table_uri)
   |  ________________________-
85 | |             .await.unwrap()
86 | |             .write(batches);
   | |             -^^^^^ method not found in `DeltaOps`
   | |_____________|

What you expected to happen:
Just as in the test would write the files to the table.
Sorry for this question since the URL to the slack is offline. Is this my fault do I need to create a context, a scope to the context or something else?

Ok first time using rust (Learned of the feature flag 😃)


bundle error - unexpected identifier

I'm trying to use this library with create-react-app which leverages webpack.
When I try to import FirebasePaginator from "firebase-paginator" I get a bundle error. When I click on the console error, it points to the index file. Its possibly related how the module is organized.
I'd like to take the firebase-paginator.js and turn it into a FirebasePaginator class (it's currently a function) and update the codebase to es6. I won't change any current functionality.  Would you be open for me to make this pull request after I make the changes?
I've actually started to do this in this work-n-progress grid demo. I took firebase-paginator.js and am using it in redux to store the state. I just need to finish updating the state after a bulk delete to complete the demo. I also have a few minor paging bugs but its mostly working thanks to your awesome library!
When I googled around, I found no other libraries that matched this in terms of ease of use. I really like your API approach hiding all the complexity behind simple: next, previous, gotoPage. It was exactly what I was looking for - I learned a lot - and I'd like to give back if possible.

W00T!!!
Yes please!
How about I just make you a contributor?
The code itself has been stable for months, but you're right that I haven't done a good job of making this work with imports. That's on me 👎

Regarding turning it into a class... I'm not sure if it's necessary to get it to export.
But go ahead and convert it to a class if it's easier. It shouldn't affect the functionality. That's just a code style preference on my part, and I'm not obsessive about it.
BTW, your demo looks great 👍

yes I'm fine with a function or class too - when I see a lot of nested functions and want to use new, then I usually try to refactor into a class but sometimes leaving them as functions makes perfect sense too - all depends ;-D
So this what I have in mind for the class....
FirebasePaginator
...then moving the two different approaches into strategies stealing this concept from from how PasspostJS manages all its login strats
Finite Paging Strategy
Infinite Paging Strategy
I see you also have a demo so it would be nice to test this approach with your demo too. How about I fork the project and make an es6 folder to commit this work? Then I'll try to test against your demo.

That looks great. It'd be awesome if it could export an ES5 compatible file to be used with script tags... but if not, I'll just use the older version off of NPM.

I find solution with import


create a template repository for other regional conferences

It'd be good to have a template repository similar to https://github.com/seandavi/BuildABiocWorkshop for other conferences to use.

Good point. A basic template exists, but @sdgamboa made so many improvements it is now obsolete. Samuel, can you help to create a new barebone template?

Happy to help! Changes would go to the same repo as above?

It'll be best to create https://github.com/Bioconductor/conference_template. I believe, @lshep can create it and add you as admin. Lori, can you help?
Another enhancement is the registration form built into the website. Mike Smith @grimbough did it for the EuroBioC2022 conference in these pull requests. It is currently paused but it worked well. If we can add it to the template, that'll be great.

I've created a repo here: https://github.com/Bioconductor/BioC_template
I will add you shortly.
cc: @lshep


Refactor details table to use hooks

Refactor details table to use hooks
Remove limit from hcsSummary

Codecov Report

Merging #163 (551fe5e) into main (6cfe4eb) will increase coverage by 0.04%.
The diff coverage is 0.00%.

Additional details and impacted files

@@           Coverage Diff            @@
##            main    #163      +/-   ##
========================================
+ Coverage   5.95%   6.00%   +0.04%
========================================
  Files         43      43
  Lines       1662    1650      -12
  Branches     279     272       -7
========================================
  Hits          99      99
+ Misses      1563    1551      -12

Impacted Files
Coverage Δ

src/routes/details/DetailsHeader.tsx
0.00% <ø> (ø)

src/routes/details/DetailsTable.tsx
0.00% <0.00%> (ø)

src/routes/overview/OverviewHeader.tsx
0.00% <ø> (ø)

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 6cfe4eb...551fe5e. Read the comment docs.


Added reverseAnimationCurve property to BackdropScaffold

Closes #72

This has landed with v0.5.0 on pub.dev.


Better handling of expression_statement, expression_list, and ()

This patch corrects some parse errors by better handling the way we model expression statements, expression lists, and also accounts for the empty expression ().
/cc @maxbrunsfeld

Ready for review :bow:

@maxbrunsfeld thanks for the review! I've made some significant changes since your review based on your comments, and would love your thoughts. The most significant change is no longer including a named expression_statement node in the tree. This is because we don't include named nodes for compound_statement, simple_statement or expression. I could be overlooking something, but when updating our tests I didn't see any cases in which having expression_statement in the tree was either necessary or added value.
This update also now allows us to correctly parse nested yield statements, and insures that other expression statements can contain nested expression statements when the Python grammar allows for it.
Also as a handy tip, I've been using python -m py_compile file.py to verify syntax correctness. The repl is still useful, but for functions and context sensitive syntax like yield statements, the py_compile utility is useful. :bow:

@maxbrunsfeld thanks for the 🍐 . I've made the updates we talked about, and have retained expression_statement in the tree. I added in some better handling for list, dictionary, and set based on parse errors I was seeing e.g. [*()] and {*{}}.
Do you mind giving this another look? :bow:

@maxbrunsfeld thanks for the 🍐  :bow: I believe this is ready for final review.
The highlights of this update to the Python grammar:

Rename dictionary_splat_{argument | parameter} -> dictionary_splat
Rename list_splat_{argument | parameter} -> list_splat
Parse dictionary_splat as a literal
Parse list_splat as a literal
Model yield expressions with respect to expression_list or comma separated expression
Parse () as a tuple (previous behavior on master, but added test case)
Improved print_statement vs print() parse accuracy
Parse dictionary splats, list splats within the context of lists, dictionaries and sets correctly


fix: retry PartitionedDml if the gRPC connection is terminated

part of #4714

This change is

google/cloud/spanner/internal/connection_impl.cc, line 849 at r1 (raw file):

   // TODO(salty) this is an ugly hack; we need to make sure the original
    // policy does not treat a "retryable" internal error as permanent.

This whole PR, while it does resolve the issue, is kind of ugly, and this is the ugliest part of it. However, I don't know that we can do any better without restructuring the base classes. I sent this PR as a draft as a point for discussion - ideas are welcome... maybe better to chat/meet about it later.

google/cloud/spanner/internal/connection_impl.cc, line 849 at r1 (raw file):
Previously, devbww (Bradley White) wrote…
I haven't done anything on that front yet.

So, WDYT about just baking this into SafeGrpcRetry?  As I noted in chat, this  should apply to all streaming calls, not just PDML. For non-streaming calls, maybe these errors never happen, but if they do it seems like we'd still want to retry.

dropping this in favor of #5087


Program Terminated

$ ./asciicast2gif ~/yes.json --server=ruby

[INFO] Starting Ruby httpd on port 8000
[INFO] Temporary directory is /tmp/asciicast2gif.23JnFs8J
sed: -e expression #1, char 17: unknown option to `s'
/usr/bin/env: ‘node\r’: No such file or directory
[ERRO] Removing /tmp/asciicast2gif.23JnFs8J
[ERRO] Terminating simple HTTP server

Please explain this?

Hi,
it looks like your issue is triggered by the fact that the local web
server is not running.
Are you on OS X (or whatever is called now)? It looks like this issue:
https://github.com/nwjs/nw-builder/issues/75 --- but I am not sure
exactly why you hit it. (I do not know ruby.)
If the above does not solve, make sure you can call:
$ ruby -run -e httpd . -p 8000
on your shell.
AP
On 02/21/2017 09:14 AM, Mubaris Hassan wrote:

|$ ./asciicast2gif ~/yes.json --server=ruby [INFO] Starting Ruby httpd on
port 8000 [INFO] Temporary directory is /tmp/asciicast2gif.23JnFs8J sed:
-e expression #1, char 17: unknown option to `s' /usr/bin/env: ‘node\r’:
No such file or directory [ERRO] Removing /tmp/asciicast2gif.23JnFs8J
[ERRO] Terminating simple HTTP server |
Please explain this?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/pettarin/asciicast2gif/issues/1, or mute the thread
https://github.com/notifications/unsubscribe-auth/AD5Zk8EUmnvVBcHzekcufm04FdE3fhE8ks5repzPgaJpZM4MG_6s.

Closing for lack of activity.


[digitalocean-dyndns/ddclient] deprecate charts

Description of the change

deprecate both digitalocean-dyndns and ddclient charts
Benefits
It's a much more elegant solution to use a k8s CronJob to do this, rather then support charts for any providers dyndns chart.
I have laid out a guide here on how to use a configmap, secret and cronjob to accomplish this task, we should point people to it when asked or issues are raised relating on how to handle dyndns in your cluster
https://docs.k8s-at-home.com/guides/dyndns/
Additional information

Checklist

[x] Chart version bumped in Chart.yaml according to semver.
[x] Title of the PR starts with chart name (e.g. [home-assistant])
[x] (optional) Chart is using our common library as a dependency.
[x] (optional) Variables are documented in the README.md

We could perhaps support a chart that wires this up automagically, but it might be hard because of all the different DNS APIs


FancyZones: Alt-Tab through windows in the same zone

Hello,
could FancyZones have such possibility to alt-tab over windows snapped to the same zone?
Let's say I have 3 zones on my monitor and for example each zone has three different applications snapped into it. Could for example shortcut alt+tab+1 switch just between apps snapped into zone 1 and alt+tab+2 into zone 2 etc? With many monitor setup and lots of apps open at once it's hard to do normal 'alt+tab' - but I always keep the same apps snapped to the same zones so just cycling through apps of the same zone would get me quicker to what I need.
Or maybe there's another way of doing it?
Thanks in advance

I really need this

related to https://github.com/microsoft/PowerToys/issues/4502

Tracked in https://github.com/microsoft/PowerToys/issues/6611


Add simple noscript message warning to enable JS

This is a quick stab at a <noscript> message. I wasn't sure where you'd want the the tag to live, _nav seemed like a reasonable spot, but let me know if you'd prefer something else.
Also I didn't know if you'd object to me essentially hijacking the flash message styling for this warning. It seems to fit well, but I'd understand if you wanted to do that styling differently.
How it should look:

A link to easily disable javascript in chrome dev tools in case it's not top of mind: https://stackoverflow.com/questions/13405383/how-to-disable-javascript-in-chrome-developer-tools

Thanks!


Creating web interface for our Solid app

Creating the web interface that allows for the following things

[x] Authentication (logging into the pod)
[x] Get protected data from the pod
[x] Post protected data to the pod

Once #10 is merged, this is done!


Change locale of app manually

Hi, my phone's language is hebrew, and the app automatically localizes to hebrew. I prefer English in this case, since some of the translations are lackluster, and I generally prefer to use English when programming. An option to manually change the language of the app would be great!

If you want this to be fixed, you should report it to the original app https://github.com/jonan/ForkHub. This app is just a copy.
This issue is probably the same as https://github.com/jonan/ForkHub/issues/82


Update Fastlane to adhere to new Play Store API requirement

Play Store has a new API restriction that crashes old fastlane tools.
Fixes #16948

Re-uploaded v0.3.5 manually. Seems to work ok. Submitting.


when i click on chosse image i got this error

Is this a bug report?
(write your answer here)

Did you try recovering your dependencies?

(Write your answer here.)
Which terms did you search for in User Guide?

(Write your answer here if relevant.)
Environment

(paste the output of the command here)
Steps to Reproduce

(Write your steps here:)

Expected Behavior

(Write what you thought would happen.)
Actual Behavior

(Write what happened. Please add screenshots!)
Reproducible Demo

(Paste the link to an example project and exact instructions to reproduce the issue.)

can anyone tell me how i acn sove this issue....................
[Error: Cannot find module "."
webpackMissingModule
D:/ofc/firstapp/src/imageupload.js:38
35 |    let Images = this.state.selectedFiles.map(image => {
36 |
37 |

38 |          <img src={require(image.src)}
39 |          />
40 |
41 |    });](
)

Do you have a codepen with the code? Looks like an error caused by your code, not CRA.


Enable for offline use?

Is there a reason not to enable this for offline use?

Hi @ryanpcmcquen, this extension already works offline. You have to allow it through the extensions page.

Just check "Allow access to file URLs"

I figured it did. We may as well update the manifest to reflect that.


Serve Files with Netlify

This also solves issue #8

After redirecting all testnet api calls (/api/* -> <IP_ADDRESS>:4096/api/*) we get the CORS Blocked message which likely is present because <IP_ADDRESS> isn't using a SSL certificate

DONE

It was necessary that the api requests where served over https (otherwise there was a CORS error, all the way https)
Also added a _headers netlify file Access-Control-Allow-Origin: *

https://github.com/GNYIO/gny-wallet/blob/61c16fe1600dc83bb03f7b73848692c46679601c/public/_headers#L1-L2


Support multiple old-style options.

Re: https://github.com/palantir/tslint/pull/2041#issuecomment-275024439
I was not aware that the old-style options for member-ordering supported more than one option at once. Had to update the code to reflect that.
Why don't we always use ./bin/tslint to lint tslint instead of the one in node_modules?

Why don't we always use ./bin/tslint to lint tslint instead of the one in node_modules?

This can produce complex issues -- if there's a bug in TSLint, it may not lint properly.

That was the idea -- it would fail immediately, rather than after the next publish to NPM.


Getting 404 error from time to time

While navigating through the site, from time to time, I'm getting the error:

https://codecombat.com/javascripts/app/views/core/CreateAccountModal.js 404 (Not Found) @ preloadjs-NEXT.combined.js:3801

This happened because the new CreateAccountModal is a folder with an index file, and our ModuleLoader didn't take that sort of module loading into account. Now it does. Thanks for the report!


Tooltip closes prematurely in Firefox

CodePen demo
https://codepen.io/anon/pen/veXEZq
Steps to reproduce the problem

Use tooltip.js to add a popup element to the reference element
Hover over the reference element
Move mouse over the popup element

What is the expected behavior?
The popup element should remain open and visible as long as the mouse is over the popup element.
What went wrong?
The popup element closes and disappears as soon as the mouse moves over the popup element.
Any other comments?
I saw this issue Firefox, but I am unable to reproduce this issue in Chrome nor Safari. This makes it impossible to click links inside a Tooltip in Firefox. Please help.

+1


[Bug] wxScrolledWindow import failure from XRC [sf#137]

Reported by karlm on 2009-01-23 05:38 UTC
Hi
When a wxPanel with child widgets is turned into a wxScrolledWindow (using the 'Scrollable' option in the Widget tab), it can be exported to XRC. But that XRC cannot be imported back in to wxGlade.
I am using wxGlade version 0.6.3 on Python 2.5.1 and wxPython <IP_ADDRESS>. SuSe 10.3 if it matters.
The reported error is:
An exception occurred while loading file "None".
This is the error message associated with it:
CustomWidget instance has no attribute 'set_sizer'
For more details, look at the full traceback on the console.
If you think this is a wxGlade bug, please report it.
Traceback below.
wxg project file attached.
To generate the error, Load the wxg file, export to XRC, then import the XRC file just generated.
Cheers
Karl
Traceback (most recent call last):
File "/usr/local/src/wxGlade-0.6.3/main.py", line 665, in _open_app
p.parse(infile)
File "/usr/local/src/wxGlade-0.6.3/xml_parse.py", line 280, in parse
try: XmlWidgetBuilder.parse(self, *args)
File "/usr/local/src/wxGlade-0.6.3/xml_parse.py", line 70, in parse
self.parser.parse(source)
File "/usr/lib64/python2.5/xml/sax/expatreader.py", line 107, in parse
xmlreader.IncrementalParser.parse(self, source)
File "/usr/lib64/python2.5/xml/sax/xmlreader.py", line 123, in parse
self.feed(buffer)
File "/usr/lib64/python2.5/xml/sax/expatreader.py", line 207, in feed
self._parser.Parse(data, isFinal)
File "/usr/lib64/python2.5/xml/sax/expatreader.py", line 301, in start_element
self._cont_handler.startElement(name, AttributesImpl(attrs))
File "/usr/local/src/wxGlade-0.6.3/xml_parse.py", line 174, in startElement
XmlWidgetObject(attrs, self)
File "/usr/local/src/wxGlade-0.6.3/xml_parse.py", line 419, in init
sizeritem, pos)
File "/usr/local/src/wxGlade-0.6.3/edit_sizers/edit_sizers.py", line 2145, in xml_builder
parent.set_sizer(sz)
AttributeError: CustomWidget instance has no attribute 'set_sizer'

Commented by karlm on 2009-01-23 05:38 UTC
WXG file with  wxScrolledWindow and child widget
Attached file test_scrolled_window.wxg:
<?xml version="1.0"?>
<!-- generated by wxGlade 0.6.3 on Fri Jan 23 16:37:03 2009 -->

<application path="/home/karlm/src/DArT/ds-7.5/temp/test_scrolled_window.xrc" name="" class="" option="0" language="XRC" top_window="frame_1" encoding="UTF-8" use_gettext="0" overwrite="0" use_new_namespace="0" for_version="2.8" is_template="0">
    <object class="MyFrame" name="frame_1" base="EditFrame">
        <style>wxDEFAULT_FRAME_STYLE</style>
        <title>frame_1</title>
        <object class="wxBoxSizer" name="object_1" base="EditBoxSizer">
            <orient>wxVERTICAL</orient>
            <object class="sizeritem">
                <flag>wxEXPAND</flag>
                <border>0</border>
                <option>1</option>
                <object class="wxScrolledWindow" name="panel_1" base="EditScrolledWindow">
                    <scroll_rate>10, 10</scroll_rate>
                    <scrollable>1</scrollable>
                    <object class="wxBoxSizer" name="object_2" base="EditBoxSizer">
                        <orient>wxHORIZONTAL</orient>
                        <object class="sizeritem">
                            <flag>wxEXPAND</flag>
                            <border>0</border>
                            <option>1</option>
                            <object class="wxStaticText" name="label_1" base="EditStaticText">
                                <style>wxALIGN_CENTRE</style>
                                <attribute>1</attribute>
                                <label>Test wxScrolledWindow</label>
                                <size>140, 15</size>
                            </object>
                        </object>
                    </object>
                </object>
            </object>
        </object>
    </object>
</application>

Commented by agriggio on 2009-01-25 09:12 UTC
Thanks, it should work now (fixed in hg revision 6badf24df629)


[density] plot added

Added a function to plot the density of the GP in 1D, like in Philip Hennigs plots.

Current coverage is 50.10%

Merging #259 into devel will decrease coverage by -0.22% as of d824338

@@            devel    #259   diff @@
=====================================
  Files         184     184
  Stmts       19708   19804    +96
  Branches        0       0
  Methods         0       0
=====================================
+ Hit          9919    9923     +4
  Partial         0       0
- Missed       9789    9881    +92

Review entire Coverage Diff as of d824338

Powered by Codecov. Updated on successful CI builds.


Reproducible builds

I'm building my web app + React, taken from npm (following advice from webpack docs). Everything works fine, except that builds are not reproducible.
Every time I run webpack for the same source, I get slightly different bundle.js, with changes like this:
-   var DOMProperty = __webpack_require__(33);
+   var DOMProperty = __webpack_require__(30);

-   var escapeTextForBrowser = __webpack_require__(34);
-   var memoizeStringOnly = __webpack_require__(35);
-   var warning = __webpack_require__(32);
+   var escapeTextForBrowser = __webpack_require__(31);
+   var memoizeStringOnly = __webpack_require__(32);
+   var warning = __webpack_require__(33);
…

Is there a way to make webpack build reproducible?

You could store the recordsPath which saves the module path with their IDs:
http://webpack.github.io/docs/configuration.html#recordspath-recordsinputpath-recordsoutputpath
However, until #295 is fixed, this will only work on the same machine recordsPath was created on.

recordsPath or OccurenceOrderPlugin. See #408

I use OccurenceOrderPlugin for that.

@shamrin Out of curiosity, why do you need builds to be reproducible? (I don't doubt you have a good reason. I want to inform myself).

If you use hashes in filenames for long-term browser caching, you want them to stay the same for unchanged files.

@gaearon Makes sense. Thanks!

For anyone seeing this in 2019: The OccurenceOrderPlugin is now included by default, so builds should by default be reproducible:

The plugin is no longer needed and occurrence order is on by default.

https://gist.github.com/sokra/27b24881210b56bbaff7#occurrence-order