GDAL 2.3 build issues: CPLSetErrorHandler and OGR_G_CreateGeometry

Pardon the confusion with this bug report.  I'm building with a custom bazel env and not using setup.py.  But I think these will hit many people using a GDAL pre 2.3 release (and probably needs a stricter compiler config to run into trouble)
Sadly, I don't know enough about cython to figure out a patch to include with this report
Expected behavior and actual behavior.
Build failures...
I think that CPLErrorHandler needs a ctypedef for CPLSetErrorHandler
third_party/py/fiona/_drivers.pyx_cython_generated.cc:2174:3: error: no matching function for call to 'CPLSetErrorHandler'
  CPLSetErrorHandler(((void *)__pyx_f_5fiona_8_drivers_errorHandler));
  ^~~~~~~~~~~~~~~~~~
third_party/gdal/port/cpl_error.h:161:37: note: candidate function not viable: cannot convert argument of incomplete type 'void *' to 'CPLErrorHandler' (aka 'void (*)(CPLErr, int, const char *)') for 1st argument
CPLErrorHandler CPL_DLL CPL_STDCALL CPLSetErrorHandler( CPLErrorHandler );

and OGR_G_CreateGeometry can't cast an int to an enum.  I copied _shim22.* to _shim.* in my build
third_party/py/fiona/_geometry.pyx_cython_generated.cc:2460:27: error: no matching function for call to 'OGR_G_CreateGeometry'
  __pyx_v_cogr_geometry = OGR_G_CreateGeometry(__pyx_v_wkbtype);
                          ^~~~~~~~~~~~~~~~~~~~
third_party/gdal/ogr/ogr_api.h:87:22: note: candidate function not viable: no known conversion from 'unsigned char' to 'OGRwkbGeometryType' for 1st argument
OGRGeometryH CPL_DLL OGR_G_CreateGeometry( OGRwkbGeometryType ) CPL_WARN_UNUSED_RESULT;
                     ^
third_party/py/fiona/_geometry.pyx_cython_generated.cc:4822:27: error: no matching function for call to 'OGR_G_CreateGeometry'
  __pyx_v_cogr_geometry = OGR_G_CreateGeometry(__pyx_v_geom_type);
                          ^~~~~~~~~~~~~~~~~~~~
third_party/gdal/ogr/ogr_api.h:87:22: note: candidate function not viable: no known conversion from 'int' to 'OGRwkbGeometryType' for 1st argument
OGRGeometryH CPL_DLL OGR_G_CreateGeometry( OGRwkbGeometryType ) CPL_WARN_UNUSED_RESULT;
                     ^

Steps to reproduce the problem.
Sorry. I haven't tried with a normal linux build.
Operating system
Linux + bazel + python 2.7 + cython 0.27 and building as C++11
Fiona and GDAL version and provenance
Fiona and GDAL from pretty close to 2018-Mar-10

GDAL: r41665
Fiona: https://github.com/Toblerity/Fiona/commit/16a6b289d1db953c2894b68d495df1a2aee08bfc

I'm not familiar with bazel, but Fiona seems to build against 2.3 trunk (but then fails on a few test cases).
The errors occur in the part of the code that is auto generated from Cython. How did you generate the c code?  Could you provide a minimal working example of a bazel setup that reproduces this behavior?

rbuffat, The bazel aspect of the build isn't really important.  Likely it's that I'm building in cython C++ mode that really matters.

Would it be possible to provide a minimal minimal working example that leads to this behavior?
As said before, the standard installation method seems to work with gdal 2.3 on the CI. As the error occurs in the auto generated code by cython it could also be a cython and not a fiona issue.
Fiona wraps around the C-library gdal. As you said you compile with c++, annotating functions with 'extern "C"' could solve the issue. But I have to say that I lack the experience and without a base to start with it will be difficult to debug.

Working on the issues a bit more.  It requires getting a bit more explicit about types.  Even and I have worked on tightening up the types in GDAL and my local build tries to be as careful with types as it can.  Here are my notes so far.  I'm pretty sure I'm not doing a good job of where to put things.
For OGR_G_CreateGeometry, I had to add this to _geometry.pxd:
cdef extern from "ogr_core.h":
  ctypedef enum OGRwkbGeometryType:
    wkbUnknown
    wkbPoint
    wkbLineString
         [snip]

And change the function prototype in _geometry.pxd from int to OGRwkbGeometryType:
    void *  OGR_G_CreateGeometry (OGRwkbGeometryType wkbtypecode)

For CPLSetErrorHandler, I modified _drivers.pyx (probably the wrong place for this!):
cdef extern from "cpl_error.h":
    ctypedef void (*CPLErrorHandler)(int, int, const char*);
    void CPLSetErrorHandler (CPLErrorHandler handler)

Then in GDALEnv, I had to cast to a CPLErrorHandler:
    def start(self):
        cdef const char *key_c = NULL
        cdef const char *val_c = NULL

        if GDALGetDriverCount() == 0:
            GDALAllRegister()
        if OGRGetDriverCount() == 0:
            OGRRegisterAll()
        CPLSetErrorHandler(<CPLErrorHandler>errorHandler)  # <-- cast here
        if OGRGetDriverCount() == 0:
            raise ValueError("Drivers not registered")
[snip]

Then
cannot initialize a parameter of type 'char *' with an lvalue of type 'const char *'
  __pyx_t_10 = __pyx_f_5fiona_5_shim_gdal_open_vector
 error: no matching function for call to 'OGR_L_SetIgnoredFields'
error: no matching function for call to 'GDALDatasetCreateLayer'
          __pyx_t_11 = __pyx_f_5fiona_4_err_exc_wrap_pointer(GDALDatasetCreateLayer(__pyx_v_self->__pyx_base.cogr_ds, __pyx_v_name_c, __pyx_v_cogr_srs, __pyx_v_geometry_code, __pyx_v_options)); if (unlikely(__pyx_t_11 == ((void *)NULL))) __PYX_ERR(0, 974, __pyx_L107_error)
[snip]

So in the shim, there is a missing const:
cdef void* gdal_open_vector(char* path_c, int mode, drivers, options) except NULL

becomes
cdef void* gdal_open_vector(const char* path_c, int mode, drivers, options) except NULL

Some info on my build:
    "-DWITHOUT_CPLDEBUG",
    "-DDISABLE_CVSID",
    # "-DSTRICT_OGRERR_TYPE",
    # "-DUSE_IN_GDAL",  # For pcraster/libcsf.
    "-DGDAL_COMPILATION",
    "-D_GNU_SOURCE",
    # "-DPAM_ENABLED",
    "-DHAVE_EXPAT",
    "-DHAVE_LIBZ",
    "-DHAVE_GEOS",
    "-DHAVE_MITAB",
    "-DBIGTIFF_SUPPORT",
    "-DGDAL_NO_AUTOLOAD",
    "-DGDAL_NO_HARDCODED_FIND",
    "-DINTERNAL_LIBGEOTIFF",  # Says to use the GDAL version of SetCSVFilenameHook.
    "-DUSE_CPL",
    "-DPROJ_STATIC",
    "-DPROJ_VERSION=5",

@schwehr thanks for the notes! Adding typedefs for everything will be an all-around win.

I can reproduce this on macOS by setting the cython language in setup.py to c++:
ext_options["language"] = "c++"
ext_options["extra_compile_args"] = ["-std=c++11"]

The edits from @schwehr seem to work, but I'm having some problems with the OGRFieldSubType type in _shim22.pyx.

@snorfalorpagus it's not clear to me if #672 resolves this issue. What's left?

Confirmed that building in c++ mode works.


fix: update excerices and related parts

Closes: https://github.com/SAP/cloud-sdk-backlog/issues/873
This update the exercise instructions and other related stuff after the VDM replacement.
The legal note mentioned in the ticket has already been added before this update.
Now all tutorial steps can be followed.
Please use this filtered File Changed that contains only my changes when you need it.
What has changed?

remove all references to the VDM from the exercise
delete VDM dependency
improve the exercise steps and instructions
remove all spec files and add ignore patterns for them
update old dependencies
update the pipeline config file
update xs-security.json along with the exercise
update .env along with the exercise
update README.md
remove ts-lint
add eslint and prettier
update the old  Fiori theme to the latest theme and change the main view to accept it
update local timesheet data along with the latest mock server branch that is recommended in this tutorial.
add a script to update local appointment date data

Regarding this comment, please remove the notion of private repositories here. This is not relevant anymore.
But please adjust the note to be more general and to indicate that the clients can not be open source.


[Keyboard Manager] Em dash

📝 Provide a description of the new feature
What is the expected behavior of the proposed feature?  What is the scenario this would be used?
Please add the em dash (—) to Remap dropdown. There's currently no way to type it when remapping keys or adding a shortcut.

If you'd like to see this feature implemented, add a 👍 reaction to this post.

Em-dash is a character, not a key. See also #6976, amongst others (lots of closed issues asking for character)

I see. Thank you for the clarification.


Add last blog posts to the about page

Thanks for the suggestion. al-folio is intentionally designed to separate the about page from the blog content, unlike most other Jekyll themes that make the blog a central part. Having said that, let's keep this issue open to see how much interest there is in supporting this feature (people can vote with 👍 if they'd like to have this supported).

It is been a year since this issue was created. This one is favorable to some people (including me). Perhaps, we can add this feature but only make it optional.


How to set session time zone

Is there any way to set time zone so that dates are treated properly according to the time zone

Similar to a previous issue, Date/Timezone issues are application/Javascript issues. Postgres stores what you give it, and hands it back when you ask fo9r it. If you store a Date without time/time zone/offset info, you will be handed back a date with 0:00.000 as the time - midnight. When your application, or the database driver, does new Date(yourDateFromTheDb) on a date in this format, the JS will apply the appropriate offset for local time. If you don;t want this behavior, you need to provide TZ info when you save the date.
See the previous issue here:
https://github.com/robconery/massive-js/issues/51
And this Stack Overflow question and answers here:
http://stackoverflow.com/questions/7556591/javascript-date-object-always-one-day-off
If you want full control over timezone stuff in your app, store all dates/times in the Db as UTC, and then let JS handle the adjustment to local. Or similar strategy.
This is not an issue for massive, but instead something you need to deal with in any JS application using dates.
We're happy to assist with solving your problem, but again, this is not an issue for Massive per se.

I'll add to what @xivSolutions said and suggest you use timestamptz as a type in your database and let Postgres handle the timezones; Javascript is horrible at it.

Sorry to add more comments on it.  The timestamp with timezone in PostgreSQL works well when we issue SET SESSION TIME ZONE 'zone'.  This setting of time zone is needed to get the correct date back from PostgreSQL.  If you can provide a callback/event on a open connection then application can can write custom logic.

No worries - happy to reopen if there's cause :).
Your server writes times for a given timezone, so if you need to translate to your users timezone you need to know what timezone they're in. You can do this from the client and you can send in that timezone, or you can just UTC everything.
Either way this is not the purview of a data access library.


Improve detection of quoted keys in ::Policy::HashKeyQuotes

P:C:P:HashKeyQuotes now will alert when a quoted hash key has strictly non-special symbols.

looks good. just notice that $document is not used. is that right?

Correct. Is part of the call signature.

this looks odd, a green pipeline is not required in this repo?

