Shewit: Pre course, first week

my fork of module repository

Learning Objectives

GitHub:

[x] 🥚 Searching Issues: You can find issues in a repository by label, author, and milestone.
[x] 🥚 Project Boards: You can use issues on a GitHub project board to track your class assignments and help your classmates when they need it.

HYF Workflows:

[ ] 🥚 Asking for Help: You can use the question and help-wanted discussion templates in your class repository to ask for help, and to help your classmates when they are blocked.
[x] 🥚 Check-Ins: You can use the check-in template to track your module learning objectives, and your weekly progress, and to post a retrospective at the end of the module.
[x] 🥚 Deliverables: You can create an issue for this module's deliverable and track your progress on the class project board.

Your Computer:

[x] 🥚 File System Management: You can create and organize a new folder in your personal computer for the materials you will study at HYF.

Visual Studio Code:

[x] 🥚 Install and manage extensions
[ ] 🥚 Open a folder for editing
[ ] 🥚 Create new files/folders inside of the folder
[ ] 🥚 Edit files and save changes

Hi @Shewitttt you have added the label week-1, but the comment seems to be missing, telling about what went well, what you have learnt and where you need help :)

Week 1
I Need Help With:
SSH key. I managed to create a public key and connect it with my GitHub but I did not understand it completely.
What went well?
Getting myself familiar with GitHub and its functionalities, creating issues (deliverables and check in).
What went less well?
It took me a bit long time to understand GitHub
Lessons Learned
Maneuver through GitHub.
Markdown is very important.
Creating issues.
Sunday Prep Work
I am getting familiar with VSCode for the coming Sunday class.


Flobro doesn't have access to audio devices

Describe the bug
Opening any website that requests access to microphone/audio devices doesn't allow access to those devices. In my case, discordapp.com
Steps to reproduce
Open FloBro
Set url to discordapp.com
Login -> Select Settings -> Voice & Video
Input and Output devices only show "Default" and I can't specify which device to use. Additionally, it doesn't detect my microphone at all.
Expected behavior
I would expect a popup to access my audio devices like in chrome to appear in order to select and use different audio and video devices
Screenshots

https://support.discordapp.com/hc/en-us/articles/205093487
Environment variables:
Windows 10
Chrome 81.0.4044.113

+1. I would imagine this is one of the primary use cases, if not the primary use case.

This feature was requested in issue #13 but caused privacy issues because Flobro needed webcam and microphone access. Many users uninstalled the app because of privacy. It is not possible for a Chrome App to ask for permissions per website, it has to be a global permission. Therefor the feature was removed.
I hope to return this feature on a per website base when Flobro is a independent application.


Create a discord.js bot client to send contact-us form data to GSA server's channel

Data is received by the Express.js instance running alongwith.
Text channel ID:<PHONE_NUMBER>344881686
Join the Discord server to discuss implementation with maintainers.
Express server: #184

I would like to work on this

@drealmap Please read the contribution guidelines and try to finish within the stipulated time. Thank you for contributing!


Change log for release-0.19.11

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/hold

/lgtm

/cherry-pick release-0.19

/unhold

/approve


add video to video newsletter list

I wonder why the checks are failing the link is correct 🤔

@fakela: if you check the error, it's not the link you added. I'll add the problematic link to the config file.


torch mlmodel

Open questions
name of the module:

I think GPU support is very straightforward. It's there and I just need to test it on an Orin I guess. it works on the maingear so the name of the module is torch and not torch-cpu. It's not on the registry yet, so let me know if I should change it?

infer()

Are single input and output tensors ok for a first version? I haven't investigated yet how does a multiple input/output tensors model look like in PyTorch? I explained what the keys of the input/output Dicts should be here.

metadata()

I haven't figured out the  type field in TensorInfo yet. 'float32' hardcoded for now.

Follow-up PRs

PyINstaller
GPU (or not)
Support pertained torchvision models. Need to talk about how the config should look like.

And don't forget about renaming the module to torch-cpu


Sampling

Add sampling control. A probabilistic sampling (eg, X% of events) would be a good start. Consider if to apply per-event, or per-session.

This should be configurable and default should be to sample everything to enable getting the most accurate view on matters.

Sorry for the bump, any updates on the sampling feature?

Session Based sampling
See: Design Doc: Session Based Sampling
### Tasks
- [ ] Implement sampling based on factor (%)
- [ ] Implement sampling based on characteristics (result is calculated with custom function)

### Tasks
- [ ] Add a draft title or issue reference here

Relates to #129

Sampling is released and to use ready (v1.3.1)


Kidney Exchange - Project Review

Hello Eddie,
After participating in MLH Local Hack Day build through the EddieHub guild, I came to know about this community. It has been an amazing experience. Keep doing these amazing works!!
My GitHub profile - here
My project link - here
Live - here
Note: You will be required to login to access the features of this project. You can use the following info.
username: test1
password: test1
Let me know your thoughts! Also, no need to hold back while reviewing :)

Thank you for sharing 👍 . I will review on a live stream / video soon 🤓

Consider adding an Issues Template as well!

Reviewed on live stream https://youtu.be/MrS_jAJ8l0o
Looks good 👍 , some thoughts

in the repo description suggest adding the live demo link
suggest creating releases / tags
if not creating packages, suggest hiding in settings
if not using wiki suggest hiding in settings
commit messages are not consistent, suggest using something like husky to check for commit message format / style
using issues with labels is great 👍
missing code of conduct https://github.com/siv2r/kidney-exchange/community
screenshot in the readme is great

@eddiejaoude @Prathamesh-Shanbhag Thanks for the review :)
Unfortunately, I missed the live stream this time but watched it later. This community is amazing!


Gui styles are shrinking edges of texture

Godot version:
3.2 beta 4
OS/device including version:
Windows 10 pro education 64 bit
Issue description:
styles are shrinking edges of texture on buttons when they edges should not be modified at all.
here is a picture of the edges being half the size then they should be

what should be happening is that the edges do not shrink but instead the center does like 9 slices should.
Steps to reproduce:

make a 16x16 rectangle texture with 1 pixel wide edges in a photo editing program.
add a button and assign the texture to the default style with a margin of 1,1,1,1
resize it smaller then the texture size
see result

Minimal reproduction project:
9Slice Style Bug.zip

then it should either be reverted or enabled by a flag which is default to off because thats not how 9 slices are suppose to work.
I had the same problem, but they ignored my existence ...
#37027

The aforementioned change that was implemented really shouldn't have been done without some careful thought into what kind of workflows this may break. I've been building a GUI system for a simulation game and if I have windows that are resizable or if I create one that just happens to get close to the small texture size it of course starts to distort. Now I'm having to employ workarounds such as defining minimum sizes and doing a lot of extra fine-tuning of the artwork and making adjustments to it, the code, layouts, etc. in order to accommodate this new behaviour. That is a lot of time I really wish I didn't have to put into this. I can definitely see where this kind of change may be useful, but it needs to be a toggle-able option.


fix(api): remove transformData

This removes transformData-related source code.
The example using transformData have been kept because they will be updated in other PRs.

Those are the ones from #3240.
I will rebase this PR once #3240 is merged. Sorry for the confusion.

This PR has been rebased @Haroenv.

Tests pass, did you do a global search for transformData?


Claim cinder volume is ready

Update the narrative about block device as volume.

This change is

/lgtm


File streams interrupted with Apache 2.4.35

Hi
Not sure if I'm at the right place but I have a problem with h2 since the Apache 2.4.35 update:
t=39441 [st= 757]    HTTP2_SESSION_RECV_HEADERS
                     --> fin = false
                     --> :status: 200

                         date: Tue, 09 Oct 2018 08:32:52 GMT
                         server: Apache/2.4
                         expires: Thu, 19 Nov 1981 08:52:00 GMT
                         cache-control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
                         pragma: no-cache
                         access-control-allow-origin: *
                         access-control-allow-methods: GET, POST,PUT
                         content-type: text/html; charset=UTF-8
                     --> stream_id = 87
t=39441 [st= 757]    HTTP2_SESSION_RECV_DATA
                     --> fin = false
                     --> size = 2
                     --> stream_id = 87
t=39441 [st= 757]    HTTP2_SESSION_UPDATE_RECV_WINDOW
                     --> delta = -2
                     --> window_size = 15728638
t=39441 [st= 757]    HTTP2_SESSION_RECV_DATA
                     --> fin = true
                     --> size = 0
                     --> stream_id = 87
t=39441 [st= 757]    HTTP2_SESSION_UPDATE_RECV_WINDOW
                     --> delta = 2
                     --> window_size = 15728640
t=44652 [st=5968]    HTTP2_SESSION_RECV_GOAWAY
                     --> active_streams = 0
                     --> debug_data = "timeout"
                     --> error_code = "0 (NO_ERROR)"
                     --> last_accepted_stream_id = 87
                     --> unclaimed_streams = 0
t=44652 [st=5968]    HTTP2_SESSION_CLOSE
                     --> description = "Finished going away"
                     --> net_error = 0 (?)
t=44652 [st=5968]    HTTP2_SESSION_POOL_REMOVE_SESSION
t=44653 [st=5969] -HTTP2_SESSION

Does it have something to do with "low: DoS for HTTP/2 connections by continuous SETTINGS (CVE-2018-11763)"?
Greetings Pascal

Trying to parse this. You receive a complete response to stream 757 and then, after 5 seconds, the connection is closed. Am I reading this right?
There were changes related to connection  timeout handling and idleness. Connected to the issue, but there were other fixes in connection timeout as well.
The 5 seconds is the default for KeepAliveTimeout in Apache. What behaviour do you expect and/or does it change when you set another keepalive timeout?

Will this go away if you set
KeepAliveTimeout 120

?

'''
t=  1029 [st=    80]  HTTP2_SESSION_RECV_HEADERS
--> fin = false
--> :status: 200
date: Wed, 10 Oct 2018 07:42:54 GMT
server: Apache/2.4
access-control-allow-origin: *
access-control-allow-methods: GET, POST,PUT
content-type: text/html; charset=UTF-8
--> stream_id = 767
t=  1029 [st=    80]  HTTP2_SESSION_RECV_DATA
--> fin = false
--> size = 1291
--> stream_id = 767
t=  1029 [st=    80]  HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = -1291
--> window_size = 15727349
t=  1048 [st=    99]  HTTP2_SESSION_UPDATE_RECV_WINDOW
--> delta = 1291
--> window_size = 15728640
t=121343 [st=120394]  HTTP2_SESSION_RECV_GOAWAY
--> active_streams = 1
--> debug_data = "timeout"
--> error_code = "0 (NO_ERROR)"
--> last_accepted_stream_id = 767
--> unclaimed_streams = 0
t=121347 [st=120398]  HTTP2_SESSION_CLOSE
--> description = "Connection closed"
--> net_error = -100 (ERR_CONNECTION_CLOSED)
t=121347 [st=120398]  HTTP2_SESSION_POOL_REMOVE_SESSION
t=121347 [st=120398] -HTTP2_SESSION
'''

Do you have a URL where I can try that with chrome?

Upon looking at that second log, I see that the stream is not closed. That would explain the hanging. In your first example the --> fin = true was there.

