Android - Workspace - Missing workspace with "Requested" label after joining workspace

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

Version Number: 9.0.66-3
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught on HybridApp, is this reproducible on New Expensify Standalone?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Issue reported by: Applause - Internal Team
Action Performed:

Launch New Expensify app
[User A] Go to workspace settings > Profile > Share
[User A] Click Copy URL
[User A] Send the invite link to User B
[User B] Open the workspace invite link

Expected Result:
Workspace list will show the joined workspace with a "Requested" label.
Actual Result:
Workspace list does not show the joined workspace with a "Requested" label after opening workspace invite link
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Standalone
[x] Android: HybridApp
[x] Android: mWeb Chrome
[x] iOS: Standalone
[x] iOS: HybridApp
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos

Add any screenshot/video evidence

https://github.com/user-attachments/assets/caa0b891-c3d9-4a8f-b6e5-0866e7c8fa4f
View all open jobs on GitHub

Already tracked under #52394

Proposal
Please re-state the problem that we are trying to solve in this issue.
There is no pending requested workspace shown when trying to join the workspace by link.
What is the root cause of that problem?
This happens if we previously use a workspace join link. For example, if we use workspace A join link then use workspace B join link, then workspace B join link won't work. It all happens because if at least a join link is used once, then we ignore any other incoming link.
https://github.com/Expensify/App/blob/2ce0764f8e8faf9a814072f4445f53822e840b5a/src/pages/workspace/WorkspaceJoinUserPage.tsx#L35-L45
https://github.com/Expensify/App/blob/2ce0764f8e8faf9a814072f4445f53822e840b5a/src/pages/workspace/WorkspaceJoinUserPage.tsx#L27
It was added to fix an issue where the invite by link API request is triggered multiple times. I can't seem to repro it anymore even after removing the fix, but it probably happened before because the useEffect depends on the whole policy collection.

What changes do you think we should make in order to solve the problem?

We have 2 options to solve it. We want the invite API request to only happen once, but it's possible that the policy onyx data isn't ready yet (especially when we migrate to useOnyx), which could give us a wrong result for the if here.
https://github.com/Expensify/App/blob/2ce0764f8e8faf9a814072f4445f53822e840b5a/src/pages/workspace/WorkspaceJoinUserPage.tsx#L46-L52
Assuming we migrate to useOnyx
const [policy, policyResult] = useOnyx(`${ONYXKEYS.COLLECTION.POLICY}${route?.params?.policyID}`);
const isPolicyLoading = isLoadingOnyxValue(policyResult);

we can replace all the dependencies here with isPolicyLoading.
https://github.com/Expensify/App/blob/2ce0764f8e8faf9a814072f4445f53822e840b5a/src/pages/workspace/WorkspaceJoinUserPage.tsx#L61
Then, in the useEffect, if isPolicyLoading is true, then we return early. Then we can remove the isJoinLinkUsed.
The 2nd option is to convert isJoinLinkUsed into a ref.

Closing this as a duplicate

@slafortune this isn't a dupe of https://github.com/Expensify/App/issues/52394. https://github.com/Expensify/App/issues/52394 is a navigation issue where the workspace list page doesn't open, whereas this issue is that the join request isn't sent to the BE if we use a workspace join link (different link) for the 2nd time.

@slafortune hi, can you recheck this one, please?

@slafortune bump ^


Make the quantization code less insane

The readability of the code in src/quantization (which I ported from llama.cpp) is not acceptable.

I am closing this now. With https://github.com/cafaxo/Llama2.jl/commit/587d270a36e44012205b77e6443e2d1e1450f8a2, the quantization code is finally in a good state.
Basically, we are now letting the compiler doing all the heavy lifting.
The code should be fairly accurate now, but some performance is probably left on the table.


chore: deprecarte pylint in favor of ruff

This could be slightly controversial, but submitted as a DRAFT for discussion. After thinking about it, I think we should just move forward with this. Shouldn't be controversial. File under simplify/accelerate builds/devex/tooling.
The case for pylint deprecation:

mostly covered by ruff: what matters most in pylint is already re-implemented
pylint is SLOW, ruff is a million times faster - pre-commit / pylint is one of our longest, most expensive CI step
rules are currently scattered in different places and can conflict at times
checked in with the Airflow community, they went all in on ruff, deprecated pylint and are extremely happy with the switch

Very relevant is this link that explains what pylint features are covered or not by ruff:
https://github.com/astral-sh/ruff/issues/970
Essentially we can simplify & speed things up here..
If we agree on the direction, the plan is to follow up and enable all the rules, apply ruff check --fix and ruff check --add-no-qa, which will enable the set of rules commented now, fix the obvious, and add a # noqa to the lines that are not immediately fixable.

@mistercrunch Can we reserve this for the 5.0 breaking window. We'll gather proposals for 5.0 next week. I'll send an email and you could include this. I know that this will break our internal release so using a major release is safer.

Can we reserve this for the 5.0 breaking window

When is this scheduled? Thinking about it though, switching dev tools shouldn't have any impacts on UX/interfaces. From my understanding semver is mostly interface oriented. I'm favoring moving fast on this while I have momentum on improving devex. Though it may have impact on mergeability of cherries, so may be good to wait for that.
Also noting that when I enabling the pylint rules currently commented in my PR using ruff, it finds hundreds lint issues, meaning turning on ruff should up code quality moving forward (my plan is to enable these rules, run --fix, and --add-noqa).

Hmm I don't think this should necessarily be tied to the 5.0 breaking window 🤔 I say 🚢 it, but let's wait for @michael-s-molina to confirm.

I'm ok with merging this now if you think it's not controversial. I would just ask to add something to UPDATING.md as there are orgs that extend Superset's code and are currently using pylint. I'll remove it from the 5.0 board.

Ok adding a note in UPDATING.md and mergin'! 🚢

Ok, will merge and fast follow with another PR enabling more ruff rules that in some edge cases collided between ruff --fix and pylint (they disagreed on technicalities around enforcing/fixing certain rules - both takes were sane but not exactly the same in all cases)

Fast-follow here -> https://github.com/apache/superset/pull/31447


Can someone help provide proper configuration to have protractor run in firefox, and compatible version of firefox

I am using the following configuration for protractor :
"protractor": "^5.4.2",
"should": "^7.1.1",
"webdriver-manager": "^12.1.1",
"webpack": "^1.12.6"
[11:06:02] I/status - selenium standalone version available: 3.141.59 [last]
[11:06:02] I/status - chromedriver versions available: 2.45, 2.46 [last]
[11:06:02] I/status - geckodriver versions available: v0.13.0, v0.17.0 [last], v0.21.0, v0.24.0
[11:06:02] I/status - android-sdk is not present
[11:06:02] I/status - appium is not present
config file 👍
capabilities: {
browserName: 'firefox',
marionette: false,
firefoxOptions: {
args: ['--headless']
},
'moz:firefoxOptions': {
args: ['--headless']
}
}
firefox version currently is 56.0.2. Because i wanted to run headless and i read that it is only supported in 55+, but the tests wont run with this set up -->
[09:15:39] I/launcher - Running 1 instances of WebDriver
[09:15:39] I/hosted - Using the selenium server at http://localhost:4444/wd/hub
[09:16:24] E/launcher - Timed out waiting 45 seconds for Firefox to start.
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:53'
[10:58:36] E/launcher - WebDriverError: Timed out waiting 45 seconds for Firefox to start.
Driver info: driver.version: unknown
at Object.checkLegacyResponse (/home/Development/lrp-protractor/node_modules/selenium-webdriver/lib/error.js:546:15)
at parseHttpResponse (/home/Development/lrp-protractor/node_modules/selenium-webdriver/lib/http.js:509:13)
at doSend.then.response (/home/Development/lrp-protractor/node_modules/selenium-webdriver/lib/http.js:441:30)
at process.internalTickCallback (internal/process/next_tick.js:77:7)
From: Task: WebDriver.createSession()
at Function.createSession (/home/Development/lrp-protractor/node_modules/selenium-webdriver/lib/webdriver.js:769:24)
at Function.createSession (/home/Development/lrp-protractor/node_modules/selenium-webdriver/firefox/index.js:521:41)
at createDriver (/home/Development/lrp-protractor/node_modules/selenium-webdriver/index.js:170:33)
at Builder.build (/home/Development/lrp-protractor/node_modules/selenium-webdriver/index.js:632:16)
at Hosted.getNewDriver (/home/Development/lrp-protractor/node_modules/protractor/built/driverProviders/driverProvider.js:53:33)
at Runner.createBrowser (/home/Development/lrp-protractor/node_modules/protractor/built/runner.js:195:43)
at q.then.then (/home/Development/lrp-protractor/node_modules/protractor/built/runner.js:339:29)
at _fulfilled (/home/Development/lrp-protractor/node_modules/q/q.js:834:54)
at /home/Development/lrp-protractor/node_modules/q/q.js:863:30
at Promise.promise.promiseDispatch (/home/Development/lrp-protractor/node_modules/q/q.js:796:13
Can run the test in chrome however without any issues. I tried older version of firefox (47) it works and runs the test but fails because it is not full screen and i tried running in headless, but still opens up the browser. I am fairly new to set up and configuration. Great if someone could provide info.

Hi! This looks like a support question. Please ask your support questions on StackOverflow or Gitter. For more information please reference https://github.com/angular/protractor/blob/master/CONTRIBUTING.md#questions
Thank you!


How to display 2 or more calendars

How is possible to mix 2 or more calendars with different symbol ?
I already try to mix 3 methods
calendars: [
{
url: 'URL 1.ics',
symbol: 'calendar',
url: 'URL 2.ics',
symbol: 'briefcase',
},
],
also I try
calendars: [
{
url: 'URL 1.ics',
symbol: 'calendar',
auth: {
}
},
],
calendars: [
{
url: 'URL 2.ics',
symbol: 'calendar',
}
},
],
Finally i Try
config: {
colored: false,
coloredSymbolOnly: false,
calendars: [
{
url: 'URL 1.ics',
symbol: 'calendar',
}
},
],
}
config: {
colored: false,
coloredSymbolOnly: false,
calendars: [
{
url: 'URL 2.ics',
symbol: 'calendar',
		}
	},
],

}
I know that there is something wrong, maybe you can help me to fix it.
Thanks

No response, I assume the question has been resolved.


[linter]: warning if discriminator is not the 1st property

