Prototype for a shared memory mask container

This prototype demonstrates the core functionality of a shared memory MaskContainer.
At this stage, it just implements a method to share computed_masks.
This is not included in MaskContainer yet, but as stand-alone testing code with many tracing
print()s. Sharing tile slices should work analogously to computed_masks.

The name to address objects is a function of mask_factories
Determine likely availability of pre-computed masks through a canary object
Fallback to local masks after timeout -- to be adjusted
Supports both dense and sparse computed_masks
Supports additional metadata as JSON

Lessons learned:
Life time management is a bit tricky. If the reference count for the buffer goes to zero,
the shared memory can be purged immediately, apparently. Balancing several interdependent objects
requires making sure that objects will most likely stay alive, and having a fallback
in case a race condition occurs. In this case, a separate process is started whose only
job is to keep references around so that objects will not be purged between processing
"partitions" (run_for_partition() emulated with multiprocessing).
A race condition between the "keep-alive" process and the object creation can occur.
join()ing the queue after data has been stored makes sure that keys are safe and secure
before proceeding and having variables fall out of scope or worker processes terminating.
The only IPC/orchestration in this example is a queue to keep track of the buffer names so
that a reference can be kept. Other than that, this is self-organizing and seems to handle a
"thundering herd" quite well: One process is first and creates the canary, the others wait
for it to finish the remaining items and then pick them up. Fr a real MaskContainer this
could be improved by making different workers request different tiles from the MaskContainer
first, so that the tile slice calculation is parallelized.
Contributor Checklist:

[x] I have added or updated my entry in the creators.json file
[ ] I have added a changelog entry for my contribution
[ ] I have added/updated documentation for all user-facing changes
[ ] I have added/updated test cases
[ ] I have included the rebuilt production build of the client (only if
changes were made to the GUI)

Reviewer Checklist:

[ ] /azp run libertem.libertem-data passed

Refs #335

@sk1p Do you have your "plasma" code somewhere as a prototype? I've approached the issue bottom-up here, starting with the requirements of MaskContainer and how to store and create the necessary data in byte buffers. This uses Python shared memory for now, which works on Windows. The API seems to be reasonably similar to Plasma, so one can probably support both.

@sk1p Do you have your "plasma" code somewhere as a prototype? I've approached the issue bottom-up here, starting with the requirements of MaskContainer and how to store and create the necessary data in byte buffers. This uses Python shared memory for now, which works on Windows. The API seems to be reasonably similar to Plasma, so one can probably support both.

See #1006

@sk1p Do you have your "plasma" code somewhere as a prototype? I've approached the issue bottom-up here, starting with the requirements of MaskContainer and how to store and create the necessary data in byte buffers. This uses Python shared memory for now, which works on Windows. The API seems to be reasonably similar to Plasma, so one can probably support both.

See #1006

Thx! :-) This looks like it will complement each other nicely. Probably after Easter. :-)


serverTime - deviceTime offset check + ACTION_TIME_CHANGED intentFilter

Is your feature request related to a problem? Please describe.
The current SDK code mainly relies on local deviceTime checks (because of offline certificate verification requirements) for scan validation datetime.
Therefore - in case of device datetime misconfiguration - it doesn't raise any timeOffset exceptions .

Describe the solution you'd like

DGC-SDK : Addition of ServerTimeOffsetException check function in order to check/detect any difference between deviceTime and serverTime (that can be retrieved/parsed from Date field in SERVER_HOST get.dgc.gov.it response headers).

App with DGC-SDK integration :  ServerTimeOffsetException call at the start of the app / whenever needed + addition of ACTION_TIME_CHANGED intentFilter = broadcast receiver to check whether deviceTime has been manually changed/overrided while the app with DGC-SDK integration is running.

Hi @rawmain,
if I understand correctly, the PRs above provide a check to be performed at the moment of update request for app data/rules, which is fine and useful, of course, but still I think that a check to be performed at the moment of GC verification, as discussed before, would be important as well, if not more useful. The procedure is simple, how do you see it?

Hello @popolla

the PRs above provide a check to be performed at the moment of update request for app data/rules, which is fine and useful, of course, but still I think that a check to be performed at the moment of GC verification, as discussed before, would be important as well, if not more useful. The procedure is simple, how do you see it?

Current PR commits check indeed the clock alignment with API responses & disable the blue QR scan-button in case of time-mismatch > 2 minutes between device and server.
I haven't submitted yet the further commits for the TimeChangeReceiver execution & ServerTimeOffsetException + alert dialogs triggers, that prevent QR scan while already in the scan black window & in case of manual time-override.
.
Better indeed to wait for the approved changes into verificationviewmodel (SDK) and verificationfragment (app) in order to avoid conflicts.
In the next few hours - by Monday at the latest - there should be the feature->develop merge of the approved CRL / blacklist commits. Then I could update the PRs, obviously also according to their review process.


fix: remove unnecessary resolve_formatters call in injected formatter

It looks like this is already being handled in the format_lines call. We just need the names here
Resolves #187

It's a little more subtle than this; we do still need the call to resolve, we just need to fetch the names of the resolved formatters 68abada5a348f448eabdbd7d71884c195969484f. Thanks for looking into this!

ah, that was my first thought as well and opted for this when I saw the call it makes with the list calls the resolution function, but I haven't fully digested the code. Thanks for patching this and all your amazing plugins 🤗

Out of curiosity, could you describe the reasoning for calling the resolution on the bare list rather than just passing the list from the formatters_by_ft? Is this because there could be nested lists and things that need to be resolved before calling the format function?

Ah I totally relate on rushing through issues before meetings 😅 ! I also was curious about that type annotation as well, thanks for clarifying. Totally agree with aligning the behavior with conform.format being a good idea. Thanks for the insights!


Patch a schema to allow empty strings

Hello,
I have a type like that:
export type PatchDocumentParams = {
  name?: string
  date?: number
  notes?: string
}

and a schema loaded like that:
const PatchDocumentInputSchema = tsToJoi({
  path: "./src/models/payloads.ts",
  tsconfig: "./tsconfig.json",
  type: "PatchDocumentParams"
})

The problem is: when I receive a payload with:
{ "notes": "" }

I get a validation error: "notes" is not allowed to be empty
How can I path the schema to allow a field to be empty?
Thank you!

Hello,
Thanks for the feedback. The fix is available on the 1.0.5 version of the package.


Ignite 5589: Archive WAL segment after significant period of grid inactivity

Please don't merge. PR is for TC run

Closed by merge of PR https://github.com/apache/ignite/pull/2174

Closed by merge of PR https://github.com/apache/ignite/pull/2174


Why can't the frame rate reach 77fps in local computer test

Why can't the frame rate reach 77fps in local computer test, using 3090gpu, reasoning speed is 0.3-0.5s per graph（288*288）

There are a few things you need to make sure during inference:

torch.no_grad anywhere
clip generator's code
counting time except the first inference (cuda memory allocation for the first inference takes time)
counting time with cuda synchronization (though it does add time)

Infering with TensorRT could be much faster.
(Composition of infering time: backbone infer time + classifier infer time + post-process time. The backbone inference takes the majority of inference time, and it is ~10ms)

It is unfair to compare the inference time of TensorRT with PatchCore, as TensorRT is not utilized in the latter.


Include and set ProGuard uuid in Flutter Options

:scroll: Description

I just added a proGuardUuid property to the Options and passed it to Sentry's android native initialization.
:bulb: Motivation and Context

Due to the flutter SDK not having support to configure the proguard uuid, it is necessary to perform a large workaround to perform this action.
So this simple modification already makes it possible for Flutter apps to configure the proguard uuid at runtime.
:green_heart: How did you test it?
created unit tests for testing defaults and custom values
:pencil: Checklist

[x] I reviewed submitted code
[x] I added tests to verify changes
[x] No new PII added or SDK only sends newly added PII if sendDefaultPii is enabled
[x] I updated the docs if needed
[ ] All tests passing
[ ] No breaking changes

:crystal_ball: Next steps

@Wcisang you could technically set it directly into the Manifest file on Android.
Does that help?

@marandaneto
Because we use a protection tool that runs after the build in the pipeline and the obfuscation map changes completely every run. And with that, we need to set this configuration at runtime.

Thanks @Wcisang Before merging, please add an entry to our changelog :)

Done! When does the next release happen?

I can cut a release once CI is happy, just fixed a detekt issue.


Support for CustomEvent (and the general plan for Level 3 support)

Hi,
I noticed jsdom doesn't support Level 3 custom events, so the following code crashes:
var tap = document.createEvent('CustomEvent');
tap.initCustomEvent('tap', true, true, {});

It would be relatively trivial to add a basic empty implementation in the level 2 folder (baaaaad), but I wouldn't know where to start with Level 3 (everything is commented-out). What's the plan in that area?
On a related topic, the new standard seems to be using event constructors instead of initCustomEvent. Does that fit into Level 4 support?
var event = new Event('focus', {bubbles:false,cancelable:true});
document.querySelector('input').dispatchEvent(event);

@rprieto I found that doing something like the following worked for my purposes:
let opts = { bubbles: true, cancelable: true, detail: null };
let e = document.createEvent('HTMLEvents');
e.detail = opts.detail;
e.initEvent(name, opts.bubbles, opts.cancelable);

I'm running into an issue here as well with the lack of CustomEvent support.

It's currently being implemented here: https://github.com/tmpvar/jsdom/pull/1258 follow there for updates, but we need to get some basic infrastructure down before we can merge it.

Fixed by https://github.com/tmpvar/jsdom/commit/5459bec38660658e4e18642265f61c3d79e984dd


Websocket: Logic for WS #2

Description
This ticket is for WebSocket (WS). It's similar to HTTP, which is an insecure connection.
This ticket should be implemented at the same time as #296
⚠ Do not start the WSS ticket until this this ticket is reviewed and done.
How to start a Websocket

Open Proxyman for macOS
Clone this repo: https://github.com/NghiaTranUIT/websocket-usercases
Start Proxyman for macOS on port 9090
npm i
npm run start_ws
Observe the WebSocket flow on the app

Acceptance Criteria

Able to see WebSocket messages on the app
Because it's an Insecure web socket, no need to enable SSL Proxying -> I'm still able to see the WebSocket content

Unit Tests
How to Setup the Unit Test + Websocket

Add the WebSocket Repo to the Testing Folder -> Make sure we don't include it in the main app
use exec() to run a command line. Ref: https://stackabuse.com/executing-shell-commands-with-node-js/
Depending on what Unit Test cases, the script can be different. For example:

let script = "cd \(path) && pwd && npm run start_ws"