More questions: is this a static file or html generated by some php/cgi backend? (See #167 for another issue with missing fin)

Do you have a URL where I can try that with chrome?

Not right now. Trying to get a public instance of it

More questions: is this a static file or html generated by some php/cgi backend? (See #167 for another issue with missing fin)

It's generated by php.

And one more: I could really use a error_log at LogLevel http2:trace2 for such a request. :-D
(Mail it to icing at apache.org, in case data may be sensitive)

Ok, I'll give it a try.

And one more: I could really use a error_log at LogLevel http2:trace2 for such a request. :-D
(Mail it to icing at apache.org, in case data may be sensitive)

I have just sent the e-mail

Thanks! Just released a (hopefully correct) fix...

Problem seems gone with "mod_http2 (v1.11.3-git.." :+1:

Wonderful, thanks! Will try to get that added to 2.4.36.
Cheers,
Stefan

Am 10.10.2018 um 14:12 schrieb Pascal Christen<EMAIL_ADDRESS>Problem seems gone with "mod_http2 (v1.11.3-git.." 👍
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.


Generalized convolution musings

Some initial analysis suggests that it is possible to encapsulate a good deal of the convolution cases using a general convolution operator: https://docs.google.com/spreadsheets/d/1jK45uEIl9Aldbs4fFjAL4ArExbOCtSLdmFJvs8Wwafw/edit#gid=0

pytorch now has generic convolution forward and generic convolution backward, so closing this


Add support for HCB103A-1

I love the idea of this project and would love to have support added for the model HCB103A-1 controller. It appears that this is one of the newer models that they are using in several of their desks. What can I do to help get what is needed to add support for the HCB103A-1?

Example desks:

https://www.amazon.com/Flexispot-Workstation-Ergonomic-Controller-Adjustable/dp/B07W8W8XKV/
https://www.amazon.com/FLEXISPOT-Computer-Electric-Controller-Adjustable/dp/B08THG96PV/
https://www.loctekmotion.com/Standing-Desks/Home-Solutions/ET119
https://www.flexispot.com/height-adjustable-desks/seiffen-spliced-l-shaped-standing-desk-ef1l

I wasn't able to find the model listed on Flexispot's or LoctekMotion's websites.
An example desk with documentation for the HCB103A-1: https://www.flexispot.my/wp-content/uploads/2021/08/EF1-Manual.pdf

Images

Exterior

(The port shown to the right labeled as "HS" is the RJ45 port)

(There is a slot on the side that looks suspiciously like a USB port)
Internals

I've a similar desk and want to see it in this project as well.
The control panel optically looks exactly the same but is HCB103A-2.
Board has the silkscreen: HCB103(HCB123)_V7(main)
What I figured out so far.
MCU is STM8L151 C8T6
RJ45

Pin 7 - GND

Four Pin on side

STM Pin 1 - PA0 - SWIM - USART1
STM Pin 2 - PA1 - NRST
GND
VCC (STM Pin 10,11,12)

Well, I created a adapter to breakout the RJ45 to 2.54mm THT Headers and checked the signals with my oscilloscope.
I haven't seen usefull signals on the pins. All tested while moving the desk up and down.

to 4. 50mV 50Hz signal -> Noise
Steady 5.48V rail
Steady 2.7V rail
GND
Steady 5.74V rail

I will check the four-pin port in the next days.

@Floyer007 thanks for the help on this. I hope we can come up with something. I had kicked around the idea of just soldering some wires onto the push buttons and doing it that was also, but its just nowhere near as elegant.

Would at least be easier/cleaner on yours, as they use a FPC-cable in my version now:

After checking again HS01B-1 could fit.
GND [7] is at the right place and 5V [8] (5.7V actally from a internal 3.5A DC-DC converter) as well.
Pin 6 can be routet over D19 and Q5 to STM-Pin 41 (PC2, actually RX).
I wasn't able to trace the other signals on the board.
Setting Pin 4 to 5V didn't initiated a data output nor turned the display on.
Have to try the mentioned WakeUp Command

Sadly there is no output on the potential RX and TX pins.
Also there is no output on Pin 1 and 2 of the side port.

I have the same thing as @Floyer007 and found out that the RJ45 was supposed to carry a Bluetooth dongle.
https://fccid.io/2ARK8-BTD02
I tried to fiddle around with an ESP8266 but could not get anything to work, maybe one of you guys can figure out some more information about the BT dongle.

https://fccid.io/2ARK8-BTD02/Internal-Photos/Internal-Photos-4694579
This should be the interesting part cause it shows the cables for 5V, G, TX & RX.

The Pinout of this dongle just proves HS01B-1.
It shows a permanent connection between Pin8 and Pin4.
Bluteooth-Dongle Pinout
1 -
2 -
3 (wh) SWS
4 (rd) 5V-SW -> Permanent to +5V
5 (gr) RX-1
6 (sw) TX-1
7 (bl) GND
8 (ye) +5V
Now this dongles protocol would be interesting.
Do you know if it can be purchased somewhere?

All I found was this video: https://www.facebook.com/Flexispot-FR-103607731866634/videos/cool-avec-un-bluetooth-vous-pouvez-régler-lhauteur-de-votre-bueau-flexispot-sur-/366861188944567/
No place to buy one of those though (yet).

Hi guys,
I just had this project in mind again and tried the new ESPHome method, but it did not work as well.
So I gave up using the serial interface and did it the classical way.
I utilized the free space, where no components are placed for a second motor.
Everything got isolated with Koptan tape and a Raspberry Pi Pico W placed onto it.
As I learned the hard way, the plastic housing might press the BOOTSEL button. So keep the Pico away of the side of the housing.
The Pico W was choosen, as it's compatible with ESPHome and has a lot of IO, which might be usefull in the future to decode the display as well.
The original plan was to just connect the buttons to GPIOs and use the Picos open-drain to pull them down and press the buttons.
Turns out either the Pico does not support open-drain or ESPHome has issues setting it...
Therefore I choose nFETs (BS170) from an old project to pull the buttons to GND.
Source connected to GND, Gate to a GPIO and Drain via a wire to the resistors next to the buttons.
It does not look nice, but does it's job.
The signals should also be available on R1 and R2 on the main PCB, too.

Here is the used ESPHome code I used.
I utilizes the secret functionality:
esphome:
  name: flexispot
  friendly_name: flexispot

rp2040:
  board: rpipicow
  framework:
    # Required until https://github.com/platformio/platform-raspberrypi/pull/36 is merged
    platform_version: https://github.com/maxgerhardt/platform-raspberrypi.git

############################
# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: !secret api_encryption_key

ota:
  password: !secret ota_password

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  fast_connect: true

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Flexispot Fallback Hotspot"
    password: !secret fallback_password

time:
  - platform: sntp
    id: sntp_time
    servers:
      - !secret ip_sntp

#captive_portal:

# Not supported on Pico W
#web_server:
#  port: 80

############################
switch:
  - platform: gpio
    id: button_up
    name: "Up"
    icon: "mdi:arrow-up-bold-box"
    pin:
      number: 21
      inverted: false
      mode: OUTPUT

  - platform: gpio
    id: button_down
    name: "Down"
    icon: "mdi:arrow-down-bold-box"
    pin:
      number: 20
      inverted: false
      mode: OUTPUT

  - platform: gpio
    id: button_m1
    name: "M1"
    icon: "mdi:numeric-1-box"
    pin:
      number: 19
      inverted: false
      mode: OUTPUT
    on_turn_on:
    - delay: 500ms
    - switch.turn_off: button_m1

  - platform: gpio
    id: button_m2
    name: "M2"
    icon: "mdi:numeric-2-box"
    pin:
      number: 18
      inverted: false
      mode: OUTPUT
    on_turn_on:
    - delay: 500ms
    - switch.turn_off: button_m2

  - platform: gpio
    id: button_m3
    name: "M3"
    icon: "mdi:numeric-3-box"
    pin:
      number: 17
      inverted: false
      mode: OUTPUT
    on_turn_on:
    - delay: 500ms
    - switch.turn_off: button_m3

  - platform: gpio
    id: button_m4
    name: "M4"
    icon: "mdi:numeric-4-box"
    pin:
      number: 16
      inverted: false
      mode: OUTPUT
    on_turn_on:
    - delay: 500ms
    - switch.turn_off: button_m4

I hope this gives inspiration and/or helps.

I have tried @Floyer007 approach with an esp d1 Mini, and got it to work without nFETs, not all pins on the esp work, or the connection that I soldered is bad. But I was fine with only having 2 memory buttons and Up and Down.
switch:
  - platform: gpio
    name: "Position 1"
    icon: mdi:chair-rolling
    id: button_m1
    pin:
      number: D2
      inverted: True
      mode:
        output: True
        open_drain: True
    on_turn_on:
    - delay: 500ms
    - switch.turn_off: button_m1

  - platform: gpio
    name: "Down"
    icon: "mdi:arrow-down-bold-box"
    id: button_down
    pin:
      number: D3
      inverted: True
      mode:
        output: True
        open_drain: True

  - platform: gpio
    name: "UP"
    icon: "mdi:arrow-up-bold-box"
    id: button_up
    pin:
      number: D4
      inverted: True
      mode:
        output: True
        open_drain: True

  - platform: gpio
    name: "Possition 4"
    icon: mdi:human-handsup
    id: button_m4
    pin:
      number: D6
      inverted: True
      mode:
        output: True
        open_drain: True
    on_turn_on:
    - delay: 500ms
    - switch.turn_off: button_m4


Check for out of sync manifest and add support for generating it automatically via a comment

Attempting to tackle the manifest generation a little differently than before due to this.
To get what I think is the best middle ground, I've now made it so there's simply a check to see if the manifest is out of date, then fail if it is. When investigating, you will see the following message:

❌ Manifest update required. Comment on your PR with '@meilisearch sync-manifest' to update the manifest

As it says, comment on the PR with @meilisearch sync-manifest will then perform the job of updating the manifest and then adding a new commit to the pending PR. That way, we don't need to commit directly to main (due to branch protection) and then don't automatically commit to the working changes on PR (causing annoyance of rebasing/pulling for the creator).
I'm not sure if the @meilisearch sync-manifest is the best comment to use to trigger the job, so feel free to amend that to whatever you'd like 👍
Since the manifest is out of date, you should see the fail check already below. Feel free to comment with @meilisearch sync-manifest and see if it updates the PR and resolves the fail. I think it should work 🙈 Though maybe this change needs to be accepted first, before the job triggers.
Resolves: #12

@eskombro Hopefully this removes the headaches around the other solution.

Hello @carlreid, sorry for the delay. @eskombro is moving to another team in Meili, and we've just hired @alallema who takes the scope of @eskombro! 🙂 @eskombro is still in Meili so he will be able to take part in the (future) discussions in this repo, but less frequently! @alallema is new and it might take time before we come back to you here! Sorry for that, we try to be as reactive as possible!

@curquiza No bother, no rush on this one anyway 🙂

@meilisearch sync-manifest

@meilisearch sync-manifest

Hi @carlreid
I am just passing by! I am no longer maintaining this repo permanently.  will probably be around often, but @alallema will also be taking care of this repo! I wanted to thank you for all your contributions :)
I really like the new approach for this PR! The CI fail is great, and the idea of fixing it with the comment is amazing! I will let @alallema make the proper review!
Thanks and see you soon around :)

@meilisearch sync-manifest

@eskombro Nice try 😆 I do think this needs to be merged first though before the workflow will execute.

I wanted to thank you for all your contributions

No problem 😊

I will let @alallema make the proper review!

No stress, I'd rather the efforts are focused on the new engine and such. Been keeping an eye on the transplant repo and what has being going on around it 👀 exciting!

