Support for all methods of all objects

Currently, some methods of objects are not instantiated because the data type is not yet supported; full support for all methods is desired.

@rreilink Can you give specific data types/methods that aren't supported? It's not very clear from the code/output.
From my searching, the "unimplemented" data types are:
const void*
lv_spinbox_value_changed_cb_t
lv_color_t
const lv_btnm_ctrl_t*
char*
void cb(lv_obj_t *)*
lv_point_t*
lv_chart_series_t*
lv_signal_cb_t
lv_area_t*
const lv_point_t*
const char**
lv_point_t
const lv_color_t*
lv_design_cb_t
lv_event_cb_t
void*
lv_event_t
lv_fit_t
lv_disp_t*

And the unimplemented functions are:
$ grep -e "not implemented" lvglmodule.c | awk '{ print $4}'
lv_obj_set_event_cb:
lv_obj_send_event:
lv_obj_set_signal_cb:
lv_obj_send_signal:
lv_obj_set_design_cb:
lv_obj_animate:
lv_obj_get_disp:
lv_obj_get_coords:
lv_obj_get_signal_func:
lv_obj_get_design_func:
lv_obj_get_group:
lv_cont_set_fit4:
lv_cont_set_fit2:
lv_cont_set_fit:
lv_cont_get_fit_left:
lv_cont_get_fit_right:
lv_cont_get_fit_top:
lv_cont_get_fit_bottom:
lv_imgbtn_set_src:
lv_imgbtn_get_src:
lv_img_set_src:
lv_img_get_src:
lv_line_set_points:
lv_page_set_scrl_fit4:
lv_page_set_scrl_fit2:
lv_page_set_scrl_fit:
lv_page_get_scrl_fit_left:
lv_page_get_scrl_fit_right:
lv_page_get_scrl_get_fit_top:
lv_page_get_scrl_fit_bottom:
lv_chart_add_series:
lv_chart_clear_serie:
lv_chart_init_points:
lv_chart_set_points:
lv_chart_set_next:
lv_btnm_set_map:
lv_btnm_set_ctrl_map:
lv_btnm_get_map:
lv_ddlist_set_fit:
lv_ddlist_get_selected_str:
lv_roller_set_hor_fit:
lv_canvas_set_buffer:
lv_canvas_set_px:
lv_canvas_get_px:
lv_canvas_copy_buf:
lv_canvas_mult_buf:
lv_canvas_draw_circle:
lv_canvas_draw_line:
lv_canvas_draw_triangle:
lv_canvas_draw_rect:
lv_canvas_draw_polygon:
lv_canvas_fill_polygon:
lv_canvas_boundary_fill4:
lv_canvas_flood_fill:
lv_win_add_btn:
lv_win_close_event:
lv_tileview_set_valid_positions:
lv_mbox_add_btns:
lv_gauge_set_needle_count:
lv_spinbox_set_value_changed_cb:

@rreilink I just pulled the changes you made over the weekend into master. So the list above is obviously outdated. Thanks for supporting this!

Yes, currently arrays and similar and callbacks are the main (if not only) missing data types

Can you point me to some resources that explain the process for developing python bindings like this?
From the code I have bit of an understanding but I haven’t done this before so I’m not sure where to start.

I am afraid the way how the code works in general is still to be documented (shame). I've created issue #8 , and I think it makes sense to work on that first (unless you are currently facing roadblocks for the GUI, just let me know in that case). Anyway, these are some points to get started:
The basics of creating Python modules are given here: Python/C API  and Extending and Embedding the Python Interpreter
The code is generated from the template lvglmodule_template.c. However, to skip the binding generation step, I usually work by developing a specific feature in the generated code lvglmodule.c, and then generalizing it to the general case and implementing it in the template (obviously taking care not to regenerate the modified file).


linux.wait_for_ssh should throw on timeout

Previously, we returned False if a timeout was reached which means the action would exit with a zero status code instead of non-zero.
This means that if the action was used inside a workflow, on-success would be called instead of on-failure.
Inside one of out workflows we were lucky, because "retries * sleep delay" was >= default runner action timeout (600 seconds) so the exception was still thrown, but in this case it was because of the runner action timeout.

I didn't want to touch much other functionality, but fine. I will also clean up the logging and stuff.

LGTM