Wait until the shell is finished
✅ Verify the command shell runs fine
✅ Get the FlowPool -> Get the first websocket message -> Assert the storage (Message total, data, ...)

Sample Unit Test:

    /// Typical WS Websocket, which is made from Web Browser,
    /// It uses CONNECT -> Go to SSL Handler -> Websocket Handler
    func testNonSecureWebsocketClientFromNodeJS() {
        let pool = FlowPool()
        core = PMProxyServer.allwaysInterceptCore(pool)
        let path = getWebsocketClientPath()
        runProxyCore { (expectation) in

            // call the nodejs client
            let script = "cd \(path) && pwd && npm run start_ws"

            do {
                // Run it
                // Run it
                guard let _ = try runCommandLineWithCurrentShell(cmd: script) else {
                    XCTFail("Could not command line")
                    return
                }

                // Test
                XCTAssertEqual(1, pool.count)
                let flow = pool.allFlows.first
                let message = flow!.websocketMessageStorage!.receipts

                XCTAssertEqual(11, message.count)
                XCTAssertEqual(5, message.filter { $0.from == .client}.count )
                XCTAssertEqual(6, message.filter { $0.from == .server}.count )

                let json = #"""
{"name":"John","age":30,"city":"New York"}
"""#
                let isContainsJSON = message.contains { message in
                    return message.rawMessage == json
                }
                XCTAssertTrue(isContainsJSON)

                // Done
                expectation.fulfill()
            } catch let error {
                Log.error(error)
                XCTFail()
                expectation.fulfill()
            }
        }
    }

How to test WS / WSS manually

Open Proxyman
Open Postman with Websocket

WSS:  wss://ws.postman-echo.com/raw
WS: ws://echo.websocket.events

Connect and type message
For each message -> Observe the message on Proxyman app


Kill old examples

This removes all example that no longer work with pachyderm 1.8.2. Alternatively, we could pursue fixing them up one by one.

As good as it would feel to just kill these I think it's probably worth updating / keeping at least some of them. The only one I think can for sure be sacrificed is fruit_stand since it was always intended as the "hello world" example and the opencv pipeline has replaced it as such. The other ones I think give examples of things people really want to do and we're going to keep getting questions of how to do a Jupyter Notebook in Pachyderm until we re-add them.


carry stats across eviction & on-demand download

Heikki and Kirill asked for this in the review.

It's not bad, but I wonder if we could structure it differently?
We may keep EnumMap<LayerAccessKind with more info (not only count, but latest time accessed, etc.) and keep only one VecDeque with all accesses, downloads, evictions and the rest, maybe growing the allowed size for the vec.
LayerEvent could contain in one enum all possible kinds of events we want to track.

I think we want to keep the history of last accesses vs residence changes separate. Residence changes will happen much less frequently. We don't want to lose that info just because of a few layer accesses.

I don't think the heapless is necessary but fine with this as is.


[WIP] Add layers function

This commit adds a function to get layers from a PyDAG object. You
provide it with an inital set of indexes for the first layer and it will
return a list of lists with the node data, where each inner list
represents a layer.

I still need to add tests and docs to this before it can merge


[ENHANCEMENT] Mozilla HTTP Observatory general security fixes

https://observatory.mozilla.org/analyze/gabrielscardoso.com

Also https://securityheaders.com/


Add documentation for OPA connector

https://github.com/wso2-extensions/identity-application-authz-opa
Create the documentation for this connector and add it to 5.11.0 doc space

Need to get the content in https://github.com/wso2-extensions/identity-application-authz-opa/blob/master/docs/config.md get added to our 5.11.0 docs-space


Add setting in product.json for customDataDirectory

This setting allows the user to provide a custom directory for extensions, snippets and settings.
This is the first step for making vscode a portable application.
refs #329
Feedback appreciated, feel free to close though :)
Note: Not there is still some stuff in the %appdata% directory; the LocalStorage, GPUCache, DevTools Extensions and a electron settings file

Hi @DickvdBrink, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by Microsoft and real humans are currently evaluating your PR.
TTYL, MSBOT;

@DickvdBrink thanks, this is however not enough. You will need to set the data directory very early, see https://github.com/Microsoft/vscode/blob/master/src/vs/workbench/electron-main/bootstrap.js#L24 for an example how we set it for development.
I think we should check what Atom is doing here for being portable (https://github.com/atom/atom/issues/2939) and do something similar. At the very minimum, there should be a command line argument to set the data location and extensions location. Currently they are split but at some point we want to merge them into one. I would also think a good fallback is to put the directories next to code.exe if you run with something like "--portable".


Context not working in decorator after await action

I'm using Typescript, Koa version is 2.13.4, Node js is 16.11.1
First of all, I am using decorator to replace middleware.
So I wrote down below code.
Decorator:
// hasPermission decorator

export function hasPermission(
    type: PermissionType,
    action: PermissionAction,
): MethodDecorator {
    return function (
        target: Object,
        props: string | symbol,
        descriptor: PropertyDescriptor,
    ) {
        let original = descriptor.value;

        descriptor.value = async function (...args: [HttpContext, ...any]) {
            const ctx = args[0];

            const hasPermission = await ctx.state.user?.hasPermission(type, action);

            if (hasPermission) return await original.apply(this, args);
            else ctx.body = ctx.__('error.needPermission');
        };
    };
}

// hasRole decorator

export function hasRole(role: UserRole | UserRole[]) {
    return function (target: any, props: string, descriptor: PropertyDescriptor) {
        let original = descriptor.value;

        descriptor.value = function (...args: [HttpContext, ...any]) {
            const ctx = args[0];

            if (ctx.state.user?.hasRole(role)) return original.apply(this, args);
            else ctx.body = ctx.__('error.needRole');
        };
    };
}

Controller:
@hasRole([UserRole.Administrator, UserRole.Supporter])
@hasPermission(PermissionType.Shop, PermissionAction.Read)
async all(ctx: HttpContext) {
    const shops = await Shop.find({
        select: ['id', 'name', 'domain', 'endedAt'],
    });

    ctx.body = shops;
}

hasRole has no problem, but hasPermission does.
I want to check user has permission. and it is saved on database.
To check it, I have to using async/await function to get data.
But, a matter occured in this part.
in (1), context works perfectly, however (2) doesn't.
in (2), I can't manipulate any response - status code, returning body and so on.
due to this reason, if user wasn't permitted, just returning 404 error.
I don't understand why can't change context after await action.
// hasPermission

descriptor.value = async function (...args: [HttpContext, ...any]) {
    const ctx = args[0];

    // (1) ctx.body = 'in here, ctx works!'

    const hasPermission = await ctx.state.user?.hasPermission(type, action);

    // (2) ctx.body = 'in here, ctx doesn't work!'

    if (hasPermission) return await original.apply(this, args);
    else ctx.body = ctx.__('error.needPermission'); // Thus, This code doesn't work. only return default error (404).
};

How can I resolve this problem?
Please understand that my English is short and Thanks for reading.

I resolved. next() in middleware is not set 'await', so context doesn't work.


The problem about the operation of ChatGPT

          thanks for reply , but i mean can anyway modify the code to make Chatbot “talk coherently”between last sentence?

Originally posted by @jimmy8399 in https://github.com/IvanCampos/discord-ai/issues/1#issuecomment-1459540610

Sorry, but this question sounds like a general support question about the OpenAI API and not code in this repo.
Please go through the proper channels as opposed to creating Issues:

openai dev community: https://community.openai.com/
openai discord channel: https://discord.com/invite/openai


EnvoyFilter request/response hooks called twice

Setting up a simple EnvoyFilter and adding request/response hooks result in them being called twice instead of once.
Issue exists starting with 1.1.0 onwards including latest 1.1.4, did not test it before 1.1.0. Same setup with bare Envoy (using the same Docker image as Istio) does not exhibit the behaviour.
Reproduction is pretty straightforward:

Install Istio 1.1.4
Install BookInfo sample app
Apply a very simple EnvoyFilter given below.

apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
  name: filter-details-lua
  namespace: default
spec:
  workloadLabels:
    app: details
  filters:
  - filterConfig:
      inlineCode: |
        function envoy_on_request(request_handle)
          request_handle:logErr("Request hook called")
        end

        function envoy_on_response(response_handle)
          response_handle:logErr("Response hook called")
        end
    filterName: envoy.lua
    filterType: HTTP
    listenerMatch:
      listenerType: SIDECAR_INBOUND
      portNumber: 9080

Make a request to http://<INGRESS_IP>:9800
Look at the istio-proxy logs of details pod.
Notice double calls to both envoy_on_request and envoy_on_response like in below log.

details-v1-68868454f5-kp7tw istio-proxy [2019-04-30 17:32:51.966][22][error][lua] [external/envoy/source/extensions/filters/http/lua/lua_filter.cc:541] script log: Request hook called
details-v1-68868454f5-kp7tw istio-proxy [2019-04-30 17:32:51.966][22][error][lua] [external/envoy/source/extensions/filters/http/lua/lua_filter.cc:541] script log: Request hook called
details-v1-68868454f5-kp7tw istio-proxy [2019-04-30 17:32:51.970][22][error][lua] [external/envoy/source/extensions/filters/http/lua/lua_filter.cc:541] script log: Response hook called
details-v1-68868454f5-kp7tw istio-proxy [2019-04-30 17:32:51.970][22][error][lua] [external/envoy/source/extensions/filters/http/lua/lua_filter.cc:541] script log: Response hook called
details-v1-68868454f5-kp7tw details <IP_ADDRESS> - - [30/Apr/2019:17:32:51 UTC] "GET /details/0 HTTP/1.1" 200 178
details-v1-68868454f5-kp7tw details - -> /details/0

Config Dump shows that the filter is somehow duplicated therefore probably causing the issue.
"http_filters": [
	{
	 "name": "envoy.lua",
	 "config": {
	  "inlineCode": "function envoy_on_request(request_handle)\n  request_handle:logErr(\"Request hook called\")\nend\n\nfunction envoy_on_response(response_handle)\n  response_handle:logErr(\"Response hook called\")\nend\n"
	 }
	},
	{
	 "config": {
	  "inlineCode": "function envoy_on_request(request_handle)\n  request_handle:logErr(\"Request hook called\")\nend\n\nfunction envoy_on_response(response_handle)\n  response_handle:logErr(\"Response hook called\")\nend\n"
	 },
	 "name": "envoy.lua"
	},

[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[X] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience

Code adding filter
https://github.com/istio/istio/blob/7d61672e25a28b0fa49ef2091f5b49703307572f/pilot/pkg/networking/core/v1alpha3/envoyfilter.go#L81
All entries in httpConnectionManagers refer to the same object. Only the first filter_chain will get the correct number of http_filter and others will get more http_filter than expected.
#13901

@crazyxy this is fixed now, right? If not please reopen

@crazyxy this is fixed now, right? If not please reopen. By #13955

It was fixed. Thanks!

Any idea to quick fix this problem without version upgrade? We use EnvoyFilter for external auth, this bug doubled request traffic.

btw, if listenerType is GATEWAY works normal.

@xring
I have a quite kludgy workaround. It is utilizing dynamicMetadata which requires 1.1.x I believe.
inlineCode: |
        function envoy_on_request(request_handle)
          dynamic_metadata = request_handle:streamInfo():dynamicMetadata()

          if dynamic_metadata:get("envoy.lua") ~= nil then
            -- envoy is trying to call the callback second time, ignore it
            return
          end

          dynamic_metadata:set("envoy.lua", "hook-state", "requestHandled")
        end

        function envoy_on_response(response_handle)
          dynamic_metadata = response_handle:streamInfo():dynamicMetadata()

          if dynamic_metadata:get("envoy.lua")["hook-state"] == "responseHandled" then
            -- envoy is trying to call the callback second time, ignore it
            return
          end

          dynamic_metadata:set("envoy.lua", "hook-state", "responseHandled")

@gokhansengun Verified and worked, thanks!

@crazyxy and @howardjohn, using Istio 1.1.8, I can see the duplicate hooks. I am using the instructions I originally detailed above.

Ah sorry, missed the fact that the milestone is set to 1.2


Remove jQuery and jsRender

Both libraries can be replaced by very little code.
Browser compatibility is unaffected.
Use the no-whitespace diff to better see the changed code (even that one is a bit off, though).

Changes applied!

Perfect, thank you !


Remove references to projectlogging and clusterlogging CRDs

Issue: https://github.com/rancher/rancher/issues/47972
Problem
The CRDs projectlogging.management.cattle.io and clusterlogging.management.cattle.io haven't existed for a long time in Rancher, but they still exist in the code base.
Solution
Remove the references to clusterlogging and projectlogging from the code.
I am also removing the password store from Norman. From the PR that added the store https://github.com/rancher/rancher/pull/15968

password/store.go contains generic logic to create secret for any field that is of type password. To add a schema that has password fields, it needs to be added to pwdTypes.

The only schemas in password/store.go are clusterlogging and projectlogging, so the store is a no-op if those CRDs are gone.
Testing
When installing Rancher, neither CRD is installed, and there are numerous parts of the code that attempt to remove the namespace that was used for this old logging system cattle-logging.
Engineering Testing
Manual Testing
Manual testing was building and running Rancher and watching the logs.
Automated Testing
Removed some tests that reference this dead code.
Regressions Considerations
As with modifying anything with Norman, it's not well documented and could have side effects. Most likely places would be in a system that has existed since v2.0.

This is failing integration tests because Shepherd copies the generated controllers, but not from this PR, so the build fails since ClusterLogging no longer exists. Seems like an oversight in design of Shepherd. Investigating how to cleanly resolve it.

With the help of @caliskanugur, here is the method of updating shepherd:

Create a shepherd branch to use this branch's pkg/apis https://github.com/rancher/shepherd/pull/343
Update rancher/rancher PR to use this branch
Merge rancher/rancher PR
Update shepherd PR to use official rancher/rancher branch
Merge shepherd PR
Create a new rancher/rancher branch to point to official shepherd branch

I have updated go.mod with the right replace, and added a comment indicating why I made the change.

CI passed with the updated shepherd branch, but we don't want a fork in the rancher/rancher go.mod so we pushed past CI temporarily.


Perception (LiDAR) ROI filter issue

System information

OS Platform and Distribution Linux Ubuntu 14.04:
Apollo installed from source:
Apollo version 3.0:

Steps to reproduce the issue:

Currently we are testing perception module using Pointcloud.

In modules/perception/obstacle/onboard/lidar_process_subnode.cc:
if (roi_filter_->Filter(point_cloud, roi_filter_options,                           roi_indices.get()))

**I found that it calls : HdmapROIFilter::Filter method. In this method the last call is return FilterWithPolygonMask(cloud_local, polygons_local, roi_indices);
In FilterWithPolygonMask method, DrawPolygonInBitmap is called and the error occurs in 3. Draw grids in bitmap based on scan intervals  which is commented in code. **

if (scan_interval.first > scan_interval.second) {         AERROR << "scan interval is not valid: "                << "scan_interval.first = " << scan_interval.first << ", "                << "scan_interval.second = " << scan_interval.second << ".";       }

So we are not sure whether there is something wrong with the map polygon which is the input of the Filter process or other input. We hope someone can help answer the question and give us some advice.

Supporting materials (screenshots, command lines, code/script snippets):

Hi @warden2018, I am just guessing. Maybe you want to check your map file, do your lanes have correct left and right boundaries? We encountered problems when our map had wrong boundary lines for lanes. For a lane, we had the right boundary line same as the left one.

Hi @luqiang21 , according to your suggestion, I should check the map input part. So what does the road/lane boundary looks like and how  it should fit the Apollo requirement? Could you please kindly show some examples.

@warden2018 I am not 100% sure your problem is due to map file. But you can try to check it. For the map example, you can check here and look at the structure of a lane. The point's coordinate in central_curve, left_boundary, right_boundary shouldn't be the same.

@luqiang21 Thanks for your help. I will update after the check.

Closed due to inactivity. If the problem persists, pls feel free to reopen it or create a new one and refer to it.


Align configuration protocol with common practices

The current config protocol relies on the .coda-config directory being in the home directory of the user running the daemon.  But common practice is to run a daemon under a dedicated UID/GID (e.g. _coda/_coda) with no shell or home directory.
Suggestion:

put config files in /etc, e.g. /etc/coda.d/daemon.json
logs to /var/log/coda
tmp files to /tmp or /var/tmp

and in general to follow the FSH
Related: #6013

+1 I'm having all kinds of issues trying to run the deamon in a production k8 cluster. The above would be a good solution.


BXL: get stdout/stderr of actions.run()

Is it possible to get the output of an action to print it out via ctx.output.print()?
The best I could do was redirect stdout to a declared output and print out its path, but since there is no way to read that file from BXL (that I know of anyway), this requires the user to cat out this file (potentially via a wrapper script), which is a poor UX.

You should think of BXL a bit like a thing that writes a temporary .bzl + BUCK file pair, and immediately executes a build on it. There is no such thing in BUCK / bzl files as reading the output files, and so there is no such thing in BXL either. (An even better analogy might be a control plane for a networking device. You never get to read the packets. You only get to write routing rules, and your rules are submitted to a big box that runs them at its leisure.)
Wrapper scripts are pretty much the way to go every time. It's mildly inconvenient that you have to write your wrapper in a separate file / language, but the alternative would be for Buck to add a bunch of Python-esque IO tools to the starlark context, which would be a huge waste of time. I guess being able to dump a file to stdout would be neat (and it would mean BXL could emulate buck2 build --out - on its own). But literally anything else, eg checking if the file you dumped was in fact empty, is not feasible, so I'm not really sure there's any point. In the simplest scenario, your wrapper script can be buck2 bxl ... -- "$@" | xargs cat.
In any case, typing out a buck2 bxl invocation is tedious enough that every real world BXL deserves a wrapper script. So I recommend just leaning into it.

Is it possible to get the output of an action to print it out via ctx.output.print()?

What do you mean for "output" here? The stdout of a actions.run or the output artifact(s) of a actions.run

@cormacrelf ctx.output.print and ctx.output.print_json are already existing APIs, and they make a lot of sense to me.

Stdout is less simple when it could be halfway across the world

But Buck2 already captures that stdout and prints it in the case of failures, so it already supports a subset of this functionality.

the alternative would be for Buck to add a bunch of Python-esque IO tools
checking if the file you dumped was in fact empty, is not feasible

Can you elaborate? I don't immediately see why we would need a lot of IO tools, or what would be so challenging about exposing stdout/stderr to the user. At least, having a convenient way of forwarding stdout upon success (like it is already the case when an action fails) seems perfectly doable, and returning a struct with stderr/stdout fields does not seem impossible to me (although it might not be trivial).

A nice analogy is a control plane for a networking device

But in this case, we do not have a way of routing stdout/stderr to the user, which is the core problem that I have. Being able to inspect them would be nice and helpful in some cases, but that's not the main focus here (especially if there are technical limitations that I do not understand).
Regarding wrapper scripts, I am really hoping that https://github.com/facebook/buck2/issues/86 will get some traction. I would love for buck2 to be a universal entrypoint, sort of like nix can be with flakes, but with much better ergonomics (I find Starlark/BXL a lot nicer to write than Nix derivations).

In any case, typing out a buck2 bxl invocation is tedious enough that every real world BXL deserves a wrapper script. So I recommend just leaning into it.

I have already warned some of my users that we might need to do this (and probably will have to at least at first), and the reaction was strongly negative. Buck2 can already print the stdout of actions when they fail, this seems like an arbitrary limitation, and we expect the use case of "use Buck2 to drive some underlying tools and forward their output" to be very common. Besides, BXL has nice handling of command line arguments by default, it would be a shame to have to essentially not take advantage of that by having to overlay command line parsing and generation, for every script. Another argument against wrapper scripts is that they are not hermetic, so past a certain size, we need to rely on non-hermetic scripts that call a hermetic build system, and need to solve the exact problems why we wanted to use buck2 as a universal entry point...
@Nero5023 I mean the stdout/stderr of actions.run.

stdout/stderr are considered as the side effects here and relying on stdout/stderr of an action is not recommened. Each action is like pure function. Args  are inputs, output are output artifacts. Each action can be cached,  cache keys are the inputs and the cached outputs are the output artifacts. stdout/stderr can not be cached.
buck2 make the assumption that each action is deterministic. If relying on stdout/stderr, the following operations should be considered as nondeterministic. Same cases for bxl, we also have cache for bxl.
We often have a wrapper for the bxl script internally. We always have a buck2 target wrap that script, so that we can call it by buck2 run and in the wrapper, it calls the bxl script.

It's not buck within buck. buck2 run :some_script will simply fork/exec the script, no different from any other wrapper. Buck within buck is when you have an actions.run(buck, ...).

Do we agree that it is not ideal though?

Yeah, of course it is not ideal. I am also frustrated that at last I need have a wrapper for the bxl script I wrote.  And handling args converting is tedious. We don't have a plan for now to solve this issue, but I will consider it in next half.

Yeah, as @cormacrelf said. It is not buck within buck.

I have experienced (temporary) lock ups when running commands in parallel

You can different isolation dir in this case --isolation-dir. Also it may be not related to this issue, but good to know that we recently add a flag preemptible. It may could help you in some cases.
      --preemptible <PREEMPTIBLE>
          Used to configure when this command could be preempted by another command for the same isolation dir.

          Normally, when you run two commands - from different terminals, say - buck2 will attempt to run them in parallel. However, if the two commands are based on different state, that is they either have different configs or different filesystem states, buck2 cannot run them in parallel. The default behavior in
          this case is to block the second command until the first completes.

          Possible values:
          - never:            (default) When another command starts that cannot run in parallel with this one, block that command
          - always:           When another command starts, interrupt this command, *even if they could run in parallel*. There is no good reason to use this other than that it provides slightly nicer superconsole output
          - ondifferentstate: When another command starts that cannot run in parallel with this one, interrupt this command

Thanks for the clarification about buck within buck and --isolation-dir, that makes sense. I'll give this a try if my users complain too much about raw BXL ergonomics. Either way, we'll be very interested if/when you get to tackling this in Buck2 itself!


Create sitemap.xml generator for developers

Once done, submit to

bing webmaster tools
google webmaster tools

I think this works https://subwork.xyz/sitemap.xml
https://github.com/kodadot/subwork/blob/main/docs/.vitepress/config.ts#L20

lmao, find my old answer

https://github.com/kodadot/subwork/issues/65#issuecomment-1566063552

done

continue

#87


How to acquire the result for symbolic execution?

Hello,
I intend to look into the control graph (or the execution path tree) provided by Infer but I find that I cannot understand the output. Ideally, I think the execution tree should look like:
a > 5
(true) b < 3
(true) foo1
(false) foo2
(false) foo3
Follow the instruction here: http://fbinfer.com/docs/advanced-features.html#debug-mode, I use the command infer --debug -- <build command> to generate the HTML files at captured/, which is said to contain the "symbolic execution result". However, I find it is extremely hard to parse the result there into the human-readable execution tree. I find each node has "preds" and "succs", which might be the edge of the execution tree. Unfortunately, when I click into a node, the information is extremely heavy and I have no idea how to translate it into the path condition (a>5 in the example above) when a branch occurs.
Any idea to extract such information from the HTML file? I believe it should somehow be there.
Thanks in advance!

The icfg.dot files mentioned in the debug mode documentation might be more along the lines of what you are looking for. You can view the CFG in these files using dotty or any other tool that understands the graphviz format. This won't have details about the abstract state at each program point, but it should be easier to understand the flow.

Thank you! I've taken a look at icfg.dot and it seems to still include the abstract states“ (Please let me know if the attachment is not visible):

I only find this one branch in my target function (in fact there should be several branches). And I'm kind of confused what the path condition is for this branch - I see both false branch (showed in the figure) and true branch (not showed in the figure, at the right arrow) but I indeed cannot figure out what causes the branch. In other words, which variable is symbolic? What is the value for it to introduce branch?
Do I miss anything here for the icfg.dot?
Thanks again for your help!

I think that there might be some confusion here about what information icfg.dot is presenting.  The icfg.dot files contain the static control-flow graph, which is determined by the source code and control-flow paths that might be impossible are not removed.
From the comments, with the mention of e.g. "which variable is symbolic", it seems that @zzy assumes that infer operates in a way similar to King-style symbolic execution.  I don't think that trying to understand what infer does in these terms is useful, since what it actually does is very different.  A better starting point is probably http://dl.acm.org/citation.cfm?doid=2049697.2049700.

@jberdine  Thank you! I spend a while to understand the concept here and you are right, it is very different from the definition in my mind. Sorry for my misunderstanding!

Closing this as discussion seems to have settled, but please reopen if there are additional questions.


Board Review: Storage STG 76 Features

The Basics

Service team responsible for the client library: Storage
Link to documentation describing the service: coming soon.
Contact email (if service team, provide PM and Dev Lead<EMAIL_ADDRESS>
Artifacts required (per language)
We use an API review tool (apiview) to support .NET and Java API reviews.  For Python and TypeScript, use the API extractor tool, then submit the output as a Draft PR to the relevant repository (azure-sdk-for-python or azure-sdk-for-js).
.NET
Coming soon
Java
Coming soon
Python
Coming soon
TypeScript
Coming soon
Champion Scenarios
Coming soon

scheduled for 1/26

scheduled for 1/26

Recording[MS INTERNAL ONLY]

Recording[MS INTERNAL ONLY]


Gangs of Wasseypur movie has its poster for its second part, change it to it's first part poster.

The movie Gangs of Wasseypur has the poster of its second part, Movie is the first part, so its poster needs to be replaced with the first part one.

I'd like to work on this issue, kindly assign!

Also, Gangs of waseeypur poster is present in the web series section as well so replace it with some other webseries.

@GaurPeeyush also replace movie cards in TV section.
Replace them with the same size cards as other pages.

Please assign me this issue under LGM SOC 21


Add check for listener_security_protocol_map

Fix for #433

Would like to see a release tagged which includes this fix. @patelh


chore(docs): update CRUD Service documentation

chore(docs): update CRUD Service documentation

Just merged earlier with #1152


Test that physical size is the same before and after re-attaching tenant

Extracted from PR #2785

I modified this slightly from what we have in PR #2785: I added a call to wait_for_last_record_lsn, to wait for all the WAL to arrive from safekeeper to pageserver, and moved the timeline_checkpoint call after that call. I think otherwise there's no guarantee that the wait ever finishes, if there was some WAL lingering in the safekeeper that was not yet processed by the pageserver, when the timeline_checkpoint call is made. So if we push this before PR #2785 (and we probably should), we should pick the version from this PR.


configuration option Array not working for origin value

I'm trying to use an array of allowed origins via app.use(cors({origin: ["http://localhost:8080", "http://localhost:8081"]}));
no matter what i put in the array (as documented), express wont send an Access-Control-Allow-Origin header.
when just using a string instead of an array, it works perfectly.

Duplicate of #193


bug in pdt.search()?

Please check the following: When running the pdt.search with parameters provided below, incl. min_aoi_frac=0.5, I get ‘5 strips found’, but the last strip (fid=16290) appears to have no data within the area? Why? Is this due to an error in the code?
gdf = pdt.search(
index_fpath,
bounds,
dates = '20160101/20221231',
months = [6,7,8,9],
baseline_max_hours = 24,
sensors=['WV03', 'WV02', 'WV01'],
min_aoi_frac = 0.5,
)
openjournals/joss-reviews#7149

The bounds are: bounds = (-286000, -930400, -282000, -925000) :) It is the very outer part of Petermann, and it has data, when I set bitmask=False, as suggested. Is it possible to plot the data using 'preview' without applying the bitmask? (I tried setting bitmask=False in the pdt.load.preview(), but that wasn't working)

Great, I'm glad we've diagnosed this at least!
Unfortunately, the preview is provided by the PGC so there is no option for a mask-less preview. I was going to suggest that the preview function/image could be a good place to provide some sort of if all nan check, but:

the resolution of the preview is much larger and I believe formed via nearest neighbour resampling, so there could be some valid data at 2 m resolution not present in the preview. I'm not quite sure who would be interested in data this patchy, but it wouldn't be strictly correct to raise an all nan warning based on the larger-resolution data.
users may indeed be interested in data without the bitmask. The bitmask isn't perfect (arguably too aggressive) and there are other potential ways of filtering blunders/poor-quality data.

On balance, my instinct is to trust users to be able to make 'mistakes' here, but keep them educated and informed of the possibility. Would you agree with the proposal to introduce more written material in the documentation on the possibility of this happening at the appropriate locations in the notebooks and FAQ?

Yes, I think that would be fine to just add some explanation to make the user aware that this may happen, and under which circumstances.

The following explanation has been added to the notebook at https://pdemtools.readthedocs.io/en/latest/examples/strip_search_and_dem_difference.html

NOTE: The preview() option draws on PGC-provided data, which is automatically masked according to the PGC bitmask. It is entirely possible that the search() function can return a valid datastrip that covers a sufficient proportion of the AOI to meet the min_aoi_frac requirements, but it will appear empty (i.e. all-NaN) when viewed. The preview() function will help you identify these 'empty' scenes, but there may still be (poor-quality) data present if it is downloaded using the load.from_search() function with bitmask=False. However, by default, load.from_search()defaults to bitmask = False.

And the following added to the FAQ at https://pdemtools.readthedocs.io/en/latest/appendix/faq.html

Q: I have downloaded a strip scene, but the strip appears to have no data within the area. Why?

Strips can appear empty (i.e. NaN values) when photogrammetry fails (due to cloud, water, etc) or it is masked by the PGC bitmask. Data previewed by the pdt.load.preview() function is masked according to this bitmask, and data loaded by the pdt.load.from_search() function is also masked by default (this can be disabled by using the bitmask = False option).

As a result, it is entirely possible that the search() function can return a valid datastrip that covers a sufficient proportion of the AOI to meet the min_aoi_frac requirements, but it will appear empty (i.e. all-NaN) when viewed. The preview() function will help you identify these 'empty' scenes, but there may still be (poor-quality) data present if it is downloaded using the load.from_search() function with bitmask = False.

(please allow some time for changes to filter through to the public site!)


sparklines and line chart from example/theme.go don't look right on raspberry pi (should they?)

Using raspbian wheezy (2015-02-16).  Cross compiled example/theme.go and ran it on the console of the pi.
Maybe the pi is missing a font?

I do not have an experience with raspberry pi, but I guess the problem may be the unicode displaying. The sparklines and line chart rely upon unicode, so make sure your terminal and font's settings are correct.

Ok well it looks like there are ~24 characters that I don't have: the brail ones and the blocks.


fitBoundsWithConstraints only respects constraints when called with the immediate flag

I created a pen for this here that should illustrate what I'm talking about.
Essentially it seems like when fitBoundsWithConstraints is called with a rectangle that would violate the constraints, they aren't applied correctly, allowing the image to be zoomed in beyond maxZoom.
Is this expected behaviour, or a bug / something specific to my config?

This looks like a bug to me. I think it's related to some logic I added in https://github.com/openseadragon/openseadragon/pull/2249 - it applies the boundary (pan) constraints, but doesn't take the zoom constraints into account. This is because _applyBoundaryConstraints is separate from _applyZoomConstraints, and only the constrained bounds are considered when it is not immediate.
I'll have to think more about how to fix this...


Help incorrectly shows ability to specify multiple consul IPs

The help message for Swarm shows that you can specify multiple consul IPs (which would be nice): https://github.com/docker/swarm/blob/master/help.go#L21
However, it doesn't actually (yet):
swarm version 0.2.0 (HEAD)
$ /usr/local/bin/swarm manage -H tcp://<IP_ADDRESS>:2375 --strategy spread consul://<IP_ADDRESS>,<IP_ADDRESS>/swarm
INFO[0000] Listening for HTTP                            addr=<IP_ADDRESS>:2375 proto=tcp
FATA[0000] Put http://<IP_ADDRESS>,<IP_ADDRESS>/v1/kv/swarm/: dial tcp: lookup <IP_ADDRESS>,<IP_ADDRESS>: no such host

Trying the command with each IP on it's own works.
Not sure if it was put there in anticipation of the feature, but it's a bit confusing that it's there but doesn't work.
I saw this PR: https://github.com/docker/swarm/pull/386. Not sure if it is being implemented from someone else.

@MrMMorris Yes this was mostly the doc being copied from etcd I guess but consul is not taking multiple IPs when initializing the client. An example of consul taking multiple IPs is in #583.

ping @abronan

Help is now correct for consul and shows a single IP :)


[Testing] - Write up approach for automated testing

Summary

Related to #51
@gabalafou  will write a small doc with @trallard  re the tools we will use and technical approach
Things to cover:

tools and framework
how to approach tests (i.e. order, reviews, impact to developer workflows)

Acceptance Criteria

Document sorted and ready for implementation

Follow up #95

This was completed with the #97  and #95


Handle length attribute properly for string types

https://docs.sqlalchemy.org/en/14/core/type_basics.html#sqlalchemy.types.String.params.length
String types have an optional length field, but for DDL in Db2, CHAR/VARCHAR/etc require a length be specified. The docs say that in that case an exception should be raised, but we currently do not do this and instead just assume the user passed a valid length and insert it in to the statement, which causes an SQL parser error: SQL0104 - Token ( was not valid.
We need to add code similar to https://github.com/sqlalchemy/sqlalchemy/blob/master/lib/sqlalchemy/dialects/mysql/base.py#L2465-L2470 for all visit_VARCHAR, visit_CHAR, visit_VARGRAPHIC, and visit_GRAPHIC. CLOB types do not require a length specified, however so we could actually adjust the code for them to let the database pick the default in that case.
Affected code is at https://github.com/IBM/sqlalchemy-ibmi/blob/master/sqlalchemy_ibmi/base.py#L292-L322

Hii, I am interested to work on this issue.


📝 Demo application repo link is wrong

Pain
Documentation to run demo application does not work
Suggested Documentation
Fix the documentation
Tasks

More Information
Link to docs page:
https://docs.teletrace.io/user-guide/open_telemetry_demo/
git clone https://github.com/opentelemetry/opentelemetry-demo.git

Cloning into 'opentelemetry-demo'...
remote: Repository not found.
fatal: repository 'https://github.com/opentelemetry/opentelemetry-demo.git/' not found

Thanks!

Hi @jonnydefijn, this is indeed a bug. Thank you for pointing this out.
I've opened a PR to fix this issue.


feat(web-app): #499 next/image support for mdx

Closes #499
Testing / reviewing
Add file test.mdx under services/web-app/pages containing:
import carbonImg from "../public/carbon.png"

<Image alt="alt" src={carbonImg} />

![alt](/carbon.png)

Make sure you're able to access "http://localhost:3000/test", that it renders both images and that it resizes as the screen width changes

Yay! This is working awesome 🥳 , lets pull the image out into its own component just to keep things cleaner.

Done!

I think we can safely ignore that warning @andreancardona 👍


Wire in confidentiality plugin

Overview
Draft waiting for a release of the plugins repo
connected issues and PRs:
https://binnenland.atlassian.net/browse/GN-4614
Setup
Needs the latest plugins version to be linked
How to test/reproduce
You should see a new button on the toolbar of an eye with a cross through it, use this to 'redact' text.
Challenges/uncertainties
Build problems. This PR is to the embroider branch as the PR to update to the latest editor and plugins #174 does not build correctly.
Checks PR readiness

[x] UI: works on smaller screen sizes
[x] UI: feedback for any loading/error states
[x] Check cancel/go-back flows
[x] Check database state correct when deleting/updating (especially regarding relationships)
[x] changelog
[x] npm lint
[x] no new deprecations

Now that we've figured out how to convince e-a-i to output one file on the classic build, I propose targetting master instead.
I have a working rebase locally which just applies the plugin changes on master, and it seems to work well.
I can force-push if youd like, or you can do it yourself

I included an update to the editor plugins in this PR (which includes the updated CSS for the confidentiality plugin).


Fix: Do not attempt to report coverage using old reporter

This PR

[x] removes an invocation of the non-existent test reporter from .travis.yml

Follows #562.
💁♂ See https://travis-ci.org/opencfp/opencfp/jobs/301482402#L819-L820:
$ vendor/bin/test-reporter --coverage-report build/logs/clover.xml

/home/travis/.travis/job_stages: line 57: vendor/bin/test-reporter: No such file or directory

Thank you, @chartjes!


improve report generation

Inspiration here: https://github.com/GlacioHack/xdem/issues/569
Need to get away from markdown-pdf
cc @rhugonnet, if you find any more useful information or links.

via slack:

I think the link I had to an example report from demcompare is gone, because we use free Slack and it's been longer than 3 months :sweat_smile:
But it looks like they make it easy to generate one in their usage example in the README: https://github.com/CNES/demcompare/tree/master?tab=readme-ov-file#usage if you want to have a look (even though I see an issue opened https://github.com/CNES/demcompare/issues/5, hopefully that doesn't happen for you; avoiding Python 3.12 or higher is probably for the best)


Use main revision for 1.26 upgrade tests

What this PR does / why we need it:
This PR adds support for specifying what KubeOne version to use for initializing a cluster in the upgrade tests.
We use this feature for 1.26 upgrade tests because the current stable release (1.5) doesn't support 1.25, so we can't create a 1.25 cluster with KubeOne 1.5, and then upgrade it to 1.26 with KubeOne based on the latest revision.
This is supposed to be a temporary workaround, hoping that it'll not happen that we add support for two minor Kubernetes releases in a single KubeOne release.
What type of PR is this?
/kind failing-test
Does this PR introduce a user-facing change? Then add your Release Note here:
NONE

Documentation:
NONE

/approve
/lgtm

/hold

/hold cancel
/test pull-kubeone-e2e-aws-default-stable-upgrade-containerd-from-v1.25.5-to-v1.26.0
/test pull-kubeone-e2e-aws-default-stable-upgrade-containerd-from-v1.24.9-to-v1.25.5

/lgtm


compute_topology is private

Hi, I want use parry3d::transformation::intersect_meshes on some meshes that i constrict from points and faces.
Acc to the documentation intersect_meshes require that halfedges have been computed.
It seems like compute_topology does exatly what i want, to enable intersect_meshes
Why is compute_topology a private method?
Can it or something similar to it be made public?

if figured out that the TriMesh::set_flags can do what i want.
The issue can be closed.


Improve contrast of main text for options in CustomAutocomplete

Resolves #69
I really wanted to get this done before leaving for the day, so I apologize if I shouldn't have made the change before the issue was reviewed

Pull-requests should be set to merge with development, not main.
I will review this tomorrow during the workshop 👍🏽

Had to forget something... Now it is changed to development

#69 seems to have solved itself for some reason


Update Dropdowns

Update Dropdown, DropdownMenu, ButtonDropdown with start/end vs left/right
Update tests
Update docs

TODO dropup docs seem to be broken

Ignore, PR meant for a v5 fork which will PR back to here when complete

Ignore, PR meant for a v5 fork which will PR back to here when complete

Probably worth mentioning that reactstrap will very likely be deprecated in favor of react-bootstrap when v5 lands.  The v5 work there is pretty far along now and I think it will be better to unify the community.

Probably worth mentioning that reactstrap will very likely be deprecated in favor of react-bootstrap when v5 lands.  The v5 work there is pretty far along now and I think it will be better to unify the community.


Plugin Freeze Up

When the plugin calls GitHub to load the next set of changes, it appears to freeze for several minutes before finally showing the next file.
It would create a better UX if the indeterminate status (shown at the top of the plugin during the first load) was used to indicate that the plugin is busy and not frozen.

First, thank you for taking the time to file all these issues!

When the plugin calls GitHub to load the next set of changes

Can you share exactly what you're doing when this happens?

Closing because no further info was provided.


Update media-quality-sdk.md

Media stats API is updated after communication-calling 1.8.0-beta.
Update new media stats doc to reflect the changes.

Learn Build status updates of commit f70a74b:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

articles/communication-services/concepts/voice-video-calling/media-quality-sdk.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel


Packet.drop_refs() and self.payload pointer

packet.set_nfq_data(nfqueue, nfa)
try:
    user_callback(packet)
finally:
    packet.drop_refs()
return 1

the drop_refs call is setting a pointer to null, but doesnt touch the actual memory allocated by libnetfilter_queue. the pointer will also be garbage collected once it Packet is no longer referenced. I feel this should be removed, but if it needs to be there for something i am not seeing, then it can be moved to a dealloc method and done automatically. (both of these get messy though if python kills it before you get to it)
self.payload_len = nfq_get_payload(nfa, &self.payload)
if self.payload_len < 0:
    # Probably using a mode that doesn't provide the payload
    self.payload = NULL
    self.payload_len = 0

this has a similar issue. i would expect this code would never be reached , but if so it doesnt need to reset the payload pointer.  nfq_get_payload returning -1 is due to an error, so it would probably be more fitting to raise that up or exit since it is likely a fatal condition.

I appreciate the attention to detail here, but the API in question doesn't work like you think it does.

nfq_get_payload() returns a pointer into the receive buffer that was passed to nfq_handle_packet(): https://git.netfilter.org/libnetfilter_queue/tree/src/libnetfilter_queue.c#n1340
This buffer is ultimately stack-allocated in NetfilterQueue.run() (cdef char buf[BufferSize]); it is reused for each captured packet and then freed when run() returns.

the pointer will also be garbage collected once it Packet is no longer referenced

This is not true: garbage collection only deals with Python objects; anything that libnetfilter_queue allocated for us would need to be freed either by directly calling free() or by calling back into some libnetfilter_queue function that would free it. (But since there's no allocation happening here, there's nothing that needs to be freed either.)

if it needs to be there for something i am not seeing, then it can be moved to a dealloc method and done automatically

That would not be appropriate in this case because the whole point of drop_refs() is to provide protection when the Packet object is saved for use from Python after the callback returns. At that point the buffer into which payload points has potentially been reused for another packet; it's better to indicate that the payload is no longer available than to silently return incorrect data. A __dealloc__ would not be called until all references from Python were dropped, which is too late for this purpose.

nfq_get_payload returning -1 is due to an error, so it would probably be more fitting to raise that up or exit since it is likely a fatal condition.

Again consulting the libnetfilter_queue source code that I linked above, nfq_get_payload() will return -1 if the message received from the kernel has no NFQA_PAYLOAD attribute. This can happen in non-erroneous cases such as if only packet metadata is being captured.

you are literally saying what i am saying. the buffer is handled at a lower level when calling into handle_packet(). there is no reason to set a pointer to NULL when you are done with it OR you would put it under dealloc.
you are not doing self.payload[0] so this call is only reassigning the pointer. either way, both of them are unnecessary.
the Packet class is a C extension for Python. self.payload is allocated by Cython via the C/Python API and reference counts are handled accordingly. that is the purpose of a cdef class in Cython.
maybe you should look into the work i have done with this. https://github.com/DOWRIGHTTV/dnxfirewall/tree/work-in-progress/dnx_secmods/cfirewall/fw_main

there is no reason to set a pointer to NULL when you are done with it

Yes there is -- it acts as a signal that the payload is no longer valid to access, so that other code (such as get_payload()) can throw an exception rather than access invalid memory.

self.payload is allocated by Cython via the C/Python API and reference counts are handled accordingly. that is the purpose of a cdef class in Cython.

Uh... the payload attribute is a raw unsigned char*, as you can see in the .pxd file. It turns into a struct member in the generated C code. It does not point to a Python object so there is no reference counting involved.

what is the purpose to hold on to the originally referenced data? for anyone wanting to store the data, it should be on them to ensure they properly copy the data. this is just how C works.

The goal is to provide a reasonably user-friendly and Pythonic interface without too much performance impact. Copying unconditionally would penalize users that are making short-term decisions directly within their callback. Allowing the pointer to dangle creates a bad UX for users that want to have the callback just stash the packet somewhere that will be looked at later. It should not be possible to cause a segfault even if the library is not used as intended; that's a bad user experience.
This is a Python library; "how C works" is relevant to the implementation, but not to the interface. If you want a minimal wrapper around libnetfilter_queue you can open it up using ctypes.CDLL and call its functions directly. I'm trying to make something that is usable by people who aren't already familiar with the underlying C library.


ubuntu_cosmic: add packaging type

Hi, I'd like to contribute the Ubuntu 18.10 (cosmic) packaging type. It's the current (non-LTS) Ubuntu release.
There're basically no changes required to the bionic build configuration. So I copied the relevant directories and replaced bionic with cosmic where it seemed necessary.
Is there anything else I can or need to do? The contribution guide doesn't say much about it. :sweat_smile:

Here're the differences in the config_bundles and packaging directories between both releases:
diff -uriN config_bundles/ubuntu_bionic/bundlemeta.ini config_bundles/ubuntu_cosmic/bundlemeta.ini
--- config_bundles/ubuntu_bionic/bundlemeta.ini	2018-11-26 16:12:05.914119643 +0100
+++ config_bundles/ubuntu_cosmic/bundlemeta.ini	2018-11-26 16:12:06.010119822 +0100
@@ -1,3 +1,3 @@
 [bundle]
-display_name = Ubuntu 18.04 (bionic)
+display_name = Ubuntu 18.10 (cosmic)
 depends = linux_rooted

diff -uriN packaging/ubuntu_bionic/changelog.ungoogin packaging/ubuntu_cosmic/changelog.ungoogin
--- packaging/ubuntu_bionic/changelog.ungoogin	2018-11-26 16:12:05.482118837 +0100
+++ packaging/ubuntu_cosmic/changelog.ungoogin	2018-11-26 16:12:05.622119099 +0100
@@ -1,4 +1,4 @@
-ungoogled-chromium-browser ($ungoog{chromium_version}-$ungoog{release_revision}~bionic) bionic; urgency=medium
+ungoogled-chromium-browser ($ungoog{chromium_version}-$ungoog{release_revision}~cosmic) cosmic; urgency=medium

   * Built against $ungoog{current_commit_or_tag}

diff -uriN packaging/ubuntu_bionic/ungoogled-config-bundle packaging/ubuntu_cosmic/ungoogled-config-bundle
--- packaging/ubuntu_bionic/ungoogled-config-bundle	2018-11-26 16:12:05.510118890 +0100
+++ packaging/ubuntu_cosmic/ungoogled-config-bundle	2018-11-26 16:12:05.638119129 +0100
@@ -1 +1 @@
-ubuntu_bionic
+ubuntu_cosmic

The changes here look good, but I've recently developed a new experimental workflow for updating Debian packages. In response to this PR, I've updated the documentation with the workflow I'd like to try out. See the README in https://github.com/ungoogled-software/ungoogled-chromium-debian for instructions on the new workflow (it's now linked in docs/developing.md too).
Hopefully this isn't too much of an inconvenience for you. Let me know if you have questions or suggestions. Thanks!

I'll have a look. 😀


fix TestHeikinashiCandles and TestCrossover

fix TestHeikinashiCandles and TestCrossover
optimize Macd reusing temp buffer, speed up about 20%

Sorry, no dependencies to the ta-lib library allowed.
The whole point of this library is to be a single file pure Golang alternative.


Project Test Case 9 - 16

Summary
Unable to pass test case 9 - 16
Description
Hi guys, I am stuck at test case 9 - 16, where customer 21 is waiting at server 3 instead of server 1 and I am unable to solve the issue. Would appreciate some help to get pass it. Thank you!
Screenshots (if any):

For my implementation, I will have a comparator to sort my servers based on their ids so that I will get the right server. Or maybe u can check if your rest time is implemented correctly? Hope this helps!


[Keyboard Navigation - Settings - Project Settings]Visual focus indicator is not visible on save and Editing settings as text buttons on project settings pane.

User Experience:
Users who depends on Keyboard will feel difficulty to access any controls if Focus indicator is not visible on that.
Test Environment:
OS: RS2 Version 1703(OS Build 15063.483)
Platform: Edge.
Repro Steps
1-Navigate to https://makecode.microbit.org/acc
2-Navigate to the Micro bit section element and select Code control given on it.
3-Navigate to the Settings control lying in the header section on the page and select it.
4-Navigate to the Project Settings menu option listed under the Settings menu control and select it.
5-Navigate to the various controls lying in the pane opened.
6-Verify Visual focus indicator is visible or not on ‘save and Editing settings as text’ buttons on project settings pane.
Actual Result:
Visual focus indicator is not visible on save and Editing settings as text buttons on project settings pane.
Expected Result:
Visual focus indicator should be visible on save and Editing settings as text buttons on project settings pane.
MAS Reference:
https://microsoft.sharepoint.com/teams/msenable/_layouts/15/WopiFrame.aspx?sourcedoc={3b98b04f-4fab-4d3e-81af-a0906a34849c}
Suggested fix:
1.Using user interface components that are highlighted by the user agent when they receive focus
2.Using CSS to change the presentation of a user interface component when it receives focus
3.Using the default focus indicator for the platform so that high visibility default focus indicators will carry over
4.Using an author-supplied, highly visible focus indicator
5.Using script to change the background color or border of the element with focus
#div a:hover, #div a:active, #div a:focus {
background-color: #DCFFFF;
color:#66;
}
To provide an outline around the element we can use the below
a { outline: none; }
Refer attachment file for more details:
MAS2.4.7_Project_Focus indicator is not visible on buttons.zip

Fixed in the following PR : https://github.com/Microsoft/pxt/pull/2845

Verified on URL: https://makecode.microbit.org/acc and issue is fixed now. Hence closing the bug.


Create a script to add a new stable token to a network

We need to create a script that does the following:
For Stable Token:

Deploy a new StableToken.sol contract
Deploy a Proxy contract, and set the implementation with the contract deployed in (1)
initialize the contract with a .json file with the argument (this includes pre-mint addresses), etc.
Transfer ownership to GovernanceProxy
Set StableTokenX (where X can be for example BRL) in the registry.

For Exchange:  Same as Exchange, with detail that a parameter for the initializer function should be the address of the proxy deployed in (1).
It should generate a governance proposal in .json format ready to be proposed.
Ideally, this contract should be able to verify an existing governance proposal as well.

This can reuse much of the automated core contracts release tooling. Specifically deployCoreContract should be useful but it's not immediately reusable without some abstraction away from the versionedReport context.

The script introduced in https://github.com/celo-org/celo-monorepo/pull/7267 make-release-3-changes performs the exchange initialization parameter change. Please reach out if you need help using either of these already battle-tested paths.


Prepare release v0.7.0

Preparing release ~0.6.5~ 0.7.0 with Docusaurus 3.0 support.

Can you update the PR title to pass the title check and resolve the lint issues?

Can you update the PR title to pass the title check and resolve the lint issues?

done boss

Still looks like there’s a couple lint issues

Not sure why these weren’t failing before, your PR doesn’t have any code changes :/

Not sure why these weren’t failing before, your PR doesn’t have any code changes :/

Yeah, it's weird. I ran prettier on the three files the linter complained about. Hopefully, that fixes it 🤞

Wonderful jobs !


Adding Sloane Lab HTR Model data set

Hello,
Could you please add the Sloane Lab HTR Model to the HTR United repository?
Many thanks and best wishes
Marco
Here is our dataset YAML file:
schema: https://htr-united.github.io/schema/2023-06-27/schema.json
title: The Sloane Lab HTR Model
url: https://github.com/sloanelab-org/HTR-Model
authors:
 - name: Marco
   surname: Humbel
   orcid: 0000-0003-1861-162X
   roles:
     - aligner
 - name: 'Andreas '
   surname: Vlachidis
   roles:
     - project-manager
 - name: 'Julianne '
   surname: Nyhan
   roles:
     - project-manager
 - name: 'The British Museum '
   surname: ''
   roles:
     - digitization
institutions:
 - name: AEL Data Service
   roles:
     - transcriber
description: >
 This repository contains Handwritten Text Recognition training data (layout
 segmentation and transcriptions ) for the Sloane Lab HTR model. The HTR model
 is trained on the handwriting of Hans Sloane (1660-1753).

 Funding:

 Enlightenment Architectures: Leverhulme Trust Project Grant 2016-21

 The Sloane Lab: Towards a National Collection – AHRC AH/W003457/1
project-name: 'The Sloane Lab: Looking back to build future shared collections'
project-website: https://sloanelab.org/
language:
 - eng
production-software: Transkribus
automatically-aligned: false
script:
 - iso: Latn
script-type: only-manuscript
time:
 notBefore: '1680'
 notAfter: '1750'
hands:
 count: less-than-11
 precision: estimated
license:
 name: CC BY-NC-SA 4.0
 url: https://creativecommons.org/licenses/by-nc-sa/4.0/deed.en
format: Alto-XML
sources:
 - reference: >-
     Sloan, K., Ortolja-Baird, A., Nyhan, J., Pickering, V., & Fleming, M.
     (Eds.). (2019). Sir Hans Sloane’s Miscellanea which comprises his
     catalogues of Miscellanies, Antiquities, Seals, Pictures, Mathematical
     Instruments, Agate Handles and Agate Cups, Bottles, Spoons (Digital
     Edition).
   link: >-
     https://enlightenmentarchitectures.reconstructingsloane.org/cataloguemiscellanies/index.html
volume:
 - metric: pages
   count: 196
citation-file-link: https://github.com/sloanelab-org/HTR-Model/blob/main/Citation_SL_HTR_Model.cff

Hello Marco, I'm sorry for responding only now, I missed your issue.
Based on the documents available in the dataset repository, I suggest adding the following elements:
transcription-guidelines: >-
  Transcription rules can be found alongside the dataset. They include the
  following rules:

  - Exclusion of overwritten text from training data

  - Exclusion of text not identified by the automated layout recognition

  - Exclusion of faded text

  - Inserted words are treated as separate text lines

  - Exclusion of textual features such as dotted lines

  - Base line separation for text written apart

I already added them in the pull request I opened. Is that ok?

Hi Alix,
No worries!
Thank you very much that's brilliant.
Please let me know if you need anything else.
Best wishes


Recurring tasks don’t show up when pter is running through the night

Suppose you have a recurring task, e.g. rec:1d and you complete the task today. When pter is running through the night, it will not show the task as open again in the morning.

Fixed in 3.3.0


Course Product Page: show more enrollment dates

What are the relevant tickets?
Fix https://github.com/mitodl/hq/issues/2393
Description (What does it do?)
Shows more start dates for the course with a "Show Dates" toggle.
Screenshots (if appropriate):

How can this be tested?
Create two course runs for a course with enrollment open or in the future. Go to the course product page and toggle the "more dates" button to see more dates.
If there is only one option the "More Dates" button should not show.

New screenshot

I had to adjust the UI to show all enrollable runs under the current one. Because the current one is there independently of whether the user is enrolled in it or not (it doesn't seem to change based on enrollment status, it is just stating with run is "next").


fixes a gradle issue

Summary

Fixes "Unable to track incremental changes" gradle bug
Information

[x] This PR fixes an issue.
[ ] This PR adds something new (e.g. new method or parameters).
[ ] This PR is a breaking change (e.g. methods or parameters removed/renamed).
[x] This PR is not a code change (e.g. documentation, README, examples, ...).

Checklist

[x] I have searched the open pull requests for duplicates.
[x] If code changes were made then they have been tested.

Locked as this is not a discussion


Need Help on updating

how can i update the malware exe on victim pc

you cant. you need do compile newest version and send it to victim


Update README.md

Updated and fixed the image link.

Thanks for the quick pull request - much appreciated 😃

No problem!
My first contribution.
So when does the change actually reflect in the main repo? (I'm new here)
Thanks.

In my haste I've accepted the pull request but overlooked the url needs to be updated in two places - one so the code can be seen for copying and the second as an example.
Strangely the logo shows on my local copy of this repository but not on GitHub - that might be because there is a space between the ' https://raw.githubusercontent.com/nhs-r-community/assets/main/logo/nhsr-logo.svg'?


Fixed #9979 UI-issue with long usernames

Please check the following:

[x] Do the tests still pass?[^1]
[x] For front-end changes: Did you test on all of Wagtail’s supported environments?[^2]

Please describe additional details for testing this change.
[^1]: Development Testing
[^2]: Browser and device support
[^3]: Accessibility Target

Thankyou for the contribution! However, there is already an open PR for this (#9981), so I'll close this as a duplicate.
I'd recommend reading https://dev.to/lb/ten-tasty-ingredients-for-a-delicious-pull-request-hgc, particularly point 2. Best of luck for your future contributions!


Make (de)serialization more configurable.

Continuation from discussion in pull request https://github.com/BlackEdder/painlessjson/pull/1
The underscore added to toJSON and fromJSON is because the fromJSON i  painlessjson can be called like object.fromJSON(); using UFCS. It might be possible to fix but I found others with similiar problems on forum.dlang.org so I stopped trying. Perhaps a smarter trait-check could figure it out. Would be great to solve this since if we use my ideas below someone might select a method we can't call.
I really like annotations and think they are a the right tool for configuring something like this. They are a bit rigid but we can't get around that without using dynamic configurable (de)serializer-objects which probably would require magic or runtime reflection.
I think https://github.com/FasterXML/jackson-annotations handles configuration in a great way. It works by default, and it's easy to add annotations to remove values or rename them.
My proposal:
Serialization

@property methods without parameters and visible fields gets serialized.
When serialized the values will use the exact name for the method or visible field, unless overridden by annotation @SerializedName("otherName").
If a method with annotation @ToJSON is present the other annotations will do nothing?

Deserialization
When deserializing we might need to be flexible. I could see two modes that could be configured using annotation on the class:

Find all @property that takes one parameter. Disable using @JsonIgnore/@NoJSON or equivalent.
Find only the methods that are enabled using @SerializedName or @JSON or equivalent.

A third mode could be used without needing class annotation:

@FromJSON to select a constructor or method to use. Right now it could just take a JSONValue. In the future I want it to be like Jackson and be able to send multiple arguments by looking at the parameters name or annotations. If this is present all the other annotations will do nothing?
Perhaps if we have @FromJSON and @ToJSON they could call painlessjson for a version that ignores those annotations and then just fix the result?

Final points
I like the concept of having sensible defaults and have the simple case work out of the box.The problem is making it customizable and I think annotations is the solution. The alternatives I see are option-objects, string-mixin-templates, and Strategy pattern(using templates and opCall or delagates).

Sounds good. A couple of suggestions though.
Firstly, I'd try to turn this in a more general (de)serialisation routine. What I imagine is a template (de)serialisation method that you provide a function of what to do with the actual data. serialize( (a) { return a.toJSON; } )( serializableObject ), with would return a JSONValue[string] associative array (indexes are the names). (By default it would return them into Variant[string]?)
To keep the simple case working I would also try to support _toJSON/_fromJSON on top of @ToJSON/@FromJSON.
Serialization

Should respect @NoJSON/@JSONIgnore (or @SerialIgnore)

Other than that, sounds good and I would certainly be happy to pull such an update.

This issue is ready to be closed. Further improvements should use a new issue.


Fix bugs with contact modal

There's a better way to do this but I'm too lazy.

Do not merge @Ascent817

Ok fine now! Fixed the bugs.

More bugs!


ERROR: No matching distribution found for simpler-whisper

note-taker on  main via 🐍 v3.10.1 (.venv)
❯ pip install -r requirements.txt
Collecting huggingface_hub (from -r requirements.txt (line 1))
  Downloading huggingface_hub-0.26.2-py3-none-any.whl.metadata (13 kB)
Collecting llama-cpp-python (from -r requirements.txt (line 2))
  Downloading llama_cpp_python-0.3.1.tar.gz (63.9 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 63.9/63.9 MB 78.2 MB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
  Preparing metadata (pyproject.toml) ... done
Collecting numpy==1.26.4 (from -r requirements.txt (line 3))
  Using cached numpy-1.26.4-cp310-cp310-macosx_11_0_arm64.whl.metadata (61 kB)
Collecting platformdirs (from -r requirements.txt (line 4))
  Downloading platformdirs-4.3.6-py3-none-any.whl.metadata (11 kB)
Collecting pyinstaller==6.10.0 (from -r requirements.txt (line 5))
  Downloading pyinstaller-6.10.0-py3-none-macosx_10_13_universal2.whl.metadata (8.3 kB)
Collecting pyperclip (from -r requirements.txt (line 6))
  Downloading pyperclip-1.9.0.tar.gz (20 kB)
  Preparing metadata (setup.py) ... done
Collecting python-dotenv (from -r requirements.txt (line 7))
  Using cached python_dotenv-1.0.1-py3-none-any.whl.metadata (23 kB)
Collecting resampy (from -r requirements.txt (line 8))
  Downloading resampy-0.4.3-py3-none-any.whl.metadata (3.0 kB)
Collecting rich (from -r requirements.txt (line 9))
  Downloading rich-13.9.4-py3-none-any.whl.metadata (18 kB)
ERROR: Could not find a version that satisfies the requirement simpler-whisper (from versions: none)

[notice] A new release of pip is available: 24.2 -> 24.3.1
[notice] To update, run: pip install --upgrade pip
ERROR: No matching distribution found for simpler-whisper

I thought this was due to using python 3.10 but 3.11 is failing too

CMAKE_ARGS="-DACCELERATION=metal -DCMAKE_OSX_ARCHITECTURES=arm64" pip install git+https://github.com/locaal-ai/simpler-whisper.git

Worked

same here

sorry about that! Still working out the PyPi submission.
However you can get simpler-whisper directly from https://github.com/locaal-ai/simpler-whisper/releases
and then e.g. pip install simpler_whisper-0.2.2+cpu-cp311-cp311-win_amd64.whl once you have the .whl file

Thanks for pointing to the whl file. I install it in Rocky Linux 9.4 and after installing portaudio libraries able to make it run, however getting an issue when I tried the new live option. Need to close the terminal.
I did a try with ubuntu 22.04 container, able to install simpler-whisper having the correct GLIBC version in ubuntu https://github.com/locaal-ai/simpler-whisper/issues/3, but then getting a failure when trying the new live option, did not capture the error, will try to reproduce later.


Very slow, hot phone with OOS12 OnePlus 9

Installed on OnePlus 9, OOS12, magisk 25.2.
Phone gets very hot, 100% cpu and intense battery drain, laggy.
Disabling module fixes the issues.

Can you check which app takes cpu usage constantly?

Disabling "OK Google" always Listening fixed it.
But some apps still lag between opening.

Can attest that this module causes slowness on oos12 oneplus 9. I'm sure that it's related to the oos12 fix. After clicking start when navigating on Google maps with this module causes a soft reboot for some reason.


initial commit for native android fixes issue #83

Signed-off-by: Rishabh Khanna<EMAIL_ADDRESS>Orga app implemented in native android. Fixes issue #83

there are no warnings in my IDE ? can you pls explain more @iamareebjamal about the changes ?

When you leave personalized messages, it results as warnings in other people's IDEs and also, messages like Created by XYZ aren't healthy in Open Source development as we all contribute to it, and not just the person who created the class initially.
It's just my opinion to keep the code clean from personalized artifacts so that it remains general and neutral. We can always see the contributors over the code in github :smiley:

It'd be awesome if you could also change the travis yml file to match Android Project. If not, please tell, I'll create a separate issue.

Actually i have not left any personal messages,just some comments to understand the code better but if you want i will remove them and created by is auto generated in android studio, gives the date on which java file was created, hence can seen in various FossAsia android projects as well.

@Rishabhk07 it would be great if you remove the autogenerated comments on files (The ones with the date and author name). It serves no purpose and isn't right on an OSS project.

@niranjan94 cool, i will remove those and fix the travis yml file as well

I tested the code locally. After signing in, the app got crashed because my user.Events.length is 0. The error was found to be in this :
userEvents = Arrays.copyOfRange(userEvents,1,userEvents.length);  // line 50 of EventsActivity.java

@Rishabhk07 @iamareebjamal @Ronak-59 @mejariamol let's merge this now. And for any further bugs, let's open issues on the repo.


Selecting images in small albums

Dragging to select images does not work when there are only a few rows of pictures in an album, which results in div.content not extending to the full height of the page, and the cursor is clicked below div.content. I fiddled a bit and wasn't able to find an easy fix, so maybe it's a fairly involved bug.

Good point. Thanks for letting me know!

This issue will be closed because I'm not actively working on Lychee anymore. The repository of Lychee will stay available, but the main development continues under the Lychee Organisation. A fork maintained by the community. Important issues have been migrated. Feel free to re-add your issue(s) when necessary.


Fix actuator for sample

just trying to fix the sample application so that /actuator/env works, plus update the documentation. Let me know if this makes sense or more comments are needed. thank you.


Why does the required time to erase an object depend on the size of the object?

Hello all,
I tested some s3 API-compatible services and found out, that only with S3ninja, the required time to...

request a list of objects or
erase some objects

depend of the size of the objects.
Is this because of the JavaVM?
I also tried Nimbus Cumulus, Fake S3, Minio, S3rver, Scality, Riak CS and OpenStack Swift and they all do not have this observation.
I used s3cmd for the interaction with S3ninja. I also used the web server software nginx can be used as a proxy. I think this is also the reason why I cannot upload files with a size larger than 1 MB.
Thanks for any help.
Christian

We upload videos (500 MB+) on a regular basis - But the overall performance mainly depends on the file system. Note that s3ninja is not intended for production setups - storing a million objects in a bucket means you end up with two million files in a directory.
Feel free to provide a test case for further investigation.
Also - you might try a readily packaged docker image: https://hub.docker.com/r/scireum/s3-ninja/tags/


rm dead mapping and table demos

removes:

unused mapping panel
deprecated mapping panel for kuka arm (used in @wxmerkt 's MSc)
deprecated planning panel, being ported into oh-distro proper

I'm pretty sure that the mapping and table demo still work. I'll add them as a Kuka-only module (i.e. only loaded when useKuka is true) to oh-distro tomorrow. Otherwise LGTM


Rethink or be careful with usage of term "UDP"

In the context of this project (and outside of it too), we often use the term "UDP" (user-defined process), e.g. in tickets, docs, code etc for reusable openEO processes.
But I think we have to be careful here with this term to not cause more confusion than necessary.
Processes defined (and propagated) here are defined by algorithm providers, not (end) users.
So I would go for  more generic terms like

openEO process definition
openEO process

related:

https://github.com/Open-EO/openeo-api/issues/540

I started applying this in latest writing.
To make a transition, I'm going for "openEO process (UDP)".
That's because an important part of our existing audience is familiar with and expects to see the UDP term.

That's because an important part of our existing audience is familiar with and expects to see the UDP term.

indeed we should certainly mention and clarify the link with the commonly used term "UDP"


Fixed #1085: PathParam in Class @Path Fails to Create Required Parameters for Resource Methods

Implemented types of injection:

Class field
Constructor parameters

please rebase also...

i've merged this in https://github.com/swagger-api/swagger-core/pull/1136

Merged manually.


update from upstream

chore(deps): update actions/download-artifact action to v4.1.7
chore(deps): update rust:1.77.2 docker digest to 76b4fd3
chore(deps): update returntocorp/semgrep docker tag to v1.70.0
chore(deps): update rust:1.77.2 docker digest to 660454d
chore(deps): update rust:1.77.2 docker digest to 8824f00
chore(deps): update rust:1.77.2 docker digest to 491c4b7
chore(deps): update actions/checkout action to v4.1.4
chore(deps): update npm to >=10.6.0
chore(deps): update github/codeql-action action to v3.25.3
chore(deps): update rust:1.77.2 docker digest to 8f891e6
chore(deps): lock file maintenance
chore: always run reporting, even when no changes as reports are mandatory

:tada: This PR is included in version 1.1.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Replace OpenCV JPEG encoding/decoding with simplejpeg for more Performance

Detailed Description

There is a new simplejpeg python package based on recent versions of libturbojpeg implemented for fast JPEG encoding and decoding. This Issue will track its integration into vidgear to replace OpenCV's JPEG encoding/decoding in all Gears.
Context

OpenCV is currently throttling performance in various Network Gears like NetGear, NetGear_Async, WebGear etc. that depends on JPEG encoding and decoding specifically. Therefore we are planning to move to new simplejpeg library that offers some extreme performance improvements over OpenCV, and includes really favorable features like:

Read and write directly from/to memory.
Uses Cython's plain C performance layer above underlying libjpegturbo compression  library, therefore extremely faster than others.
Compatitle with numpy arrays.
standalone.

Your Current Environment

VidGear version:  0.2.1-dev
Branch:  development
Python version:  3.6+
Operating System and version: all

Any Other Important Information

https://gitlab.com/jfolz/simplejpeg

Successfully resolved and merged in commit https://github.com/abhiTronix/vidgear/commit/8996e7abf34e40713996413c19e0facb6b40f1c1

SimpleJPEG successfully integrated into WebGear in commit https://github.com/abhiTronix/vidgear/commit/34d3d3128985b4b371172725319287b2ffcc1aec


Tokio dependency conflict with rust-s3 0.26.4 and warp 0.3

Describe the bug
Tokio async bucket.list fails with the following error:
thread 'tokio-runtime-worker' panicked at 'not currently running on a Tokio 0.2.x runtime.'

To Reproduce
cargo init rust-s3-tokio-conflict
cd rust-s3-tokio-conflict

Cargo.toml
[dependencies]
tokio = { version = "1", features = ["full"] }
warp = "0.3"
rust-s3 = "0.26"

src/main.rs
#[tokio::main]
async fn main() {
  let bucket = s3::bucket::Bucket::new_with_path_style(
    "YOUR_BUCKET",
    s3::region::Region::Custom {
      region: "".into(),
      endpoint: "https://YOUR_DOMAIN".into(),
    },
    s3::creds::Credentials::from_env_specific(
      Some("S3_ACCESS_KEY_ID"),
      Some("S3_SECRET_ACCESS_KEY"),
      None,
      None
    ).unwrap()
  ).unwrap();

  let results = bucket.list("".to_string(), None).await.unwrap();

  println!("{:?}", results);
}

cargo run

Expected behavior
We should be able to use rust-s3 inside a warp 0.3 project.
Environment

rustc 1.52.0
rust-s3 = 0.26.4
minio

Additional context
Downgrading dependencies works but is suboptimal.
[dependencies]
tokio = { version = "0.2", features = ["full"] }
warp = "0.2"
rust-s3 = "0.26"

@kruserr I believe this is now fixed with tokio 1.0 support


Remove files that were moved to minorminer

The following files were copied (with history) from dwave-system to minorminer.  They should be deleted or replaced with deprecated stubs redirecting the user to replace minorminer.utils with dwave.embedding for the exceptions, diagnostic, chimera, and pegasus submodules.
dwave/embedding/chimera.py
dwave/embedding/diagnostic.py
dwave/embedding/exceptions.py
dwave/embedding/pegasus.py
dwave/embedding/polynomialembedder.py
tests/test_embedding_chimera.py
tests/test_embedding_diagnostic.py
tests/test_embedding_pegasus.py
tests/test_polynomialembedder.py

We should likely leave the tests in-place for now.
Also I don't know if we should raise a deprecation. It's not obvious to me if minorminer.utils is a more or less intuitive namespace than dwave.embedding.

Agreed on the deprecation.  But I have some concern that duplicating the tests will be a drag on maintenance, since they don't depend on dwave.embedding at all (except I duplicated the source_to_target function in test_chimera)

@arcondello, I agree. dwave.embedding is much better for now, and tests should verify everything still works from dwave-system perspective as it used to work.


SPARK-8949 - Print warnings when using preferred locations feature

Add warnings according to SPARK-8949 in SparkContext

warnings in scaladoc
log warnings when preferred locations feature is used through SparkContext's constructor

However I didn't found any documentation reference of this feature. Please direct me if you know any reference to this feature.

Can one of the admins verify this patch?

Can one of the admins verify this patch?

@JoshRosen @sryza Done.

jenkins, test this please

Jenkins, this is ok to test.

Merged build triggered.

Merged build started.

Merged build finished. Test FAILed.

Should I rebase this to the master to solve the build fail?

The tests are in an extraordinary flaky state now, so it's unlikely to be caused by your patch, especially since Jenkins tests merge commits.  Let's just retest and see if the problem re-occurs.

Jenkins, retest this please.

Merged build triggered.

Merged build started.

Test build #40527 has started for   PR 7874 at commit 94021b8.

Test build #40527 has finished for   PR 7874 at commit 94021b8.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Merged build triggered.

Merged build started.

Merged build finished. Test FAILed.

Merged build triggered.

Merged build started.

Test build #1667 has started for   PR 7874 at commit 5a7b761.

Test build #41231 has started for   PR 7874 at commit 764a7ba.

Test build #1667 has finished for   PR 7874 at commit 5a7b761.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test build #41231 timed out     for PR 7874 at commit 764a7ba     after a configured wait of 175m.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/41231/
Test FAILed.