bors try

bors merge

bors r-

Bors merge


Edit in Row style

Hi team,
I'm on my fork of ng-admin, to test an edit in row style.
Here is my test:

                <ma-column field="::field" entry="::entry" entity="::entity"></ma-column>

                <list-actions entry="::entry" entity="::entity" buttons="listActions()"></list-actions>

                    <form class="col-lg-12 form-horizontal" name="{{ formController.name }}" ng-submit="formController.submitEdition(editForm, $event)">

                                <button type="submit" class="btn btn-primary"> {{"Save changes" | trans}}</button>

                    </form>

My question is, how can i call FormController in my ng-repeat-end (like edit view) ? With my own controller in my app ?

I think you need to create directives with their own controller, and an isolated scope.


Improved models for cryogenic fuel boiloff

This PR applies some minor improvements to the models for cryogenic fuels:

Boiloff fuel is only vented when it would result in an increase in tank pressure (if the volume of the boiloff gas at saturation is greater than the volume that is made available by liquid boiloff and fuel burn).
The latent heat of vaporization of hydrogen and methane is now a function of tank pressure.
Added Mylar as a material option for the insulation, specifically for vapor barriers.
Font size in tank diagrams for docs has been increased.

Codecov Report
Attention: Patch coverage is 52.38095% with 20 lines in your changes are missing coverage. Please review.

Project coverage is 74.64%. Comparing base (c224dd9) to head (28cc2aa).

Files
Patch %
Lines

src/fuel/fuel_properties.jl
0.00%
12 Missing :warning:

src/structures/tankWthermal.jl
60.00%
4 Missing :warning:

src/IO/read_input.jl
0.00%
3 Missing :warning:

src/structures/tankWmech.jl
50.00%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #29      +/-   ##
==========================================
- Coverage   74.73%   74.64%   -0.09%
==========================================
  Files          69       69
  Lines       13089    13108      +19
==========================================
+ Hits         9782     9785       +3
- Misses       3307     3323      +16

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

I converted the PR back to draft to increase test coverage based on Codecov report.


TextureRect ExpandMode enums are defined as the opposite of what they intuitively do

Godot version
v4.0.stable.official [92bee43ad]
System information
Windows 10
Issue description
Some simple controls in an hbox container:
Fit Width scales the image to match the control's height.

Fit Height turns the image into a sliver with no width.

The documentation does specify that each mode is meant to be inside a particular type of container (providing inapplicable options might be a separate issue) however the documentation seems also to conflict with the names:
EXPAND_FIT_WIDTH = 2
The height of the texture will be ignored. Minimum width will be equal to the current height. Useful for horizontal layouts, e.g. inside HBoxContainer.
EXPAND_FIT_HEIGHT = 4
The width of the texture will be ignored. Minimum height will be equal to the current width. Useful for vertical layouts, e.g. inside VBoxContainer.
I'm going to focus on the Fit Width property but the same logic applies to the other. The description in the docs states: "Minimum width will be equal to the current height" -- I interpret this as fitting the image to match the current height of the container, which is indeed what it does. The image is being scaled to fit the height. The height of the control determines the size of the image.
I understand that the width property of the source image is used in the size calculations, and that may have contributed to the name -- but to an end user, this makes no sense; the size of the original image is irrelevant, they don't care how big it originally was, they want it to fit inside the container.
The image is being scaled to fit the height of it's container.
These enums in my should clearly be swapped (along with their height_proportional variations) based on their descriptions and the actual results from their behavior. I see this as a usability issue (albeit a small one -- but it still gets under my skin).
Steps to reproduce
Not applicable
Minimal reproduction project
Not applicable

Intuition is veer personal and is tricky to pin down exactly, I'm not sure what the most clear wording would be

I understand it's tricky in the sense that both options use and mention both width and height.  However, I just want to point out that even in the response from @KoBeWi for the definition for the "Fit Width" the literal term "fit height" was used.

No the phrase used was "width will fit height" you can't ignore the context, but the options do not have contexts and are open to interpretation, just swapping the two isn't going to solve that imo


[SPARK-48712][SQL] Perf Improvement for encode with empty values or UTF-8 charset

What changes were proposed in this pull request?

This PR makes a short-circuit, which gets the underlying byte array directly and bypasses the encoding progress, for 'encoding UTF8String instances w/ UTF-8 charset' or 'UTF8String.EMPTY_STRING w/ any charset'.
Why are the changes needed?

Performance improvement, 10x~20x according to benchmark results
Does this PR introduce any user-facing change?

no
How was this patch tested?

new unit tests
benchmark tests
Was this patch authored or co-authored using generative AI tooling?

no

cc @cloud-fan @HyukjinKwon @dongjoon-hyun please help review this PR when you are available, thank you in advance

Merged to master
Thank you @cloud-fan


All environment variables are exposed to the client

Hello.
Current version of the storybook-builder-vite is leaking server-side environment variables to the client.
See:
https://vitejs.dev/guide/env-and-mode.html#env-files

To prevent accidentally leaking env variables to the client, only variables prefixed with VITE_ are exposed to your Vite-processed code.

See also: #105
How to reproduce

Create the .env file with content:

TEST=server
VITE_TEST=client-and-server

Add line to the .storybook/preview.js file:

console.log('import.meta.env', import.meta.env);

Start storybook:

npm run storybook

After Storybook is opened in a browser tab, open the Development tools, then reload page and check an output in the Console tab of development tools:

import.meta.env {
  // ...
  TEST: "server"
  VITE_TEST: "client-and-server"
}

Best wishes,
Sergey.

@IanVS yes, I made a pull request #187 with fix, please review it.


Simplify configuration files

Configuration files could be simpler. For example, tf_manager is almost always configure the same way. Create a default object for this class (like BLEU4) and make it default for [main].

I think this can be closed thanks to #640, #639, and #643.. More simplification will come in the future.


Fix missing from arguments in PackageDependency's comments

.upToNextMajor and .upToNextMinor need a from argument, but it was missing in the comments.
Motivation:
[Explain here the context, and why you're making that change. What is the problem you're trying to solve.]
While I was modifying a Package.swift file, I noticed that the comments for .upToNextMajor and .upToNextMinor were missing the from argument. So, I'd like to fix that.
Modifications:
[Describe the modifications you've done.]
Result:
[After your change, what will change.]

@swift-ci test


carbon intensity calculation

calculate the average carbon intensity over the duration of the job. For now this can be with the forecast data when the job starts, but we could later switch it to looking up the real data at the end of the job.

duplicate of #3


web progressive app, service workers , why not?

Assalamu aleykoum.
Have you considered making a web progressive app with service workers?
Since it's revolving around an API, it seems like a no-brainer to initiate that, as soon as there is ressources for it and sync it with the web frontend?
And service workers and  storing page images after first loading them unless hash is differentiating seems like the way to go?
What do you guys think?

@ATouhou +1 for PR :)

+1

I think it'd be great to store surahs since that's the homepage. Let's wait till v3 api

The app itself would not have to be updated so often, if the statics already comes shipped, but checks on server if, the server has a newer version or not.
Also we would have an app, that have all the ressources collected at one place

Any updates here, is there anyone working on this?
I can start working on it, it is straight forward with this webpack plugin https://github.com/goldhand/sw-precache-webpack-plugin
By default, it uses a cache-first strategy where it will cache all the assets so the second load will be almost instant, and whenever we have a new update it will download the new assets in the background and use them for the next visit of the website.
We can start with caching the assets for a better load time, then later start caching even the actual data with a network-first caching, so it will try to hit the network first but if the user is offline, it will fallback to the cached data.

It should just use the cacheFirst, then meanwhile get the real feed from the API. If the data is not the same (maybe version number or checksum) then there could be a little prompt saying "Site has updated, do you want to reload? " then reload the page (with js) dynamically

@ATouhou the sw-precache webpack plugin handles the versioning of the sw file.
And let's make it on steps as you're saying, first cache the assets to make the second visit quicker, then store the data itself from the API to have a full offline version.
Will start working on it, and open a PR soon Insha'a Allah.

@mahmoudfelfel please take it! Would love your help and I don't have much knowledge in this.

I see that the service worker has been registered to the application, but it's not working properly. Is this issue still opened? If yes, I would love to help by opening a PR soon. In syaa' Allah.. 😄


Full property visibility/staticness review & fixing of custom property merging

Primarily, this PR is a review of all sniff class properties and their handling.
I've broken up the PR into a number of isolated commits for easier review & having a clearer history for the various affected files.
tl;dr
This PR fixes/addresses a number of issues:

bullet 2 from issue #765 - static class properties in the WP_Sniff class
a variety of buggyness in the merging of custom lists with pre-set lists - see #786, #839 and comments in the #765 thread
a number of issues which need to be fixed for #614, i.e. some properties which are still set to public, but really should be made protected as changing these from the ruleset would break the sniff or at the very least break the intention of the sniff.
missing unit tests for custom sniff property handling

Pre-amble
Sniff properties which are public can be overruled via a custom ruleset.
Sniff properties should therefore only be public if that is the intended behaviour. Otherwise a more restrictive visibility should be used.
Changes to the visibility of properties may break backward compatibility for some users, but only if they were doing_it_wrong in the first place, so I'm not concerned about this.
Properties set via the ruleset will be handled by PHPCS as follows:

Properties with the type=array attribute - will be converted to arrays. PHPCS has the ability to handle key/value arrays if the property is set using the following syntax: key=>value,key2=>value2
All other properties will be treated as strings.
If the string value of a property is true or false, the property value will be cast to a boolean value before it's set.
Setting a property in a ruleset will overrule the previously set value. This also means that if two rulesets have conflicting values for a property, the value received from the last ruleset parsed by PHPCS will be the value used.

What this PR changes/fixes

I've reviewed every single sniff class property for visibility & static vs non-static and changed them where appropriate.
For the properties where custom lists are being merged with pre-set lists, I've added a helper function to handle the merging.
This helper function is a little bit "magical".

It will correctly handle custom properties passed as comma delimited strings as well as arrays. Basically being forgiving to end-users who forget to set the type=array bit when adding a property in a custom ruleset.
If anything else is passed it will disregard the value of the custom property.
If a base array to merge the custom property with is passed, it expects the base array  to be set up as value => true to allow for using isset() instead of in_array(). Only one existing array needed to be changed to allow for this $test_class_whitelist.
When merging a custom array with a base array, the custom array will be flipped, so the values will be added as keys to be in line with the above (can be turned off by passing false as the third param).
Any custom keys added to the base array through the merge will be given the value false. This has no impact when using isset(), but allows us to filter out anything added for a previous custom property value if the custom property would be overruled inline in a file. This in turn allows us to unit test the custom properties.
For more detail, see the function documentation

I've implemented use of this new utility function where appropriate.
For the custom array property merging issues, most sniffs used to add the custom values to the static pre-set arrays and only added these once for efficiency, using a $added_custom_properties setting to keep track of whether the custom properties had been merged in. Some of these static pre-set properties however would be used by several sniffs and could therefore be using a "contaminated" value. Also, the fact that the custom properties were only merged in once, prevented changing these values inline using the @codingStandardsChangeSetting syntax, which prevented unit testing them.
I've fixed this by:

Turning the $added_custom_properties property into an array to keep track of the previous merged in value(s) instead of being a true/false toggle.
This allows us to avoid merging the same values time & time again (efficiency), while still allowing the value to be changed on the fly. This minimizes the performance impact of the change, while allowing more flexibility and greater compliance with the default capabilities of PHPCS.