Clear and concise description of the problem
This is initiated by https://github.com/Azure/autorest.csharp/issues/4439 Although the original issue was rejected due to limited benefits, it inspired us to think it may be a good convention to always write discriminator at the beginning.
Case 1: Implicit Discriminator
@discriminator("kind")
model Foo {
  name: string;
}

Implicit is fine, since we can treat it as the 1st property.
Case 2: Explicit Discriminator Defined on top
@discriminator("kind")
model Foo {
  kind: string;
  name: string;
}

This is recommended.
Case 3: Explicit Discriminator Defined not on top
@discriminator("kind")
model Foo {
  name: string;
  kind: string;
}

Show a warning to move discriminator to the top.
Other Cases
I'm not sure if we should throw warning for the following cases.
@discriminator("kind")
model Foo extends Bar {
  kind: string;
  name: string;
}

@discriminator("kind")
model Foo {
  Bar...
  kind: string;
  name: string;
}

Checklist

[X] Follow our Code of Conduct
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

We should not put limitations on emitter serialization based on .Net capabilities


[FEAT]: Add support for TSX files as text files.

What would you like to see?
I would like to see TSX files treated as text files.

PR: #1597 submitted for this.


fs.readdir(Sync) doesn't preserve directory

I would have expected that the following code preserves the directory in question:
fs.readdir('/some/dir', () => { /* actual code */ });

But it doesn't. The following does:
fs.stat('/some/dir', () => { /* ignored, just here for the tracer */ });
fs.readdir('/some/dir', () => { /* actual code */ });

Was this a conscious design decision?

Looks like a bug to me, thanks!

Thanks for confirming! Also, sorry for the issue flood. Wanted to document these things while my memory was still fresh. :)

@jkrems The "flood" is perfect because it narrows down the bugs to the smallest repro steps. Thanks!

This is not so much about the directory being ignored or not, and more just that the way asset references are detected is based on anytime you have a handle to a full file path to something, it is deemed a reference. For an example analog, an import.meta.url that escapes analysis is deemed a "free asset reference" which should be included / inlined to its source expression.
More advanced analysis would ideally handle the concept of a "sink". Eg console.log(import.meta.url) has no need to emit an asset because the console.log statement can be regarded as an analysis sink in that no file functions get hold of the reference.
In this same way it seems like you are expecting fs.readdir to act as an analysis sink for the asset reference, but we don't have full tracing of analysis source to sink in the current approach unfortunately for this to work.
@jkrems do you have an explicit test case / full scenario where this is in usage for us to consider how to treat this / resolve the underlying issue?

The actual code I was using is here: https://github.com/azukaru/progressive-fetching/pull/5/files#diff-d9c6ec01349c957e389e5769c466223aR20. The pseudo-code summary is:
const chunkDir = path.resolve('.next', 'static', 'chunks');
const lookupIndex = buildLookup(fs.readdirSync(chunkDir));
return id => {
  return fs.readFileSync(getFilenameFromId(id));
};

Right now readdirSync doesn't count as an asset reference as well. So the above code isn't enough to preserve chunkDir. I think if a stat of a directory is treated as a glob-style asset reference, readdir should as well. Unless there's patterns I'm not aware of where readdir could lead to overly broad inclusions.

@jkrems so the thing is, that:
const chunkDir = path.resolve('.next', 'static', 'chunks');

is actually all that is needed to create an asset emission.
The reason for this is that asset analysis cannot be expected to analyze every possible code path (especially given the ability for references to escape any level of analysis).
As a result the only full-proof way to detect references to assets is to detect the source expressions (and as a side note, this is why I put such importance on import.meta.url and import.meta.resolve in ES module analysis as they are the only source of local references, apart from process.cwd() and functions that use the process.cwd() capability).
If we dig into the exact case again, I expect that we will find that chunkDir exactly is being analyzed and emitted by this project, but rather failing the filter. It should be possible to detect this by enabling the log: true feature, and looking for a message like https://github.com/zeit/node-file-trace/blob/master/src/analyze.js#L746. Alternatively the filter paths can be debugged manually.

In terms of filter fixes - yes treating a fs.readdirSync expression as something that explicitly turns off filtering, or having some more fine-grained behaviours in place could be a way to achieve this.

I'm fairly certain I tracked it down to readdirSync not being in this list: https://github.com/zeit/node-file-trace/blob/3b59df9b1d594c375f8549d5a6d3e5df2e03fb33/src/analyze.js#L42-L57. path.join wasn't enough, it's just statically evaluated using the native implementation: https://github.com/zeit/node-file-trace/blob/3b59df9b1d594c375f8549d5a6d3e5df2e03fb33/src/analyze.js#L124-L136

path.resolve is specifically analyzed with the local process.cwd() for the project - https://github.com/zeit/node-file-trace/blob/3b59df9b1d594c375f8549d5a6d3e5df2e03fb33/src/analyze.js#L139.
Perhaps the analysis cwd wasn't matching the project cwd, which would result in no emission?
fs.readdir is entirely redundant here - the emission is about the emission expression. Fs triggers as with FS_FN are for generating emission sources where there might not otherwise have been. For example fs.readFile('asdf') being cwd-relative, where we don't want to analyze every 'asdf' string.

Can't repro in simple unit test against latest master. So this doesn't seem to be an issue anymore. I'm pretty sure it used to go away when adding stat, independent of any calls to resolve. But looks like I can't reproduce that. :)


add Font and Theme to rnPaper config

Dear @amerllica i change the way of handling theme and move it to Redux

Great job, I'm not sure if we should also include react-native-appearance as it's here


Fix Missing Comma Between DOI Regex Patterns

Description
This PR fixes a bug introduced in #30 whereby the DOI regex patterns were not separated by strings, and were instead concatenated together.
Status

[X] Ready to go

Codecov Report

Merging #33 into master will decrease coverage by 3.69%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #33      +/-   ##
==========================================
- Coverage   87.23%   83.53%   -3.70%
==========================================
  Files         108      108
  Lines        4354     4354
==========================================
- Hits         3798     3637     -161
- Misses        556      717     +161

Impacted Files
Coverage Δ

nonbonded/library/curation/components/freesolv.py
100.00% <ø> (ø)

...nbonded/library/factories/projects/optimization.py
24.32% <0.00%> (-72.98%)
:arrow_down:

nonbonded/library/templates/forcebalance.py
57.14% <0.00%> (-42.86%)
:arrow_down:

nonbonded/library/curation/components/selection.py
61.67% <0.00%> (-30.40%)
:arrow_down:

nonbonded/cli/optimization/generate.py
75.00% <0.00%> (-25.00%)
:arrow_down:

Continue to review full report at Codecov.

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


Add Papad service + support for PostgreSQL and symlinks

TODO: backup & restore of postgres
TODO: document that backup of data hidden after symlinks does not go through

TODO: document usage of lokal_secret


Add a REPL widget that supports the SciJava ScriptREPL

This PR adds a widget for the SciJava ScriptREPL, allowing users to interactively write SciJava friendly code directly within napari.
When I was exploring the compatibility of various ImageJ/Fiji plugins with napari-imagej, I frequently found myself wanting to poke at variables/state. That led me to writing this REPL widget so we can quickly poke around on the JVM instead of always needing to deal with jpipe/jimport stuff.

Caption: This is a screenshot of napari-imagej with the REPL widget active and some example output from  Jython.
Now updated to have the corrected icon:

BTW, one thing I noticed with this is that the Clojure language actually crashes this plugin. It looks like one of the Clojure classes from the main clojure jar does not get found. All of the other languages work.

I'm not sure that I'll have the chance to look at the code until Tuesday or so @kephale, but this looks really awesome - thanks for implementing it!
One quick comment - have you considered adding the REPL to the bottom by default? I really like how the napari console sits at the bottom - naively this seems like it should go in the same place.

I'm very open to where it goes. I have some concerns about all the consoles/repls getting confused. I was actually a little worried about making this icon so similar to the napari-console icon.

I have some concerns about all the consoles/repls getting confused. I was actually a little worried about making this icon so similar to the napari-console icon.

Yeah, I thought about that too.
As far as the button goes, maybe we could color it differently, or add the ImageJ Logo somewhere? Another option would be to just make the SciJava Script REPL a separate napari plugin - making it show up in the napari menus - then we don't have to worry about a button.
Then there's the question of differentiating the two consoles - does the SciJava Script REPL have a Java UI that we could launch (i.e. launch a separate window), and if so, would that detract from your probing properties if it was in a different window? That could be one way to do it, and would require less Qt code to maintain.

SciJava Script REPL have a Java UI

Yes, but I was particularly keen on this for the headless situation, so I do hope that the UI is on the Python side.

@gselzer I emailed you 1 more figure for this addition to the docs: https://github.com/kephale/napari-imagej/blob/4ccab72c0d8e2890e9ed27d8e4b5e1bff3da547e/doc/Configuration.rst?plain=1#L106
I've added tooltips + a section in the docs about the REPL.

@gselzer It seems you started reviewing this as I was actively trying to fix the same problems you discovered. This PR needs some additional work to squash before it can be merged. If you want to get looped into fixing it (which would be really helpful!), I can give you a primer on how the SciJava ScriptREPL works on Monday.

I'm still working on this. Need to change ScriptREPL on the scijava-common side to accept an output handler that is not an OutputStream. My plan is to do a generic Consumer<String> and deprecate the existing OutputStream signature to use a lambda that just passes it as a Consumer.

Progress: scijava/scijava-common@0f3bf4449bbcb5bcce5ec5362e2d92bae39619b4. Was going to release it, but updating scijava-common to pom-scijava 36.0.0 breaks some tests, so gotta sort that out first. Then we can start using the improved ScriptREPL on this PR to finally sort out its input/output handling.

Progress today: scijava-common 2.95.0 was released. And I worked further on this branch, rebasing it on top of the latest mainline. Some tests pass now, but others fail. I need to scrutinize the design changes a bit more, and probably reshuffle the commit order to minimize the footprint of the commit implementing the changeover to the nij object.

This was a long time coming @ctrueden @kephale, however I've just rebased this PR on top of the latest main and resolved the WIP, getting tests to pass. I'm embarrased that we never merged this, so I'm making it a priority for the 0.2.0 release 😤.
I've still got an error where the bindings aren't found, I likely just have to find the code adding them on the Java side and copy/call it, but beyond that this REPL performs identically to the one in Fiji 🪄
TODO for merge:

[ ] Add REPL bindings
[ ] Consider any easy tests
[ ] Update documentation
[ ] (Tangent) update all documentation (probably should make another issue for this)


Bot Detection plugin