I think we're missing this in .mergify.yml:
- "#check-failure=0"
- "#check-pending=0"

https://github.com/os-autoinst/os-autoinst-common/pull/44


opening an slot

Issues

If you're having trouble with Articulate we definitely want to help you. If you can provide a little bit of information it will make our troubleshooting job easier.

I create quick answer in slot
this is the log
message: null }
api_1_b6eaabf8ea04 | Debug: handler, error
api_1_b6eaabf8ea04 |     Error: Cannot read property 'slots' of undefined
api_1_b6eaabf8ea04 |     at Object. (/usr/src/app/lib/channels/chat-widget/post.js:33:14)
api_1_b6eaabf8ea04 |     at Generator.throw ()
api_1_b6eaabf8ea04 |     at asyncGeneratorStep (/usr/src/app/lib/channels/chat-widget/post.js:7:103)
api_1_b6eaabf8ea04 |     at _throw (/usr/src/app/lib/channels/chat-widget/post.js:9:291)
api_1_b6eaabf8ea04 | Debug: internal, error
api_1_b6eaabf8ea04 |     Error: Cannot read property 'slots' of undefined
api_1_b6eaabf8ea04 |     at Object. (/usr/src/app/lib/channels/chat-widget/post.js:33:14)
api_1_b6eaabf8ea04 |     at Generator.throw ()
api_1_b6eaabf8ea04 |     at asyncGeneratorStep (/usr/src/app/lib/channels/chat-widget/post.js:7:103)
api_1_b6eaabf8ea04 |     at _throw (/usr/src/app/lib/channels/chat-widget/post.js:9:291)
nginx_1_6d507e6eb4b4 | <IP_ADDRESS> - - [30/Oct/2019:10:20:42 +0000] "POST /api/connection/01e75070-fafc-11e9-b5b0-db40f8f03c9e/external HTTP/1.1" 500 96 "http://<IP_ADDRESS>/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:70.0) Gecko/20100101 Firefox/70.0" "-"
rasa_1_20c47e12775d | 2019-10-30 10:20:45+0000 [-] "<IP_ADDRESS>" - - [30/Oct/2019:10:20:44 +0000] "POST /parse HTTP/1.1" 200 219 "-" "axios/0.18.0"
api_1_b6eaabf8ea04 | { error:
api_1_b6eaabf8ea04 |    TypeError: Cannot read property 'slots' of undefined
api_1_b6eaabf8ea04 |        at slots (/usr/src/app/lib/services/agent/agent.converse.service.js:80:40)
api_1_b6eaabf8ea04 |        at Array.map ()
api_1_b6eaabf8ea04 |        at map (/usr/src/app/lib/services/agent/agent.converse.service.js:77:73)
api_1_b6eaabf8ea04 |        at AgentService.getActionToModify (/usr/src/app/lib/services/agent/agent.converse.service.js:226:46)
api_1_b6eaabf8ea04 |        at Generator.next ()
api_1_b6eaabf8ea04 |        at asyncGeneratorStep (/usr/src/app/lib/services/agent/agent.converse.service.js:11:103)
api_1_b6eaabf8ea04 |        at _next (/usr/src/app/lib/services/agent/agent.converse.service.js:13:194)
api_1_b6eaabf8ea04 |        at process._tickCallback (internal/process/next_tick.js:68:7),
api_1_b6eaabf8ea04 |   message: null }
api_1_b6eaabf8ea04 | Debug: handler, error
api_1_b6eaabf8ea04 |     Error: Cannot read property 'slots' of undefined
api_1_b6eaabf8ea04 |     at Object. (/usr/src/app/lib/channels/chat-widget/post.js:33:14)
api_1_b6eaabf8ea04 |     at Generator.throw ()
api_1_b6eaabf8ea04 |     at asyncGeneratorStep (/usr/src/app/lib/channels/chat-widget/post.js:7:103)
api_1_b6eaabf8ea04 |     at _throw (/usr/src/app/lib/channels/chat-widget/post.js:9:291)
api_1_b6eaabf8ea04 |     at process._tickCallback (internal/process/next_tick.js:68:7)
api_1_b6eaabf8ea04 | Debug: internal, error
api_1_b6eaabf8ea04 |     Error: Cannot read property 'slots' of undefined
api_1_b6eaabf8ea04 |     at Object. (/usr/src/app/lib/channels/chat-widget/post.js:33:14)
api_1_b6eaabf8ea04 |     at Generator.throw ()
api_1_b6eaabf8ea04 |     at asyncGeneratorStep (/usr/src/app/lib/channels/chat-widget/post.js:7:103)
api_1_b6eaabf8ea04 |     at _throw (/usr/src/app/lib/channels/chat-widget/post.js:9:291)
api_1_b6eaabf8ea04 |     at process._tickCallback (internal/process/next_tick.js:68:7)
nginx_1_6d507e6eb4b4 | <IP_ADDRESS> - - [30/Oct/2019:10:20:45 +0000] "POST /api/connection/01e75070-fafc-11e9-b5b0-db40f8f03c9e/external HTTP/1.1" 500 96 "http://<IP_ADDRESS>/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:70.0) Gecko/20100101 Firefox/70.0" "-"

Did you download a release or pull from Master? Which release?0.29
What operating system are you running?CentOS X64
Are you running locally or in the cloud?locally VMWARE
Which browser are you using?firefox (widget)

Feature Request

If you've got a feature request we want to hear it

Please desribe the feature you would like us to add.
If possible provide the use case for the feature and how you would use it.

wrong definition
I corected it and works


[HOLD][$250] Migrate Button.js to function component

Class Component Migration
Filenames

[ ] src/components/Button.js

type: React.Component
has state values: false
has refs: false
has context: false
lifecycle methods: componentDidMount,componentWillUnmount

Task

We currently have some class components in our codebase that we would like to refactor to a function component.
Here's a link with some general advice on how to refactor a class component to a function component: https://react.dev/reference/react/Component#alternatives
If you need additional guidance, please ask in #expensify-open-source
Test for any regressions and verify that there are no breaking changes

@marcaaron https://github.com/Expensify/App/blob/main/src/components/Button.js this file is not found in main branch of the repository is it moved to different component or renamed to new component.

Proposal
Hi, I'd like to finish this task.
Certainly, it's a good practice to refactor class components to function components using React Hooks as they make your code cleaner and easier to understand.
Let's assume your Button.js class component currently looks something like this:
jsx
Copy code
import React from 'react';
class Button extends React.Component {
componentDidMount() {
// Some code here
}
componentWillUnmount() {
// Some code here
}
render() {
return (
{this.props.children}
);
}
}
export default Button;
Following the advice from the React documentation you provided, the refactored functional component with hooks might look like this:
jsx
Copy code
import React, { useEffect } from 'react';
const Button = (props) => {
useEffect(() => {
// Equivalent to componentDidMount
// Some code here
return () => {
  // Equivalent to componentWillUnmount
  // Some code here
};

}, []);  // The empty array causes this effect to only run once on mount and unmount
return (
{props.children}
);
};
export default Button;
In this refactored version, we use the useEffect hook. The function passed to useEffect will run after the render is committed to the screen (acting like componentDidMount). If you return a function from useEffect, React will run it when it is cleaning up the component (acting like componentWillUnmount).
Once you have made these changes, you should test the component thoroughly to ensure that no functionality was broken during the refactoring process. This could involve manual testing, or running an existing suite of automated tests if you have them.

I'd like to work on this issue

I can work on this issue.

I'd like to work on this.

Looks like this file no longer exists so closing this out.

@marcaaron Could you reopen this issue and assign to me please? It turns out that the file still exists and I need to migrate it to function component before migrating to TS. Thanks!

Sounds good. Feel free to get me for the final merge!

@marcaaron PR is now ready to review!

Thanks for catching that one @parasharrajat - sorry for the delay!

@dylanexpensify this is not a bug - @parasharrajat just needs payment for the C+ review on the linked PR Thanks!

Ahh apologies! Will get payment going!

Payment summary:

Contributor+: @parasharrajat $500

Please request!

$250 payment approved for @parasharrajat based on summary above.


Failed to parse SourceMap

Debug at iPhone device.

React Native: 0.25-0.26

package.json:
"babel": {
    "presets": [
      "react-native"
    ]
  },

show error at load begin:

Failed to parse SourceMap: http://192.168.1.xxx:8081/index.ios.map?platform=ios&dev=true&hot=true

The SourceMap has wrong positon after reload:

"babel": {
  "presets": [
    "react-native"
  ],
  "sourceMaps": false
}

@charpeni thanks, The parse error is dispeared, but the source's map still wrong, like my picture shown.

+1

After some trial an error, it looked to us like a regression in Chrome. So we went looking and found this recent Chrome defect:
Failed to parse SourceMap
https://bugs.chromium.org/p/chromium/issues/detail?id=611328

@experimentsin Good catch.
I'll close this issue since it's related to Chrome, it's already fixed in Canary, it should be fixed soon into Chrome.

@facebook-github-bot close

@someok  后来解决了? 我也遇到这个问题了, 还没有解决. 貌似跟 你自己定义过 .babelrc 有关.

我也遇到了这个问题，现在解决了。
2种解决方案：
第一种方案
1:Setting－extensions－React Developer Tools（是否安装）
如果安装了React Developer Tools插件卸载在重启Chrome
第二种方案安装Chromium浏览器重试


Why are the motion coefficients for last samples of the ray set to 0?

Hi,
Thanks for sharing this amazing work.
I was wondering why the motion coefficients for the last 10% samples of the ray get discarded? Is this for training stabilisation? As indicated here.
Thanks!

Yes. Sometimes the motion for far objects can be messy due to inaccurate depth priors. So we assume background motion is zero (and this should hold in most the time of real video )


Add the ability to use plugins to import certificates (and maybe trust policies)

Is your feature request related to a problem?
I'd like to implement verification workflow based on Hashicorp Vault similarly to how it's possible to implement signing workflow with the plugin.
I'm going to perform verification on CI/CD ephemeral runners and I need a method to fetch the verification certificate.
What solution do you propose?
I'd like to extend the notation certificate add command with --plugin and --id option to support fetching the verification certificate from KV store like HC Vault
What alternatives have you considered?

Extend hc-vault's key-helper to add fetch option
Write shell scripts to cover fetching importing the key

Any additional context?
Vault is used to store the certificates(in kv) and key (in transit), so it seems natural for me to use it as a source of true for obtaining the certificates.
If you find that valuable, I can try to send the PR's to repositories with appropriate changes.

This is a good proposal which will simplify importing root certs for verification. I had a similar feature request in https://github.com/notaryproject/notation/issues/631

It is a good idea to simplify the certificate installation process. Usually, the key vault supports signing and also stores the certificate. Therefore, if the plugin provides the ability to download the root certificate, it would be easier for the user. To achieve this goal, we need to extend the plugin protocol to support a certificate fetching operation.

@tomaszkrzyzanowski would you like to work on this issue?

@yizha1 sure, why not :) I should have some time around 3 week of the Dec, I will try to prepare something

Great and Thank you @tomaszkrzyzanowski . I will assign this issue to you, and we can decide the milestone later.


Centre the content

Describe the bug
The written content along with the image is not centrally placed on the index.html page
To Reproduce
Steps to reproduce the behavior:

Go to index.html
Scroll down to see the content with the image.
See error

