Cannot link to built tensorflow.lib with Visual C++ -- undefined symbols;

Please make sure that this is a build/installation issue. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:build_template
System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04):
-> Windows 10
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device:
-> NA
TensorFlow installed from (source or binary):
-> Source
TensorFlow version:
-> r2.4.1 (also tried with master)
Python version:
-> 3.6
Installed using virtualenv? pip? conda?:
-> No
Bazel version (if compiling from source):
-> 3.1.0
GCC/Compiler version (if compiling from source):
-> Visual C++ 2019
CUDA/cuDNN version:
-> 10.2 / 7.6.5
GPU model and memory:
-> NVIDIA Quadro P400

Describe the problem

I build tensorflow.dll, tensorflow.lib and install_headers thanks to Bazel. The three "Build completed successfully" (see the three logs).
When I try to link to tensorflow.lib I get unresolved symbols
error LNK2019: "public: virtual __cdecl tensorflow::SavedModelBundleInterface::~SavedModelBundleInterface(void)" (??1SavedModelBundleInterface@tensorflow@@UEAA@XZ) référencé dans la fonction "int public: __cdecl tensorflow::SavedModelBundleLite::SavedModelBundleLite(void)'::1'::dtor$0" (?dtor$0@?0???0SavedModelBundleLite@tensorflow@@QEAA@XZ@4HA)".

I had TF_EXPORT and #include "tensorflow/core/platform/macros.h" in loader.h, and then rebuild from src. I can compil but I get the following error when I run the .exe
The procedure entry point ??1SavedModelBundleInterface@tensorflow@@UEAA@XZ could not be located in the dynamic link library C:\Users\bob\Documents\TF\test\x64\Debug\TF_cpp.exe

Provide the exact sequence of commands / steps that you executed before running into the problem

python ./configure.py
 You have bazel 3.1.0 installed.
 Please specify the location of python. [Default is C:\Users\bob\AppData\Local\Programs\Python\Python38\python.exe]:

 Found possible Python library paths:
 C:\Users\bob\AppData\Local\Programs\Python\Python38\lib\site-packages
 Please input the desired Python library path to use. Default is [C:\Users\bob\AppData\Local\Programs\Python\Python38\lib\site-packages]

 Do you wish to build TensorFlow with ROCm support? [y/N]: N
 No ROCm support will be enabled for TensorFlow.

 Do you wish to build TensorFlow with CUDA support? [y/N]: N
 No CUDA support will be enabled for TensorFlow.

 Please specify optimization flags to use during compilation when bazel option "--config=opt" is specified [Default is /arch:AVX]:

 Would you like to override eigen strong inline for some C++ compilation to reduce the compilation time? [Y/n]:
 Eigen strong inline overridden.

 Would you like to interactively configure ./WORKSPACE for Android builds? [y/N]: N
 Not configuring the WORKSPACE for Android builds.

   Preconfigured Bazel build configs. You can use any of the below by adding "--config=<>" to your build command.
   See .bazelrc for more details.
   --config=mkl # Build with MKL support.
   --config=mkl_aarch64 # Build with oneDNN support for Aarch64.
   --config=monolithic # Config for mostly static monolithic build.
   --config=ngraph # Build with Intel nGraph support.
   --config=numa # Build with NUMA support.
   --config=dynamic_kernels # (Experimental) Build kernels into separate shared objects.
   --config=v2 # Build TensorFlow 2.x instead of 1.x.
   Preconfigured Bazel build configs to DISABLE default on features:
   --config=noaws # Disable AWS S3 filesystem support.
   --config=nogcp # Disable GCP support.
   --config=nohdfs # Disable HDFS support.
   --config=nonccl # Disable NVIDIA NCCL support.

bazel build --config=opt tensorflow:tensorflow.dll

bazel build --config=opt tensorflow:tensorflow.lib

bazel build --config=opt tensorflow:install_headers

Any other info / logs
dll.log
headers.log
lib.log

@magondra
Is this still an issue?
Could you please update TensorFlow to the latest stable version v.2.6 and let us know if you are facing the same error. Thanks!


Can't get it working

I just tried to get this working using a shared folder on Dropbox. I created a repo in that folder using git init --bare.
However, as much as I try, I can't get the dropbox remote to work. I keep getting this error:
error: exception while writing objects
error: failed to push some refs to 'dropbox://PacePro\ -\ Backups/GitHub/PacePro'