This plugin detects popular bots from the User-Agent of the request and forbids them from executing the request.
The generic rules hard-coded in the plugin can be overwritten with an array of Regex expressions in a config.whitelist or config.blacklist property when adding the plugin.

Because the target is 0.9, this should be based of refactor/cli, since some of the changes made here are outdated, and because it removes dependencies such as stringy, for instance.

I take it the other way around: I am waiting for refactor/cli to be merged into next, before merging this branch into next.

Ok, it will mean rewriting all the tests too.

Needs to be reworked with new testing tools after refactor/cli merging.

replaced by #1413


Incompatible with ActiveStorage

Steps to reproduce:

Create simple rails 5.2 application
Install ActiveStorage rails active_storage:install
Generate a scaffold for Posts (e.g. rails g scaffold posts title:string)
Run migrations bin/rails db:migrate
Add has_one_attached :document to app/model/posts.rb
Add <%= form.filefield :document, direct_upload: true %> to app/views/posts/_form.html.erb

You should now be able to upload a document to a post when visiting the posts show page.

Next, add gem 'active_elastic_job' to Gemfile.rb
Add config.active_job.queue_adapter = :active_elastic_job to config/application.rb
Run bundle install

You will no longer be able to upload the document to a post, and will get this error:
Aws::Errors::MissingCredentialsError - unable to sign request without credentials set

I think this may have to do with active-elastic-job using v2 of the aws-sdk gem while activestorage is dependent on v3

Hey @kceb, see #88 and comments by @samnang on using  v2 and credentials.


 On AWS, spot instances can be used to save costs. In most cases, this will be exactly like running with on-demand instances.
We will probably have to introduce some logic to detect if the test ends due to getting terminated and then restart the test in another region or with different instance types. But I would prose making the change without that logic to start with.

I think we should re-open and also do it for controller nodes.

As a feature, I'm on the fence about whether enabling spot instances for controller nodes makes sense, we can open an issue to discuss.

https://github.com/kinvolk/lokomotive/issues/174

As a feature, I'm on the fence about whether enabling spot instances for controller nodes makes sense, we can open an issue to discuss.

I can understand that for prod clusters, but for CI tests that should surely be ok, right?


Revert "Upgrade to Go1.18 (#13201)"

This reverts commit e6f69410dad2abd7d0ea23329375da71dca5360b.
This reverts https://github.com/DataDog/datadog-agent-buildimages/pull/272 as well -- to be addressed in a followup.

What does this PR do?

Motivation

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[ ] If applicable, the config template has been updated.

You may need to revert:

0b7b9c176c45e8d0813113b1c2c208f0d0614867
3b916886fc83ac287101a83d0ca41428aaaa052b
05c44a1f4a86b9dad0fd004ace63b6039a2e055b
to fix the system probe (provided in the git order so maybe revert in reverse from this list)

No real progress on figuring out why Go1.18 builds use more memory, so let's revert this.

not reverting, yay


Remove resources column

Hi,
Is there a way to disable resources column ? to only display events.
Thank you,
Regards,
Alexandre

Bumping this - need this as well!!!

Up.. Need too this feature..

Isn't this exactly what react-big-calendar is for? This is a resource scheduler and should stay as such.


How to enable alternative delimiters by default?

Specifically for Haskell there are two types of delimiters. The default {- comment -} and an alternative -- comment. I prefer the later so I switch to the alternate set using NERDComAltDelim often. Is there a way to have the alternative comment style enabled by default?

+1

A way to do this was suggested (and document) but not actually implemented. See #33 for details. I'm closing this as a duplicate of that as whatever solution is brought for that will answer this issue as well. Thanks for the report.

Hello, this would be really nice to have since I haven't found a way to do this yet. It would be nice if it would be language-independent.


saml: Set requestedAuthnContext to False in prod_settings_template.

AuthnContextClassRef tells the IdP what forms of authentication the user
should use on the IdP's server for us to be okay with it. I don't think
there's a reason for us to enforce anything here and it should be up to
the IdP's configuration to handle authentication how it wants.
The default AuthnContextClassRef only allows PasswordProtectedTransport,
causing the IdP to e.g. reject authentication with Yubikey in AzureAD
SAML - which can be confusing for folks setting up SAML and is just not
necessary.

I pushed back to this pull request after some small tweaks to the wording.  I chose to stop documenting the meaning of True here, since I think it's not likely to be something that users actually want, and the documentation is simpler when we can explain one way to do it.
From my perspective feel free to merge if you're happy with this, but probably worth another read from at least one of you.

I was thinking that the link to https://github.com/onelogin/python3-saml#settings should go above the whole SOCIAL_AUTH_SAML_SECURITY_CONFIG definition, since any key in the "Security settings" list documented there can be put into that variable.

@alexmv Something like this? Pushed an additional comment with a tweak

Yup, looks good to me, @mateuszmandera!  Thanks, and merged.


Bugs fix and improvements to Node.Start() and Node.Stop()

Context: I love the project and what it stands for. It's very important for an impactful and complex project like this to have great coverage of tests. I started working on writing unit and integration tests for the entire codebase. While I work on tests I'm fixing things as I find them. Here is the summary of the PR

Fixes https://github.com/deso-protocol/core/issues/413
Making Node.IsRunning flag atomic.
Renaming test utility functions for better readability.
Utility functions for changing the status of the node.
Unit tests for the utility functions.

Wow great work! We're reviewing and should get back shortly.

@AeonSw4n @lazynina : I made the changes as per your suggestions, thank you for the great inputs and the timely reviews. Here's the summary of my changes.

I find "get/set" more intuitive than "load/change" (though it's just my personal preference). Since this getter isn't holding a mutex, maybe we rename it to GetStatusWithoutLock

Changed LoadStatus->GetStatus and ChangeStatus-> GetStatus

also maybe we make this method private and wrap it with some other GetStatus() that does actually hold the status mutex?
would be best if all the mutex logic lives within these functions instead of handled by the callers.

created private functions which suffix withoutLock, and wrapper GetStatus and SetStatus which uses locks inside them.
Moved the locks which were earlier held at multiple places to a few set location at the beginning of function definition.

It feels like you're using statusMutex very similarly to how runningMutex is used. How about we just get rid of runningMutex and replace it with the statusMutex? In this case, we would also get rid of node.statusMutex.Lock()/Unlock() in here, since the mutex will be held inside of node.Stop()

Got rid of runningMutex and replaced it with statusMutex. Now, statusMutex is held inside of node.Stop() and node.Start(), this eliminates the use of locks at multiple places.

let's move the node.statusMutex.Lock()/Unlock() and the if !node.IsRunning(){...} condition inside the node.Stop(). Since Stop() should never be called when node is already stopped it feels reasonable to isolate everything inside Stop. Same goes for the NodeErase case.

Node.Stop() automatically takes care of validating the current status of the node before stopping. Hence, removed the !node.IsRunning check.

This is the setter for the node status, similarly to my comment about the getter LoadStatus(), maybe we rename it to setNodeStatusWithoutLock()?

Renamed changeNodeStatus to changeStatusWithoutLock, and created a wrapper ChangeStatus which holds the lock internally.

big piece from my review is that we don't want to have these mutexes flying around all the calling functions, but should instead handle the lock/unlock in the helper functions as much as we can.

Mutexes don't fly anymore :) 🚀

@hackintoshrao thanks for making the updates! Just wanted to make a quick update and let you know reviewing and testing all your code is a high priority for me, and will get to it once I finish being tunnel-visioned on access groups & group chats.

Thanks @AeonSw4n . Just that this PR will enable me to do tons of contributions. I'm sweeping through the codebase writing tests, but I can't move forward till this is merged.
May be I can help with access groups and chats by writing tests and manually testing them.

Oh, that's so awesome @hackintoshrao I'm so excited to see your other contributions! Okay, I'll look into your code in the evening. Speaking of tests, I've actually been working on a new transaction unit testing framework lately. I'll PR it out of my current code so it's easier to read lol -- figured that might be interesting to you.
So cool to see your readiness to help with access groups! If you feel like checking out the code the latest branch is in this PR #412. Let's wrap this PR, and I'll think of what could be the best use of your time. :)

Thanks @AeonSw4n . Getting this merged will also help me fix tests for the #412 PR. Eager to check out the transaction test framework.

Just reviewed your latest code, and I've got some minor change requests, but giving you an approve because your code is really awesome! One more comment I have is, do we need these .DS_Store files? We didn't have them before and they feel a bit redundant.

Thank you @AeonSw4n :) I'll remove the .DS files, they are redundant.

Once again thank you for this contribution and your flexibility when faced with our feedback 😃 @lazynina @diamondhands0 can you guys also take a look so we can merge?

I learned quite a bit from the reviews :)

@AeonSw4n Found the transaction test framework inside the block_view_test.go. Working on some refactoring on the suite to improve its usability, for instance, to try parallel transaction scenarios with multiple accounts and verify their sanity.
Is there a better channel to communicate while I work on the codebase than Github comments😅

Prallelizing tests/transactions could be fun @hackintoshrao :) Though keep in mind they will always be processed sequentially in the mempool. We are planning to build actual prallelization for transaction processing a little further on the horizon -- probably after/concurrently with PoS. I've also refactored the testing framework into another PR #422. Before it's merged I'm planning on adding a state verification for before & after connect-disconnect to Postgres (currently this only works for Badger) and just documenting everything a little better.
Re communication channel: certainly! I think you were chatting with Dylan over Discord, is that a good channel? I'll reach out to you soon.

@lazynina The PR is ready as per the suggestions, do let me know if there's anything more needs to be done for this to be merged :)

@lazynina The PR is ready as per the suggestions, do let me know if there's anything more needs to be done for this to be merged :)

@hackintoshrao I have been testing this out by running and stopping a node, but ran into a case where one of the status change validations returns an error and the node will not switch to running. Trying to figure out exactly what's going on and to test out more stop + restart situations to make sure we don't have nodes that get stuck. I have only reproduced it once but it's a little unclear what is happening. As I have more details, I'll share them

Thank you @lazynina . Please do report the edge scenarios when you have them.

Thank you @lazynina . Please do report the edge scenarios when you have them.

I can't reproduce it - maybe it happened in a dream! @diamondhands0 for final review.

Thanks @lazynina . Will for the review by @diamondhands0 .