Additional notes:

The PHPCS 2.x minimum requirement is PHP 5.1. The new utility function however uses the array_fill_keys() function which was only introduced in PHP 5.2. This means that the minimum PHP requirement for WPCS has to go up to PHP 5.2. Considering that's an ancient version, I don't think this will cause any issues. Just to be sure, I have added this info to the requirements section of the readme.
I've corrected the default value of one property - was float, should have been string ($minimum_supported_version in WP/DeprecatedFunctions). This property is used in a version_compare(), so string is the expected value type anyway and would be the type if the property is overruled from the ruleset as well.
Reviewed the internal handling of properties.

ControlStructureSpacing / blank_line_check and blank_line_after_check: PHPCS handles the casting to boolean already. For the compares, made sure they are done against "our" defaults, so that even if incorrectly set, the additional boolean cast is not necessary.
ControlStructureSpacing / spaces_before_closure_open_paren: moved the cast to int up instead of doing it three times.

Implemented use of the exclude property in the WPCS rulesets, includes correcting an invalid (outdated) exclusion in the Extra ruleset.
Removed the $supportedTokenizers property in the WordPress_Sniffs_WhiteSpace_ControlStructureSpacingSniff as it was set to the default value used by PHPCS anyway.
I've moved the custom list merging to a separate function in the relevant sniffs.
Where appropriate, I've moved the merging of custom properties to a later point in the code flow to only do so if the properties are needed.
CSRF/Nonce sniff: This sniff uses the is_only_sanitized() method which calls the is_sanitized() method which uses the sanitization function lists, but there was no way to enhance them. Added the relevant custom properties to enable enhancing them for that specific sniff.
DirectDatabaseQuery sniff: This sniff did so far not extend the WP_Sniff class, but should do so within the new structure. Changed the sniff to leverage the properties of the WP_Sniff class as well.

The PR includes unit tests for all custom properties which weren't unit tested before now.
Question:

Does anyone remember whether there was a reason to make the CSRF/Nonce sniff $errorForSuperGlobals and $warnForSuperGlobals properties public ? That was the one set of properties I was in doubt about changing the visibility for.

Open issue/question:
What should be the value for the exclude property in the overall WordPress ruleset for the WordPress.PHP.DiscouragedPHPFunctions sniff ? Or should nothing be excluded ?
The Extra ruleset excludes create_function, the VIP ruleset excludes obfuscation. Based on that, I would suggest adding them both to the WordPress ruleset to maintain the same behaviour as before.
Technical details:
Previously, the excludes were done via the <exclude.. syntax, not by using the exclude property. As the WordPress ruleset includes both these ruleset, both excludes where set for the overall ruleset.
With this PR, the excludes will be done via the exclude property instead. The properties in ruleset are not cumulative, but overrule each other. That means that in effect the WordPress ruleset would now only exclude the obfuscation group as that's the value set in the last ruleset included (VIP).
Setting the exclude property to both from within the WordPress ruleset will maintain the old behaviour.
However, a case could be made to exclude nothing if the overall WordPress ruleset is used, which is why I'm making a point of putting this up for discussion.
Closes #765

Why do we need to change from <exclude.. syntax to the exclude property?

Why do we need to change from <exclude.. syntax to the exclude property?

I should probably have changed this already in #814. The errorcodes for these specific messages have changed, so the "old" codes won't work anymore.
I could have changes it over to the "new" codes, but especially for obfuscation that would mean adding a lot more codes.
I also figured that leading by example with using the property would be a good thing.

@GaryJones Have you got an opinion on this PR or should I remove you as a reviewer ?

Have you got an opinion on this PR or should I remove you as a reviewer ?

Reviewed and approved.

@GaryJones Great! Thanks.


Performance improvement using cv2 and numpy

I improved performance using cv2 for reading/resizing.
I also used numpy instead of nested for in class_image_to_image
Here is my fork: https://github.com/karolmajek/PSPNet-Keras-tensorflow
Now I am preparing YT vid:

Do you want me to make a pull request?

@karolmajek Please make a pull request, so I will see diff

@karolmajek Interesting that cv2 for reading/resizing brings such a nice speedup.
And of course your class_image_to_image is much superior to mine :)
Maybe make two pull requests, one for a new flag handling a live image source and one for the class_image_to_image improvement.

@karolmajek, thanks! Ndimage is really expensive especially for large size input image.


RequestFactory Rework

Rewrite the RequestFactory so it is a class instead of just a file with multiple functions

Current status?

this is queued because it's prio is super low, this ticket is almost unnecessary


Thread sanitizer from Clang 5.0 finds issues

The output is too long to list here. There's a lot of duplication but I didn't go through it carefully enough to distill it properly. This was run on Linux.
http://termbin.com/7gkn

@emanuelez, the URL mentioned in the description 404s now. Would it be possible to share instructions on how to re-run these tests so we can gather updated output?


React Native version is outdated

This currently uses react native version 0.46.1 which is deprecated

Migrated to Expo and recreated login UI #93


Scope Manager: Should it return Noop-types for Scope.active / Tracer.activeSpan?

Java has recently merged https://github.com/opentracing/opentracing-java/pull/263 (and the same change is pending in C# (https://github.com/opentracing/opentracing-csharp/pull/84)) which changes the behavior of the NoopTracer: It will now always return NoopScope.INSTANCE and NoopSpanImpl.INSTANCE instead of null values.
However, if people rely on these methods to never return null then this will violate the current "Scope Manager" RFC (see quote below) and it will ultimately lead to null pointer exceptions when people switch from a NoopTracer to a real tracer.

active, the Scope containing the current active Span if any, or else null/nothing.

