Frustrated that these instructions don't work

When using scripted installers they should work out of the box.  We shouldn't have to worry about 15 items being deprecated or about local/global concerns.  I don't want to spend 3 days figuring out otherwise useless information when I am trying to get up to speed with modern SharePoint development.
This is VERY frustrating.
[Enter feedback here]

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

ID: 5bee09a8-022e-1b5a-4aab-d6e7c6216808
Version Independent ID: 49edce1e-f2be-e989-917f-c6b389363e2f
Content: Set up your SharePoint Framework development environment
Content Source: docs/spfx/set-up-your-development-environment.md
Product: sharepoint
Technology: sharepoint-framework
GitHub Login: @VesaJuvonen
Microsoft Alias: vesaj

When using scripted installers they should work out of the box. We shouldn't have to worry about 15 items being deprecated or about local/global concerns. I don't want to spend 3 days figuring out otherwise useless information when I am trying to get up to speed with modern SharePoint development.
This is VERY frustrating.
[Enter feedback here]
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 5bee09a8-022e-1b5a-4aab-d6e7c6216808
Version Independent ID: 49edce1e-f2be-e989-917f-c6b389363e2f
Content: Set up your SharePoint Framework development environment
Content Source: docs/spfx/set-up-your-development-environment.md
Product: sharepoint
Technology: sharepoint-framework
GitHub Login: @VesaJuvonen
Microsoft Alias: vesaj

OK, I got this thing working.  I had to remove a bunch of things but this might help others:
Had to uninstall a previous version of Python 3.9.6, and removed the Paths from System Environment variables.
Had to remove Chocalatey (deleted folder) and removed System Environment variables
Removed yeoman globally
Removed gulp globally AND a gulp cli version globally
removed Node and made sure to install Node 14.15.0
The instructions jump back and forth from a couple pages for Hello-world project, but I:
installed Node 14.15.0 w/ Chocolatey
As an Admin in a Powershell window ran:
npm install gulp yo @microsoft/generator-sharepoint --global
then cd to my project folder and ran:
yo @microsoft/sharepoint
then ran:
gulp trust-dev-cert
then ran:
gulp serve
Success!!  I would recommend starting your page with a fast version of those instructions in that order before expanding across several pages. Steps are easily missed by fools like me.

Glad you got it sorted out @DevelopMR - sorry you had frustrations.  Would it be best to preface the setup instructions with "these instructions start from a clean environment" or the like?  It's hard to cover any and all eventualities for what people have previously installed - particularly globaly.


CreateOptimization throws error

Expected Behavior

We can run CreateOptimization without error.
Actual Behavior

Potential Solution

N/A
Reproducing the Problem

Use the code examples above
System Information

QC Cloud
Checklist

[x] I have completely filled out this template
[x] I have confirmed that this issue exists on the current master branch
[x] I have confirmed that this is not a duplicate issue by searching issues

[x] I have provided detailed steps to reproduce the issue

Can this issue be assigned to me? I was able to reproduce the issue by running units test?

Hi, I have investigated the issue, it seems like it throws an error when it is not been able to connect to the Quant API for various reasons such as missing project, user-id or authentication token, therefore, it generates an empty base-optimization list. even fixing that issue would not pass the unit test.
Few Questions
Currently, the unit test is failing because of I don't have the right userId, and authentication token. Is there are test id that can be used for the test to work?
Q2 how can I test this locally with the correct API credentials?

Closing as we are going to be moving API support to the lean CLI


Automation stuck on about:blank if i set proxies (Raspbian)

`proxy = FreeProxy(https=True, rand=True).get()
os.environ['http_proxy'] = proxy
os.environ['https_proxy'] = proxy
r.tagui_location('/home/mocorasp/projects/ilmito_archives_uploader/tagui')
r.error(True)
r.init(headless_mode=False)
r.url("https://www.filesend.jp/l/en-US/")`
If i remove proxy settings automation works

Can you share more on what is the error message?
If error is happening at init() step, it might be the proxy does not work with Python standard libraries for downloading stuffs. The code used by the package to download the dependencies is standard Python library. See here. Depending on your Python 2 or 3, you can try to run the following line directly and replicate the problem.
https://github.com/tebelorg/RPA-Python/blob/master/tagui.py#L1468
If the error is around r.url(), I don't think setting proxy this way affects the web automation part, because Chrome doesn't care about these proxy settings. You'll have to use visual automation or any other means to change the proxy settings for Chrome / Chromium to use the proxy you have defined.


Match exactly against cfgstring

Two bug fixes:

When searching for a suitable handler in find_handler ensure that handler->subtype and the config string match exactly. The previous code would erroneously match config strings which were a prefix match of handler->subtype. For example, the config string "foo" would erroneously match against the subtype "foobar".
This is slightly more paranoid. Ensure that when matching the config string against the expected prefix ("tcm-user") the strings match exactly. The previous code would erroneously match the config string "tcm-userXXX" against "tcm-user".

Wondering if someone is able to take a look at this PR please?

And also for this could you fix the commit comments as in https://github.com/open-iscsi/tcmu-runner/pull/693 ?
Thanks,

Comments addressed and commit comment fixed.


Issues with config file entries "permission" and "hyperlink" and theme file

os:

ProductName:	macOS
ProductVersion:	12.1
BuildVersion:	21C52

lsd --version: lsd 0.21.0
echo $TERM: xterm-256color
echo $LS_COLORS: (empty)

Expected behavior
Running lsd displays the listing of files
Actual behavior
I got an error message like:
lsd: Configuration file /Users/jjarava/.config/lsd/config.yaml format error, unknown field `permission`, expected one of `classic`, `blocks`, `color`, `date`, `dereference`, `display`, `icons`, `ignore-globs`, `indicators`, `layout`, `recursion`, `size`, `sorting`, `no-symlink`, `total-size`, `symlink-arrow` at line 99 column 1.

I commented out the permission file in config.yaml, and then I got another error:

lsd: Configuration file /Users/jjarava/.config/lsd/config.yaml format error, unknown field hyperlink, expected one of classic, blocks, color, date, dereference, display, icons, ignore-globs, indicators, layout, recursion, size, sorting, no-symlink, total-size, symlink-arrow at line 127 column 1.

Once I got the config file to parse, I also got errors on the format of the theme file; I had to end up commenting out octal, acl and context to get the config I had set to work

Same. I'm also using v0.21.0

maybe duplicated with https://github.com/Peltoche/lsd/issues/643

Update to the latest version and you should be good to go.


Filter Webpage Height

I've been trying to solve this issue some time now with no luck. Essentially what's happening is the webpage is not being resized when the filter changes.
The bug can be replicated here: http://problemvault.com/
Thanks, this is a great plugin!

I found the root of the problem! For the benefit of others, here's what I needed to do (inside freewall.js):

By changing 'opacity' to 'display', we not only make the blocks invisible, but we assure that the hidden blocks do not take up any space in the div.


Blocked Gitlab Login Button

I confirm (by marking "x" in the [ ] below: [x]):

[x] This is not a troubleshooting question. Troubleshooting questions go here: http://www.mattermost.org/troubleshoot/.
[x] This doesn't reproduce on web browsers (such as in Chrome). If it does, issue reports go to the Mattermost Server repository.
[x] I have read contributing guidelines.

Summary
Login via GitLab doesn't work because WebView is blocked from navigating to the GitLab login page.
Environment

Operating System: MacOS 10.14.6
Mattermost Desktop App version: 4.4.0
Mattermost Server version: 5.21.0

Steps to reproduce

fresh installation of the Mattermost MacOS Desktop Client
configure a server to connect to
when presented with the login page, click the "GitLab" button

Expected behavior

should lead to the GitLab authentication page, allowing authentication via GitLab

Observed behavior

Client does nothing
Developer Console prints: "Prevented desktop from navigating to: https://......"

Possible fixes
Sorry, I wasn't able to investigate the issue further yet. Let me know if I can provide additional context. For now, this renders the Desktop Client unusable for me.

can you provide some extra context? feel free to contact me on the community server if you feel the info is sensitive.
I've tested on one of our test servers and it does navigate correctly to the gitlab login page, but yours might be setup differently.

Hi @Willyfrog - thanks for the quick reply. I just checked with a colleague of mine with the same setup, works for him. So I assume that the problem is very specific to my own setup. I'll investigate further and post the solution if I can find one, but the Client doesn't seem at fault.

I've managed to solve the issue, but I'm not sure whether I should close it or not. It seems like my connection settings went corrupt after the update to 4.4.0. Just reinstalling the Client wasn't enough, since the settings persist after a simple deletion of the app. The following steps solved the issue for me:

remove the Server from configuration
remove the Client application
install the Client
add the Server configuration again

Feel free to close the issue, but it might be interesting to investigate this behaviour. Maybe corrupted cache files for settings (if my assumption is correct) should at least give some feedback to the user?

Glad you solved it, the thing is that unless we had a consistent behaviour, we can't figure it out as we might be chasing ghosts.
For now, I'll close the issue, it can be reopened if we get any new info or a reproducible path.

Just sharing my case, I encountered this problem in the similar environment (MacOS 10.15.4, Desktop App 4.4.1, Mattermost Server 5.12.4).
When I upgraded Client application into 4.4.2, the problem did not solved. However, when I added the same Server configuration which was in trouble, I can established a connection via the additional configuration.
Then, unexpectedly, the first configuration have been working correctly again.

I found the problem of this while working on a different issue. It'll be fixed once https://github.com/mattermost/desktop/pull/1295 is deployed

Thanks for resolving the issue and keeping us in the loop!

This same problem reported here happens to me on a machine using Windows 10.

This same problem reported here happens to me on a machine using Windows 10.

Observed this when MM servers is configured as http://, but GitLab login screen is accessed by httpS://.

I had the same issue and adding "https" instead of "http" solved it for me

Same thing here, on ubuntu. None of the above works for me.

+1 for that issue, tham thing for latest mattermost desktop. Web interface works fine.

I also have the same issue with the latest version of the mattermost desktop client installed on pop-os.
Is there any fix for this?

Same issue here!

I have the same issue, in mattermost desktop app white screen when logging in with gitlab


minify: 'terser' gives [vite:terser] import.meta is only valid inside modules.error when building

Describe the bug
After updating to Vite 6.0.4 (still happening in 6.0.5) , trying to run a build gives the following error if minify: 'terser', is defined inside build in vite.config.ts. Removing or commenting this line performs the build process without issues.
vite v6.0.5 building for development...
✓ 3 modules transformed.
x Build failed in 65ms
error during build:
[vite:terser] import.meta is only valid inside modules.
    at <parse> (:6)
    at AsyncFunction (native)
    at new FakeWorker (/../node_modules/vite/dist/node/chunks/dep-BZMjGe_U.js:12732:20)
    at new WorkerWithFallback (/../node_modules/vite/dist/node/chunks/dep-BZMjGe_U.js:12773:28)
    at makeWorker (/../node_modules/vite/dist/node/chunks/dep-BZMjGe_U.js:12807:32)
    at <anonymous> (/../node_modules/vite/dist/node/chunks/dep-BZMjGe_U.js:12833:18)
    at renderChunk (/../node_modules/vite/dist/node/chunks/dep-BZMjGe_U.js:12825:23)
    at <anonymous> (/../node_modules/rollup/dist/es/shared/node-entry.js:20812:40)
    at processTicksAndRejections (native:7:39)
error: script "build" exited with code 1

Reproduction
bunx --bun vite build
Steps to reproduce

Update Vite to 6.0.4 or 6.0.5.
Try to run build command with minify: 'terser' in vite.config

System Info
System:
    OS: macOS 14.5
    CPU: (8) arm64 Apple M2
    Memory: 86.19 MB / 16.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Yarn: 1.22.21 - /usr/local/bin/yarn
    npm: 10.8.2 - ~/Library/Application Support/Herd/config/nvm/versions/node/v20.18.1/bin/npm
    pnpm: 8.12.1 - /usr/local/bin/pnpm
    bun: 1.1.40 - /usr/local/bin/bun
  Browsers:
    Chrome: 131.0.6778.205
    Chrome Canary: 133.0.6906.0
    Safari: 17.5
  npmPackages:
    @vitejs/plugin-legacy: ^6.0.0 => 6.0.0
    vite: ^6.0.5 => 6.0.5

Used Package Manager
bun
Logs
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to vuejs/core instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

Can you provide a reproduction in Node? If it breaks only on Bun, please report an issue on Bun.
I haven't checked but the error looks similar to https://github.com/oven-sh/bun/issues/15738

Using Node the issue doesn't happen, seems like it only happens under bun by forcing it as the engine to use and it looks like the same issue you linked. Guess this issue can stay closed :)


Handle flags even if no other headers

Also add rspec tests to verify. The rspec testing commit is the same as included in my other pull request. I'll rebase that one against this change.

raising internally, but LGTM

ps you get 1000 "great job"s for adding a new spec file

looks good. I ran the following to test and worked fine. Will bubble upstream in a bit.
rvm --default 1.9.3
bundle install
bundle exec rspec spec

all in!

via eaecda241744edfd3cef04c799ce8f050477ca2e


[INLONG-11401][Manager] Support Dolphinscheduler schedule engine

Fixes #11401
Motivation

add dolphinscheduler package in org.apache.inlong.manager.schedule
add Client and Engine for DS, and Utils for operating open-API of DS
add pojo class for DS interaction
add UT, provide image env for test cases, mock DS for inlong to test schedule ability

Modifications
Because DS officially does not provide SDK to call, only provides openAPI call mode, so all scheduling behavior is based on open-api requests

when inlong enabled the DS schedule mode, a project in DS will be initialized to handle processes
when inlong starts a offline schedule job for a inlong-group, it will create a workflow process definition in project, scheduled by info, with a script periodically sends requests to call back to inlong
when unregistered, it offline the process running on DS and delete it

Provides some disaster recovery logic

After inlong shutdown and restart in unexpected situations, the workflow process data will recovered and continue work, prevent duplicate data generation and data loss
The latest ScheduleInfo is enabled during repeated registration to avoid data redundancy
ConcurrentHashMap to store schedule data ensure thread safety during start, running or stop

How to use

Specify the url and token in the configuration file

# DolphinScheduler related config
inlong.schedule.dolphinscheduler.url=
inlong.schedule.dolphinscheduler.token=

inlong manager performs dependency injection at startup via the @Value annotation

Configure the DolphinScheduleEngine when it is initialized

DolphinScheduleEngine dolphinScheduleEngine = new DolphinScheduleEngine(INLONG_DS_TEST_ADDRESS, INLONG_DS_TEST_PORT, INLONG_DS_TEST_USERNAME, INLONG_DS_TEST_PASSWORD, DS_URL, DS_TOKEN);

then use .start() or .stop() to manage DS engine

Verifying this change

How is the token generated?

DS url
for example：http://{ip}:{port}/dolphinscheduler

testRegisterScheduleInfo

the callback request was successfully sent to inlong, and the related tasks are processed in flink

log info:
2024-11-05 21:43:03.104 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:136 - Dolphin Scheduler handle register begin for test-group
2024-11-05 21:43:03.104 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:137 - Checking process definition id uniqueness...
2024-11-05 21:43:03.111 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:153 - Generate task code for process definition success, task code:<PHONE_NUMBER>05792
2024-11-05 21:43:03.154 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:158 - Create process definition success, process definition code:<PHONE_NUMBER>45728
2024-11-05 21:43:03.167 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:161 - Release process definition success, release status: ONLINE
2024-11-05 21:43:03.183 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:164 - Create schedule for process definition success, schedule info: ScheduleInfo(id=null, inlongGroupId=test-group, scheduleType=0, scheduleUnit=S, scheduleInterval=2, startTime=2024-11-05 21:43:03.0, endTime=2024-11-05 21:43:13.0, delayTime=null, selfDepend=null, taskParallelism=null, crontabExpression=null, version=null)
2024-11-05 21:43:03.199 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:167 - Online schedule for process definition, status: true
2024-11-05 21:43:03.203 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:136 - Dolphin Scheduler handle register begin for test-group
2024-11-05 21:43:03.204 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:137 - Checking process definition id uniqueness...
2024-11-05 21:43:03.209 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:144 - Process definition exists, process definition id:<PHONE_NUMBER>45728, deleting...
2024-11-05 21:43:03.237 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:153 - Generate task code for process definition success, task code:<PHONE_NUMBER>33792
2024-11-05 21:43:03.262 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:158 - Create process definition success, process definition code:<PHONE_NUMBER>56320
2024-11-05 21:43:03.275 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:161 - Release process definition success, release status: ONLINE
2024-11-05 21:43:03.290 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:164 - Create schedule for process definition success, schedule info: ScheduleInfo(id=null, inlongGroupId=test-group, scheduleType=1, scheduleUnit=null, scheduleInterval=null, startTime=2024-11-05 21:43:03.0, endTime=2024-11-05 21:43:13.0, delayTime=null, selfDepend=null, taskParallelism=null, crontabExpression=*/1 * * * * ?, version=null)
2024-11-05 21:43:03.306 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:167 - Online schedule for process definition, status: true

testUnregisterScheduleInfo

log info:
2024-11-05 21:43:03.314 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:136 - Dolphin Scheduler handle register begin for test-group
2024-11-05 21:43:03.314 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:137 - Checking process definition id uniqueness...
2024-11-05 21:43:03.319 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:144 - Process definition exists, process definition id:<PHONE_NUMBER>56320, deleting...
2024-11-05 21:43:03.356 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:153 - Generate task code for process definition success, task code:<PHONE_NUMBER>55648
2024-11-05 21:43:03.368 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:158 - Create process definition success, process definition code:<PHONE_NUMBER>65888
2024-11-05 21:43:03.382 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:161 - Release process definition success, release status: ONLINE
2024-11-05 21:43:03.397 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:164 - Create schedule for process definition success, schedule info: ScheduleInfo(id=null, inlongGroupId=test-group, scheduleType=0, scheduleUnit=S, scheduleInterval=2, startTime=2024-11-05 21:43:03.0, endTime=2024-11-05 21:43:13.0, delayTime=null, selfDepend=null, taskParallelism=null, crontabExpression=null, version=null)
2024-11-05 21:43:03.412 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:167 - Online schedule for process definition, status: true
2024-11-05 21:43:03.413 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:184 - Dolphin Scheduler handle Unregister begin for test-group
2024-11-05 21:43:03.413 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:185 - Checking process definition id uniqueness...
2024-11-05 21:43:03.417 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:190 - Deleting process definition, process definition id:<PHONE_NUMBER>65888
2024-11-05 21:43:03.445 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:195 - Process definition deleted
2024-11-05 21:43:03.445 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:198 - Un-registered dolphin schedule info for test-group
2024-11-05 21:43:03.445 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:136 - Dolphin Scheduler handle register begin for test-group
2024-11-05 21:43:03.445 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:137 - Checking process definition id uniqueness...
2024-11-05 21:43:03.451 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:153 - Generate task code for process definition success, task code:<PHONE_NUMBER>52928
2024-11-05 21:43:03.460 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:158 - Create process definition success, process definition code:<PHONE_NUMBER>60096
2024-11-05 21:43:03.475 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:161 - Release process definition success, release status: ONLINE
2024-11-05 21:43:03.491 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:164 - Create schedule for process definition success, schedule info: ScheduleInfo(id=null, inlongGroupId=test-group, scheduleType=1, scheduleUnit=null, scheduleInterval=null, startTime=2024-11-05 21:43:03.0, endTime=2024-11-05 21:43:13.0, delayTime=null, selfDepend=null, taskParallelism=null, crontabExpression=*/1 * * * * ?, version=null)
2024-11-05 21:43:03.508 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:167 - Online schedule for process definition, status: true
2024-11-05 21:43:03.508 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:184 - Dolphin Scheduler handle Unregister begin for test-group
2024-11-05 21:43:03.508 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:185 - Checking process definition id uniqueness...
2024-11-05 21:43:03.512 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:190 - Deleting process definition, process definition id:<PHONE_NUMBER>60096
2024-11-05 21:43:03.540 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:195 - Process definition deleted
2024-11-05 21:43:03.540 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:198 - Un-registered dolphin schedule info for test-group

testUpdateScheduleInfo

2024-11-05 21:43:03.541 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:136 - Dolphin Scheduler handle register begin for test-group
2024-11-05 21:43:03.541 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:137 - Checking process definition id uniqueness...
2024-11-05 21:43:03.547 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:153 - Generate task code for process definition success, task code:<PHONE_NUMBER>52256
2024-11-05 21:43:03.554 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:158 - Create process definition success, process definition code:<PHONE_NUMBER>57376
2024-11-05 21:43:03.569 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:161 - Release process definition success, release status: ONLINE
2024-11-05 21:43:03.586 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:164 - Create schedule for process definition success, schedule info: ScheduleInfo(id=null, inlongGroupId=test-group, scheduleType=0, scheduleUnit=S, scheduleInterval=2, startTime=2024-11-05 21:43:03.0, endTime=2024-11-05 21:43:13.0, delayTime=null, selfDepend=null, taskParallelism=null, crontabExpression=null, version=null)
2024-11-05 21:43:03.601 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:167 - Online schedule for process definition, status: true
2024-11-05 21:43:03.601 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:212 - Update dolphin schedule info for test-group
2024-11-05 21:43:03.601 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:184 - Dolphin Scheduler handle Unregister begin for test-group
2024-11-05 21:43:03.601 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:185 - Checking process definition id uniqueness...
2024-11-05 21:43:03.606 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:190 - Deleting process definition, process definition id:<PHONE_NUMBER>57376
2024-11-05 21:43:03.635 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:195 - Process definition deleted
2024-11-05 21:43:03.635 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:198 - Un-registered dolphin schedule info for test-group
2024-11-05 21:43:03.635 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:136 - Dolphin Scheduler handle register begin for test-group
2024-11-05 21:43:03.636 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:137 - Checking process definition id uniqueness...
2024-11-05 21:43:03.641 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:153 - Generate task code for process definition success, task code:<PHONE_NUMBER>48512
2024-11-05 21:43:03.648 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:158 - Create process definition success, process definition code:<PHONE_NUMBER>53632
2024-11-05 21:43:03.663 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:161 - Release process definition success, release status: ONLINE
2024-11-05 21:43:03.678 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:164 - Create schedule for process definition success, schedule info: ScheduleInfo(id=null, inlongGroupId=test-group, scheduleType=1, scheduleUnit=null, scheduleInterval=null, startTime=2024-11-05 21:43:03.0, endTime=2024-11-05 21:43:13.0, delayTime=null, selfDepend=null, taskParallelism=null, crontabExpression=*/1 * * * * ?, version=null)
2024-11-05 21:43:03.695 - INFO [ main] .i.m.s.d.DolphinScheduleEngine:167 - Online schedule for process definition, status: true

(Please pick either of the following options)

[ ] This change is a trivial rework/code cleanup without any test coverage.

[x] This change is already covered by existing tests, such as:
(please describe tests)

[ ] This change added tests and can be verified as follows:
(example:)

Added integration tests for end-to-end deployment with large payloads (10MB)
Extended integration test for recovery after broker failure

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)
If a feature is not applicable for documentation, explain why?
If a feature is not documented yet in this PR, please create a follow-up issue for adding the documentation

Nice work!
Overall LGTM, just one thing, does dolphinscheduler only support crontab schedule type?


Content Tagging / Categories

We had an issuance this morning:
https://alpha.starbeam.one/market/products/101b389f-b096-498a-7000-08dab07b8cca
Which looks AI but is actually human/traditional.
Ideally, we want an effective way to both label and display such characteristics.

The other obvious component to this is searching by tags/categories.

Do you have any concrete tags in mind? I mean, are you interested in descriptive tags like "portrait", "landscape", "architecture", "fantasy". Or only in the necessary like "human-made"?

Well since we've done this we have the Traditional Market which is the "human-made" (or hand-made tag).  Technically speaking that is all the Traditional Market is, is a content/tag filter.
I do not have a list yet but it would be nice to get one started.  We have several themes:
Animals, dogs, cats, pugs, pizza. :)

✅

caves, torches, 8-bit :)

So, are you planning to add a tagline similar to DeviantArt?

Related: #124


21 setup local environment

PR regarding ticket #21

@eliodemollari can you give your approval, so that we can merge it to main? @alvaro-alonso is it possible to merge it to main? You mentioned, that you have to merge something before, so that we are able to merge the local setup to main?

@eliodemollari can you give your approval, so that we can merge it to main? @alvaro-alonso is it possible to merge it to main? You mentioned, that you have to merge something before, so that we are able to merge the local setup to main?

@amrap030 yes, so I merged yesterday #24 and merge afterwards main into this branch. So this PR could be merged if nothing before that merged. But if @eliodemollari gives his approval, I'll merge with main again in case.

@eliodemollari can you give your approval, so that we can merge it to main? @alvaro-alonso is it possible to merge it to main? You mentioned, that you have to merge something before, so that we are able to merge the local setup to main?

@amrap030 yes, so I merged yesterday #24 and merge afterwards main into this branch. So this PR could be merged if nothing before that merged. But if @eliodemollari gives his approval, I'll merge with main again in case.

Hey @alvaro-alonso, I will do a check right now.


Deadlines for Checktime, not per-tx-times

Changed checktime to respect a deadline instead of an interval.
This deadline is set when pushing a transaction or pushing a block.  When pushing a transaction it is set to some value which protects the producer/validator from being attacked.  When pushing a block it is set to the deadline for the whole block.  Any transaction which exceeds this time is grounds for not accepting the block.
These are also configurable at chain_controller instantiation and plumbed in from chain_plugin and the tester.  tester in particular has no limits(*) which should help our non-deterministic CI failures.
(*)limits are set for one test case... which tests that limits are enforced.

this will no doubt conflict with #1331 I will push merge fixes when that goes in.

Right now, we don't have a good avenue for "maximum time in a  block I'm producing".  But we need to have that.  We may have to use this deadline to set a per-tx max of the lesser of the per-tx max we already have and the remainder of some accumulated estimate of block time.  Or we may actually just use the wall clock inside your production window even though that would be a conservative estimate (production runs slower than validation).

You put in progress on this. Is it ready to merge?


chore: Upgrading socket.io in rts to 4.4.1

Upgrading socket.io in rts to 4.4.1

Closing as this has already been done in another PR


Typo in docs

In the docs getting started there is a typo in step 4:
canopy.configruation.chromeDir <- AppContext.BaseDirectory

should be
canopy.configuration.chromeDir <- System.AppContext.BaseDirectory

Would just make a pull request but that line doesn't exist in the index.fsx file 🤨.
https://github.com/lefthandedgoat/canopy/blob/e8d81c81dd5d279459d574c5e9e8c41180089c7e/docs/content/index.fsx#L48-L53

Thanks.  I've fixed this.
It doesnt exists in the fsx file because thats the source that generates the documentation (that lives on gh-pages branch).  After updating to .net core the tooling that I used to documents wasnt working, or I was too lazy or something. Thanks again for letting me know!

Ok, are you just updating the html files manually in the gh-pages branch at the moment then? Is there anything that can be done to help fix that?
configruation is still spelled wrong, should be configuration.

Correct.
In terms of fixing, I probably just need to update everything I used.  canopy is like 8 years old and the build scripts are probably 6 and haven't been updated cause they always 'just worked'.  Then with .net core I think they stopped but I spent 40 hours on that so fixing documentation scripts wasnt high on the list of things to do =\

Thanks.
Had no idea canopy was that old. Tried it for the first time last night and it's brilliant!

Awesome, please open a ticket if you have any questions and I will be happy to help!  Thanks for bringing up these issues!


The hash constructor fails where the JSON file it was built from does not

Take any distribution, use META6.new( json => $json); then META6.new(  | from-json( $json )). It will very definitely fail, starting with versions and meta versions, which need Version objects.
This is probably fair, but it should be either well documented or simply have a default behavior that works, and an alternative constructor that indicates clearly that it needs specifics, probably with named, typed arguments instead of the raw Hash.

Yeah, this is down to the way that JSON::Unmarshal and JSON::Class work,  it's tricky to fix without reimplementing both things.


Upgrade baselet

This upgrades baselet to the new branch which includes type safety on all types of baselets. Includes necessary changes to the processor and engine with the added type safety/coverage.
Replaces: https://github.com/EdgeApp/edge-currency-plugins/pull/181

Approving upon in-person discussion


Refactor timing function

I just can't help to change this. (
It looks well but I haven't tested it.

But I want it to post at hour sharps only (e.g. 1:00), not at the time I run the script. So I checked if now.minute == 0 and now.second == 0: in the script

time.time() return the current unix timestamp, which is the real time (wall clock).
time.time() % 3600 is used to get the elapsed time in seconds from last hours (0 mins and 0 secs) to now.
So, sleep(3600 - time.time() % 3600), when it wake, it shoud be at an hour sharp.

Yup, you are right, thx!


[DropDownMenu] Fix support for autoWidth and custom width

Fix https://github.com/callemall/material-ui/issues/3808.
The first commit is cleaning up the components and adding some failing examples (many changes).
The second commit is the actual fix (few changes).

ONe small suggestion, otherwise looks good here. :+1:


Eliminate redundancy in registering resource properties

It seems there are three places a resource's properties need to be specified:

On the resource struct itself, with pulumi tags on its fields
In the call to RegisterResourceOutputs, after the resource is created
In the State returned from the call to construct the resource

Is there any reason we can't just use the resource struct as the source of truth, and have ways to get its properties as a Map for purposes of the other calls? For example, a PropertyMap() function or method on ResourceState that uses reflection to look for pulumi tags would seem to do the trick. For the example linked to above, it's not too bad, because there are only two properties -- however, I have a Go component that has 20, and I'm finding that it's rather tedious and error prone.

closing due to https://github.com/pulumi/pulumi-component-provider-go-boilerplate/issues/34


Try to reproduce #1749

This tries to reproduce the bug reported in #1749

Ok this doesn't reproduce #1749, but at least we can use it to make sure we don't break similar cases

@forki Thanks for adding the test case


Gatsby v4 isn't supported

Gatsby v4 was released this october.
Migration Guide

There are four potential breaking changes for source plugins specifically (according to (gatsbyjs.com/docs/reference/release-notes/migrating-source-plugin-from-v3-to-v4)[https://www.gatsbyjs.com/docs/reference/release-notes/migrating-source-plugin-from-v3-to-v4/]).
I don't think any of these four apply here, but we can have the peer dependency support v4 too (to avoid warnings during installation).
@michael-proulx have you experienced any issues other than installation warnings in Gatsby v4?

No other issues than installation warnings, but I'm only using toUrl at the moment.

v1.0.2 released with the peer dependency requirement updated for gatsby v4


Introduce PINCaching protocol

The PINCaching protocol contains methods that all three cache classes are implementing and all declared in the header. With PINCaching we can have a consistent API across all components and could mostly remove some duplicated API definitions in the header files too.
Furthermore with this PR we will rename the asynchronous API's to a more expressive name.
TODOs

[x] Rename async methods
[x] Deprecate old async methods
[x] Look over documentation and small cleanup due to async method deprecations

@garrettmoon I'm not pretty sure about the current async API. We could also go this way:
// Current
- (void)asyncSetObject:(id)object ...

// Alternative
- (void)setObjectAsync:(id)object ...

@maicki Yeah, now that I see it, I'm leaning towards setObjectAsync:

Yeah, let's go with setObjectAsync:forKey:completion:

@garrettmoon Cool sounds good will change that.

@garrettmoon Ready for review. Thanks!


Add additional requirements?

Perhaps I did something wrong, but currently I had to pip install

jupyter
matplotlib
pandas
pygtc
corner

separately to run example notebooks, after running pip install -e ./ in the root directory of repo. So maybe include in requirements.txt?

IMO this could be listed as additional requirements in the examples folder, but the package itself does not depend on them strictly (as in no function inside the birds folder uses any of those libraries).

Yeah, I agree


Fix last frame issue

Motivation

The last frame for animations with updaters was not getting rendered in some cases. For example, if there is no animation after updaters are cleared
Overview / Explanation for Changes

Digging down the previous commits, this was working fine in 3b1b version, so after searching I found that the if statement inside finish_animations() was removed which is responsible for this issue. I re-added that with some changes to work correctly with current version.
Example
Code
from manim import *
from numpy import math

class Vectors(Scene):
    def construct(self):
        v = 10
        r = 0.5
        ang_vel = v/r
        circle = Circle(radius=r).shift(r*UP)
        dot = Dot(color=GREEN).shift(2*r*UP)
        self.add(NumberPlane(), circle, dot)
        time = ValueTracker(0)

        def dot_updater(m):
            m.move_to(r * np.array([math.sin(ang_vel * time.get_value()), math.cos(ang_vel * time.get_value()), 0]) + circle.get_center())
            # time.increment_value(dt)
        circle.add_updater(lambda m: m.move_to(RIGHT * v * time.get_value() + r*UP))
        dot.add_updater(dot_updater)
        self.add(circle, dot)
        self.play(ApplyMethod(time.set_value, TAU/ang_vel), rate_func=linear)
        dot.clear_updaters()
        circle.clear_updaters()
        print(dot.get_center())
        print(circle.get_center())
        self.wait()

Before
https://user-images.githubusercontent.com/43041139/106367547-6e68a600-6369-11eb-8aeb-4098087e0208.mp4
After
https://user-images.githubusercontent.com/43041139/106367555-7c1e2b80-6369-11eb-97d4-c0d9be243606.mp4
Oneline Summary of Changes

- Last frame not rendered in some cases bug fixed (:pr:`983`)

Acknowledgements

[x] I have read the Contributing Guidelines

Reviewer Checklist

[ ] Newly added functions/classes are either private or have a docstring
[ ] Newly added functions/classes have tests added and (optional) examples in the docs
[ ] Newly added documentation builds, looks correctly formatted, and adds no additional build warnings
[ ] The oneline summary has been included in the wiki

We really really really should add a test for this.

We really really really should add a test for this.

I have no idea how to do that

There's some instructions in the documentation and/or wiki. Cc @ManimCommunity/tests

I've tested this locally now -- and I have to admit, it is very weird. The problem does not seem to occur within the testing framework; the image saved there from the doctest is already correct:

(and the test always produces the same image, independent of whether the change from this PR is included or not).
However, when rendering the test scene directly (with -qm -s), I get

(with the change from this PR included), and

without the change.
Weird.

It might be related to #974 because in some situations, cache fixes the animations

Yep, when you run the code for the test again (using cache), it gets fixed automatically...

The problem does not seem to occur within the testing framework; the image saved there from the doctest is already correct:
The problem IS in the testing framework. The cause of this testing issue, is the same the the cause of the cache issue, which is #550
When we skip the frames to get the last frame image, the updaters also skip the mid values and directly skip to final value, as described in #550. This is the same reason for the cache related problems with updaters.
In short, updaters tests are already broken, if you try adding PointWithTrace example as test, it will produce the wrong image to test. It is more of a coincidence that the existing updater tests work correctly because the mid-values do not matter in those and are very simple.
Now that is the exact reason why you see that dot inside the square... yes, the test just sets the updater value to the final value and gets the frame, which is obviously not the right way to produce the last frame... BUT, -qm -s produces the right result because if you notice, the animations are rendered everytime even with cache

TLDR: Testing system broken, produces last frame the wrong way, should have been like -qm -s. Same reason for caching system bug #550

@sparshg, do you think this can still be merged for now?

yep, as I said the issue is in testing system for now going through intermediate frames, thats not related with this PR. The test included with this PR is pointless for the time the testing system is broken, but again thats another issue...


Speed test fails ecdh tests

Pulled the following version today:
MAJOR=3
MINOR=0
PATCH=0
PRE_RELEASE_TAG=alpha7-dev
BUILD_METADATA=
RELEASE_DATE=""
SHLIB_VERSION=3
It built fine.  Was going through the speed tests.  RSA tests worked but when I got to the ECDH tests I get:
openssl speed  -elapsed  -async_jobs 36 ecdh
You have chosen to measure elapsed time instead of user CPU time.
Unhandled error in the error queue during ECDH init.
C0A1FEF7FF7F0000:error::digital envelope routines:evp_generic_fetch:fetch failed:crypto/evp/evp_fetch.c:319:Global default library context, Algorithm (secp160r1), Properties (<null>)
Doing 160 bits  ecdh's for 10s: 65618561 160-bits ECDH ops in 10.00s
WARNING: the error queue contains previous unhandled errors.
C0A1FEF7FF7F0000:error::digital envelope routines:EVP_PKEY_derive:operation not supported for this keytype:crypto/evp/exchange.c:423:
C0A1FEF7FF7F0000:error::digital envelope routines:EVP_PKEY_derive:operation not supported for this keytype:crypto/evp/exchange.c:423:
C0A1FEF7FF7F0000:error::digital envelope routines:EVP_PKEY_derive:operation not supported for this keytype:crypto/evp/exchange.c:423:

...
Unhandled error in the error queue during ECDH init.
C0A1FEF7FF7F0000:error::digital envelope routines:evp_generic_fetch:fetch failed:crypto/evp/evp_fetch.c:319:Global default library context, Algorithm (prime192v1), Properties (<null>)

Nothing in the config data stands out, says ecdh is enabled.  This is just using the plain old ordinary built-in speed test.  Does the same thing in sync mode.

Also this is Ubuntu kernel  5.4.0-47-generic #51 if that might make any difference.

@levitte or @mattcaswell
I was just debugging an issue with the eddsa speed test.. (This code was added this year)
The offending code does this
for (i = 0; i < max; ++i) {
    ctx[i] = EVP_MD_CTX_new();
    ctx2[i] = EVP_MD_CTX_new();

    // do a key gen to produce a key.
    …
    EVP_PKEY_keygen(genctx, &key);

    EVP_DigestSignInit(ctx[I],.. , key);
    EVP_DigestVerifyInit(ctx2[I],.. , key); // At this point the ref count of the key is 3

    EVP_PKEY_free(key); //ref count is now 2
X:
}

// Do some operation stuff in a loop
….

// Free and fall over.. with a bad reference count..
for (i = 0; i < max; ++i) {
    EVP_MD_CTX_free(ctx[i]);
    EVP_MD_CTX_free(ctx2[i]);
}

The issue is fixed by setting
key = NULL;

At point X.
This key is being freed but then the freed object was being passed to the next loop EVP_PKEY_keygen() call..
Does this sound like a valid fix? If you pass in an pkey to the keygen it will call pkey_set_type() -> evp_pkey_free_it() which will trash an object that is ref counted..
Shane

The key = NULL; is IMO right thing to do because we do not hold any reference after the free() call anymore.
As for the other part - whether it is right or not to trash object which might have references elsewhere with the EVP_PKEY_keygen() that's a question. Could this code work fine with 1.1.1 (of course with dropping or rather moving the EVP_PKEY_free() call outside the loop instead)?

The offending bit of code was only added in July 2020...

Yes, but the question still is - would it work on 1.1.1 or would it be broken in a similar way?

Will need to try it out..

Yep it gets confused on 111 as expected also..
On the second keygen it ends up still with a ref count of 2. (which means it will get it wrong when it tries shutting down).
This is a bug, will supply a fix - I dont know if this is the cause of the error in this issue..

Other calls to EVP_PKEY_free() either set it to NULL afterwards, or are in a loop where the variable is inited inside the loop.

it probably was not tested with -async_jobs when the code was added.

@geobon can you see if the fix in #12975 helps at all.

Fixed in alpha8.
LD_LIBRARY_PATH=. apps/openssl speed  -elapsed  -async_jobs 36 ecdh
You have chosen to measure elapsed time instead of user CPU time.
Doing 160 bits  ecdh's for 10s: 45845 160-bits ECDH ops in 10.00s
Doing 192 bits  ecdh's for 10s: 34684 192-bits ECDH ops in 10.00s
Doing 224 bits  ecdh's for 10s: 96079 224-bits ECDH ops in 10.00s
Doing 256 bits  ecdh's for 10s: 142746 256-bits ECDH ops in 10.00s
Doing 384 bits  ecdh's for 10s: 8659 384-bits ECDH ops in 10.00s
Doing 521 bits  ecdh's for 10s: 20325 521-bits ECDH ops in 10.00s
Doing 256 bits  ecdh's for 10s: 18550 256-bits ECDH ops in 10.00s
Doing 256 bits  ecdh's for 10s: 18744 256-bits ECDH ops in 10.00s
Doing 384 bits  ecdh's for 10s: 8403 384-bits ECDH ops in 10.00s
Doing 384 bits  ecdh's for 10s: 8288 384-bits ECDH ops in 10.00s
Doing 512 bits  ecdh's for 10s: 5642 512-bits ECDH ops in 10.00s
Doing 512 bits  ecdh's for 10s: 5621 512-bits ECDH ops in 10.00s
Doing 253 bits  ecdh's for 10s: 217588 253-bits ECDH ops in 10.00s
Doing 448 bits  ecdh's for 10s: 14572 448-bits ECDH ops in 10.01s
version: 3.0.0-alpha8
built on: built on: Thu Nov  5 00:00:00 2020 UTC
options:bn(64,64) md2(char) rc4(16x,int) des(int) aes(partial) blowfish(ptr)
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wa,--noexecstack -Wa,--generate-missing-build-notes=yes -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DZLIB -DNDEBUG -DPURIFY -DDEVRANDOM=""/dev/urandom"" -DSYSTEM_CIPHERS_FILE="/etc/crypto-policies/back-ends/openssl.config"
CPUINFO: OPENSSL_ia32cap=0x7ffaf3ffffebffff:0x29c67af
op      op/s
160 bits ecdh (secp160r1)   0.0002s   4584.5
192 bits ecdh (nistp192)   0.0003s   3468.4
224 bits ecdh (nistp224)   0.0001s   9607.9
256 bits ecdh (nistp256)   0.0001s  14274.6
384 bits ecdh (nistp384)   0.0012s    865.9
521 bits ecdh (nistp521)   0.0005s   2032.5
256 bits ecdh (brainpoolP256r1)   0.0005s   1855.0
256 bits ecdh (brainpoolP256t1)   0.0005s   1874.4
384 bits ecdh (brainpoolP384r1)   0.0012s    840.3
384 bits ecdh (brainpoolP384t1)   0.0012s    828.8
512 bits ecdh (brainpoolP512r1)   0.0018s    564.2
512 bits ecdh (brainpoolP512t1)   0.0018s    562.1
253 bits ecdh (X25519)   0.0000s  21758.8
448 bits ecdh (X448)   0.0007s   1455.7


added instructions how to add a new exercise generator

Closes #2300

Hey, thanks for the suggestions. I really like them.


Add linting capability

Added the following linter:

pylint

Note to reviewers:

Added tox target which can kick off linting.
Separated packages that require CUDA into cuda_requirements.txt as they are not required for linting and also are not required for non CUDA tuning.
The linting is not automated yet as need to add CI/CD
Any changes recommended by the linter are not committed until we automate as part of the build
The linting can be run manually:

Installing tox and dependencies: pip install -r setup_requirements.txt
Running it: tox -e lint

@anhuong Thanks for the review and feedback.

Could you add how to run the linter and formatter in the README? Especially if this is something that is expected to be run by all contributors else PRs will fail (in near term future when automation added)

I intend to do that in the contributors doc as part of the enablement of linting in CI/CD. Next PR essentially.

If we separate torch_requirements, this should also be updated in the README since it will require users to run pip install -r torch_requirements.txt and pip install -r requirements.txt. Which wil affect any current automation that is installing this repo.

Added to the README now.

@anhuong Updated and ready for review again.

I tried uninstalling packages, wheel, and flash-attn and running tuning to make sure it can run without these deps. How did you come up with these packages as optional? I think flash-attn is okay to separate, but it looks like packages is needed. When trying to run PT, I get error:
Traceback (most recent call last):
  File "/dccstor/anhtest/fms-hf-tuning/tuning/sft_trainer.py", line 8, in <module>
    from peft.utils.other import fsdp_auto_wrap_policy
  File "/dccstor/anhtest/fms-hf-tuning/venv/lib/python3.9/site-packages/peft/__init__.py", line 22, in <module>
    from .auto import (
  File "/dccstor/anhtest/fms-hf-tuning/venv/lib/python3.9/site-packages/peft/auto.py", line 23, in <module>
    from transformers import (
  File "/dccstor/anhtest/fms-hf-tuning/venv/lib/python3.9/site-packages/transformers/__init__.py", line 26, in <module>
    from . import dependency_versions_check
  File "/dccstor/anhtest/fms-hf-tuning/venv/lib/python3.9/site-packages/transformers/dependency_versions_check.py", line 16, in <module>
    from .utils.versions import require_version, require_version_core
  File "/dccstor/anhtest/fms-hf-tuning/venv/lib/python3.9/site-packages/transformers/utils/__init__.py", line 19, in <module>
    from packaging import version
ModuleNotFoundError: No module named 'packaging'

Can verify that with set of optional deps uninstalled and with packaging installed, Lora tuning also runs successfully.

As discussed @anhuong, I have moved packaging to the core requirements file.

We should enable fmt and lint checks for each PR https://github.com/foundation-model-stack/fms-hf-tuning/issues/59


Integration Specs for Views and Fix n+1 Problems

This Pr consist of:

[ ] Run tests for user index page:

I can see the username of all other users.
I-  can see the profile picture for each user.

I can see the number of posts each user has written.

When I click on a user, I am redirected to that user's show page.

[ ] Run tests for user show page:

I can see the user's profile picture.

I can see the user's username.

I can see the number of posts the user has written.

I can see the user's bio.

I can see the user's first 3 posts.

I can see a button that lets me view all of a user's posts.

When I click a user's post, it redirects me to that post's show page.

When I click to see all posts, it redirects me to the user's post's index page.

[ ] Run tests for User post index page:

I can see the user's profile picture.

I can see the user's username.

I can see the number of posts the user has written.

I can see a post's title.

I can see some of the post's body.

I can see the first comments on a post.

I can see how many comments a post has.

I can see how many likes a post has.

I can see a section for pagination if there are more posts than fit on the view.

When I click on a post, it redirects me to that post's show page.

[ ] Run tests for Post show page:

I can see the post's title.

I can see who wrote the post.

I can see how many comments it has.

I can see how many likes it has.

I can see the post body.

I can see the username of each comment.

I can see the comment each comment left.

[ ] Before solving  n+1  problem,

[ ] After solving  n+1 problems,

Thank you for reviewing my project

Status: Invalid 🔴
Hi @aeh1707 🙋♀,
While you made a great effort in this project, I can't review your code.
Invalid Code Review Request
You have submitted a project that has a README that is not professional. Here are key points to consider when documenting your README.

The template logo should be removed. Optionally, the Microverse logo can be replaced with your own project logo if you have one. ✔
The only optional section is the FAQ section. If there's no information in the FAQ section then it should be deleted. ✔
However, since you deleted the FAQ section, it would be best if you also removed it from the table of contents.
All main headers from the README template should be present. Even if there's no information for a section or sub-section, rather leave texts like "NA", "None" or "coming soon" than delete it. ✔
Future Features section should include 1-3 potential features to be added. ✔
Each section description should be removed and replaced with their custom content. The section descriptions are meant to guide you in documenting your README. They are not meant to be part of the final documentation. ✖

For example:

The License suggestion should be removed. ✔
There should not be any blank sections that do not have content. ✖

Kindly document the Show your support section.

There should not be any broken links in the README file. ✔
Delete the live demo section if the application is not deployed. If project requirements say to deploy the project, the section should be restored and the link updated. ✖

Your Code Review Request will be marked as invalid in your Dashboard, so please submit a new one once you are ready 🙏
Cheers 🥂  and Happy coding!!! 👯
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Remember to tag me @KDlamini  in your question so I can receive the notification.
Please, do not open a new Pull Request for re-reviews. You should use the same Pull Request submitted for the first review, either valid or invalid unless it is requested otherwise.

Invalid Code Review Request does not count into the code reviews limit.


Html to pdf Not Reder Css style sheet

See line
I am using the above function with some modificaiton
func ExampleFpdf_HTMLBasicNew() {
	pdf := gofpdf.New("P", "mm", "A4", "")
	pdf.SetFont("", "U", 0)
	link := pdf.AddLink()
	pdf.AddPage()
	pdf.SetLink(link, 0, -1)
	pdf.Image(ImageFile("http://api.qrserver.com/v1/create-qr-code/?data=HelloWorld"), 10, 12, 30, 0, false, "http://api.qrserver.com/v1/create-qr-code")

	pdf.SetFont("Helvetica", "", 20)
	_, lineHt := pdf.GetFontSize()
	// _, lineHt = pdf.GetFontSize()
	htmlStr := `<html><body><h1 style="color:red;">This is an html from pdf to test color<h1><img src="http://api.qrserver.com/v1/create-qr-code/?data=HelloWorld" alt="img" height="42" width="42"></img></body></html>`
	html := pdf.HTMLBasicNew()
	// html.Write(lineHt, htmlStr)
	html.Write(lineHt,htmlStr)
	fileStr := Filename("Fpdf_HTMLBasicNew")
	err := pdf.OutputFileAndClose(fileStr)
	Summary(err, fileStr)
}

The Pdf is generating with The proper Extension and Proper Text

Error
My Css styles  and  Image Tags are not Applying to the Generated pdf
I don't Know What i am doing Wrong
Is there is any Other Function in  our Plugin which converts Html to Pdf
Any help Will be Appreciated

Hi @MuthukumarHelios,
HTML in gofpdf is very limited. It does not support CSS or images.
You will have better luck using low-level methods. For example,
package main

import (
	"fmt"
	"github.com/jung-kurt/gofpdf"
	"os"
)

func main() {
	pdf := gofpdf.New("P", "mm", "A4", "")
	pdf.AddPage()
	pdf.SetFont("Arial", "", 14)
	pdf.Image("helloworld.png", 10, 10, 30, 0, false, "", 0, "")
	pdf.SetTextColor(232, 81, 64)
	pdf.Text(10, 50, "Here is some red text")
	err := pdf.OutputFileAndClose("hello.pdf")
	if err != nil {
		fmt.Fprintf(os.Stderr, "%s\n", err)
	}
}

Thank You @jung-kurt
I my Case i have to Compile my Dynamic html and Covert it into Pdf
In our Plug-in I thing It's Not Possible {I might Be Wrong}

You may want to investigate headless Chrome.


Runtime error in styling language when comparing any feature that contains null value

Let's say you have a building dataset where each building contains a Year that it was built. For some buildings this year information does not exist. Since the styling language allows for null, you may choose to set those buildings to have a null year. However, if you then try to style by year, you get the following crash:
RuntimeError: Operator "<=" requires number arguments. Arguments are null and 50.

Sandcastle.
This is just a test tileset with a single b3dm:
tileset.zip
This is what the header for the file looks like:
{"BATCH_LENGTH":1,"RTC_CENTER":[3783162.5968943657,901779.6901006929,5038256.658626413]}    {"Height":[88.03899621963498],"Latitude":[52.52055470075144],"Longitude":[13.40721184415235],"RoofCoordinates":["391919.605750434 5820113.6189754 46.3596332160857<PHONE_NUMBER>03177 5820113.88098915 41.0079400725952<PHONE_NUMBER>83662 5820121.54678542 41.0079400725952<PHONE_NUMBER>97783 5820117.11537646 46.3596332160857<PHONE_NUMBER>50434 5820113.6189754 46.3596332160857"],"bldg:rooftype":["\n\t\t\t"],"Year":[null],"Majority_Ownership_Type":["Unknown"]}

The only workaround I can think of is to set Year values that don't exist to some special numerical representation like 0 or -1 and treat them differently in the style.
Is this the expected behavior? Is null mainly just supposed to used for string/categorical data?

I'm not sure if this is expected behavior, but it definitely sounds like something we should fix ASAP.  @lilleyse any ideas?

It's expected behavior according to the styling spec:

The styling language does not allow for implicit type conversions, unless stated above. Expressions like vec3(1.0) === vec4(1.0) and "5" < 6 are not valid.

Either the style should have a special condition for null or it could be casted to a number like Number(${Year}) in Type conversions.
From the data side it's probably best to use a binary batch table property if all the values are meant to be numbers.

Either the style should have a special condition for null or it could be casted to a number like Number(${Year}) in Type conversions.

@lilleyse So are you saying this should work?
            conditions : [
                ['null', 'color("blue")'],
                ['undefined', 'color("blue")'],
                ['${Year} <= 50', 'color("purple", 0.5)'],
                ['true', 'color("blue")']
            ]

Because updating Omar's example still causes it to crash.

Nevermind, it looks like the below does work:
                ['${Year} === null', 'color("blue")'],
                ['${Year} === undefined', 'color("blue")'],
                ['${Year} <= 50', 'color("purple", 0.5)'],
                ['true', 'color("blue")']

@lilleyse Actually, it looks like there's still a problem because I can't use null in Cesium for point clouds styling.  You get Error generating style shader: null is not supported.

@mramato that's one limitation of the GLSL styling backend since null is not a supported GLSL type:
See https://github.com/CesiumGS/3d-tiles/tree/master/specification/Styling#point-cloud

Implementation Note: Point cloud styling engines may often use a shader (GLSL) implementation, however some features of the expression language are not possible in pure a GLSL implementation. Some of these features include:

Evaluation of isNan and isFinite (GLSL 2.0+ supports isnan and isinf for these functions respectively)
The types null and undefined
Strings, including accessing object properties (color()['r']) and batch table values
Regular expressions
Arrays of lengths other than 2, 3, or 4
Mismatched type comparisons (e.g. 1.0 === false)
Array index out of bounds

What about
['Number(${Year}) === 0', 'color("blue")'],
['${Year} <= 50', 'color("purple", 0.5)'],
['true', 'color("blue")']

Not ideal since it doesn't know the difference between ${Year} === 0, ${Year} === null, ${Year} === undefined but it should work for both JS and GLSL backends.

Edit: the above doesn't work when ${Year} is undefined since Number(undefined) is NaN and the GLSL backend doesn't support isNaN.

Not ideal

I would say it's not viable at all, since there are plenty of use cases where 0 is a valid value that would be treated differently than undefined. (plus as you just mentioned it doesn't work in all cases). I appreciate the limits of GLSL, but simply pushing the problem up to the developer isn't really the right option.
Obviously the spec or GLSL isn't changing anytime soon, so I think this is something that CesiumJS should mitigate internally.  Instead of using 0, can't we automatically convert null/undefined to some sentinel value (like Number.MIN_VALUE) and just use that?  It's extremely less likely that data will ever contain Number.MIN_VALUE compared to zero and since we do it at the CesiumJS level, developers don't have to special case their styles or data in order to make them generic for all tilesets.


subsys: greybus: use a common log level

It might not be ultimately the best to use only 1 level, but currently log levels are hard coded inside of several files.
For now, join them to a single Kconfig variable.
Maybe at a later date, log levels can be adjusted per-component.

This is a duplicate of #36


Find documentation how to stand up the local deployments

UI dev environment: https://github.com/OA-PASS/pass-ember
Integration (full stack) dev environment: https://github.com/OA-PASS/pass-docker
Operations deployment: https://github.com/jhu-sheridan-libraries/pass-terraform
This is the most recent up to date documentation I can find.


Question: testing component directly inside an component

I'm trying to assert that all of my component's content is wrapped in another component. I've scanned the API but none of the methods I tried achieved the desired result. Here's an example:
	// AnotherCmpt.js
	function AnotherCmpt({ children }) {
			return (

			 {children}

)
	}

	// MyCmpt.js
	function MyCmpt() {
			return (<AnotherCmpt>

							...all else

			</AnotherCmpt>)
	}

	// MyCmpt.test.js
	const myCmpt = mount(<MyCmpt />)

	describe('<MyCmpt />', () => {
		it('it wraps all its content in <AnotherCmpt />', () => {
			const myCmpt = shallow(<MyCmpt />
			// throws error
			expect(myCmpt.is('AnotherCmpt')).to.be.true
			// not working either, .childAt(0) returns

			expect(myCmpt.childAt(0).is('AnotherCmpt).to.be.true
			// this one works, but it doesn't ensure that everything's
			// wrapped in <AnotherCmpt />
			expect(myCmpt.find('AnotherCmpt')).to.have.lengthOf(1)
		})
	}

This is an existing bug with mount and is.
Separately, I'd recommend always creating your wrapper inside every it, so that errors from it will fail the appropriate test - and, I'd suggest using shallow here, not mount.

Thanks for letting me know. I'd close this issue now but, do you mind if I ask you for resources where I can learn more about this?

...creating your wrapper inside every it,...

From beginner's perspective (as I am), I can't see how it would not fail the appropriate test if I'll use the same wrapper throughout the file. I've been creating my wrappers in describe block to prevent repetitiveness.

@chrisregner It's a flaw with all BDD-style test runners (mocha, jasmine, jest, etc) - exceptions thrown outside an it aren't properly associated with the test. describe blocks run synchronously, and since a "describe" isn't a test, throwing an exception inside one won't give you a nice test failure message.
Repetition in tests is a good thing. DRY is for production code.

Thanks. Closing it now.

(For reference, the existing bug: #768)

For those who are new to the idea that repetition is good in unit testing, this stackoverflow answer is a good, concise explanation.


UI Setting, top N metrics can't select ChartSlow and HeatMap

Can't select the value and template value can't be visualized.

Heatmap type metric has similar issue.


[RFC] First class Triton support in OpenXLA Nvgpu

[RFC] First class Triton support in OpenXLA-Nvgpu
We want to improve the state of Triton and OpenXLA integration, and make jax-triton more user and compiler friendly.
Please let us know what you think!

Neat. My main comment is a meta one: the openxla-nvgpu project is still pretty young and even missing CI and full/proper build support/integration. I'm open to moving fast, but we also need to prioritize some project infrastructure work to hold everything together.

👍 good point, I think we can start with custom dispatches. Although if we want to push Triton compilation to run time and bundle it with auto tuning (tile selection mostly?), then we'll not be able to do it as a custom dispatch?

Ah, so you're intending to use the sample compiled IREE program but vary the triton kernels without recompiling the program?

I think we'll have both strategies:

Triton IR is fully defined at compile time and we just produce a PTX from it (that's what I want to start with)
Triton IR is parametrized (I think it's not representable in triton IR today), and at run time we tune it (that's how XLA:GPU uses triton for matmuls today to pick the best tiling strategy)

Cool. For #1 the custom dispatch way should work. For #2 there are some other ways that are potentially easier. Executable specialization constants can be used to parameterize executables when they are loaded but they may be slightly trickier to integrate with black boxes - may still be interesting to reuse that mechanism with a custom executable type at runtime though. Another option would be to have your custom module return a !hal.executable and schedule work as normal, but at that point it's probably best to use streamable custom calls instead - you'd take your params as push constants, do whatever you needed, and then launch the kernel against the stream.


[SPDX][JSON] SBOM value format is incorrect for licenseDeclared

Summary
SPDX value format is missing or incorrect for licenseDeclared on line number 1274 in the linked SBOM.
"licenseDeclared": "LGPL-2.0+, GPL-2.0+, LGPL-2.1+",
Background

Download tern version 2.11.0
Generate sbom with docker run ternd report -f spdxjson -i ubuntu:latest > output.json for ubuntu tag latest
Observe the following error:

SPDX value format is missing or incorrect for licenseDeclared
Expected behavior
licenseDeclared should be a valid SPDX string.
Rule: The exact syntax of license expressions is described below in ABNF.
Error: licenseDeclared contains ','
Screenshots
If applicable, add screenshots to help explain the problem.
Repository
Which repository causes this error?

ubuntu:latest

Additional Context
Optional - add any other context about the problem here.
Acceptance Criteria
The "done" criteria when this feature or problem is resolved. Such as:

Unit Tests added and running in CI
Functional Tests updated to cover feature, if applicable
Demonstrate the set of capabilities to the product team

References
output_fixed.json.txt
Limited to SPDX.
Finder: sbomqs
SBOM: sbomlc-ubuntu-latest

This is a duplicate of https://github.com/tern-tools/tern/issues/1223.


When I change the data prop, the table is not being re-rendered in react-bootstrap-table2-toolkit

@sudhakar29495 You information is not enough to reproduce your issue, please give me more information and it will be better to create a simple and minimal code on codesandbox.io
https://codesandbox.io/s/jlol04qrxv  This is an example


[ERROR] SSL_accept: I/O error and subsequent erroors

xrdp version
xrdp <IP_ADDRESS>
Detailed xrdp version, build options
I am getting this series of errors in the xrdp.log several times a second. However the connection from client to server is working. I am running on Debian 12 (bookworm).
Is there any way to get rid of these? Is the session really SSL encrypted if I see this errors or does it fall back to the (unsecure) RDP protocol? Is there a possibilty to check this?
Thanks for your help!

Operating system & version
Debian 12
Installation method
dnf / apt / zypper / pkg / etc
Which backend do you use?
No response
What desktop environment do you use?
LXDE
Environment xrdp running on
No response
What's your client?
No response
Area(s) with issue?
No response
Steps to reproduce
Just start XRDP
✔ Expected Behavior
No Errors in the log. SSL working
❌ Actual Behavior
Logs errors several times a second (see above)
Anything else?
No response

@botox-100 - these are simply connection attempts which are getting closed by the client. The error reporting isn't great in this area. See #2040.
Are you expecting connections from the IP addresses? <IP_ADDRESS> is hosted by a Turkish ISP and <IP_ADDRESS> by a German one.

@botox-100 - these are simply connection attempts which are getting closed by the client. The error reporting isn't great in this area. See #2040.
Are you expecting connections from the IP addresses? <IP_ADDRESS> is hosted by a Turkish ISP and <IP_ADDRESS> by a German one.

Hi, thanks for the explanation!
Since this morning i am now using ssh to tunnel the RDP connection. I do  not get any errors any more in the log, which  perfectly fits to your explanation! I was not aware that attacks come up so fast and frequent, therefore I was suspecting an issue.
Thanks for all your work on this, Thomas


go/types: incorrect scope positioning for variables defined by RangeStmt

In go/types/stmt.go:818,819, there's this code to handle declaring for a RangeStmt's Key and Value variables:
scopePos := s.End()
check.declare(check.scope, nil /* recordDef already called */, obj, scopePos)

This is wrong though, because s refers to the RangeStmt itself, so s.End() is the closing brace.  The consequence of this is if you try to use scope.LookupParent or types.Eval with a position inside the RangeStmt's block, it can't find the Key or Value variables.
I think the correct fix is to use s.X.End() instead.
Reviewing other check.declare calls, I think type switches are technically mishandled too.  The spec says "the variable is declared at the beginning of the implicit block in each clause".  I believe that should be the position of the "case" or "default" keywords, or at least at or immediately after the colon; not at the start of the first statement within the body.
These are preexisting issues, but fixing them should be very non-intrusive, so I'm hopeful it can still make 1.7.
/cc @griesemer @alandonovan

Too late for Go 1.7.

@mdempsky I agree that this looks non-intrusive, but I believe @alandonovan has code that looks at scope ranges for various analyses. There may be subtle follow-up effects/errors that we don't foresee at the moment. I think it's better to leave for 1.8.

@griesemer Fair enough. I found a reasonably robust and non-intrusive workaround anyway, so I'm fine with deferring this issue to 1.8.


changed FactQuiz style to go with layout

Deleted some undeeded elements from FactQuiz as they are in the layout #217

Awesome! Good job @AdhamAH !


Added support for parsing clover.xml files generated by the clover ka…

…rma plugin. This allows for coverage metrics on javascript projects.
Also made the parsing code a bit more null-pointer safe

I ended up configuring karma to generate an lcov report, which sonarcube accepted

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Niki Driessen seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


0.5.5 release

Codecov Report

Merging #39 into master will increase coverage by <.01%.
The diff coverage is 98.82%.

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


Require languageCode to be explicitly specified.

We need to require our users to explicitly require languageCode. Defaulting to English is not acceptable. (The API changed this for a reason; it was a common point of failure for users.)

@stephenplusplus Anything else? (Other than CI, of course.)

Nope, LGTM.

Can you flip the approve bit, then? :-D
Still looks like there are CI issues though. Investigating that.

Coverage remained the same at 100.0% when pulling 7e5b3d882b650edda9f98e2f7553e91bcbdacf2b on lukesneeringer:speech-v1-language into 6f39cb446ed038bd7124c369f2066270b1ade03c on GoogleCloudPlatform:master.


improvement/ simplify boolean assertion

Avoid negation in an assertTrue or assertFalse test.
Identified by https://www.codacy.com/app/99taxis/zendesk-java-api/issues?&filters=W3siaWQiOiJDYXRlZ29yeSIsInZhbHVlcyI6WyJFcnJvciBQcm9uZSJdfV0=
Defined by https://pmd.github.io/pmd-5.3.3/pmd-java/rules/java/junit.html#SimplifyBooleanAssertion

Current coverage is 45.40%

Merging #12 into master will not affect coverage as of 738a4bb

@@            master    #12   diff @@
=====================================
  Files           19     19
  Stmts          359    359
  Branches        11     11
  Methods          0      0
=====================================
  Hit            163    163
  Partial          6      6
  Missed         190    190

Review entire Coverage Diff as of 738a4bb

Powered by Codecov. Updated on successful CI builds.


 This is way too much, even if we lazy load the images

It seems that the images in behdad/region-flags are large files and the dimensions are way bigger than the displayed size. There's an open issue to provide alternate sizes https://github.com/behdad/region-flags/issues/12 but doesn't really seem to have much activity or push behind it.
I would propose switching to a sprite solution, maybe like patw0929/react-intl-tel-input's sprite@2x.png(64.2kb) / sprite.scss
Is there any interest in an update to switch to a sprite? Any other ideas? I am interested in using this component but I cannot justify the 4.1 MB of images right now!

@jdhartley thanks for the suggestion, we will have this in the next release very soon!

Great to hear Steven! Please let me know if I can help in any way

@iamstevendao Hey Steven! Any update on this ticket?

@jdhartley Thanks for baring with me, v2.0.2 published along with this issue.

Although it's still not the best solution, I used the same sprite as the react repo you commented. However, I pointed the image to the static URL link (you can find it at src/assets/sprite.css), which is not a good practice.
We might need to change it later, every contribution is always appreciated.

Fantastic! Thank you for this update.
Would love to chat through options on how we might be able to use our own CDN instead of serving off of GitHub. My fear with using that particular url is its linked to master, so if that image ever changes, people using old versions of the Sprite CSS will run into issues. It may be good to lock to a specific commit sha instead of master, or like in /dist/, add a sha to the filename.

Would splitting up the flags into individual files help?

@ajmas would you be able to give it a shot? As long as it won't increase the size of all flag images it needs to load.

@iamstevendao if I have a bit of time. My next few days aren’t going to allow me to look. I encourage anyone who has a bit of time to look too. Maybe compare what other telephone widgets are doing too, even if they are angular or react based?

Would splitting up the flags into individual files help?

It would help performance if both:

the site is only specifying a subset of the available countries (possibly true in some cases).
the images are being requested from an HTTP/2.0 server that can multiplex lots of small files together efficiently in the response. Note that this is currently false for content served from raw.githubusercontent.com, which does not support HTTP/2.0.

In all other cases it will actually hurt perfomance, by ballooning the number of HTTP requests for the same content. This is why image spriting was invented in the first place.
A more flexible, possibly better solution would be a refactor allowing the developer to point to their own image resource(s), with the githubusercontent URL as a default. There could be a root path supplied as a prop, for example, and a toggle for whether the images are supplied as a sprite or as separate images.
Note that all of these refactors are breaking, which makes it all the more important to get the image URL in master to point to a specific commit SHA, as @jdhartley suggested. Otherwise updates will break things.

Maybe to allow the images URL to be a configurable option would be a first step? While it doesn’t solve the issue outright, it does allow for a short term solution, for anyone not wanting to point a CDN they don’t control.


API for GridWorlds.jl environments

This is to decide upon a consistent API that would be implemented by GridWorlds environments.
I propose to use the ReinforcementLearningBase interface (see here) for this package for following reasons:

The RLBase interface is quite general and it covers several of the typical RL scenarios, including but not limited to multiple agents, different stochasticity styles, sequential/simultaneous moves etc... My hunch is that GridWorlds will soon expand and require such sophisticated features (say multi-agent, for example for a gridworld-soccer like environment).

It is well integrated with the rest of the JuliaRL ecosystem. RLCore utilizes RLBase and implements a lot of commonly required functionalities for RL tasks. RLZoo utilizes RLBase and implements several useful algorithms that can be used off the shelf. We can utilize all of that work for free.

If we choose to implement an independent API from scratch specifically tailored for GridWorlds, it is possible that we will encounter some conversion friction while trying to convert it to RLBase interface in order to work with the rest of the JuliaRL packages. In this case, we would mostly need to write our own implementations of the functionalities offered in RLCore or RLZoo. On the other hand, if we make a GridWorlds API from scratch that is as general as the RLBase one, such that we never encounter any lossy conversion, then well, we might as well have used RLBase API in the first place.

In the rare case, if we require something that is not currently offered by RLBase (our current environments are already well covered I think), then this an improvement opportunity for RLBase, and RLBase interfaces would expand accordingly. In the case that it does not happen for whatever reason, we can always expand our own API for such special cases while sticking to RLBase interface as much as possible. Of course, since we would be incorporating features never implemented in the rest of the JuliaRL ecosystem, we would have to consequently write our own implementations for such special features. But this is a rare case, I think. And moreover, if we are to not follow the RLBase API, then we anyways have to write custom implementations without much choice.

Of course, this would add a dependency upon RLBase. But I feel that is very much worth it.
I would love to hear other peoples' thoughts on this.

RLBase API has been added to all current environments.


Use rki population backup data if online data is missing

Addresses issue #261

Codecov Report

Merging #262 (de895e5) into master (2bb2f5d) will decrease coverage by 0.07%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #262      +/-   ##
==========================================
- Coverage   86.54%   86.46%   -0.08%
==========================================
  Files           5        5
  Lines        1018     1012       -6
==========================================
- Hits          881      875       -6
  Misses        137      137

Impacted Files
Coverage Δ

oscovida/data_sources.py
100.00% <100.00%> (ø)

oscovida/oscovida.py
84.77% <100.00%> (-0.06%)
:arrow_down:

oscovida/metadata.py
95.77% <0.00%> (-0.18%)
:arrow_down:

oscovida/plotting_helpers.py
100.00% <0.00%> (ø)

Continue to review full report at Codecov.

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

I don't know through which witchcraft the web staging has been re-triggered AND completed successfully for this PR (https://oscovida.github.io/staging/262/index.html), but it seems to have executed okay, and we have new plots for German districts and countries from today.
@kirienko, @RobertRosca - can you review my pull request, so we can merge it asap?

Haha, it was me who triggered the CI 😄 I saw the message on that forum you mentioned, that the RKI population file works again, and decided to check if it's true.

I reviewed the code itself yesterday, LGTM.
And I think, everything should work even without these changes :)

I didn't put the LGTM yesterday, because I was unable to execute tests locally on my shiny new Apple Silicon at work, shame on me! But now we can just merge.


Put 'non_exhaustive' attribute behind feature flag

This is a problem when compiling for stable versions of rust

This behavior is intentional. Minimum supported Rust version is currently beta (1.40), as indicated by the README. This change was done in b9b1b74, as otherwise a hidden field or variant was necessary to simulate the attribute.
Given that this won't be released before 1.40, I'm leaning towards closing this, unless you can think of a reason not to? Merging it would break back-compatibility once 1.40 stabilizes.

Ah I see, I didn't notice the 1.40 badge. Its fairly specific to my use case that I can't use unstable features, and I think it makes sense what you're saying.

Yeah, the version isn't released yet. You could pin the commit in the Cargo.toml to before the one referenced above, which will definitely compile on stable. If you want the more recent and upcoming changes, I imagine forking and applying this PR wouldn't too too difficult. You'd have to remember to switch back after 1.40 is released, though.
Thanks for the understanding!


chore: remove jobs for func

Since we are still working on getting these working correctly, they are failing for PRs currently open on the func repo. I will be out until the end of June, so I am reverting these until I return and can get back to working on them.
/cc @upodroid

/easycla


Trying to figure out which tests are flaky and fix, adding debug info…

Description
Trying to make CI more robust
Fixes
Closes: #122
Closes: #141
Checklist

[ ] Update CHANGELOG.md

https://github.com/Carter12s/roslibrust/actions/runs/6451070088/job/17511214836?pr=140

https://github.com/Carter12s/roslibrust/actions/runs/6451070091/job/17511214844?pr=140

Okay @ssnover I feel like I'm just summoning ghosts at this point.
If you have a chance to review the most recent test failure here: https://github.com/Carter12s/roslibrust/actions/runs/6459122424/job/17540392614?pr=140
Examine the current design of that test on https://github.com/Carter12s/roslibrust/pull/140/commits/4c858f01d611fdab9a1c5dc2c5a545b322e1271e
And help me come up with theories on HOW THE FUCK this test could still be timing out without printing anything.
Here is my current mental model:

The log line test tests::verify_get_publications has been running for over 60 seconds indicates to me that this test must be the problem, and that the overall test runner is healthy.
Every single async operation within that test is wrapped in a timeout()
The overall test has a watchdog configured on it. I've manually confirmed the watchdog will trip anything in the body of the test is delayed
The test appears to run perfectly on my system and only fail in CI (ran it in a loop in bash, 100/100 times passed). Althou I wasn't re-building between runs.
The test only sometimes fails in CI
tokio::test is defaulting to a single threaded running. I'll try multi next, but that would mean that somehow some function we're calling within the test is blocking the only tokio thread preventing the watchdog?

Found this issue: https://github.com/ZcashFoundation/zebra/issues/1631
.to_socket_addrs() could be the blocking culprit.

JESUS CHRIST HOW DOES IT STILL TIME OUT

Leaving a note here before I forget:
We are spawning a tokio task which is never dying, and isn't being killed on drop, panics! aren't propagating to it, and it is keeping the test process alive (We think this is the root cause).

Okay I think I've finally finally actually traced down the root problem, had to fall back to "log debugging" cause I could neither get a debugger to produce reliably, or get all my mucking about with timeouts to work (still unclear why timeouts aren't being effective), but whatever there is a root bug.
Inside of node.rs/registerPublisher:
            log::trace!("Created new publication for {topic:?}");
            let handle = channel.get_sender();
            self.publishers.insert(topic.clone(), channel);
            log::trace!("Inserted new publsiher into dashmap");

When the test verify_get_publications hangs it reliably publishes the first log message and not the second. The DashMap is what is causing a deadlock, and it makes sense now that it is probabilistically occurring since the deadlock will only occur (I believe) if two objects end up in the same DashMap shard...
Will continue debugging and try to solve root issue. Unclear what I'm ultimately going to do with this branch as it has turned in a giant set of changes as I randomly poked at things to find the root issue.

Okay @ssnover I think this is finally ready to merge. Dashmap was the root of the problem as far as I can tell.

I don't see any changes related to DashMap, can you explain?

I don't see any changes related to DashMap, can you explain?

I think you missed reviewing node.rs (needed to expand the diff). Essentially I hand originally put DashMaps as the core data storage mechanism in the ros1::node to allow concurrent access. However, you changed the execution pattern so that node is only ever being accessed by the single "node task" that is receiving from the socket, so the concurrency protections of the DashMap isn't needed (no one actually needs simultaneous mutable access to Node).
Somehow, (and I really am not 100% sure how) DashMap and tokio were fighting with each other, and the DashMap was ending up in a deadlock, even thou its only ever being accessed by one "task". The DashMap deadlocking was (I believe) the root problem to the timeouts / watchdogs not working because Drop for Node was deadlocking as the DashMap couldn't be destructed...

A lot of cruft built up while debugging this test I think.

You don't even know man... This is after I cleaned up quite a bit...

Makes sense to remove the DashMap in that context, though I'm not convinced we know the root cause fully.
If there isn't a pressing need to put out a new release, can you use test_log throughout and remove some of the changes that were sanity checks? I think the error stuff can be punted, but I don't think we need to add new cruft unnecessarily.


[SPIKE/RESEARCH]:Add Duck DB support

@jlaneve has built a provider for DuckDB on https://github.com/astronomer/airflow-provider-duckdb which is released on https://pypi.org/project/airflow-provider-duckdb/

@jlaneve has built a provider for DuckDB on https://github.com/astronomer/airflow-provider-duckdb which is released on https://pypi.org/project/airflow-provider-duckdb/

Thank you @kaxil for sharing it. I have also started exploring it, I have a branch in our airflow repo for now but a bit of testing https://github.com/astronomer/airflow/tree/duckdb_provider

Duckdb doesn't seem to be part of external dialects of Sqlachemy: https://docs.sqlalchemy.org/en/20/dialects/ Also there is one library( https://pypi.org/project/duckdb-engine/ ) which acts as SQLAlchemy driver for DuckDB but this is not maintained well. In this case, all the methods for the base databases have to be overridden as is no SQLAlchemy support. This would increase the time for implementation and the tests.
cc: @utkarsharma2 @phanikumv

There is an issue already on duckdb: https://github.com/duckdb/duckdb/issues/305

This is a PR on duckdb-engine for SQLAlchemy support for 2.0 But its very old

Used duckdb-engine for SQLALchemy driver as per discussion in https://astronomer.slack.com/archives/C03868KGF2Q/p1675274903489399


fix(ci): view is horizontally reversed

Following a recent upgrade of GitLab (13.5 I think), the result of the lab ci view command is totally reversed, on right to left axis.

Last time I use it was on friday, and today all is right to left.
I didn't change anything to my configuration (I didn't turn the computer on during the week end), and this happen in two different GitLab Instances (gitlab.com and a private managed one).
/cc @neonox31

@davinkevin i believe this is fixed in main, i remember a test breaking... ill prioritize getting a release out after halloween, im moving atm and my whole life is packed up 😅

No problem, it's a bit strange to have this behavior but I will wait until you unpack everything.
BTW, moving IRL and from GitHub to GitLab in parallel is funny 😇

Also affected. Waiting for release since https://github.com/zaquestion/lab/issues/410 . None of the checkboxes is checked since then on https://github.com/zaquestion/lab/issues/406 .
Would be creating a last intermediate release an option to fix this and have the latest changes available (that would fit your packed timetable)? Thanks for the great tool.

For your information @galan , this is pretty simple to build a version for your OS. Checkout the code, modify the MAKEFILE to include your os/arch and make install.
I've tested it, but the ci view is still reversed and it totally crash after launching this command 😓. I'll go back to the previous version…

BTW, there is still some problem with job relauched… they end up at the end of the graph and don't keep the same position.
Would you like me to open another issue ?
/cc @fmuellner && @zaquestion

BTW, there is still some problem with job relauched… they end up at the end of the graph and don't keep the same position.
Would you like me to open another issue ?
/cc @fmuellner && @zaquestion

I've seen that as well - both before and after the fix, so it's a separate issue.
Not sure there's an easy fix though, I didn't find any API for getting stages in order (or at all), only through jobs.

I've seen that as well - both before and after the fix, so it's a separate issue.
Not sure there's an easy fix though, I didn't find any API for getting stages in order (or at all), only through jobs.


framework/*: add fw-ectool for led control, etc

Description of changes
This adds a patched ectool, to interact with the Embedded Controller
Can be used to interact with leds from userspace, etc. Not part of a nixos release yet, so package only gets added if it exists.
Things done

[x] Tested the changes in your own NixOS Configuration
[x] Tested the changes end-to-end by using your fork of nixos-hardware and
importing it via <nixos-hardware> or Flake input

@mergify queue


chore: update toolchain

I wouldn't usually send a bump PR, but nightly-2023-08-19 is now a tentative release candidate for the first official release of Lean 4, and it would be nice to have everything explicitly test it out!

https://youtu.be/BXmOlCy0oBM?t=214


Updates default management port

This updates the default management port to be 8081 to match the documented behavior in
https://docs.djl.ai/docs/serving/serving/docs/configurations_global.html#configure-listening-port.

We'd better update the document. the default behavior is more convenient for user.


One called function in EA search has no effect and should be removed

Hi, thanks for your excellent work while I have one confusion below
In src/Search/search.py, line230, below called function has no effect in every search loop
self.get_random(self.population_num)
After the mutation and crossover, the total counts of the self.candidates is 50. When calling the above function, the while loop will not be executed because the bool expression in line 139 is False.
Besides, line 131, variable info pointed to self.vis_dict[cand] is never used which should be removed too maybe😉
Regards,

Actually, in some cases, for example in some FLOPs constrain, the total number of mutation and crossover candidates is less than 50. Therefore, it is necessary to add this code 'self.get_random(self.population_num)' to keep the number of self.candidates always 50. As for the code in line 131, it is actually redundant and we will remove it soon.
Thanks for your interest and kind reminders!

Got it!
Thank you for your replying and bravo work!


snoopee-service rest api call

snoopee-service rest api is called on every request to fetch micro-services location.
Is it possible to store micro-services location in cache with specific timeout ?

That is a good idea. It should probably be configurable for each client with a default of no caching. Should be easy to implement.


Improve bad hash functions

Working on #90082. When using the collision checker, I found that hash maps/sets with these hash functions do not work well and create a large number of collisions (max number of collisions is more than 13). So I improved the algorithm for their work. In most cases, I changed the hashing algorithm from djb2 to murmur3. The maximum number of collisions after these changes decreased by 1.5 - 2 times.

How did you check for these collisions?

Used code from this closed pr #72561. Only the check was for the constant 8 and I also used __PRETTY_FUNCTION__ to find the function itself. So, if there were more than 8 collisions, then the console displayed something like this:
WARNING: Excessive collision count (11), is the right hash function being used? Class Name:void HashMap<TKey, TValue, Hasher, Comparator, Allocator>::_insert_with_hash_and_element(uint32_t, HashMapElement<TKey, TValue>*) [with TKey = gd::EdgeKey; TValue = Vector<gd::Edge::Connection>; Hasher = gd::EdgeKey; Comparator = HashMapComparatorDefault<gd::EdgeKey>; Allocator = DefaultTypedAllocator<HashMapElement<gd::EdgeKey, Vector<gd::Edge::Connection> > >; uint32_t = unsigned int]

I used projects like https://github.com/godotengine/godot-demo-projects and also several of mine.

Since these methods are used in the import pipeline any change to hash functions would need to be an upward upgrade to the import formats.

How is it used? I didn't find any hash calls in the import and io directories related to my changes. Also in most cases, I changed hashers that are used only by hash structures.

See https://github.com/godotengine/godot/blob/master/scene/resources/surface_tool.cpp#L136C1-L151C2

See https://github.com/godotengine/godot/blob/master/scene/resources/surface_tool.cpp#L136C1-L151C2

?

In most cases, I changed the hashing algorithm from djb2 to murmur3

Didn't reduz do the opposite while rewriting HashMap for Godot 4?


Encapsulate routing setup

This PR improves the way routing is customized. Previously, we relied on exposed eventRouting() or commandRouting() methods that gave access to customizing the routing schemas either in repository constructors or in onRegistered(). This worked, but unnecessarily exposed the routing schemas to user's repository classes.
New way of routing customization exposes setupEventRouting(), setupCommandRouting(), and setupImportRouting() methods that are called during the Repository.init()  (which is also introduced by this PR).
The init() is meant to be the place for general purpose customization which may be needed by a user's repository class.
The onRegistered() callback is left for compatibility reasons, and for the cases when additional configuration is needed after a repository is registered in the Bounded Context.
Other notable changes:

BoundedContext got toString() which returns the context name.
Simplified routing by first message field.
When closed Repository clears its reference to its BoundedContext.
Common interface was introduced for StandardRejections.

@armiol, @dmdashenkov, PTAL.

@armiol, PTAL again.


logged in going to admin/login

I was logged in as a normal user. While still logged in I tried to go to /admin/login and got route not found.

Only user with admin role can visit /admin page

@handiwijoyo if you are logged in as a default user and go to admin/login you can see the login page.

How I can set normal user redirect to specific route?

@kevinjon27: Seems unrelated to this issue. Please create another.