@hackintoshrao - can you provide more details on how to reproduce the bug ( #413 ) and what specifically in this PR is fixing that bug? @diamondhands0

The bug occurs when the shouldRestart flag is true during the first run of the server.
In this scenario, nodeMessageChan receives a lib.NodeErase message, but at this point, node.IsRunning is still set to false.
Hence, instead of safely recovering, it panics here.
Here is a quick screen recording explainer https://www.loom.com/share/410232d7a6ab4d1e8610c9259de1cbf6 .


Documentation Update (README File)

Added Sections to the readme to include a table of contents, Ollama installation Guide, and an Update Guide.
Added descriptions to the screenshots.

Thank you for this Tyler. Left a minor comment for you to address. Can you also please add yourself to CHANGES.txt?

Thanks! Merged 🎉


Got a bug with kali wsl terminal

Whenever I type clear in the terminal the user@pc:~$ went under the terminal(cmd) title and I have to scroll up for see the text. even Script like Fsociety has the same issue with this! it can't show the full text or intro in terminal I have to scroll after every single command!please fix this I checked other wsl like ubuntu . Those doesn't have this issue so far.
My build version is 1809

https://github.com/Microsoft/Console/issues

Hi @r1riyad ,
Could you clarify on your issue a little more? Are you talking about the idea that when you type clear in Kali Linux, you can't scroll up to see the previous commands, whereas in Ubuntu or Debian after you type in clear you can scroll up and see previous commands?

To workaround: alias clear to clear -x in your respective shell config file, e.g.:
$ echo "alias clear='clear -x'" >> ~/.bash_aliases && source ~/.bash_aliases

To workaround: alias clear to clear -x in your respective shell config file, e.g.:
$ echo "alias clear='clear -x'" >> ~/.bash_aliases && source ~/.bash_aliases

Fixed the general user issue. But the problem still exist on root mode after "sudo su" command.

Hi @r1riyad ,
Could you clarify on your issue a little more? Are you talking about the idea that when you type clear in Kali Linux, you can't scroll up to see the previous commands, whereas in Ubuntu or Debian after you type in clear you can scroll up and see previous commands?

I m not talking a about the previous command . as u can see in my snaps that whenever i type clear the whole screen goes blank and and i have to click the scroll up arrow to see the user@pc line.

Ok Fixed the root issue also by adding below lines in .bashrc after @sirredbeard 's workaround.Those lines are.....
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi

Thanks everone!!!

Hai, for me it's Working in the Terminal. But when i open some program like Python that have command like os.system("clear") it's not working, i have to scroll up every single command. What's the Problem?


Call endpoint modifications for Rosetta-cusd

Description
This PR includes changes necessary for the rosetta-cusd module, which relies on the /call endpoint. The main changes:

Register StableToken.balanceOf method (note: did not add this to the ArgBuilder interface as I wasn't sure if that should be limited to core CELO functionality--happy to add this to that interface if that makes sense @yorhodes)
Adds logic to use optional arg callParams.BlockNumber (if present) to pull the relevant blockHeader, and pass this in to the underlying CallData (which in turn passes this to the ethClient's CallContract). If no number is passed in, it pulls the node's current tip.
Adds BlockIdentifier to the /call celo_call method result and introduces a type for this: CallResult; introduce a result type for the celo_logs result as well CallLogsResult.

The first two changes should not be breaking, but the last change could potentially be; tagging @arjun-io for visibility. If so, we can make this part of a bigger breaking 1.0.0 release and keep it off master for now.

Thanks for the heads up, this won't be a breaking change for us so feel free to merge when it's ready

@yorhodes ok awesome thanks, so just to check my understanding then: argbuilder should include all functionality relevant to constructing transactions with other contracts?

@yorhodes ok awesome thanks, so just to check my understanding then: argbuilder should include all functionality relevant to constructing transactions with other contracts?

@yorhodes ok awesome thanks, so just to check my understanding then: argbuilder should include all functionality relevant to constructing transactions with other contracts?

Until the construction API is implemented, in which case the argbuilder interface itself shouldn't be necessary

@yorhodes ok awesome thanks, so just to check my understanding then: argbuilder should include all functionality relevant to constructing transactions with other contracts?

Until the construction API is implemented, in which case the argbuilder interface itself shouldn't be necessary


css-layout NPM package points to this repo

Hi. Wondering if css-layout is discontinued...?
I'd like to use css-layout, however the last version that was pushed was in 2015, and the repo URL in the package points to this repo.
https://www.npmjs.com/package/css-layout
Is there a new solution that has replaced the library that offers similar functionality in Javascript?

Hi, any updates?


docs(Knobs): use new knobs

Follow up from #1082.

Replaces old knobs via new context-based. Also, fixes broken examples in ExternalLayout.

Warnings

:warning:
There are no updates provided to CHANGELOG. Ensure there are no publicly visible changes introduced by this PR.

  Generated by :no_entry_sign: dangerJS

_.omit() will be removed in next release: https://github.com/lodash/lodash/wiki/Roadmap#v500-2019
It also has performance issues

get rid of any

I don't want to fill default context with something, it should be filled by KnobProvider to avoid direct usages of KnobContext. I can do:
- components: {} as any,
+  components: {
+    KnobControl: () => null,
+    KnobField: () => null,
+    KnobLabel: () => null,
+
+    KnobBoolean: () => null,
+    KnobRange: () => null,
+    KnobSelect: () => null,
+    KnobString: () => null,
+  },

But will it better? 🤔


[CT-1576] [CT-1572] [Bug] Snowflake cluster_by config does not update Snowflake table for incremental models

Is this a new bug in dbt-core?

[X] I believe this is a new bug in dbt-core
[X] I have searched the existing issues, and I could not find an existing issue for this bug

Current Behavior
Updating the cluster_by config on an incremental DBT model does not trigger an ALTER TABLE query on the table. Effect: the cluster keys of the Snowflake table are not updated.
Expected Behavior
Update the cluster_by config triggers an ALTER TABLE ... CLUSTER BY query in Snowflake, updating the cluster keys.
Steps To Reproduce

Create a new model:

{{
    config(
        enabled=true,
        materialized='incremental',
        cluster_by=['key1', 'key2']
    )
}}

SELECT 1 as key1
,      2 as key2
,      3 as key3

Run dbt so that the table is created
Verify in Snowflake that the cluster keys are key1 and key2
Update the cluster_by value to ['key1', 'key2', 'key3']
Run dbt again
Verify that a second row of data has been added
Notice in Snowflake that the cluster keys are still key1 and key2

(For a regular (non-incremental) table model this problem doesn't occur, because the entire table is recreated everytime.)
Relevant log output
No response
Environment
- OS: Ubuntu 20.04.3 LTS
- Python: 3.8.10
- dbt-core: 1.3.1
- dbt-snowflake: 1.3.0

Which database adapter are you using with dbt?
snowflake
Additional Context

I'm willing to implement this change myself, but I first wanted to verify with the community whether this is indeed a missing functionality, or that I'm overseeing something.
I wasn't 100% sure if this issue belong in dbt-core or in dbt-snowflake. I chose for dbt-core because the original issue 'Support cluster by on Snowflake' was also in dbt-core, as well as the implementing PR.

@jtcohen6 Thank you for your reply. I fully agree with your argumentation, that reclustering is quite intensive, and that users should in some way be made aware of that.
I think the most intuitive strategy would be: when someone changes the clustering config on an "incremental" materialization: raise a warning but also perform the change.
Warning: Changing the cluster_by config causes the table to reshuffle. This can lead to significant compute costs.
(I'm not a native English speaker, so this text can probably be much better.)
I think it's most intuitive that a change of the cluster_by config does actually perform the change. I think it can be expected of someone using Snowflake's clustering functionality, that he/she is aware of the impact. Thinking that the clustering change has been applied where it hasn't may have worse outcomes, or frustrated users.
I'm reading in the docs that:

If an incremental model is configured to use table clustering, then dbt will also order the staged dataset before merging it into the destination table.

I assume that the staged dataset will be ordered by the newly configured cluster keys. So that order won't match with the actual clustering config of the table. More reason to perform the change, imo.
What do you think of this proposal?

@jtcohen6 I'm going to steal this one from you.
@danielmast I need to do some thinking here.
There is a larger topic emerging here, tied to materialized views (dynamic tables for Snowflake) and on_schema_change.
We may need additional settings, for a user to let dbt know what to do when a operation requires the full reprocessing of the model, instead of the expected incremental update. Should dbt force it, or skip, or fail.
I will get back to you next week.

Linking to https://github.com/dbt-labs/dbt-core/issues/6911

Thank you @Fleid . As you mentioned that this issue will be part of a larger topic, I'll await that discussion for now. Please let me know if I can help with implementation or something else.

For MVs specifically, I just added a new parameter to the design called on_definition_change. It's the same principle as on_schema_change except it applies at the definition level - so operations that could trigger a full recompute are covered:
On dbt run:

If the definition is different from the current model, depending on on_definition_change

ignore : Do nothing
fail : Fail the run
alter_available : Use an ALTER statement to try to apply the change, some unsupported changes may be ignored
create_replace : Use a CREATE (opt. CREATE OR REPLACE) statement to re-create the table

Refresh when necessary

Not sure how this would interact with on_schema_change.
But more importantly, I still have a big question mark about the feasibility of certain options.
Let's say we had something similar to incremental models and we want to cover cluster_by keys via alter_available. That means that at run time, dbt needs to ask Snowflake what are the current cluster keys set on the table. It looks like it's possible, but I'm not 100% positive about it.
Curious about your thoughts on all that.


Is this project still in development?

I see you have some promising feature on top of README but there is no update since last year?

Of course. The next version has been prepared. Due to the intellectual property agreement of our lab, I should publish a paper first and then release the tool used in the paper. The paper is under preparation.
Thanks for your attention.


PHP code generated by Umple causes recursion error

Brief Description
When an Instructor object is created, a "Nesting level too deep - recursive dependency?" error is produced. The problem line appears to be in the "equals" method of the Instructor class.
Minimum Steps to Reproduce
Steps to reproduce error: 3

Generate the PHP classes from the "Model" umple file provided.
Import the necessary classes generated by umple  (Department.php, Instructor.php, Course.php) and import the "Persistence" file, which stores a Department object in a txt file.
Run the "ProblemFile" file as a PHP script, and the error should be produced.

I am using Windows 10, and PHP 5.6
Model.txt
Persistence.txt
ProblemFile.txt
Expected Result
An Instructor object is created.
Actual Result
"Nesting level too deep - recursive dependency?" error is produced.
Build Log Output:
PHP Fatal error:  Nesting level too deep - recursive dependency? in C:\Users\josep\workspacephp321\ECSE321SemesterProjectPHP\model\Instructor.php on line 262
PHP Stack trace:
PHP   1. {main}() C:\Users\josep\workspacephp321\ECSE321SemesterProjectPHP\controller\newfile.php:0
PHP   2. Instructor->__construct() C:\Users\josep\workspacephp321\ECSE321SemesterProjectPHP\controller\newfile.php:19
PHP   3. Instructor->setDepartment() C:\Users\josep\workspacephp321\ECSE321SemesterProjectPHP\model\Instructor.php:43
PHP   4. Department->addInstructor() C:\Users\josep\workspacephp321\ECSE321SemesterProjectPHP\model\Instructor.php:255
PHP   5. Department->indexOfInstructor() C:\Users\josep\workspacephp321\ECSE321SemesterProjectPHP\model\Department.php:354
PHP   6. Instructor->equals() C:\Users\josep\workspacephp321\ECSE321SemesterProjectPHP\model\Department.php:168

More detail on reproducing the issue. ProblemFile needs to be modified to this:
<?php
include("Persistence.php");
include("Department.php");
include ("Course.php");
include("Instructor.php");

$persistence = new PersistenceTamas();
$department = $persistence->loadDataFromStore();
//$tc = new TamasController();
$theCourse = new Course(100.0, "111", 1, 1,$department);
$theInstructor = new Instructor("Bob", $theCourse,$department);
$persistence->writeDataToStore($department);
?>

Then, it will need to be run twice. First time, it will run fine and ecse321data.txt will be created, storing Department data. On the second run, "PHP Fatal error:  Nesting level too deep - recursive dependency? in /home/ev/Desktop/umple4/issue_1037/PhpFromUmple(1)/Php/Instructor.php on line 262" will be thrown.


Sp/issue278

Description
What behavior do you want to change, why, how does your patch achieve the changes?
Testing done
Describe the testing stategy. Unit and integration tests are expected for any behavior changes.
Reviewer checklist

[ ] Ensure docs are updated if necessary. (eg. if a user visible feature is being added or changed).
[ ] Ensure relevant issues are linked (description should include text like "Fixes #")

Should we rebase on master?


[Java] DenseUnionVector has no way to set offset/validity directly

You can set the type ID manually, but you cannot set the offset or validity directly. Ideally, we'd have an API like Python that lets us build it directly from constituent vectors and the offsets/type IDs.
Reporter: David Li / @lidavidm
Note: This issue was originally created as ARROW-8666. Please see the migration documentation for further details.

@lidavidm We've found setOffset to be useful here when constructing DUVs by adding values directly to the underlying vectors - i.e. we do duv.setTypeId(typeId), duv.setOffset(offset), duv.getVectorByType(typeId).set(lng) (we don't do getVectorByType for every row - this is cached).
We've got a commit for it here - would it be something we could donate upstream?
(We've got plenty of end-to-end tests covering it in XTDB, but would also add some unit tests if we raised a PR here.)

Sure, I think it makes sense to have still.

Issue resolved by pull request 40985
https://github.com/apache/arrow/pull/40985


Things to be Added - Auto-drawings and Patterns

This Enhancement has been completely developed
The build number being 8f1cb38
Regards,
@ChintzRuparel
Founder, TWODS Capital


flex-grid columns are not wrapping on iOS 8

How can we reproduce this bug?

Use Foundation v6.2.4
Create a flex grid with two columns which use small-12.
Look at the page with iPhone 6 and iOS 8

What did you expect to happen?
The columns are stacked on two separate rows.
What happened instead?
The columns are on the same row overflowing the page.
Test case:
http://codepen.io/anon/pen/woPKOZ
Foundation v6.2.4

Foundation v6.2.3

Duplicate of #9290

Seems that is the cause yes. How come https://cdnjs.cloudflare.com/ajax/libs/foundation/6.2.4/foundation-flex.min.css wasn't built with the autoprefixer options?

Last 2 -> iOS 10 release -> no prefix for iOS 8

Ah, sorry I missed the date on the commit you mentioned, I thought it was already in the release. Thanks.


failed to load source map

I discovered this error after signing up and verifying my account via email; after closing the tab and reopening the website, I was logged in; I believe that once verified, the page should refresh and I should have direct access instead of reopening it, hope this helps!

@karim12345-gif, I was wondering what your computer specs are, OS, and browser you were using when this bug occurred? Noting down what could have caused this issue


Log filtering mods don't work under QL 0.18.x starting from beta 64

MC 1.19.2
QL 0.18.1-beta.64 and 65
I've tested 2 mods, Logs Begone and Clean Logs. Both are forks of the same mod, so there should be no drastic difference between the 2. For the purposes of this test, I grabbed the logs from the instance using Clean Logs, because it prints 2 lines, indicating exactly what it's filtering and when it fires up, so that you can tell at which point it's supposed to work.

Install Clean Logs, QSL and QL 0.18.1-beta65 (or 64)
Create a config file for Clean Logs in .minecraft/config/clean-logs/config.toml, fill it in like so:

# Print out all phrases and regex to be filtered out on startup
# default: true
printOnStart = true
# Print a single line on start saying that Clean Logs will filter from this point forward
# default: false
printInitLineOnStart = true
# If a log message has one of these phrases, it will be filtered out from logging
phrases = ["Created:"]
# If a log message matches one of these regex patterns, it will be filtered out from logging
regex = []

Launch the game and look for similar lines to Created: 1024x1024x4 minecraft:textures/atlas/blocks.png-atlas
They should not appear, since we are filtering them out, but they do: https://gist.github.com/SplendidAlakey/16e957998baad4b8735774397c20caec#file-latest_beta65-log
Now downgrade to QL 0.18.1-beta63 (or lower)
Repeat step 3
Now the lines get filtered out, as intended: https://gist.github.com/SplendidAlakey/16e957998baad4b8735774397c20caec#file-latest_beta63-log

This issue has been mentioned in the Fabric mod incompatibility thread.


Octoprint: make sockjs-tornado and tornado_4_0_1 private

Motivation for this change
Tornado 4.0.1 is old and insecure, however, a package still depends on
it. We now move the package from the main Python package set into the
expression of the package that needs it.
Things done

[x] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] OS X
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

cc maintainer @abbradar

Thanks for doing that! It's a shame upstream still hasn't updated their code...

BTW, can you point me at CVEs or something? I have a public-facing (albeit hidden) instance of this, perhaps I ought to move it behind VPN...

oops, somehow I mixed up twisted with tornado, sorry. I couldn't find any CVE's related to tornado. Anyway, you might want to update from 4.0.1 to 4.0.2.


Returning multivalued attributes (such as member)?

Noticed that when I query a group for the member attribute, the member attribute is returned as a string if there is only one member, and as an array if there is more than one member - meaning I have to handle this in my code. Wondering if this a common expected pattern? I am guessing that ldapjs doesnt know apriori whether it will get a single value or multiple values back.

👋
On February 22, 2023, we released version 3 of this library. As a result, we are closing this issue/pull request.
Please see issue #839 for more information, including how to proceed if you feel this closure is in error.


Use copy on write file systems when importing and exporting files into the iroh repo

This might be the best of both worlds, as cheap as a move, but safer because it is copy on write.
Here is a crate that claims to support this: https://docs.rs/reflink/0.1.3/reflink/fn.reflink_or_copy.html

Implemented in https://github.com/n0-computer/iroh/pull/1581


Create scala.yml

Codecov Report

Merging #858 (3f80f41) into master (8f2edf4) will increase coverage by 0.02%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #858      +/-   ##
==========================================
+ Coverage   80.60%   80.62%   +0.02%
==========================================
  Files         132      132
  Lines        4629     4629
  Branches      102      102
==========================================
+ Hits         3731     3732       +1
+ Misses        898      897       -1

Impacted Files
Coverage Δ

...pes/src/main/scala/com/ing/baker/types/Value.scala
70.58% <0.00%> (+1.17%)
:arrow_up:

Continue to review full report at Codecov.

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


Revisit exporting non-method static functions

In the original prototype, GenerateModuleDefinitionTransformation had this logic:
// Static non-method functions cannot be exported
if (methodDeclaration is null && functionDeclaration.StorageClass == CX_StorageClass.CX_SC_Static)
{ return null; }

Unfortunately I did not elaborate why and I'm not sure this is actually true. I think maybe I incorrectly made this assumption when I was investigating why module definitions weren't solving all the problems I had with exporting inline functions and this check is no longer valid.

InlineExportHelper handles this:
https://github.com/InfectedLibraries/Biohazrd/blob/357faf9a59ed39864325d58c9a2d92315fa3e5a6/Biohazrd.Utilities/InlineExportHelper.cs#L90-L93


Pretraining raw dataset was scanned as unsafe by huggingface

It may be because some code snippets have features similar to Trojan programs. But I don't think that matters very much; you can also find the same tags on other datasets like TxT360.


Tonic::Async_trait performances

Hi
Does tonic::async_trait similar to async_trait crate?
https://rust-lang.github.io/async-book/07_workarounds/05_async_in_traits.html
Note that using these trait methods will result in a heap allocation per-function-call. This is not a significant cost for the vast majority of applications, but should be considered when deciding whether to use this functionality in the public API of a low-level function that is expected to be called millions of times a second.
It seem from this link it is depreciated for low latency apps.
Any suggestion please?

Does tonic::async_trait similar to async_trait crate?

Yes, it is re-export from async-trait actually.

It seem from this link it is depreciated for low latency apps.

I think this allocation cost will likely be negligible when compared to network latencies, HTTP & Protobuf parsing, etc.

[..] that is expected to be called millions of times a second

Do you have an RPC that is called millions of times a second? 😅
But yeah. The cost should be negligible.


Setup outline cmap correctly.

This makes some minor adjustments to cmap creation for the intermediate outline font.

r? @typesupply


Fix: Screen width overflow

Closes #4

Updated Footer design
Changed the padding parameter from rem to px
added the scroll behaviour to html instead of body
fixed few errors. #4

Hi, @illunise, merge conflicts have been resolved.


feature request: option to make bottom row slightly taller

Applies to all devices and Android versions.
I have a problem hitting the b key when spacebar was intended.  ThebResultbIsbLikebMushbMouthbfrombFatbAlbert!
I think the solution would be a larger spacebar.  Similar to the existing option to narrow the size of the top row, introduce an option to enlarge the bottom row.

I have the same problem!
The space bar should be larger.


Fix: define path as None before usage

path variable should be defined even before
"if not path:"
So small fix for python for this problem:

sorry, but I am not into batch

Good catch.
@keturn
Glad to help a little!
Something failed in the build, I guess it's not related to the change.


[MenuButton] New component

This issue is an epic to track the development of the menu component.
Will be completed when:

[ ] component is build out and in storybook
[ ] Documentation is written in its use. One for the root directory and also part of the story
[ ] Passes a11y test scan in storybook as well as the IBM a11y unit test
[ ] unit test are 80%+
[ ] RTL testing has been done
[ ] Confirm data tests IDs have been added to appropriate pieces for ease of targeting in unit test
[ ] Design/ pattern audit
[ ] Component is exported in index

this looks to be complete


fails to parse headers containing line feed

hi,
I have some quite old user agent Mozilla/5.0 (QtEmbedded; Linux) AppleWebKit/534.34 (KHTML, like Gecko) webkit/0.1 Safari/534.34 (some proprietary set-top box) which seem to include line feed between cookies when the server sends multiple Set-Cookie headers. I know that the new spec is that the user agent should join these headers with a comma , but it seems like before this was \n.
line feeds are deprecated but still allowed per https://tools.ietf.org/html/rfc7230.
if I change the regex for splitting the headers returned by xhr.getAllResponseHeaders() from /\r?\n/ to /\r\n/ the problem is solved for this user agent https://github.com/github/fetch/blob/eebaa2a1bc21eeba98ee00c9f94a0a4c2007cff1/fetch.js#L361.
from the specs it seems headers should always be delimited by \r\n so I wonder if this is the proper fix for my user agent.
without the fix, my requests to the server fail while using credentials: 'same-origin' because cookies are not send like they were received from the server.

We did avoid splitting by \n before https://github.com/github/fetch/pull/449 /cc @woudini. Now you're suggesting to revert that change. From my perspective, I can see both sides of the argument, but I'm not sure which approach is the more "correct" one.
However, I'm really surprised that you can read cookies from the server response (regardless of the value having line breaks or not). The browser usually doesn't let you read the Set-Cookie response header or set the Cookie request header because it's listed among "forbidden" headers for XHR. In other words, you are not supposed to interface with cookies directly, since that's the responsibility of the browser.
Could it be that your user agent is so old that it doesn't implement the concept of "forbidden" headers?

@mislav yes I think the browser is too old to know about forbidden headers.
what came to my mind is maybe a way which would allow both ways. what if we check first if the headers string contains any '\r' at all, and if so we split at '\r\n' (response follows spec strictly), otherwise we split on /\r?\n/ as before (tolerant version as per https://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.3).
would this be an option?

I'm thinking such handling might be too “magic”. I must admit I don't understand the Tolerance provision fully. The spec says that \n is a delimiter between multiple values of the same header, e.g. Set-Cookie can have multiple values on multiple lines. It also says that \r\n is an official delimiter between headers. But then the Tolerance provision says that \n should be taken as separator between headers as well. That basically negates the original use of \n.

@mislav, from the issue you mentioned #422, I cannot find any evidence that ios would give headers without \r. maybe this was some bad http server and ios was just passing the response through.
@woudini could you give some details what the issue was? I'm a little surprised that the content-type would change when changing the splitting from '\r\n' to /\r?\n/. maybe there was a different issue, unrelated to this?

@mpfluger and I came up with this fix: https://github.com/github/fetch/pull/491
The confusion seems to be coming from the assumption that \r\n (or \n) is used to separate headers as well as multiple values of the same header.
https://tools.ietf.org/html/rfc7230#section-3 states that all header-fields are delimited by CRLF. To support the tolerance provision, CRLF here must be interchangeable with LF. Therefore the delimiter between headers is indeed /\r?\n/.
https://tools.ietf.org/html/rfc7230#section-3.2.4 states:
"Historically, HTTP header field values could be extended over multiple lines by preceding each extra line with at least one space or horizontal tab (obs-fold)...A user agent that receives an obs-fold in a response message that is not within a message/http container MUST replace each received obs-fold with one or more SP octets prior to interpreting the field value."
obs-fold is defined in Section 3.2 as CRLF 1*( SP / HTAB ). To support the tolerance provision, CRLF here must be interchangeable with LF. Therefore the delimiter between multiple values of the same header is not /\r?\n/ but /\r?\n/ plus at least one space or horizontal tab. This is likely what @pseidemann is seeing with the old user agent. The regex in this PR searches for these instances and replaces them with a space to conform to the above statement. Let me know if that works.


java runtime does not work for online pro - permission issue

$ odo create java:latest --binary ./target/myjar.jar
Collecting wheel
Downloading https://files.pythonhosted.org/packages/81/30/e935244ca6165187ae8be876b6316ae201b71485538ffac1d718843025a9/wheel-0.31.1-py2.py3-none-any.whl  (41kB)
Installing collected packages: pip, setuptools, wheel
Could not install packages due to an EnvironmentError: [Errno 13] Permission denied: '/opt/app-root'
Check the permissions.
error: build error: non-zero (13) exit code from registry.access.redhat.com/redhat-openjdk-18/openjdk18-openshift@sha256:431a7147ec655106b8cfa1a6c4738542e54c0523a6c75a771686727cb931f2a3

@kadel This issue, as well as node:10 is because how the images are made. Injecting a prebuilt go supervisor should get rid of these issues, although there might still be others to look into.

yes, this issue should be resolved after we start using initCotainers to inject go implementation of SupervisorD.
I'm also currently looking how to properly detect path in s2i images to avoid issues like this in the future and to also resolve #445

@kadel maybe worth looking at this comment: https://github.com/redhat-developer/odo/issues/556#issuecomment-412764607
There's a link to s2i documentation that states where s2i scripts are/should be located.

@jorgemoralespou yep I know, detecting s2i scripts is a less complicated part.
Problem is with detecting various paths that are used by s2i scripts to store compiled artifact for example.

is this issue still relevant?

closing this issue as its stale


go-passbolt-cli: init at 0.3.1

Description of changes
Package for https://github.com/passbolt/go-passbolt-cli, in addition to #227484.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Manpage:
➜ batman passbolt
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
PASSBOLT(1)                                                                                PASSBOLT(1)

NAME
       passbolt - A CLI tool to interact with Passbolt.

SYNOPSIS
       passbolt [flags]

DESCRIPTION
       A CLI tool to interact with Passbolt.

OPTIONS
       --config=""      Config File

       --debug[=false]      Enable Debug Logging

       -h, --help[=false]      help for passbolt

       --mfaDelay=10s      Delay between MFA Attempts, only used in noninteractive modes

       --mfaMode="interactive-totp"      How to Handle MFA, the following Modes exist: none, interactive-totp and noninteractive-totp

       --mfaRetrys=3      How often to retry TOTP Auth, only used in nointeractive modes

       --mfaTotpOffset=0s      TOTP Generation offset only used in noninteractive-totp mode

       --mfaTotpToken=""      Token to generate TOTP's, only used in nointeractive-totp mode

       --serverAddress=""      Passbolt Server Address (https://passbolt.example.com)

       --timeout=1m0s      Timeout for the Context

       --userPassword=""      Passbolt User Password

       --userPrivateKey=""      Passbolt User Private Key

       --userPrivateKeyFile=""      Passbolt User Private Key File, if set then the userPrivateKey will be Overwritten with the File Content

SEE ALSO
       passbolt-configure(1), passbolt-create(1), passbolt-delete(1), passbolt-export(1), passbolt-get(1), passbolt-list(1), passbolt-move(1), passbolt-share(1), passbolt-update(1), passbolt-
       verify(1)

                                                                                Jan 1980                                                                                PASSBOLT(1)
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

Shell completion
➜ passbolt --
--config                                                                                (Config File)
--debug                                                                                (Enable Debug Logging)
--help                                                                                (help for passbolt)
--mfaDelay                                                       (Delay between MFA Attempts, only used in noninteractive modes)
--mfaMode                         (How to Handle MFA, the following Modes exist: none, interactive-totp and noninteractive-totp)
--mfaRetrys                                                     (How often to retry TOTP Auth, only used in nointeractive modes)
--mfaTotpOffset                                                   (TOTP Generation offset only used in noninteractive-totp mode)
--mfaTotpToken                                                  (Token to generate TOTP's, only used in nointeractive-totp mode)
--serverAddress                                                         (Passbolt Server Address (https://passbolt.example.com))
--timeout                                                                                (Timeout for the Context)
--userPassword                                                                                (Passbolt User Password)
--userPrivateKey                                                                                (Passbolt User Private Key)
--userPrivateKeyFile  (Passbolt User Private Key File, if set then the userPrivateKey will be Overwritten with the File Content)
--version                                                                                (version for passbolt)

Package file looks good to me. Ill test it Soon.

Works as far as i can tell.

Works as far as i can tell.

So you really did set up NixOS to test that? 👏👏
Thank you for testing! I work with it too, everything is working great.

@Aleksanaa, you seem to be quite the night owl. 😊 It seems to be very late in your timezone! Thank you for the late-night review!

@K900, since you seem to work everywhere at the same time and have at least 4 arms and 2 heads, you maybe also want to review this PR? 😆

@speatzle, @Aleksanaa, if technical possible, might you want to approve the pull request to increase the chance of being merged?

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/3886

Thank you, @Aleksanaa! 🙏🏻


complier converts scss hex value to unicode character in css

The following code in my _style.scss file:
       content: '\25BC';
.... }

becomes :
       content: "▼";
.... }

when compiled to css.
Is there any way to prevent this? (Version v4.4.1 running on VS code on windows 10)

This is a known issue (ref here)
There is a workaround here (as per below)
SCSS
@function unicode($str)
{
  @return unquote("\"")+unquote(str-insert($str, "\\", 1))+unquote("\"");
}

.icon-ok {
    &:before {
      content: "\e601"; // BROKEN
    }
    &:after {
      content: unicode("e601"); // WORKS
    }
}

SASS
@function unicode($str)
  @return unquote("\"")+unquote(str-insert($str, "\\", 1))+unquote("\"")

.icon-ok
  &:before
    content: "\e601" // BROKEN
  &:after
    content: unicode("e601") // WORKS


Translations. Simplified Chinese zh-cn should become zh-hans.

Same as what happened in rest framework: https://github.com/encode/django-rest-framework/issues/2688
Currently, on the sample site https://latest.oscarcommerce.com/, the "简体中文" language option is not working.

For compatibility of django 1.8, zh-cn should not be changed to zh-hans. Since django 1.8.8 support all followings. So let's just add support for zh-hans and zh-hant. Then zh-hans, zh-hant, zh-cn can all be used.
 ('zh-cn', gettext_noop('Simplified Chinese')),
 ('zh-hans', gettext_noop('Simplified Chinese')),
 ('zh-hant', gettext_noop('Traditional Chinese')),

Refer to https://github.com/django/django/blob/1.8.8/django/conf/global_settings.py

So locale zh_Hanz/LC_MESSAGES should be created and zh-Hans/LC_MESSAGES should be updated to zh_Hans/LC_MESSAGES. Changes in transifex are also required.


No need for instances of time magnitudes any  more

This new issue is moot if go with the suggestion in #61
We used to use gist:_one_day, gist:_one_millisecond and gist:_one_second for precision on TimeInstants. These vestigial instances are no longer needed.

Why do we have this issue? It duplicates #61. Can we close it?

#61 has a large amount of content, this small fact could get lost.  Maybe just reference #692 from #61

Decision: we will deprecate these because they are no longer relevant  - they were used to define precisions of no longer existing TimeInstant.
We will also deprecate greenwichTimeZone as it's also no longer used.

If we had been more observant, we would have gotten rid of these instances when we published major version with new Time properties.  We would NOT have deprecated them then, given it was a major release, so it seems quite silly to deprecate them now.  I suggest just get rid of them with  a comment in tahe release notes explaining why not to deprecate, as we usually do.

I would prefer to follow the best practice of deprecating them for a non-major release, just in case someone is using them somewhere. I think this is a case where it's best to stick to the rules. And there's no harm in deprecating them.

In the extremely unlikely situation where anyone IS using them, they are almost certainly MIS-using them, and that should be brought to their attention, in my opinion.  However, this is not worth a lot of discussion. Following the rules is great, until doing so has unintended negative consequences.  As an extreme example, I'd run a red light if I was driving someone with an urgent need to the hospital.
However, this is not worth much discussion. I'll just deprecate and maybe mitigate damage by putting a comment saying you should not be using these.


Remove trace span distinction

Remove the distinction between trace and span
Originally this was done to allow each integration to scale separately , but I think the value of the platform is being able to connect events which the separate collection per integration prevents.
Because of this let’s try and remove the distinction and uniquely identify each event:
Vs-$SOURCE-$TYPE-$ID
Example
vs-github-issue-1
vs-gitlab-pipeline-5

Any user controlled event can specify vs-trace-id with the value of any event


Books for Penetration testers

Added book list for penetration tester
solved issue no #7991

Please read docs/CONTRIBUTING.md guidelines!


Load data exception

When i use your tool to load my xlsx file, this issue happens
NPOI.POIXMLException:  ---> NPOI.OpenXml4Net.Exceptions.InvalidFormatException: Can't read content types part !
at NPOI.OpenXml4Net.OPC.Internal.ContentTypeManager..ctor (System.IO.Stream in1, NPOI.OpenXml4Net.OPC.OPCPackage pkg) [0x00000] in :0
at NPOI.OpenXml4Net.OPC.Internal.ZipContentTypeManager..ctor (System.IO.Stream in1, NPOI.OpenXml4Net.OPC.OPCPackage pkg) [0x00000] in :0
at NPOI.OpenXml4Net.OPC.ZipPackage.GetPartsImpl () [0x00000] in :0
at NPOI.OpenXml4Net.OPC.OPCPackage.GetParts () [0x00000] in :0
at NPOI.OpenXml4Net.OPC.OPCPackage.Open (System.IO.Stream in1) [0x00000] in :0
at NPOI.Util.PackageHelper.Open (System.IO.Stream is1) [0x00000] in :0
--- End of inner exception stack trace ---
at NPOI.Util.PackageHelper.Open (System.IO.Stream is1) [0x00000] in :0
at NPOI.XSSF.UserModel.XSSFWorkbook..ctor (System.IO.Stream is1) [0x00000] in :0
at ExcelQuery..ctor (System.String path, System.String sheetName) [0x00047] in /Users/huytran/Documents/workspace/sumTrack/Assets/Extensions/QuickSheet/ExcelPlugin/Editor/ExcelQuery.cs:41
UnityEngine.Debug:LogError(Object)
ExcelQuery:.ctor(String, String) (at Assets/Extensions/QuickSheet/ExcelPlugin/Editor/ExcelQuery.cs:53)
ExcelMachineEditor:OnInspectorGUI() (at Assets/Extensions/QuickSheet/ExcelPlugin/Editor/ExcelMachineEditor.cs:50)
UnityEditor.DockArea:OnGUI()
Working environment: Mac OSX 10.10.1; Unity 4.5 Pro
Input data is attached as this below link
https://dl.dropboxusercontent.com/u/63045417/map_test.xlsx

I guess you tried it with open office, as you said that you used that on mac machine. Did you? If you dont mind could you share the spreadsheet file? So let me try that or I can send you a sample excel file. I've never tried it with open office yet.

Ok, the problem seem to happen only on a mac machine. Found same problems on the following post(sorry for that is Korean, so I explained about that below):
http://cosmostudio.tistory.com/13
First, open ExcelQuery.cs which is under 'QuickSheet/ExcelPlugin/Editor' folder and see its constructor.
                if (extension == "xls")
                    workbook = new HSSFWorkbook(fileStream);
                else if (extension == "xlsx")
                    workbook = new XSSFWorkbook(fileStream);

On a mac machine, calling XSSFWorkBook fails and put the log like 'Can't read content types part !' but reading via HSSFWorkbook works fine.
If you tried .xlsx file, save it as .xls then try again. And let me know if it solves your problem.
Hope that solve the problem.
Cheers,

Thanks!
I tried with .xls file and it worked without errors!
Damn MacOS!
Cheers!


Thicc pipe

Working on thick pipes. Starting with test cases to figure out some of the details.
Added:

[x] Single |>= assignment in first position
[x] ||> in any position

Maybe TODO:

[ ] Refs
[x] Code cleanup
[ ] Unwrap & blocks
[ ] Kind of weird but makes sense with implicit function application (the pipes go inside the function parameters)

array ||> .push 3 ||> .shift() ||> .sort()
---
($ => $.push(($1 => $1.shift())(3),($2 => $2.sort())(3),3))(array),array

[ ] Even worse with newlines and definitely shouldn't happen this way

  array
  ||> .push 3
  ||> .shift()
  ||> .sort()
  ---
  ($ => $.push(($1 => $1.shift())(3),($2 => $2.sort())(3),3))(array),array

array ||> .push 3 ||> .shift() ||> .sort()
I expected ||> to have lower precedence than (implicit) function calls... at least, I find the existing parse pretty confusing. An existing example of this is postfix if.
This is an issue with |> as well, so not specific to this PR. But maybe we can fix it by using NonPipelineExtendedExpression in all implicit function calls?


Replace empty structs with namespaces

Structs like sf::Joystick only exist to provide a namespace. The struct itself only includes public, static functions and types. I propose we convert that struct and all similar structs of which there are a few more to a namespace so that users cannot accidentally construct an instance of sf::Joystick since that is a nonsense operation. This change won't even be an API for break anyone except for those taking instances of these empty types who will be forced to fix their code.

Even though in practice it doesn't matter that much, I agree that namespace is cleaner and underlines the intent of not having instances.
One small disadvantage is that Doxygen still has this old-school view of "class is the main way of grouping functionality", which means that currently most SFML functionality is grouped in the class view. Maybe we should encourage users to look at the Modules page which lists both classes and namespaces, although it can be difficult if they don't know in which module a symbol lies.
Technically, this change would be an API break for people that have using or typedef, or that use sf::Joystick as a type argument in templates (for whatever reason).

Doxygen can list namespaces in the class view as well. I need to make some small documentation tweaks but it seems like this change wouldn't make the docs any less readable.

I've went through and found nine places where we should be able to use a namespace over a struct.
I'll be following up with a PR-Draft in a day or two.

I've went through and found nine places where we should be able to use a namespace over a struct.

Which nine are they?

Window/Clipboard.hpp
Window/Joystick.hpp
Window/Keyboard.hpp
Window/Mouse.hpp
Window/Sensor.hpp
Window/Touch.hpp
Window/Vulkan.hpp
System/SystemAwareClock.hpp
Audio/Listener.hpp


Add feature to ignore level 1 headers & fix newline bug

Also fixes newline bug #47

The changes in my pull request #52 allow to ignore H1 headers and also enable more flexibility thanks to the possibility to choose the depth from where to start and the depth to stop constructing the TOC.

Thanks @craigwatson for your PR, but in this case I prefer the more flexible solution of @brescia123.
Happy coding,
Darius


[Databricks] Same job name name for different job

Hi all !
Not sure if it's a real issue but we integrated OpenLineage in our databricks cluster and a lot of users use notebook to read data (without writing any).
So a lot of job have the same name like: cluster_id.cloud.databricks.com.adaptive_spark_plan
For this kind of job it creates a lot of different 'runs' but it's actually different notebook created by different user.
We try to do some post-processing of the event by adding the notebook name (we have the information in run → facets → environment-properties → environment-properties → spark → databricks → notebook → path
But this facet is only available in a RUNNING event (not in START and COMPLETE) so that makes kinda difficult to do some post-processing.
Do you think it's an integration issue ? Can we add these facets in the START and COMPLETE event ?
Thanks for your reply !

I'll git it a try, thanks for your response !

Hello @pawel-big-lebowski ,
Aside from having the same facet in the three events, what do you think about how we're constructing the job names? I feel like when a job doesn't write any data, many jobs end up with the same name. In certain cases, do you think it would make sense to add some additional information to differentiate them? For example, we could include the source code file name or the notebook ID, etc.
Let me know your thoughts.

@algorithmy1 you're right, the job name identifier should be unique. That's why we are adding output dataset name as a job suffix. Because otherwise job name is assigned based on Spark action's name and these name are the same for all collect, show and other actions. Apart from uniqueness, job name should be reproducible, so if you open same databricks notebook and run the same cell another day, this should be the same OpenLineage job I think. And the last requirement for job names is to make them human readable, so that person looking at job name gets the feeling of what is this job about.
I am not sure how to meet all the criteria above for databricks notebooks that don't write data to any datasets. But adding notebook ID would be definitely an improvement and one can implement it optional (turned on/off though configuration) in case someone in future has other solution to this.


the performance of 'apply_ica_cleaning'

@jdammers @pravsripad @lukasbreuer I tested the new apply_ica_cleaning, but the results are not so good as I used my old version before. I use the subject '101611', the EOG rejection is bad. Please confirm it, thanks!

@dongqunxi Is this issue fixed?

@pravsripad Yes you can delete it

@dongqunxi Thanks, I will do so.


WIP - Lower the datetime limit to what CH also accepts - 1900-01-01

Summary

Removing the layer that performs whether a datetime is within a predefined range works fine.
On Postgres
created_datetime     |    sent_datetime
---------------------+---------------------
 2022-11-10 13:39:35 | 2300-11-09 20:38:58

On CH
"created_datetime": "2022-11-10 13:39:35.000000"
"sent_datetime": "2299-12-31 23:38:58.000000"

PS. writeDateTime64 does not seem to be used anywhere

Checklist
Delete items not relevant to your PR:

[ ] Unit and integration tests covering the common scenarios were added
[ ] A human-readable description of the changes was provided to include in CHANGELOG
[ ] For significant changes, documentation in https://github.com/ClickHouse/clickhouse-docs was updated with further explanations or tutorials

Thanks @abdelhakimbendjabeur for the pull request. I linked an issue whifh contains more information that you may want to check. Ideally, we probably should drop range check in Java client and only do that JDBC driver.

https://clickhouse.com/docs/en/sql-reference/data-types/datetime64
Note: The precision of the maximum value is 8. If the maximum precision of 9 digits (nanoseconds) is used, the maximum supported value is 2262-04-11 23:47:16 in UTC.

Hi @den-crane , in the docs it says  the upper limit is 2299-12-31 23:59:59.99999999. I have some rows that could go up to this datetime

will be fixed in new JDBC impl.
Closing.


How to link freeglut instead GLUT?

I use freeglut as dependencie and opencolorio cannot find.
-- The CXX compiler identification is GNU 11.2.0
-- The C compiler identification is GNU 11.2.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Setting C++ version to '11' as none was specified.
-- Performing Test COMPILER_SUPPORTS_CXX11
-- Performing Test COMPILER_SUPPORTS_CXX11 - Success
-- Found OpenGL: /usr/lib/libOpenGL.so  found components: OpenGL
-- Found GLEW: /usr/local/include (found version "2.2.0")
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.0")
-- Checking for module 'glut'
--   Package 'glut', required by 'virtual:world', not found
-- Could NOT find GLUT (missing: GLUT_glut_LIBRARY)
-- Use "GLUT_ROOT" to specify an install location
CMake Warning at share/cmake/utils/CheckSupportGL.cmake:47 (message):
  GPU rendering disabled
Call Stack (most recent call first):
  CMakeLists.txt:155 (include)

Tried to use -DGLUT_ROOT=/usr/include/GL/freeglut.h and not worked.
I currently have this paths in freeglut:
/usr/lib64/pkgconfig/freeglut-gles.pc
/usr/lib64/pkgconfig/
/usr/lib64/libfreeglut-gles.so.3.11.0
/usr/lib64/libfreeglut-gles.so.3
/usr/lib64/libfreeglut-gles.so
/usr/lib64/libfreeglut-gles.a
/usr/lib64/cmake/FreeGLUT/FreeGLUTTargets.cmake
/usr/lib64/cmake/FreeGLUT/FreeGLUTTargets-noconfig.cmake
/usr/lib64/cmake/FreeGLUT/FreeGLUTConfigVersion.cmake
/usr/lib64/cmake/FreeGLUT/FreeGLUTConfig.cmake
/usr/lib64/cmake/FreeGLUT/
/usr/lib64/cmake/
/usr/lib64/
/usr/include/GL/glut.h
/usr/include/GL/freeglut_ucall.h
/usr/include/GL/freeglut_std.h
/usr/include/GL/freeglut_ext.h
/usr/include/GL/freeglut.h
/usr/include/GL/
/usr/include/
/usr/

-DGLUT_ROOT needs to be a path prefix, not a full path to a header file (see <PackageName>_ROOT).
Based on https://github.com/Kitware/CMake/blob/90c83564f0ea3fc9a9edd8cf141cf18955ccd900/Modules/FindGLUT.cmake#L174 I guess it should be -DGLUT_ROOT=/usr/include (or /usr/include/GL but that is a path that is already on the list of default locations). However, that code path isn't used because pkg-config is present on your machine.
The problem might be that pkg-config doesn't see freeglut as suitable to fulfill the GLUT dependency or there's something wrong with the installed package. How did you obtain freeglut? What's the content of the .pc file?
You could try to bypass pkg-config and see if that helps. Remove the cmake cache and use -DCMAKE_DISABLE_FIND_PACKAGE_PkgConfig=TRUE.

Tried -DGLUT_ROOT=/usr/include and same error. My .pc of freeglut is freeglut-gles.pc and theres is the content:
prefix=/usr
libdir=/usr/lib64
Includedir=${prefix}/include
Name: glut
Description: A freely licensed and improved alternative to the GLUT library
Version: 3.2.1
Libs: -L${libdir} -lfreeglut-gles
Libs.private: -lwayland-client -lwayland-cursor -lwayland-egl -lGLESv2 -lG
LESv1_CM -lEGL -lxkbcommon -lm
Cflags: -I${includedir} -DFREEGLUT_GLES;-DFREEGLUT_STATIC

I builded freeglut with source code and made for pure wayland systems without X and used the follow flags:
-DFREEGLUT_WAYLAND=ON
-DFREEGLUT_GLES=ON
-DFREEGLUT_BUILD_DEMOS=OFF

Using -DCMAKE_DISABLE_FIND_PACKAGE_PkgConfig=TRUE break the build.

Note that GLUT_ROOT must point to a root directory when to find include, lib (or lib64), share and bin sub-directories.

@hodoulp but GLUT_ROOT is pointed to /usr/include this is not a root dir?

Can you try /usr?

@Simran-B Still same error:
-- The CXX compiler identification is GNU 11.2.0
-- The C compiler identification is GNU 11.2.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Setting C++ version to '11' as none was specified.
-- Performing Test COMPILER_SUPPORTS_CXX11
-- Performing Test COMPILER_SUPPORTS_CXX11 - Success
-- Found OpenGL: /usr/lib/libOpenGL.so  found components: OpenGL
-- Found GLEW: /usr/local/include (found version "2.2.0")
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.0")
-- Checking for module 'glut'
--   Package 'glut', required by 'virtual:world', not found
-- Could NOT find GLUT (missing: GLUT_glut_LIBRARY)
-- Use "GLUT_ROOT" to specify an install location
CMake Warning at share/cmake/utils/CheckSupportGL.cmake:47 (message):
  GPU rendering disabled
Call Stack (most recent call first):
  CMakeLists.txt:155 (include)

I'm using GLUT_LIBRARIES & GLUT_INCLUDE_DIR

@dekekincaid used:
-DGLUT_ROOT=/usr
-DGLUT_LIBRARIES=/usr/lib
-DGLUT_INCLUDE_DIR=/usr/include/GL

And also:
-DGLUT_ROOT=/usr
-DGLUT_LIBRARIES=lib
-DGLUT_INCLUDE_DIR=/usr/include

GLUT_LIBRARIES needs to point to the actual .so/.a/.dylib file, not a dir.  GLUT_INCLUDE points to the dir.

@dekekincaid like this?
-DGLUT_ROOT=/usr
-DGLUT_INCLUDE_DIR=/usr/lib
-DGLUT_LIBRARIES=/usr/lib/libfreeglut-gles.so

More like:
-DGLUT_INCLUDE_DIR=/usr/include
-DGLUT_LIBRARIES=/usr/lib/libfreeglut-gles.so
GLUT_ROOT doesn't work for me so I don't set it.

@dekekincaid still the same error:
-- Checking for module 'glut'
--   Package 'glut', required by 'virtual:world', not found
-- Could NOT find GLUT (missing: GLUT_glut_LIBRARY)
-- Use "GLUT_ROOT" to specify an install location

I tried to build OCIO in an Ubuntu 21.10 Docker container and it picked up GLUT just fine:
-- Found OpenGL: /usr/lib/x86_64-linux-gnu/libOpenGL.so  found components: OpenGL
-- Found GLEW: /usr/include (found version "2.1.0")
-- Found GLUT: /usr/lib/x86_64-linux-gnu/libglut.so

The library is provided by the freeglut3-dev package as dpkg -S libglut confirms:
freeglut3-dev:amd64: /usr/lib/x86_64-linux-gnu/libglut.a
freeglut3:amd64: /usr/lib/x86_64-linux-gnu/libglut.so.3
freeglut3:amd64: /usr/lib/x86_64-linux-gnu/libglut.so.3.9.0
freeglut3-dev:amd64: /usr/lib/x86_64-linux-gnu/libglut.so

CMake does not report "Found PkgConfig" for me. pkg-config --version reports 0.29.2, which seems quite dated. I guess the pkg-config package is superseded by pkgconf, which has version 1.7.3. But even then, it doesn't appear to be used for GLUT discovery in my case. I checked CMake's FindGLUT.cmake module and it doesn't actually use pkg-config in version 3.18. In the latest CMake version 3.22.x, the module does try to use pkg-config and that fails for me as well with error `Package 'glut', required by 'virtual:world', not found.
As far as I can tell, the problem is that the freeglut3-dev package doesn't come with a .pc file under Ubuntu. If I compile and install FreeGLUT myself (had to install libxi-dev for XInput.h), then I do get one at /usr/local/lib/x86_64-linux-gnu/pkgconfig/glut.pc and it's picked up by CMake for the OCIO build. You don't seem to have this problem but on the other hand you use freeglut-gles which might be different.
Can you try the following commands?
pkg-config --modversion glut
pkg-config --modversion freeglut-gles

I expect the former to fail with the familiar error message and the latter to print 3.2.1. A simple workaround could be to symlink the freeglut-gles.pc file so that pkg-config will also use this configuration if glut and not freeglut-gles is requested:
cd /usr/lib64/pkgconfig/
ln -s freeglut-gles.pc glut.pc

@Simran-B yeah that worked.
-- Checking for module 'glut'
--   Found glut, version 3.2.1
-- Found GLUT: TRUE

I will make a patch to the package i tried to port so it will fixed. Its a good idea too add a option to detect freeglut-gles instead.

You could also submit a patch upstream to pick up either glut or freeglut-gles: https://gitlab.kitware.com/cmake/cmake/-/blob/master/Modules/FindGLUT.cmake#L96

-DGLUT_glut_LIBRARY=/usr/lib64/libfreeglut-gles.so might work too but bypasses the CMake check. It will report that it found GLUT even if this internal variable is set to a non-existing path.
I created an issue upstream: https://gitlab.kitware.com/cmake/cmake/-/issues/23077