Did I misinterpret this risk? If not, should we revert this change in Java or should we change the RFC to state that ALL scope managers should return Noop-types for Scope.active and Tracer.activeSpan?
/cc @carlosalberto (author of the RFC)
/cc @natehart @yurishkuro (people who contributed to the Java PR)
/cc @MikeGoldsmith (people wo contributed to the C# PR)
PS: @carlosalberto the RFC currently doesn't mention the convenience accessor Tracer.activeSpan - should it be added to the RFC?

I think it was a bug in Java NoopTracer, which has been fixed. The Scope Manager concept is somewhat orthogonal to the Tracer (esp. https://github.com/opentracing/specification/issues/114), it should be possible to use a real thread-local based scope manager with a Noop tracer.

@yurishkuro I think it was a bug in Java NoopTracer, which has been fixed.

Yes and no. It probably was a bug that scopeManager.active() returned null after a call to scopeManager.activate(). But now active() also returns a scope even if activate() was never called. And this is a behavior that "real" scope managers do not share.

@cwe1ss I think there should be two ways of using NoopTracer, (a) with a normal ScopeManager (thread-local), and (b) with a lightweight NoopScopeManager. https://github.com/opentracing/opentracing-java/pull/263 implements the option (b), and only that option. I think is should also allow option (a). Specifically, this line
https://github.com/opentracing/opentracing-java/pull/263/files#diff-b9123283a173da56a32c0717b632bb76R35
is incorrect, it should delegate to scopeManager.active() instead of defaulting to noop span instance.

There was also this PR https://github.com/opentracing/opentracing-java/pull/167 related to this topic.
Switch from "real" tracer to noop shouldn't fail on NPE.

the RFC currently doesn't mention the convenience accessor Tracer.activeSpan - should it be added to the RFC?

I think this is more of sugar on top of the API, so I think this is not important to include in the specification itself.

IHMO, the issue/PR @pavolloffay would be a nice thing to have, and would also address the point @yurishkuro made.
Regarding the specification: I think we need to change/update it to reflect this (and add any clarification as needed). Good thing we are still in the draft stage of it ;)

// about opentracing-ruby
Returning NOOP_INSTANCE may get especially confusing with https://github.com/opentracing/specification/blob/master/rfc/trace_identifiers.md#specification-changes . E.g. a logging library may include something like
if tracer.active_span
  log_metadata[:trace_id] = tracer.active_span.context.trace_id
end

which doesn't really make sense if you have tracing disabled / working with noop instance. I'd rather not add a dummy trace_id to the logs if I'm dealing with a noop instance.


issue 1

Create a readme file.

@AmmuRawat
Issue 1 is accomplished successfully

Issue 1 has bug regarding the input validation

Issue gets resolved


suggestion: make this usable in browser and first login flow (for use with IDPs)

If a feature like this worked in browser and first login flows, we could verify that an email address that is trying to be brokered from an IDP matches a specific domain name.

This is a good idea, I'll try to add that soon, thank you.


e2e tests need a user guide.

Setting up for running the e2e tests is not entirely obvious.  This needs a README.md with step-by-step commands that a user can follow to run the tests successfully.

proposed guide:

Create a project and save PROJECT_ID
Enable Compute API: gcloud services enable compute.googleapis.com --project=${PROJECT_ID}
create application default credentials: gcloud auth application-default login
run tests: go test -timeout 60m -v ./e2e/... -args -project ${PROJECT_ID}

Probably cut and paste this from https://github.com/GoogleCloudPlatform/k8s-cloud-provider/blob/master/e2e/doc.go
to a README


Mouse capturing broken when custom mouse speed / matrix set (Linux/X11)

Not for the first time I notice, if I install a 3D game that uses GLFW, then my mouse control does not work properly in it, with any movement of the mouse, the character's gaze in the game is directed as much as possible up, it is not possible to move it to the bottom, just with any movement it rotates around its axis, at first I thought this is a bug in the games themselves, but so in every game, so I decided to write about it here, it appears if in the Xorg settings set Option "TransformationMatrix" "0.6 0 0 0 0.6 0 0 0 1" or other non-standard knowledge
I can't remember all the games I've seen it in, the last thing I remember is https://github.com/jdah/minecraft-weekend and https://github.com/minetest/minetest
Minetest has an issue about this https://github.com/minetest/minetest/issues/8539

xubuntu 18.04
xinput version 1.6.2 XI version on server: 2.3
GLFW running 3.2.1 X11 GLX EGL clock_gettime /dev/js Xf86vm shared
I have the same issue when I set xinput set-prop 14 (mouse) 158 (transfmatrix) 0.1, 0.0, 0.0, 0.0, 0.1, 0.0, 0.0, 0.0, 1.0 any mouse input from GLFW_CURSOR_DISABLED is equal to half of negative screen size, i.e. with screen size set to (100, 50), moving cursor and polling for mouse movement will get movement of about (-50, -25).

This patch solves the issue for me (on 3.3.8, this needs some slight edits to work on master):

patch
diff --git a/src/x11_init.c b/src/x11_init.c
index 6049904a..04252631 100644
--- a/src/x11_init.c
+++ b/src/x11_init.c
@@ -607,6 +607,10 @@ static GLFWbool initExtensions(void)
             _glfw_dlsym(_glfw.x11.xi.handle, "XIQueryVersion");
         _glfw.x11.xi.SelectEvents = (PFN_XISelectEvents)
             _glfw_dlsym(_glfw.x11.xi.handle, "XISelectEvents");
+        _glfw.x11.xi.GetClientPointer = (PFN_XIGetClientPointer)
+            _glfw_dlsym(_glfw.x11.xi.handle, "XIGetClientPointer");
+        _glfw.x11.xi.WarpPointer = (PFN_XIWarpPointer)
+            _glfw_dlsym(_glfw.x11.xi.handle, "XIWarpPointer");

         if (XQueryExtension(_glfw.x11.display,
                             "XInputExtension",
diff --git a/src/x11_platform.h b/src/x11_platform.h
index 03ff9d24..9da361f7 100644
--- a/src/x11_platform.h
+++ b/src/x11_platform.h
@@ -113,8 +113,12 @@ typedef Bool (* PFN_XF86VidModeGetGammaRampSize)(Display*,int,int*);

 typedef Status (* PFN_XIQueryVersion)(Display*,int*,int*);
 typedef int (* PFN_XISelectEvents)(Display*,Window,XIEventMask*,int);
+typedef Bool (* PFN_XIGetClientPointer)(Display*,Window,int*);
+typedef Bool (* PFN_XIWarpPointer)(Display*,int,Window,Window,double,double,int,int,double,double);
 #define XIQueryVersion _glfw.x11.xi.QueryVersion
 #define XISelectEvents _glfw.x11.xi.SelectEvents
+#define XIGetClientPointer _glfw.x11.xi.GetClientPointer
+#define XIWarpPointer _glfw.x11.xi.WarpPointer

 typedef Bool (* PFN_XRenderQueryExtension)(Display*,int*,int*);
 typedef Status (* PFN_XRenderQueryVersion)(Display*dpy,int*,int*);
@@ -394,6 +398,8 @@ typedef struct _GLFWlibraryX11
         int         minor;
         PFN_XIQueryVersion QueryVersion;
         PFN_XISelectEvents SelectEvents;
+        PFN_XIGetClientPointer GetClientPointer;
+        PFN_XIWarpPointer WarpPointer;
     } xi;

     struct {
diff --git a/src/x11_window.c b/src/x11_window.c
index ddda48d7..03818829 100644
--- a/src/x11_window.c
+++ b/src/x11_window.c
@@ -2844,8 +2844,13 @@ void _glfwPlatformSetCursorPos(_GLFWwindow* window, double x, double y)
     window->x11.warpCursorPosX = (int) x;
     window->x11.warpCursorPosY = (int) y;

-    XWarpPointer(_glfw.x11.display, None, window->x11.handle,
-                 0,0,0,0, (int) x, (int) y);
+    int device;
+    if (XIGetClientPointer(_glfw.x11.display, window->x11.handle, &device)) {
+        XIWarpPointer(_glfw.x11.display, device, None, window->x11.handle,
+                0, 0, 0, 0, x, y);
+    }
     XFlush(_glfw.x11.display);
 }

I'm unsure if XInput is OK to be made mandatory (or if this patch is broken with weird input device configurations), so I haven't submitted a pull request for this. I will leave it here for anyone else who comes across the issue; if anyone wants to try and get this merged I'm fine with it.


Release 1.0.0-rc.1

What this PR does / why we need it:
Releases 1.0.0-rc.1 to main. Follows from #887.
Special notes for your reviewer:

This probably will be done during the EMEA day, or I'll be proven wrong twice :D
Not actually creating the release yet. Not sure if that matters--pretty sure it doesn't, as it targets the tag rather than main, and we already have the tag, but figure it's a pretty small task atop the review/merge here. Prepped text: https://gist.githubusercontent.com/rainest/a3f50e7ccd9281edd1b685fa57fc8e1b/raw/50c9a70c912ea533487edba1c47792f035137254/release.md
Image built and pushed to Bintray, but as commented in the release process doc, not tagged latest. Pretty sure we do not want to do this for RCs, so assuming that gets a vote of approval, will work it into revised release process guide.
Didn't perform the "If releasing a new major or minor version, create and push a branch for it, e.g. git checkout 1.0.0-rc.1; git checkout -b 1.0.x; git push 1.0.x. GitHub will automatically protect the branch." step either. Less sure on whether that's something we want to omit for RCs--if we do want to create that immediately, well, the command is <<<
#888 came in mid-release. Minor doc fix. As the tag is already created, I don't want to stick it into RC1, but we probably should go ahead and merge immediately after merging this to incorporate it into 1.0.0 final.

Hmmm, by making a rc pre-release, we've hit the corner case of our release procedure.
I see main as a "stable" branch matching the latest released version. And, obviously, 1.0.0-rc.1 is a pre-release, not a release.
If we merge this PR, then users will get directed to pre-release documentation, and by applying manifests from main's deploy/, they will get an RC instead of latest stable. I don't think that's what they expect, and what the point of a pre-release version is.
Therefore, unless you (@rainest) see value in merging this PR right now regardless of the above, I'm inclined towards holding this PR back for now, and merging next to master only after a final GA release of 1.0.0.

Other than that:

This probably will be done during the EMEA day, or I'll be proven wrong twice :D

Gotcha. 😆

Not actually creating the release yet. Not sure if that matters--pretty sure it doesn't, as it targets the tag rather than main, and we already have the tag, but figure it's a pretty small task atop the review/merge here. Prepped text: https://gist.githubusercontent.com/rainest/a3f50e7ccd9281edd1b685fa57fc8e1b/raw/50c9a70c912ea533487edba1c47792f035137254/release.md

Would it make sense to release but mark as pre-release? (pic rel)

Image built and pushed to Bintray, but as commented in the release process doc, not tagged latest. Pretty sure we do not want to do this for RCs, so assuming that gets a vote of approval, will work it into revised release process guide.

Sounds good to me :+1:

* Didn't perform the "If releasing a new major or minor version, create and push a branch for it, e.g. `git checkout 1.0.0-rc.1; git checkout -b 1.0.x; git push 1.0.x`. GitHub will automatically protect the branch." step either. Less sure on whether that's something we want to omit for RCs--if we do want to create that immediately, well, the command is <<<

My (uneducated) guess is that development towards 1.0.x shall go into the 1.0.x branch. In other words, I see the 1.0.x  as a "bleeding edge" of the 1.0.x stream. Therefore my vote would be to actually perform this step - let's agree on something for the future.

#888 came in mid-release. Minor doc fix. As the tag is already created, I don't want to stick it into RC1, but we probably should go ahead and merge immediately after merging this to incorporate it into 1.0.0 final.

As in my answer immediately above - our release process should be well defined about last-minute drop-ins. That would be problematic if a more serious (in terms of regression risk) PR got merged into next amid a release.

Closing this for now, #891 will be merged into next, followed by a merge of next into main.


Should change keyboardType to phone-pad instead of number-pad???

hi, thanks for your library. IMHO, the keyboard should be phone-pad, or can you make it available for setting via props. So we can choose it flexibly

ah, I found we can change it via textInputProps. So close this issue :)


Zh tw

I add zh-TW language file for 繁体中文
ps. There is some of the sentence which do not have translation yet. So I leave it unchanged.

Thanks 👍


fix: Close button in rundown moved to front

The close button (X) has been moved to the front by setting z-index to 10000. This is a quick fix and the UI shall at some point be revisited and refactored.

Perfect, thanks


What should I use for a MAC .NET app?

Hi Squirrel,
I'm building a .NET app that will run on Macs.  What package should I use for updating?  Is Squirrel.Windows for just windows or .NET in general?  Should I use Squirrel.Mac?

This isn't really a question about Squirrel.Mac. I'm not sure what the appropriate update solution is for .NET apps.


Added eventing tls to eventing-lates in ekb

Changes
This is to help with issues discussed here: https://github.com/knative-sandbox/eventing-kafka-broker/pull/3156

Add the core eventing tls resources to the files copied in nightly CI to the eventing kafka broker.

/kind enhancement

/cc @pierDipi


clone() is broken and unsafe with CLONE_VM flag

clone() has a few issues when used with CLONE_VM, unless it is used together with CLONE_VFORK.

it takes a Box<FnMut> by value, which will be moved, dropped, and destroyed when the function returns back to the caller.

essentially means it will unconditionally segfault when passed CLONE_VM

Even if it did work, the mutable borrow of the stack will end once the clone() call returns, even if the cloned process is still running, meaning you can modify the child process' stack as it runs.
There's no way to provide the thread/TLS/etc. parameters for the thread-related flags.

I was actually going to suggest that its prototype be changed to an unboxed FnOnce, since the caller's stack will never fall out from under you unless CLONE_VM is used... but I think it also needs to disallow the CLONE_VM flag entirely (unless CLONE_VM | CLONE_VFORK). Perhaps offer a second unsafe version for that use.

clone() also doesn't impose any limitations on the callback -- it can be !Send, it can reference variables that go out of scope as soon as the clone() call is made... basically, clone() enables every unsafety Rust was built to prevent. This is a very serious soundness hole; for a lack of a better solution I propose to make clone() unsafe ASAP.

The point of nix is to provide safe wrappers around a lot of these primitives. The final suggestion from @arcnmx seems like it's a safe version, even if it has reduced functionality. I think we should offer that use case instead and punt on a complete but safe version for now, unless someone objects to that.


Integrate DISP-S1 final SAS delivery 0.5.2

Description

Integration for latest delivery of DISP-S1 final SAS v 0.5.2

Affected Issues

Closes #551

Testing

Unit tests are passing (local)
Int tests are currently FAILING while awaiting new golden dataset

Other aspects of int test (ie, output files, ISO XML gen) look good

Intel-based expected assets for integration test have been uploaded to S3, and the integration test now passes.


Support for helm

Hey @mburumaxwell,
Recently, we have added support for helm in dependabot core. https://github.com/dependabot/dependabot-core/pull/5738
Do we need a new release of the docker image here?

Hi @nilekhc , yes a new release of the docker image is required but after there's a new release of the depenedabot-core package.  The last one was over a month ago, but I see you are already ahead of game: https://github.com/dependabot/dependabot-core/pull/5738#issuecomment-1275425261.

@mburumaxwell, does the latest tag of tingle/dependabot-azure-devops pull main branch of dependabot-core?

@nilekhc no it doesn't because this repository uses the gem packages that have been released. I am unsure of the stability in supporting "nightly" versions of dependabot-core

@mburumaxwell Looks like dependabot core has changed its release model.
https://github.com/dependabot/dependabot-core/pull/5738#issuecomment-1290111754

@mburumaxwell Looks like they have released a new version - https://github.com/dependabot/dependabot-core/pull/5738#issuecomment-1297377878

@mburumaxwell Any luck with new release of the extension?

@nilekhc quite a number of changes I needed to go through to see if there is anything that's an issue. A new version should be available later in a few hours.

@mburumaxwell any luck?

@nilekhc , the release on 7th November has the updated dependabot libraries. Does this fail on your setup?

@nilekhc , experiments and other updater options can now be specified in an ENV or in the task e.g. goprivate=true,kubernetes_updates=true as per #391.
Does this and the updated base packages (Nov 7) resolve the issue, now?

Hi @mburumaxwell,
It work's for Dcokerfile and Kubernetes YAML files. But it's not working for Helm chart values.yaml file.
I am now pulling tingle/dependabot-azure-devops:0.10 in my pipeline and using the config file as follows:
jobs:
  - job:
    steps:
    - task: dependabot@1
      inputs:
        useConfigFile: true

The config file looks like this:
version: 2
updates:
  - package-ecosystem: "docker"
    directory: "/"
    assignees:
      - "dependabot"

Test helm chart has values.yaml file which contains:
image:
  repository: nginx
  pullPolicy: IfNotPresent
  # Overrides the image tag whose default is the chart appVersion.
  tag: "1.17.7"

I am expecting it to create PR for tag with the latest version. Is there anything I am missing here?

I'm not sure about the functionality specific for Helm vs Docker/Kubernetes. Could it be that a second nesting level is required, similar to the examples in https://github.com/dependabot/dependabot-core/pull/5738
Say
controller:
  image:
    repository: nginx
    pullPolicy: IfNotPresent
    # Overrides the image tag whose default is the chart appVersion.
    tag: "1.17.7"

I don't think that's the issue. It's working correctly on the github - https://github.com/Azure/secrets-store-csi-driver-provider-azure/pull/1021/files#diff-466a916b0bbb09a9284539477d45df8196d11009e1ab0a1c90bac23227f8037fL117
Ans you also said that the extension has picked up the latest bits from dependabot-core which supports this feature right?

Latest tag released. The latest bits are still in released

What do you mean? Sorry I did not follow.

The updates are managed by the hosted version of dependabot. It has been the case since the beginning.
The logic for reaching to Docker/Kubernetes is the same from this extension's POV except of registration of experiments is required.
Current version is also latest release (0.213.0). I am certain there are improvements that have been made since such as no longer requiring the experiment to be registered. Those would likely have been deployed to the hosted version but haven't been released/tagged hence not available here.
That said, you can toy around with the Gemfile to use a git SHA in place of a tag. build the container image and test out the latest bits of the core logic.

@nilekhc seems we have a new version 0.214.0 released Nov-30, re: #407
It is likely that much would be resolved in this particular release although https://github.com/dependabot/dependabot-core/pull/6144 appears to not have made it for the release.
If this persists, could you offer a public repo on Azure DevOps to repro?

Looks like it correctly picks up the version to upgrade from values.yaml but failing to update the content.
Status: Downloaded newer image for tingle/dependabot-azure-devops:0.11
warning: parser/current is loading parser/ruby31, which recognizes3.1.3-compliant syntax, but you are running 3.1.2.
Please see https://github.com/whitequark/parser#compatibility-with-ruby-mri.
/home/dependabot/dependabot-script/vendor/ruby/3.1.0/gems/dependabot-docker-0.214.0/lib/dependabot/docker/file_updater.rb:158:in `updated_yaml_content': Expected content to change! (RuntimeError)
	from /home/dependabot/dependabot-script/vendor/ruby/3.1.0/gems/dependabot-docker-0.214.0/lib/dependabot/docker/file_updater.rb:28:in `block in updated_dependency_files'
	from /home/dependabot/dependabot-script/vendor/ruby/3.1.0/gems/dependabot-docker-0.214.0/lib/dependabot/docker/file_updater.rb:22:in `each'
	from /home/dependabot/dependabot-script/vendor/ruby/3.1.0/gems/dependabot-docker-0.214.0/lib/dependabot/docker/file_updater.rb:22:in `updated_dependency_files'
	from ./update-script.rb:379:in `block in <main>'
	from ./update-script.rb:317:in `each'
	from ./update-script.rb:317:in `<main>'
Using hostname = '<hostname>', protocol = 'https', port = '443'.
Registering exepriment 'kubernetes_updates=true'
Using 'https://<hostname>:443/' as API endpoint
Fetching docker dependency files for RenovateBotTest/DependencyManagement/_git/dependabot-test
Targeting 'default' branch under '/helm-test' directory
Parsing dependencies information
Checking if nginx 1.17.7 needs updating
Requirements to unlock own
Updating nginx from 1.17.7 to 1.23.2

@mburumaxwell Looks like Ruby version mismatch. The extension doesn't manage Ruby version, does it?

Which versions don't match?

Ruby version
warning: parser/current is loading parser/ruby31, which recognizes3.1.3-compliant syntax, but you are running 3.1.2

This is aligned with the main repo.
https://github.com/dependabot/dependabot-core/blob/main/.ruby-version
My attempts at using 3.1.3 didn't work.
Further, it's just a warning and we've heard much of those in the past.
The bigger question is what is making updated_yaml_content fail. Please provide a public ADO repo for reproduction.

@nilekhc I cloned the https://github.com/Azure/secrets-store-csi-driver-provider-azure reference repo and did some changes to allow me to use this extension and the pipeline seems to have run just fine. Here's the pipeline run:
https://dev.azure.com/tingle/dependabot/_build/results?buildId=53033&view=logs&j=12f1170f-54f2-53f3-20dd-22fc7dff55f9&t=1f93c1a3-255b-505a-53c9-c382114aabf5
Seems to be producing the same PR as https://github.com/Azure/secrets-store-csi-driver-provider-azure/pull/1021
Am I missing something?
I also run this in an organization using the currently available version and it worked to the point of PR creation:
2022-12-12T16:52:01.3200644Z ##[section]Starting: Dependabot
2022-12-12T16:52:01.3210172Z ==============================================================================
2022-12-12T16:52:01.3210448Z Task         : Dependabot
2022-12-12T16:52:01.3210686Z Description  : Automatically update dependencies and vulnerabilities in your code
2022-12-12T16:52:01.3210904Z Version      : 1.11.314
2022-12-12T16:52:01.3211139Z Author       : Tingle Software
2022-12-12T16:52:01.3211396Z Help         : For help please visit https://github.com/tinglesoftware/dependabot-azure-devops
2022-12-12T16:52:01.3211706Z ==============================================================================
2022-12-12T16:52:01.6427028Z [command]/usr/bin/docker run --rm -i -e DEPENDABOT_PACKAGE_MANAGER=docker -e DEPENDABOT_DIRECTORY=/manifest_staging/charts/csi-secrets-store-provider-azure -e DEPENDABOT_OPEN_PULL_REQUESTS_LIMIT=5 -e DEPENDABOT_FAIL_ON_EXCEPTION=true -e AZURE_ORGANIZATION=*** -e AZURE_PROJECT=*** -e AZURE_REPOSITORY=repro-366 -e AZURE_ACCESS_TOKEN=*** -e AZURE_MERGE_STRATEGY=2 tingle/dependabot-azure-devops:0.11
2022-12-12T16:52:01.7409074Z Unable to find image 'tingle/dependabot-azure-devops:0.11' locally
2022-12-12T16:52:02.7711573Z 0.11: Pulling from tingle/dependabot-azure-devops
2022-12-12T16:53:18.9872017Z Status: Downloaded newer image for tingle/dependabot-azure-devops:0.11
2022-12-12T16:53:20.9769332Z warning: parser/current is loading parser/ruby31, which recognizes3.1.3-compliant syntax, but you are running 3.1.2.
2022-12-12T16:53:20.9770303Z Please see https://github.com/whitequark/parser#compatibility-with-ruby-mri.
2022-12-12T16:53:25.9749786Z Using hostname = 'dev.azure.com', protocol = 'https', port = '443'.
2022-12-12T16:53:25.9750690Z Using 'https://dev.azure.com:443/' as API endpoint
2022-12-12T16:53:25.9751152Z Fetching docker dependency files for ***/***/_git/repro-366
2022-12-12T16:53:25.9751626Z Targeting 'default' branch under '/manifest_staging/charts/csi-secrets-store-provider-azure' directory
2022-12-12T16:53:25.9751996Z Parsing dependencies information
2022-12-12T16:53:25.9752370Z Checking if oss/azure/secrets-store/provider-azure v1.3.0 needs updating
2022-12-12T16:53:25.9752811Z No update needed for oss/azure/secrets-store/provider-azure v1.3.0
2022-12-12T16:53:25.9753232Z Checking if oss/kubernetes-csi/secrets-store/driver v1.2.3 needs updating
2022-12-12T16:53:25.9753519Z Requirements to unlock own
2022-12-12T16:53:25.9753885Z Updating oss/kubernetes-csi/secrets-store/driver from v1.2.3 to v<IP_ADDRESS>
2022-12-12T16:53:25.9754354Z Submitting oss/kubernetes-csi/secrets-store/driver pull request for creation. Done (PR #21934).
2022-12-12T16:53:25.9754836Z Checking if oss/kubernetes-csi/secrets-store/driver-crds v1.2.3 needs updating
2022-12-12T16:53:25.9755129Z Requirements to unlock own
2022-12-12T16:53:25.9755499Z Updating oss/kubernetes-csi/secrets-store/driver-crds from v1.2.3 to v1.2.4
2022-12-12T16:53:25.9755982Z Submitting oss/kubernetes-csi/secrets-store/driver-crds pull request for creation. Done (PR #21935).
2022-12-12T16:53:25.9756276Z Done
2022-12-12T16:53:26.1266256Z ##[section]Finishing: Dependabot

@mburumaxwell It appears to be working with this exact values.yaml. I am still unsure what's wrong with the sample chart I created with helm create. I'll dig more.
Nonetheless, thanks for your help.

@mburumaxwell fyi, I think I have found the bug - https://github.com/dependabot/dependabot-core/issues/6313

This having been fixed by https://github.com/dependabot/dependabot-core/pull/6344, the next tagged release of dependabot-core would include the fix, and hopefully soon.

@mburumaxwe, I tested this, and works as expected.

Awesome. Thanks for reporting back


Harmonograph-Ansh

[x] I have read the steps to getting a blot

[x] I am submitting art that...

[x] is algorithmically generated (will change each time the program is run)
[x] is drawable on a blot (fits in the work area & doesn't overlap too much)
[x] is original (not copied from somewhere else)
[x] doesn't call Math.random() (See the documentation on randomness)

[ ] Optional, if you used a tutorial or based your art on something else, please include the link here:

[ ] Optional, if you remixed this from something else, mention it here:

You can adjust the values p1, p2, p3, p4, f1, f2..... d1, d2.... To generate art just like a harmonograph does

I think that's a limitation of blot that it cannot draw this much thin lines, and I don't think the art can be changed further because that's the algorithm for Harmonograph. And for achieving a similar like this, you will most likely to adjust the values

@ansh3108 any update on this? I can't wait to see the next iteration!

@maxwofford this is the final version from my side! I don't really believe that it can go a bit further because of the limitations in blot.

oh, you have to adjust the values as i mentioned earlier

It kinda looks something like you mentioned

This's how it looks like when drawn with a blot!

Oh, just saw your comment. Please update your code so it generates that without adjusting the values! if you have some adjustable variables you can also hook them up with the provided random function

Sure!

@maxwofford Done with the changes!

alright! on it

Done! @qcoral

Added!


switch to TLS 1.2 or 1.3 for the gRPC secure comms

The current secure comms only supports SSL which is deprecated.
note that it could be that the thing called SSL in the current implementation is actually doing TLS, according to ChatGPT:
Yes, gRPC fully supports TLS (Transport Layer Security), allowing for secure communication over the network. TLS is supported by both gRPC Core (for languages like C++, Java, Go, and others) and gRPC libraries in various languages, including Python, Ruby, and Node.js. Here's a brief overview of how TLS works with gRPC and how to enable it:
1. TLS Support in gRPC
gRPC uses HTTP/2 as its underlying transport protocol, which natively supports TLS for secure communication. By configuring TLS in gRPC, you can ensure data encryption, integrity, and authentication between client and server.
2. Enabling TLS in gRPC
To enable TLS in gRPC, you’ll need:

A valid SSL/TLS certificate: This can be a self-signed certificate (for testing) or a certificate issued by a trusted certificate authority (for production).
A private key corresponding to the certificate.

3. Example of Setting Up TLS in gRPC (C++)
Below is a simple example of how to set up TLS in gRPC for a C++ application:
Server-Side (C++)
#include <grpcpp/grpcpp.h>
#include "your_service.grpc.pb.h" // Your gRPC service definition

void RunServer() {
    std::string server_address("<IP_ADDRESS>:50051");

    // Load server certificate and private key
    grpc::SslServerCredentialsOptions::PemKeyCertPair key_cert_pair = {
        .private_key = "path/to/server_key.pem",
        .cert_chain = "path/to/server_cert.pem"
    };

    grpc::SslServerCredentialsOptions ssl_opts;
    ssl_opts.pem_key_cert_pairs.push_back(key_cert_pair);
    ssl_opts.pem_root_certs = ""; // Leave empty to use default CA certificates

    // Create the server with TLS credentials
    auto server = grpc::ServerBuilder()
                      .AddListeningPort(server_address, grpc::SslServerCredentials(ssl_opts))
                      .BuildAndStart();

    server->Wait();
}

Client-Side (C++)
#include <grpcpp/grpcpp.h>
#include "your_service.grpc.pb.h" // Your gRPC service definition

void RunClient() {
    std::string server_address("localhost:50051");

    grpc::SslCredentialsOptions ssl_opts = {
        .pem_root_certs = "path/to/ca_cert.pem"
    };

    // Create the channel with TLS credentials
    auto channel = grpc::CreateChannel(server_address, grpc::SslCredentials(ssl_opts));
    auto stub = YourService::NewStub(channel);

    // Proceed with calling remote methods on the stub
}

4. TLS in Other Languages

Python: Use grpc.ssl_channel_credentials for clients and grpc.ssl_server_credentials for servers.
Java: Use ManagedChannelBuilder and NettyServerBuilder with useTransportSecurity.
Go: Use grpc.WithTransportCredentials with credentials.NewClientTLSFromFile.

5. Mutual TLS (mTLS)
gRPC also supports mutual TLS (mTLS), where both the client and server authenticate each other. This requires each party to present a certificate to establish a trusted connection.
Summary

gRPC supports TLS for secure, encrypted communication.
You can configure TLS using server and client credentials, and gRPC libraries provide APIs in each supported language.
Mutual TLS (mTLS) is also supported if you need two-way authentication.

Using TLS with gRPC is a robust choice for ensuring secure data transmission and is widely adopted in production environments.

The naming of grpc::SslCredentialsOptions might indeed be misleading because it includes "SSL" in the name, but rest assured, gRPC uses TLS (Transport Layer Security) under the hood, not the deprecated SSL protocols (SSL 2.0 or SSL 3.0).
Why "SSL" in the Name?
Historically, "SSL" was the original protocol name, and some libraries and APIs still retain "SSL" in their names for backward compatibility or historical reasons, even though they actually implement TLS. This is the case with gRPC, where grpc::SslCredentialsOptions refers to the options used to configure TLS settings.
TLS Versions Supported by gRPC
gRPC libraries leverage the underlying TLS libraries of each language:

C++ (gRPC Core): Often uses OpenSSL or other libraries, which support TLS 1.2 and TLS 1.3, depending on the version of the library installed.
Java: Uses the JVM’s TLS implementation, typically supporting TLS 1.2 and TLS 1.3.
Go: Built-in support for TLS 1.2 and TLS 1.3.
Python, Node.js, etc.: TLS versions depend on the underlying libraries and versions (like OpenSSL) but generally support modern TLS versions.

Security in gRPC
The grpc::SslCredentialsOptions structure in C++ or similar options in other languages allow you to:

Specify certificates and private keys for TLS.
Choose root certificates to verify the server's identity.
Optionally configure mutual TLS (mTLS), which adds additional security by authenticating both the client and the server.

Summary

The term "SSL" in grpc::SslCredentialsOptions is historical and does not mean it uses outdated SSL protocols.
gRPC relies on TLS for secure communication, and its underlying libraries typically support modern TLS versions (TLS 1.2 and TLS 1.3).
Your connections with grpc::SslCredentialsOptions are secure with modern TLS standards.

In conclusion, while the naming can be confusing, gRPC does not use deprecated SSL protocols and provides a robust and secure setup with modern TLS support.

maybe addressing this issue is to simply remove the ssl as an option for --secure_coms and just have off and 'tls` as options?


Update library for compatibility with latest Slate

Import latest slate assets
Add configuration variables for logo image and search functionality
Rewrite $.tocify for compatibility with new slate version
Update layout for parity with new slate styling
Allow for per-request response attributes
Remove extraneous rake tasks

@ahorner thank you for updating this project, you're amazing! Changes look good, would you like me to merge this?
Also, will you be actively using this repository? If so, I can make you a collaborator if you'd like to merge and release your own versions.

Feel free to merge away!
The only thing I'm anticipating adding beyond this PR is support for including Apitome's formatted_readme in the final output, but there may be bits and bobs I notice as I'm working through my use case. Collaborator access would be wonderful, but that's totally up to you.


Backup auto delete not working (on synology?)

Hi,
For some reason, the world backups are not being deleted after (the default) 3 days on my synology nas.

Enjoying the game and lovely docker container!!!

@belleDESiRE thank you for your report.!
This is indeed a bug. It is working as designed by the find command that finds the old backups but I am using it wrong 🙂
Will submit a fix.

@belleDESiRE thank you for your report.!
This is indeed a bug. It is working as designed by the find command that finds the old backups but I am using it wrong 🙂
Will submit a fix.

Tested, works. tx!


Add FitFileEncoder for writing FIT files

Fix #8
I have started with FitFileEncoder, see the test_encoder.py. I will rebase this PR while fixing the FitFileEncoder and edit this initial message.
The messages are created by DataMessageCreator just to keep quite a lot of code outside of the core DataMessage.
Cannot write:

compound fields,
accumulated fields,
developer fields.

But these fields are not necessary for an application generated FIT files. The compound and accumulated fields are designed to save a few bits of the resulting FIT file, which is not necessary for a server generated files and, furthermore, I need to use simple FIT features only to make some weak FIT parsers also working.
@dtcooper @pR0Ps Please review the code.
I would appreciate to move some code changes out of this PR and merge it to master to make this PR smaller and simpler to review:

fileish_open, see #54
RFTC Crc, see the commit "RFCT move crc computation to records.Crc, add test". Also speeds up the FitFile when CRC is ignored.
Move apply_scale_offset to the records.py, what about to merge it to the field.render code?
Solve the optimisations #57
Rename FitFileDataProcessor.process_xxx methods to parse_xxx
Add BaseTyp.invalid_value, so as the parse does not need to be defined in most of times.

Thank you

@pR0Ps I've addressed most of the comments by amend. See the rest.
Do not want to merge it into the master until #57 is resolved.

+1 writing fit files will be useful !
Please see my PR on @xmedeko fork which includes some scripts to fix FIT files or combine them into multi-sport ativities:
[pull request on xmedeko fork] (https://github.com/xmedeko/python-fitparse/pull/1)
Unfortunately there are conflicts with upstream.... I've not changed anything yet as I can see some different opinions in this stream...

+1 would love to see this merged as well!

+1, would love to have this merged in master. Will have to clone this manually to get access to this new feature for now ! Thanks for this !!

I am sorry but I do not plan to maintain this PR and resolve conflicts due to the development in the master. Personally, I have decided do abandon FIT writing (and parsing, too) in pure Python since the FIT format is loosely specified and complex. I recommend to make some FIT<-->JSON tool from the original FIT SDK (e.g. C#, Java, C++) and just call this tool from Python.


upgrade bitops to 2.2

this can be tested again now that 2.2.1 is out

@LeoDiazL test with this repo: https://github.com/bitovi/devops-training-ec2-gha-example

Tests results are OK


Constrained LQR, Affine Controller and Constraint Solving Helpers

An Affine Controller has been implemented as a subclass of LeafSystem.
systems/controllers/AffineController implements this. This fixes #9.
A gtest is provided in systems/controllers/test/affine_controller_test.cc
The solvers are implemented in multibody/solve_multibody_constraints.
A constrained LQR controller is implemented in systems/controllers/clqr_controller. It extends AffineController to generate the control input.

Closing as this has been superseded.


Scorecards parser

Depends on #127

ready for review!

addressed comments! @pxp928 @mlieberman85 ready for review!


Can't build with chakra-ui/utils latest

Hi,
I had to downgrade @chakra-ui/utils to v2.0.8 to make a project using this library to build.
error during build:
<EMAIL_ADDRESS>(5:86): "getNextItem" is not exported by<EMAIL_ADDRESS>imported by<EMAIL_ADDRESS>file: /home/kannar/git/myle/web/node_modules/@choc-ui/chakra-autocomplete/dist/index.es.js:5:86

3: import { createContext as lo } from "@chakra-ui/react-utils";
4: import { useDisclosure as co, useControllableState as uo, useUpdateEffect as fo, forwardRef as Sr, Popover as po, cha...
5: import { pick as wo, isDefined as cn, isEmpty as Rt, runIfFn as Z, isUndefined as Vr, getNextItem as Ro, getPrevItem ...
                                                                                ^
6: import Vt from "@emotion/styled";
7: import { ThemeContext as Po } from "@emotion/react";

    at getRollupError (file:///home/kannar/git/myle/web/node_modules/rollup/dist/es/shared/parseAst.js:395:41)
    at error (file:///home/kannar/git/myle/web/node_modules/rollup/dist/es/shared/parseAst.js:391:42)
    at Module.error (file:///home/kannar/git/myle/web/node_modules/rollup/dist/es/shared/node-entry.js:15535:16)
    at Module.traceVariable (file:///home/kannar/git/myle/web/node_modules/rollup/dist/es/shared/node-entry.js:15984:29)
    at ModuleScope.findVariable (file:///home/kannar/git/myle/web/node_modules/rollup/dist/es/shared/node-entry.js:13770:39)
    at FunctionScope.findVariable (file:///home/kannar/git/myle/web/node_modules/rollup/dist/es/shared/node-entry.js:5252:38)
    at FunctionBodyScope.findVariable (file:///home/kannar/git/myle/web/node_modules/rollup/dist/es/shared/node-entry.js:5252:38)
    at Identifier.bind (file:///home/kannar/git/myle/web/node_modules/rollup/dist/es/shared/node-entry.js:5035:40)
    at CallExpression.bind (file:///home/kannar/git/myle/web/node_modules/rollup/dist/es/shared/node-entry.js:2855:23)
    at CallExpression.bind (file:///home/kannar/git/myle/web/node_modules/rollup/dist/es/shared/node-entry.js:11235:15)
    at VariableDeclarator.bind (file:///home/kannar/git/myle/web/node_modules/rollup/dist/es/shared/node-entry.js:2855:23)
    at VariableDeclaration.bind (file:///home/kannar/git/myle/web/node_modules/rollup/dist/es/shared/node-entry.js:2851:28)
    at BlockStatement.bind (file:///home/kannar/git/myle/web/node_modules/rollup/dist/es/shared/node-entry.js:2851:28)
    at FunctionDeclaration.bind (file:///home/kannar/git/myle/web/node_modules/rollup/dist/es/shared/node-entry.js:2855:23)
    at Program.bind (file:///home/kannar/git/myle/web/node_modules/rollup/dist/es/shared/node-entry.js:2851:28)
    at Module.bindReferences (file:///home/kannar/git/myle/web/node_modules/rollup/dist/es/shared/node-entry.js:15514:18)
    at Graph.sortModules (file:///home/kannar/git/myle/web/node_modules/rollup/dist/es/shared/node-entry.js:21019:20)
    at Graph.build (file:///home/kannar/git/myle/web/node_modules/rollup/dist/es/shared/node-entry.js:20922:14)
    at async file:///home/kannar/git/myle/web/node_modules/rollup/dist/es/shared/node-entry.js:21607:13
    at async catchUnfinishedHookActions (file:///home/kannar/git/myle/web/node_modules/rollup/dist/es/shared/node-entry.js:21076:16)
    at async rollupInternal (file:///home/kannar/git/myle/web/node_modules/rollup/dist/es/shared/node-entry.js:21602:5)
    at async build (file:///home/kannar/git/myle/web/node_modules/vite/dist/node/chunks/dep-CDnG8rE7.js:65386:14)
    at async CAC.<anonymous> (file:///home/kannar/git/myle/web/node_modules/vite/dist/node/cli.js:828:5)

Hi @KannarFr
On vacation this week, but should be able to take a look when I get back.  Is this a fresh install of react with chakra and autocomplete or did you have to install anything specific?
Reason I ask, I just released a new version the other week that had all the dependencies upgraded and I didn't get this error when I ran through some tests.

Hi,
I tried to bump to bump because I had other issues with dependencies. After all, we should use @chakra-ui/react and not other sub-packages like @chakra-ui/system, etc.
But it didn't fixes and downgrade @chakra-ui/utils fixed the issue.

Thank you.  This should be resolved in v5.7.0.  Thanks to @anubra266 for fixing that.


Assertion Failure in AST Processing: node->bits == v at frontends/ast/ast.cc:855

Version
Yosys 0.39+149
On which OS did this happen?
Linux
Reproduction Steps
my test :
module top
(y, clk, wire197, wire196, wire195, wire194);
  output wire [(32'h6e4):(32'h0)] y;
  input wire [(1'h0):(1'h0)] clk;
  input wire signed [(4'hd):(1'h0)] wire197;
  input wire signed [(5'h10):(1'h0)] wire196;
  input wire signed [(3'h6):(1'h0)] wire195;
  input wire [(4'hd):(1'h0)] wire194;
  reg signed [(5'h14):(1'h0)] reg204 = (1'h0);
  reg [(5'h15):(1'h0)] reg203 = (1'h0);
  reg [(5'h13):(1'h0)] reg202 = (1'h0);
  reg [(3'h7):(1'h0)] reg201 = (1'h0);
  reg [(4'hc):(1'h0)] forvar200 = (1'h0);
  reg [(5'h13):(1'h0)] reg199 = (1'h0);
  reg signed [(5'h13):(1'h0)] forvar198 = (1'h0);
  assign y = {reg204,
                 reg203,
                 reg202,
                 reg201,
                 forvar200,
                 reg199,
                 forvar198,
                 (1'h0)};
  always
    @(posedge clk) begin
      for (forvar198 = (1'h0); (forvar198 < (1'h1)); forvar198 = (forvar198 + (1'h1)))
        begin
          reg199 = wire196[(3'h6):(3'h4)];
          for (forvar200 = (1'h0); (forvar200 < (2'h2)); forvar200 = (forvar200 + (1'h1)))
            begin
              reg201 = (&((^~$unsigned($signed(reg199))) ?
                  $unsigned(((^~forvar200) & (8'h9f))) : wire195));
              reg202 <= (~&$signed({($unsigned(forvar198) ?
                      $unsigned((7'h41)) : "x"),
                  ("x" ? "" : $unsigned(reg201))}));
              reg203 = (wire195[(1'h0):(1'h0)] == ((^~{$signed(reg199),
                      (wire196 ? reg199 : wire197)}) ?
                  (-$unsigned((^forvar200))) : (~^(reg202[(2'h3):(1'h0)] <<< $unsigned(wire197)))));
              reg204 <= $signed($unsigned($unsigned(wire196)));
            end
	end
    end
endmodule

Expected Behavior
Like Vivado,yosys should successfully finished Verilog frontend.
Actual Behavior

This is the same failure as #4071. Minimising the counterexample I get this
module top;
  wire [23:0] reg202;
  reg [15:0] reg201;
  assign reg202 = {"a", ("b" ? "c" : reg201)};
endmodule

From what I can tell, there are two things at play here. simplify.cc detects that the ternary has a constant expression, and thus can simplify the expression to just the first argument. Note that this argument "c" has a width of 8 bits, whereas reg201 has a width of 16. The simplified ast for the ternary expression is just "c", and doesn't include the padding needed to turn that string into a 16 bit expression as it should. When this is concatenated with "a", the simplifier just string concatenates them to "ac", whereas really it should include the padding and thus concatenate to something like "a\x00c".
The actual issue as far as I can tell is really with RTLIL::Const::decode_string, which is used to convert the constant back to a string representation. This method just doesn't add zero characters into the string (as they are the null terminating character for c strings i guess), which isnt great https://github.com/YosysHQ/yosys/blob/118b2829db18b8399ae1eb174e8295717d422544/kernel/rtlil.cc#L328-L329.


Table 'ApiResources' already exists

Thanks for such a great project.
I have an issue while migrating database.
First of all, I followed the instruction in EFMigration.md and Issue102 to use MySQL. When I run Update-Database -context AdminDbContext, I got
PM> dotnet ef database update -c AdminDbContext MySql.Data.MySqlClient.MySqlException (0x80004005): Table 'ApiResources' already exists ---> MySql.Data.MySqlClient.MySqlException (0x80004005): Table 'ApiResources' already exists    at MySqlConnector.Core.ResultSet.ReadResultSetHeaderAsync(IOBehavior ioBehavior) in C:\projects\mysqlconnector\src\MySqlConnector\Core\ResultSet.cs:line 42    at MySql.Data.MySqlClient.MySqlDataReader.ActivateResultSet(ResultSet resultSet) in C:\projects\mysqlconnector\src\MySqlConnector\MySql.Data.MySqlClient\MySqlDataReader.cs:line 74    at MySql.Data.MySqlClient.MySqlDataReader.ReadFirstResultSetAsync(IOBehavior ioBehavior) in C:\projects\mysqlconnector\src\MySqlConnector\MySql.Data.MySqlClient\MySqlDataReader.cs:line 299    at MySql.Data.MySqlClient.MySqlDataReader.CreateAsync(MySqlCommand command, CommandBehavior behavior, ResultSetProtocol resultSetProtocol, IOBehavior ioBehavior) in C:\projects\mysqlconnector\src\MySqlConnector\MySql.Data.MySqlClient\MySqlDataReader.cs:line 284    at MySqlConnector.Core.TextCommandExecutor.ExecuteReaderAsync(String commandText, MySqlParameterCollection parameterCollection, CommandBehavior behavior, IOBehavior ioBehavior, CancellationToken cancellationToken) in C:\projects\mysqlconnector\src\MySqlConnector\Core\TextCommandExecutor.cs:line 37    at MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQueryAsync(IOBehavior ioBehavior, CancellationToken cancellationToken) in C:\projects\mysqlconnector\src\MySqlConnector\MySql.Data.MySqlClient\MySqlCommand.cs:line 261    at MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery() in C:\projects\mysqlconnector\src\MySqlConnector\MySql.Data.MySqlClient\MySqlCommand.cs:line 62    at Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.Execute(IRelationalConnection connection, DbCommandMethod executeMethod, IReadOnlyDictionary2 parameterValues)
at Microsoft.EntityFrameworkCore.Storage.Internal.RelationalCommand.ExecuteNonQuery(IRelationalConnection connection, IReadOnlyDictionary2 parameterValues)    at Microsoft.EntityFrameworkCore.Migrations.MigrationCommand.ExecuteNonQuery(IRelationalConnection connection, IReadOnlyDictionary2 parameterValues)
at Microsoft.EntityFrameworkCore.Migrations.Internal.MigrationCommandExecutor.ExecuteNonQuery(IEnumerable1 migrationCommands, IRelationalConnection connection)    at Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.Migrate(String targetMigration)    at Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.UpdateDatabase(String targetMigration, String contextType)    at Microsoft.EntityFrameworkCore.Design.OperationExecutor.UpdateDatabase.<>c__DisplayClass0_1.<.ctor>b__0()    at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(Action action) Table 'ApiResources' already exists
Could you please help to see what did I missed? Thanks

@benedict1986 - Have you tried create a clone of project or via dotnet new template?
Thanks!

Hi skoruba,
Thanks for such a quick reply. I tried it. But I need to use Skoruba.IdentityServer4.Admin.EntityFramework.DbContexts.dll with the modification mentioned in Issue102

Hi @benedict1986 - I see, you need to create your own DbContext - where you can inherit from original DbContext - but you will override the method - OnModelCreating - as is mentioned in #102
BTW: Please follow these steps for changing DbContext - steps
I will consider easier approach for MySQL.

Hi @skoruba ,
Good suggestion. Now I created my own DbContext which inherent from the AdminDbContext and applied it in Startup.cs. However, it does not solve the Table 'ApiResources' already exists issue. I ran the migrate commands
dotnet ef migrations add DbInit -c AdminDbContext -o Data/Migrations dotnet ef database update -c AdminDbContext
But still get the error.  Not sure if we can skip the check for existing table and keep updating. Thanks

Hi @benedict1986
please, check your database - which migrations were applied - if you are create some changes in model - you can create another migrations - dotnet ef migrations add ChangeToMySql -c AdminDbContext -o Data/Migrations - BTW: if you have created your solution via dotnet new template - the migrations are part of the solution and were probable applied in first run of application.
Thanks!

Hi @benedict1986 - you are welcome - if you have any question - please let me know.
Thanks!


runtime error in function avash_call

Hello, when I want to run a .lua script i get an error:
RunScript: Failed to run scripts/five_node_network.lua
runtime error: invalid memory address or nil pointer dereference
stack traceback: in function 'avash_call'
scripts/five_node_network.lua:12: in main chunk
the problem comes from the avash_call function.
I specify that the functions avash_sleepmicro and avash_setvar work well.
How i can fix it ?

Hi!
How are you running the command ?
If you're running it straight from the command line ./avash runscript scripts/five_node_network.lua try running it from the CLI
./avash
Config file set: /../../.avash.yaml
Avash successfully configured.
avash> runscript scripts/five_node_network.lua

thanks @otherview it works!


Hello, can you support x86

Hello, can I support x86? I failed to load in x86 system.

I also hope it will support x86 in the future too


Wrap each surface render in a with-blending to fix the loss of alpha channel

When more than one window was open, only a single window appeared to have
an alpha channel; at least on desktop-mode.
On alt-tab mode it was fine. The difference between the two modes was that
desktop-mode had a single with-blending call around the map across surfaces,
whereas alt-tab wraps every surface draw in that map with with-blending.
Applying the same to desktop-mode fixes it.

Note that I tried moving the outer with-blending that was there to inside
the map. However, this seemed to lose the alpha channel of the cursor. Not
sure why. I need to understand FBOs and blending better.
Fixes https://github.com/malcolmstill/ulubis/issues/36

Just noticed that the colours in htop are wrong. I thought I'd fixed that issue.

The issue is in the screenshotting code, the r and b components are the wrong way around.


RTL Support

I don't see in the docs any support for RTL charts for languages like Hebrew and Arabic.
Is there a way this can be achieved?

At the moment it is not. We haven't considered adding it to the pipeline yet. However, it is something of value. Localization is a problem that needs to be solved.