Expected behavior
Align content so that it is placed at the center of the page
Screenshots

Hi @Bhavya1403. I would like to work on this issue. can you assign it to me?

Hi @Bhavya1403. The photos are not loaded, Is this the final preview.

assign me this issue


Trying to run the demo / Your browser does not support cookies

For some reason when trying to install the app, the app will in fact install, but I get when trying to access the app:
"The application cannot be loaded, please check that your browser allows third party cookies."
I, [2016-03-22T21:05:56.779907 #20128]  INFO -- omniauth: (shopify) Setup endpoint detected, running now.
21:05:56 web.1  | I, [2016-03-22T21:05:56.780023 #20128]  INFO -- omniauth: (shopify) Request phase initiated.
21:05:57 web.1  | I, [2016-03-22T21:05:57.467388 #20128]  INFO -- omniauth: (shopify) Setup endpoint detected, running now.
21:05:57 web.1  | I, [2016-03-22T21:05:57.467499 #20128]  INFO -- omniauth: (shopify) Request phase initiated.
21:05:58 web.1  | I, [2016-03-22T21:05:58.403212 #20128]  INFO -- omniauth: (shopify) Setup endpoint detected, running now.
21:05:58 web.1  | I, [2016-03-22T21:05:58.403435 #20128]  INFO -- omniauth: (shopify) Request phase initiated.
21:05:58 web.1  | I, [2016-03-22T21:05:58.883692 #20128]  INFO -- omniauth: (shopify) Setup endpoint detected, running now.
21:05:58 web.1  | I, [2016-03-22T21:05:58.883786 #20128]  INFO -- omniauth: (shopify) Request phase initiated.
I am just using some local certs and foreman to get it running on ssl
web: thin start -p 3000
web: thin start -p 3001 --ssl --ssl-key-file server.key --ssl-cert-file server.crt
( I use this method for my other apps. )
-- I definitely have cookies enabled. And tried installing on more than 1 app.

Same issue in Safari as chrome.
Console says:
bundle.js:46 Uncaught TypeError: Cannot read property 'dataset' of null
function r() {
if ("about:" == document.location.protocol) return i["default"].success("index_load");
**  document.body.dataset.grCSLoaded = !0;**
var t = e("./lib/app");
i["default"].startAppLoadTimer(), t.init();

any update on this ?

No action. Killing it.


Remove Ruby 2.2 support

The Ruby agent announced the deprecation of Ruby 2.2 in v8.7.0 It's time to remove support for it with v9.0.0

[ ]  Update code conditionals for Ruby 2.2, such as here.
[ ]  Update the release notes.
[ ]  Update customer-facing documentation
[ ] Remove 2.2 from CI testing
[ ] Update minimum ruby version in gemspec

Additional context
Consider upgrades or features that we can optimize the agent upon after moving forward to newer Ruby version.

This is a duplicated ticket.


FINERACT-1901 : Reject loan does not lead to NullPointer

Description
Describe the changes made and why they were made.
Ignore if these details are present on the associated Apache Fineract JIRA ticket.
Checklist
Please make sure these boxes are checked before submitting your pull request - thanks!

[ ] Write the commit message as per https://github.com/apache/fineract/#pull-requests

[ ] Acknowledge that we will not review PRs that are not passing the build ("green") - it is your responsibility to get a proposed PR to pass the build, not primarily the project's maintainers.

[ ] Create/update unit or integration tests for verifying the changes made.

[ ] Follow coding conventions at https://cwiki.apache.org/confluence/display/FINERACT/Coding+Conventions.

[ ] Add required Swagger annotation and update API documentation at fineract-provider/src/main/resources/static/legacy-docs/apiLive.htm with details of any API changes

[ ] Submission is not a "code dump".  (Large changes can be made "in repository" via a branch.  Ask on the developer mailing list for guidance, if required.)

FYI our guidelines for code reviews are at https://cwiki.apache.org/confluence/display/FINERACT/Code+Review+Guide.

All i did was to add a try and catch exception to the readMappingByLoanId method in CreditBureauLoanProductMappingReadPlatformServiceImpl

Ok
On Wed, May 24, 2023, 11:11 AM Arnold Gálovics @.***>
wrote:

@.**** requested changes on this pull request.
Code is not formatted properly. There's no test to cover the changes and
the implementation is not the right way to do it. Please take care of it.
For formatting, use ./gradlew spotlessApply
In
fineract-provider/src/main/java/org/apache/fineract/infrastructure/creditbureau/service/CreditBureauLoanProductMappingReadPlatformServiceImpl.java
https://github.com/apache/fineract/pull/3199#discussion_r1203841747:

   final CreditBureauLoanProductMapper rm = new CreditBureauLoanProductMapper();

   final String sql = "select " + rm.schema() + " and cblp.loan_product_id=?";

       return this.jdbcTemplate.queryForObject(sql, rm, new Object[] { loanProductId }); // NOSONAR

   }catch(EmptyResultDataAccessException e){

       return  null;

I don't think this is the right way to do it. The API will respond with a
null response body but it should simply signal an HTTP 404 representing a
resource not found situation.
—
Reply to this email directly, view it on GitHub
https://github.com/apache/fineract/pull/3199#pullrequestreview-1441457919,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A7QQ7P6LGVT2KZDZ7SBHD4TXHXNFBANCNFSM6AAAAAAYM6W6CA
.
You are receiving this because you authored the thread.Message ID:
@.***>


fix(popover): callouts

If within callout we have a links/footnotes, the popover content will be hidden
cc @saberzero1

sorry for the ping, please ignore this fix.
This is a result from using a custom CSL using rehype-citation


Avoiding running get_array and non_interactive raising exceptions

Not running get_array in non_interactive
Early exit of non_interactive cont manager when an exception is raised inside.
Clarifying exceptions messages

Close #2480

I'm going to ignore coverage for this specific PR because it is for edge cases difficult to cover.


Failed to install dependencies

OS: Windows 10 Pro
Terminal: ConEmu
First, I uninstalled my python 3.7.9, and installed python 3.10.4.
Next, I run py -m pip install -r requirements.txt in my ComEmu, and then the computer responded:

Could not fetch URL https://pypi.org/simple/pyjwt/: There was a problem confirming the ssl certificate: HTTPSConnectionPool(host='pypi.org', port=443): Max retries exceeded with url: /simple/pyjwt/ (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:997)'))) - skipping
ERROR: Could not find a version that satisfies the requirement pyjwt (from versions: none)
ERROR: No matching distribution found for pyjwt

Can anyone tell me what's this situation? and what should I do?

It seems to be a pip issue, you can refer to this Q&A https://stackoverflow.com/a/29751768/6301132
You could try adding parameters like this: py -m pip install --trusted-host pypi.org -r requirements.txt.
I don't have the same environment, not sure it works.

It seems to be a pip issue, you can refer to this Q&A https://stackoverflow.com/a/29751768/6301132 You could try adding parameters like this: py -m pip install --trusted-host pypi.org -r requirements.txt. I don't have the same environment, not sure it works.

I switched to python 3.9.12 and it still didn't work.
Still, appreciate for your reply.


Remove version: FreeMat.FreeMat version 4.2

[Automated] It returns code over 400 in all urls
Microsoft Reviewers: Open in CodeFlow

URL: https://sourceforge.net/projects/freemat/files/FreeMat4/FreeMat-4.2-Setup.exe/download
Status Code: 200
(Automated message - build 896)

Close with reason: Package still available.;


Version 1.71 not available on Maven Central

From my developer machine, and from a GitHub actions runner, I get this error:
   > Could not find org.bouncycastle:bcprov-jdk15to18:1.71.
     Searched in the following locations:
       - https://repo.maven.apache.org/maven2/org/bouncycastle/bcprov-jdk15to18/1.71/bcprov-jdk15to18-1.71.pom

See https://github.com/bitcoinj/bitcoinj/pull/2373/checks

Is there any updates on this?
I can see that 1.71 version was released however is not available on Maven Repository.
Thanks in advance.

It's now on Maven Central. Thanks!

Bouncy castle 1.71 is still not in Maven central. Please publish it to maven central.

https://search.maven.org/artifact/org.bouncycastle/bcprov-jdk15to18 → version 1.71
@andreasrosdal What artifact ID are you using?

I am using this:  https://mvnrepository.com/artifact/org.bouncycastle/bcprov-jdk15on


Centrally sync release drafter configuration

Fixes

Fixes #68 by @zackkrida
Description

This PR brings the release drafter workflow and configuration to this repo. This

ensures a consistent changelog in all Openverse repos
reduces the burden of managing the versioning logic in multiple repos
keeps the changelog close to the labels due to their tightly coupled nature

Testing Instructions

Workflows are quite hard to test. A careful read while referring to the docs might be useful. Comparing against an existing config (such as the one from openverse-api) might help.
Checklist

[x] My pull request has a descriptive title (not a vague title like Update index.md).
[x] My pull request targets the default branch of the repository (main) or a parent feature branch.
[x] My commit messages follow best practices.
[x] My code follows the established code style of the repository.
[ ] I added or updated tests for the changes I made (if applicable).
[x] I added or updated documentation (if applicable).
[ ] I tried running the project locally and verified that there are no visible errors.

Developer Certificate of Origin

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

After merging this PR, the old config and workflow will need to be removed from the downstream PRs.


Type Definitions for React CustomEvents

Describe the bug
EventHandler properties are not shown for CustomEvents on React & TypeScript
To Reproduce
Steps to reproduce the behavior:

Create <BlSelect /> component
Add onSelect
On onSelect={e => ...} you won't be able to see custom properties of Event Handler referenced as "e" however it can be accessed

Versions
Baklava v2.0.0-beta.38
React 18.2.0

I'm currently looking into it. From what I've seen so far is ,each @property definition should be added into the CustomEvent interface's parameter.

Could it be because the dispatcher function takes an interface <T> for event decleration however it was not referenced while emitting? https://github.com/Trendyol/baklava/blob/next/src/utilities/event.ts#L30
So in this case it should be updated with the following?
export function event<T>(customName?: string) {
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
  return (protoOrDescriptor: any, name: string): any => {
    const descriptor = {
      get(this: HTMLElement) {
        return dispatcher<T>(this, customName || name);
      },
      enumerable: true,
      configurable: true,
    };

    Object.defineProperty(protoOrDescriptor, name, descriptor);
  };
}

and while declaring events
from this:
@event('bl-change') private onChange: EventDispatcher<string>;
to this:
@event<string>('bl-change') private onChange: EventDispatcher<string>;
Haven't tested yet so not sure if it will work though, just an idea.

@AykutSarac is this issue still valid?

Apparently we can set event types like defined here: https://github.com/lit/lit/tree/main/packages/labs/react#typescript
I'll try to prioritize this.

Apparently we can set event types like defined here: https://github.com/lit/lit/tree/main/packages/labs/react#typescript
I'll try to prioritize this.

That's awesome, let me know if anything that I can contribute!

I quickly checked the complexity. Here is what I could found:
For having simple event types, it looks easy to set them. Our component analyzer already parses event types. An example from Textarea component[^1]:
{
  "kind": "class",
  "description": "",
  "name": "BlTextarea",
  "events": [
    {
      "type": {
        "text": "CustomEvent<string>"
      },
      "name": "bl-input"
    },
    {
      "type": {
        "text": "CustomEvent<string>"
      },
      "name": "bl-change"
    },
    {
      "type": {
        "text": "CustomEvent<EventDispatcher<ValidityState>>"
      },
      "name": "bl-invalid"
    }
  ],
 ....

We can simply put type.text to the next of event names in baklava-react.ts like described in lit-labs/react documentation. Like:
export const BlTextarea = React.lazy(() =>
  customElements.whenDefined("bl-textarea").then((elem) => ({
    default: createComponent<BlTextareaType>({
      react: React,
      tagName: "bl-textarea",
      elementClass: elem,
      events: {
        onInput: "bl-input" as EventName<CustomEvent<string>>,
        onChange: "bl-change" as EventName<CustomEvent<string>>,
        onInvalid: "bl-invalid" as EventName<CustomEvent<ValidityState>>,
      },
    }),
  }))
);

This can already improve the experience a lot, but currently I used more advanced event types in my PR for select component and this approach will not be enough for setting types for that. Because Select will accept custom types for it's values and it's event will provide selected item with its custom type. So we'll need to use Generic types together with React.lazy. Adding generic types to our Baklava React wrappers is the challenge here and I couldn't find a quick solution for now.
[^1]: You may notice another issue here that bl-invalid event has EventDispatcher type as well, which is wrong. This is another problem that we need to fix but I believe it'll not be that much challenging.

Works very well, thank you!


Release v1.1 (retry)

We are preparing for release v1.1 . Please review this branch. This branch will be merged to master branch probably in March 7th unless any critical issues are found. The main changes from version 1.0 are summarized as
new capabilities

VALD3 reverse modeling and MODIT availability #218
the reverse differentiation, which enables us to run an HMC in reverse mode and JAXopt #212
moldb: HITEMP2010 multiple file load #216 #220
moldb: Line strength criterion is computed based on a typical temperature of the system. #223

bug fix

H minus opacity bug fixed #94

Any comments welcome. In addition, check user guide for new capabilities. I can add your edit by manual if you write anything in this conversation thread,  and make sphinx docs.
Thanks in advance!

I can confirm that the HMC-NUTS for VALD3 works well in my PC.

.

Thank you for reviewing! @ykawashima That are good points. Here is my opinion.

warning looks very useful.
actually no reason for - np.nan. it is no problem to use zero instead.
For instance, how about making an option for saving files and deleting unnecessary files as default?
Can you implement these modifications?

@HajimeKawahara Thank you for your opinion. Ok. I will work on the modifications.

@ykawashima
Can you add any document on the new crit computation in documents/userguide/sijmask.rst?
I think you have some comparisons.
(to avoid ExoJAX to be a black-box ⚫ )

@HajimeKawahara Yes, I will do that. I think we also need to update API (for the parameters crit, Ttyp, and remove_original_hdf) and I was thinking to ask you.

Thanks! API updated.

Thank you!


Implement CTR AES mode of operation

For this we will reuse the tests from ECB in AESAVS. Per appendix A of that document there are no provided tests and in the instance of certification manual inspection will be required by the testing laboratory.


Build CLI: Ensure Notarizing Success on MacOS by checking the command output

This PR closes #2100
Notarize command on MacOS return status OK even if the notarize has failed, therefore we must check the output of the command to ensure the success of the notarizing.
Since the command has the word Accepted many times (basically on each file) we can check for this word only.
However, the command returns currently the final result in one line status: Accepted link from last release logs which we can compare each line against to rather have false negatives that positives.
The line to match against (currently status: Accepted) is set in the configuration file to avoid release a new version of the build cli tool each time apple changes the command output.

@AmmarAbouZor thanks for these changes. I have only one question. As soon as output of macos cmds is out of our control and we cannot always be sure in default values of parameter accepted_line does it make sense to warn the user if in the configuration file parameter accepted_line is missed? Also, I would put some additional error output in case of failure, like "Please check field accepted_line to make sure output of notarization command is still relevant to configuration" or something like that.

@AmmarAbouZor thanks for these changes. I have only one question. As soon as output of macos cmds is out of our control and we cannot always be sure in default values of parameter accepted_line does it make sense to warn the user if in the configuration file parameter accepted_line is missed? Also, I would put some additional error output in case of failure, like "Please check field accepted_line to make sure output of notarization command is still relevant to configuration" or something like that.

Hi @DmitryAstafyev
The filed accepted_line is required while parsing the configuration files. I commented it out for testing and got the following error message before the release has started
Error: Error while serializing code sign configuration file

Caused by:
    TOML parse error at line 41, column 1
       |
    41 | [notarize_command]
       | ^^^^^^^^^^^^^^^^^^
    missing field `accepted_line`

I've updated the error message if the accepted line can't be found to the following:
Accepted line couldn't be found in notarize command output
Ensure that the content of the `accepted_line` field in the codesign configuration file is included as a single line in the output of the notarize command"


Suggest 方法论 instead of 抓手

众所周知，“函数”(function)和“方法”(method)之间存在一定关联。并且我建议把“抓手”留给句柄(handle)类型，在以后做FFI的时候用。
As is widely acknowledged, "function" has some relation with "method", which in turn translates into "方法". And I suggest using "抓手" for handle types, to be used for foreign function interface operations.

哈哈，我看到抓手想到的也是 handle

那么建议用“组合拳”代替“方法论”呢亲（


[IBM] Update the multi-user instructions

The current multi-user instructions need to be updated.

the dex configmap example does not work as is, could be due to the format.
the explanation of using localhost:8080 as the URL.
in long run, we should use IBM backed ID to authenticate.

For release 1.1, we should at least finish 1) and 2).

/assign @shawnzhu

cc @animeshsingh

also make multi-user Pipelines a key focus from docs perspective

the explanation of using localhost:8080 as the URL.

I will document how to enable HTTPS under #2000 so that it can support the KFP multi-user requirement for using a secure public endpoint.

@adrian555 My plan in order:

[ ] cover the HTTPS setup plus dex updates #2071
[ ] document requirement brought up by KFP multi-user feature.
[ ] prefer IBM Cloud AppID to Dex - involve changes to kubeflow/manifests


Clinical Query issue with empty data

Sometimes we get the broken data like this:  http://prntscr.com/i5fg9l

Here is the request: http://prntscr.com/i5fha9
Could you check it please?
Related issue: https://github.com/PulseTile/PulseTile-React/issues/109

it works


status is missing in SearchResult

Please use the following questions as a guideline to help me answer
your issue/question without further inquiry. Thank you.
Which version of Elastic are you using?
[ ] elastic.v7 (for Elasticsearch 7.x)
[x] elastic.v6 (for Elasticsearch 6.x)
[ ] elastic.v5 (for Elasticsearch 5.x)
[ ] elastic.v3 (for Elasticsearch 2.x)
[ ] elastic.v2 (for Elasticsearch 1.x)
Please describe the expected behavior
I'm using the msearch feature to perform between 1 and 3 searches at a time, depending on business rules.
While i can loop through the results and get the ErrorDetails from every result, Iz would like to have the status of those errors (eg http status like 400 for a bad request)
Is it a voluntary omission ?
Looking in other issue i understand that i could use PerformRequest instead and then parse the result myself, but it seems unnatural.
Am I missing something ?

Thanks for the report. I suppose you're referring to the HTTP status with Multi Get API, right?
In case of an error, you will not get the response, but an error. The error is of type *elastic.Error. To check if there was a specific HTTP status, you can use elastic.IsStatusCode(err interface{}, code int).
You're right in that there is no helper to get just the HTTP status. Is that what you're looking for?
As a workaround, you can also write your own Decoder, which is invoked before parsing each response from ES.

Hi, first thanks for your quick reply.
No i'm talking about the Multi Search API. I understand that :
msearch := elastic.MultiSearch()
search1 := elastic.NewSearchRequest().Query(whatever)
search2 := elastic.NewSearchRequest().Query(whatever)
msearch.Add(search1, search2)
results, err := msearch.Do(ctx)

in this case, I will have a global error (err) if something went wrong with the network (unreachable, timeout etc..). But I'd like to have a status for each result from results.Responses
For exemple I could have a 400 bad request from search1 and 200 from search2. In such a case err will be nil, and results.Responses[0].Error will be filled with a elastic.ErrorDetails
I find it unnatural to parse the cause description contained in elastic.ErrorDetails, while elasticsearch provide a status for each result (as you can see by performing a multisearch from kibana or a curl)
I tried locally to add the Field Status string to the SearchResult struct, and it does what I expected: add a status for each response.
That's why I'm asking if this is a known omission for some reason I don't get, or if I am missing something that have an equivalent behavior.
I did look at the Decoder, however I'm confortable with using the standard json unmarshaller. But I can't change what struct is passed to the decoder at response time (which is a MultiSearchResult)

Sorry for the delay.
I’ve looked up the Java code and in fact there’s a Status being rendered for each response item (https://github.com/elastic/elasticsearch/blob/master/server/src/main/java/org/elasticsearch/action/search/MultiSearchResponse.java#L174). We will need to add it.
There is no reason why that field is missing other than lack of resources to keep up with the pace of changes in ES. I guess that field simply wasn’t there when implementing MultiSearch API.

I've added Status here for the upcoming 7.0.7 release, in 0f7dc056dd67cd25d912716b7dc288ca916726a7.
I need to backport it to 6.x though.

Should be available in 6.2.24 and 7.0.7, once it is published.


Support byte values for configurable at runtime

Description:
This code snippet compiles without issue but getting runtime error.
configurable byte b = ?;
public function main() {
    io:println(b);
}

Error
error: Configurable feature is yet to be supported for type 'byte'

We need to support byte array as well.


Add GPL 2 license headers to all C++ files

Fixes #491
This tries to fix our licensing issues by specifying GPL 2 license for C++ files and CC BY license for the User Manual. To designate the C++ license, this PR adds the script update_license.R to automatically add license headers to all Nimble C++ files. Whenever we need to change the license (e.g. add a new C++ file, or update the copyright year, or add an author, simply update GPL_header.txt and run make license.

LGTM

@duncantl Does this seem reasonable to you?

Ping. @perrydv @duncantl Does a GLP2 relicensing seem reasonable to you? Duncan, do you have a standard practice in licensing C++ code that includes GPL2 headers?

For the record, @duncantl approved this change in an email thread.


chore: add other language bindings

Advertise the library I wrote.

Great! Thanks for your contribution.


Improve HashStore initialization process RE: properties supplied

When trying to instantiate FileHashStore with an integer wrapped as a string, an exception is thrown:
'str' object cannot be interpreted as an integer
To improve the user experience, we should check for this scenario and throw a more user friendly exception. While making this change, also consider whether we should try to coerce the "stringteger" into an integer.

This has been addressed via Feature-125: Improve HashStore Init.
When filehashstore validates properties, it also ensures that a supplied store_depth and store_width are integers by casting them into ints and returning a new checked_properties dict to proceed with.
Note: When I initially added a pytest to confirm this behaviour, I was unable to reproduce the issue. However, I could reproduce the issue by forcing an arithmetic/multiplication operation on the two properties.


Compile failed on Xcode 15.3

Hi Rudrank,
After I upgraded to Xcode 15.3, the compilation keeps failing:

No, I am only using MusadoraKit in my project

I just released 4.2.0, can you please try that and let me know?

It works! Thank you very much~


Update Scripts to Migrate CI to Subteam Repos

Description

Resolves https://github.com/UBCSailbot/tasks/issues/22

Build dev image ~and markdown linters~ should remain in sailbot_workspace.
Edit: What do you think about removing all markdown linters and their respective configuration files from this repo and subteam repos, and putting all documentation in the docs site?

I'm fine with that. Though I think there would be a few cases where, if a README is simple enough, it should also be in the repo so that there's less switching between apps.

I'm fine with that. Though I think there would be a few cases where, if a README is simple enough, it should also be in the repo so that there's less switching between apps.

Maybe essential information, like run instructions and arguments, can be in the README?

I'm fine with that. Though I think there would be a few cases where, if a README is simple enough, it should also be in the repo so that there's less switching between apps.

Maybe essential information, like run instructions and arguments, can be in the README?

Yeah that was what I was thinking. Kind of like: https://github.com/UBCSailbot/network_systems/blob/main/projects/example/README.md

Yeah that was what I was thinking. Kind of like: https://github.com/UBCSailbot/network_systems/blob/main/projects/example/README.md

Let's discuss this in the software-wide meeting today, I added a discussion topic.

Instead of deleting ROS lint and test I made them run weekly on Friday evenings (regression testing)


Fix #6534

Makes sure 0 is not passes to color_temperature_kelvin_to_mired.
I think we should make a hot-fix out of it, because it effects core functionality for quite some people.
Description:
Related issue (if applicable): fixes #6534
Pull request in home-assistant.github.io with documentation (if applicable): home-assistant/home-assistant.github.io#<home-assistant.github.io PR number goes here>
Example entry for configuration.yaml (if applicable):

Checklist:
If user exposed functionality or configuration variables are added/changed:

[ ] Documentation added/updated in home-assistant.github.io

If the code communicates with devices, web services, or third-party tools:

[ ] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[ ] New dependencies have been added to the REQUIREMENTS variable (example).
[ ] New dependencies are only imported inside functions that use them (example).
[ ] New dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.
[ ] New files were added to .coveragerc.

If the code does not interact with devices:

[ ] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[ ] Tests have been added to verify that the new code works.

I tried to test it, by setting the temperature slider in the webfrontent
to the lowest possible osition. Without the if clause, I was seeing an
error message, that told me, that 0 is not allowed. After adding this, I
was able to set the slider all the way down.
I couldn't fully test it though, beause for my lights I didn't have the
problem anyways. I could not reproduce the original error, so if one of
the people with the original error could check this works, this would be
awesome.
Also I'm currently missing the developer tools inthe web frontend and so
its a bit difficult totest.
On 13.03.2017 22:36, Martin Hjelmare wrote:

@MartinHjelmare requested changes on this pull request.
Is it ok to leave |self._temperature| not updated when |o_temp| is 0?

In homeassistant/components/light/osramlightify.py
https://github.com/home-assistant/home-assistant/pull/6598#discussion_r105777231:

@@ -215,5 +215,6 @@ def update(self):
self._name = self._light.name()
self._rgb = self._light.rgb()
o_temp = self._light.temp()

   self._temperature = color_temperature_kelvin_to_mired(o_temp)

   if o_temp is not 0:

Please use |!=| instead of |is not| when comparing integers.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/home-assistant/home-assistant/pull/6598#pullrequestreview-26672772,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFL2NFQPUrVL_XclA22r_4gNvoDSYxKtks5rlbbogaJpZM4Mbyaf.

Made a tweak for @MartinHjelmare comment. It will now set temperature to 0 when it is absent so that Home Assistant won't report this.
@photo64 can you test this too?

I updated the code in my osramlightify.py file and can confirm this also is working.

Cherry picked for 0.40.1


Native DISTINCT doesn't work when we include orderBy or take and limit in the queries

Bug description
Native DISTINCT doesn't work when we used orderBy
          await fastify.prisma.user_info.findMany({
            distinct: ["role"],

            select: {
              role: true
            },
            orderBy: {
              role: {
                sort: "desc",
                nulls: "last"
              }
            }
          })

or    use take and limit
          await fastify.prisma.user_info.findMany({
            distinct: ["role"],
            take: req.query.limit,
            skip: req.query.page * req.query.limit,
            select: {
              role: true
            }
          })

The raw queries when used these queries:
SELECT "public"."user_info"."id", "public"."user_info"."role"::text FROM "public"."user_info" WHERE 1=1 ORDER BY "public"."user_info"."id" ASC OFFSET 0

It looks like we have to work around this problem by using subqueries: https://stackoverflow.com/questions/9795660/postgresql-distinct-on-with-different-order-by
How to reproduce
.
Expected behavior
No response
Prisma information
I posted them.
Environment & setup

OS:  macOS
Database: PostgreSQL
Node.js version: 20

Prisma Version
    "prisma": "5.8.1",

Hey, @meotimdihia, this is work that is still in progress and as such, this is expected behaviour currently.
You can find the PR in our engines here #4525 if you would like to track progress


Allow configuring DSMR5 protocol.

Todo's:

[ ] live testing
[ ] fix dsmr_parser support for v5

https://community.home-assistant.io/t/support-for-reading-dutch-smart-meter-electricity-gas-p1-port/1676/203?u=aequitas

Still waiting for feedback from DSMR5 testers.

One user reported in and current implementation does not work. Waiting for debug output. Will create new PR for additional changes. Assumption is this change does not break anything for non DSMR5 users so should be safe to keep merged.


feat(geolite): add Tailscale IP detection with CGNAT range check

Added proper detection of Tailscale IPs using CGNAT range (<IP_ADDRESS>/10)

Source: https://tailscale.com/kb/1015/100.x-addresses

That's a nice addition. Thanks :)


ESP32 version

Please update the decoder to support ESP32. The upstream is already updated: https://github.com/me-no-dev/EspExceptionDecoder

Seconded this. Is the author even still maintaining this?

I have used this with esp32 and it appears to work for the most part. Just make sure you point to the correct addr2line binary.
Here is how I am using it with the esp32 platform installed in PlatformIO (note, it should work as long as you have the xtensa-esp32-elf-addr2line binary somewhere):
java -jar EspStackTraceDecoder.jar ~/.platformio/packages/toolchain-xtensa32/bin/xtensa-esp32-elf-addr2line path/to/firmware.elf /tmp/dump.txt


Include Volume

More particularly to the ore calculator.

Yeah so i was thinking, if the Ores are more expensive than the t1 minerals, it may be better to straightup haul in minerals, than compressed ores, if there is sufficient volume left over.
So what you could do, is allow it to not only select the compressed ores to buy, but also t1 minerals.
And then you can add a constraint which says that the resulting volume should not be larger than some target volume.

And then you can add a constraint which says that the resulting volume should not be larger than some target volume.

This one can probably be defined by the user, set it to -1 if volume doesn't matter or something


[opus] update to 1.4

Fixes https://github.com/microsoft/vcpkg/issues/30987
Tested all feature and usage on the following triplets:

x64-windows
x64-windows-static
x86-windows

[x] Changes comply with the maintainer guide
[x] SHA512s are updated for each updated download
[ ] The "supports" clause reflects platforms that may be fixed by this new version
[ ] Any fixed CI baseline entries are removed from that file.
[ ] Any patches that are no longer applied are deleted from the port's directory.
[x] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[x] Only one version is added to each modified port's versions file.

Thanks for the update!


consider adding a creation subflow to VM which associates the VM with an LB and enforces the requirements

Not every VM can be hooked up to an LB. There are some requirements that need to be satisfied which can be enforced statically:

the VM must be in an availability set
the VM must not be a Basic VM size

It should be possible to express these restrictions in a fluent subflow, after adding .withExistingLoadBalancer(...) somewhere in the current creation chain.
Note this is probably only applicable to definition, not update, or at least needs to be thought through separately for the Update flows, because a VM can be assigned to an availability set only at creation time.

@anuchandy you're already working on this for VMSS so something to think about for VMs for the future

the logic would have been a bit too complicated given the realities of LB design...


Fix typo on Helmholtz GPU guide

Description
See description in #540.
Issues
Closes #540.

Codecov Report

Merging #542 (fff7097) into fbopt (771b0c8) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##            fbopt     #542   +/-   ##
=======================================
  Coverage   93.78%   93.78%
=======================================
  Files         137      137
  Lines        5209     5209
=======================================
  Hits         4885     4885
  Misses        324      324

Flag
Coverage Δ

unittests
93.78% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Invisible items/advancements - slight incompatibility

Using mod Eating Animation items from Forgero are invisible in Inventory and Advancements. In hand items visibility unaffected. [Fabric] 1.18.2

I have seen another report about this incompatibility before, but never got around to looking to deep into it. My main theory is that both of the mods mixin to the same field in the model class to use their own models. I'll look into it when I have time :+1:

This seems to have been fixed in eating animations 1.9.1 and above. I can't really do anything as their rendering mixin overrides my injection into the Itemrenderer. If that update does not get backported to 1.18.2, there's not a lot that can be done about this.


new chef-vault version 1.3.1 breaks library extension of ChefVaultItem

Hi,
the recent release of the chef-vault cookbook 1.3.1 breaks the library extension in this cookbook for ChefVaultItem, since this module was removes/renamed/refactored. It is now called ChefVaultCookbook. I will push 2 pull requests for this issue to first fix this for the current stable release of this cookbook and then fix it for the next upcoming release.
Cheers,
Jan

This left my chef run in a bit of an issue because of https://github.com/chef-cookbooks/chef-vault/issues/41 and chef 11
Sticking to chef-vault,'=1.3.0' and sensu,'=2.9.0' seems to have helped until that issue is fixed..

Closing as it appears this is fixed circa https://github.com/sensu/sensu-chef/commit/bdb34677daf189372b94784835a5c6f86a255578


Send sorted series from Receiver

Thanos Receivers currently send series in unsorted order, which the store proxy from sorting on the fly using the k-way merge heap. As a result, the querier has to do an explicit global sort before deduplication.
This commit changes the series select call in the Receiver and Ruler to request series in sorted order. It also adds a field to the info message of each store which indicates whether the store sends series in sorted order.
This field can be used for backwards compatibility once the global sort is removed in the querier. We also have external stores which might not send data in sorted order, for which this field will be set to false.
Signed-off-by: Filip Petkovski<EMAIL_ADDRESS>
[ ] I added CHANGELOG entry for this change.
[x] Change is not relevant to the end user.

Changes

Send series in sorted order from Receivers.

Verification

Relying on unit tests from here: https://github.com/thanos-io/thanos/pull/5692#discussion_r975499390.

Thanks, CI should be green now.

My only concern is stores like https://github.com/G-Research/geras which might return unsorted series. Other than that, I agree that none of our stores should return unsorted data in the future.


Hide help fix

Github Issue (if applicable): --
Trello Link (if applicable): --
Forum Link (if applicable): --
Explanation of Bugfix/Feature/Enhancement:
Moved feature to sauce. Fixed a bug where the user’s hide help setting wasn’t saved between YNAB refreshes.
Recommended Release Notes:
Bugfixes.
#hacktoberfest

I've edited the shouldInvoke() method to ensure that the feature is enabled before doing anything.
That said... how/why do other features get around this? For example:

The custom flag names feature seems to invoke anytime the user is within an Account section.
The budget balance to zero feature seems like it should invoke anytime a user is within the Budget.
The privacy mode feature appears like it should always invoke ("return true;")

That is a problem. The Custom Flags feature shouldn't display if the feature isn't active yet it does. Same thing for Balance to Zero.
I believe for features that aren't saucified, the main.js file isn't loaded therefore it didn't need the check. The saucy features are all in ynabToolkit.js which is always loaded. Therefore they need to check to see if they're enabled. Alternatively, the check could be added to sauce/main.js in the invokeFeature arrow function. That seems the logical place to put it but maybe there is a reason it isn't or it's simple oversight and it should be there. @joshmadewell can you chime in here?

Looks like the Toolkit should be handling whether or not the feature should be enabled here: https://github.com/toolkit-for-ynab/toolkit-for-ynab/blob/master/sauce/main.js#L35. It seems like that code is broken, and it should be researched and fixed, rather than checking if the feature is enabled via shouldInvoke().

Fixes are in place. Thanks for reviewing -- I also caught/fixed a bug with how the feature was initialized for the first time that was unrelated to your suggestions, but important that I correct.
(Specifically, calling .getToolkitStorageKey('hide-help', 'boolean') only gives me a true/false result, not the null I need if the storage key isn't set yet.)


Minor copy changes

Fixes #3058

Codecov Report

Merging #3074 into master will increase coverage by 0.06%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #3074      +/-   ##
==========================================
+ Coverage   33.42%   33.48%   +0.06%
==========================================
  Files         270      270
  Lines       39564    39564
==========================================
+ Hits        13224    13249      +25
+ Misses      24452    24428      -24
+ Partials     1888     1887       -1

Impacted Files
Coverage Δ

modules/process/manager.go
76.81% <0%> (-4.35%)
:arrow_down:

models/repo.go
38.34% <0%> (+0.18%)
:arrow_up:

modules/indexer/repo.go
63.47% <0%> (+2.6%)
:arrow_up:

models/repo_indexer.go
56.43% <0%> (+10.89%)
: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 6d99840...720c197. Read the comment docs.

LGTM

LGTM


fix(thematic-trimming): correct the name of the "Profit by plant" variable

This modification addresses the variable name used to enable or disable the calculation of power plant profits. It replaces the name "Profit" with "Profit by plant." On the back-office implementation side, changes have been made to simplify maintenance, and tests have been added to ensure proper handling of this variable. On the front end, the variable has been renamed to profitByPlant to align with TypeScript/ReactJS naming conventions.

Depends on #1740


remove unused if

IneffAssign detects ineffectual assignments in Go code.
c2go/transpiler/declarations.go
Line 416: warning: name assigned and not used (ineffassign)

Fix #404

This change is

Reviewed 3 of 3 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


Logging

Edited Log_utils file to create global graph cvs files and adjacency matricies
Edited plot_utils file to create 3 visualizations based on log_util output files, created a heatmap of node connections, a video of connection progressions throughout rounds and a weighted graphs depicting how often each edge is utilized.

Based on today's discussion, two remaining tasks -

Fix the double arrow edges to separate edges.
All the code should be in post_hoc plot_utils


rs-save-to-disk how to specify location for saved images?

| Camera Model                         D435
| Operating System & Version   Linux Ubuntu 16
| SDK Version                            2
im using rs-save-to-disk,
how to specify location for saved images?
i cant even find the ones i already took.
much appriciated.

Hell @moranbar,
The rs-save-to-disk outputs are saved into the current directory ('pwd').
This example's focus is to demonstrate an use-case and API usage, hence only the  functionalities essential to the main success scenario are present. Though it can always be improved via enhancement PR.

[Realsense Customer Engineering Team Comment]
Hi @moranbar,
Still need any support for this topic? You can also modify the code and share to everyone for the improvement.


Decide whether we want to space tick labels by 2, 3 or 6 months

After feedback in the last show & tell, it was asked whether we can space out x axis tick labels by each quarter. Currently tick labels are shown every 6 months.
We should consider how this will behave with larger datasets as the chart could become cluttered with smaller intervals.
Do we want to remain at 6 months or shorten the intervals ?

Auto ticks are on a sequence unrelated to annual. If they end up being every 6 months it's probably cause it's quarterly data and picking every other. Would be good to be a bit more intentional about this. I was suggesting during the call that we maybe look at 2, 3, 6, 12, 18, 24, 36, etc as sensible sequences of months. There might be tuning on how close we want to allow the labels to become. Related to #179, so propose we hang off until that one is sorted

It's in sprint 8, no rush. Will add blocked so no-one dives into it for now.

Closing #221 as not planned, we can come back to this if we need to update visualisations in the next phase.


Use dark-mode friendly Patterns SVGs

Closes https://github.com/Qiskit/documentation/issues/1896. Light mode stays the same, but dark mode now looks like:

If so, we might be able to keep the light version and switch to the dark version only in dark mode:

Light mode doesn't change with this PR :)

How does that work? Transparency?


Add init

init.py is provided by the OTMql4Py package:
https://github.com/OpenTrading/OTMql4Py/tree/master/MQL4/Python
It looks like you missed the installation directions: OTMql4Zmq depends on
OTMql4Py being installed, which depends on OTMql4Lib being installed.
Installation mainly means recursively copying their MQL4 directory over your
Mt4 MQL4 directory, and this is where OTMql4Zmq gets it's init.py
Could you re-read the documentation and see that that's clear: if not, it's a documentation bug.


Theming: Distinguish between import types

In Atom, we can theme imports based on the type of thing being imported. As you can see below, import aliases/names are styled differently than the class Knex being imported. This has always been immensely handy for at a glance differentiation and validation of imports as well as for organizing imports.

Below is the same theme applied to VS Code, but without the ability to differentiate.

I believe this comes down to a lack of TextMate scope. Here are the available scopes for makeContext:
variable.other.readwrite.alias.ts
meta.import.ts
source.ts

And the available scopes for Knex:
variable.other.readwrite.alias.ts
meta.block.ts
meta.import.ts
source.ts

My ignorant suggestion: it would probably be enough to catch capital-cased aliases for adding an additional scope.

@aeschli it looks like your last reply https://github.com/microsoft/vscode/issues/93017#issuecomment-949913282 was a direction  to open an issue with the TS project - I'm not sure that anyone without intimate knowledge of the interaction between the TS language server and vscode is going to know what to put in an issue. I certainly wouldn't.

I giving this some more thought - wouldn't this also apply to ESM imports? When looking at a .mjs file for example, the scopes become:
variable.other.readwrite.alias.js
meta.import.js
source.js

and
variable.other.readwrite.alias.js
meta.block.js
meta.import.js
source.js


[QST]

❓ Questions & Help
Details
If Transformers4Rec is used at training time (offline), does this necessitate that the model must do real time inference when deployed?
To put the question a bit more concretely:
Say I train a transformer on a dataset that consists of sequences of user item clicks(same session)
To do next item prediction at deployment, is it necessary to run inference on the trained transformer ?
The alternative (computationally cheaper) would be to utilize the trained transformer to pre-compute item embeddings (specifically, context vectors ) for every item id. At inference time, simply run ANN given the current item’s embedding.
The way these item embeddings would be generated would be passing in 1-id sequences to the transformer and getting the context vector. Is this a reasonable idea?

What would be an alternative if one wanted to use transformers offline to train on sequences but pre-compute embeddings for each item so that online inference is cheap?

I’m a bit hesitant to convince myself of the second approach  because embeddings that come from a transformer are by nature context dependent and the whole premise of using the transformer was so that the current items context vector could attend to the previously observed items.
Would the context vectors  resulting from. 1-element sequences be any more powerful than if one simply ran CBOW Word2Vec on clicked item sequences ?

Hi @shahjaidev, thank you for your question!
The proposed architecture in our Transformers4rec paper used the weight-tying technique to link the input item embeddings and the outputs returned by the NextItemPredictionTask. By training with this technique,  the model reuses the item embeddings table as the weights of the output layer, so that both the user sequence representation and item embeddings are in a compatible vector space.
So during inference, you can export the item embeddings table for the ANN index but you also need to export the Transformer block for generating the user's representation.
A typical pipeline would be:

Train a session-based transformer-based model with weight-tying.

Export item-embeddings table for the ANN index

Export the Transformer-block for the user tower

During inference:
- Build the user's representation based on the sequences of user-item clicks
- Do an ANN-based search to retrieve top-k items to recommend.

For more details about how to deploy a recommender system, you can check our example notebooks here:  we particularly showcase how to setup Faiss for ANN.
Please let us know if that answers your question?


Gather CountMinSketch statistics from Column tables

use the same TEvStatisticsScanRequest / TEvStatisticsScanResponse interface for datashard / columnshard
separate requests for pre-calculated statistics and full-scan request
on full-scan request answer with statistics calculated during forceful recompaction of the table

https://wiki.yandex-team.ru/users/nsofya/ydb/statistics/
https://wiki.yandex-team.ru/kikimr/design/datashard/statistics/columnshard-traversal/

Describe a case, when setting up statistics gathering for a column already containing data

Done in https://github.com/ydb-platform/ydb/pull/7978


dbeaver stopped working with Athena

System information:

Operating system (distribution) and version  : Windows 10 Pro
DBeaver version Any version from 21.3.0 onwards
Java version
Additional extensions

Connection specification:

Database name and version  Athena
Driver name AthenaJDBC42_<IP_ADDRESS>1
Do you use tunnels or proxies (SSH, SOCKS, etc)?  No

Problem
dbeaver connecting to Athena via JDBC driver no longer working only on windows.  It works fine on Linux.
A simple select * from a table generates this error (attached file)

[](url
athena_error.log
)

Can be related to https://github.com/dbeaver/dbeaver/issues/5704

Not sure. It shows the catalog of Athena correctly, like the database list and the tables inside each tables. It is only when you run any sql it fails.
Also it is working fine on Linux.
I am 100% certain this was working on windows in 2020.

Error says Unable to execute HTTP request: Connection reset. It usually means that there are some problems with network connection. Athena connects directly to aws (e.g. to athena.us-east-2.amazonaws.com).
Are you behind a corporate firewall? Maybe some network settings were changed on your Windows machine.

Thanks serge.

I tried ping to athena.us-east-2.amazonaws.com on both windows (where the problem is) and Linux machine (where I don't see this problem with dbeaver).  it failed on both.  Actually ping just blocks forever without returning anything.
As far as I know , athena is a serverless service and hence there is no concept of a server or ip address.
We may have to try some other option.
before I switched my office laptop to Windows, I had Mac.  There dbeaver was working great with Athena, within corporate firewall.
We are AWS customers and as such our firewall does take AWS into account.

thanks

I ran the above command from the bash shell of my Windows laptop.

There is one more proof that my laptop-behind-corporate-firewall is a red-herring.
Check the screenhot.  I can query Athena to list out the databases , the list of tables in each and the cols of each table.  How is it possible if firewall is blocking access to Athena

.

Some more debugging.
When I run a query on dbeaver, I see that it gets executed on Athena and the result stored on the configured S3 bucket. However the next step of downloading the results from the S3 to be shown on dbeaver is failing.

Further testing.  I wrote a program using pyathena (which does not use Simba driver) and that works fine. So we can rule out any Firewall issue.  This is also not a dbeaver issue.  This is a Simba driver issue.
How do I open a case for Simba driver ?

Confirmed.  This is a AWS Athena driver error.  I flipped back to old drivers and dbeaver works.  I will open a case with AWS.

Thanks for the investigation @sravikrishna3


Can't install 7.x because checksums not matching

Operating system and version:
macOS Sierra Version 10.12.6

nvm debug output:

nvm --version: v0.33.4
$TERM_PROGRAM: Apple_Terminal
$SHELL: /bin/bash
$HOME: /Users/hope.kim
$NVM_DIR: '$HOME/.nvm
Saving session...
...copying shared history...
...saving history...
...completed.'
sed: 1: "s#/Users/hope.kim/.nvm
 ...": unterminated substitute pattern
$PREFIX: ''
sed: 1: "s#/Users/hope.kim/.nvm
 ...": unterminated substitute pattern
$NPM_CONFIG_PREFIX: ''
$NVM_NODEJS_ORG_MIRROR: ''
$NVM_IOJS_ORG_MIRROR: ''
shell version: 'GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin16)'
uname -a: 'Darwin 16.7.0 Darwin Kernel Version 16.7.0: Thu Jun 15 17:36:27 PDT 2017; root:xnu-3789.70.16~2/RELEASE_X86_64 x86_64'
OS version: Mac 10.12.6 16G29
curl: /Users/hope.kim/anaconda3/bin/curl, curl 7.52.1 (x86_64-apple-darwin13.4.0) libcurl/7.52.1 OpenSSL/1.0.2l zlib/1.2.11
wget: /usr/local/bin/wget, GNU Wget 1.19.1 built on darwin16.6.0.
git: /usr/bin/git, git version 2.9.3 (Apple Git-75)
sed: 1: "s#/Users/hope.kim/.nvm
 ...": unterminated substitute pattern
nvm current:
sed: 1: "s#/Users/hope.kim/.nvm
 ...": unterminated substitute pattern
which node:
sed: 1: "s#/Users/hope.kim/.nvm
 ...": unterminated substitute pattern
which iojs:
sed: 1: "s#/Users/hope.kim/.nvm
 ...": unterminated substitute pattern
which npm:
sed: 1: "s#/Users/hope.kim/.nvm
 ...": unterminated substitute pattern
npm config get prefix:
sed: 1: "s#/Users/hope.kim/.nvm
 ...": unterminated substitute pattern
npm root -g:

nvm ls output:

sed: 2: "
            s#/Users/h ...": unterminated substitute pattern
            N/A
sed: 2: "
            s#/Users/h ...": unterminated substitute pattern
node -> stable (-> N/A) (default)
sed: 2: "
            s#/Users/h ...": unterminated substitute pattern
sed: 2: "
            s#/Users/h ...": unterminated substitute pattern
iojs -> N/A (default)
sed: 2: "
            s#/Users/h ...": unterminated substitute pattern
lts/* -> lts/boron (-> N/A)
lts/argon -> v4.8.4 (-> N/A)
lts/boron -> v6.11.3 (-> N/A)

How did you install nvm? (e.g. install script in readme, homebrew):
installed curl script from readme

What steps did you perform?
Tried installing version 7.0.0

What happened?

Downloading and installing node v7.0.0...
sed: 1: "s#/Users/hope.kim/.nvm
 ...": unterminated substitute pattern
Local cache found:
Computing checksum with shasum -a 256
Checksums do not match: '\cd8f13980f935420bf0236cd7ed3c299c671b4d4f7efbf9f171de36f2904e740' found, 'cd8f13980f935420bf0236cd7ed3c299c671b4d4f7efbf9f171de36f2904e740' expected.
Checksum check failed!
Removing the broken local cache...
Downloading https://nodejs.org/dist/v7.0.0/node-v7.0.0-darwin-x64.tar.xz...
######################################################################## 100.0%
Computing checksum with shasum -a 256
Checksums do not match: '\cd8f13980f935420bf0236cd7ed3c299c671b4d4f7efbf9f171de36f2904e740' found, 'cd8f13980f935420bf0236cd7ed3c299c671b4d4f7efbf9f171de36f2904e740' expected.
Binary download failed, trying source.
Clang v3.5+ detected! CC or CXX not specified, will use Clang as C/C++ compiler!
sed: 1: "s#/Users/hope.kim/.nvm
 ...": unterminated substitute pattern
Local cache found:
Computing checksum with shasum -a 256
Checksums do not match: '\e16c3c76c2d6756bbfd711189cbdaf5676049b443e6817007bb537f243ca899a' found, 'e16c3c76c2d6756bbfd711189cbdaf5676049b443e6817007bb537f243ca899a' expected.
Checksum check failed!
Removing the broken local cache...
Downloading https://nodejs.org/dist/v7.0.0/node-v7.0.0.tar.xz...
######################################################################## 100.0%
Computing checksum with shasum -a 256
Checksums do not match: '\e16c3c76c2d6756bbfd711189cbdaf5676049b443e6817007bb537f243ca899a' found, 'e16c3c76c2d6756bbfd711189cbdaf5676049b443e6817007bb537f243ca899a' expected.

What did you expect to happen?
Expected checksums matching

Is there anything in any of your profile files (.bashrc, .bash_profile, .zshrc, etc) that modifies the PATH?

.bashrc
export PATH=/Applications/MAMP/bin/php/php5.6.2/bin:$PATH

export PATH="/usr/local/share/npm/bin:/usr/local/bin:/usr/local/sbin:~/bin:$PATH"

export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

@imakatman would you like to put the outputs in the code block (between two ``` syntax) so that it can be more human-readable?
Ref: https://help.github.com/articles/basic-writing-and-formatting-syntax/#quoting-code

I've edited the post to add backticks.

It seems like perhaps the dot in your username is causing part of the issue; I'm not sure why the checksum ends up with a \ in the beginning.
However, this output is concerning:
Saving session...
...copying shared history...
...saving history...
...completed.

@imakatman where does that come from exactly?

Looks like there is issue with sed

Any follow up on this issue? Almost a year since last comment and I'm having the same issue with checksums getting a '' prepended

I've been chasing this down for couple hrs and found that my NVM_DIR got some extra kruft in in so that it looked like :
"/.nvm Saving session... ...copying shared history... ...saving history...truncating history files... ...completed."
IDK where that 'Saving session' etc stuff came from but may have been how I sourced the nvm script I have
Resetting NVM_DIR=$HOME/.nvm solved this for me


Support the new Swift package manager

I was wondering if there are any plans to support the new Swift package manager.  I'd love to contribute to the effort, but wanted to check in with the team before putting together any PRs.

Something I just noticed is that SwiftSockets has a C source file, which SPM can't build. Not sure what to do about that.

Ya I noticed that as well. I'm gonna poke around tomorrow and see what can be done.
On Dec 9, 2015, 5:51 PM -0800, Dan<EMAIL_ADDRESS>wrote:

Something I just noticed is that SwiftSockets has a C source file, which SPM can't build. Not sure what to do about that.
—
Reply to this email directly orview it on GitHub(https://github.com/AlwaysRightInstitute/SwiftSockets/issues/20#issuecomment-163461131).

There already is a Linux feature branch which kinda includes this. Need to check whether the C shims for the varargs functions are still required in the current Swift version, maybe we can drop them.

Nope, they still don't import fnctl() in the 2.2 2015-12-01a snapshot.

OK, I replaced the C file with a dlsym() hack. However, building the linux branch crashes swiftc (swift-2.2-SNAPSHOT-2015-12-01-a).

It looks like fnctl is available as of the 2015-12-10a build as seen by this search of the swift codebase: https://github.com/apple/swift/search?utf8=✓&q=fcntl. Please correct me if I'm wrong as I'm pretty new to this low level of working with the compiler.
That said, it doesn't appear that a compiled version of GCD/Dispatch is shipping with the ubuntu build yet.  I'm only seeing the following precompiled static libraries in the usr/lib/swift_static/linux folder
libswiftCore.a
libswiftGlibc.a
libswiftRuntime.a
libswiftStdlibStubs.a

helge@SwiftyUbuntu:~$ swift --version
Swift version 2.2-dev (LLVM 7bae82deaa, Clang 53d04af5ce, Swift 5995ef2acd)
Target: x86_64-unknown-linux-gnu

helge@SwiftyUbuntu:~$ swift
 10> Glibc.fcntl(0, 10, 10)
repl.swift:10:7: error: 'fcntl' is unavailable: Variadic function is unavailable
Glibc.fcntl(0, 10, 10)
      ^~~~~
SwiftGlibc.fcntl:2:13: note: 'fcntl' has been explicitly marked unavailable here
public func fcntl(__fd: Int32, _ __cmd: Int32, _ varargs: Any...) -> Int32
            ^

But that shouldn't be an issue for now, as mentioned I replaced those calls with dlsym()'s.

Well well, Glibc.fcntl now seems to work with the 2016-01-11-a snapshot:
swift
Welcome to Swift version 2.2-dev (LLVM 3ebdbb2c7e, Clang f66c5bb67b, Swift 42591f7cba). Type :help for assistance.
  1> import Glibc
  2> Glibc.fcntl(0, 10, 10)
$R0: CInt = 0

The linux branch has a working SPM version. Also works on OSX.


Increase default and max socket buffer sizes (bsc#1223566)

This increases the default socket buffer size to 1048576 bytes as requested in bsc#1223566 and the max to 2500000 bytes (as newer kernels use as default) for all Azure images. Should this perhaps be set for all platforms to be uniform? Also, should this be limited to SLES for SAP only (the platform the bug was reported for)?

Based on my understanding these settings are sensitive to the underlying network device as such generalizing them to all CSPs is probably not what we want to do. We should limit the setting to SLES4SAP as allocation of a larger buffer will trigger memory pressure elsewhere. SAP workloads are expected to run on instances with ample memory and as such this should not be a problem, however for everything else this is not the case as such we should target SLES4SAP.

Please add as SLES4SAP specific change. Thanks

Ok. After thinking about it some more, we could also only increase the max buffer size, which is 212992 bytes on SLES 15 by default (which works out to twice the size of the default weirdly because buffer sizes set via setsockopt() get doubled). Increasing the default buffer size would just waste kernel memory in systems that don't need it, and ironically could even lead to more packet drops if the kernel is pressed for memory.
I think it's reasonable to assume that applications that benefit from a larger receive buffer request one, and in case of UDP (which is specifically mentioned in the bug report), it very much depends on the application how to handle packet loss.
What do you think @rjschwei ?

Please add as SLES4SAP specific change. Thanks

Ok. After thinking about it some more, we could also only increase the max buffer size, which is 212992 bytes on SLES 15 by default (which works out to twice the size of the default weirdly because buffer sizes set via setsockopt() get doubled). Increasing the default buffer size would just waste kernel memory in systems that don't need it, and ironically could even lead to more packet drops if the kernel is pressed for memory.
I think it's reasonable to assume that applications that benefit from a larger receive buffer request one,

This I don't think is true or we probably wouldn't have this request.

and in case of UDP (which is specifically mentioned in the bug report), it very much depends on the application how to handle packet loss.
What do you think @rjschwei ?

Well if we only update the max buffer size then the default would remain at whatever we build in and if the application doesn't ask for more, which I expect to be the case then we are stuck with the same problem we have today. As such I think that changing the default is the "safer" approach to meet the needs of the applications. Ultimately this is a convenience for the admin of the system and one cold look at this as a kind of pre-tuning. Which is also the reason I would narrow this to the image(s) (SLES4SAP) where we expect workloads that most likely benefit from this setting and that will run on instances where sufficient memory exists.

Fair points. I feel making buffers bigger by default isn't a particularly good practice, but potentially wasting a few MB per socket on a machine designed to handle SAP workloads will probably be insignificant. I'll update the PR.


[Error]

[Error  : Unity Log] NullReferenceException: Object reference not set to an instance of an object
Stack trace:
Unity.Netcode.NetworkObjectReference.TryGet (Unity.Netcode.NetworkObject& networkObject, Unity.Netcode.NetworkManager networkManager) (at <895801699cfc4b4ab52267f31e2a4998>:IL_0000)
BetterSprayPaint.Patches.LateUpdate (SprayPaintItem __instance, System.Single& ___sprayCanTank, System.Single& ___sprayCanShakeMeter, UnityEngine.AudioSource& ___sprayAudio, System.Boolean ___isSpraying) (at C:/Program Files (x86)/Steam/steamapps/common/Lethal Company/projects/BetterSprayPaint/src/Patches.cs:49)
(wrapper dynamic-method) SprayPaintItem.DMDSprayPaintItem::LateUpdate(SprayPaintItem)

Could you please fix this error？My friends and I really need it！

[Error  : Unity Log] IndexOutOfRangeException: Index was outside the bounds of the array.
Stack trace:
BetterSprayPaint.SprayPaintItemExt.get_InActiveSlot () (at C:/Program Files (x86)/Steam/steamapps/common/Lethal Company/projects/BetterSprayPaint/src/SprayPaintItemExt.cs:15)
BetterSprayPaint.SprayPaintItemExt.Update () (at C:/Program Files (x86)/Steam/steamapps/common/Lethal Company/projects/BetterSprayPaint/src/SprayPaintItemExt.cs:298)

this new error Infinite loop appears


Luish dev branch

made changes in pricing from $7500 to $8000 since thats the pricing that shows on the pricing tab.

I think once they checkout, we can give them a "discount" if they are paying upfront. I feel like that would be a great way to word it.

Agreed.  It would be good to find a way to be able to advertise "classes starting at xxx", to give a lower price point.
But don't want to give a "bait and switch" feel either.

Payment options we offer, "full financing available " , or receive "xxx discount" for paying in full.
That way people who get financing don't feel like we are advertising as 2 different prices and it's consistent $xxx cost across the website.


Issue 6854 - Update the link locations to point to the Internet Archive for tests: issue1878, issue1912, issue1936, issue1998, issue2006

Re: #6854.

Really good, thanks!


isdir/info method works incorrectly

Hello,
I've found a strange behavior of the isdir method (digging deeper also with info method). It returns incorrect values. These values seem to be returned randomly.
I use Python 3.10.12 and I've tested this behavior on gscfs=2022.3.0, and the latest version gscfs=2023.6.0
I've prepared a helper function to show what is happening here:
from gcsfs import GCSFileSystem

fs = GCSFileSystem()

def check_is_dir(path):
    is_dir = fs.isdir(path)
    info_type = fs.info(path)["type"]

    print(path, is_dir, info_type)

Problem example
An exemplary run:
check_is_dir('gs://my/super')
check_is_dir('gs://my/super/secret')
check_is_dir('gs://my/super/secret/gcs')
check_is_dir('gs://my/super/secret/gcs/directory')
check_is_dir('gs://my/super/secret/gcs/directory/file.json')

Results:
gs://my/super False director  # the first string is a path, the first boolean is a value returned by isdir method, and the second string is 'type' value in the dictionary returned by fs.info(path)
gs://my/super/secret True directory
gs://my/super/secret/gcs False directory
gs://my/super/secret/gcs/directory True directory
gs://my/super/secret/gcs/directory/file.json False file

As you can see, some directories are incorrectly treated as files. So more, values returned by the info and isdir methods are inconsistent.
Another insight
Changing the order of calling these methods, like in the snippet below:
def check_is_dir(path):
    info_type = fs.info(path)["type"]
    is_dir = fs.isdir(path)

    print(path, is_dir, info_type)

makes  is_dir contains a correct value, but info_type incorrect one. Like here:
gs://my/super True file  # the first string is a path, the first boolean is a value returned by isdir method, and the second string is 'type' value in the dictionary returned by fs.info(path)
gs://my/super/secret True directory
gs://my/super/secret/gcs True file
gs://my/super/secret/gcs/directory True directory
gs://my/super/secret/gcs/directory/file.json False file

Workaround
For now, my workaround is to run isdir method two times:
def check_is_dir(path):
    is_dir = fs.isdir(path)
    is_dir = fs.isdir(path)
    info_type = fs.info(path)["type"]

    print(path, is_dir, info_type)

It works:
gs://my/super True directory  # the first string is a path, the first boolean is a value returned by isdir method, and the second string is 'type' value in the dictionary returned by fs.info(path)
gs://my/super/secret True directory
gs://my/super/secret/gcs True directory
gs://my/super/secret/gcs/directory True directory
gs://my/super/secret/gcs/directory/file.json False file

But I want to work with this library without such workaround ;)

I don't have an MCVE but can say I've also run into this before. The hack to run isdir twice does work, so I've used that since I first saw this and didn't do any further investigation.

It seems that I've found the root cause of this problem.
Maybe It's a bug in the GCS file system. When I used the ls method on this directory, it listed the paths of all files and the directory path itself.
I decided to remove this directory and upload it again, and that solved the whole problem.

AFAIK this was tackled in https://github.com/fsspec/gcsfs/pull/313
Motivating example using a public bucket gs://hadoop-lib/gcs (link to console UI)
import fsspec
path = "gs://hadoop-lib/gcs"
fs = fsspec.filesystem("gs")

With python 3.7 and fsspec 2023.1.0:
fs.info(path) # {'kind': 'storage#object', ... , 'type': 'file'}
fs.info(path) # {..., 'type': 'directory'} <--- THIS IS TRUE

With python 3.9 and  fsspec 2023.10.0:
fs.info(path) # {'kind': 'storage#object', ... , 'type': 'file'}
fs.info(path) # {'kind': 'storage#object', ... , 'type': 'file'}

(at least it's consistently wrong)

There is indeed an empty file: 'hadoop-lib/gcs/', so . With #313 this is shown as a directory?

hadoop-lib/gcs is a folder, containing other files. The library incorrectly recognizes it as a file.
#313 never got merged, I haven't tested the behaviour with this PR.

hadoop-lib/gcs is a folder, containing other files

it is also a file, though. In pathstring-land, the final "/" is immaterial.

#313 appears abandoned, maybe it should be resurrected.

I'm affected by this as well:
>>> gcsfs.__version__
'2023.12.1'
>>> fs.info('henning-test/empty_folder')['type']
'file'  # ? I would expect directory!
>>> fs.info('henning-test/empty_folder/')['type']
'directory'  # (good I guess?)
>>> fs.info('henning-test/folder/test.txt')['type']
'file'  # Good!
>>> fs.info('henning-test/folder/test.txt/')['type']
'directory'  # ? I would expect FileNotFoundError
>>> fs.info('henning-test/folder')['type']
'directory'  # Good!
>>> fs.info('henning-test/folder/')['type']
'directory'  # Again, good!

I am guessing "henning-test/empty_folder/" is a zero-length-file?
Keeping that in mind, maybe most of this makes sense.
It would be best to show your complete set of files (as returned by find() ) to understand better.

>>> fs.find('henning-test')
['henning-test/empty_folder/', 'henning-test/folder/test.txt']

Which still does not explain this:
>>> fs.ls('henning-test/folder/test.txt')
['henning-test/folder/test.txt']  # ? I would expect NotADirectoryError!
>>> fs.ls('henning-test/empty_folder')
['henning-test/empty_folder/']  # ? I would expect []!

Or does it?

Or does it?

:)
For the first case, it is conventional that ls(file-path) should return [file-path]. This in bash:
$ ls README.md
README.md

For the second, the return is showing you the zero-length-file, which has the same prefix as the path you asked to list.
Yes, it's complicated, because GCS doesn't have folders, only "common prefixes". Sometimes it's convenient to assume these (optional) weird placeholders are the same as directories, but sometimes you need to know they are there.

But it doesn't really match the behavior of LocalFileSystem (and also it does not match the documentation of fsspec).
>>> from fsspec.implementations.local import LocalFileSystem
>>> lfs = LocalFileSystem()
>>> lfs.ls('/tmp/fsspec-test/empty_folder')
[]
>>> lfs.ls('/tmp/fsspec-test/folder/test.txt')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/opt/venv/lib/python3.10/site-packages/fsspec/implementations/local.py", line 66, in ls
    return [posixpath.join(path, f) for f in os.listdir(path)]
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/fsspec-test/folder/test.txt'
>>> lfs.ls('/tmp/fsspec-test/folder')
['/tmp/fsspec-test/folder/test.txt]']

does not match the documentation of fsspec

What specifically?

After reading the documentation again, I realize it might also compatible with returning the path to a file itself, when called on a file. Although this seems awkward to me.
Also it is inconsistent, that when calling ls on an empty folder or a file, we get the empty folder or file back, but when calling ls on a folder with files or subfolders, we don't get the folder itself back. Isn't it?

Also it is inconsistent, that when calling ls on an empty folder or a file, we get the empty folder or file back, but when calling ls on a folder with files or subfolders, we don't get the folder itself back. Isn't it?

I agree that it would be good to sketch out all the possible cases, and then write a bunch of tests which can be applied to any filesystem and thus ensure consistency (much as was done for get/put/rm). This is a fair amount of work!

+1 to what @hmeyer said. GCS and local file-system should be consistent! And also consistent with the rest of Python ecosystem (os.listdir() and pathlib.Path().iterdir())
empty_folder = '/.../empty_folder/'

assert os.listdir(empty_folder) == []
assert list(pathlib.Path(empty_folder).iterdir()) == []
assert local_fs.ls(empty_folder) == []
assert gcs_fs.ls(empty_folder) == ['henning-test/empty_folder/']  # <<<< Inconsistent and very surprising

Let me point out, again, that in local filesystems, having a file and a directory with the same name is not allowed, and having a file with "/" as the last character is not allowed. This is a real difference we can't pretend doesn't exist. So, gcsfs is not_wrong in what it says. Since batch operations (e.g., rm() ) depend on the output of ls/find, we can't simply throw away these not-directory-files. We could patch ls() specifically, and I am happy to see such a PR.

Actually it is perfectly ok to create a file with a trailing "/" locally:
>>> pathlib.Path('./bar\/').touch()
>>> pathlib.Path('./bar').mkdir()
>>> list(pathlib.Path('.').iterdir())
[PosixPath('bar\\'), PosixPath('bar')]

And I think following the principle of least surprise, it would be good if gcsfs would behave similar to gsutil or gcloud storage (both of which treat zero size files with trailing "/" as empty directories.

PosixPath('bar\\')

Am I being dim, or is this not the path you had asked for?

It is the path I asked for, but curiously pathlib (and also os.listdir()) have an interesting way of showing this.
Speaking about a PR - I started https://github.com/fsspec/gcsfs/pull/598.