[HOLD #17387] [$1000] Sending or requesting money to an invalid email resulted in irremovable report

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

Action Performed:

Open staging.new.expensify.com
Do a send (or request) money
Set the recipient to an invalid email (ex<EMAIL_ADDRESS>Execute the send (or request) money command and examine what happened on the chat report and LHN

Expected Result:
The problematic report should be able to be removed from the LHN, just like when a report for an invalid email created from "New Chat" that can be removed
Actual Result:
The report generated can't be removed from the chat report and LHN, causing the invalid report to stay on the LHN
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

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

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.3.22-0
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/43996225/82abe0ae-17d9-4f59-b49b-29e92a061568
https://github.com/Expensify/App/assets/43996225/83698492-6612-4ac2-a81e-87b785c3b042
Expensify/Expensify Issue URL:
Issue reported by: @kerupuksambel
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1685624383460229
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01e5663d8563d288dc
Upwork Job ID:<PHONE_NUMBER>255768576
Last Price Increase: 2023-06-12

I was able to recreate this and I believe it would make sense to allow it to be removed from LHN similar to creating a new chat with an invalid email

Proposal
Please re-state the problem that we are trying to solve in this issue.
Sending or requesting money to an invalid email resulted in irremovable report
What is the root cause of that problem?
The root cause of this issue is that the backend doesn't return complete onyxData data to support error handling from frontend.

{
    "code": 666,
    "jsonCode": 666,
    "type": "Expensify\\Error\\Email\\InvalidEmail",
    "UUID": "a9444a52-b2b2-491a-a0a3-3c56c6a16c09",
    "message"<EMAIL_ADDRESS>- is not a valid email address",
    "title": "",
    "data": {
        "emailAddress"<EMAIL_ADDRESS>    },
    "htmlMessage": "",
    "onyxData": [],
    "requestID": "7d2d34dae8ce40b6-SIN"
}

So the frontend just keeps try issuing fetch report API.
What changes do you think we should make in order to solve the problem?
To fix this issue, we should have a backend fix to let send money APIs
https://github.com/Expensify/App/blob/936a3a773cead07916e3a2303e880cf56d8453aa/src/libs/actions/IOU.js#L1112
https://github.com/Expensify/App/blob/936a3a773cead07916e3a2303e880cf56d8453aa/src/libs/actions/IOU.js#L1128
https://github.com/Expensify/App/blob/936a3a773cead07916e3a2303e880cf56d8453aa/src/libs/actions/IOU.js#L1144
return onyxData data when the email is invalid to support error handling on frontend.
The backend should return onyxData data like when we try to chat with an invalid email account, for example
{
    "code": 666,
    "jsonCode": 666,
    "type": "Expensify\\Error\\Email\\InvalidEmail",
    "UUID": "a9444a52-b2b2-491a-a0a3-3c56c6a16c09",
    "message"<EMAIL_ADDRESS>- is not a valid email address",
    "title": "",
    "data": {
        "emailAddress"<EMAIL_ADDRESS>        "onyxData": [
            {
                "onyxMethod": "merge",
                "key": "report_8484099831331605",
                "value": {
                    "errorFields": {
                        "createChat": {
                            "1686019291926459"<EMAIL_ADDRESS>- is not a valid email address"
                        }
                    }
                }
            }
        ]
    },
    "htmlMessage": "",
    "onyxData": [
        {
            "onyxMethod": "merge",
            "key": "report_8484099831331605",
            "value": {
                "errorFields": {
                    "createChat": {
                        "1686019291926459"<EMAIL_ADDRESS>- is not a valid email address"
                    }
                }
            }
        }
    ],
    "requestID": "7d2d4bfdce5040b6-LAX"
}

Then the onyxData report data won't be empty and won't keep issuing fetch report requests.
I think the current frontend should be able to handle the invalid email address error just like it does for chat once we have backend fix to return onyxData report data. We can double check it again after we have backend fix ready.
What alternative solutions did you explore? (Optional)
N/A

@youssef-lr do you agree that this should behave similarly and allow it to be removed from LHN similar to creating a new chat with an invalid email?
If so,
@sobitneupane what is your thought on the proposal that came in?

Agreed @sobitneupane, I'll work on the backend fix.

@youssef-lr do you want me to change this to Internal?

Gonna get to this tomorrow.

Working on a fix either today or tomorrow.

On second thought here, I just noticed that our Str.isValidEmail is actually returning true for<EMAIL_ADDRESS>which is wroen, I tested a different regex from the HTML spec and it works properly. However, changing the regex in https://github.com/Expensify/expensify-common resulted in some mentions tests failing. So I think we actually need to fix this in the frontend, we shouldn't be creating optimistically account and display it in the search result if the email is not valid. Can we explore fixing the regex without breaking any tests?

Thanks @aimane-chnaif! Yeah looks like we can put this on hold. Regardless, an email thrown from the backend should not result in a non-removable report so I will still proceed with a backend fix for future proofing.

Moving to weekly based on HOLD.

Still holding.

Holding!

Still on hold!

Still holding

Still holding.

The PR this issue was held on is live on staging, let's wait for it to hit production then we can remove the hold and re-test.

It's hit production and we no longer have a send function. Additionally, we come up with an error for invalid emails so I'm closing this issue out!

@sophiepintoraetz Apologies for upping this issue, but given the issue is reported by the external reporter, are there any compensation for the issue reporter? Thanks beforehand.

@kerupuksambel - thanks for checking in but not in this case. There wasn't a clear identifiable fix and we also changed the product so that this bug was rendered obsolete.

@kerupuksambel that was before we changed the functionality. I appreciate it's disappointing but we cannot reimburse for a bug report that no longer exists in today's product. You are welcome to keep contributing!


Use new JSON Streaming methods for Invoke-RestMethod

PR Summary
This PR is a "child" PR to: https://github.com/PowerShell/PowerShell/pull/15695
This PR is in good shape but needs tests for the additional parameter on invoke-restmethod for -ashashtable
Essentially if the streaming approach from that PR is approved we can make new methods which take a stream directly instead of the string body. We can then wire up invoke-restmethod so that it takes the response stream and sends it directly to newtonsoft.
This should improve all use-cases of invoke-restmethod but will particularly improve cases where the source API has an array as its root element.

PR Context
This should greatly reduce the memory usage of the invoke-restmethod cmdlets and somewhat reduce the execution time/cpu time.
Benchmarks for a 100MB JSON Response with Array root element (Time to first byte from the API is about 8s so for realistic times subtract 8000ms from each runtime number)
7.1.3:

Memory Usage: 1597 MB
Runtime: 20679.9797 ms
Est Runtime: 12679.9797 ms

ThisPR:

Memory Usage: 718.55 MB
Runtime: 16323.1985 ms
Est Runtime: 8323.1985 ms

ThisPR -AsHashtable:

Memory Usage: 415.41 MB
Runtime: 13592.6211 ms
Est Runtime: 5592.6211 ms

Benchmarks for a 100MB JSON response with Object root element
7.1.3

Memory Usage: 1672.84765625 MB
Runtime: 12771.3602 ms
Est Runtime: 12771.3602 ms

This PR:

Memory Usage: 1489.90625 MB
Runtime: 12222.5628 ms

This PR -AsHashtable

Memory Usage: 1146.078125 MB
Runtime: 11367.9809 ms

Benchmarks for a 12MB JSON Response
7.1.3:

Memory Usage:<PHONE_NUMBER> MB
Runtime: 2553.9797 ms

ThisPR:

Memory Usage:<PHONE_NUMBER>5 MB
Runtime: 1950.1985 ms

Runtime is misleading as I am hitting a real API

PR Checklist

[x] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[x] Summarized changes
[ ] Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
[ ] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: or [ WIP ] to the beginning of the title (the WIP bot will keep its status check at Pending while the prefix is present) and remove the prefix when the PR is ready.

Breaking changes

[ ] None
OR
[ ] Experimental feature(s) needed

[ ] Experimental feature name(s):

User-facing changes

[ ] Not Applicable
OR
[ ] Documentation needed

[ ] Issue filed:

Testing - New and feature

[ ] N/A or can only be tested interactively
OR
[ ] Make sure you've added a new test if existing tests do not effectively test the code changed

Tooling

[ ] I have considered the user experience from a tooling perspective and don't believe tooling will be impacted.
OR
[ ] I have considered the user experience from a tooling perspective and opened an issue in the relevant tool repository. This may include:

[ ] Impact on PowerShell Editor Services which is used in the PowerShell extension for VSCode
(which runs in a different PS Host).

[ ] Issue filed:

[ ] Impact on Completions (both in the console and in editors) - one of PowerShell's most powerful features.

[ ] Issue filed:

[ ] Impact on PSScriptAnalyzer (which provides linting & formatting in the editor extensions).

[ ] Issue filed:

[ ] Impact on EditorSyntax (which provides syntax highlighting with in VSCode, GitHub, and many other editors).

[ ] Issue filed:

@strawgate I believe we have had a consensus that we froze current Json cmdlets based on NewtonSoft and implement new ones based on .Net API.

I looked around a fair amount for information on the status of System.Text.Json and all I found was a couple 2 year old PRs that haven't moved.
My goal was to offer a highly-compatible set of changes that make a big impact on performance while we wait for System.Text.Json. The changes outlined here cut memory usage to 1/4 of what it was previously if the root element is an array and ~25% if it's an object.
If you guys don't want to merge the changes that's totally fine!

@strawgate The main problem is that the MSFT team is too small to review everything PR quickly.
They introduced Working Groups to get more developers from the community. If you want to work on commandlets in this repository, you can join one of the working groups.
The current strategic direction in the C# community is migration from NewtonSoft.JsonNet to System.Text.Json API. NewtonSoft has been found to be out of development. All new developers should be on System.Text.Json API.
It doesn't make sense to invest much in code based on NewtonSoft.JsonNet, only security issues, simple bugs/perfs.
If you are interested in working on these commandlets, the current conclusion is to implement new commandlets based on the System.Text.Json API as experimental features. You can grab my PRs then I could review your PRs.

I've been using https://www.mockaroo.com/ to generate random json data with numbers, dates, etc and have been using http://www.jsondiff.com/ to do a semantic compare between the 7.1.3 cmdlets and the ones in this PR. So far so good!

@strawgate The main problem is that the MSFT team is too small to review everything PR quickly.
They introduced Working Groups to get more developers from the community. If you want to work on commandlets in this repository, you can join one of the working groups.
The current strategic direction in the C# community is migration from NewtonSoft.JsonNet to System.Text.Json API. NewtonSoft has been found to be out of development. All new developers should be on System.Text.Json API.
It doesn't make sense to invest much in code based on NewtonSoft.JsonNet, only security issues, simple bugs/perfs.
If you are interested in working on these commandlets, the current conclusion is to implement new commandlets based on the System.Text.Json API as experimental features. You can grab my PRs then I could review your PRs.

I can't find information on joining a specific working group, is that info available somewhere?

I can't find information on joining a specific working group, is that info available somewhere?

You could e-mail directly @joeyaiello and @SteveL-MSFT.

Converted to draft, please marks as ready for review when the parent PR is merged.

I think this PR will be abandoned as there is no interest in improving the performance of the existing cmdlets due to backwards compatibility concerns.

I think this PR will be abandoned as there is no interest in improving the performance of the existing cmdlets due to backwards compatibility concerns.

All this could be in new experimental cmdlets based on System.Text.Json API.


toZod (v3.0.0) is unable to infer union

type ContrivedType = 1 | -1 | null;
const contrivedZod: toZod<ContrivedType> = z.union([z.literal(1), z.literal(-1), z.null()]);

ts complains:
Type 'ZodUnion<[ZodLiteral<1>, ZodLiteral<-1>, ZodNull]>' is not assignable to type 'ZodNullable<never> | ZodNullable<never>'.
  Property 'unwrap' is missing in type 'ZodUnion<[ZodLiteral<1>, ZodLiteral<-1>, ZodNull]>' but required in type 'ZodNullable<never>'.

If you remove toZod and do z.infer:
type ContrivedTypeInfer = z.infer<typeof contrivedZod>;

The inferred type is exactly type ContrivedTypeInfer = 1 | -1 | null

Potential dupe of #4 but this is much simpler with union of primitives rather than full types.


Move fade operations to shader program?

Moving the fade operations to the shader/GPU-side should simplify things greatly on the CPU-side. The code is exactly the same regardless of fading in or out on the CPU and the full screen effect amounts to a single call to lerp on the GPU.
CPU-side:
https://github.com/cugone/Roguelike/blob/c8fcc8f029bd4ca0232e9acf05e102f4e4977c75/Roguelike/Code/Game/Game.cpp#L515
GPU-side:
https://github.com/cugone/Roguelike/blob/master/Roguelike/Run_x64/Data/ShaderPrograms/Fullscreen.hlsl

It's not clear to me this would significantly simplify things. As it stands now, the fade code draws a semi-transparent rectangle over the screen, which from my understanding, would be done on the GPU.
I'm probably not in a great position to comment much on the graphics code, though what you linked looks more complicated than what we have, and I'm concerned the *g_theRenderer->GetDeviceContext() part may be getting into realm of platform specific code, which I would like to avoid.
I should also mention that we're not currently experiencing any sort of performance problem, and for a turn based game, we're not likely to ever hit a graphics performance problem. A graphics performance improvement would need to be weighed against added code complexity, with a strong bias against adding significant code complexity.


Allow preloading pgtt in session_preload_libraries

The module is now lazily loaded when it might be needed (after parse analysis, before executor startup and before utility statements execution), and all the code is simply bypassed if the underlying extension has not been created.

This could be a way to fix #20


Non-ROOT context working?

I've tried following the documentation for Deploying OpenWayback in non ROOT Context without success.
Specifically, it never works at /mycontext/wayback/. However, if I omit the trailing wayback/ it does work at /mycontext/:
<bean name="standardaccesspoint" class="org.archive.wayback.webapp.AccessPoint">
<property name="accessPointPath" value="/${wayback.url.context}/"/>
    ...
    <property name="replayPrefix" value="/${wayback.url.context}/" />
    <property name="queryPrefix" value="/${wayback.url.context}/" />
    <property name="staticPrefix" value="/${wayback.url.context}/" />
    ...
    <property name="replayURIPrefix" value="/${wayback.url.context}/"/>
    ...

Has anyone got it working as per the documentation?

Scratch that; PEBKAC.


Icons, Speedo, Battery Level

I have adjusted the following.

Widget.dart to allow title icon
Added icons to the main menu
Fetching data from
//SETTINGS	0x03	0x00
//RIDE		0x02	0x03
//MOTION	0x02	0x01
Renamed data variables
Allowed to fetch data variables from different ids (This is so in future we can fetch anything from the bike)
Faster polling times.
Prevent writeStateData, affecting polling.
On toggle battery/speedometer, It will change its metrics to Voltage or Miles Per Hour.

Accidentally created one,
will re-create a pull request.

It's looking good! I've had a few more suggestions.

Thanks.
Will adjust the jank that I wrote on early next week.

Closed PR till all the jank is resolved.

Thanks for the feedback.
I have made some changes with the toggle, and created more functions for the Bike State for the future.
_speedKM
_speedMI
_currentRange
_batteryPercentage
_batteryVoltage


when receive() raise ConnectionClosed, it ignores contents in input_buffer

https://github.com/miguelgrinberg/simple-websocket/blob/6f92764754550fc85b25e42182050c1e6636a41d/src/simple_websocket/ws.py#L114
Can we release input_buffer contents to receiver before raise ConnectionClosed? The code should looks like this:
def receive(self, timeout=None):
    """Receive data over the WebSocket connection.

    :param timeout: Amount of time to wait for the data, in seconds. Set
                    to ``None`` (the default) to wait indefinitely. Set
                    to 0 to read without blocking.

    The data received is returned, as ``bytes`` or ``str``, depending on
    the type of the incoming message.
    """
    while self.connected and not self.input_buffer:
        if not self.event.wait(timeout=timeout):
            return None
        self.event.clear()
    if not self.connected:  # pragma: no cover

       if not self.input_buffer.empty():

          return self.input_buffer.pop(0)
      raise ConnectionClosed(self.close_reason, self.close_message)
  return self.input_buffer.pop(0)

the added code should be:
if not self.input_buffer:
    return self.input_buffer.pop(0)

Yes, I think this is a reasonable change. I'll look into it.

Thanks @miguelgrinberg. We can test both #29 and #30 at the same time.

Hey @miguelgrinberg we've been using 6c87abe22215c45b3dc0dadc168c3dd061eb2aa4 successfully for the past few days


按tag搜图和按画师搜图报错，随机发图数量错误

按tag搜图报错

按画师搜图报错

随机发图数量错误

还没适配Nonebot2.0正式版，最近没什么空，可能得咕一段时间

From: TU-O0T @.>
Sent: Friday, June 9, 2023 9:34:05 PM
To: bot-ssttkkl/nonebot-plugin-pixivbot @.>
Cc: Subscribed @.***>
Subject: [bot-ssttkkl/nonebot-plugin-pixivbot] 按tag搜图和按画师搜图报错，随机发图数量错误 (Issue #178)
[image]https://user-images.githubusercontent.com/110141765/244705818-1f219005-0c76-4e85-a4c1-d46bd4194b5c.png
按tag搜图报错
[image]https://user-images.githubusercontent.com/110141765/244705693-691eaf46-b66d-4346-a0f9-7016ff7968ec.png
按画师搜图报错
[G(~N8 1T%BHYB 1TJ358RUD]https://user-images.githubusercontent.com/110141765/244705997-395d1d2d-130d-40ea-bcc8-e937a26836b8.png
随机发图数量错误
―
Reply to this email directly, view it on GitHubhttps://github.com/bot-ssttkkl/nonebot-plugin-pixivbot/issues/178, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AEEHL4RWM6QOCW2PWB6YF2LXKMQ43ANCNFSM6AAAAAAZAVF4GU.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

1.9.0版本已修复


learn clap library ,and use it for us

clap is cli argument  parser  library.
as:
/rg/src/cmds/conf.rs
/rg/src/cmds/start.rs

doing

How is the work progressing?

start working

remark
cli use in18 . but ,i don't  how to get system language in rust

Do you have some code for push ?

I‘m not in this group，I just fork a branch in my oner project

the clap is easy to config command with .yaml file


Added background-repeat option

The generated icons looked funky because they would repeat to fill the space they were allotted. This option adds the background-repeat option that can be set to "no-repeat" so that the icons don't repeat.

Coverage increased (+0.3%) to 97.59% when pulling 0ea45ef1d62691fb8380ed35a52ce57671372233 on kurkowski:master into 6bfdafe3723002a3c2db82bcb9b82f2d87bb536e on sdl:master.

@kurkowski Thanks for the PR.
I don't think having this options adds a lot of value to the project. It also increases the size of the output. My idea was only to put data which comes from processing the image inside the generated rules.
In you application you could do:
Option 1
.no-repeat {
   background-repeat:
}

Option 2
Create the same css rule as in option 1.
Use gulp-css-prefix and append all classes with ".no-repeat".
Looking at the options it should be possible using the "parentClass" option.

Well, it increases the size of the output if you specifically pass the option in. Otherwise, it's the same thing as before. In my scenario, it's much easier doing it this way than finding every place we use icons and adding a no-repeat class or adding another plugin to append all classes with ".no-repeat".
I'll close this though if you don't see any value. Thought I'd give it a try.
Thanks


CodeQL breaks iOS builds

Hi,
I'm trying to roll out CodeQL scanning to some of our iOS (swift) repositories and I have issues with CodeQL breaking the build steps. The same steps that succeed by themselves will fail when CodeQL init is added before them.
If I run this workflow with CodeQL step commented out, it succeeds:
name: CodeQL

on:
  push:
    branches: [ master, main ]
  pull_request:
    branches: [ master, main ]
  schedule:
  - cron: 30 12 * * 3
jobs:
  analyze:
    strategy:
      matrix:
        language: [ 'swift' ]
    runs-on: ['self-hosted', 'arm64', 'macOS', 'xcode-15.3']
    permissions:
      actions: read
      contents: read
      security-events: write
    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - name: Checkout vend actions
        uses: actions/checkout@v4
        with:
          repository: vend/github-actions
          ref: 'master'
          token: ${{ <redacted> }}
          path: xs-actions
#      - name: Initialize CodeQL
#        uses: github/codeql-action/init@v3
#        with:
#          languages: ${{ matrix.language }}
      - name: Setup Git and iOS dependencies
        uses: './xs-actions/.github/actions/ios_setup'
        with:
          install-gemfile-deps: "true"
          install-rbenv: "true"
          install-rosetta: "true"
          skip-xcode-macro-validation: 'true'
          ssh-private-key: ${{ <redacted> }}
      - name: Run fastlane test command
        uses: './xs-actions/.github/actions/ios_fastlane-run'
        with:
          fastlane-lane: 'test'

However once CodeQL init portion is uncommented I get this error in the "Setup Git and iOS dependencies" step:
Run /usr/sbin/softwareupdate --install-rosetta --agree-to-license
  /usr/sbin/softwareupdate --install-rosetta --agree-to-license
  shell: /bin/bash --noprofile --norc -e -o pipefail {0}
  env:
    CODEQL_ACTION_FEATURE_MULTI_LANGUAGE: false
    CODEQL_ACTION_FEATURE_SANDWICH: false
    CODEQL_ACTION_FEATURE_SARIF_COMBINE: true
    CODEQL_ACTION_FEATURE_WILL_UPLOAD: true
    CODEQL_ACTION_VERSION: 3.25.10
    JOB_RUN_UUID: 9ffea00d-6649-4691-8625-ddbf1bf0db6b
    CODEQL_ACTION_INIT_HAS_RUN: true
    CODEQL_ACTION_ANALYSIS_KEY: .github/workflows/codeql-analysis-swift.yml:analyze
    CODEQL_WORKFLOW_STARTED_AT: 2024-06-18T02:34:54.572Z
    CODEQL_RAM: 14950
    CODEQL_THREADS: 8
    CODEQL_SCRATCH_DIR: /Users/admin/actions-runner/_work/_temp/codeql_databases/working
    CODEQL_VERBOSITY: warnings
    CODEQL_DIST: /Users/admin/actions-runner/_work/_tool/CodeQL/2.17.5/arm64/codeql
    CODEQL_PLATFORM: osx64
    CODEQL_PLATFORM_DLL_EXTENSION: .dylib
    CODEQL_JAVA_HOME: /Users/admin/actions-runner/_work/_tool/CodeQL/2.17.5/arm64/codeql/tools/osx64/java-aarch64
    CODEQL_EXTRACTOR_SWIFT_ROOT: /Users/admin/actions-runner/_work/_tool/CodeQL/2.17.5/arm64/codeql/swift
    CODEQL_EXTRACTOR_SWIFT_WIP_DATABASE: /Users/admin/actions-runner/_work/_temp/codeql_databases/swift
    CODEQL_EXTRACTOR_SWIFT_DIAGNOSTIC_DIR: /Users/admin/actions-runner/_work/_temp/codeql_databases/swift/diagnostic/extractors/swift
    CODEQL_EXTRACTOR_SWIFT_LOG_DIR: /Users/admin/actions-runner/_work/_temp/codeql_databases/swift/log
    CODEQL_EXTRACTOR_SWIFT_SCRATCH_DIR: /Users/admin/actions-runner/_work/_temp/codeql_databases/swift/working
    CODEQL_EXTRACTOR_SWIFT_TRAP_DIR: /Users/admin/actions-runner/_work/_temp/codeql_databases/swift/trap/swift
    CODEQL_EXTRACTOR_SWIFT_SOURCE_ARCHIVE_DIR: /Users/admin/actions-runner/_work/_temp/codeql_databases/swift/src
    CODEQL_EXTRACTOR_SWIFT_THREADS: 8
    CODEQL_EXTRACTOR_SWIFT_RAM: 14950
    CODEQL_TRACER_LOG: /Users/admin/actions-runner/_work/_temp/codeql_databases/log/build-tracer.log
    CODEQL_TRACER_DIAGNOSTICS_DIR: /Users/admin/actions-runner/_work/_temp/codeql_databases/diagnostic/tracer
    SEMMLE_COPY_EXECUTABLES_ROOT: /Users/admin/actions-runner/_work/_temp/codeql_databases/working/copy-root
    CODEQL_TOOL_PATH: /Users/admin/flutter:/Users/admin/flutter/bin/:/Users/admin/flutter/bin/cache/dart-sdk/bin:/Users/admin/.rbenv/shims:/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/Users/admin/android-sdk/cmdline-tools/latest/bin:/Users/admin/android-sdk/platform-tools:/Users/admin/android-sdk/emulator
    CODEQL_TRACER_LANGUAGES: swift
    SEMMLE_PRELOAD_libtrace: /Users/admin/actions-runner/_work/_tool/CodeQL/2.17.5/arm64/codeql/tools/osx64/libtrace.dylib
    CODEQL_RUNNER: /Users/admin/actions-runner/_work/_tool/CodeQL/2.17.5/arm64/codeql/tools/osx64/runner
    DYLD_INSERT_LIBRARIES: /Users/admin/actions-runner/_work/_tool/CodeQL/2.17.5/arm64/codeql/tools/osx64/libtrace.dylib
    SSH_AUTH_SOCK: /var/folders/zt/b4_8gf3n2wn8ylvm8wy7svc00000gn/T//ssh-sx7Xfm7bN6Bu/agent.1708
    SSH_AGENT_PID: 1711
Installing Rosetta 2 on this system is not supported.
Error: Process completed with exit code 1.

If I try to move CodeQL init after the "Setup Git and iOS dependencies" step, then the next step breaks - there are too many log lines to post here, but this is the error that occurs at fastlane step when CodeQL init is included just before it:
/Users/admin/actions-runner/_work/iOS.MobileSelling/iOS.MobileSelling/<redacted>/<redacted>:16:16: external macro implementation type 'DependenciesMacrosPlugin.DependencyClientMacro' could not be found for macro 'DependencyClient()'

    public let startAuthSession: @Sendable (_ domain: String) async throws -> AuthenticatedSession

It looks like CodeQL init is doing something that is making Rosetta 2 installation and subsequent fastlane compilation fail.

Hi @ls-valentinas-bakaitis 👋
Thanks for opening this issue. We rely on Rosetta 2 being installed on an arm-based macOS runners for CodeQL to work correctly. CodeQL should only be initialised as late as possible in your workflow (i.e. after all setup steps, but before the actual build starts), so putting it after your "Setup Git and iOS dependencies" step makes sense.
If I understand correctly, with that ordering, Rosetta 2 gets installed successfully?
We would probably need to see more of the logs to understand what's causing the issue in the fastlane step later on. If you can share more publicly here, then that would be great. Otherwise, you can open a support ticket referencing this issue and we can pick things up from there.

@mbg Thank you, it might be easier via a support ticket - I have opened one (ID 2847745), however I was unable to provide complete logs with it as they were too big and the ticket form wouldn't accept them. Please let me know on that ticket what is the best way forward.

@jakobholmgrenhiq: 👋 No worries for asking here -- since you have been able to share your logs already, I don't currently see any reason for you to open a support ticket. I have read through the discussion in #2043 as well. Currently, it's unclear what the issue that @ls-valentinas-bakaitis is facing is, so I can't say whether you have the same issue or not. I will post an update once that one is resolved.
In the meantime, a few suggestions:

Could you confirm whether you are running the above workflow on a GitHub-hosted runner or your own?
If it is your own runner, you could try to (temporarily) disable SIP on it to rule out whether that interferes with something.

@mbg Hi, I have attached the logs to the support ticket  (ID 2847745). Thanks!

@redsun82 I didn't manage to reply to the ticket in time and it auto-closed. I have replied and reopened it now. This issue is still relevant and we still don't have CodeQL working in our iOS repositories.

👋 @ls-valentinas-bakaitis sorry to hear that! Sorry if I'm a bit confused about the error of the build, as sifting through this issue I see three different errors being mentioned:

Installing Rosetta 2 on this system is not supported (but I understand that was overcome by moving Initialize CodeQL after the setup step, which is a good move)
a compile error: external macro implementation type 'DependenciesMacrosPlugin.DependencyClientMacro' could not be found for macro 'DependencyClient()'
getting stuck on codesign

The latter might be worked around by passing CODE_SIGNING_REQUIRED=NO CODE_SIGNING_ALLOWED=NO to xcodebuild (which I'm not exactly sure how to do when using fastlane)

@redsun82 I am experiencing the compile errors like this one:
external macro implementation type 'DependenciesMacrosPlugin.DependencyClientMacro' could not be found for macro 'DependencyClient()'

There are more like it in the log, but they all look similar. Note that when I remove the github/codeql-action/init step - the build works. So it seems like something that CpdeQL init action does is breaking the build.
I have attached the logs to the support ticket (ID 2847745) - these are private jobs in private repos so I don't want to share them publicly, but happy to share them privately.

@redsun82 another log entry that appears in our workflow logs is this:
2024-08-25T21:35:41.4434700Z Could not determine current commit SHA using git. Continuing with data from user input or environment. dyld[1492]: terminating because inserted dylib '/Users/admin/actions-runner/_work/_tool/CodeQL/2.18.2/arm64/codeql/tools/osx64/libtrace.dylib' could not be loaded: tried: '/Users/admin/actions-runner/_work/_tool/CodeQL/2.18.2/arm64/codeql/tools/osx64/libtrace.dylib' (fat file, but missing compatible architecture (have 'x86_64,arm64', need '')), '/System/Volumes/Preboot/Cryptexes/OS/Users/admin/actions-runner/_work/_tool/CodeQL/2.18.2/arm64/codeql/tools/osx64/libtrace.dylib' (no such file), '/Users/admin/actions-runner/_work/_tool/CodeQL/2.18.2/arm64/codeql/tools/osx64/libtrace.dylib' (fat file, but missing compatible architecture (have 'x86_64,arm64', need ''))
2024-08-25T21:35:41.4439430Z dyld[1492]: tried: '/Users/admin/actions-runner/_work/_tool/CodeQL/2.18.2/arm64/codeql/tools/osx64/libtrace.dylib' (fat file, but missing compatible architecture (have 'x86_64,arm64', need '')), '/System/Volumes/Preboot/Cryptexes/OS/Users/admin/actions-runner/_work/_tool/CodeQL/2.18.2/arm64/codeql/tools/osx64/libtrace.dylib' (no such file), '/Users/admin/actions-runner/_work/_tool/CodeQL/2.18.2/arm64/codeql/tools/osx64/libtrace.dylib' (fat file, but missing compatible architecture (have 'x86_64,arm64', need ''))

It doesn't seem to stop the run though, so I'm not sure if it's related or not 🤔

hi @ls-valentinas-bakaitis thanks for reaching back.
It seems like there's a problem with injecting our tracer into some binaries (I see at least df and git being problematic in the logs). While this doesn't stop the build right away, there may be other instances preventing the build system from gathering correct information about the environment. On my machine both df and git are being reported by lipo -info as being fat binaries with x86_64 and arm64e architectures. While arm64e is problematic for us, if both architectures are present in the file this should not be a problem, so long as we get to run in x86_64 mode using Rosetta.
What I would check next, is

the output of lipo -info $(which df) and lipo -info $(which git). If the two only have arm64e for some reason, then we have no chance of executing them within a traced build.
whether you can force x86_64 mode by encapsulating the build in an arch -x86_64 command. I think this could also be achieved by using shell: arch -x86_64 bash -eu -o pipefail instead of shell: bash in the action steps triggering the build.

I'm afraid that if it's an arm64e compatibility problem, there's nothing much more we can do at this time: we're discussing workarounds or more principled solutions, and we want to have a better support for Apple silicon, but we don't have a concrete roadmap to get there yet.

@redsun82
both df and git seem to have x86 and arm architectures:
Architectures in the fat file: /bin/df are: x86_64 arm64e
Architectures in the fat file: /usr/bin/git are: x86_64 arm64e

I did try using the shell: arch -x86_64 bash -eu -o pipefail shell, but it seems like our build process doesn't work on x86 regardless if code scanning steps are added or not.
Thank you for your help confirming that it's not going to work at this time.
I understand that there is no easy fix, but Apple discontinued intel based machines a little while ago and we need a way to run code-ql on Apple silicon. Once GitHub starts working on this problem - I would be more than happy to help do some beta testing.

Hey 👋,  I'm the product manager looking over Swift support. I just wanted to reach out to confirm that for the time CodeQL will continue to require Rosetta to work. We don’t have any very short term plans to support Apple silicon, but we will continue to track this internally and reach out when we start work on that project.

@coadaflorin thank you! We have decided to use a third party tool for iOS scanning in the meantime, but would be very interested to try CodeQL for iOS again once it has support for Apple silicon. Let us know if you need beta testers. We have quite a few iOS repos and would love to try it out once it's ready.


Monthly export of emails and stats for newsletter

@alanna needs a monthly export of email addresses to import into mailchimp for the newsletter.
This is the query
-- Export email for newsletter
SELECT "createdAt", "firstName", "lastName", email
FROM "Users"
WHERE "newsletterOptIn" IS TRUE
  AND "createdAt" >= '2019-11-01'
  AND "deletedAt" IS NULL

I've been doing this manually but I'm not always available when this has to be done and it has been problematic in the past. Can anyone take it over? (and hopefully at some point find a way to automate this?)
Another thing that needs to be done is the export of the monthly stats.
This can be done by running
npm run export:csv (with the proper PG_DATABASE env variable)
Also make sure to adapt the OC_GOOGLE_DRIVE env variable properly if needed:
const GoogleDrivePath = process.env.OC_GOOGLE_DRIVE || `${process.env.HOME}/Google\ Drive/Open\ Collective`;`

This will populate the monthly stats and put them in the public drive (https://drive.opencollective.com).

I'll take care of the one for 2020-01, I'll close this if I don't encounter any issue.

Can we write that documentation somewhere out of this issue?

I've updated https://docs.opencollective.com/help/internal/newsletter with these information

Closing then.


Build Errors - Win10 VS2015 oF 0.9.2

Getting 195 errors and 49 warnings when trying to just open the example and build it. Many are syntax errors in oftypes.h,  oflog.h, concrt.h, ofparameter.h, ofpath.h, etc.
Let me know if you can repro, if not I can upload the output.
Specs:
Windows 10
nVidia 970M
VS2015 Community
oF 0.9.2

Ah, didn't import ofxGui properly.


Add point cloud rendering example

What problem does this solve or what need does it fill?
Like Gizmos and Wireframes, point cloud rendering is useful for debugging purposes and prototyping.
Moreover some types of data might require point cloud rendering for visualization, including but not limited to:

Photogrammetry data
Scientific & Statistics data

There are crates like bevy_mod_billboard that could solve your issue. I believe there are also efforts to upstream billboards or to implement them as parts of the gizmos api.


mxnet.numpy and numpy differ regarding binary op result type with broadcast 0-dim array input

Description
I discovered this issue when troubleshooting a unittest failure of ./tests/python/unittest/test_numpy_op.py::test_np_standard_binary_funcs.  The command-line repro is given in the steps to reproduce section below.  The test involves adding 2 operands, one with dtype float16, the other of dtype float64.
The standard numpy (onp below) has a somewhat strange behavior when one of the inputs is broadcast: if the broadcast input is a 0-dim array comprising a single scalar, then the output dtype will be the dtype of the other input, and the scalar is cast to that other input's precision.  However, if the broadcast input is a 1-element array of shape (1,), then the output has the dtype of the most precise input, and the least precise input is cast-up to that precision.
MXNet's numpy does not match this behavior: in both cases the output is cast-up to the highest precision.
See the sequence below.  The lines a_onp + b_onp and a_np + b_np match, showing the same behavior when broadcasting a 1-element array.  However, the lines a2_onp + b_onp and a2_np + b_np do not match, showing a different behavior when broadcasting a 0-dim array:
$ python
Python 3.8.10 (default, Nov 26 2021, 20:14:08)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy as onp
>>> a_onp = onp.array([-0.5456035234182584], dtype=onp.float64)              # dim-1 array
>>> b_onp = onp.array([0.54833984, 0], dtype=onp.float16)
>>> a_onp + b_onp
array([ 0.00273632, -0.54560352])
>>> type(a_onp + b_onp)
<class 'numpy.ndarray'>
>>> (a_onp + b_onp).dtype
dtype('float64')
>>> a2_onp = onp.array(-0.5456035234182584, dtype=onp.float64)               # dim-0 array
>>> a2_onp + b_onp
array([ 0.00293, -0.5454 ], dtype=float16)                                   # numpy 'ground truth' for issue
>>> import mxnet.numpy as np
>>> a_np = np.array([-0.5456035234182584], dtype=np.float64)                 # dim-1 array
>>> b_np = np.array([0.54833984, 0], dtype=np.float16)
>>> a_np + b_np
array([ 0.00273632, -0.54560352], dtype=float64)                             # mxnet.numpy matches numpy
>>> type(a_np + b_np)
<class 'mxnet.numpy.ndarray'>
>>> (a_np + b_np).dtype
dtype('float64')
>>> a2_np = np.array(-0.5456035234182584, dtype=np.float64)                  # dim-0 array
>>> a2_np + b_np
array([ 0.00273632, -0.54560352], dtype=float64)                             # mxnet.numpy differs from numpy 'ground truth'

Steps to reproduce
MXNET_TEST_SEED=1117974739 pytest --verbose -s tests/python/unittest/test_numpy_op.py::test_np_standard_binary_funcs[lshape6-rshape6-add-add-True-numeric-\<lambda\>-None--1.0-1.0]

Error Message
Partial output:
E       AssertionError:
E       Items are not equal:
E       Error 1.495529 exceeds tolerance rtol=1.000000e-02, atol=1.000000e-04 (mismatch 16.666667%).
E       Location of maximum error: (0, 0), a=0.00273632, b=0.00292969
E        ACTUAL: array([[ 0.00273632,  0.04570507, -0.57712818],
E              [-0.14863087, -1.35322071, -0.93403126]])
E        DESIRED: array([[ 0.00292969,  0.04589844, -0.57714844],
E              [-0.1484375 , -1.35351562, -0.93359375]])

Environment
Ubuntu 20.04.  Recent master build.  Failure of cpu test, so GPU config not relevant.

In general we want to conform to the array API standard. While fp16 is not in the array standard yet, I tried the same with ints and the same discrepancy exists.
In [17]: onp.array(-2, dtype=onp.int64) + onp.array([2, 0], dtype=onp.int16)
Out[17]: array([ 0, -2], dtype=int16)

In [18]: onp.array([-2], dtype=onp.int64) + onp.array([2, 0], dtype=onp.int16)
Out[18]: array([ 0, -2])

In [19]: np.array(-2, dtype=onp.int64) + np.array([2, 0], dtype=onp.int16)
Out[19]: array([ 0, -2], dtype=int64)

In [20]: np.array([-2], dtype=onp.int64) + np.array([2, 0], dtype=onp.int16)
Out[20]: array([ 0, -2], dtype=int64)

According to the type promotion rules in array API standard, mxnet's current behavior is desired.

Type promotion rules must apply when determining the common result type for two array operands during an arithmetic operation, regardless of array dimension. Accordingly, zero-dimensional arrays must be subject to the same type promotion rules as dimensional arrays.

@rgommers do you expect this to become a problem for API standard adoption on the numpy side?

@rgommers do you expect this to become a problem for API standard adoption on the numpy side?

Type promotion in NumPy has a lot of weird corner cases. Right now there's an effort to get rid of those, including value-based casting. A draft NEP (Numpy Enhancement Proposal) was just posted<EMAIL_ADDRESS>Type casting issues are the most important reason for why we added array API support as a separate namespace (numpy.array_api), even though we initially aimed for the main namespace. I'm hoping we can resolve those, but with the deprecation policy that will take at least 2 more releases (and perhaps more, because it is hairy), so adding array API standard support to the main numpy namespace is still a long-term goal but not an easy fix.
Many of the issues like the 0-D array special-casing brought up here continue to yield bug reports in NumPy itself and downstream libraries, and are design problems that shouldn't be emulated but needed fixing already before we designed the array API standard.

@rgommers do you expect this to become a problem for API standard adoption on the numpy side?

To clarify, let me also say: numpy.array_api is 100% complete and compliant already, CuPy has a matching namespace (cupy.array_api) and there's work ongoing on scikit-learn and SciPy to use that array API standard support. So I'd say that NumPy has already adopted the standard.
For MXNet I think it makes sense to not emulate the separate array_api module, but do it in the main namespace. The differences are (almost) all either naming things or design warts in NumPy. PyTorch is also adding support in its main namespace.

@DickJC123 to sum up this should be a bug in numpy and they need to fix the type promotion. We can use the array API namespace for comparison in tests.


Angular dependency not defined  in Mean 0.3~ master

I needed the socket functionality from the 0.4 branch and its working perfectly fine. Managed to get 1 to 1 messaging working between users by saving socket id's in the user model.
Anyways, in order to get it running, I added the 'Socket' dependency into my angular controller to the module 'socket' as follows :
 angular.module('networks').controller('NetworksController', ['$scope','Socket',     '$stateParams','$http','$location', 'Authentication', 'Networks',
function($scope, Socket, $stateParams,$http,$location, Authentication, Networks) {
after doing so, I took out some code from this and decided to create a service in the same angular module as follows :
angular.module('socket').service('NotifFactory', [Socket, function(Socket) {
However this gives me an error - Socket is not defined
Why does this happen and how can we fix this ?

@karan-kapoor90 have you tried using angular socket provider like https://github.com/btford/angular-socket-io then declare the module ['btford.socket-io'] ?
Should work perfectly

That wasn't the issue. Never mind. Fixed it. Thanks.


Allow use jenkins swarm plugin

https://wiki.jenkins-ci.org/display/JENKINS/Swarm+Plugin

I seem swarm plugin is very wonderful!  And, there is chemistry between it and docker.
So, goodbye current using sshd step :put_litter_in_its_place: and hello swarm plugin :clap: .

Solved


Cannot ignore auto linking of un-supported library

Environment
System:
OS: macOS 10.15.4
CPU: (16) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
Memory: 3.15 GB / 32.00 GB
Shell: 5.7.1 - /bin/zsh
Binaries:
Node: 14.2.0 - ~/.volta/tools/image/node/14.2.0/6.14.4/bin/node
Yarn: 1.22.0 - ~/.volta/tools/image/yarn/1.22.0/bin/yarn
npm: 6.14.4 - ~/.volta/tools/image/node/14.2.0/6.14.4/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
Managers:
CocoaPods: 1.9.1 - /usr/local/bin/pod
SDKs:
iOS SDK:
Platforms: iOS 13.5, DriverKit 19.0, macOS 10.15, tvOS 13.4, watchOS 6.2
Android SDK:
API Levels: 27, 28, 29
Build Tools: 27.0.3, 28.0.3, 29.0.0
System Images: android-28 | Google Play Intel x86 Atom, android-R | Google APIs Intel x86 Atom
Android NDK: Not Found
IDEs:
Android Studio: 3.4 AI-183.6<IP_ADDRESS>22156
Xcode: 11.5/11E608c - /usr/bin/xcodebuild
Languages:
Java: 1.8.0_212 - /usr/bin/javac
Python: 2.7.16 - /usr/bin/python
npmPackages:
@react-native-community/cli: Not Found
react: 16.11.0 => 16.11.0
react-native: 0.62.2 => 0.62.2
npmGlobalPackages:
react-native: Not Found
Issue
I'm first integrated react-native-vector-icons by some manuals steps, since the autolinking is not supported for the macOS platform yet, however, now I'm trying to integrate react-native-navigation and that does require that I do a pod install in the macos directory, but since RNVectorIcons is not supported the entire linking fails.
I tried adding a ignore entry in the react-native.config.js file:
/**
 * This cli config is needed for development purposes, e.g. for running
 * integration tests during local development or on CI services.
 */

const path = require(`path`);
const blacklist = require(`metro-config/src/defaults/blacklist`);

const rnmPath = path.resolve(__dirname, `node_modules/react-native-macos`);

module.exports = {
  resolver: {
    extraNodeModules: {
      'react-native': rnmPath,
    },
    platforms: [`macos`, `ios`, `android`],
    blacklistRE: blacklist([/node_modules\/react-native\/.*/]),
  },
  dependencies: {
    'react-native-vector-icons': {
      platforms: {
        macOS: null,
      },
    },
  },
};

Steps to Reproduce

Modify react-native.config.js like I did above, that is, to ignore vector-icons package
Add react-native-vector-icons via npm or yarn
cd into macOS
do pod install

Expected Behavior
The incompatible package is ignored and the other packages can be linked like normal
Actual Behavior
The pod installation fails and nothing gets installed

I have actually hit this issue myself.   A fix is to contribute to the react-native-vector-icons repo a change to add :osx to its podspec.   But if there is a way to override the incompatible packages, I don't know.   @alloy : do you know if this is possible?
Thanks!

If you don’t need react-native-vector-icons for your macOS target, try explicitly activating it in your Podfile only in your iOS target definition:
target "my iOS target" do
  pod "react-native-vector-icons" # ...
end

target "my macOS target" do
  # ...
end

If you do need it for macOS, you will have to update its podspec to list :osx support, as @tom-un` said, there’s alas no way around that.
PS: This PR will make it so dependencies that don’t support :osx don’t get activated in macOS targets when auto-linking https://github.com/react-native-community/cli/pull/1126

@alloy doesn't seem to be working, I added the following:
  target 'tempomat-iOS' do
    platform :ios, '9'
    pod 'RNVectorIcons', :podspec => '../node_modules/react-native-vector-icons'
    use_native_modules!
    # Pods specifically for iOS target
  end

and upon pod install I get the following:
Detected React Native module pods for RNKeychain and RNVectorIcons
Detected React Native module pod for RNKeychain
Analyzing dependencies
[!] There are multiple dependencies with different sources for `RNVectorIcons` in `Podfile`:

- RNVectorIcons (from `../node_modules/react-native-vector-icons`)
- RNVectorIcons (from `../node_modules/react-native-vector-icons`)

Hmm, that’s not good. I’ll see if I can repro this (or if you can provide a complete Podfile that exhibits the problem, that’d be much appreciated).

https://github.com/ospfranco/rn-macos-menubar-template it's pretty much a blank repo, just go into the macos folder and do pod install and you should get the error

Thanks for the repro, turns out that the issue you’re seeing is is because auto-linking code uses :path instead of :podspec, which is what the “different sources” part of the error message is getting at.
Having said that, changing to :path: brings us back to the original problem. One thing you could do, until a new version of the CLI is released, is to hot-patch your CLI installation with this change https://github.com/react-native-community/cli/pull/1126/files/9ef86dde56fa0446ffb53e1526fb9a8c1fc4a2a8#diff-d1800049b92343288bcbc1c484575058R63-R71

Hey, I just updated to the latest version of react-native-macos, yet this is still happening, any timeline when this change is going to land?

Ah, just realized the CLI is a transitive dependency of react-native, when I tried with react-native 0.63 the ignored packages worked correctly, but I'm guessing it won't work with react-native-macos 62... so I guess it is only a matter of waiting until rn-macos adds rn 0.63 as a depedency right?

Yeah, then you’d definitely get the right version. Having said that, you can often update the CLI separately, have you tried that?

I did not try it, should I just add @react-native-community/cli as a depency?

Yup 👍

This is working on the latest version


[SPARK-46440][SQL] Set the rebase configs to the CORRECTED mode by default

What changes were proposed in this pull request?
In the PR, I propose to set all rebase related SQL configs to the CORRECTED mode by default. Here are the affected configs:

spark.sql.parquet.int96RebaseModeInWrite
spark.sql.parquet.datetimeRebaseModeInWrite
spark.sql.parquet.int96RebaseModeInRead
spark.sql.parquet.datetimeRebaseModeInRead
spark.sql.avro.datetimeRebaseModeInWrite
spark.sql.avro.datetimeRebaseModeInRead

Why are the changes needed?
The configs were set to the EXCEPTION mode to give users a choice to select proper mode for compatibility with old Spark versions <= 2.4.5. Those versions are not able to detect the rebase mode from meta information in parquet and avro files. Since the versions are out of broad usage, Spark starting from the version 4.0.0 will write/ read ancient datatime without rebasing and any exceptions. This should be more convenient for users.
Does this PR introduce any user-facing change?
Yes, it can if user's code expects an exception while reading/writing ancient datetimes.
How was this patch tested?
By running the affected test suites:
$ build/sbt "test:testOnly *ParquetRebaseDatetimeV1Suite"
$ build/sbt "test:testOnly *ParquetRebaseDatetimeV2Suite"
$ build/sbt "test:testOnly *RebaseDateTimeSuite"
$ build/sbt "test:testOnly *AvroV1Suite"
$ build/sbt "test:testOnly *AvroV2Suite"

Was this patch authored or co-authored using generative AI tooling?
No.

All GAs passed: https://github.com/MaxGekk/spark/actions/runs/7240818424/job/19732836035

@cloud-fan @sadikovi Could you review this PR, please.

Merging to master. Thank you, @cloud-fan for review.


ion-tabs tabsPlacement top looking bad on iPhone X

Ionic version:  (check one with "x")
(For Ionic 1.x issues, please use https://github.com/ionic-team/ionic-v1)
[ ] 2.x
[x] 3.x
[ ] 4.x
I'm submitting a ...  (check one with "x")
[x] bug report
[ ] feature request
Please do not submit support requests or "How to" questions here. Instead, please use one of these channels: https://forum.ionicframework.com/ or http://ionicworldwide.herokuapp.com/
Current behavior:

On the iPhone X simulator, ion-tabs with top tabs placement looks like this:

Note that the tabs height it's wrong.
Expected behavior:

It should look like this (iPhone 8):

Steps to reproduce:

Related code:
This is the html of that page:
<ion-header>
  <ion-navbar color="primary">
    <button ion-button menuToggle>
      <ion-icon name="menu"></ion-icon>
    </button>
    <ion-title>Lavados</ion-title>
  </ion-navbar>

</ion-header>

<ion-tabs #tabs tabsPlacement="top" tabsHighlight=true>
  <ion-tab [root]="upcomingBookings" tabTitle="Próximos"></ion-tab>
  <ion-tab [root]="pastBookings" tabTitle="Finalizados"></ion-tab>
</ion-tabs>

Other information:

Ionic info: (run ionic info from a terminal/cmd prompt and paste output below):
cli packages: (/Users/joel/workspace/glou/Glou/node_modules)

    @ionic/cli-utils  : 1.15.2
    ionic (Ionic CLI) : 3.15.2

global packages:

    cordova (Cordova CLI) : 7.0.1

local packages:

    @ionic/app-scripts : 1.3.7
    Cordova Platforms  : android 6.2.3 ios 4.5.0
    Ionic Framework    : ionic-angular 3.7.1

System:

    Android SDK Tools : 25.2.5
    ios-deploy        : 1.9.1
    ios-sim           : 6.0.0
    Node              : v6.11.3
    npm               : 2.15.12
    OS                : macOS Sierra
    Xcode             : Xcode 9.0 Build version 9A235

Environment Variables:

    ANDROID_HOME : /usr/local/opt/android-sdk

Misc:

    backend : legacy

Oh.. You're using very old  app-scripts and also update your project to latest Ionic 3.8.0. It has a lot of iOS fixes.
https://github.com/ionic-team/ionic/releases/tag/v3.8.0

@Sampath-Lokuge still happening, now with the latest tools:
cli packages: (/Users/joel/workspace/glou/Glou/node_modules)

    @ionic/cli-utils  : 1.15.2
    ionic (Ionic CLI) : 3.15.2

global packages:

    cordova (Cordova CLI) : 7.0.1

local packages:

    @ionic/app-scripts : 3.0.1
    Cordova Platforms  : android 6.2.3 ios 4.5.0
    Ionic Framework    : ionic-angular 3.8.0

System:

    Android SDK Tools : 25.2.5
    ios-deploy        : 1.9.1
    ios-sim           : 6.0.0
    Node              : v6.11.3
    npm               : 2.15.12
    OS                : macOS Sierra
    Xcode             : Xcode 9.0 Build version 9A235

Environment Variables:

    ANDROID_HOME : /usr/local/opt/android-sdk

Misc:

    backend : legacy

With latest scripts and 3.8.0 it is even worse....
This is a trivial fix lets get it done. If the bottom tabs fix wasn't such a rush job this would have never happened....


Build with Go 1.20

[x] I added CHANGELOG entry for this change.
[ ] Change is not relevant to the end user.

Changes

Verification

@bwplotka @GiedriusS I tried to debug the failing test locally and it turns out that the chunk size varies at each run.
As I have no understanding of prometheus storage backend I'd like to hand over this to someone competent in the matter.

Hmm I'm not sure why TestUpload consistently fails here. It passes locally. Will take a deeper look

Ok I was able to reproduce this after upgrading to Go 1.20.1 locally. The reason TestUpload has become nondeterministic seems to be due to the way we create blocks for testing. We use rand.Float64() for the samples: https://github.com/thanos-io/thanos/blob/5e3ecf67ef82c2b54e7d4bdffae2c9e5c30b6bec/pkg/testutil/e2eutil/prometheus.go#L509 which was deterministic and always produced the same random values in the same order
But as of Go 1.20 "math/rand" package automatically seeds the global random number generator which causes our block chunk file size to vary: https://tip.golang.org/doc/go1.20#minor_library_changes
I think we just need to seed rand here 🙂

@saswatamcode thank you!


Update parsers to handle internal transfers

We will need to update ParseBasic for all the parsers to properly handle when funds are moved between multiple wallets controlled by the same user.
Ultimately, this will need to handle both:

Same wallet address on multiple changes
Different wallet addresses across same/multiple chains but all owned by the same user.

cc @jtieri i think this will also be closed by your IBC transfer tickets.  Feel free to mark it as a dupe, or close it along side if you think this has special conditions worth keeping seperate


App Version Link Redirects to AWS

The app version link for probably listing the version of direct method service, redirects to AWS CLI page.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 58ad27ec-834c-d85d-79f9-ee699019be33
Version Independent ID: b108b7b1-d28d-abed-467d-39a661c8e086
Content: Understand Azure IoT Hub direct methods
Content Source: articles/iot-hub/iot-hub-devguide-direct-methods.md
Service: iot-hub
GitHub Login: @nberdy
Microsoft Alias: rezas

@surabhshah Thanks for the feedback! We are currently investigating and will update you shortly.

@nberdy could you please look into this feedback? Is this intentional or link has been modified?

Thanks for calling this out. I am updating the link.

@nberdy Thanks for the confirmation.
@surabhshah As mentioned, we will update the link. Do let us know if you have any other queries.

@surabhshah Link has been fixed. Here is the correct link: https://docs.microsoft.com/en-us/rest/api/iothub/service/devices/invokemethod
We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


[Bug/漏洞] Bugs observed during gameplay in the world with friends related to the Infinity Sword and Infinity Bucket

Checks / 检查

[X] I confirm that I have searched for existing issues / pull requests before reporting to avoid duplicate reporting./我确认在报告之前我已经搜索了现有的问题或者拉取请求，以避免重复报告。
[X] I confirm that I followed the Docs and read the Changelog, but this problem still exists./我确认我按照文档配置并阅读了Changelog，但这个问题仍然存在。
[X] I confirm that I noted that if I don't follow the instructions, the issue may be closed directly./我确认我已经检查，如果我不按照说明进行操作，该问题可能会被直接关闭。

Java Version / Java版本
17.0.8
Minecraft Version / Minecraft版本
1.20.1
Avaritia-Reforge Version / Avaritia-Reforge版本
<IP_ADDRESS>
Description / 描述
Hello, I would like to report a bug in the mod. Incredibly, the Infinity Sword does no damage to players wearing Draconic or Mekanism (MekaSuit) armor. Additionally, when switching the language to Portuguese and inspecting the sword, it shows 11 damage instead of infinite damage. Furthermore, the Infinity Bucket causes Minecraft to crash.
To Reproduce / 重现
https://youtu.be/6zqe-EQ1hPo
Log / 日志
2024-07-19-1.log
Config / 配置
Don't have one? I'm not sure if it didn't generate, but I searched for Avaritia-Reforge.json in my config folder and nothing turned u

GitHub isn't opening the YouTube link. So, just copy the link and open it in your browser

crash-2024-07-19_18.39.32-client.txt

crash-2024-07-19_18.39.32-client.txt

Infinity Bucket bug has fixed.

crash-2024-07-19_18.39.32-client.txt

use this version


[BanyanDB][OAP] Refactor topology query

There are two issues here:
Redundant tags
sourceService and destService  are not used in the final analysis. Entity ID should be enough for decoding.
Use groupBy in the query
TopologyDAO is not using groupBy query, so with 30-60 min, we face a huge dataset of the query results.
Originally posted by @wu-sheng in https://github.com/apache/skywalking/pull/10170#discussion_r1050716464

Redundant tags had been fixed.


Support schema in policygen

Fixed by https://github.com/GoogleCloudPlatform/healthcare-data-protection-suite/pull/121


about leetcode-cn.com

I am Chinese leetcoder。this is the website: https://leetcode-cn.com
Can you provide config to get Chinese problem description and Others.
for example, when i run command"leetcode show 3 -g -l cpp" i get:
[3] Longest Substring Without Repeating Characters
https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/description/

algorithms
Medium (18.53%)
Source Code:       3.longest-substring-without-repeating-characters.2.cpp
Total Accepted:    705
Total Submissions: 3.9K
Testcase Example:  '"abcabcbb"'
Given a string, find the length of the longest substring without repeating characters.
Examples:
Given "abcabcbb", the answer is "abc", which the length is 3.
Given "bbbbb", the answer is "b", with the length of 1.
Given "pwwkew", the answer is "wke", with the length of 3. Note that the answer must be a substring, "pwke" is a subsequence and not a substring.

I wish to get
[3] Longest Substring Without Repeating Characters
https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/description/

algorithms
Medium (18.53%)
Source Code:       3.longest-substring-without-repeating-characters.2.cpp
Total Accepted:    705
Total Submissions: 3.9K
Testcase Example:  '"abcabcbb"'
给定一个字符串，找出不含有重复字符的 最长子串 的长度。
示例：
给定 "abcabcbb" ，没有重复字符的最长子串是 "abc" ，那么长度就是3。
给定 "bbbbb" ，最长的子串就是 "b" ，长度是1。
给定 "pwwkew" ，最长子串是 "wke" ，长度是3。请注意答案必须是一个子串，"pwke" 是 子序列 而不是子串。

原来作者也是中文的啊。哈哈哈。

worth a try to simply replace "leetcode.com" with "leetcode-cn.com" in lib/config.js

I had replaced the urls in config.js and relogin. the problem description is also English.
After I submit the solution,the problem became accepted  on  https://leetcode-cn.com yet.
And some problems  is not the latest version?Index of easy array problems is 766 now,but leetcode list -q e arrayonly show 697

I wrote some codes to modify the graphql request.So that it can supportChinese content. I haven’t tested it on the https://leetcode. com yet.
This is my first time writing nodejs code. it might have some flaws in it , please let me know if you find one .

Good job! @EINDEX
Sorry I don't have a full test against leetcode-cn.com thus not sure if everything (e.g. list/show/test/submit) work the same as leetcode.com. I was told that leetcode-cli could easily talk to leetcode-cn.com by replacing all the URLs configs in leetcode-cli. I'm assuming you did the same while not sure if you ever hit other issues with leetcode-cn.com?

@skygragon
The other functions work properly. I just replace "leetcode.com" with "leetcode-cn.com" in lib/config.js .

@all a lightweight plugin "leetcode.cn" is available in https://github.com/skygragon/leetcode-cli-plugins/. Basically it does nothing magical except replacing the urls used in leetcode-cli.


HIVE-25233: Removing deprecated unix_timestamp UDF

unix_timestamp UDF has be deprecated long back with following mapping -
unix_timestamp() => CURRENT_TIMESTAMP
unix_timestamp(string date) => to_unix_timestamp(string date)
unix_timestamp(string date, string pattern) => to_unix_timestamp(string date, string pattern)
Also the vector implementation is done for to_unix_timestamp(). Removing unix_timestamp() UDF will bring more clarity in how to use date time UDF in hive.
What changes were proposed in this pull request?

Remove deprecated unix_timestamp() UDF.
Why are the changes needed?

Deregister unix_timestamp() UDF.
Does this PR introduce any user-facing change?

Yes. In order to mimic unix_timestamp UDF user need to replace unix_timestamp() with following mapping.
unix_timestamp() => CURRENT_TIMESTAMP
unix_timestamp(string date) => to_unix_timestamp(string date)
unix_timestamp(string date, string pattern) => to_unix_timestamp(string date, string pattern)
How was this patch tested?

Yes. Updated all existing qtest with the above mapping.

you seem to have hit the "surefire bug" in your testruns ; you should run:
mvn install -pl itests/qtest -Pqsplits -Dtest=org.apache.hadoop.hive.cli.split6.TestMiniLlapLocalCliDriver -Dtest.output.overwrite

or similar locally to run the whole split which was "failed-to-read"

@kgyrtkirk  Could you please review the PR?

@ashish-kumar-sharma @mattmccline-microsoft
Why do we need to remove unix_timestamp UDF? Isn't it backward incompatible change? Existing users need to manually change their scripts which would not be good experience and wouldn't motivate them to upgrade.


netlify-cms<EMAIL_ADDRESS>yaml errors

Describe the bug
config.yml stopped working at https://sokolmorasice.netlify.com

To Reproduce

Go to https://sokolmorasice.netlify.com
See error at page, console...

Expected behavior

Login page

Screenshots

Applicable Versions:

Netlify CMS version: netlify-cms 2.10.41, netlify-cms 2.10.42
Git provider: gitlab

CMS configuration

https://gitlab.com/sokolmorasice/web/-/blob/master/source/admin/config.yml
https://gitlab.com/sokolmorasice/web/-/blob/master/source/admin/index.html

Additional context

It works, if I use <script<EMAIL_ADDRESS>Other versions don't work.

2.24.0
yaml: support comments
https://github.com/netlify/netlify-cms/blob/master/packages/netlify-cms-core/CHANGELOG.md#2241-2020-04-09

@erezrokah probably worth adding a test case or two for this.


Docs Search Input isn't working

any input you type in receives a "No Results Found" output

yep, I'm addressing this already. We need a new Algolia account for this.

Congratulations, your search is now ready!
I've successfully configured the underlying crawler and it will now run every 24h.

You're now a few steps away from having it working on your website:

- Copy the following CSS/JS snippets and add them to your page

<!-- at the end of the HEAD -->
<link rel="stylesheet"<EMAIL_ADDRESS>/>

<!-- at the end of the BODY -->
<script type="text/javascript"<EMAIL_ADDRESS><script type="text/javascript"> docsearch({
apiKey: '0f39a68ab6f073f9c4d5858e4f6e9b5d',
indexName: 'cml',
inputSelector: '### REPLACE ME ####',
debug: false // Set debug to true if you want to inspect the dropdown
});
</script>

- Add a search input in your page if you don't have any yet. Then update the inputSelector value in JS snippet
to a CSS selector that targets your search input field.
- Optionally customize the look and feel by following the DocSearch documentation
(See https://docsearch.algolia.com/docs/styling/)
- You can also check your configuration in our GitHub repository
(See https://github.com/algolia/docsearch-configs/blob/master/configs/cml.json).
-<EMAIL_ADDRESS>can get access to the full Algolia analytics for your DocSearch index by creating an account, following this link: https://www.algolia.com/users/invitation/accept?invitation_token=jHgqsx2m37keQ5tgGmF6

Please open a pull request if want to leverage your configuration!

Feel free to get back to us if you have any issues or questions regarding the integration.

We'd also be happy to get your feedback and thoughts about DocSearch - so we can continue to improve it.

Have a nice day :)

I don't see the search results still.


Tests: add test coverage for pymovements.utils._decompress

the testcase is unreachable when extract_archive only is used
this coverage enables us to cover the case if _decompress is used
we advise that this method is not used as a standalone

Codecov Report
Patch coverage has no change and project coverage change: +0.40 :tada:

Comparison is base (e74d231) 92.02% compared to head (7e8c5c4) 92.42%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #241      +/-   ##
==========================================
+ Coverage   92.02%   92.42%   +0.40%
==========================================
  Files          23       23
  Lines         953      951       -2
  Branches      223      201      -22
==========================================
+ Hits          877      879       +2
+ Misses         71       69       -2
+ Partials        5        3       -2

Impacted Files
Coverage Δ

src/pymovements/utils/archives.py
100.00% <0.00%> (+2.89%)
:arrow_up:

src/pymovements/utils/paths.py
100.00% <0.00%> (+4.54%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Hot tub preset doesn't seem to refresh

Version of the custom_component
0.0.11
Configuration
- entity: sensor.hot_tub_heater_preset
    name: Current Preset

Describe the bug
I have a yaml dashboard which is dedicated to all my hot tub settings. I've noticed that the preset (standard, energy-saver, weekender etc) doesn't always seem to reflect what the tub is actually set to. I often change the preset (always via the gecko app, never this integrations service call) mid week. If I navigate to integrations  and 'reload' this integration it updates though.
Debug log
I can supply if needed but grep -i preset home-assistant.log doesn't show anything (I have debug set for this integration)

I think that my current work on the async branch ought to remedy this. It's not suitable for use just yet, but I'll let you know when you can take a look.


[WIP]Fluentd-operator integration

Signed-off-by: zhu733756<EMAIL_ADDRESS>This pr add Fluentd-operator to implement the former proposal #138.
Backgrouds
See the former proposal mentioned in #138.
This proposal brought the basic concept to answer how to add fluentd-operator as a forward log layer to collect logs from fluentbit or other apps.
See below：
During the log Aggregation & Forwarding Phase, the Fluentd Operator defines five custom resources using CustomResourceDefinition (CRD):

Fluentd: Defines Fluentd instances and its associated config.

defines common properties like pvc, replicas, resources, etc.
select FluentdClusterConfig/FluentdConfig CRDs to bind with this instance.

FluentdClusterConfig:

Support for multiple namespaces isolation and cloud native selectors.
Integrate the logic of input and filter sections.
Select any cluster/namespaced scope output crds.

FluentdConfig:

Support for single namespace isolation and cloud native selectors in this namespace.
Integrate the logic of input and filter sections
Select any cluster/namespaced scope output crds, the output log should be from this namespace.

ClusterOutput: Defines an output section without namespace restriction.
Output: Defines an output section with a specified namespace.

But we made some changes during actual development.
Namespaced fluentdconfig CR can select the namespaced CRs and the cluster CRs.  Cluster fluentdconfig CR only selects clusterfilters or clusteroutputs.
Besides, you will see inputs sections combined into the fluentd CR named as globalInputs.  Since the globalInputs is manily used for collecting the logs from fluentbit through forward plugin or other apps through http plugin. And we will dynamically
add the related service ports(forward/http, see demo below) according to this configuration.
Now two reconcilers are brought to finish this work.
Fluentd reconciler watches the related resources like deployment/secrect/service/buffer PVC etc, it setups fluentd instances once a secret is generated by FluendConfig reconciler. FluendConfig reconciler watches the created fluentd CRs, picks out the matchCfgSelector to select the related resources, and combines to a configuration that would be mounted as a secret for this fluentd.
Another useful idea activated by the former work is that we support a hot config reloader for fluentbit-operator.  So if the related CRs changed, the fluentd-watcher agent will gracefully reload the fluentd instance.
That's the whole change, the other idea is welcome and if I lost the ideas from the proposal, pls remind me.
The practice part
Since the output plugins are huge, I will use es for example to test the whole logic. And for the input layer, I directly use the forward from fluentbit to test the workflow.
1 Setup fluentbit-operator and elasticsearch cluster
You can install fluenbit through the chart in this repo. Or if you use Kubesphere Container platform, you can install it through ks-installer.
Here I use the latter, it also setups a elasticsearch cluster.
2 Delete the fluentbit output plugin
kubectl -n kubesphere-logging-system delete outputs.logging.kubesphere.io es

3 Setup fluentd operator
kubectl apply -f manifests/setup/fluentd/setup.yaml
---
$ kubectl -n kubesphere-logging-system get po
NAME                                  READY   STATUS    RESTARTS   AGE
elasticsearch-logging-data-0          1/1     Running   0          70m
elasticsearch-logging-discovery-0     1/1     Running   0          70m
fluent-bit-x9pdb                      1/1     Running   0          64m
fluentbit-operator-745bf5559f-h47ct   1/1     Running   0          70m
fluentd-operator-6f959849c7-fq2lp     1/1     Running   0          16

4 Test the forward demo
Namespaced fluentdconfig example see follows, it only collects the namespaced logs.
apiVersion: fluentd.fluent.io/v1alpha1
kind: Fluentd
metadata:
  name: fluentd-forward
  namespace: kubesphere-logging-system
  labels:
    app.kubernetes.io/name: fluentd
spec:
  globalInputs:
    - type: forward
      forward:
        bind: <IP_ADDRESS>
        port: 24224
  replicas: 1
  image: zhu733756/fluentd:config-reloader
  matchCfgSelector:
    matchLabels:
      config.fluentd.fluent.io/enabled: "true"

---
apiVersion: fluentd.fluent.io/v1alpha1
kind: FluentdConfig
metadata:
  name: fluentd-config
  namespace: kubesphere-logging-system
  labels:
    config.fluentd.fluent.io/enabled: "true"
spec:
  outputSelector:
    matchLabels:
      output.fluentd.fluent.io/enabled: "true"

---
apiVersion: fluentd.fluent.io/v1alpha1
kind: Output
metadata:
  name: fluentd-stdout
  namespace: kubesphere-logging-system
  labels:
    output.fluentd.fluent.io/enabled: "true"
spec:
  outputs:
    - type: elasticsearch
      elasticsearch:
        host: elasticsearch-logging-data.kubesphere-logging-system.svc
        port: 9200
        logstashFormat: true
        logstashPrefix: ks-logstash-log

CluserFluentdConfig exmaple see follows, it collects logs from the watched namespaces.
apiVersion: fluentd.fluent.io/v1alpha1
kind: Fluentd
metadata:
  name: fluentd-forward
  namespace: kubesphere-logging-system
  labels:
    app.kubernetes.io/name: fluentd
spec:
  globalInputs:
    - type: forward
      forward:
        bind: <IP_ADDRESS>
        port: 24224
  replicas: 1
  image: zhu733756/fluentd:config-reloader
  matchCfgSelector:
    matchLabels:
      config.fluentd.fluent.io/enabled: "true"

---
apiVersion: fluentd.fluent.io/v1alpha1
kind: ClusterFluentdConfig
metadata:
  name: fluentd-config
  labels:
    config.fluentd.fluent.io/enabled: "true"
spec:
  watchedNamespaces: "kube-system,kubesphere-logging-system" # will collect logs from these namespaces.
  outputSelector:
    matchLabels:
      output.fluentd.fluent.io/enabled: "true"

---
apiVersion: fluentd.fluent.io/v1alpha1
kind: ClusterOutput
metadata:
  name: fluentd-stdout
  labels:
    output.fluentd.fluent.io/enabled: "true"
spec:
  outputs:
    - type: elasticsearch
      elasticsearch:
        host: elasticsearch-logging-data.kubesphere-logging-system.svc
        port: 9200
        logstashFormat: true
        logstashPrefix: ks-logstash-log

I will use the cluster scope CRs to test it. Manifests located at manifests/forward-to-fluentd.
kubectl apply -f manifests/forward-to-fluentd/fluentd-cluster-cfg-output-es.yaml

After a while, a default buffer pvc(1G) bound to this deployment, and a service named fluentd-forward created. You may disable pvc/service, change the volume type according the definition in fluentd CR.
$ kubectl -n kubesphere-logging-system get po
NAME                                  READY   STATUS    RESTARTS   AGE
elasticsearch-logging-data-0          1/1     Running   0          78m
elasticsearch-logging-discovery-0     1/1     Running   0          78m
fluent-bit-x9pdb                      1/1     Running   0          72m
fluentbit-operator-745bf5559f-h47ct   1/1     Running   0          78m
fluentd-forward-85f6bcb488-8bgks      1/1     Running   0          85s
fluentd-operator-6f959849c7-fq2lp     1/1     Running   0          8m3s
$ kubectl -n kubesphere-logging-system get pvc
NAME                                     STATUS   VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
data-elasticsearch-logging-data-0        Bound    pvc-48f6bdfa-bed0-448e-88be-cd284a113529   8Gi        RWO            standard       78m
data-elasticsearch-logging-discovery-0   Bound    pvc-b2f89a45-f94a-4b49-93f6-f48fc0c17645   4Gi        RWO            standard       78m
fluentd-forward-buffer-pvc               Bound    pvc-70e4c55e-8de2-49bf-b86a-cb4277765dfb   1Gi        RWO            standard       90s
$ kubectl -n kubesphere-logging-system get svc
NAME                              TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)     AGE
elasticsearch-logging-data        ClusterIP   <IP_ADDRESS>   <none>        9200/TCP    80m
elasticsearch-logging-discovery   ClusterIP   None           <none>        9300/TCP    80m
fluentd-forward                   ClusterIP   <IP_ADDRESS>   <none>        24224/TCP   3m10s

5 apply fluentbit output forward
Forward example:
apiVersion: logging.kubesphere.io/v1alpha2
kind: Output
metadata:
  name: fluentd
  namespace: kubesphere-logging-system
  labels:
    logging.kubesphere.io/enabled: "true"
    logging.kubesphere.io/component: logging
spec:
  matchRegex: (?:kube|service)\.(.*)
  forward:
    host: fluentd-forward.kubesphere-logging-system.svc # modify here according to the fluentd name
    port: 24224

6 Check results
kubectl -n kubesphere-logging-system exec -it elasticsearch-logging-data-0 -c elasticsearch -- curl  "localhost:9200/_cat/indices"

Todo

Push official image if this pr is passed by reviewers. Currently, it uses my custom image.
Clean up for the codes in helper.go. A bit urgly.
Add docs to README.
Modify the proposal doc.
Add more fluentd cluseroutput/output examples.
Different Container Runc support.

/cc @benjaminhuo @wanjunlei @wenchajun

The crd version of the new fluent bit is v2alpha1 or v1beta1, maybe the version of fluentd should be the same as the version of fluent bit?

The crd version of the new fluent bit is v2alpha1 or v1beta1, maybe the version of fluentd should be the same as the version of fluent bit?

I think no need to.  Since the two operators can be deployed by themselves, there is no strong attachment. And this is the first version it published. What do you think @benjaminhuo @wenchajun

Please change the director api to apis.

Please change the director api to apis.

OK

We'd better combine operator of fluentbit and fluentd together into one single deployment/image with fluentbit/fluentd crds/controllers in it and then rename the project to fluent-operator

We'd better combine operator of fluentbit and fluentd together into one single deployment/image with fluentbit/fluentd crds/controllers in it and then rename the project to fluent-operator

let us make it in later prs.

We'd better combine operator of fluentbit and fluentd together into one single deployment/image with fluentbit/fluentd crds/controllers in it and then rename the project to fluent-operator

I will combine the two operator into one

This is a great enhancement to the upcoming fluent-operator, thanks @zhu733756

I think pretty good initial commit but I think documentation and testing need a fair bit of work. However, this could be done with future PRs. We also need to consider how to integrate into Github actions well but also allow local development.
My concern is particularly the CRDs are not well spec'd so hard to use - testing will both stabilise them but also highlight issues and usage. CRD upgrade is hard so we want to avoid it as much as possible and get them good to start with rather than evolve when people have them deployed. kubectl explain ... should give a user enough information to fill in their CRD values, having to refer to somewhere else for simple questions is not good. It is also something that shows up in editors, etc. so really very helpful to have good context-sensitive documentation.

@patrick-stephens  Good suggestions！ We would add multi images build, enhance docs explanations, and e2e tests to the schedule marked by an issue. Someone would like to help us to contribute it.

Hi folks, come to https://github.com/fluent/fluentbit-operator/issues/190 add todo list.

That's good. Please also take a look at @patrick-stephens‘ comments and add todo item into #190 if necessary

I think we can check out a branch fluent-bit from the current master branch for the legacy fluent-bit operator(with the old kubesphere.io domain) maintenance purpose, maybe someday in the future, this branch can be deleted once the fluent-operator is mature enough.
And then the master branch is used for the development of fluent-operator under the new domain fluent.io
This way, we'll have fewer works to do on each branch and the directory structure will be simplified.
@zhu733756 @wanjunlei @wenchajun

I think pretty good initial commit but I think documentation and testing need a fair bit of work. However, this could be done with future PRs. We also need to consider how to integrate into Github actions well but also allow local development.
My concern is particularly the CRDs are not well spec'd so hard to use - testing will both stabilise them but also highlight issues and usage. CRD upgrade is hard so we want to avoid it as much as possible and get them good to start with rather than evolve when people have them deployed. kubectl explain ... should give a user enough information to fill in their CRD values, having to refer to somewhere else for simple questions is not good. It is also something that shows up in editors, etc. so really very helpful to have good context-sensitive documentation.

@patrick-stephens Good suggestions！ We would add multi images/binaries build, enhance docs explanations, and e2e tests to the schedule marked by an issue. Someone would like to contribute it.

Yeah that seems a good idea to me, I would say nothing can go past beta until docs and tests are done. Ideally probably not past alpha as people tend to adopt even beta.
This is a fairly substantial change too so it would be better to get the base in for it then iterate in smaller PRs otherwise it is too large to review.

Yeah that seems a good idea to me, I would say nothing can go past beta until docs and tests are done. Ideally probably not past alpha as people tend to adopt even beta. This is a fairly substantial change too so it would be better to get the base in for it then iterate in smaller PRs otherwise it is too large to review.

Agree with the comments

After changing the domain from logging.kubesphere.io to fluent.io, The new directory structure looks better and simpler, thanks @zhu733756!

Signed-off-by: zhu733756<EMAIL_ADDRESS>This pr add Fluentd-operator to implement the former proposal #138.
Backgrouds
...

Docs updated. Please help to review the new commit.  If no other requested changes, we can push the official images, then let's continue working for the todos #190

The new commit looks good to me, thanks @zhu733756
Would you push fluent-operator:v0.20 to your own registry and then I'll sync it to kubesphere, maybe later to fluent org

fluent-operator:v1.0.0

OK.

Merge this first, we'll continue to work on items in https://github.com/fluent/fluentbit-operator/issues/190 in separate PRs


PBIRS (March 2018 release) with custom authentication error

I'm trying to configure the March 2018 PBIRS release to use custom authentication. We have the October 2017 release working fine, but need to move to the latest version.  If I customize the March 2018 release with the default configuration as specified in the ReadMe.md, it works properly. I can register new users and log into the PBIRS server through the logon.aspx page.  However, our forms authentication requirements are a bit more complicated than that.
We are displaying embedded Power BI reports in our existing form-authenticated application, so rather than using the default PassThroughCookies specified for rsreportserver.config, we use the following:
          `<PassThroughCookies>
            <PassThroughCookie>.ASPXAUTH</PassThroughCookie>
          </PassThroughCookies>`

Similarly, in web.config, instead of the "forms" configuration with "logon.aspx" and "sqlAuthCookie", we point to our application login:
  `<forms timeout="120" domain=".productiondomain.com" cookieless="UseCookies" enableCrossAppRedirects="true" name=".ASPXAUTH" loginUrl="http://formsLogin.productiondomain.com" />`

The server seems to start properly, with no errors in any of the log files -- until I attempt to access the PBIRS portal (https://pbirs.productiondomain.com/Reports).  The access attempt results in an HTTP 500 error on my browser, and the following error in the RSPortal log file:
2018-06-20 16:33:17.4985|ERROR|5| <IP_ADDRESS>: GET /browse/ - 0:00:00.0315727
Exception: System.Web.HttpException (0x80004005): Unable to validate data.
   at System.Web.Configuration.MachineKeySection.EncryptOrDecryptData(Boolean fEncrypt, Byte[] buf, Byte[] modifier, Int32 start, Int32 length, Boolean useValidationSymAlgo, Boolean useLegacyMode, IVType ivType, Boolean signData)
   at System.Web.Security.FormsAuthentication.Decrypt(String encryptedTicket)
   at Microsoft.BIServer.Owin.Common.Middleware.CustomAuthenticationMiddleware.CreateRequestContextFromCookie(IOwinContext context)
   at Microsoft.BIServer.Owin.Common.Middleware.CustomAuthenticationMiddleware.CreatePortalIdentity(IOwinContext context)
   at Microsoft.BIServer.Owin.Common.Middleware.CustomAuthenticationMiddleware.Invoke(IOwinContext context)
   at Microsoft.Owin.Security.Infrastructure.AuthenticationMiddleware`1.<Invoke>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.BIServer.Owin.Common.Middleware.RequestLoggingMiddleWare.<Invoke>d__2.MoveNext()| RequestID = s_8746993e-6fe4-4a0d-84d3-ff0d3256c9cc

With the October 2017 release of PBIRS and the old version of the CustomSecuritySample, things worked just fine. Using the March 2018 release of PBIRS with either the old version or current version of CustomSecuritySample with our additional customizations fails.

Problem solved -- I needed to make sure that the MachineKey value for PBIRS was the same as the one for our forms-authenticated application.
Whew!


Navigator: Leverage overlapping fields in logic to save RAM by makein…

…g them overlap in memory as well.
This change does save quite a bit of RAM when handling mission items in main memory. @bkueng @julianoes @davids5 FYI. This also needs a bit of review in its usage, but will then bring down the RAM consumed by dataman by a few K.
TODO:

[x] Bitfield for bool flags
[x] Remove origin field

I think these are all safe / reasonable changes. This should save about 50% of the previous RAM and support 50 waypoints in about 5K of RAM. @bkueng we still might need to optimize depending on how much the new logger pulls on resource constrained systems.

jenkins test this please.

This change is also binary incompatible with existing files. Can re add back the structure packing and detect the size not modulo sizeof(union ) == 0 and wipe it?

@davids5 Yep, need to do that. I believe dataman already does it, but need to re-check.

Jenkins test this please.

With the last commits its now fool proof and ready to go in after further SITL testing.

@LorenzMeier
Short of using a tool like UAVCAN uses to crc32 the type data. We could use the poor mans not so automatic and prone to human error version.
this is what I am thinking of and rough pseudo code that should scale long term.
Add a in dataman.h
#define DATAMAN_MK_REVISION(_version, struct_name)  {.version=_version, .size =sizeof(struct_name)}

add in each header (or in the case of an auto generates ones find a good place for it)
#define mission_item_version DATAMAN_MK_REVISION(1, mission_item)

in dataman.c
#typdef  uint8_t dmr_sizet ; // lord help us if this has to be more than 8 bits!

typedef struct dataman_revison_item_t {
dmr_sizet version;
dmr_sizet size;
} dataman_revison_item_t ;

#define countoftypes  4

then define a const
struct dataman_revison {
uint8_t  size_of;
uint8_t  nTypes;
 dataman_revison_item_t  version v[N]
dmr_sizet version v[countoftypes]
} = {
.size_of = sizeof(dmr_sizet),
.nTypes = <countoftypes>
.v={{mission_item_version },
{mission_version },
{fence_vertex_version }},
};

Thoughs?


update error

how to fix this error when I do check for update
https://gyazo.com/361c8b949b98aabd86099caa02b8b3c2

It means that a file has become inaccessible/deleted when you tried to check for updates. New release should not crash in that case; if automatic update does not work, you'll have to download manually.

this normal ?
https://gyazo.com/2a8c6465a11b24b74879bd3f4f1af6bb

These are generic troubleshooting guidelines, try and see if it works:

Delete everything related to XivAlexander you downloaded, and download the newest release at: https://github.com/Soreepeong/XivAlexander/releases/latest (use the link in the title).
Run the game and run XivAlexanderLoader64.exe. If it didn't work, run XivAlexanderLoader32.exe.
If the message The requested operation requires elevation appears again, right-click the executable file, and try Run As Administrator.
If it still won't work, please try adding XivAlexander32.dll, XivAlexander64.dll, XivAlexanderLoader32.exe, XivAlexanderLoader64.exe to the antivirus exclusion list, and then start over from re-downloading the files.


Make Casper ref normative

This PR moves the Casper FFG ref to the Normative References section.
One possible question is whether the reference should specifically state that this is 'v3' of the document referenced.
FYI, the extra spaces added to the end of the python-poc reference are intended; they cause a newline that looks better when rendered.

I would argue that the FFG paper is informative rather than normative. You can read to paper to help inform you about what is going on when you implement the finality portion of the spec, but you don't have to read it to implement it.
Let me know if my understanding of normative vs informative is correct here.

If the finality descriptions in the spec are sufficient for implementation, then you are correct that the FFG paper is informative only.  I will make that change.


Quick Move is Broken 1.15.2 &1.16.3

Quick Move does not work anymore for several versions.

I should mention, I am running Lint Mint 20.4

This should be fixed in latest version

This should be fixed in latest version


Processing Time increased after integrated with Spring Framework

MyBatis version
3.5.2
Database vendor and version
IBM DB2 10.5 LUW
Test case or example project
https://github.com/shin779/mybatis-integration
Steps to reproduce
Perform simple select query (e.g. SELECT 1 FROM sysibm.sysdummy1 ) in a massive number (e.g. 2500 times).
Expected result
The process time of each query (with Spring) should simillar to the one before integration (without Spring)
Actual result
Process time keep increase in direct proportion to the "Pure" MyBatis:

@shin779
Cloud you provide applicationContext.xml?


Feature/single file select

If max Files allowed is one file 'max input is one', allow user selecting only one file from file browser window, and prevent the ability of selecting multiple files at once.
This achieved by using multiple attribute only if max is larger than one by adding a condition:
[multiple]="max > 1"

Hi, thanks for the pull request.
After the last release it looks like we forgot to merge master back into development, so the missing commit has managed to find its way into your pull request. I've merged now so the issue should be fixed, could you recreate your pull request and I'll get it merged.

Sure I'll close this for now, and create new one.


Remove version related code from test generator

This pull request removes all of the version and bookkeeping related code of the Exercism Ruby app.
Changes include:

Removal of version references in command line option.
Removal of version generator unit tests.
Removal of version and bookkeeping references in Generator source code.
Removal of  exercise/*/.meta/.version files.
Remove reference to version documentation.

This work is further described in the following Github issue: Remove "version" related code from test generator
The work for this PR touched and deleted a lot of files, would love as much feedback as possible! There are a lot of changes included in here!

Thanks @jpotts244 This all looks great :+1:
Great pull request description. :heart:
I've had a quick look through it and left some comments. Let me know if you disagree with any of them, it's been a while since I last looked at the generator code.
I'm a bit busy for the next few days so probably won't get a chance to merge this until next week, but what you have done looks like it does all the right things.
Good job. :star:

Hi @Insti! Thanks so much for taking the time to review this PR! I've addressed you feedback - let me know what you think, no rush.
It has been super fun project, thanks for having me! Let me know if you'd like me to edit anything here or if I can help out in other ways!

I haven't extensively reviewed, but it does look good to me.  I hope this also serves as a bump for @Insti .  The best kind of PR, getting rid of lines of code! :)

This method and its test can go:
lib/generator/files/track_files.rb:      def update_version(version)
test/generator/files/track_files_test.rb:      def test_update_version

There's also some options stuff that can go:
lib/generator/command_line/generator_optparser.rb:36:        parser.on('-u', '--update', 'Update test version') { |value| options[:update] = value }
lib/generator/command_line/generator_optparser.rb:37:        parser.on('-a', '--all', 'Regenerate all available test suites (does not update version)') do |value|
lib/generator.rb:14:  # Doesn't update the version information.
test/generator/command_line/generator_optparser_test.rb:28:    def test_update_option
test/generator/command_line/generator_optparser_test.rb:32:          default_options.merge(slug: 'beta', update: true),

Made some changes as you suggested!

I found some more now-unused code and removed it because I wanted to try the Github code suggestion feature. I hope you don't mind.

Thanks a lot @jpotts244 that was a big one! :heart: