ability switch language (and other api props) dynamically

Now Provider doesn't update script even if another lang will be passed to YMaps.
  <YMaps
    query={{
      lang: language
    }}
  >

It would be good if it will be able to reload api with different language, like there
https://tech.yandex.ru/maps/jsbox/2.1/language

Is it possible with two providers?
I tried to do some research, and even be able to reload map, but it's language isn't changed.
https://codesandbox.io/s/react-yandex-maps-vector-experiment-nvmgb

https://github.com/gribnoysup/react-yandex-maps/blob/697996e34b920b3de628015954cf87e11d372cbb/src/YMaps.js#L35
here returned api from first loaded provider

Made some further research.
Seems like Provider should be able to reload ymaps and reset context, while all components should be able to update itself, when context is updated.

I'm not sure that I want to support it in the library to be honest, but you can force React to completely rerender the Provider component with the key prop and this will force the re-fetching of the API with the new locale. Here's a code example of this approach:
function App() {
  const [lang, setLang] = React.useState("ru_RU");

  return (
    <>
      <button onClick={() => setLang("en_US")}>Toggle language</button>
      <YMaps key={lang} query={{ lang }}>
        <Map defaultState={{ center: [0, 0], zoom: 5 }} />
      </YMaps>
    </>
  );
}


colorbar_position=top (or bottom) is badly positioned with bokeh 0.12.9

Seems to happen with bokeh 0.12.9 for hv 1.8.3, 1.8.4, master (1.8.4-57-g96ecb1a). Doesn't happen with bokeh 0.12.7.
Positions left and right seem to be ok, though.

Thanks, not sure what's going on here, this seems like a regression but I'll have to put together a pure bokeh example to confirm.

@philippjfr, have you started that? If not, would you be willing to rephrase your reply to:

not sure what's going on here, this seems like a regression - could you put together a pure bokeh example to confirm?

Sure, although it requires some background. Currently we define a number of pre-defined positions for both legends and colorbars, which are declared on LegendPlot.legend_specs and ColorbarPlot.colorbar_specs. It seems like something changed, causing the colorbar and legend to be shifted compared to where they were in previous versions. While it would be good to track down why this happened it would be nice if bokeh provided a way to set absolute positions for colorbars and legends rather than specifying an offset in pixels.

Thanks for the background. I could probably track down what changed, and maybe fix that - but probably no more for now.

I think it's a change in bokeh, so I ought to move over to the bokeh issue tracker; do you agree?
0.12.7:

0.12.9:

Master:
(will try at some point!)
For this code (minor adaptation from https://bokeh.pydata.org/en/latest/docs/user_guide/annotations.html#color-bars):
import numpy as np

from bokeh.plotting import figure, output_file, show
from bokeh.models import LogColorMapper, LogTicker, ColorBar

output_file('color_bar.html')

def normal2d(X, Y, sigx=1.0, sigy=1.0, mux=0.0, muy=0.0):
    z = (X-mux)**2 / sigx**2 + (Y-muy)**2 / sigy**2
    return np.exp(-z/2) / (2 * np.pi * sigx * sigy)

X, Y = np.mgrid[-3:3:100j, -2:2:100j]
Z = normal2d(X, Y, 0.1, 0.2, 1.0, 1.0) + 0.1*normal2d(X, Y, 1.0, 1.0)
image = Z * 1e6

color_mapper = LogColorMapper(palette="Viridis256", low=1, high=1e7)

plot = figure(x_range=(0,1), y_range=(0,1), toolbar_location=None)
plot.image(image=[image], color_mapper=color_mapper,
           dh=[1.0], dw=[1.0], x=[0], y=[0])

color_bar = ColorBar(color_mapper=color_mapper, ticker=LogTicker(),
                     label_standoff=12, border_line_color=None, location=(0,0),
                      orientation="horizontal")

plot.add_layout(color_bar, 'above')

show(plot)

Yes, I agree and thanks for chasing that up. I can confirm the same is true using bokeh master.

https://github.com/bokeh/bokeh/issues/6993

Seems fine in 0.12.10, which is what we'll be requiring from now on.


As an operator I want to make adjustments to a promotion while it is enabled and in window

Operators may need to make adjustments while a promo live, rather than needing to end the promotion and create a new one. Here's what an operator should be able to edit while promotion is enabled and in window:

[ ] Inclusions and Exclusions on Triggers and Promotions - it's common for brands to reach out about MAP violations or to request certain items be excluded from an active promo
[ ] End date - Operators will want to be able to extend a promotion without interruption
[ ] Promotion Name - Operator may want to change the internal name of the promo while it is live

@brendan-shea-pm a little concerned about the change of inclusions and exclusions since you can almost entirely change the way the promotion operates. Can we narrow it down and say you can add exclusions only and that we can track that change with a history. I can see this causing serious problems if you try to audit a promotion and the terms have changed.

I will run that by Rick, seems to me that only adding exclusions (rather then adding inclusions) would be ok.

@brendan-shea-pm pinging this as I want to add the restrictions on editing an active promotion before we go live.


P4RT: update P4RTNodesByPort to support breakout ports

This PR updates P4RTNodesByPort and the P4RT subtests of gNMI-1.10 to allow multiple ports to map to the same hardware-port. It also remove inferP4RTNodeName for CISCO.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 55.714%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1170

Relevant Lines:
2100

💛  - Coveralls

b/278763487 has the internal test results.


Not able to connect to Competition dataset

I am not sure if this feature has been implemented or not for this connector. but when I try to import file from competition of Kaggle  I get following error.
I used owner slug as c and competition slug from Kaggle link

This issue might be fixed (or clarified) with #103

Closing due to inactivity.


Grafana option is not showing in Rancher

Describe your issue here
I have BareMetal K8s Cluster Ver.1.19.1
I imported the cluster into Rancher UI.
After adding monitoring from Rancher UI in Bare metal Cluster, It shows Prometheus but not the Grafana UI.

Useful
Info

Versions
Rancher v2.4.4 UI: v2.4.22

Route
undefined

@avadhut007 did you follow the instructions on https://rancher.com/docs/rancher/v2.x/en/monitoring-alerting/v2.0.x-v2.4.x/cluster-monitoring/#enabling-cluster-monitoring and https://rancher.com/docs/rancher/v2.x/en/monitoring-alerting/v2.0.x-v2.4.x/cluster-monitoring/viewing-metrics/#accessing-the-cluster-level-grafana-instance?


Edge case for lat2W

>>> pysal.weights.lat2W(0,0)
<pysal.weights.weights.W object at 0x7f8d623564d0>

Should this be allowed?

Probably not. And, while handling this edge case, we might want to ensure positive integer constraints on the row and column arguments.


Fix object mutation causes the WS item in search shows last message instead of WS name

Explanation of Change

Fixed Issues

$ https://github.com/Expensify/App/issues/53361
PROPOSAL: https://github.com/Expensify/App/issues/53361#issuecomment-2512156805
Tests

Same as QA Steps

[x] Verify that no errors appear in the JS console

Offline tests

Same as QA Steps
QA Steps

Prerequisite:

have a workspace
have at least 1 other member
send a message at least once to the member workspace chat

Open the search modal
Search for the member workspace chat
Verify the subtitle shows the workspace name

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I used JaimeGPT to get English > Spanish translation. I then posted it in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.ts or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] I added unit tests for any new feature or bug fix in this PR to help automatically prevent regressions in this user flow.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

https://github.com/user-attachments/assets/8ddcee65-38f1-4eba-b059-da43f0c70f07

iOS: Native

iOS: mWeb Safari

https://github.com/user-attachments/assets/0530b698-3e4c-460e-a63e-0c90a51e16f1

MacOS: Chrome / Safari

MacOS: Desktop

https://github.com/user-attachments/assets/7a8c14f1-6e51-4d85-a8a0-57cddf6199b1

@bernhardoj Can you please resolve the conflicts here? Also, please merge with the latest main as I am running into build issues due to another offending PR that was reverted. Will take this up for review today. Thanks.

@rojiphil Done

When there is an available message in the report, displaying the last message text may be correct. And the workspace name can be displayed if there are no messages yet in the chat.

Interesting, I think this is my general understanding as well that if there is a message preview to be displayed on a chat row when searching for chats, we would display the preview message cc @Expensify/design @trjExpensify @JmillsExpensify for gut check too

IIRC, we've always shown the workspace name as the second line in search
for the non-submitter participants where the title of the workspace chat is
the submitter's name. That's to distinguish between the DM and workspace
chat more easily.
*Tom Rhys Jones *
Expensify
On Thu, 26 Dec 2024 at 19:17, Shawn Borton @.***> wrote:

When there is an available message in the report, displaying the last
message text may be correct. And the workspace name can be displayed if
there are no messages yet in the chat.
Interesting, I think this is my general understanding as well that if
there is a message preview to be displayed on a chat row when searching for
chats, we would display the preview message cc @Expensify/design
https://github.com/orgs/Expensify/teams/design @trjExpensify
https://github.com/trjExpensify @JmillsExpensify
https://github.com/JmillsExpensify for gut check too
—
Reply to this email directly, view it on GitHub
https://github.com/Expensify/App/pull/54351#issuecomment-2563040578, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AD3246MV3ITVXWWN6EYHGJ32HRI47AVCNFSM6AAAAABT4QOOZWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKNRTGA2DANJXHA
.
You are receiving this because you were mentioned.Message ID:
@.***>

I'm genuinely not sure what the expected behavior is. I can see how including Workspace potentially makes the chat easier to distinguish—but do we want these search results to display just like the LHN? Because if we do, obviously in that case displaying the message preview makes more sense.


ES6 import from NPM failed.

Did npm install --save-dev tether-sheperd and it doesn't seem to import correctly?
My import code:
import Sheperd from 'tether-sheperd';
And I get an error about tether-sheperd not being a module?

 Sorry.

 How did you resolve this? The only typings file I can find is many versions outdated.

@adamdport I spelt it incorrectly. I spelt it sheperd instead of shepherd. Missed the h out lol.


Document browser support

I'm excited to try out the lib, but I know shadow dom is not widely supported yet.
Are you polyfilling older versions, or does this only work in Chrome and Safari?

The library itself doesn't polyfill anything, but there's a really good polyfill for Web Components that will provide basic support for Shadow DOM in other browsers.
I've updated the example to use the polyfill, so you can see how it behaves in other browsers.

Thanks for the quick reply, and for updating the example!
Yeah I was looking at that polyfill this morning, I wasn't sure if it would just work out of the box or would require any sort of retooling. I know the ShadowDom specifically can be really really hard to polyfill.

It definitely is, but the polyfill does a fairly good job. However there are certainly outstanding difficulties, especially when it comes to embedding CSS in your shadow boundary.
We're not quite at the stage where Shadow DOM is ready for the main stage, but we're heading in the right direction at least. For the moment I'd consider Shadow DOM — ReactShadow — purely experimental.

For the moment I'd consider Shadow DOM — and ReactShadow — purely experimental.

Would be great to have that in the main README.md @Wildhoney

You can check the browser support of shadow dom here. It keeps getting better :tada:


Razzle app has some detected vulnerabilities

Running snyk on our package.json reveals a few vulnerabilities, all of which are being brought in by Razzle, one of our dependencies.
We are currently using the latest version of Razzle that we can, so we can upgrade once it's possible for us to do so.

Upgraded Razzle since #151.
We currently have only one low-risk identified vulnerability in one package that there's no fix for as of yet. Gonna close this since we can't do anything else about it right now.


N2-55 Migrate Inflection fields.

Inflection fields appear as Boolean choices under 'Morphology' collapsible on Change Gloss page.
This PR needs to be merged simultaneously with PR N2-55 Migrate Inflection fields on nzsl-freelex-signbank-data-migration repository.

Also noting that I can't see in this patch where the morphology fields appear in the advanced gloss page. This seems to only add them to the admin

Also noting that I can't see in this patch where the morphology fields appear in the advanced gloss page. This seems to only add them to the admin

Correct. As per discussion we need to investigate how to add them to the advanced gloss page. That will be a near-future update and a new PR.


Add a field for attachment of files.

Hi.
Add please a field for attachment of files.
Very much "Voyager" was pleasant, but for my website an opportunity to attach files for example to articles is necessary.
In my opinion the excellent idea for increase in a functionality of the project.
I will be grateful. :-)

Invalid pull request.  Please only open pull requests for changes you completed.
Your question is best served as an feature request "issue".  That functionality already exists in the "file upload" field type

But multiple file upload is not exists.

Then you should open an issue requesting that feature.


Refactor task arguments to be a single one

Description
As preparation to pass a struct only, we change the task arguments to be a single one
Testing Instructions

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#8737
#8736  👈
#8735
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @sokra and the rest of your teammates on  Graphite

Merge activity

Jul 17, 7:45 PM EDT: @sokra merged this pull request with Graphite.


TCS-137 - Tailer / RDB Discussion

I think this PR should likely be closed - I don't think we should be configuring all tailers (every tailer will load this config file) to connect to tailer_seg1 and tr_seg1


Change ResourceCRUD.query to TShort[]

Change template interface TShort to TShort[] in ResourceCRUD.query
query: ResourceMethod<TQuery, TShort>;

to
query: ResourceMethod<TQuery, TShort[]>;

Thanks a lot!


Privilages

Type of Change

[ ] Bug fix
[ ] Documentation update
[ ] Refactoring
[ ] Hotfix
[ ] Security patch
[ ] New feature
[ ] UI/UX improvement

Description

Hey Titus I am Dhruv Mistry i have contributed in linutil and winutil both even though the contributions were small.  I have a concern with linutil it will to help new users to learn more about linux. With linutil you are just giving a TUI users that does most of the things for them and they wont know what they are doing and how the things happen which i don't think is your motive. I always see Vods of you live stream and in that you always say that you want everybody to learn about Linux and not just use it. I always saw you videos that motivated me to use linux as a daily driver and i have also forked some of your projects and edited them to fulfil my goal which was you main moto of making this utility. I think you should only give some basis tweaking so that the new user can start linux and after they need to find their own ways of doing different thing and this is how i learned about linux and other operating systems. For example you should remove the services as it wont help users to learn how to start enable and stop them.  This is just a small example of what i am concerned about and there are many more things that i am concerned about .
Testing

Impact

Issues / other PRs related

Resolves #

Additional Information

Checklist

[x] My code adheres to the coding and style guidelines of the project.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] I have made corresponding changes to the documentation.
[x] My changes generate no errors/warnings/merge conflicts.

close this pr please and make an issue, not sure what you're trying to accomplish here

I am just saying that linutil will just not help to learn new users about linux

I am just saying that linutil will just not help to learn new users about linux

then make an issue for it, this pull request is just unnecessary

@dhruvmistry2000 You're breaking the contributing guidelines and CoC (spam). Could as well be banned from this repo. Please close this as a PR is not the place for essays. Not to mention that you didn't make any changes.

I am closing the PR as my concern was very wrong about this community as i though you all support learning but are just some spoon feeder who doesnt want anyone to learn more as you dont want anyone else to learn more than you all. And thanks for threating me about banning me if you want you can i dont mind

I am closing the PR as my concern was very wrong about this community as i though you all support learning but are just some spoon feeder who doesnt want anyone to learn more as you dont want anyone else to learn more than you all. And thanks for threating me about banning me if you want you can i dont mind

nobody is threatening you, your opinions are unjust,

there is no point to this PR you're just adding an extra line and providing an essay that no one wants to read, if you want to provide essays then thats fine just do it in the issues section. No reason why you are making an empty PR with an essay, literally.

Can you give me chris's email ? I will just mail him and leave the thing here

So far, this PR wasted 125 seconds of runtime = using valuable resources that could be used for legitimate PRs that actuallt need testing.
<EMAIL_ADDRESS>

I have closed the pr why are you bother me with msgs you could just give me the email id and leave now you have wssted 2kb og githubs storage

FYI 64+18+18+46 is actually 146 seconds. I was wrong the first time, that doesn't make it any better.


prisma delete doesn't actually delete the database

Describe the bug
I get the error There is a relation ambiguity during the migration. Please first name the old relation on your schema. The ambiguity is on a relation between Service and Trade. Please name relations or change the schema in steps.
I don't even know what the previous name was or really have any idea what the relation was in my old schema, and I have no way of getting the old schema back, because I was just messing around and didn't save it.
But anyway, I don't even really care what the old name was, because I'm not using that schema or data at all anymore. So, the solution was to delete the database.
I deleted it with prisma delete --force, but when I try to launch the database again, it still gives me the same error.
Considering the whole database was supposed to be deleted, it seems like there shouldn't be an error regarding migrations. It did not give me an error or anything when I deleted the database, and I've tried to delete it multiple times, and it still gives me the same error when I try to launch the new schema.
To Reproduce
I don't have the old schema anymore, as I said, so I don't really know how to reproduce this or give you the current data in my database.
Versions (please complete the following information):

Connector: MySql
Prisma Server: 1.31.0
prisma CLI: 1.31.1
OS: Windows 10

Additional context
https://www.prisma.io/forum/t/how-do-i-completely-delete-the-prisma-database/6825

possibly duplicate of #4450

Now, when I try to delete the database, it gives me a 400 error

I've confirmed that after I delete it, the database is still completely there, because all the docs are still there when I go to http://<IP_ADDRESS>:4466

prisma delete deletes the prisma service. To get rid of your data use prisma reset command

@pantharshit00 Did you even read my issue?

@pantharshit00 Please remark this as a bug, and let someone else answer

I am trying to delete the service. What I'm saying is when I do prisma delete, it doesn't delete the service.

Ok, let me explain this properly:
First of all, you will need to understand that we store all of your migrations metadata and service metadata in a separate database(called prisma) in your database server. prisma delete command will remove your service metadata from this database. It will NOT touch your data and the database which your service is using. We do it as you may still need your data but you don't want the API exposing your data. Once the service metadata is deleted, it will not show up in prisma ls or any equivalent command.
While on the other hand prisma reset command will wipe your service database.
So in order to completely remove your service run along with the data, run:
prisma reset -f
prisma delete -f

Ok, let me explain this properly:
First of all, you will need to understand that we store all of your migrations metadata and service metadata in a separate database(called prisma in case of MySQL connector) in your database server. prisma delete command will remove your service metadata from this database. It will NOT touch your data and the database which your service is using. We do it as you may still need your data but you don't want the API exposing your data. Once the service metadata is deleted, it will not show up in prisma ls or any equivalent command.

I believe the behavior you're describing is incorrect for Postgres with Prisma v1.33.0.
When I run prisma delete -f locally, the entire schema is removed (data, tables, everything). This behavior is different for remote hosts where nothing seems to happen. I believe this is related to:  https://github.com/prisma/prisma/issues/4312#issuecomment-489457258
For more information, see #4581

Same issue for me when trying to delete/reset a remote hosts.

Prisma is stuck on deploying, it deploys the changes and when deploy again it deploys the same changes. I tried to reset and delete but wasn't successful. Please, how can I delete it completely?

For whoever will get stuck in the future, here's how I debugged the issue: First go to your migrations table in your database and check the state of the last migrations. You'll find that they're failing due to some constraints on schema like NULL in my case.


Installation

Hi,
Cloned & Re-builed the code in VS-2017.
On a virtual box (Windows 10), i have installed the Credential Provider using Install.reg. When i restart / Sign-out  the System,  could not see the NEW Credential Provider.

Hi, make sure the credential provider assembly is registered to COM otherwise it won't show up.

Thanks.


Auto subs not working!

Hi, I've used autosubs before and it worked perfectly! (thanks to @tmoroney for this amazing project)
I recently upgraded to the DaVinci resolve - VERSION 19.0.2 BUILD 7. And the autosubs stopped working. I tried uninstalling and reinstalling. Still doesn't work. I'm not sure if its an issue only for me other do other people also face the same issue due to version changes.
more info: I've noticed that autosubs works until open ai generates the audio.srt file and the refining happens. I believe the problem is when autosubs is reading the file, but I'm not entirely sure. audo.srt file contains the transcription but the autosubs doesn't show anything and so doesn't the timeline.
Thanks!

Hey, I have stopped support on AutoSubs V1 to focus on developing V2. The new version should be out in the next few days (sooner if on Mac).

@tmoroney Hey, do you have any updates on V2 and when the new release will happen? I'm waiting patiently as the release date stated 1st of november on the main page.
Best regards!

@tmoroney Hey, do you have any updates on V2 and when the new release will happen? I'm waiting patiently as the release date stated 1st of november on the main page.
Best regards!

Yeah I got super busy with my masters so I had to pause development for a few days. Almost done packaging up the Mac version should be up in a day or so. Windows version shortly after, hopefully this weekend.

@tmoroney Hey, do you have any updates on V2 and when the new release will happen? I'm waiting patiently as the release date stated 1st of november on the main page.
Best regards!

Hey! I'm not entirely sure if this will work but if you're on windows then try uninstalling DaVinci resolve, and clear all cache that DaVinci resolve has and try installing the latest version of DaVinci resolve then install auto-subs. I tried downgrading from 19 to 18 it didnt work like it used to. But then I decided to clear the cache and it started working, might work with 19 too!
AT YOUR OWN RISK


Make the hero section more prominent

Making the half dark section of the hero section disappear and making the text below it visible and prominent

I would like to work on this issue under gssoc'23

Hey this has been already resolved..
Closing this issue..
Thanks!


Note API calls to syslog and the audit log

Alec Benson's logging/audit patches, altered to wire the functionality in as a middleware function.

These patches do not apply to the fedora branch?

Okay, cleared merge conflicts and added a patch to build a dynamic binary for use when running the integration tests so that we don't hit RHBZ#1265409 in the EL7 glibc package.

Restarting as PR#131.

Whoops, closed the wrong one.

Rebased to just the pieces that are missing, and tweaked how we pass the UID along to hopefully avoid falsely attributing things to UID 0 in some cases.

Rebased.

LGTM
Merged.

A couple of bits seem to have been lost in the merge.  I've rebased them, and can open another PR if you don't have a way to reopen this one (I don't).

Ahhh, yes that would explain it. I opened #5 when I saw a syntax error, but it's probably among the bits that were lost. Hmm, wonder how it got lost.


Add example code for gulp tasks which start protractor without a plugin

For #54

Thanks for the PR

And thanks for merging :+1:


Knex tries to connect to local DB if password in connection string contains ? or #

Environment
Knex version: 2.4.2
Database + version: Postgres 14.2
OS: macOS 10.15
Bug

Explain what kind of behaviour you are getting and how you think it should do

I created a user for my Postgres database that had a randomly generated password, which included a ? and a #. Connecting using that password works via other methods (e.g. Postico). But when I supplied the connection string for that (remote) database, Knex instead tried to connect to <IP_ADDRESS>:5432.
Looking at the parsed config, I noticed that it looked like:
{
  client: 'pg',
  connection: { filename: 'postgres://someuser:foo?#bar@localhost:12345/dbname' } // Just using localhost for the example, it was a normal URL
}

instead of the expected
{
  client: 'pg',
  connection: [Object: null prototype] {
    user: 'someuser',
    password: 'foo?#bar',
    port: '12345',
    host: 'localhost',
    database: 'dbname'
  }
}

and that it parsed normally if I got rid of both the special characters (but not just one of them).
I traced the problem to here in parse-connection:
function tryParse(str) {
  try {
    return new URL(str);
  } catch (e) {
    return null;
  }
}

module.exports = function parseConnectionString(str) {
  const parsed = tryParse(str);
  const isDriveLetter = isWindows && parsed && parsed.protocol.length === 2;
  if (!parsed || isDriveLetter) {
    return {
      client: 'sqlite3',
      connection: {
        filename: str,
      },
    };
  }
  ...
}

new URL(str) throws TypeError [ERR_INVALID_URL]: Invalid URL because of the special characters, and Knex handles that by treating the connection string as if it were a file name. That ultimately leads to the connection string being ignored and Knex using its own defaults (in this case, localhost and the default Postgres port).
The behavior I would expect here is that Knex would either (a) handle passwords with those characters normally, or (b) throw an error saying that those characters aren't allowed, instead of trying to connect to the wrong DB.

Reduced test code

const db = require('knex')({
    client: 'pg',
    connection: 'postgres://someuser:foo?#bar@localhost:12345/dbname'
})

db.select('*').from('anytable').then(console.log)

I just encountered this as well; we recently started converting our Feathers-based platform away from sequelize after updating to Feathers 5. One of our deployments started failing when running knex migrate while another one was fine, which was extremely confusing until I found this Issue.
I'll change the offending passwords to not have these characters in the interim.

If you're using a URL formatted connection string, you should be able to url-encode any "special characters" so they don't interfere with the parsing.
In your example, you should store it as: postgres://someuser:foo%3F%23bar@localhost:12345/dbname
You can use javascript's encodeURIComponent like encodeURIComponent('foo?#bar') to convert it.

I just spent 2 days debugging because of this.
My Postgres connection string contains a "/" in the password and the URL parsing died because of this.
Encoding will solve the issue, but silently ignoring errors like this without logging it at least on debug level is the worst thing you can do.
It must be fixed, users must know that an error like this happened.

For what it's worth, this is also reproducible in pg-connection-string:
const parse = require('pg-connection-string').parse;
parse("postgres://someuser:foo?#bar@localhost:12345/dbname")

Output:
Uncaught TypeError: Invalid URL
    at new URL (node:internal/url:775:36)
    at Function.parse (/Users/emelia/Work/IFTAS/repos/fedicheck/app/node_modules/pg-connection-string/index.js:29:14) {
  code: 'ERR_INVALID_URL',
  input: 'postgres://someuser:foo?#bar@localhost:12345/dbname',
  base: 'postgres://base'
}

The postgresql documentation does note that the Connection URI needs to be percent encoded if it contains characters with special meaning, so the given URI above should be:
'postgres://someuser:foo%3F%23bar@localhost:12345/dbname'

Which does parse correctly with pg-connection-string
parse('postgres://someuser:foo%3F%23bar@localhost:12345/dbname')
// result:
{
  user: 'someuser',
  password: 'foo?#bar',
  host: 'localhost',
  port: '12345',
  database: 'dbname'
}


DefaultHttpCoordinator SetHttpContextAsync should use async/await to make the catch/rethrow effective

Awaiting on the call to FunctionContextValueSource in SetHttpContextAsync to ensure potential exceptions are correctly caught.
Pull request checklist

[x] My changes do not require documentation changes

[ ] Otherwise: Documentation issue linked to PR

[ ] My changes should not be added to the release notes for the next release

[ ] Otherwise: I've added my notes to release_notes.md

[x] My changes do not need to be backported to a previous version

[ ] Otherwise: Backport tracked by issue/PR #issue_or_pr

[x] I have added all required tests (Unit tests, E2E tests)

Thank you, @danielmarbach !


Fix zero distance geo NN search

Scope & Purpose
Backport of #12917
Fix an issue where a query would not return a result when the geo index was used.
LET g = GEO_POINT(37.616522, 55.704235)
FOR d IN geo
  FILTER GEO_DISTANCE(g, d.geometry) <= 0
  RETURN d

[x] :hankey: Bugfix (requires CHANGELOG entry)
[x] :book: CHANGELOG entry made

Backports:

[x] No backports required

Testing & Verification

[ ] This change is a trivial rework / code cleanup without any test coverage.
[ ] The behavior in this PR was manually tested
[x] This change is already covered by existing tests, such as (please describe tests).
[ ] This PR adds tests that were used to verify all changes:

[ ] Added new C++ Unit tests
[x] Added new integration tests (e.g. in shell_server / shell_server_aql)
[ ] Added new resilience tests (only if the feature is impacted by failovers)

[ ] There are tests in an external testing repository:
[ ] I ensured this code runs with ASan / TSan or other static verification tools

http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/12884/

Tests blue


Fix typing

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

2 of 2 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 94.343%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1601

Relevant Lines:
1697

💛  - Coveralls


PLAT-10652 : Types generated models

⚠ Depends on https://github.com/symphony-elias/openapi-generator/commit/7d96fbb163b84d94681499c4513bf0749f4280fa
Ticket
PLAT-10652
Description
Added all arguments with type hints in constructors.
Declared all fields (required and optional) with type hints.
Added specific type hints for lists (autocomplete on Pycharm does not work with type hint [Type])
Dependencies
Depends on https://github.com/symphony-elias/openapi-generator/commit/7d96fbb163b84d94681499c4513bf0749f4280fa
Checklist

[ ] Referenced a ticket in the PR title and in the corresponding section
[ ] Filled properly the description and dependencies, if any
[ ] Unit tests updated or added
[ ] Docstrings added or updated
[ ] Updated the documentation in docs folder

Lazy imports to be put back


[BUG] UltraCMTask fails when using it with OpenAILLM

I would expect the UltraCMTask to work with OpenAILLM or at least to throw an error to tell me that this is not supported.
Unfortunately, it fails with the following:
from datasets import Dataset
from distilabel.llm import OpenAILLM
from distilabel.pipeline import Pipeline
from distilabel.tasks.critique.ultracm import UltraCMTask

pipeline = Pipeline(
        labeller=OpenAILLM(
            task=UltraCMTask(),
            model="gpt-4",
            openai_api_key=userdata.get('OPENAI_API_KEY'),
            temperature=1.0,
        ),
    )

dataset = Dataset.from_dict(
        {
            "instruction": ["What's the capital of Spain?"],
            "completion": ["Madrid"],
        }
    )

dataset = pipeline.generate(
        dataset,  # type: ignore
        display_progress_bar=True,
)

#error
*Format*
### Feedback
Overall Score: [1-10]
[Your feedback]

---
</s>
Assistant: ### Feedback
Overall Score: ` is of `type=<class 'str'>`, but it must be of `type=<class 'list'>`, so make sure that `task.generate_prompt` returns a `<class 'list'>` or that the `formatting_fn` formats the prompt as a  `<class 'list'>`.

The above exception was the direct cause of the following exception:

RuntimeError                              Traceback (most recent call last)
RuntimeError: `Pipeline.generate` failed during labelling step. Setting `enable_checkpoints=True` is recommended!

The above exception was the direct cause of the following exception:

RuntimeError                              Traceback (most recent call last)
[/usr/local/lib/python3.10/dist-packages/distilabel/pipeline.py](https://localhost:8080/#) in dry_run(self, dataset)
    703         except Exception as e:
    704             self._teardown()
--> 705             raise RuntimeError(
    706                 f"`Pipeline.generate` failed during the dry run over {dataset[0]} with exception: {e}"
    707             ) from e

RuntimeError: `Pipeline.generate` failed during the dry run over {'instruction': "What's the capital of Spain?", 'completion': 'Madrid'} with exception: `Pipeline.generate` failed during labelling step. Setting `enable_checkpoints=True` is recommended!

I would assume our tasks should support swapping LLMs, if this is not feasible we need to rethink the interaction between Task and LLM. From what I see other tasks return a Prompt instead of string, and this is a relatively easy to follow prompt and output for OpenAI models, which will allow avoiding the usage of a heavy OSS/local model.

Hey, thanks for the issue! Yes, this was something we discussed and we mentioned that it was due to the format being specific to certain models and intended to be used within those models as those are the formats defined specifically for certain models, and in most of the cases those can only be extended to OpenAI as it generalises better, anyway I'll tackle this so that we remove the default formatting and return the Prompt instead
IMO we should also remove some LLM-specific tasks such as Llama2TextGenerationTask if we always want to return a Prompt
At some point we can even consider to make the default format the OpenAI's one, so that we return a list of N items with role and content and then we parse that ourselves (also related to the multi turn prompting issue).


Report DOI schema violation with unpaywall API team

The DOI below doesn't have an issn but issn is not marked optional in the documentation.
{"doi": "10.1201/b14756-26", "doi_url": "https://doi.org/10.1201/b14756-26", "title": "Gamma-Band Synchronization and Information Transmission", "genre": "book-chapter", "is_paratext": false, "published_date": "2013-04-23", "year": 2013, "journal_name": "Principles of Neural Coding", "journal_issns": null, "journal_issn_l": null, "journal_is_oa": false, "journal_is_in_doaj": false, "publisher": "CRC Press", "is_oa": false, "oa_status": "closed", "has_repository_copy": false, "best_oa_location": null, "first_oa_location": null, "oa_locations": [], "updated": "2020-09-04T21:47:45.285552", "data_standard": 2, "z_authors": [{"sequence": "first", "given": "Martin", "family": "Vinck"}, {"sequence": "additional", "given": "Thilo", "family": "Womelsdorf"}, {"sequence": "additional", "given": "Pascal", "family": "Fries"}]}

Opened ticket with<EMAIL_ADDRESS>


How to use markdown in html tags?

I wanner use markdown in html tags like:
<p>[link](https://somelink.com/)</p>
result with markdown-it:
[link](https://somelink.com/)
expect result:
link

Please see spec first for supported mixes https://spec.commonmark.org/0.28/.


dask dataframe.read_csv

GLOB support is good, if possible REGEX string support with a 'regex=True' option would allow more flexible input filter filtering. Thank you for 0.16.

Do you have any suggestions on how this might be implemented?

We would also want to maintain the existing behavior

understand, default is glob, new keyword, filterregex=True, or filtermode=regex|glob
alternatively perhaps I can supply a file list with the existing API?
df = ddf.read_csv(".*-2004.csv|".*-2008.*.csv", filtermode='regex')

At the moment, we call glob in each of the file-system backends when presented with a glob-string. With this option, we would need to either implement regex on every backend, or call walk and do the matching within dask, assuming that walk always exists and is compatible between backends.

Implementing regex on a directory could be inefficient - with glob, we can determine whether to traverse deeper into directories by parsing the globstring, the larger regex syntax might make this trickier to do efficiently.
I'd prefer that if anything, we expand the read_csv (and other io functions) call to support a list of paths. This allows the user to do the filtering any way they see fit, and keeps our implementation simple.
Note that for the specific case you provided, you can also do:
df_2004 = dd.read_csv('*-2004.csv')
df_2008 = dd.read_csv('*-2008.csv')
df = dd.concat([df_2004, df_2008])

If a list is simpler that would be great. The number of cases for file
filtering are rarely known ahead of time, however that approach is an
option for glob separated pattern. Thank you.
On Wed, Nov 22, 2017 at 10:55 AM, Jim Crist<EMAIL_ADDRESS>wrote:

Implementing regex on a directory could be inefficient - with glob, we can
determine whether to traverse deeper into directories by parsing the
globstring, the larger regex syntax might make this trickier to do
efficiently.
I'd prefer that if anything, we expand the read_csv (and other io
functions) call to support a list of paths. This allows the user to do the
filtering any way they see fit, and keeps our implementation simple.
Note that for the specific case you provided, you can also do:
df_2004 = dd.read_csv('-2004.csv')
df_2008 = dd.read_csv('-2008.csv')
df = dd.concat([df_2004, df_2008])
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/dask/dask/issues/2922#issuecomment-346392535, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ABXVTUTgXpM7zLTgS4JCncg43Q00rDELks5s5EP5gaJpZM4QnCVb
.


Allow Arguments For Group

Would be nice to be able to pass arguments to Group method.
Because doing this:
dateTrunc := "hour"
query.Group(fmt.Sprintf("date_trunc('%s', timestamp)", dateTrunc))

Is not very safe and could lead to SQL injection if not careful.

Labelled as a feature.. we need some more sponsors and a patch


Not generating C\C++Code from a simple Python source code file

Trying to generate C\C++  code from a small python source code ou_model.py file but it has been running for nearly 5 hours and no source code results . All the python packages imported are installed .
On Linux Machine:
OS = UBUNTU 20.04 with Anaconda 3(Latest) for Linux
CPython = 3.8
GCC = 9.3
All required Python modules and packages installed.
On Windows  Machine:
OS = Windows 10 with Anaconda 3(Latest) for windows installed
CPython = 3.8
GCC = 9.3
Visual C version | Redist Year | CPython =  14.2 | 2019 |  3.8
MinGW64:       9.0 | 2008 | 3.2
All required Python modules and packages installed.
ou_model.py.txt
I used the command below on both Ubuntu 20.04  and Windows 10  but both has been running for over 5 hours with no C source code generated in python-filename.build folder
python -m nuitka  --generate-c-only  --nofollow-import-to astropy  --follow-imports  --prefer-source-code  --assume-yes-for-downloads   --show-progress   --plugin-enable  pylint-warnings   ou_model.py
Please any help or assistance is appreciated

Ok, on develop I have done a lot for scalability, but this mostly aims at the C compilation for now. Nuitka used to have endloos loops in some cases, but 0.6.9 ought to no longer show that. But then you didn't say what version you were using.

In terms of smallness... numpy, scipy, pandas, tensorflow, dash, ipython, llvmlite, numba, .... my pip install is still running while I am typing this.

So this is a duplicate of other issues, that complain about scalability and lack of caching, which is the most prudent solution probably. So far Nuitka caches nothing, makes programs with this many dependencies unpracticable. Not sure when I will get to solve this. Right now I am not even optimizing Nuitka run time generally all that much yet, but this issue adds nothing really, so I am closing it.


[WIP] feat: ⚡particles ⚡

Sample implementation of particles for Flame :fire: engine.
This is pretty much work in progress. Main idea is to get your feedback on APIs and how they feet the "Flame" feel.
The central point of the solution is extreme composability, exactly as with Flutter itself. It means that there are enough basic behaviours to cover majority of the use-cases and the rest is covered by extension points.
Please see the doc/examples/particles/lib/main.dart for a proposed particles API and ways to compose them together. Also, please try it locally, it follows the same example format as already established here. The gif above was rendered from running this source.
The plan is to discuss proposed implementation and then proceed with implementing tests and more thorough docs as well as some useful behaviours, such as ComponentParticle, for example.

Thanks for the initial review!
I'm particularly interested in the feedback on if the new APIs are consistent with current :fire: Flame codebase.
I will wait for your comments on it and proceed once we're ok with where it settled!

Looks good, I also gonna need a little more time to look give this a better look, but I already left some comments, some additional comments:
Additional to the ImageParticle we could have a SpriteParticle, so we could take a lot of advantages of Flame sprites. Another thing is that the particle system is totally bound to to Flame's component system, so people that does not uses it, will have a hard time to use the Particle system, maybe we could have this outside the Component system from Flame and then create the components that uses it.
Thanks a lot for this PR, this is looking pretty awesome already.

Thanks a lot for your feedback!

Additional to the ImageParticle we could have a SpriteParticle, so we could take a lot of advantages of Flame sprites
Yes! Hundred times yes! That was is the plan, as well as ComponentParticle which would allow any component to be used as particle within the particle system. (Think of material producing small bursts of copies of its texture when hit, for example)

Another thing is that the particle system is totally bound to to Flame's component system, so people that does not uses it, will have a hard time to use the Particle system
This was exactly my first line of thought. But i eventually realised that Component is at very heart of Flame base Game class. So, if you're using Game or it's derivatives - you're likely using Components. And then i realised that using Game is essentially equal to using Flame, so essentially, it didn't make sense anymore to use anything except the component. It also allowed to directly use current component pipelines with:

game.addLater(AbsolutelyAnyParticle());

game.components
  .where((c) => c is Pirate)
  .forEach((c) => c.add(RomParticle));

Which i really liked.
Please let me know your opinion on usecases above and if we still should migrate Partcile from being based on Component!
The rest of comments will be fixed, thanks again for your review :)

Yes! Hundred times yes! That was is the plan, as well as ComponentParticle which would allow any component to be used as a particle within the particle system. (Think of material producing small bursts of copies of its texture when hit, for example)

Awesome!

This was exactly my first line of thought. But i eventually realised that Component is at very heart of Flame base Game class. So, if you're using Game or it's derivatives - you're likely using Components. And then I realised that using Game is essentially equal to using Flame, so essentially, it didn't make sense anymore to use anything except the component. It also allowed to directly use current component pipelines with:

@av Personally, I totally agree with you, I think that using BaseGame is how Flame should be used. But there is a big part of the community that prefer to use Game class instead of BaseGame class, for a variety of reasons, so, because of this we usually like to have features available for both approaches, you will notice that we have the Sprite class and the SpriteComponent class, or for example, FlareAnimation and FlareComponent and so on. I think it would be nice to have the particle system be written agnostic of the Flame component system, and then have Components classes that uses the system, so we can keep with that rational, what do you think?

But there is a big part of the community that prefer to use Game class instead of BaseGame class

Wasn't aware that this is the case! Then we definitely have to decouple these to Particle and ParticleComponent for a symmetrical use.
I'd say that in this case ParticleComponent could be a simple container, proxying Component lifecycle hooks to a Particle lifecycle hooks, so would be relatively lightweight. With that, though, to add any particles when using a BaseGame, they will be wrapped with ParticleComponent as following:
game.addLate(ParticleComponent(
  paticle: AnyParticle(...)
));

Yet it'd still be possible to use Particle in any other environment directly.
Will implement this in PR as well as include fixes as per comments above :+1:
Thanks for the feedback, once again!

Awesome! Looking forward to it!

About the separating component or not, I don't have a strong opinion about it, I think it would be nice to have it separated unless it adds too much overhead. In which case folks can easily use a Particle Component by hand inside the Game class without using BaseGame at all.

@luanpotter I still think we should separate the Components, since BaseGame does a lot more than only calling update and render methods from components, using a component outside the BaseGame structure can lead to a lot of issues, a common one is when a PostitionComponent is used on a Game instance and everything that is rendered after is has a weird position on the screen, which happens because of transformations that this component does to the canvas and who is responsible today for restoring it, is the BaseGame. It would agree with not separating, if we would refactor all of our components classes to not have this kind of side effect, which would then enable it be used outside the BaseGame class, but I think that would be too much work at the moment

Just updated a PR with another iteration as per our previous discussions:

Added docs on using this particle system to /docs/particles.md
Chaining API for initializing effects, just a bit of :candy:  on top
Particle is now separated from Component
Built-in particle wrappers for Animation, Sprite, FlareAnimation and Component
More samples in /docs/examples/particles/main.dart

Next steps for us are:
@av to fix failing build implement fixes as per review after from https://github.com/flame-engine/flame/pull/190#issuecomment-558805603
@erickzanardo @luanpotter could you please go through added docs/particles.md as well as review the chaining API?
After that, I think we'll be almost ready to merge this one :muscle:
Thanks for your awesome feedback!

Ok, this version is ready for a final review, also added:
ScaledParticle for scaling, .rotated, .rotating, .scaled chainables as well as a better example on chaining in /doc/example/particles/lib/main.dart.
From here now will just wait for your final approval and then we're ready to :boom: , :tada: , :red_circle: and any other particle effects in Flame :smile_cat:

Here's the preview of all examples together:

Just pushed the last fixes, please take your time for final passes, but feel free to merge any time otherwise!
Thanks for bringing 🔥 to live!

Awesome work @av
I just noticed that this PR is pointing to master, can you please rebase your it to the develop branch, and also could you add an entry to the CHANGELOG.md with this changes? Be sure to add a (thanks @av) at the end of the entry.
With this final two details, this will be ready to be merged!
Thanks again for this awesome contribution.

Done and done! 🎆🎇

Merged! Thanks @av


How does this compares to other workflow engines?

 I'm curious how this compares.
https://insitro.github.io/redun/design.html#influences

Thanks for your interest! It's a good question, and the documentation is far from being clear on this, so let me give a brief answer here and leave this issue open as a reminder to myself to improve the documentation.
machinable's focus is on providing a hackable user interface for scientific applications. I like to think of it as less of a workflow engine and more as a framework to build meaningful, intuitive 'wrappers' around complex applications. A bit like click but not just for CLI but Python/Jupyter land as well. As far as I can tell, it would make sense to use machinable to build an interface for the much more powerful redun/WDL/... pipelines. Why? Suppose we have a complicated pipeline with many options, what often ends up happening is a user interface like this:
python example.py \
    devices=8 \
    max_epochs=100 \
    data_train=mnist \
    data_val=['cifar'] \
    prepare@transform=cell \
    prepare@val_transform=cell
    normlization_mean=[0,0,0,0,0,0,0,0] \
    normalization_std=[1,1,1,1,1,1,1,1] \
    ... # and so on as complexity grows

Typing and editing becomes tedious quickly, so you often see this refactored into something like this:
python example.py --config ./configs/baseline.json

Better, but now it becomes tricky to manage configuration files (config/tuesday-baseline-run-02-second-try.json ...) and the configuration file becomes a user interface in itself.
Now, what machinable allows you to do is to build an interface for the example application with a small 'project specific language':
machinable get .example "~image_data(transform='cell')" "~norm(0,1)" max_epochs=100 devices="num_gpus()" --launch

The 'configuration file' then ends up just being a regular Python script.
from machinable import get

get('example', [
   "~image_data(transform='cell')",
   "~norm(0,1)",
   {"max_epochs": 100, "devices": "num_gpus()"}
]).launch()

Since it's Python, you can do things that would be hard to do via the CLI or a config file:
from machinable import get

x = []
y = []

for num_epochs in [50, 100]:
   if experiment := get('example', [
	   "~image_data(transform='cell')",
	   "~norm(0,1)",
	   {'max_epochs': num_epochs}
   ]).future():
	  x.append(num_epochs)
	  y.append(experiment.accuracy())

plot(x, y)

Overall, the rationale is to make interacting with the code easier, more self-documenting and less error prone.
I hope this gives you a vague idea of how machinable fits in the space; hopefully, I'll find some time to update the documentation but in the meantime let me know if you have more questions.

Thanks, that's a lot clearer now! (sorry for the delay; I'm bad at checking GitHub notifications)


Remove CODEOWNERS. Do we even NEED this file?? 🤔

Let's remove it!!!

badger

badger all

Badges for ci-standard-checks

Current level: 0/1
Description: assess the ownership of a repository

Level-up recommendations

You are in this level because a Codeowners file with a valid owner existing in the Typeform organization Github as a team is not found or your template repository is missing an owner-{team} topic.
Recommendations:

Create a CODEOWNERS file in your repo and add a valid team name to the file. ex: "@typeform/engineering-intelligence" +More info

Current level: 1/1
Description: assess the repository's secrets detection capability inside Github Action

Current level: not applicable
Description: assess if package.json includes the desired accessibility tools

Current level: not applicable
Description: assesses Typescript setup in a repository

Current level: 1/1
Description: checks if the repository's CI has been already migrated to GitHub Actions

Current level: 4/4
Description: assess if package.json imports desired tools for formatting code

Current level: 1/1
Description: assess the presence of the ci standard checks workflow

Current level: not applicable
Description: assess the presence of a canary config file

Current level: 4/4
Description: Evaluate the presence of type and use topics in a repository

Current level: 4/4
Description: Evaluates the presence of Jira issue keys in the PRs of a repository

Current level: not applicable
Description:
Evaluates if there are different projects that still have some specific logic or endpoint in Typeform/Typeform (aka Phoenix) repository.
It's a negative badge, and the maximum level is 'not applicable' because we want to remove other's repositories logic from Phoenix.

Current level: 2/2
Description: assess the repository's integration with Snyk

Current level: 1/1
Description: Evaluate the default_branch of a repository is main

🦡 codeowners

Badges for ci-standard-checks

Current level: 1/1
Description: assess the ownership of a repository

badger you are so beautiful


chore: release main

:robot: I have created a release beep boop
babel-config: 1.0.0
1.0.0 (2024-07-29)
Bug Fixes

focus on releasing multiple packags (5a0559d)

eslint-config: 1.0.0
1.0.0 (2024-07-29)
Bug Fixes

focus on releasing multiple packags (5a0559d)

eslint-config-ts: 1.0.0
1.0.0 (2024-07-29)
Bug Fixes

focus on releasing multiple packags (5a0559d)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

babel-config-v1.0.0
eslint-config-v1.0.0
eslint-config-ts-v1.0.0
:sunflower:


MaxText Inference MicroBenchmark

Description
MaxText Inference MicroBenchmark to test best KV cache & sharding configurations.
Tests

Checklist
Before submitting this PR, please make sure (put X in square brackets):

[X] I have performed a self-review of my code.
[X] I have necessary comments in my code, particularly in hard-to-understand areas.
[X] I have run one-shot tests and provided workload links above if applicable.
[X] I have made or will make corresponding changes to the doc if needed.

@morgandu Should this be run nightly schedule, or do we want to turn schedule off, and only use for one-off?


Replying to extremely long messages creates massive padding above and below the message

I replied to an extremely long message (A 277 line long list) and I noticed it added a significant amount of padding above and below the reply message. The actual source message does have this problem.
This occurs both on desktop (<IP_ADDRESS>_Windows) and Android (1.11.4 2049)
Above reply:

Below reply:

Thanks for the report! Kinda funny :)


Keep code segment classes when useInlineStyles is true

Is your feature request related to a problem? Please describe.
I'm building a code color/style configurator and wanted to be able to listen for clicks on certain types of code segments (keyword, title, params, numbers, etc) to change their colors. To do so I need each segment to retain its type as a class (hljs-keyword, hljs-title, etc), but currently when you enable "useInlineStyles", createElement assigns different class names to the segments. I need useInlineStyles to be true so I can dynamically change the colors.
Describe the solution you'd like
I'd like either a flag to enable both inline styles and the class names, or for the class names to remain consistent regardless of useInlineStyles. I am not sure if there was a reason they are handled differently.
Additional context
Lines 48-54 of create-element.js:
    var props = useInlineStyles ? _objectSpread({}, properties, {
      className: className && createClassNameString(className)
    }, {
      style: createStyleObject(properties.className, Object.assign({}, properties.style, style), stylesheet)
    }) : _objectSpread({}, properties, {
      className: createClassNameString(properties.className)
    });

Why not use properties.className in both?

Since the classNames that end up being applied are almost always based on the token type of the highlighted element, how would you feel about a data-token="" attr (or even data-classname="", for that matter) that provides the same value? This would provide a target for your listener, without potentially introducing actual CSS classnames that someone might intentionally want to suppress.

That's works for me—didn't even consider that. I'll work on this when I get a chance. Should there be a config flag to enable them?

I lean slightly toward enabling by default, and providing a flag to disable... but I'm open to arguments for the opposite. Excited to see your PR.


Poor performance on Ubuntu on HiDPI/UHD display

Prerequisites

[X] Put an X between the brackets on this line if you have done all of the following:

Reproduced the problem in Safe Mode: http://flight-manual.atom.io/hacking-atom/sections/debugging/#using-safe-mode
Followed all applicable steps in the debugging guide: http://flight-manual.atom.io/hacking-atom/sections/debugging/
Checked the FAQs on the message board for common solutions: https://discuss.atom.io/c/faq
Checked that your issue isn't already filed: https://github.com/issues?utf8=✓&q=is%3Aissue+user%3Aatom
Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages

Description
Atom's performance is fairly poor on my laptop running Ubuntu GNOME 17.04 on a UHD display (3840x2160). Opening files or settings bumps up CPU usage, and when Atom is maximized, scrolling is quite choppy and runs the CPU up as well. When I change my resolution down to 1920x1080, it performs perfectly.
Versions
Atom    : 1.18.0
Electron: 1.3.15
Chrome  : 52.0.2743.82
Node    : 6.5.0
apm  1.18.1
npm  3.10.10
node 6.9.5 x64
python 2.7.13
git 2.11.0

Related to crappy graphics card ;) closing


8BitDo N64 Modkit, unable to press simultaneously C-Up+C-Down and C-Left+C-Right

BlueRetro firmware version
1.9.1
BlueRetro firmware specification
HW1
BlueRetro firmware variant
System specific
BlueRetro hardware type
External adapter dongle (1 port only)
Manufacturer
Retro Scaler
System used
Nintendo 64
Bluetooth controller brand & name
8BitDo N64 Modkit
What is problem? (only list ONE problem per report)
Unable to press simultaniously C-Up+C-Down and C-Left+C-Right
What did you expect to happen?
It should be two logical 1 instead of zeros at the same time. So there is no way to load game from save in Doom 64, cuz you need to simultaneously press C-Left+C-Right.
C-Up+C-Down also doesn't work.
Attach files like logs or Bluetooth traces here
No response

Thats a limitation of the controller itself in d-input mode.
The C stick is exposed only as the right joystick which do not allow for both opposing direction simultaneously.
A workaround would be to map another buttons as one of the c direction.
Or use Switch mode, but the mapping will be wrong on reconnection. Only on initial connection the mapping will be right.


Running Details

Hey folks.
Thanks for all the effort you've put into this problem so far. After discovering whisper's poor WER rate for Indic languages, a deep dive brought me here.
Now ideally I could load this model into whisper libraries that I'm already using, but as I understand it they have different underlying architecture's and that's not possible.
So instead, I'm looking for an update to https://github.com/AI4Bharat/IndicWav2Vec?tab=readme-ov-file#huggingface-inference
I would like to use IndicWav2Vec Large to minimize the need to have separate models for each language - but I only see the fairseq model and I need to use it in my code rather than in a terminal.
How does one actually use this?
I see https://github.com/AI4Bharat/IndicWav2Vec?tab=readme-ov-file#deployment
but models_dict.json seems to just be a mapping to the smaller models.

I see a lot of the team here has also worked on IndicWhisper - is that more of what I'm looking for?


RC1 fixes

Blocker issues before merging this PR:
#162, #154, #132, #80

I'm testing this release afaik (https://ci.appveyor.com/project/SoapyMan/redriver2-10jm8/builds/42382151/job/9d1w92ybk992wkm8/artifacts). But the game is still seg faults when I restart the in-game


Add SymCC and angr

AddSymCC for C and angr for python

SymCC and angr are both included in the list, although under different sections

Got it!


Change default merge strategy from Merge -> Squash and Merge

Follows structure of tt-mlir and tt-forge-fe repos.
Simplifies the commits to be "atomic" changes that incrementally implement new features.

Hi @yijie-yang, can you please take a look? Thanks.


Question: How to use it for subclasses of Tile/TileBase?

Hey!
First of all: Thanks for the awesome project. We're currently testing everything and from what I can tell so far, all CollectionItems have to inherit from ScriptableObjectCollectionItem.
What if you want/need to make a collection of TileBase/Tile-subclasses (or any other already existing ScriptableObject class)?
Would that be possible?

Hey @max-critcrew !
Yes, since a couple of versions ago I made easy to implement something like that using the interface ISOCItem, you can pretty much copy the same implementation on the ScriptableObjectCollectionItem and just support whatever you want from it.

@brunomikoski Thanks so much for the fast response!!
That sounds great! Just to clarify, TileBase is a class that inherits from Scriptable object that is part of the unity Tilemap package.
So if I get you correctly, what we can do is to make a custom:
class CustomTile : TileBase, ISOCItem
{
}

And this would be fully compatible, right?
Again thanks so much for your time,  it's much appreciated :)

Yep! it should be alright!


Plugin causes massive performance drops in the UE4 editor

With a DualSense plugged in it will cause the UE4 editor to run from 120fps to 20-30fps.
Unplugging the DualSense causes the performance to rocket up back to 120fps.
This was tested in UE4.26.2

I'm aware the plugin is WIP so I'm sure you probably know about this issue already.


METRON-322 Global Batching and Flushing

This patch starts by adding "batchTimeout" essentially every place "batchSize" is used.  Since the configuration-related classes are many-layered, this addition is trivial in many cases.
The flush-on-timeout logic is fairly straightforward. It was implemented by a refactoring of BulkWriterComponent to extract an explicit "flush" from the "write" logic, and then call flush from Tick Tuple processing in BulkMessageWriterBolt.
The tricky part was figuring out the appropriate setting for topology.tick.tuple.freq.secs if the administrator configures non-default batchTimeouts. It is necessary to enumerate the batchTimeout settings for all configured sensorNames, which is implemented in IndexingConfigurations::getAllConfiguredTimeouts(). Then multiple other factors must be taken into account to determine the allowed and recommended settings, which is implemented in BatchTimeoutHelper. If there are better ways to accomplish these things, please share your ideas.
For test and review, it may be useful to know that the default value of batchTimeout, and hence for topology.tick.tuple.freq.secs, is 14 seconds (which is the default value of topology.message.timeout.secs (30 sec) / 2 - 1).
To unit test this feature, we added Clock logic and implemented a writable FakeClock.  This may be generally useful for testing other time-based behavior as we add such functionality.
All configuration issues were done in such a way as to default to "good" behavior, with no changes needed in current configs of previously installed systems.  In fact, recommended configuration is to leave batchTimeout unconfigured, or set it to zero, thereby accepting the system calculated default.
After this patch is reviewed and accepted, similar work needs to be done for the ParserWriter, and possibly other sub-components.  That will be in a separate PR.
It is possible to split this patch into sections related to each of sub-tasks METRON-516, METRON-577, METRON-329 and METRON-330.  Let me know if you would like me to do so.  In the past, people seem to prefer to see a whole feature development in one PR, even though it gets a little long, so that's the way I'm submitting this one, for now.
Pull Request Checklist
Thank you for submitting a contribution to Apache Metron (Incubating).
Please refer to our Development Guidelines for the complete guide to follow for contributions.
Please refer also to our Build Verification Guidelines for complete smoke testing guides.
In order to streamline the review of the contribution we ask you follow these guidelines and ask you to double check the following:
For all changes:

[x] Is there a JIRA ticket associated with this PR? If not one needs to be created at Metron Jira.
[x] Does your PR title start with METRON-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.
[x] Has your PR been rebased against the latest commit within the target branch (typically master)?

For code changes:

[NA] Have you included steps to reproduce the behavior or problem that is being changed or addressed?

[x] Have you included steps or a guide to how the change may be verified and tested manually?
Yes, see the two modified .md files, and the above information.

[x] Have you ensured that the full suite of tests and checks have been executed in the root incubating-metron folder via:
mvn -q clean integration-test install && build_utils/verify_licenses.sh

[x] Have you written or updated unit tests and or integration tests to verify your changes?

[NA] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?

[IN PROCESS] Have you verified the basic functionality of the build by building and running locally with Vagrant full-dev environment or the equivalent?

For documentation related changes:

[x] Have you ensured that format looks appropriate for the output in which it is rendered by building and verifying the site-book?

Should we rely on a tick tuple?  The reason I ask, is that we also use the BulkWriterComponent directly in the ParserBolt.
It seems to me that maybe a cleaner approach here would be to have a Timer in the BulkWriterComponent, this would have the benefit of being self-contained and working for both the enrichment and the parsers.  Thoughts?

@cestella , thanks for looking at this. The primary motivation for adding batchTimeout was to prevent tuple recycling due to "topology.message.timeout.secs".  Thus, correctly configuring the timeout period requires interacting with the Bolt.  You're correct that this means each Bolt that uses BulkWriterComponent must be modified to include the tick tuple processing, as noted in my opening comments:
After this patch is reviewed and accepted, similar work needs to be done for the ParserWriter, and possibly other sub-components. That will be in a separate PR.

I implemented the changes in BulkWriterComponent such that it would default to conservative behavior if the containing Bolt didn't configure it.
I considered using a timer thread instead of tick tuples, but:

This is precisely one of the use cases contemplated by the Storm team when they created Tick Tuples, as discussed in the article here cited in the jira for METRON-322.
It isn't sufficient to just create a timer thread.  One must also monitor that thread, be able to restart it if it dies, make sure it doesn't do anything non-thread-safe, etc.  These add significant complexity to the code, and uncertainty in the case of the thread-safeness, since any pattern we create here will surely be imitated by other developments down the road, and Bolt code is not typically thread-safe.
On the other hand, using the built-in Tick Tuples avoids both the complexity, since it handles the reliability issues internal to Storm, and uncertainty, since the Tick Tuple is processed in the single flow of control of normal Bolt processing.

So I think it's cleaner to use the feature provided by the Storm environment.  I'm open to arguments to the contrary.

Ok, fair points all-the-way-around.  I'm convinced that we're thinking it through.  I'll give this a bit more of a careful look today.  Thanks for the contribution!

What is the status of this PR?

This is simply waiting for me to have time to return to it.  Would like to leave it open, if agreeable to community.

@mattf-horton - Can I offer some help getting back to this? Is a pretty important fix.

Hi @dlyle65535 , I would welcome help.  I think this weekend I can update to current master, and integrate the (already done) fixes for @cestella 's suggestions, including stateful testing with mock FakeClock to observe positive and negative flush test cases.  At that point I think it is self-consistent and reviewable.  But if extensive additional testing is requested, I'd need help, and of course the Writers other than BulkMessageWriterBolt remain to be implemented in other Jiras (METRON-750 and METRON-751).

Awesome! I can run it up on a live system and see what's what. Thanks!

@cestella said:
Since this is a core change, it bears probably developing an acceptance test plan.
Something like creating a dummy sensor, creating a batch size of 10 and sending
in 5 messages and ensuring things get flushed.

Also, it might be worth adjusting the IndexingIntegrationTest to set the hdfs writer
config in metron-integration-test/src/main/config/indexing/test.json to a large batch
size (say 50) and a timeout of, say, 5 seconds to ensure that batches get flushed as
part of the integration tests.

Unfortunately a lot of existing tests have fairly sensitive dependence on hdfs parameters in indexing/test.json, so tweaking it arbitrarily is not feasible.  However, I was able to enlarge the elasticsearch values, and I have mocked procedures in the unit test that test the following cases:

Test that flush on batchSize continues to work correctly, without time-based triggers going off.
Test that flush occurs on less-than-full queue, when a message comes in and the queue is older than batchTimeout.  (Age of the queue is determined as currentTime() - timeOfEnqueingFirstMsg().)
Test that flush occurs on less-than-full queue, when a TickTuple comes in and the queue is older than batchTimeout.
Test that default batchTimeout is correctly calculated as (TOPOLOGY_MESSAGE_TIMEOUT_SECS / 2 / batchTimeoutDivisor - 1).
Test that when default batchTimeout is smaller than configured batchTimeout, that the default is used.
Test that when default batchTimeout is greater than configured batchTimeout, that the configured batchTimeout is used.

All of the above test cases are tested, with mocked writers and a FakeClock, in the BulkMessageWriterBoltTest unit test file, with the latest commit above.

@dlyle65535 , integrated and fixed unit tests as intended, and updated to current master.  Thanks.

This is a lot of work, and a great job @mattf-horton.  A couple of nit comments I would like to get response to before a +1

I am seeing errors like

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running org.apache.metron.solr.integration.SolrIndexingIntegrationTest
Waiting for zookeeper...
Found index config in zookeeper...
0 vs 10 vs 0
0 vs 10 vs 0
0 vs 10 vs 0
0 vs 10 vs 0
0 vs 10 vs 0
0 vs 10 vs 0
Processed target/indexingIntegrationTest/hdfs/test/enrichment-hdfsIndexingBolt-1-0-1499888936956.json
10 vs 10 vs 10
Processed target/indexingIntegrationTest/hdfs/test/enrichment-hdfsIndexingBolt-1-0-1499888936956.json
2017-07-12 15:48:57 ERROR ClientCnxn:524 - Error while calling watcher
java.util.concurrent.RejectedExecutionException: Task org.apache.solr.common.util.ExecutorUtil$MDCAwareThreadPoolExecutor$1@9651f04 rejected from org.apache.solr.common.util.ExecutorUtil$MDCAwareThreadPoolExecutor@d5a9af0[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 16]
	at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2047)
	at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:823)
	at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1369)
	at org.apache.solr.common.util.ExecutorUtil$MDCAwareThreadPoolExecutor.execute(ExecutorUtil.java:135)
	at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112)
	at org.apache.solr.common.cloud.SolrZkClient$3.process(SolrZkClient.java:261)
	at org.apache.zookeeper.ClientCnxn$EventThread.processEvent(ClientCnxn.java:522)
	at org.apache.zookeeper.ClientCnxn$EventThread.run(ClientCnxn.java:498)
2017-07-12 15:49:01 ERROR ReadClusterState:181 - Failed to Sync Supervisor
java.lang.RuntimeException: java.lang.InterruptedException
	at org.apache.storm.utils.Utils.wrapInRuntime(Utils.java:1507)
	at org.apache.storm.zookeeper.Zookeeper.getChildren(Zookeeper.java:260)
	at org.apache.storm.cluster.ZKStateStorage.get_children(ZKStateStorage.java:174)
	at org.apache.storm.cluster.StormClusterStateImpl.assignments(StormClusterStateImpl.java:153)
	at org.apache.storm.daemon.supervisor.ReadClusterState.run(ReadClusterState.java:126)
	at org.apache.storm.event.EventManagerImp$1.run(EventManagerImp.java:54)
Caused by: java.lang.InterruptedException
	at java.lang.Object.wait(Native Method)
	at java.lang.Object.wait(Object.java:502)
	at org.apache.storm.shade.org.apache.zookeeper.ClientCnxn.submitRequest(ClientCnxn.java:1342)
	at org.apache.storm.shade.org.apache.zookeeper.ZooKeeper.getChildren(ZooKeeper.java:1588)
	at org.apache.storm.shade.org.apache.zookeeper.ZooKeeper.getChildren(ZooKeeper.java:1625)
	at org.apache.storm.shade.org.apache.curator.framework.imps.GetChildrenBuilderImpl$3.call(GetChildrenBuilderImpl.java:210)
	at org.apache.storm.shade.org.apache.curator.framework.imps.GetChildrenBuilderImpl$3.call(GetChildrenBuilderImpl.java:203)
	at org.apache.storm.shade.org.apache.curator.RetryLoop.callWithRetry(RetryLoop.java:108)
	at org.apache.storm.shade.org.apache.curator.framework.imps.GetChildrenBuilderImpl.pathInForeground(GetChildrenBuilderImpl.java:200)
	at org.apache.storm.shade.org.apache.curator.framework.imps.GetChildrenBuilderImpl.forPath(GetChildrenBuilderImpl.java:191)
	at org.apache.storm.shade.org.apache.curator.framework.imps.GetChildrenBuilderImpl.forPath(GetChildrenBuilderImpl.java:38)
	at org.apache.storm.zookeeper.Zookeeper.getChildren(Zookeeper.java:255)
	... 4 more
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 45.675 sec - in org.apache.metron.solr.integration.SolrIndexingIntegrationTest

Results :

Have you seen these?

Comment on testing:  There are so many permutations it only seemed reasonable to automate them in unit test, and so I did.  As part of code review, please provide your opinion on whether the provided unit tests are adequate, or what additional test cases should be added.
Manual end-to-end testing, if you are so moved, consists of six scenarios for a given sensor queue:

Under heavy continuous load the batchSize still controls flushing behavior, because the queue size always exceeds batchSize before queue age exceeds batchTimeout.
Under light continuous load, where each queue continues to receive at least one message per second, and batchSize is large enough it is never exceeded, then the batchTimeout for each queue should control flushing behavior within +/- 1 sec, because each new message triggers a check of the queue age and potential timeout flush.

NOTE: If the configured batchTimeout is set to a large number, bigger than 1/2 topology.message.timeout.secs - 1 (which equals 14 sec by default), then it will be replaced by an effective value equal to 1/2 topology.message.timeout.secs - 1.  Flushing will occur within +/- 1 sec of each effective batchTimeout interval, rather than the configured batchTimeout interval.

Under light intermittent load, where less than batchSize messages queue up, and gaps between messages may exceed the timeout interval, then age checks and potential flush events may be triggered by either incoming messages or TickTuple events, depending on the phase relationship between intermittent bursts of messages, and the TickTuple system tick.  The TickTuple interval is guaranteed to be < 1/2 topology.message.timeout.secs, hence the default TickTuple interval is 14 seconds.  But if the smallest batchTimeout configured for any sensor queue on the Bolt is < the default TickTuple interval, then that smallest value becomes the actual TickTuple interval.  This produces three sub-cases, all of which guarantee a flush event before any message gets recycled due to aging past topology.message.timeout.secs:

If the queue's configured batchTimeout is the smallest (or only) such on this Bolt, and that number is smaller than the default TickTuple interval, then it becomes the actual TickTuple interval.  The queue is guaranteed to flush between 1x and 2x this interval.
If the queue's configured batchTimeout is not the smallest such, but still is < the default TickTuple interval, then the queue is guaranteed to flush between its own configured batchTimeout and its configured batchTimeout + actual TickTuple interval (which is less than 2x its own configured batchTimeout).
If the queue's configured batchTimeout is > the default TickTuple interval (14 sec default), then its effective batchTimeout is set to the default TickTuple interval.  The queue is guaranteed to flush between this effective batchTimeout and its effective batchTimeout + actual TickTuple interval.

The upshot is that:

"Configured batchTimeout" should be thought of as "minimum age before you'll allow a time-based flush" (capped by default TickTuple interval, aka 1/2 topology.message.timeout.secs)
"Actual TickTuple interval" is the "maximum time between age checks".  It will be <= all the configured batchTimeouts for the various sensors on the Bolt.
When a flush actually happens may be up to "effective batchTimeout" + "actual TickTuple interval", depending on exactly when intermittent message events and periodic Tick events happen.

@ottobackwards , thanks for looking at this.  I did not see those error behaviors while running integration tests.  Please tell me the environment and the exact invocation you used.  Thanks.

+1

Before committing, I'm going to retest to make sure I'm not missing the problems @ottobackwards saw.  @dlyle65535 , also interested in your feedback if you have time.

@mattf-horton - sorry about the hurry up and wait. I'll run this up tomorrow. Thanks!

My test environment is being funky, I'm +1 by inspection- thanks for the work, please don't let me hold you up any more.

@mattf-horton Oh noes! Looks like you got merge conflicted. Any chance this is on your radar still? Thanks!

@dlyle65535 yes, I'll clean this up.
I'll run integration tests one more time to make sure I don't see @ottobackwards 's problem, then commit on the strength of his and your +1.  Let me know if you disagree.

Updated and re-ran unit and integration tests.  @ottobackwards , metron-solr integration tests ran fine.  I did see a problem with metron-rest integration test org.apache.metron.rest.controller.UpdateControllerIntegrationTest , but it happens in current master branch without this PR too.  @dlyle65535 , proceeding with commit.


Need your help for connecting to WeBack server

Hi Marcel!
I send you this support request for a special request...
I actually made a plugin for HomeAssistant, and i have problem... i'm pretty sure you have the solution !
User's coming from Tesvor app can't connect with my plugin, cause server said the application is not recognized.
When you are login to WeBack server what do you insert inside "application" field ?
{
    "payload": {
        "opt": "login",
        "pwd": "xxxxxxxxxxxxxxxxxxxxxxx"
        },
    "header": {
        "language": "fr",
        "app_name": "", <==== HERE ?
        "calling_code": "0033",
        "api_version": "1.0",
        "account"<EMAIL_ADDRESS>        "client_id": "yugong_app"
    }
}

Just installing and trying around with this plugin... Perhaps this post helps you?
Curl call and password has generation to test

Hi !
No this post doesn't help me in this example app_name used is WeBack but doesn't work for Tesvor...
And i don't have homebridge

Hi,
I would like to help you, but unfortunately the Tesvor APP uses a different API.
My devices only work with the WeBack APP, so I can't test the Tesvor APP.
Maybe you can record the network traffic of the Tesvor APP. For example, a useful tool for iOS is HTTP Catcher.
Regards
Marcel


⚠ Bofrost.at has degraded performance

In 830bb65, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1430 ms

Resolved: Bofrost.at performance has improved in 53a6894 after 13 minutes.


Fix callback test cases which reads - Phase 1

With recent changes, callback privilege LDAP user no longer has read permission.
Following test cases to be fixed.

[ ] Verify LDAP User With Read Privilege Able To Check Inventory

[ ]  Update_LDAP_Group_Name_And_Verify_Operations

Currently both test cases failing with the latest changes from development.

[ ] https://gerrit.openbmc-project.xyz/#/c/openbmc/openbmc-test-automation/+/25590/

Basically callback changes rolled out in IBM release.
So changes may not go in.

But will use this issue to improve the code changes and put the callback changes back.


dwExtraInfo for Win32 Mouse and Keyboard

It would be useful if there was a way to set dwExtraInfo for the simulated mouse and keyboard events on Win32. It's simply a 32-bit (or 64-bit) value that has application-specific meaning. I've found it's useful for determining which events were caused by pywinauto versus another program that simulates events, such as TeamViewer. In my script I simply set a unique random value for dwExtraInfo and can identify my events based on it. This allows for installing global hooks for keyboard and mouse and only allowing certain keypresses at certain times by rejecting other input.
I have a quick and dirty implementation in my own fork (1611e45362dee910cffb77248f8633a489393ea3) but I'm not opening a PR because I put no thought into the API so it's probably not ready for a direct pull. It does, however, show a working example and all the spots it needs to be hooked in.

Hi @dsanders11 thanks for the suggestion. Regarding the API I think dwExtraInfo could be parameter of click_input(...)/type_keys(...). But it requires passing this param to every method including some of send_chars and/or send_keystrokes (BTW, it's good to check if dwExtraInfo is applicable for them).
Another more compact way is calling SetMessageExtraInfo for the current Python thread and use this value by calling GetMessageExtraInfo() like it was done for keyboard input already.

Another more compact way is calling SetMessageExtraInfo for the current Python thread and use this value by calling GetMessageExtraInfo() like it was done for keyboard input already.

This was my original approach but I found that it got overwritten. In particular, it seemed using the GUI aspect of OpenCV caused the value to go back to 0 (that took some debugging to determine, was unexpected). As such I switched to an API of explicitly setting it in pywinauto and that fixed that. So unfortunately I think the SetMessageExtraInfo approach is too fragile as any code executed on the same thread can change it and might cause issues.

Regarding the API I think dwExtraInfo could be parameter of click_input(...)/type_keys(...). But it requires passing this param to every method

That's why I avoided that implementation, it would be too tedious and require plumbing the knowledge about the dwExtraInfo value down to every usage of keyboard or mouse, rather than setting it once.

OK, got it. Then it's enough to have module level global variable dw_extra_info without setter. It's easy to set this variable directly: mouse.dw_extra_info = your_data and keyboard.dw_extra_info = your_data. This approach will eliminate global keyword which is the most unwanted thing.


iris shader not working

I use the seus hrr 2.1 shader and this happened

What do you mean by hrr?

no idea the shader is here https://www.patreon.com/posts/45141775

It’s Half Resolution Rendering, aka rendering at half the resolution and upscaling with tricks to make it look good

PTGI shader is not supported


Maybe add a requested by label in the footer

This will be something along the lines of; Requested By: Velvet#0002 (the tag of the user who executes the command).

Most commands display the user who issued the command in the author section of the embed.