Hmm...
For one, you shouldn't be creating a bare repo on Dropbox (see https://github.com/anishathalye/git-remote-dropbox/issues/22#issuecomment-148544185). You can just push to a nonexistent directory on Dropbox and the helper will take care of everything.
Sorry that the error reporting is still bad (see #9). The issue here is that you're using a backslash (\) character in your remote path. You should git remote set-url origin 'dropbox://PacePro\ -\ Backups/GitHub/PacePro'.
Let me know if that helps.

Whoops, I meant to write git remote set-url origin 'dropbox://PacePro - Backups/GitHub/PacePro'

Okay. Let me try that.

If I've already created a bare repo (or possibly even pushed to it), is that a problem?

A bare repo on Dropbox, right? Just delete it.
The on-disk format used on Dropbox is similar to Git's on-disk format, but it's not quite the same.

Uh oh. I just pushed to it (after failing to make this tool work, I just did what all the other sites recommended a pushed to a locally synced folder). Looks like everything is fine though.
I noticed this is taking much longer than pushing to a local directory (which makes sense, because the upload happens in the background in this case).

As explained here, doing what all the other sites recommend isn't really the best way to do things. It can break in weird ways.
Yeah, this tool uploads stuff synchronously. It has to in order to behave like a true git remote (and offer real multi-user support).

I'm going to assume that this is resolved. If not, feel free to reopen the issue.


Chromecast - Failed to connect to service ServiceInfo / Error reading from socket

What version of Music Assistant has the issue?
2023.6.0b3
The problem
Hello,
I have several Chromecast devices and I have observed in HA logs there are errore with connecting to them.
Initially I thought this comes from HA Cast integration but I believe it's coming from MASS.

Currently I am running latest MASS version b73.
How to reproduce
Just have one chromecast device enabled in MASS
Relevant log output
Logger: pychromecast.socket_client
Source: /usr/local/lib/python3.11/site-packages/pychromecast/socket_client.py:398
First occurred: 02:46:11 (6 occurrences)
Last logged: 03:58:53
[Living Room audio(<IP_ADDRESS>):8009] Failed to connect to service ServiceInfo(type='host', data=('<IP_ADDRESS>', 8009)), retrying in 5.0s
[Home Speakers([::ffff:a00:3c]):32073] Failed to connect to service ServiceInfo(type='host', data=('[::ffff:a00:3c]', 32073)), retrying in 5.0s
[Bedroom speaker(<IP_ADDRESS>):8009] Failed to connect to service ServiceInfo(type='host', data=('<IP_ADDRESS>', 8009)), retrying in 5.0s
[Living Room speaker(<IP_ADDRESS>):8009] Failed to connect to service ServiceInfo(type='host', data=('<IP_ADDRESS>', 8009)), retrying in 5.0s
[Office speaker(<IP_ADDRESS>):8009] Failed to connect to service ServiceInfo(type='host', data=('<IP_ADDRESS>', 8009)), retrying in 5.0s
Logger: pychromecast.socket_client
Source: /usr/local/lib/python3.11/site-packages/pychromecast/socket_client.py:623
First occurred: 02:57:33 (2 occurrences)
Last logged: 02:58:13
[Home Speakers(<IP_ADDRESS>):32073] Error reading from socket.
[Home Speakers(<IP_ADDRESS>):32073] Error reading from socket.
Additional information
No response
What version of Home Assistant Core are your running
2023.9.2
What type of installation are you running?
Home Assistant OS
On what type of hardware are you running?
Generic x86-64 (e.g. Intel NUC)

Have you reviewed the troubleshooting FAQ?

Yes I did.
The thing is I don't have any problem with setting up the addon, discovering the devices or playing music.
I have also double checked my network settings and there is nothing that would block multicast traffic etc..
It's just this error in log few times per day.

I am not sure a disconnection is a big deal if it reconnects again. I’m inclined to close this and ask you to report again if this has a negative impact on your use of MA?

Yeah you are right it's not causing any problem with playback etc. so we can theoretically close this thread but as it's coming from MASS it could be and it was at least for me confusing because I was looking for issue on HA side for some time as I found those errors in HA log first and then I have discovered that it's actually coming from MASS.
So at least some minor change in logging maybe add some flag that it's coming from MASS component would be nice
.
In addition I can try to raise a question on pychromecast lib maybe the root cause is there? What do you think?

That is the MA log though isn’t it?

Yes it is.

Well we don’t need to flag that it is coming from MA as it is the MA log. Everything in there is coming from MA

Ok understand but to clarify this the screenshot log is MA and the text log is HA.

I think the answer is you can tell from the entity name? Unless you have them named the same as your HA entities….

Your chromecasts are reconnecting in less that 10 secs and it’s not causing a problem. I see similar. Just see how you go with this and report again if it starts causing troubles.


TS6133: xxx is declared but its value is never read."

TypeScript Version:  3.7.x-dev.201xxxxx

Search Terms:
Code
// A *self-contained* demonstration of the problem follows...
// Test this by running `tsc` on the command-line, rather than through another build tool such as Gulp, Webpack, etc.

Expected behavior:
Actual behavior:
Playground Link:
Related Issues:

accidentally duplicated submission https://github.com/microsoft/TypeScript/issues/37137


Add alert for when a site is redirected through multiple URL shorteners

Add alert for when a site is redirected through multiple URL shorteners
This is a new signal that a site may be suspicious. If a site redirects through more than 1 URL shortened by a common URL shortener, excluding HTTPS redirects, it will be flagged.

reviewed internally


Add bounding box method for circular arcs

We only need the end-points and each side of the arc to compute the bounding box. This method should be less intensive and marginally more accurate compared to approximating the entire circular arc and then computing the bounding box from resulting points.
Math logic used is the same, hence circularArcHelper. Because the interesting output from that helper method is not just one value, it passes them on to a given function instead. An alternative to this would be using the out keyword, or a custom struct, not sure which is preferred.

Main use case is https://github.com/ppy/osu/pull/12122. Here the bounding box is used as a limit for how large a PerfectCurve path is allowed to be before defaulting to Bezier. Said bounding box is computed every time the control points update, for example while dragging nodes or initially placing sliders.

I've written a test case for this, and it seems to be a bit... broken in some edge cases, particularly ones involving cardinal directions.

I might have messed up writing the test, but stuff like this could certainly explain it:

Will push that in a sec.

I've fiddled with this a bit and believe I have gotten to a relatively stable state:
https://user-images.githubusercontent.com/20418176/112729146-ff539c00-8f2a-11eb-878e-b9549878aa14.mp4
Seems good now, but my changes were quite extensive, so this needs a double check.

Looks sane to me. Only perhaps confusing part would be
double quotient = pr.ThetaStart / right_angle;
double closestRightAngle = right_angle * (pr.Direction > 0 ? Math.Ceiling(quotient) : Math.Floor(quotient));

as this makes the assumption that pr.ThetaStart will be negative for negative directions (which is always true, but that it is always the case isn't very intuitive, and depends on implementation details of circularArcProperties).
Could do this, which makes the closestRightAngle more clearly in the direction we're going and is otherwise equivalent:
double quotient = Math.Abs(pr.ThetaStart / right_angle);
double closestRightAngle = right_angle * Math.Ceiling(quotient) * pr.Direction;

I don't think the sign of ThetaStart matters there in that context at all? The goal there was to find the next multiple of PI / 2 to advance to given Direction. Which is why the ceiling is taken if the step is positive, and the floor is taken if the step is negative.

The statement in the for loop only checks whether the angle is greater than where it should stop:
if (Precision.DefinitelyBigger((angle - pr.ThetaEnd) * pr.Direction, 0))
    break;

If angle is before the starting point of the arc, it would simply be added as a point despite not being in the arc, which is why it's important that closestRightAngle starts inside of it. Where it starts is dependent on the sign of pr.ThetaStart because of flooring/ceiling. Therefore the sign does matter in this context.
If I were to put quotient = pr.ThetaStart * -1f / right_angle, for example, then I would get this result in the test:

If angle is before the starting point of the arc, it would simply be added as a point despite not being in the arc, which is why it's important that closestRightAngle starts inside of it.

Yep, with you up to this point.

Where it starts is dependent on the sign of pr.ThetaStart because of flooring/ceiling.

But I'm not seeing this one. Let's for the sake of argument assume the following (in degrees, not radians, for simplicity):
pr.ThetaStart = 120, pr.ThetaRange = 240, pr.Direction = -1

We have a positive starting angle, but a negative direction. Because of this, at the point of picking the first right angle, we pick 90deg (Math.Floor(120 / 90) * 90), and then proceed with 0deg, -90deg and -180deg (the last of which fails that range test).
Conversely, let's assume:
pr.ThetaStart = -120, pr.ThetaRange = 240, pr.Direction = 1

The starting angle there is -90deg (Math.Ceiling(-120 / 90) * 90), and the next angles are 0deg, 90deg, and -180deg (which is again outside of the range).
All the floor/ceil choice does is pick the direction of iteration across multiplies of PI / 2. It should be agnostic toward the sign of the starting point, as far as I can tell.

I've attempted to clarify the comments some more. Let me know whether that did anything for understanding.

Just realized after testing a bit that my confusion isn't necessarily about signs but more about the range ThetaStart can assume. If it's anything other than [-π, π], e.g. [0, 2π], things seem to break down. I recall this being the reason for doing modulus operations in my initial solution.
Take for example
pr.ThetaStart = -60, pr.ThetaRange = 240, pr.Direction = -1
quotinent = 120 / 240 = -0.25
closestRightAngle = 90 * Math.Floor(-0.25) = 0

Compared to an equivalent angle (-60 = 300)
pr.ThetaStart = 300, pr.ThetaRange = 240, pr.Direction = -1
quotinent = 300 / 240 = 1.25
closestRightAngle = 90 * Math.Floor(1.25) = 1

Latter skips 0, meaning it'll break before reaching all the way around.
Not sure this is worth dealing with, though - wouldn't really be as simple of a fix as I thought. So I'd say keep it as-is.

As for new comments - they do clarify how the loop condition works, so that's good. I probably wouldn't keep the "if x - choose y" ones, though, as that can for the most part be inferred from the code (variable name + "in the direction of the arc" makes that clear enough already).


Assertion Failure Is throwing Uncaught exception

What is your Scenario?
When TestCase fail due to assertion, it throws an uncaught exception, sometime it leads to testcase termination. Which is affecting automated run. I have tried to replicate this issue in a public website. Please refer details in respective sections
What is the Current behavior?

AssertionError: expected false to be truthy
Browser: Chrome 97.0.4692.99 / Windows 10
  4 |fixture `UnHandledException`
  5 |
  6 |test(`UnhandledExceptionTC`, async tn=>{
  7 |    await t.navigateTo("https://www.xfinity.com/learn/offers");
  8 |    await t.wait(10000);

9 |    await t.expect(Selector('#localization-address-fieldJunk').visible).ok()
10 |})

 at <anonymous> (C:\Users\xxxxxxx\unexpected.js:9:73)
 at asyncGeneratorStep (C:\Users\xxxxx\unexpected.js:1:259)
 at _next (C:\Users\xxxxx\unexpected.js:1:597)

Uncaught exception:
Error [ERR_HTTP2_SESSION_ERROR]: Session closed with error code 11
at Http2Session.onGoawayData (internal/http2/core.js:649:21)
at Http2Session.callbackTrampoline (internal/async_hooks.js:134:14)
Browser: Chrome 97.0.4692.99 / Windows 10

TestCafe Version - 1.18.2
Node Version - v14.17.0
What is the Expected behavior?
Test should fail without any exception.
What is your public website URL? (or attach your complete example)
https://www.xfinity.com/learn/offers
What is your TestCafe test code?
import {t,  Selector} from 'testcafe'
fixture UnHandledException
test(UnhandledExceptionTC, async tn=>{
await t.navigateTo("https://www.xfinity.com/learn/offers");
await t.wait(10000);
await t.expect(Selector('#localization-address-fieldJunk').visible).ok()
})
Your complete configuration file
No response
Your complete test report
No response
Screenshots

Uncaught exception:
Error [ERR_HTTP2_SESSION_ERROR]: Session closed with error code 11
at Http2Session.onGoawayData (internal/http2/core.js:649:21)
at Http2Session.callbackTrampoline (internal/async_hooks.js:134:14)
Browser: Chrome 97.0.4692.99 / Windows 10

Steps to Reproduce

TestCafe version
1.18.2
Node.js version
v14.17.0
Command-line arguments
testcafe chrome -F UnHandledException
Browser name(s) and version(s)
Chrome 97.0.4692.99
Platform(s) and version(s)
Windows 10
Other
No response

Thank you for reporting this. I was able to reproduce the issue.
For the team:
I was able to reproduce it with the testcafe-hammerhead playground.

Hi, I am running into a similar issue, can someone please provide me a solution here. Thank you.

Hi @aprabh001c,
TestCafe runs tests using the URL-rewritten proxy.
This approach is good. However, there is a way to improve the stability and speed of test execution - the native browser automation API.
We have a test execution mode uses native browser automation - we call it the Proxyless mode.
In Proxyless mode, a few issues are already fixed.
By the way, this issue was also fixed in Proxyless mode.
Try running your tests in Proxyless mode and let us know the results.
This option is available in all interfaces:
// Command-line
testcafe chrome tests --experimental-proxyless

// Programmatic
testcafe
    .createRunner
	.src('tests')
	.browsers('chrome')
	.run({ experimentalProxyless: true });

// Configuration file
{
   "experimentalProxyless": "true"
}

Note that at present it is an experimental mode.
Also, the Proxyless mode is implemented only in Google Chrome. It will not work correctly if you run tests in a non-Chrome browser or in a combination of other browsers.

Node Version - 19.3.0
TestCafe Version - 2.3.0
Browser  - Chrome
When experimentalProxyless=true, testcafe is not clicking _search button( or after clicking browser is not responding) and it fails
Script Used to reproduce with Public Website
import {t, Selector} from 'testcafe'
fixture UnHandledException
test(UnhandledExceptionTC, async tn=>{
const _addressField = Selector('#Address_SingleStreetAddress,input[name="localizationAddressField"]');
const _search = Selector(".localization-container button[type='submit']");
await t.navigateTo("https://www.xfinity.com/learn/offers");
await t.wait(10000);
await t.typeText(_addressField,"200 MAIN ST, NORTHAMPTON, MA 01060",{paste:true})
await t.wait(2000)
await t.click(_search)
await t.expect(_search.visible).notOk();
})

Hi @aprabh001c,
This issue is not reproduced with combination of<EMAIL_ADDRESS>and the Google Chrome browser. Feel free to reopen this issue if you encounter it in other browsers.


Missing version data type

Section 5.4.2 in TOSCA-v2.0-wd05-rev03 is missing a description of the version data type.

Didn't we decide to remove it?

I don't remember making that decisions, but then again my memory is not always perfect :-)
Either way, we need to revisit support for versioning profiles and versioning service templates at some point.

The version type is documented in https://docs.oasis-open.org/tosca/TOSCA/v2.0/csd05/TOSCA-v2.0-csd05.html#_Toc125468689


Is it possible to remove the Audio Playback/Download feature/button from the solution?

We are currently planning whether/how to go live with the PCA solution and giving non-technical staff access to the dashboard. We would like the option to remove the audio transcription playback and download button if possible?

Hi @hyde-mattholgate, this is a good idea to add a setting to remove the audio playback mechanism. I will put it in our backlog.


Infection has a certain chance to crash a player when they get infected.

Issue seems to be new in v1.6.0.
When a player gets infected they have a certain chance of crashing back to main menu.

Seems to happen once player hits "respawn" after becoming infected.

There has been no change to infection since 2022-01-19, meaning that the bug might have been introduced in one of the general gamemode scripts.
Based on that and the fact that #280 has the same error message I have reason to believe they might be related.

https://github.com/R2Northstar/NorthstarMods/blob/main/Northstar.Custom/mod/scripts/vscripts/gamemodes/cl_gamemode_inf.gnut#L28

Should be fixed on client with #294


Adds aria-live to title

Adds an aria-live attribute to the h1 title.
This works, in the sense that it announces the title whenever it changes, but I'm not sure if this is 100% the desired implementation. Because that title is the same as the button title, you end up hearing something that's like "Important stuff button, important stuff". Thoughts?
fixes #125

Hm, yeah. One problem is that our H1 is not very descriptive of the content (something we may want to think about), so just having the screen reader read it isn't telling the user anything about what has changed. Ideas:

Implement a visually hidden div similar to the way react-aria-live operates that is updated when a collection/object is selected, and announces something like "details under heading 1 have been updated to describe the selected records" with aria-polite.
We could add some helper text on the page, like after the Collection Content heading, that says something like "Select a record to view updated collection details." It may help to have the words "collection details" on the page somewhere, perhaps as part of the H1. They only show up with the mobile toggle right now.
Shift focus to the H1 when something is selected. I don't think this is a good option, though, because it messes up the flow if someone is trying to traverse the collection content.
Do nothing right now and wait until after usability testing to address think through other options.

OK, I'm inclined to go with option 1, but to do it with react-aria-live. I'll re-request a review when I'm done.


adjust declarations of DenseMapInfo for GCC

Remove the extra qualification and place explicitly in the LLVM
namespace.  This fixes some build issues with GCC 8.2.

Replace this paragraph with a description of your changes and rationale. Provide links to external references/discussions if appropriate.

Resolves SR-NNNN.

@swift-ci please test and merge

LGTM. Just an algebraic neutral change for gcc compatibility.

@swift-ci please test macOS platform


AI use acknowledgement

Added cover portion including AI use acknowledgement, as is required.
Based off of the model presented here.

The thesis deadline is today, this pull request should be merged ASAP 😄
@jpbarraca

Added as an individual commit with reference to the original author.
This was done because of the urgency of the issue.

@jpbarraca I will trigger the update of the template in overleaf.


Add a field_slip keyword to Observations PatternSearch

Allows users to type this in the search field and get back the relevant observation:
field_slip:ATEST-0001

`RuntimeError in ObservationsController#index
Don't know how to join from observations to field_slips.
Extracted source (around line #265):
from, to = to, from
else
raise("Don't know how to join from #{from} to #{to}.")
end
      # By default source table column is just "id"; enter both target and

Rails.root: /Users/nathan/src/mushroom-observer
Application Trace | Framework Trace | Full Trace
app/classes/query/modules/joining.rb:265:in calc_join_condition'](http://localhost:3000/observations?pattern=field_slips%3AATEST-00002#) [app/classes/query/modules/sql.rb:123:in calc_join_conditions'
app/classes/query/modules/sql.rb:121:in block in calc_join_conditions'](http://localhost:3000/observations?pattern=field_slips%3AATEST-00002#) [app/classes/query/modules/sql.rb:121:in map'
app/classes/query/modules/sql.rb:121:in calc_join_conditions'](http://localhost:3000/observations?pattern=field_slips%3AATEST-00002#) [app/classes/query/modules/sql.rb:74:in calc_from_clause'
app/classes/query/modules/sql.rb:25:in query'](http://localhost:3000/observations?pattern=field_slips%3AATEST-00002#) [app/classes/query/modules/low_level_queries.rb:35:in select_values'
app/classes/query/modules/high_level_queries.rb:56:in result_ids'](http://localhost:3000/observations?pattern=field_slips%3AATEST-00002#) [app/classes/query/modules/high_level_queries.rb:36:in num_results'
app/controllers/application_controller.rb:1437:in set_index_view_ivars'](http://localhost:3000/observations?pattern=field_slips%3AATEST-00002#) [app/controllers/application_controller.rb:1399:in show_index_setup'
app/controllers/application_controller.rb:1375:in show_index_of_objects'](http://localhost:3000/observations?pattern=field_slips%3AATEST-00002#) [app/controllers/observations_controller/index.rb:189:in show_selected_observations'
app/controllers/observations_controller/index.rb:131:in render_pattern_search_results'](http://localhost:3000/observations?pattern=field_slips%3AATEST-00002#) [app/controllers/observations_controller/index.rb:117:in pattern'
app/controllers/application_controller.rb:1335:in block in index'](http://localhost:3000/observations?pattern=field_slips%3AATEST-00002#) [app/controllers/application_controller.rb:1333:in each'
app/controllers/application_controller.rb:1333:in index'](http://localhost:3000/observations?pattern=field_slips%3AATEST-00002#) [app/controllers/application_controller.rb:226:in catch_errors_and_log_request_stats'

Working better.  This PR should target main now that njw-field-slip-pdfs has merged.

Even after merging in main locally this PR is failing a lot of tests.  I haven't dug into why.

@mo-nathan — @pellaea spotted the problem.
My query method needed a guard clause so it only gets applied if there IS a field_slip param.

coverage: 94.392% (-0.05%) from 94.443%
when pulling 1e524c79589d7f7260547056de80144bc6166285 on nimmo-field-slip-stimulus
into 2fcde2aa28d7f6c85b121be16498214b5a0811fe on main.


NPC is already shown to player.

Describe the bug
Sometimes if you join, the NPC doesn't show because it's already "shown", but it's just invisibile.
NPCLib usage option
Maven dependency
NPCLib JAR name
E.g. npclib-plugin-2.0.1-SNAPSHOT.jar
Server version
Paper version git-Paper-1104 (MC: 1.11.2) (Implementing API version 1.11.2-R0.1-SNAPSHOT)
To Reproduce
Join the server a few times and it should happen.
Expected behavior
The API trying to hide the npc and show it again.
ERROR:
[VultexHub] Task #167 for VultexHub v1.0.0 generated an exception java.lang.IllegalArgumentException: NPC is already shown to player         at net.jitse.npclib.internal.NPCBase.show(NPCBase.java:183) ~[?:?]         at net.jitse.npclib.internal.NPCBase.show(NPCBase.java:172) ~[?:?]         at nl.diszy.vultex.Hub.NPC.NPCManager.lambda$2(NPCManager.java:177) ~[?:?]         at org.bukkit.craftbukkit.v1_11_R1.scheduler.CraftTask.run(CraftTask.java:58) ~[server.jar:git-Paper-1104]         at org.bukkit.craftbukkit.v1_11_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:356) [server.ja r:git-Paper-1104]         at net.minecraft.server.v1_11_R1.MinecraftServer.D(MinecraftServer.java:829) [server.jar:git-Paper-1104]         at net.minecraft.server.v1_11_R1.DedicatedServer.D(DedicatedServer.java:403) [server.jar:git-Paper-1104]         at net.minecraft.server.v1_11_R1.MinecraftServer.C(MinecraftServer.java:763) [server.jar:git-Paper-1104]         at net.minecraft.server.v1_11_R1.MinecraftServer.run(MinecraftServer.java:661) [server.jar:git-Paper-1104]         at java.lang.Thread.run(Thread.java:748) [?:1.8.0_252]
Line 177 in NPCManager from my plugin:
Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(Vultex.plugin, () -> { 		potpvp.show(event.getPlayer()); 		ffa.show(event.getPlayer()); 		eventnpc.show(event.getPlayer()); 		}, 30L);

I have a similar issue after a reload. Sometimes when the NPCs spawn they are correctly visible, sometimes they are visible but not interactable, and sometimes they are working like they should. Teleporting to myself or relogging works, then they are all visible again.

As posted in pre-release 2.12-SNAPSHOT, I will be redesigning the auto show hide mechanics using information provided in #101. Hopefully this issue will be resolved thereafter.


Fix imagecache handling of "displaywindow" and "datawindow"

Hey, I don't have CLA, but hopefully it's not necessary for a trivial bugfix ( Maybe I should have just made an issue, but I wasn't sure what the issue was until tracking down the code. )
It looks like these return statements were just missed for displaywindow and datawindow - the if statements for every other dataname return true if there is a match.
I noticed this while using OSL, where the symptom is that a call like "r = gettextureinfo (filename, "datawindow", datawin);" will fill out the datawindow correctly, but will incorrectly set r to 0.
The corresponding test case in OSL checks the return values for other gettextureinfo calls, but does not check the return value for displaywindow and datawindow:
https://github.com/imageworks/OpenShadingLanguage/blob/master/testsuite/gettextureinfo/test.osl

Oops!  You certainly are correct. I'll merge this immediately, and backport to 1.7 as well.
Interesting that the OSL test doesn't check the return value. I assure you that wasn't on purpose. I guess that's why I didn't notice that the return value was incorrect. Well, like I enjoy saying (but apparently not always taking to heart): "untested code is broken code."
CLA -- right, for simple one-line bug fixes, I'm totally lax about it. It seems totally implausible that anybody can claim that the contents of "return true" is their intellectual property. :-)  But as the patch size increases, I get a little more insistent (less for my protection than yours; at the heart of it, the CLAs are to protect contributors from their employers), and certainly by the time it becomes a "feature" and actual new code that somebody might consider protectable intellectual property, it's crucial.
Issue -- If you have a proposed solution, I prefer just submitting a PR directly. Near simultaneous submission of both an issue and a pull request seems redundant to me, I can't think of what benefit there is to doing twice the paperwork. I think where an "issue" is useful is a situation where you know that something is legit broken, but you don't know the solution, so the issue is kind of a "to do" reminder for the project to eventually fix it and a repository for the information necessary to reproduce the problem.

I will update the test you mention on the OSL side as well.


panic: runtime error: invalid memory address or nil pointer dereference in influxdb/query.(*floatMergeIterator) v1.4.3

Steps to reproduce:
List the minimal actions needed to reproduce the behavior.

This query was running: SELECT sum("keyCount") as "totalKeyCount" FROM (SELECT last("counter") as "keyCount" FROM "api_key_count" WHERE ("environment" =~ /^prod$/ AND "application" =~ /^app1$/ AND "cluster" =~ /^(app1)$/ AND "container" = 'proxy') AND time >=<PHONE_NUMBER>000ms and time <=<PHONE_NUMBER>000ms GROUP BY "apiKey", "host", "cluster", *) GROUP BY "apiKey"

Expected behavior:
Expected query to return results normally.
Actual behavior:
Panic - see log snippet below
Environment info:

System info: Run uname -srm and copy the output here
Linux 3.10.0-1062.4.1.el7.x86_64 x86_64
InfluxDB version: Run influxd version and copy the output here
1.4.3
Other relevant environment details: Container runtime, disk info, etc

Config:
Copy any non-default config values here or attach the full config as a gist or file.
[coordinator]
log-queries-after = "10s"
max-concurrent-queries = 10
max-select-buckets = 86401
max-select-point = 10000000
max-select-series = 0
query-timeout = "30s"
write-timeout = "10s"

[data]
cache-max-memory-size =<PHONE_NUMBER>
cache-snapshot-memory-size = 268435456
cache-snapshot-write-cold-duration = "10m0s"
compact-full-write-cold-duration = "1h0m0s"
default-shard-duration-policy = "1d"
dir = "/data/influxdb"
engine = "tsm1"
index-version = "tsi1"
max-concurrent-compactions = 8
max-points-per-block = 0
max-series-per-database = 3000000
query-log-enabled = false
trace-logging-enabled = false
wal-dir = "/wal/influxdb"
wal-logging-enabled = true

Logs:
Include snippet of errors in log.
Contents of /var/log/messages at time of panic:
Dec 3 05:08:50 influxd: panic: runtime error: invalid memory address or nil pointer dereference
Dec 3 05:08:50 influxd: [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x7e51a2]
Dec 3 05:08:50 influxd: goroutine<PHONE_NUMBER> [running]:
Dec 3 05:08:50 influxd: github.com/influxdata/influxdb/query.(*floatMergeIterator).Stats(0xc512c1ac00, 0x1, 0x2)
Dec 3 05:08:50 influxd: /go/src/github.com/influxdata/influxdb/query/iterator.gen.go:153 +0x52
Dec 3 05:08:50 influxd: github.com/influxdata/influxdb/query.(*floatInterruptIterator).Stats(0xc4916bd1c0, 0x1681d0c00, 0xe820692a4e99a)
Dec 3 05:08:50 influxd: /go/src/github.com/influxdata/influxdb/query/iterator.gen.go:836 +0x33
Dec 3 05:08:50 influxd: github.com/influxdata/influxdb/query.(*bufFloatIterator).Stats(0xc4916bd1e0, 0x0, 0x1)
Dec 3 05:08:50 influxd: /go/src/github.com/influxdata/influxdb/query/iterator.gen.go:58 +0x33
Dec 3 05:08:50 influxd: github.com/influxdata/influxdb/query.(*floatReduceFloatIterator).Stats(0xc4950d7a20, 0x2, 0x2)
Dec 3 05:08:50 influxd: /go/src/github.com/influxdata/influxdb/query/iterator.gen.go:1097 +0x2e
Dec 3 05:08:50 influxd: github.com/influxdata/influxdb/tsdb/engine/tsm1.(*floatFinalizerIterator).Stats(0xc4916bd200, 0x4, 0xc4357f27e0)
Dec 3 05:08:50 influxd: :1 +0x3c
Dec 3 05:08:50 influxd: github.com/influxdata/influxdb/query.(*floatInterruptIterator).Stats(0xc4916bd220, 0xc4fa063500, 0xc5681d0e88)
Dec 3 05:08:50 influxd: /go/src/github.com/influxdata/influxdb/query/iterator.gen.go:836 +0x33
Dec 3 05:08:50 influxd: github.com/influxdata/influxdb/query.(*bufFloatIterator).Stats(0xc4916bd240, 0xc4fa063548, 0xc5681d0ee8)
Dec 3 05:08:50 influxd: /go/src/github.com/influxdata/influxdb/query/iterator.gen.go:58 +0x33
Dec 3 05:08:50 influxd: github.com/influxdata/influxdb/query.(*floatReduceFloatIterator).Stats(0xc4950d7ce0, 0xc51861d6e0, 0xcb8900)
Dec 3 05:08:50 influxd: /go/src/github.com/influxdata/influxdb/query/iterator.gen.go:1097 +0x2e
Dec 3 05:08:50 influxd: github.com/influxdata/influxdb/query.(*floatInterruptIterator).Stats(0xc4916bd260, 0xc5681d0da0, 0x4123c7)
Dec 3 05:08:50 influxd: /go/src/github.com/influxdata/influxdb/query/iterator.gen.go:836 +0x33
Dec 3 05:08:50 influxd: github.com/influxdata/influxdb/query.(*bufFloatIterator).Stats(0xc4916bd280, 0xc5681d0e88, 0xc42003fe88)
Dec 3 05:08:50 influxd: /go/src/github.com/influxdata/influxdb/query/iterator.gen.go:58 +0x33
Dec 3 05:08:50 influxd: github.com/influxdata/influxdb/query.(*floatReduceFloatIterator).Stats(0xc4950d7e40, 0x2, 0x2)
Dec 3 05:08:50 influxd: /go/src/github.com/influxdata/influxdb/query/iterator.gen.go:1097 +0x2e
Dec 3 05:08:50 influxd: github.com/influxdata/influxdb/query.(*floatIntervalIterator).Stats(0xc63e08e120, 0x45ac20, 0xc5681d0e88)
Dec 3 05:08:50 influxd: /go/src/github.com/influxdata/influxdb/query/iterator.gen.go:808 +0x33
Dec 3 05:08:50 influxd: github.com/influxdata/influxdb/query.(*bufFloatIterator).Stats(0xc4916bd2a0, 0x2, 0x2)
Dec 3 05:08:50 influxd: /go/src/github.com/influxdata/influxdb/query/iterator.gen.go:58 +0x33
Dec 3 05:08:50 influxd: github.com/influxdata/influxdb/query.(*floatFillIterator).Stats(0xc42c4b8000, 0x44ca6b, 0xc58dd89e88)
Dec 3 05:08:50 influxd: /go/src/github.com/influxdata/influxdb/query/iterator.gen.go:667 +0x2e
Dec 3 05:08:50 influxd: github.com/influxdata/influxdb/query.(*floatInterruptIterator).Stats(0xc4916bd2c0, 0x43dd1f, 0xc5681d0e28)
Dec 3 05:08:50 influxd: /go/src/github.com/influxdata/influxdb/query/iterator.gen.go:836 +0x33
Dec 3 05:08:50 influxd: github.com/influxdata/influxdb/query.Iterators.Stats(0xc4916bc920, 0x2, 0x2, 0x0, 0x0)
Dec 3 05:08:50 influxd: /go/src/github.com/influxdata/influxdb/query/iterator.go:41 +0x57
Dec 3 05:08:50 influxd: github.com/influxdata/influxdb/query.PointLimitMonitor.func1(0xc4f761dce0, 0x0, 0x0)
Dec 3 05:08:50 influxd: /go/src/github.com/influxdata/influxdb/query/monitor.go:14 +0x16b
Dec 3 05:08:50 influxd: github.com/influxdata/influxdb/query.(*QueryTask).monitor(0xc490abd6c0, 0xc5d0b53f50)
Dec 3 05:08:50 influxd: /go/src/github.com/influxdata/influxdb/query/query_executor.go:503 +0x4c
Dec 3 05:08:50 influxd: created by github.com/influxdata/influxdb/query.(*QueryTask).Monitor
Dec 3 05:08:50 influxd: /go/src/github.com/influxdata/influxdb/query/query_executor.go:485 +0x49
Dec 3 05:08:51 systemd: influxdb.service: main process exited, code=exited, status=2/INVALIDARGUMENT
Dec 3 05:08:51 systemd: Unit influxdb.service entered failed state.
Dec 3 05:08:51 systemd: influxdb.service failed.
Dec 3 05:08:51 systemd: influxdb.service holdoff time over, scheduling restart.
Dec 3 05:08:51 systemd: Stopped InfluxDB is an open-source, distributed, time series database.
Dec 3 05:08:51 systemd: Started InfluxDB is an open-source, distributed, time series database.

Performance:
Generate profiles with the following commands for bugs related to performance, locking, out of memory (OOM), etc.
# Commands should be run when the bug is actively.
# Note: This command will run for at least 30 seconds.
curl -o profiles.tar.gz "http://localhost:8086/debug/pprof/all?cpu=true"
curl -o vars.txt "http://localhost:8086/debug/vars"
iostat -xd 1 30 > iostat.txt
# Attach the `profiles.tar.gz`, `vars.txt`, and `iostat.txt` output files.

@dyanneo thank you for opening the issue. InfluxDB 1.4.3 is quite old. Could you to upgrade to the latest release (1.7.9) and see if the issue is still there?

@russorat I appreciate the quick response. We are evaluating the latest release. We did attempt an upgrade to 1.7.8 recently, and were stopped by a malfunction in the upgrade script as well as a bug with handling regex (which I understand is addressed in 1.7.9). Our environment is quite large, so we'd really need the migration steps for existing dbs to be flawless. We have more investigating to do as our roadmap planning continues.
Thanks again.

thanks. i'll leave this issue open for the community, but we won't be making any bugfixes to the 1.4.x line. If there is an issue with the upgrade script, let us know in a new issue and we will take a look. Otherwise, let us know when you upgrade if the issue is still there and we will take a look.

I'm going to close this since we won't be making any changes to the 1.4 line.


How to build a custom Driver?

Hi!
Is it possible to build a custom Driver since ExecutionDelegator is package-only?
It seems very hard to start a JobService without using GooglePlayDriver, what's the best way to do this?

In April 2019 we announced that Firebase Job Dispatcher would be deprecated today, April 7th 2020.  For this reason we are going to close all open issues and archive the repository.  We will also stop supporting FJD for new app installations (such as those targeting sdk versions greater than Android Q).  Existing apps that rely on FJD should continue to function as usual.
While we will no longer work on FJD, we encourage you to migrate to Work Manager which is a superior tool and fully supported by the Android team.
Thank you for taking the time to try the library and provide this feedback.  We sincerely appreciate your effort and we apologize for not addressing it in time.


Nick: Watch bodycrushlondon.com

Nick requests the watch of the watch_keyword bodycrushlondon\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

bodycrushlondon\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Makyen in Charcoal HQ


CppSharp assemblies don't have versions

Brief Description
Hi,
When using the CppSharp libs through NuGet, looking at the assemblies files properties it appears that the version is always set as <IP_ADDRESS>. Any good reason for that behaviour?
Also, is there an available build pipeline that someone can use to create a test release/artifact of CppSharp when making changes, rather than building it locally?
Thanks.

This is implemented now, thanks to @josetr.


✏ Fix contributing instructions to run tests, update script name

the test bash script doesn't reflect the actual file to run the test script. This change updates the docs to reflect the correct script to run tests

Good catch, thank you! 🚀


It's nice to have different background picture for different pages like logseq-banner

Idea
Background picture is set for all pages, it's nice to have different pictures for different pages.

"different background picture for different pages" is the of most reasons for logseq-banner plugin creation and i suggest to use it )))


captureStackTrace lost when inheriting from WError

With 1.7.0, I noticed that the WError constructor is no longer invoking Error.captureStackTrace directly. It looks like it now defers that to VError:
https://github.com/joyent/node-verror/commit/08fa8939cc744dfce40ef1f1b9cad0d454b4b2ce#diff-7b7b65fd47508bd81ac1df9c099cc171L222
The result is that arguments.callee from the VError ctor's perspective only removes stack frames up to each of the internal sub type ctors (WError, SError, MultiError). restify-errors, which inherits directly from WError, was relying on WError's direct usage of arguments.callee to remove the ctor stack frames, so with 1.7.0 we've started seeing extra frames in our stacks.
It's an easy fix from our side to call captureStackTrace ourselves, and probably something we should have always been doing, but worth noting in case other modules were depending on this implicit behavior. I do notice that this legacy behavior (calling Error.captureStackTrace) only seems to affect WError. I'm not sure whether or not this is technically a breaking change, since inheritance in JS really doesn't guarantee you anything...!

@DonutEspresso Thanks for the heads-up.  The specific extra frame you see is for the WError constructor, I assume?  VError and WError already allow you to specify a "constructorOpt" option to omit frames up to that one, and I'm assuming you're not currently using that (i.e., to skip your own constructors)?  What do you think about having WError and SError pass themselves as the "constructorOpt" argument to the VError constructor if the user didn't specify one?
Sorry for the issue.

No problem - the extra frames are minor in the grand scheme of things.
The extra frame(s) are actually coming from our end. Our own ctors were calling WError.apply(args), and expecting WError's call to captureStackTrace to remove our ctor frames. But since that's deferred to VError now, arguments.callee (from VError) points to WError, which means it removes only WError's ctor frame but not restify-error's ctor frames.
I believe this is only an issue if you're inheriting from WError like we were. We wanted to be able to support all of WError's native signatures (including extsprintf) in addition to our own signatures, which made it hairy for us to try and deconstruct user input args and safely add constructorOpt. The fix was to call captureStackTrace ourselves, which is what we probably should have been doing anyway.
Thinking about this more, I don't know if our use case would be better served by some new mechanism that would allow us to create custom ctors that inherit from VError. While the new release adds the ability to create typed errors in-situ, I think there may also be some value in having a pre-defined set of ctors for a clearly defined set of things (e.g., http error codes). Were it any other object it would be fine, but Error objects tend to have all sorts of gotchas when it comes to inheritance.

Thanks for the details.  It's supposed to be fully supported to create custom classes that inherit from VError and friends -- there's even an example and test case.  It's certainly fine if you want to do the captureStackTrace yourself, but I don't think you should have to in order to do that.
You're saying that previously when you inherited from WError, the captureStackTrace call elided a frame for WError itself, so then maybe the fix is that WError should supply a default value of "constructorOpt" of "arguments.callee" to achieve the same thing (without callers having to do anything special, and without having to duplicate the captureStackTrace call)?

Oh absolutely - to be clear the inheritance works fine! It's more that Error object itself often has these edge cases (captureStackTrace, name vs displayName, etc.) that aren't immediately straightforward, and the boilerplate adds up. It's what we were trying to solve with restify-error's makeConstructor method, which goes HttpError (restify-error ctor) -> WError -> VError.
But I believe you're right - if WError and the other ctors that depend on VError were to pass constructorOpt: arguments.callee as the default value into VError, that'd definitely net us the desired behavior. That should pass our own HttpError ctor as the constructorOpt, eliding all intermediate frames up to that point.

I didn't think that through.  arguments.callee in this case will be WError itself, which is already what it's doing.  That change makes no difference.  WError.caller works, but breaks callers instantiating a WError directly.  The old version of this code was using this.constructor, which I believe will always be the most specific class, which I think is the right thing here.
I'm using this program to test:
var mod_verror = require('./lib/verror');
var mod_util = require('util');

function MyError()
{
        mod_verror.WError.apply(this, Array.prototype.slice.call(arguments));
}

mod_util.inherits(MyError, mod_verror.WError);

function one()
{
        two();
}

function two()
{
        console.error(new Error('an Error').stack);
        console.error(new mod_verror.VError('a VError').stack);
        console.error(new mod_verror.WError('a WError').stack);
        console.error(new MyError('a MyError').stack);
}

one();

On the latest version, this produces:
Error: an Error
    at two (/home/dap/node-verror/issue-39.js:19:16)
    at one (/home/dap/node-verror/issue-39.js:14:2)
    at Object.<anonymous> (/home/dap/node-verror/issue-39.js:25:1)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Function.Module.runMain (module.js:501:10)
    at startup (node.js:129:16)
    at node.js:814:3
VError: a VError
    at two (/home/dap/node-verror/issue-39.js:20:16)
    at one (/home/dap/node-verror/issue-39.js:14:2)
    at Object.<anonymous> (/home/dap/node-verror/issue-39.js:25:1)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Function.Module.runMain (module.js:501:10)
    at startup (node.js:129:16)
    at node.js:814:3
WError: a WError
    at two (/home/dap/node-verror/issue-39.js:21:16)
    at one (/home/dap/node-verror/issue-39.js:14:2)
    at Object.<anonymous> (/home/dap/node-verror/issue-39.js:25:1)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Function.Module.runMain (module.js:501:10)
    at startup (node.js:129:16)
    at node.js:814:3
WError: a MyError
    at new MyError (/home/dap/node-verror/issue-39.js:6:20)
    at two (/home/dap/node-verror/issue-39.js:22:16)
    at one (/home/dap/node-verror/issue-39.js:14:2)
    at Object.<anonymous> (/home/dap/node-verror/issue-39.js:25:1)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Function.Module.runMain (module.js:501:10)
    at startup (node.js:129:16)

The first three look fine, but the MyError stack has the extra frame for the MyError constructor.
Prior to #10 (on b1c7bf701c232eb0039da2321291636c6815e061), this produced:
Error: an Error
    at two (/home/dap/node-verror-test/issue-39.js:19:16)
    at one (/home/dap/node-verror-test/issue-39.js:14:2)
    at Object.<anonymous> (/home/dap/node-verror-test/issue-39.js:25:1)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Function.Module.runMain (module.js:501:10)
    at startup (node.js:129:16)
    at node.js:814:3
VError: a VError
    at two (/home/dap/node-verror-test/issue-39.js:20:16)
    at one (/home/dap/node-verror-test/issue-39.js:14:2)
    at Object.<anonymous> (/home/dap/node-verror-test/issue-39.js:25:1)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Function.Module.runMain (module.js:501:10)
    at startup (node.js:129:16)
    at node.js:814:3
WError: a WError
    at two (/home/dap/node-verror-test/issue-39.js:21:16)
    at one (/home/dap/node-verror-test/issue-39.js:14:2)
    at Object.<anonymous> (/home/dap/node-verror-test/issue-39.js:25:1)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Function.Module.runMain (module.js:501:10)
    at startup (node.js:129:16)
    at node.js:814:3
WError: a MyError
    at two (/home/dap/node-verror-test/issue-39.js:22:16)
    at one (/home/dap/node-verror-test/issue-39.js:14:2)
    at Object.<anonymous> (/home/dap/node-verror-test/issue-39.js:25:1)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Function.Module.runMain (module.js:501:10)
    at startup (node.js:129:16)
    at node.js:814:3

Although interestingly enough, with VError this always produced the extra frame because VError always used arguments.callee.
With my latest changes, this now produces the expected output for all four stacks:
Error: an Error
    at two (/home/dap/node-verror/issue-39.js:19:16)
    at one (/home/dap/node-verror/issue-39.js:14:2)
    at Object.<anonymous> (/home/dap/node-verror/issue-39.js:25:1)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Function.Module.runMain (module.js:501:10)
    at startup (node.js:129:16)
    at node.js:814:3
VError: a VError
    at two (/home/dap/node-verror/issue-39.js:20:16)
    at one (/home/dap/node-verror/issue-39.js:14:2)
    at Object.<anonymous> (/home/dap/node-verror/issue-39.js:25:1)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Function.Module.runMain (module.js:501:10)
    at startup (node.js:129:16)
    at node.js:814:3
WError: a WError
    at two (/home/dap/node-verror/issue-39.js:21:16)
    at one (/home/dap/node-verror/issue-39.js:14:2)
    at Object.<anonymous> (/home/dap/node-verror/issue-39.js:25:1)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Function.Module.runMain (module.js:501:10)
    at startup (node.js:129:16)
    at node.js:814:3
WError: a MyError
    at two (/home/dap/node-verror/issue-39.js:22:16)
    at one (/home/dap/node-verror/issue-39.js:14:2)
    at Object.<anonymous> (/home/dap/node-verror/issue-39.js:25:1)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Function.Module.runMain (module.js:501:10)
    at startup (node.js:129:16)
    at node.js:814:3

and I've added a test case for it.  I've got the change out for code review now: https://cr.joyent.us/300
I'd appreciate your feedback.

D'oh! Brain fart - for some reason I was thinking arguments.callee was the invoking function, when really we want to be able to jump multiple frames back to the original constructor. I applied your patch locally, it looks good and our unit tests are passing again. Thanks for the incredibly quick turn around! 👍

Fixed in 1.8.1.


v17.0.0 not working

Current behavior
We just bumped the version from 16.0.3 to 17.0.1. Now when we run the cypress run command we get
Cucumber preprocessor detected that you returned a native promise from a function handler, this is not supported. Using async / await is generally speaking not supported when using Cypress, period, preprocessor or not.
at runStepWithLogGroup ([webpack:///../../node_modules/@badeball/cypress-cucumber-preprocessor/dist/helpers/cypress.js:16](http://localhost:62455/__/#))     at Context.eval ([webpack:///../../node_modules/@badeball/cypress-cucumber-preprocessor/dist/browser-runtime.js:246](http://localhost:62455/__/#)) From previous event:     at Context.thenFn (http://localhost:62455/__cypress/runner/cypress_runner.js:139218:63)     at Context.then (http://localhost:62455/__cypress/runner/cypress_runner.js:139640:21)     at wrapped (http://localhost:62455/__cypress/runner/cypress_runner.js:157508:19)     at <unknown> (http://localhost:62455/__cypress/runner/cypress_runner.js:156244:15) From previous event:
Versions

**Cypress version: 10.11.0:
Preprocessor version: 17.0.1:
**Node version:18.*:

It's working fine for the version 16.0.3 but the issue started when we upgraded version to 17.0.1. Also there is no any native promise returned from function in our code. Is it the issue with cypress version?

Also there is no any native promise returned from function in our code.

I highly doubt that this is true.
In any case, if you think you've found a bug, you need to provide a reproducible example like the issue template suggested (which you conveniently ignored).

@kyogitq try searching in your definition steps a code like the following:
Given(
  "my step with my {string} parameter",
  async (myParameter: string) => { /* code */ })

My past me coded a step in that way (don't ask me why 🤷) and, as you said, it has been working in the previous versions but it started failing from the 17.0.1 on.
However, removing that async, as the error states, fixed my test and now everything is working.

@GarciaDan Thankyou. Yeah there was a code using async. After I removed it , it worked fine with new 17 version. Once again thankyou.


Add Salesforce timezone as claim.

We've read the timezone from the Salesforce return data but we're not adding it as a claim, making it inaccessible. Providing the user's timezone can be useful.

@spencerthang The Time zone is already stored on the context, and therefore accessible. Storing it as a token will not add any more benefit.
I may be missing something however, so san you please explain your thinking?

@spencerthang As I did not receive feedback I am closing the PR. If you can give valid reason why it needs to be added as claim please reopen.


Update lvm cookbook dependency 3

Updating to chef 12, and lvm3.0

@atrull can you merge?

@atrull can you merge?

This would be super useful to get merged and released


BottomButton

How to display the "bottom" button with the settings that Telegram offers?
Ref: https://core.telegram.org/bots/webapps#bottombutton

@jiexaspb It's the same as the MainButton component. You can see in changes to Bot API 7.10 that they renamed the class MainButton to BottomButton, but it seems that this library is still using the old name.


Waltz 3576 taxonomy mgmt exec2

#3576

This pull request introduces 2 alerts when merging 79da0cfe6839873a996ebedaf4faa609303ee5e1 into 2b80f7e798f485cdd37996f447c34316b006db45 - view on LGTM.com
new alerts:

2 for Unused variable, import, function or class

Comment posted by LGTM.com


How to format mail address in documentation?

Should email links in the documentation use the mailto: link.
I.e [servicedesk<EMAIL_ADDRESS>and<EMAIL_ADDRESS>Or should there be no email links? It would be good to have one style for support emails.
Enforcing one style makes it much easier to check if all the emails are valid.

Mailto: would be a nice highlight, but how much more spam will it attract? I don't have a strong opinion. The checks have been very useful.

I am for<EMAIL_ADDRESS>i.e. [servicedesk@csc.fi](mailto:servicedesk@csc.fi). I don't think that it will attract any more spam than<EMAIL_ADDRESS>without mailto link.

I agree for servicedesk. I'd also allow obviously mangled emails, like insert.name ät csc.fi. I guess it's easy to make the test skip those?

Added the mailto: version in styleguide.


Direct Message Problem :(

hello i'm trying to send messages to my followers . but the message where not delivered :(
this my code :

List<String> sN = new ArrayList<String>();
                for (InstagramUserSummary user : users) {
                    sN.add(String.valueOf(user.getPk()));
                    System.out.println("User " + String.valueOf(user.getPk()) + " follows ME!");
                }

                try {
                    instagram.sendRequest(InstagramDirectShareRequest.builder(InstagramDirectShareRequest.ShareType.MESSAGE,sN ).message("Hello").build());
                } catch (IOException e) {
                    e.printStackTrace();
                }

my logs :
I/System.out: User<PHONE_NUMBER> follows ME!
I/System.out: NULLHello
I/System.out: EXECUTED

Use:
ArrayList recipients = new ArrayList();
recipients.add(RECIPIENT_ID);
sendRequest(InstagramDirectShareRequest.builder(ShareType.MESSAGE, recipients).message(message).build());

From your output its clear your problem is that String.valueOf(user.getPk() is returning null so you're trying to send the DM to an empty string as your recipient.


Digit Dilemma game added

PR Description 📜
Added a new game. This is a logic-based puzzle game where your objective is to fill a grid with the numbers 1 through 9, ensuring that the calculations formed by the numbers in the grid equal the given target numbers.
Fixes #2494

Mark the task you have completed ✅

[x] I follow CONTRIBUTING GUIDELINE & CODE OF CONDUCT of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I have followed proper naming convention showed in CONTRIBUTING GUIDELINE
[x] I have added screenshot for website preview in assets/images
[x] I have added entries for my game in main README.md
[x] I have added README.md in my folder
[ ] I have added working video of the game in README.md (optional)
[x] I have specified the respective issue number for which I have requested the new game.

Add your screenshots(Optional) 📸

Thank you soo much for contributing to our repository 💗

Thank you @srujana-16 ,for creating the PR and contributing to our GameZone 💗
Review team will review the PR and will reach out to you soon! 😇
Make sure that you have marked all the tasks that you are done with ✅.
Thank you for your patience! 😀

Hello! please check this PR @kunjgit


Not signing in: "try signing in with a different account" error

Here you can see a preview of the error:

I also have this problem, very frustraiting, i have tried EVERYTHING without success

Tried everything still same issue.

Update your .env file with both the DATABASE_URL and DIRECT_DATABASE_URL variables settings. As shown in the following example, set DATABASE_URL to the pooled connection string for your Neon database and include pgbouncer=true, and set DIRECT_URL to the non-pooled connection string. https://neon.tech/docs/guides/prisma-migrate
DATABASE_URL=postgres://3xample:password@ep-white-mode-652705-pooler.us-east-2.aws.neon.tech/neondb?pgbouncer=true
<EMAIL_ADDRESS><EMAIL_ADDRESS>

i paid 15$ to a fiver guy to resolve this stupid issue. Your welcome.

I am running into the same issue, but it seems its because the database is not able to establish a connection, Any idea how I can fix it?

add '?pgbouncer=true' can fix it. P3P-tech already provide me the answer.

Even with the above suggestions, I'm still having problem with the same error. I think that Neon's Postgree service doesn't work very well and that's why we can't maintain connectivity between the application and the bank. Does anyone have a suggestion for a similar service to evaluate if it solves the problem?

Guys don't forget to run npm run build so that the schema migration is executed.

Hey all. I've just simplified the repo to remove auth and payments so you can clone and deploy very easily, only with a Replicate environment variable. Try it out and if you still have any problems, please open a new issue and I will take a look!


One time bindings break when batarang is enabled.

I can reproduce this issue in v10.6.
To reproduce:

Create a one-time binding. Test that it does not update when changed with batarang off.
Turn on batarang and notice that it now allows the multiple bindings.

Related to https://github.com/angular/batarang/issues/209

+1, same thing happens for me

This seems to have been fixed at one point (i.e. https://github.com/angular/batarang/issues/140 ) but I'm still seeing it now.

imho that's a major issue, wonder why no one cares to fix it.


DotNetCorePublish not producing web publish method of Package

What You Are Seeing?
When running DotNetCorePublish the project publish profile is being ignored and no WebDeploy .zip file is created.
What is Expected?
There should be a parameter for the web deploy profile.
What version of Cake are you using?
<IP_ADDRESS>
Are you running on a 32 or 64 bit system?
64
What environment are you running on?  Windows? Linux? Mac?
Windows 10

I was able to use the ArgumentCustomication to pass the publish profile.
`    var publishSettings = new DotNetCorePublishSettings
{
Configuration = configuration,
OutputDirectory = publishPath,
ArgumentCustomization = args => args.Append("/p:PublishProfile=MyPublishProfile"),
};
DotNetCorePublish(myProject, publishSettings);`

@bigswede74 great you got it sorted, MSBuild properties can also be added through the MSBuild setttings property i.e.
var publishSettings = new DotNetCorePublishSettings
{
     Configuration = configuration,
     OutputDirectory = publishPath,
     MSBuildSettings = new DotNetCoreMSBuildSettings()
                                    .WithProperty("PublishProfile", "MyPublishProfile")
};

DotNetCorePublish(myProject, publishSettings);


Tensor Wrapper

I am thinking about introducing some kind of tensor wrapper to the core classes that would be aware of the shape names. E.g., in case of the SentenceEncoder input where both of the dimensions are None, we could write that the first dimension is batch size and the second dimension is sentence length, etc.. It could be used for more detailed shape assertion and hopefully better configuration debugging and debugging of newly added components.
What do you think about such a thing? Would be useful? If yes, would it be worth doing or is it too laborious and pedantic? Wouldn't add a redundant conceptual barrier to potential contributors?

I guess no one wants this, not even me.


clear out unnecessary files from "models" folders

Next year we might consider using a batch script or R code to clear out junk files that we'll never use like ss3.p0* and ss3.r0* before the upload to Google Drive. This won't reduce the total disk space much (since the covar.sso file is much bigger than the junk files), but might make things quicker to transfer. Or maybe this would just be an unnecessary tedious step.
I'm creating a new "2017 assessment" Milestone with which to associate stuff like this.

Excellent... We should also check what is being stored by SSgetMCMC and SS_output, and have them only store what we are using in the assessment if possible. This would keep the rdata files smaller, reducing the time it takes to load during the doc build.

Good idea. We could definitely create a hake-specific modification to these
functions, either a separate function (which might be harder to keep
updated in parallel) or a wrapper that would strip away list elements that
take up unnecessary space.
On Mon, Feb 29, 2016 at 9:14 AM, cgrandin<EMAIL_ADDRESS>wrote:

Excellent... We should also check what is being stored by SSgetMCMC and
SS_output, and have them only store what we are using in the assessment if
possible. This would keep the rdata files smaller, reducing the time it
takes to load during the doc build.
—
Reply to this email directly or view it on GitHub
https://github.com/cgrandin/hake-assessment/issues/159#issuecomment-190296023
.

A wrapper might be easier, but more difficult to maintain - if the function changes in the package it could break the code. Perhaps we need a hake branch of r4ss?

Pushed back to milestone for 2018

Not very big benefit of using the clean.bat to cleanout files. There may be different versions floating around in the directories, one that deletes the .mcm and other mcmc files when it shouldn't. Probably safer to just not bother.


PID in digitalproperty-network is not returned as expected

In digitalproperty-network when REST operation get /LandTitle returns
{
"$class": "net.biz.digitalPropertyNetwork.LandTitle",
"titleId": "LID:6789",
"owner": "resource:net.biz.digitalPropertyNetwork.Person#%202312",
"information": "A small flat in the city"
},
while get /Person returns
{
"$class": "net.biz.digitalPropertyNetwork.Person",
"personId": "PID: 2312",
"firstName": "Larissa",
"lastName": "Auberger"
},
I would expect the owner in the business object LandTitle to have the same format as personId in the business object Person.

owner in LandTitle is modelled as a relationship (a typed pointer) whereas pesonId in Person is a string, so the serialisation will be different.
However "resource:net.biz.digitalPropertyNetwork.Person#%202312" decodes as:
resource:net.biz.digitalPropertyNetwork.Person# 2312
So, I think there is a bug with resource IDs with : in their name.


Allow Callable criterion in ragged.subset (rebase)

This is a duplicate of #350. Only change is that I rebased the branch to include the new commit on main. This is mainly to run the CI and catch any bugs.

I'll go ahead and close this one so we keep everyone's authorship in the commits.


Rename relational ops

Ticket

#9408

Problem description

Rename GTE and LTE op to LE and GE name as similar to torch API

What's changed

Renamed the ops and corresponding function call

Checklist

[x] Post commit CI passes - https://github.com/tenstorrent/tt-metal/actions/runs/9498748399
[ ] Model regression CI testing passes (if applicable) - https://github.com/tenstorrent/tt-metal/actions/runs/9497118304
[ ] New/Existing tests provide coverage for changes

Closing this PR as above ops name are updated in TTNN migration


fix: end response only if options route handler is not present

This PR implements a fix for plugin-api.
Now, we first check if the route has a listener/handler for the OPTIONS type request and if the handler is present then let the custom handler execute. If no handler is present it still ends with response.end().

Released in 3.2.4


Remove processingGeography from m4dapplication spec

M4DApplication spec includes a selector that connects m4dapplication to the user workload. This selector should include the cluster name in which the workload is running. If no cluster name exists, a local cluster is assumed.
This cluster name should be used by the manager to determine the processing geography instead of specifying the geography in the spec.

PR that addresses this issue has been merged.

PR that addresses this issue has been merged.


Show enum members in JS API review

JS API review is not showing Enum members and this causes insufficient diff even when public level Enums are changed. This PR also has the change to upgrade all existing JS reviews.
Thanks and regards,
Praveen

@jeremymeng Here is the PR for the changes we discussed.


⚠ ClamAV has degraded performance

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

HTTP code: 200
Response time: 446 ms

Resolved: ClamAV performance has improved in 13e70cb.


Custom authorizer support?

Awesome work on this plugin. :)
Just wondering though whether this plugin supports custom authorizers for WS?

Might have a go, depends on how complex the API is I guess. Haven’t really worked with API Gateway directly — Serverless does an excellent job at abstracting away all its complexity. 😀

I'm thinking about combining AWS Appsync with API Gateway Websockets :D Haven't really thought too much of it through though.. but I believe I can authorize the user via Appsync Authorization and do everything I want with Websockets through API Gateway!

If you’re already using AppSync and GraphQL, Subscriptions are probably a better option if you want to use pushed data.

+1


IMA and Keylime in the presence of package updates

Environment

OS/version: any
Processor architecture: any
TPM Manufacturer: any
Keylime version: any

Scenario

We use a package repository (e.g., a Debian repo) as the source for generating Keylime IMA allowlists.
At time t=t0, we generate allowlist "L0" based on the current state of the repository at that time.
L0 is used as the IMA policy for a keylime instance at a time t > t0.
At time t=t1 the repository maintainer updates the packages in the repository.

New packages become available.
Some packages are replaced with newer versions.
Some packages disappear.
CVEs may be recorded on certain obsolete package versions

Consequently a new keylime allow list, L1, is generated from the repository.
At time t=t2 > t1 the IMA allow list for our keylime instance is updated with a union of L0 and L1 (L0 + L1)
Next the target systems are updated according to the new repository. All obsolete packages are replaced or removed, but the system is not rebooted.
Finally, the keylime instance is updated again with the new policy L1.

Expected behavior

Specificity (no false positives): the keylime system does not record a failure during a correctly applied upgrade process as described above.
Sensitivity (no false negatives): the keylime system finds any package that was not correctly updated during the upgrade process.

Actual behavior
False positives: a correctly upgraded keylime system fails attestation as soon as (a) the system is upgraded, (b) the keylime policy becomes L1, and (c) the keylime agent is restarted.
This happens because when the keylime agent is restarted, the entire IMA log is re-sent to the verifier and replayed. The IMA log contains hashes that were measured while the old packages were installed (those conforming to policy L0). Since the policy is now L1, and may not contain hashes of obsolete packages, errors are recorded even though the system is currently "in policy".
False negatives: the keylime system fails to find packages that have been erroneously left in place; this happens in a situation where the (a) system was upgraded in a faulty manner (some old packages were not upgraded) (b) the keylime policy has now become L1 and c) the keylime agent was not restarted, and no false positives were raised.
This happens because hashes of old measured binaries exist in the IMA hash tables in the Linux kernel, preventing the re-recording of old executed packages. Thus, any re-execution of obsolete binaries does not cause even an IMA recording event, leaving Keylime completely in the dark about the execution of proscribed binaries.
Steps to reproduce problem
Day One:

On a freshly updated and rebooted machine use the latest generated Allowlist (Original) to enable Runtime Integrity Monitoring with IMA. The agent should begin attesting.

Day Two:

Update the machine, but do not reboot it. Grab the generated Allowlist (Original) from the repo for that day. I try to add new ones daily.
Update keylime with the new policy by restarting the agent with the tenant and new Allowlist. If attestation fails, check the verifier log for errors.
Look for WARNING - Hashes for file path/to/file do not match and search for the file in the IMA log. It can be expected to find it there twice.

Figure 1: Current Version of package openssh-server before system update. The SHA256 hash can be found in the IMA log for this version. It is the only occurrence.

Figure 2: The openssh-server package has been updated on system to match the most recent version in repository.

Figure 3: The file /usr/sbin/sshd for version 1:8.9p1-3ubuntu0.4 is still in the IMA log after system update.

Figure 4: The file /usr/sbin/sshd for version 1:8.9p1-3ubuntu0.6 is also in the IMA log after the system update. Only the new hash is in the Allowlist L1.

Figure 5: Output from the Keylime Verifier Log. IMA log cannot match old hash for  /usr/sbin/sshd.

To pick one item from the list: For as long as you don't reboot the system and you restart the keylime agent or re-register the system using the tenant tool you have to have an allowlist with the old measurements of packages before the upgrade. If there was a list of hashes of files with CVEs in some sort of policy you would probably want to know about these offending hashes now so you have some indication to tell you to deal with these apps and/or reboot the system. If skipping over the old hashes was the solution then that would not let you know what happened before the upgrade. I think we would always want to look at the hashes on the system from the very beginning to see what has run there. Whether the offending applications are still running is a different problem.

So here the idea from yesterdays meeting.
We allow the IMA log to be evaluated with different policies to a certain index. To prohibit rollback attacks. Old policies only apply if the TPM clock reboot and reset variables haven't changed.
User story would be:

Node gets added for IMA attestation with policy A
User wants to update Node
User adds via tenant new policy B that includes the new and old software packages. That now applies starting index x1.
User updates Node with new software packages
User adds via tenant new policy C that only includes new packages that now applies starting index x2.

Start -- A --> x1 -- B --> x2 -- C -->

The main open question is how we handle deletion of policies etc. Do we delete old policies automatically or do we fully leverage the named policy feature and require manual interaction?
Next do we allow setting the index manually or do we determine them dynamically via agent state?

Ideally we would also allow to update the agent without fully removing and re-adding it, but this is a mostly orthogonal problem.

What is an index in this context?
Something to take into account is that some systems, like SLE Micro or MicroOS does support rollbacks. A rollback here is a generalization of a A/B installation (you are in A, you update the partition B, reboot to B and if something goes wrong go back to A), but with N possible installations (A/B/C/...)
Rollback is a very natural operation here. If the automatic health checker detect something fishy, the old boot entry will be set as default and the system will command a reboot to recover the last good known state.
This can influence how we want to keep the good list of IMA hashes and policies in Keylime

What is an index in this context?

Index is just a position in the IMA log.
Rollback is indeed a use case that we should consider. Here would need to update the agent anyways on the verifier because of the reboot. Maybe we should solve the user story of scheduled reboot without false positives when we make this change.

If we start with indices in the log then I suppose we would have to make this a per-system index to be added on the -C add/update command line in some form. We'll also have to recognize kexec type of reboots versus warm reboots where in the former we need to keep the index and in the latter we could discard/reset the index  -- something we didn't have to do so far.

Do we need to verify every single line from the IMA log? Let's say there are 100 records in the IMA log and we want to update keylime policy for the measured system. At this point, keylime_tenant (or other tool) instructing the verifier to update the policy could also tell verifier to make a "record" of this policy update event, i.e. storing the current/latest IMA log index and the respective hash prior policy update. Since the system is still attested we can save this trusted state and in the future when replaying the IMA log verifier would know that there has been policy update at IMA log index 100. Therefore, if encountering mismatch at IMA log line 20 it would continue computing the running hash until line 100 and verify the hash against the former record. If these two matches, the verifier would continue computing the running hash until the end of the IMA log, matching everything passed line 100 against the new keylime policy and TPM.

Do we need to verify every single line from the IMA log?

A reason why one may wants to verify every single line may be that one wants to be able to detect whether applications with hashes in a blacklist were started on the system at some point even though they have been replaced with newer versions now. IMA won't tell you whether the apps are still running. We don't have support for a blacklist in the policy right now (afaict) but if we had one I think it would be important that at least the blacklist would still be 'applied' to the first n log entries. For now we would have to resort to 'missing' hashes in our list indicating untrusted applications.


Bump components' versions in docker-compose.yaml

Summary
Bump components for local development environment to current version in docker-compose.yaml:

postgres to v17.2-alpine (from: https://hub.docker.com/_/postgres)
keycloak to v26.0.7 (from: https://quay.io/repository/keycloak/keycloak?tab=tags)
keycloak-config-cli to v6.2.1 (from: https://hub.docker.com/r/bitnami/keycloak-config-cli)
openfga to v1.8.0 (from: https://hub.docker.com/r/openfga/openfga)
nats to v2.10.22 (from: https://hub.docker.com/_/nats)

Bonus: remove redundant entry in .gitignore.
Change Type
Mark the type of change your PR introduces:

[ ] Bug fix (resolves an issue without affecting existing features)
[ ] Feature (adds new functionality without breaking changes)
[ ] Breaking change (may impact existing functionalities or require documentation updates)
[ ] Documentation (updates or additions to documentation)
[x] Refactoring or test improvements (no bug fixes or new functionality)

Testing
Successfully tested locally:
$ make run-docker
Running docker compose down ...
Running docker compose up ...
Building the minder-server image (KO_DOCKER_REPO=ko.local)...
2024/12/05 20:17:57 Using base cgr.dev/chainguard/static:latest@sha256:5ff428f8a48241b93a4174dbbc135a4ffb2381a9e10bdbbc5b9db145645886d5 for github.com/mindersec/minder/cmd/server
2024/12/05 20:17:58 git is in a dirty state
Please check in your pipeline what can be changing the following files:
 M .gitignore
 M docker-compose.yaml
 M docker/minder/Dockerfile
 M docker/reminder/Dockerfile
 M docs/docs/run_minder_server/run_the_server.md
 M go.mod
 M internal/verifier/sigstore/tufroots/tuf-repo.github.com/root.json
 M tools/go.mod

2024/12/05 20:17:58 Building github.com/mindersec/minder/cmd/server for linux/amd64
2024/12/05 20:18:02 Loading ko.local/server:f0d7d43f7c91f9e857e85109c54a9385456d6c5b43375302755741f33682879d
2024/12/05 20:18:02 Loaded ko.local/server:f0d7d43f7c91f9e857e85109c54a9385456d6c5b43375302755741f33682879d
2024/12/05 20:18:02 Adding tag latest
2024/12/05 20:18:02 Added tag latest
[+] Running 8/8
 ✔ Network minder_app_net        Created                                                                                0.1s
 ✔ Container keycloak_container  Healthy                                                                                32.3s
 ✔ Container openfga             Healthy                                                                                32.3s
 ✔ Container nats                Healthy                                                                                32.3s
 ✔ Container postgres_container  Healthy                                                                                32.3s
 ✔ Container minder_migrate_up   Exited                                                                                34.2s
 ✔ Container keycloak_config     Exited                                                                                32.1s
 ✔ Container minder_server       Started                                                                                34.4s

$ docker ps --all
CONTAINER ID   IMAGE                                                                              COMMAND                  CREATED          STATUS                      PORTS                                                                                NAMES
19047a7003b8   ko.local/server:f0d7d43f7c91f9e857e85109c54a9385456d6c5b43375302755741f33682879d   "/ko-app/server serv…"   44 seconds ago   Up 9 seconds                <IP_ADDRESS>:8080->8080/tcp, :::8080->8080/tcp, <IP_ADDRESS>:8090->8090/tcp, :::8090->8090/tcp, <IP_ADDRESS>:9090->9090/tcp, :::9090->9090/tcp   minder_server
bf0ca19b82f4   bitnami/keycloak-config-cli:6.2.1                                                  "java -jar /opt/bitn…"   44 seconds ago   Exited (0) 15 seconds ago                                                                                keycloak_config
abfd0b47a593   ko.local/server:f0d7d43f7c91f9e857e85109c54a9385456d6c5b43375302755741f33682879d   "/ko-app/server migr…"   44 seconds ago   Exited (0) 10 seconds ago                                                                                minder_migrate_up
13e762deaea3   postgres:17.2-alpine                                                               "docker-entrypoint.s…"   44 seconds ago   Up 43 seconds (healthy)     <IP_ADDRESS>:5432->5432/tcp, :::5432->5432/tcp                                                                                postgres_container
b061de0ad640   quay.io/keycloak/keycloak:26.0.7                                                   "/opt/keycloak/bin/k…"   44 seconds ago   Up 43 seconds (healthy)     8443/tcp, 9000/tcp, <IP_ADDRESS>:8081->8080/tcp, :::8081->8080/tcp                                                                     keycloak_container
06ac41bfe625   openfga/openfga:v1.8.0                                                             "/openfga run --play…"   44 seconds ago   Up 43 seconds (healthy)     <IP_ADDRESS>:8085->8085/tcp, :::8085->8085/tcp, <IP_ADDRESS>:8082->8080/tcp, :::8082->8080/tcp, <IP_ADDRESS>:8083->8081/tcp, :::8083->8081/tcp   openfga
590e29d5dc70   nats:2.10.22                                                                       "./nats-server --htt…"   44 seconds ago   Up 43 seconds (healthy)     <IP_ADDRESS>:4222->4222/tcp, :::4222->4222/tcp, <IP_ADDRESS>:8222->8222/tcp, :::8222->8222/tcp, 6222/tcp                                    nats

Review Checklist:

[x] Reviewed my own code for quality and clarity.
[ ] Added comments to complex or tricky code sections.
[ ] Updated any affected documentation.
[ ] Included tests that validate the fix or feature.
[ ] Checked that related changes are merged.

coverage: 55.212% (-0.003%) from 55.215%
when pulling 433b29e63a7551db734108378a420e4c55eefc5b on prezha:docker-compose
into b4fc9e370f8d3996a4ed8fc417aeae3a8eb84bcd on mindersec:main.

thanks for the review and providing some more context, @eleftherias !
based on that, i've reverted the change in keycloak-related dependencies and also bumped a notch up openfga - the be in line with the pr https://github.com/mindersec/minder/pull/5156

this is interesting:
📦 github.com/mindersec/minder/internal/providers/github/webhook
    testing.go:1399: race detected during execution of test


Scroll and sorting on mobile

I am using this control outside the map and just noticed that scrolling inside the legend and sorting does not work on mobile. It looks like this is a jquery sortable issue. Has anyone run into this and found a workaround. I am specifically interested in a workaround for scrolling. I'll post my progress here if any.

@reyemtm - sorry for the late response.
You're absolutely right on the lack of mobile functionality. jQuery UI - which handles the sorting doesn't work well (if at all) on mobile. Several years back, Touch Punch was created to allow for touch events with jQueryUI - but the main repo hasn't been active for years. It may be worth a shot to simply add it as an additional dependency, but I have my suspicions that it won't solve all issues.
One of these days, I'd like to refactor the Layer Tree using SortableJS, as I've had good success with it on mobile devices...

The main problem is not the sortable function, but that overflow scrolling also does not work. I made the container for the legend wider than the legend, thereby allowing scrolling with touch.


simplify HtmlWebpackPlugin options

inject: 'body' is default
chunksSortMode: 'dependency' should sort your injects correctly, without helper function, also will be the default behavior in webpack2

Will take a peek, this was in my list of TODOs :)


Relaxed some of the closure types

By relaxing some of the typing info you can still compile without warnings and remove some inline /** @type {...}*/(...) at the same time.
Goes part of the way to addressing issues with #112

Aside from the Document comment, these look good to me. Thanks for cleaning up these up. :smile:

Spotted 1 more: Changing NodeData.text to type {string|number|boolean} will allow us to remove the inline hint from text().


Add 3DS2 message version configuration

Covered in https://github.com/Judopay/JudoKit-iOS/pull/140


Autocomplete is not showing aliases to functions

In this sample zeros() function is not shown as suggestion.
It is an alias defined as zeros = multiarray.zeros
import numpy as np
image = np.zeros((10, 10))

PTVS version 2.2.31124.00
Visual Studio 2015 Update 1

This is a known issue - we do not produce great intellisense for native functions, unless they have very precise documentation. We're working on good ways to fix this, which will probably rely on type hint files, though it won't be available for a while.


⚠ Cioos National CKAN Sitemap has degraded performance

In 7f009fd, Cioos National CKAN Sitemap (https://catalogue.cioos.ca/sitemap/sitemap-1.xml) experienced degraded performance:

HTTP code: 200
Response time: 10486 ms

Resolved: Cioos National CKAN Sitemap performance has improved in c9c4cb3 after 4 minutes.


Regular Expression Validator to include support for 'u' (UTF-8) modifier

What steps will reproduce the problem?
An example - I would like to create a rule in my model, that would check whether my password field contains both numeric and alphabetic characters (also non-english characters) both in front-end and back-end.
So, I create a rule for the 'password' field, where it would be required to match the following pattern - /^(?=.*\p{L})(?=.*[0-9]).+$/u (notice the u at the end, which is the PCRE_UTF8 modifier (see here http://php.net/manual/en/reference.pcre.pattern.modifiers.php )
It looks ahead for utf-8 letters (the (?=.*\p{L}) part) and for numbers (?=.*[0-9]), passes if has at least one of both.
What is the expected result?
In this case I expect, that both in front-end and back-end the validation would pass if password had both letters and numbers and fail if it didn't.
What do you get instead?
Back-end validation is successful, upon sending a correct form data is refreshed and the error is not shown.
However in front-end it fails by showing that the entered password is incorrect, although the password has both numbers and letters.
Additional info
The reason why this happens is that the pattern goes through RegularExpressionValidator when it is being 'compiled' and the 'getClientOptions' method is being called.
In the first line of the method the pattern is being escaped by this function -
\yii\helpers\BaseHtml::escapeJsRegularExpression, where in the last lines of the function it is checked, whether there is or is not any flag provided.
The only valid flags are i, g and m, all the other ones are being escaped, therefore if I have a regular expression like previously mentioned, it ends up losing the u flag at the end.
Maybe it would be possible to add the u to the excluded list, so it could be used if necessary? Or perhaps there are reasons why it is excluded in the first place? (I understand that upon releasing 2.0.6 version with the exclusions there could have been some reasons for excluding the u tag as the ES6 was already released one month prior and some broswers still may be incompatible, but this would be a very neat thing to have for patterns)

Q
A

Yii version
2.0.13

PHP version
7.2

Operating system
Ubuntu 16.04

#17009


background image

Better background

Great job.

Code looks clean, will try to document afterwards.

I like the look of the new background.


Add NewsParameters table and edit screen

Add a NewsParameters table and edit screen to control the effect of the NewsItem on the game logic, so it can be dynamically controlled instead of being hard coded.

The newsparameters table has been added:
CREATE TABLE IF NOT EXISTS `housinggame`.`newsparameters` (
  `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `house_discount_euros` TINYINT NOT NULL DEFAULT 0,
  `house_discount_percent` TINYINT NOT NULL DEFAULT 0,
  `house_discount_year1` INT(10) UNSIGNED NOT NULL DEFAULT 0
      COMMENT 'House discount year 1 after flooding, in Euros or as a percentage',
  `house_discount_year2` INT(10) UNSIGNED NOT NULL DEFAULT 0
      COMMENT 'House discount year 2 after flooding, in Euros or as a percentage',
  `house_discount_year3` INT(10) UNSIGNED NOT NULL DEFAULT 0
      COMMENT 'House discount year 3 after flooding, in Euros or as a percentage',
  `pluvial_protection_change` INT(11) NOT NULL DEFAULT 0,
  `fluvial_protection_change` INT(11) NOT NULL DEFAULT 0,
  `tax_change` FLOAT NOT NULL DEFAULT 0.0,
  `satisfaction_living_bonus` INT(11) NOT NULL DEFAULT 0,
  `satisfaction_move_change` INT(11) NOT NULL DEFAULT 0,
  `newsitem_id` INT(10) UNSIGNED NOT NULL,
  `community_id` INT(10) UNSIGNED NULL DEFAULT NULL
      COMMENT 'When community_id is NOT filled, all communities are affected equally.',
  PRIMARY KEY (`id`),
  UNIQUE INDEX `id_UNIQUE` (`id` ASC) VISIBLE,
  INDEX `fk_newsparameters_newsitem1_idx` (`newsitem_id` ASC) VISIBLE,
  INDEX `fk_newsparameters_community1_idx` (`community_id` ASC) VISIBLE,
  CONSTRAINT `fk_newsparameters_newsitem1`
    FOREIGN KEY (`newsitem_id`)
    REFERENCES `housinggame`.`newsitem` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION,
  CONSTRAINT `fk_newsparameters_community1`
    FOREIGN KEY (`community_id`)
    REFERENCES `housinggame`.`community` (`id`)
    ON DELETE NO ACTION
    ON UPDATE NO ACTION)

Added a name field to the table in the database

Renamed the table to newseffects for clarity.

Current setup of the table is:
CREATE TABLE `newseffects` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(45) NOT NULL,
  `house_discount_euros` tinyint(4) NOT NULL DEFAULT 0,
  `house_discount_percent` tinyint(4) NOT NULL DEFAULT 0,
  `house_discount_year1` int(10) unsigned NOT NULL DEFAULT 0
      COMMENT 'House discount year 1 after flooding, in Euros or as a percentage',
  `house_discount_year2` int(10) unsigned NOT NULL DEFAULT 0
      COMMENT 'House discount year 2 after flooding, in Euros or as a percentage',
  `house_discount_year3` int(10) unsigned NOT NULL DEFAULT 0
      COMMENT 'House discount year 3 after flooding, in Euros or as a percentage',
  `pluvial_protection_change` int(11) NOT NULL DEFAULT 0,
  `fluvial_protection_change` int(11) NOT NULL DEFAULT 0,
  `tax_change` float NOT NULL DEFAULT 0,
  `satisfaction_living_bonus` int(11) NOT NULL DEFAULT 0,
  `satisfaction_move_change` int(11) NOT NULL DEFAULT 0,
  `newsitem_id` int(10) unsigned NOT NULL,
  `community_id` int(10) unsigned DEFAULT NULL
      COMMENT 'When community_id is NOT filled, all communities are affected equally.',
  PRIMARY KEY (`id`),
  UNIQUE KEY `id_UNIQUE` (`id`),
  KEY `fk_newsparameters_newsitem1_idx` (`newsitem_id`),
  KEY `fk_newsparameters_community1_idx` (`community_id`),
  CONSTRAINT `fk_newsparameters_community1` FOREIGN KEY (`community_id`) REFERENCES `community` (`id`)
      ON DELETE NO ACTION ON UPDATE NO ACTION,
  CONSTRAINT `fk_newsparameters_newsitem1` FOREIGN KEY (`newsitem_id`) REFERENCES `newsitem` (`id`)
      ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

NewsEffects table tested and working.


multiqc

@colindaven
The multiqc process is not working right now, because

the input wochenende.out.collect doesn't work, since we have to clarify wich wochenende output we need
it uses another conda env, that I do not have and I do not know where to get it

Yes, I know, it's not complete. It needs to be redesigned, and needs a whole lot of input. Perhaps it's best as part of the wochenende process or as part of a bam_stats process. It's not critical though.


Priorities with .zshrc

My script is related to the function defined in .zshrc.
So I want to know which comes first.
If the script comes first before system read .zshrc, then my scripts of course will false.
If the script comes later before system clean function in .zshrc , then my scripts of course will false.
I prepare to try it and post the results later.

Sorry I missed your issue. Had you tried?


Fix comparing pull requests between tags by merged_at field

So far they were compared by actual_date field, which caused some PRs not to be listed in the changelog.

Hi!
The actual_date - is a date, when issue was closed for issues and date, when it was merged for PR.
For more details and reason, why I'm not using merged_at described here: https://github.com/skywinder/github-changelog-generator/issues/37
I check logic twice, and it seems, that it works correct in my case. But not in yours code not handling correctly with some PR's. You can check it on this repo. (check issues 238, 70,  65). Nevertheless I didn't fins any missed issues.
If it's still buggy, can you provide examples, where some PR is missing in change log?

@skywinder , if you look at my repo:
https://github.com/abonas/kubeclient
When I generated yesterday a changelog, this PR
https://github.com/abonas/kubeclient/pull/106
didn't appear as part the changelog,
although it was supposed to appear under tag 0.4.0 (that is, between tags 0.3.0 and 0.4.0)
After doing the change I propose in this patch - to go by merged_at, it did appear.

@abonas :+1:  :+1:  :+1:  :+1:
Got it! It's a real bug, but problem was in events fetching. generator fetch only first 30 events. and your PR https://github.com/abonas/kubeclient/pull/106 has 62 events. So there is not correct detecting of actual date (it was nil before). I will release fix soon, thanks!

@skywinder perfect!
btw there's a label here "wontfix" - probably by mistake?

Close in favor of #268.