PR: Handling people who've recently moved

Addresses #211.
There are 4 potential cases of addresses being returned from Verify:
1. Council receives the most recent verified address and it is in the right area
Obviously this is the best case scenario. In this case users are definitely eligible for a resident's parking permit.
This PR includes a slight alteration to the content of the "confirm address" page.
Before

After

If users answer "No" on this page, councils can handle this the same as receiving an unverified address. (See '3' below.)
2. Council receives an unverified address which is in the right area
Councils should basically ignore unverified addresses. Only some IDPs will actually send this information, but in any case it's not information that the council can trust as it's not proven in any way. Whenever this happens, 3 will happen as well, so councils should just act as if 3 has happened.
3. Councils receive an address which is not in the right area.
In this case, Verify has not proven that the user is eligible for a parking permit. Users should enter their new address (screenshots below) and then the councils can handle this in 4 different ways:

A. Councils check the entered address hasn't exceed it's allowance for permits, and then issues users a 3 month temporary permit, telling them to re-apply in 3 months. (This option comes with added assurance if using LOA2 as councils can tell the user they can be taken to court if they lie.)
B. Users upload a document to prove their address, such as a landlord's agreement or proof of buying the property (sometimes called 'register of title' apparently)
C. Use V5C as proof of address, to be uploaded later on in the user journey
D. Councils use another form of locally held data to prove address, such as council tax number

Ok, now for the screenshots...
In all options (A, B, C, D), when councils receive an unverified address, users should see these two pages:

If councils have chosen option A, then the next screen should tell them about temporary permits:

Final page
There is 6 different versions of this page. That's because there's two different routes (3 month and Full 6/12) and a bunch of different options for councils to choose in each of those two different routes.
1. User is getting a 3 month permit and Council allows user to write their own 3 month permit

2. User is getting a 3 month permit and Council allows user to print their own temp permit

3. User is getting a 3 month permit and Councils only allow permits via post. User must wait for 3 month permit.

4. User is getting a Full permit (6/12 month) and Council allows user to write their own permit whilst they wait.

5. User is getting a Full permit (6/12 month) and Council allows user to print temp permit whilst they wait.

6. User is getting a Full permit (6/12 month) with no temp permit

To Do

[x] Make sure rest of the journey for temporary permits makes sense (i.e reflects 3 months)
[x] Add 3 options for temporary permit: Printable, writable, and postal
[ ] Add the extra screens for B, C, and D
[ ] Add all of the above to the pattern text

@lizziebruce @EUzkuraityte Before I delve into adding the extra cases talked about above, could you both read over what I've done so far?
Lizzie, I imagine you'll probably have a bit of feedback, especially on that last screen!!

@sanjaypoyzer As a concept this looks ok to me, but a couple of things:
1 - the temporary 3 month permit should be posted to the address without the option to print it
2 - user should have the option to bring in docs in person if LAs allow

@EUzkuraityte Agreed on 2, but if the temporary 3 month permit is posted to them, what to they do whilst they are waiting to receive it?

@sanjaypoyzer They'll just have to deal with it. It's a massive fraud risk issuing a temporary permit to someone who's address we cannot confirm. We can suggest the user to do B, C or D if they want a permit now. Either way, I'd say tag all LA contacts to the comment and see what they have to say about this. It very much depends on their risk appetite...

@EUzkuraityte I think "massive fraud risk" is a massive overstatement here. Let's talk through it in person.

@sanjaypoyzer Copy edit for the New resident permits screen para 2. This isn't a finished/polished version but hopefully clarifies a couple of things. NB not sure if credit history is the correct term.

You can still apply for a temporary resident’s permit, which expires in 3 months. Shortly before it expires, re-apply for the 6 or 12 month resident’s parking permit – by that time, GOV.UK Verify should be able to verify your address, as there will be a credit history for you at the new address.

For option B I think it's tenancy agreement for rental and for buying we should probably offer a range of things like Memorandum of Sale, Mortgage agreement, Register of title (which is at Land Registry and happens after you complete i.e. after you move in), leasehold/freehold agreement (also get after you move).

@sanjaypoyzer ok! I'm off tomorrow and on Mon, but any other time I'm happy to do it

^^ let me know the outcome, I can provide copy for option(s) taken forward

👍

@lizziebruce @EUzkuraityte Ok I think I've got all the different versions - 6 in total - of the last page. Have a look at the screenshots above and let me know if I've missed any cases.
I'm going to add an extra feature to the prototype so that we can feed it data via a URL, so instead of having to click through the whole journey to get to the screen with 3 month permits, you'll just add ?unverifiedAddress=true to the URL. That'll make it easier to link to screens as we talk about them in the future.
All those 6 screenshots are just regarding how councils issue 3 month permits and temporary permits. I haven't yet started on the other options for dealing with unverified addresses (labelled B, C and D above.)

Hi @sanjaypoyzer these look good to me & logic makes sense. Just 2 points from me. On screenshots 1. 2. and 3. the copy on third step probably needs to change, as it's a case of reapplying for a 6/12 rather than renewing the 3 monther. Also changed it to say "shortly before" as it'll take them time to reapply rather than getting an automatic renewal.
Before

After

Reapply for a 6 or 12 month parking permit shortly before your 3 month short-term permit expires. GOV.UK Verify should by then be able to verify your new address.

My other point is about something that might be a known bug, the "6/12 months" isn't showing on that same piece of copy for screenshots 4. 5. 6.

@lizziebruce The latter point is just because I didn't step through and choose 6 or 12, and there isn't a default value set so it shows nothing there.  Will make the other change.

Hi @sanjaypoyzer looks good to me, the only things to consider are:
1 - I assume that LA application confirmation number will be different from the temporary permit number (based on my previous experience working for a LA), which is why I think we should anticipate that LAs will have to change the content a little. Happy to keep this in the prototype just in  case some can issue the same application and temporary permit number, but wanted to flag this with you
2 - our success pages screenshots cover the option for when a user applies for 1 permit only. Will this get automatically adjusted for multiple permits?

Copy for unverified address page title, as per discussion this morning. @sanjaypoyzer @EUzkuraityte
Before (screenshot of a screenshot)

After (options)
A

Verified address not in Argleton City Centre

B

Verified address not eligible

C

Verified address outside requested parking area

D

Address not in parking area

Plus new copy for the line at the bottom of the screen:

This address is not in Argleton City Centre, where you're applying for a resident's parking permit. You need to tell us your current address.

@EUzkuraityte
Narrowed it down to these two options, and we've gone with the second one for clarity:
Verified address outside requested parking area
Verified address not in Argleton City Centre

I'm going to merge this in now as the branch now contains the route for getting a 3 month permit.
I'm going to do another pull request tomorrow with the route for uploading proof of address.


any update comparison for 2018?

any update comparison performance npm vs yarn for 2018?

@appleboy Yeah, an update would be cool

I will take it.

Cool. There is also the new npm ci command to consider.

install from npm install with package-lock.json without cache

real	1m1.009s
user	0m51.405s
sys	0m20.663s

install from npm ci with package-lock.json without cache

real	1m0.268s
user	0m23.193s
sys	0m13.480s

install from yarn with yarn.lock without cache

real	0m46.044s
user	0m42.042s
sys	0m29.464s

install from npm install with package-lock.json with cache

real	0m58.567s
user	0m40.420s
sys	0m17.439s

install from npm ci with package-lock.json with cache

real	0m43.004s
user	0m21.274s
sys	0m6.197s

install from yarn with yarn.lock with cache

real	0m36.384s
user	0m29.147s
sys	0m19.763s

Here's my rough benchmark. I only ran it once, so I'm pretty sure that yarn install without yarn.lock is not accurate.
# yarn install without yarn.lock

real    3m18.264s
user    0m0.015s
sys     0m0.060s

# yarn install with yarn.lock

real    1m59.023s
user    0m0.045s
sys     0m0.031s

# npm install without package-lock.json
real    1m42.511s
user    0m0.000s
sys     0m0.077s

# npm install with package-lock.json
real    1m14.273s
user    0m0.015s
sys     0m0.075s

Windows 10 with windows defender and indexing disabled.

node v10.4.1

npm 6.1.0

yarn 1.7.0


[Feature] Adding Step Endpoint Information

Solves: https://github.com/project-chip/certification-tool/issues/367
Backend Dependency PR: https://github.com/project-chip/certification-tool-backend/pull/147

[!WARNING]
The frontend changes and images shown here are not official and for experimental purpose only.

Description
Updating the Step Start hooks and the related code to include an optional endpoint information. Also, some logging were updated to show the endpoint if it exists.
This change depends on the backend's PR, mentioned above, that receives the new endpoint data and redirect it to the frontend via test UI observables so it may access and show as desired.
Please, mind this current solution will not store the endpoint information in the DB and it will not be retrieved for the UI after loading old executions. Anyway, the logs still points the endpoint on the step completion lines.
The TC_ACE_1_3 and TC_BOOLCFG_2_1 tests were updated to demonstrate how to send the endpoint through the backend hooks. | update to demonstrate how to used the updated hooks to inform the endpoint associated with every step.
Use Case Example:

[!WARNING]
The frontend changes and images shown here are not official and for experimental purpose only.

The images below show a possible usage of the new endpoint information passed to the frontend using the SDK and Backend changes:

The TC ACE 1.3 example

The TC BOOLCFG 2.1 example

@cecille This PR entered by mistake in the v1.4 but it was meant to enter only in the v1.5 in sync with the Backend's PR https://github.com/project-chip/certification-tool-backend/pull/147 to handle the feature request https://github.com/project-chip/certification-tool/issues/367.
Since I noticed the change was reverted for both master and v1.4, let me know if it's ok to create this PR again for this feature request or if it's necessary to try a different solution.


after upgrade issue

Description
I upgrade to latest 23.3.5 and when i try to connect to localhost I get
class [B cannot be cast to class [C ([B and [C are in module java.base of loader 'bootstrap')
DBeaver Version
23.3.5 official RPM package
Operating System
Linux Opensuse
Database and driver
Mariadb 11.2.2
Steps to reproduce
verify mariadb/mysql works for localhost in console with user and pass by executing mariadb -u myuser -p
create a direct connection to mariadb in dbeaver and hit ok or test connection
see the error given
Additional context
No response

Hello @poltpolt,
Can you please send the log files? You can find instructions here: https://dbeaver.com/docs/wiki/Log-files/.

I fixed it desperately messing blindly with the settings, I am convinced entering Driver Manager and redownloading the driver fixed the issue cause now I can use it


Migrate Signups and Reportbacks to Campaign Run nid

Admin form that lets you select a Campaign node, and then are presented with dropdowns of campaign runs associated with that node.  If a Campaign run node exists, you are able to archive the Signups and Reportbacks to the selected Campaign Run nid.
Upon submit, bulk update the Signup and Reportback nid properties to the Campaign Run nid instead of the Campaign nid, thus opening up the Campaign for a second run.

This is almost complete, the form submit function just needs to use the Drupal Batch API in order to prevent timeouts.

Ran migrate form on QA for 362:
Archived 36149 Signups and 2795 Reportbacks from 362 to 2341.
Ran in about 30 seconds.

http://staging.beta.dosomething.org/node/362/archive


Simple display of pose does not seem to work in master

Notebook here:
https://colab.research.google.com/drive/1KcecP88_NpNGw2o2wv4LCLhPGGC9YZtz?usp=sharing
import pyrosetta; pyrosetta.init()
pose = pyrosetta.pose_from_sequence('TESTTHISEPICLIFE')

import viewer3d
v = viewer3d.init(pose,backend="py3Dmol", window_size=(600,600)) + viewer3d.setStyle(cartoon=True, colorscheme="lightgreyCarbon")
v.show()

Thanks! Fixed in #11


Scrolling down does not work when cursor is over notebook output

I can't scroll down using a trackpad in a Jupyter notebook when the cursor is over output of type application/vnd.code.notebook.stdout (as reported being currently active when I click change presentation). Scrolling up works, and scrolling both ways work when starting over image/png type output.
Possibly related to this, scrolling using touch screen does not work up or down when starting dragging from an output of any of the above two types.
Disabling/enabling all extensions does not affect the issue.
Version: 1.75.1
Commit: 441438abd1ac652551dbe4d408dfcec8a499b8bf
Date: 2023-02-08T21:35:30.018Z
Electron: 19.1.9
Chromium: 102.0.5005.194
Node.js: 16.14.2
V8: <IP_ADDRESS>-electron.0
OS: Linux x64 5.15.0-60-generic
Sandboxed: No

can you try creating an empty profile to and see if this still reproduces with default settings?

save a notebook that can repro the issue
Profiles: create a temporary profile
open that notebook and check if the issue persists
Profiles: switch Profile to get back to default and restore your settings

Thanks a lot for looking into this! The issue does not reproduce with default settings. The setting that causes the issue is
    "editor.fontSize": 18,
This can not be reproduced with a temporary profile, it seems, since to reproduce the issue, Vscode needs to be restarted after changing the font size. To reproduce:

Rename ~/.config/Code to whatever to start with default settings
Change the font size (this does not affect the font size of output cells immediately)
Restart Vscode

After the restart the font size of output cells has changed and scrolling stops working.

thanks for the repro steps, that causes the issue for me, very strange.
It looks like this is already fixed in insiders though, at least I couldn't reproduce the issue there. So this should work fine if you download the latest insiders vs code, or when stable is released next week.

never mind, just hit it in insiders

It looks like the webview is not propagating the scroll event because of the check here
From debugging, it looks like we may have miscalcuated the scroll height or client height:
WillGoToParent is true - classList: output-stream | scrollTop: 0 | clientHeight: 285 | scrollHeight: 286
I noticed that I can only get this to repro when switching the font setting from 18 to 14, before reloading VS code, so this might not be the exact issue, but still very likely related.

This should be improved in the next release (and already in insiders), but to fix it entirely we might just need to add a threshold as described here: https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollHeight

yes, just run a cell with something like
print(1)
print(2)
print(3)

and scroll with the mouse wheel while hovering over that output. Adjusting the editor.fontsize would be a good test as well, 14 to 18, then back to 14.

When changing the editor fontsize, should the output text also change in size? The scrolling seems to work well though!

probably, but that's a different issue. The fact that it doesn't change was triggering this scrolling issue.

Should I create another issue for that? I notice that the font size for outputs is the same regardless of editor.fontSize

https://github.com/microsoft/vscode/issues/178082


Query strings in output file names are not supported

In my webpack.config, I specify a query string on the output files like so:
output: {
  filename: 'js/[name].js?[chunkhash:20]',
  chunkFilename: 'js/[name].chunk.js?[chunkhash:20]',
  path: path.resolve(__dirname, buildDir)
},

This naming convention results in the BugsnagSourceMapPlugin to not find any of my sourcemaps.
After glancing at your code, I noticed the reason the plugin couldn't find my sourcemaps was due to the regex used on the chunk.files here:
https://github.com/jmshal/webpack-bugsnag-plugin/blob/master/src/BugsnagSourceMapPlugin.js#L40-L41
The ability to support files with query strings can be done by mapping the file names before filtering, so that the query is stripped out.  Something like this:
const filesWithoutQuery = chunk.files.map((file) => file.split('?')[0]);

and filtering based on those mapped file names. Or updating the regex to account for query strings and then stripping out the query part before upload.

Hey Nicolas,
Sorry about the delayed response. I’ll be honest I’ve never seen the chunk hash used in that way before, so thanks for filing the issue.
Sadly, I’m not going to be able to take a look at this issue until Monday (NZST, Labour Day) - so sorry about that. But PRs are always welcome 😜

On 20/10/2017, at 8:55 AM, Nicolas Bauer<EMAIL_ADDRESS>wrote:
In my webpack.config, I specify a query string on the output files like so:
output: {
filename: 'js/[name].js?[chunkhash:20]',
chunkFilename: 'js/[name].chunk.js?[chunkhash:20]',
path: path.resolve(__dirname, buildDir)
},
This naming convention results in the BugsnagSourceMapPlugin to not find any of my sourcemaps.
After glancing at your code, I noticed the reason the plugin couldn't find my sourcemaps was due to the regex used on the chunk.files here:
https://github.com/jmshal/webpack-bugsnag-plugin/blob/master/src/BugsnagSourceMapPlugin.js#L40-L41 https://github.com/jmshal/webpack-bugsnag-plugin/blob/master/src/BugsnagSourceMapPlugin.js#L40-L41
The ability to support files with query strings can be done by mapping the file names before filtering, so that the query is stripped out. Something like this:
const filesWithoutQuery = chunk.files.map((file) => file.split('?')[0]);
and filtering based on those mapped file names. Or updating the regex to account for query strings and then stripping out the query part before upload.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/jmshal/webpack-bugsnag-plugin/issues/6, or mute the thread https://github.com/notifications/unsubscribe-auth/AEffkwzfiDwQ5rOnh7tA8qihwbGLOcAxks5st6lBgaJpZM4P_xaj.

Hi Jacob,
Ok, I can make the PR today.  Fix seems easy enough that I can take a crack at it.
About the output file naming conventions, it is used as a cache-busting strategy. There are basically two camps: (i) put the hash in the filename, and (ii) put the hash as a query string.  While most of the google blog posts give articles explaining (i), the advantage of (ii) is that each deploy simply overwrites files on my server (while webpack does the fetch with the query string so the cloud edge node knows there is a new version).
The plugin is really awesome, so it would be my pleasure to help out!

Have a branch with commits, but when I try to push I get:
remote: Permission to jmshal/webpack-bugsnag-plugin.git denied to nwbauer

Hey @nwbauer, you'll need to fork the repository first, and then push to your branch to your forked repo. If you need any help, GitHub have some really helpful resources.

https://help.github.com/articles/fork-a-repo/
https://help.github.com/articles/creating-a-pull-request-from-a-fork/

If this all seems too much, just let me know, and we can figure out an easier way of getting your code across to this repo 😀

Ah, PR across forks.  Ok cool.

I just released v0.1.1, with your changes within. Thanks again!


Unavailable state for plugins

Adding the state Unavailable to a Plugin.
If a plugin is marked as Unavailable, it can not be started. Unavailable plugins should first be moved to the Deactivated state. Once they are in the Deactivated state they can be started. The reason for adding this state is to send a notification if a plugin is available, keeping Thunder an Event driven system (and no polling is required to see the availability of plugins).
This feature is to be used for:
Downloadable plugins, a Plugin responsible for downloading can move the plugin from Unavailable to Deactivated if all the prerequisites (download/decrypt/installation) are completed successfully.
Up selling / provisioning / Timed. If certain features should only be made available after it is bought or if the feature needs to be provisioned before it can be used or features that can only be used in specific time-slots..

Just let me know if I can merge it..

@pwielders yes, please go ahead and merge!


profileIds in usePublications and useProfiles

Describe the bug
When doing a request with profileIds in usePublications and useProfiles, the results are cached and no new values for profileIds can be requested on those hooks anymore.
Expected behaviuor
I should be able to call usePublications and useProfiles with different arrays of profileIds and get proper results each time.
react-web 1.3.0-next

@moesalih are you able to provide a little snippet of code that showcase the way you change profileIds?

i'm not dynamically changing the profileIds in the same mounted instance of the hook. I meant using usePublications with some profileIds, and then going to another page that also uses usePublications with another set of profileIds, the seconds request won't actually fire and will just return the cached results for the first previous request

Oh, I see what's going on. Will let you know when a fix is available.

@moesalih this is now available in 1.3-next.8 can you please update and confirm works as intended so we can close this issue?


go-termgenie-check fails

http://build.berkeleybop.org/job/go-termgenie-check/
embryo sac egg cell differentiation is unsatisfiable: it is asserted as 'only_in_taxon some Magnoliophyta', but it also also subclass of 'female gamete generation' which is (indirect) subclass of oogenesis, which occurs 'only_in_taxon some Metazoa'.
Magnoliophyta subclass of Viridiplantae, Metazoa subclass of Opisthokonta - Viridiplantae and Opisthokonta are disjoint.

@tberardini, @ukemi: I'm not sure what would be correct in term of fix here: removing embryo sac egg cell differentiation part of some female gamete generation would I believe fix this, but whether it is the correct fix or not..
@cmungall, @kltm: tagging as infrastructure because I don't know why the TG check fails and not the build (well I suspect because only TG checks for taxon constraints, but not sure why the 2 builds are different)

Note that as long as this is not fixed termGenie is unavailable for users "The first step is to check the ontology status. If there are issue, such as missing imports or unsatisfiable classes, TermGenie won't/cannot create safely new classes."

Tanya is the expert here, but it makes perfect sense to me that we need to represent the male and female aspect of plants.

removing embryo sac egg cell differentiation part of some female gamete generation would I believe fix this, but whether it is the correct fix or not..

I don't think this is the correct fix.  The embryo sac egg cell IS the plant female gamete.
Seems to me that the 'female gamete generation' term  links out to CL which does not include plants.  Correct?
intersection_of: GO:0008150 ! biological_process
intersection_of: results_in_formation_of CL:0000675 ! female gamete
Options: (mix and match)

remove logical def to CL for the GO term 'female gamete generation'
where do we have a superclass for animal and plant female (and male) gametes?  use that instead
get rid of 'female germ cell' capable of oogenesis relationship (definitely need to do this - that's what's mucking things up)

@ukemi - what do you think?

This makes sense to me. It seems to me that oogenesis should encompass more than just what a female gamete can do.

I don't quite understand why we should get rid of 'female germ cell' capable of oogenesis. A female germ cell is a  cell that gives rise to the female gametes of an organism that reproduces, and oogenesis is the production of an ovum (egg cell), developed from the primary oocyte by maturation (paraphrased from wikipedia). It seems that it is true that a female germ cell is capable of oogenesis? I don't think using this restriction means that this is all that oogenesis encompasses?
It seems that the taxon restriction on oogenesis is causing issues - it is limited to only in Metazoa. Wikipedia tells me that oogenesis occurs also in plants "In plants, oogenesis occurs inside the female gametophyte via mitosis." (and this is the ref used on the oogenesis class), so perhaps that taxon restriction should be removed?

It seems that the taxon restriction on oogenesis is causing issues - it is limited to only in Metazoa. Wikipedia tells me that oogenesis occurs also in plants "In plants, oogenesis occurs inside the female gametophyte via mitosis." (and this is the ref used on the oogenesis class), so perhaps that taxon restriction should be removed?

I agree (was half way through writing the same thing when I saw your post.

I think both the taxon restriction and the capable_of relationship are problematic, at least with respect to my interpretation of the definition of capable_of.

I think both the taxon restriction and the capable_of relationship are
problematic, at least with respect to my interpretation of the
definition of capable_of.

Do you have couterexamples?

@cmungall, @kltm:
tagging as infrastructure because I don't know why the TG check fails
and not the build (well I suspect because only TG checks for taxon
constraints, but not sure why the 2 builds are different)

there is no separate taxon check as such, it's just a generic coherency
test.
TG uses complete ontologies rather than modules, which is one reason for
different results. This could be due to additional axioms in the
complete ontology. Or it could be because the module was built from an
earlier version of the ontology, and the latest version has incompatible
axioms.
Either way it's unintuitive for editors to have to check this additional
jenkins job. Should be folded in more elegantly.

I think both the taxon restriction and the capable_of relationship are
problematic, at least with respect to my interpretation of the
definition of capable_of.
Do you have couterexamples?

PMID:26697222
Seems like lots more goes into oogenesis than just a process carried out by a female germ cell.

IIRC, oogenesis = ovum development and the terms ovum and oogenesis are not generally used for plants and that is why the taxon restriction was placed on this term.  It's also why the separate term, 'embryo sac egg cell differentiation' exists, to be used for plant processes.  I would prefer that we keep that taxon restriction for oogenesis in place, despite what Wikipedia says.

I think you are correct.

Ok - let's add a comment then on the oogenesis class to that effect. Would something like "The terms oogenesis and ovum are not generally used for plants and a taxon restriction was therefore place on this class" work? Shamelessly copied from @tberardini :)
That leaves us with the 'female gamete' - based on comments above:
(1) it is imported from CL which doesn't accommodate plants
(2) it is capable of oogenesis in the current GO file, therefore restricted to Metazoa. I'm still unsure whether 'capable of' is wrong her. Looking at the definition of 'capable of', it reads "Definition: A relation between a material entity (such as a cell) and a process, in which the material entity has the ability to carry out the process." It doesn't say that it has to carry the process on its own, only that it has the ability to carry out the process. It would be good to specify this, which would then allow to decide whether this relationship is appropriate or not.
Overall, it seems that the term 'female gamete' is not appropriate here. There is an 'embryo sac egg cell" imported from PO which may be better suited? It is a subclass of plant egg cell (PO_0020094) That would be option (2) in @tberardini's proposal above.

Looking at the definition of 'capable of', it reads "Definition: A relation between a material entity (such as a cell) and a process, in which the material entity has the ability to carry out the process." It doesn't say that it has to carry out the process on its own, only that it has the ability to carry out the process. It would be good to specify this, which would then allow to decide whether this relationship is appropriate or not.

The intent is, I believe, to use this when an entity can carry out the whole process, given the appropriate conditions (environmental;  regulatory).  If it can only carry out part of it, you should use 'capable of part of'.  I can't speak for the process in plants, but in metazoans, the development of an egg typically involves the active participation of somatic follicle cells which contribute material.  In insects, the follicle cells also provide instructive signals required for a correctly patterned egg.  So, I'd use 'capable of part of' in this case.

Minimal fix for now (to fix TG): have deleted logical def on 'female gamete generation'.  Seems like there are a few cases where we need a general term that will work for plants and metazoans.  @cmungall  - where should these live?
Bit surprised this not also causing problem given that 'egg cell' is_a 'female gamete':

Build fixed.  https://build.berkeleybop.org/view/GO/job/go-termgenie-check/606/
Based on previous experience, it may take some time for this fix to filter through to TG.


add custom CMD (new style entrypoint/cmd) to metatron validation

Description of the Change
entrypoint and command are now verified as arrays by metatron. Backwards and forwards compatibility is being done by the metatron service itself.

Pull Request Test Coverage Report for Build 1760

0 of 28 (0.0%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.02%) to 22.831%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

executor/runtime/docker/docker.go
0
2
0.0%

executor/metatron/metatron.go
0
8
0.0%

executor/runner/runner.go
0
18
0.0%

Totals

Change from base Build 1735:
-0.02%

Covered Lines:
2163

Relevant Lines:
9474

💛  - Coveralls


How correctly create Expression for call List.Contains in Where clause

Example:
// pseudocode
List<T> list = new List() { ... };
_context.Set<T>().Where(i => list.Contains(t => /*predicate*/));

For this I get a warning that this query will be evaluted localy.
What solution for queries like that?
How correctly create Expression for Where clause?
<ItemGroup>
   <PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.1.4" />
   <PackageReference Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="2.1.2" />
</ItemGroup>

string.Contains is already supported.


3.9.0 - VALENS gift gives broken weapons

Originally written by chomp

Fixed: https://github.com/sp-tarkov/server/commit/f6c0b877b7f88338f6763a2747a909b1e62b03ec

Originally written by chomp


Install golang 1.20.x in docs job

As a pull request owner and reviewers, I checked that:

[x] Appropriate testing is done and actually running

We already have a PR on that, tested across repos https://github.com/openstack-k8s-operators/ci-framework/pull/2009

Looks like there is already a PR.


Dire Wolves spawn in well-lit bases

Dire Wolves appear to be hard-coded to spawn in any light level- https://github.com/SleepyTrousers/EnderZoo/blob/57ca3cfdbc8b2cc760554a45074b4ed90bf5019f/src/main/java/crazypants/enderzoo/entity/EntityDireWolf.java#L75. Found this via the Regrowth modpack, where the default biomes are changed, and dire wolves spawn all over well-lit bases.

Regrowth modpack as well.  Dire wolves should certainly be changed to obey typical spawn light levels.


Use visahoi ids for default messages and markers

Refactored the createBasicOnboardingMessage() to assign a new id to each new messages. The user now no need to pass the id of the new message to be created


Internal link menu

Hi all, o try use internal link for navigation menu in pdf, but
not working only paint blue color the link but when i clic not happen nothing :/ :(
i try this:
link
and them
here
but the link not working only in html :/
any tips or tricks
i user this in my enviroments:
reportlab==2.6
pisa==3.0.33
pyPdf==1.13
html5lib==0.999
Django==1.7.7
the pdf working html to pdf but only the link menu navigation not working :/ :(

Hi all, Is there any tricks to make internal links working. Kindly help me on the issue, i am struck .


Other windows rules stop firing.

Josh, Been playing with variations of this for Sysmon3 when I write my decoder similar to yours with parent and type as windows, OSSEC stops alerting on other windows events.  Have you notices this type of behaviour?

I am deploying Sysmonv3 in my test environment Thursday.. I will let you know what I find by the end of this week...

Yeah I have not worked much with custom parsers/rules so may be doing something wrong but Brian Kellogg mentioned having the same issue here.
https://groups.google.com/forum/#!topic/security-onion/hBmJ2q5NuaY

Just an update on this issue... I am currently tweaking the ELSA & OSSEC parsers for Sysmon v3, and hope to have them done & tested within the next week or two.

Sounds good let me know if I can assist in any way.

I just posted the v3 decoder, as well as an updated version of the v1 decoder. Try removing the  tag and see if that helps as well....
https://github.com/defensivedepth/Sysmon_OSSEC/blob/master/Sysmon_OSSEC-Decoders.xml

Thanks Josh I will check it out sometime this week or next.    What do you mean by "try removing the tag"

Sorry, left out a word... On the v1 decoder, I removed the  tag, which should not have been in there...

Side note, are you running the decoder + rules in a SO distributed environment?

Not currently just single SO standalone.


LocalDateTime for current timestamp in any format

@authorjapps , can you please support LocalDateTime for generating current timestamp which can be useful during test run?
e.g.

For generating current timestamp in a format supplied at the runtime of tests
For generating a random number using datetime with milli of the day or datetime with nano of the day
Or simply print the date or year etc

@albertosipov , This sounds like duplicate of https://github.com/authorjapps/zerocode/issues/29 related to LOCAL.DATE.TODAY. Please click and see, this have been answered for LOCAL.DATETIME.NOW https://github.com/authorjapps/zerocode/issues/29


Mobile: menu doesn't work while page is loading

Menu doesn't show up on hamburger icon click while page is loading. Especially noticeable on resource heavy pages like https://developers.google.com/web/updates/devtools/ (~9MB)

Ta for raising the bug.
You can super easily replicate this by switching to 2G on the network panel.

A 10meg page?

Umar's gifs are loaded as article covers.

This could easily be solved by not using gifs in this page and using plain old images.
On good 3G connection ti was just under 50s to get the page loaded such that the nav drawer could be opened.


KeyError in _async_setup_platform / async_setup_entry -> all values "unavailable" in HA dashboard

Describe the bug
All values report as "unavailable" in HA dashboard.
It seems that values are fetched correctly from VW API but some key error appears later.
Is this working in MySkoda app?*
Yes
Latest working release
No version changes to skodaconnect recently.
Debug logs
2024-05-08 09:00:06.582 DEBUG (MainThread) [custom_components.skodaconnect] Updating data from Skoda Connect
2024-05-08 09:00:06.582 DEBUG (MainThread) [skodaconnect.vehicle] Starting discovery for vehicle REDACTED
2024-05-08 09:00:06.582 DEBUG (MainThread) [skodaconnect.connection] No valid access token for "vwg"
2024-05-08 09:00:06.582 DEBUG (MainThread) [skodaconnect.connection] Refreshing tokens for client "vwg"
2024-05-08 09:00:06.791 DEBUG (MainThread) [skodaconnect.connection] Refresh tokens succeeded, revoking old refresh tokens
2024-05-08 09:00:06.848 DEBUG (MainThread) [skodaconnect.connection] Revocation of token for client "vwg" successful
2024-05-08 09:00:06.848 DEBUG (MainThread) [skodaconnect.connection] Tokens refreshed successfully for client "vwg"
2024-05-08 09:00:07.166 DEBUG (MainThread) [skodaconnect.connection] Request for "https://mal-1a.prd.ece.vwg-connect.com/api/cs/vds/v1/vehicles/REDACTED/homeRegion" returned with status code [200]
2024-05-08 09:00:07.166 DEBUG (MainThread) [skodaconnect.vehicle] Get homeregion for VIN REDACTED
2024-05-08 09:00:07.166 DEBUG (MainThread) [skodaconnect.connection] Attempting extraction of jwt subject from identity token.
2024-05-08 09:00:07.312 DEBUG (MainThread) [skodaconnect.connection] Request for "https://customer-profile.vwgroup.io/v2/customers/REDACTED/realCarData" returned with status code [200]
2024-05-08 09:00:07.312 DEBUG (MainThread) [skodaconnect.vehicle] Attempting discovery of supported API endpoints for vehicle.
2024-05-08 09:00:07.890 DEBUG (MainThread) [skodaconnect.connection] Request for "https://mal-3a.prd.eu.dp.vwg-connect.com/api/rolesrights/operationlist/v3/vehicles/REDACTED" returned with status code [200]
2024-05-08 09:00:07.890 DEBUG (MainThread) [skodaconnect.vehicle] Discovered active supported service: rlu_v1, licensed until 2024-08-11 12:55:00
2024-05-08 09:00:07.890 DEBUG (MainThread) [skodaconnect.vehicle] Discovered active supported service: trip_statistic_v1, licensed until 2024-08-11 12:55:00
2024-05-08 09:00:07.890 DEBUG (MainThread) [skodaconnect.vehicle] Discovered active supported service: statusreport_v1, licensed until 2024-08-11 12:55:00
2024-05-08 09:00:07.890 DEBUG (MainThread) [skodaconnect.vehicle] Discovered active supported service: rclima_v1, licensed until 2024-08-11 12:55:00
2024-05-08 09:00:07.890 DEBUG (MainThread) [skodaconnect.vehicle] Discovered active supported service: timerprogramming_v1, licensed until 2024-08-11 12:55:00
2024-05-08 09:00:07.890 DEBUG (MainThread) [skodaconnect.vehicle] Discovered active supported service: rbatterycharge_v1, licensed until 2024-08-11 12:55:00
2024-05-08 09:00:07.890 DEBUG (MainThread) [skodaconnect.vehicle] Discovered active supported service: rhonk_v1, licensed until 2024-08-11 12:55:00
2024-05-08 09:00:07.890 DEBUG (MainThread) [skodaconnect.vehicle] Discovered active supported service: carfinder_v1, licensed until 2024-08-11 12:55:00
2024-05-08 09:00:08.318 DEBUG (MainThread) [skodaconnect.connection] Request for "https://fal-3a.prd.eu.dp.vwg-connect.com/fs-car/bs/cf/v1/skoda/CZ/vehicles/REDACTED/position" returned with status code [200]
2024-05-08 09:00:08.319 DEBUG (MainThread) [skodaconnect.connection] Request for "https://fal-3a.prd.eu.dp.vwg-connect.com/fs-car/bs/tripstatistics/v1/skoda/CZ/vehicles/REDACTED/tripdata/shortTerm?newest" returned with status co
de [200]
2024-05-08 09:00:08.322 DEBUG (MainThread) [skodaconnect.connection] Request for "https://fal-3a.prd.eu.dp.vwg-connect.com/fs-car/bs/departuretimer/v1/skoda/CZ/vehicles/REDACTED/timer" returned with status code [200]
2024-05-08 09:00:08.338 DEBUG (MainThread) [skodaconnect.connection] Request for "https://fal-3a.prd.eu.dp.vwg-connect.com/fs-car/bs/batterycharge/v1/skoda/CZ/vehicles/REDACTED/charger" returned with status code [200]
2024-05-08 09:00:08.388 DEBUG (MainThread) [skodaconnect.connection] Request for "https://fal-3a.prd.eu.dp.vwg-connect.com/fs-car/bs/vsr/v1/skoda/CZ/vehicles/REDACTED/status" returned with status code [200]
2024-05-08 09:00:08.397 DEBUG (MainThread) [skodaconnect.connection] Request for "https://fal-3a.prd.eu.dp.vwg-connect.com/fs-car/bs/climatisation/v1/skoda/CZ/vehicles/REDACTED/climater" returned with status code [200]
2024-05-08 09:00:08.579 DEBUG (MainThread) [skodaconnect.connection] Request for "https://fal-3a.prd.eu.dp.vwg-connect.com/fs-car/bs/tripstatistics/v1/skoda/CZ/vehicles/REDACTED/tripdata/longTerm?newest" returned with status cod
e [200]
2024-05-08 09:00:08.711 DEBUG (MainThread) [skodaconnect.connection] Request for "https://fal-3a.prd.eu.dp.vwg-connect.com/fs-car/bs/tripstatistics/v1/skoda/CZ/vehicles/REDACTED/tripdata/cyclic?newest" returned with status code
[200]
2024-05-08 09:00:08.712 DEBUG (MainThread) [custom_components.skodaconnect] Finished fetching skodaconnect data in 2.130 seconds (success: True)
2024-05-08 09:00:08.712 INFO (MainThread) [homeassistant.components.sensor] Setting up skodaconnect.sensor
2024-05-08 09:00:08.712 ERROR (MainThread) [homeassistant.components.sensor] Error while setting up skodaconnect platform for sensor
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 356, in _async_setup_platform
await asyncio.shield(awaitable)
File "/config/custom_components/skodaconnect/sensor.py", line 22, in async_setup_entry
data = hass.data[DOMAIN][entry.entry_id][DATA]
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
KeyError: '37ad9c5f6a08a212a610e8713e383f05'
2024-05-08 09:00:08.713 INFO (MainThread) [homeassistant.components.device_tracker] Setting up skodaconnect.device_tracker
2024-05-08 09:00:08.713 ERROR (MainThread) [homeassistant.components.device_tracker] Error while setting up skodaconnect platform for device_tracker
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 356, in _async_setup_platform
await asyncio.shield(awaitable)
File "/config/custom_components/skodaconnect/device_tracker.py", line 18, in async_setup_entry
data = hass.data[DOMAIN][entry.entry_id][DATA]
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
KeyError: '37ad9c5f6a08a212a610e8713e383f05'
2024-05-08 09:00:08.713 INFO (MainThread) [homeassistant.components.switch] Setting up skodaconnect.switch
2024-05-08 09:00:08.713 ERROR (MainThread) [homeassistant.components.switch] Error while setting up skodaconnect platform for switch
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 356, in _async_setup_platform
await asyncio.shield(awaitable)
File "/config/custom_components/skodaconnect/switch.py", line 25, in async_setup_entry
data = hass.data[DOMAIN][entry.entry_id][DATA]
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
KeyError: '37ad9c5f6a08a212a610e8713e383f05'
2024-05-08 09:00:08.713 INFO (MainThread) [homeassistant.components.lock] Setting up skodaconnect.lock
2024-05-08 09:00:08.714 ERROR (MainThread) [homeassistant.components.lock] Error while setting up skodaconnect platform for lock
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 356, in _async_setup_platform
await asyncio.shield(awaitable)
File "/config/custom_components/skodaconnect/lock.py", line 23, in async_setup_entry
data = hass.data[DOMAIN][entry.entry_id][DATA]
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
KeyError: '37ad9c5f6a08a212a610e8713e383f05'
2024-05-08 09:00:08.714 INFO (MainThread) [homeassistant.components.binary_sensor] Setting up skodaconnect.binary_sensor
2024-05-08 09:00:08.714 ERROR (MainThread) [homeassistant.components.binary_sensor] Error while setting up skodaconnect platform for binary_sensor
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 356, in _async_setup_platform
await asyncio.shield(awaitable)
File "/config/custom_components/skodaconnect/binary_sensor.py", line 22, in async_setup_entry
data = hass.data[DOMAIN][entry.entry_id][DATA]
~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
KeyError: '37ad9c5f6a08a212a610e8713e383f05'
Installation:

Home Assistant variant: v2024.5.2, Docker

Additional context
Not sure exactly when this first appeared but it has been in this state for few days. It could be related to recent update to HA 2024.5.2 but I am not 100% sure.

If you have 2 cars configured then this is resolved by https://github.com/skodaconnect/homeassistant-skodaconnect/pull/282 (and indeed introduced by one of the more recent HA updates)

If you have 2 cars configured then this is resolved by #282 (and indeed introduced by one of the more recent HA updates)

I only have 1 car configured.

Then you may want to try and remove the integration/device in HA and add it again. #206 had something similar. The source of the KeyError and where it's being looked up is explained in this comment in that issue.

I re-added the integration but same errors remain. Only difference seem to be the changed key. I checked that new key can be found in the core.config_entries but not in core.entity_registry.
Start of entry in core.config_entries
  {
    "entry_id": "45fa07167ec1b0db1f45bb81dd27a2ce",
    "version": 3,
    "minor_version": 1,
    "domain": "skodaconnect",

I had the same, and it was solved by removing the plugin and installing it again.

I had the same, and it was solved by removing the plugin and installing it again. I did have to completely restart HA before the devices were re-added, strangely enough.

Yep, got it working with same steps. Thanks!

This kinda works, but if i enable/disable the polling when i don't need to poll for more data, it breaks and i get the stated error above.
This worked like a charm before so unsure what changed other than me updating to newest version of HA

This error also happens when you try to disable polling on the entity.
Restart HA (all works fine)
Disable polling -> results in error above

Closing as the original issue reported by @nation-wide is resolved.
@zandzpider , I can't seem to reproduce this issue by disabling polling. If you're still seeing issues please create a new issue and include debug logs from before you disable polling (and everything works) until the moment you get an error. Thanks.

I would like to add further information they the KeyError seem to appear if you modify the polling interval in the integration settings. I suspect this has been the original source for my error, alongside with the new HA version, because I have cron jobs to change interval for nights etc. in order to avoid VW API rate limit issues and thus did not immediately understand why the HA dashboard went broken.
I can also confirm that if you restart HA after polling interval change it fixes the dashboard, but I think it should not require that. Or at least it should notify the user if a restart is needed.


REQUEST: Configure enabled/disabled plugins

Reading through the docs and the code, I'm not able to discern if there's a way to boot the core Dispatch experience without the Slack, Google, Jira, and PagerDuty plugins?
The docs and the way the app behaves appear to imply that Dispatch will not work without them configured.
However, suppose I just want to get started to evaluate without configuring everything, I'd like a way to disable those plugins just to reduce the distance from" 0-to-UI" for evaluation purposes.
Or boot Dispatch by default and enable plugins one at a time via an Admin UI.
If this isn't already supported I can update the issue title to make this more of a feature request.

@TheDahv that's correct. It's not possible to start the app without configuring them first at the moment, as Dispatch relies on them to provide the core functionality. We will consider adding support for it in the future. Thanks for the feedback.

We can definitely do this, the only downside is the dispatch isn't particularly useful without any plugins installed (essentially a crud app with some tables). From a new user perspective; does that matter? Is it enough to see something run?

Here's my thinking on it:

a simple CRUD app is enough to show value non-technical stakeholders at a company
it enables someone like me to say "hey look, we could be standardizing how we think about incidents and keeping track of it somewhere...here Netflix has already given us a structured way to think about it"
removing barriers to adoption and focusing on progressive enhancement means internal champions can start culture change around incident management in the small
it enables a team to adopt Dispatch incrementally. I don't think we really use PagerDuty anymore, and I wouldn't want to have a Dispatch conversation tightly-coupled with budget line items for other services

Thanks for the insight @TheDahv. We are pretty tightly coupled to those services at the moment. But  I agree with what you're saying.
Internally, we were also discussing the value in setting up a demo instance of dispatch for folks to play with. But that would also be a large amount of work. Trying to weigh what would be most beneficial to most people.
Unfortunately, Dispatch has a rather high startup cost associated with it today (setting up GSuite, slack etc.).

Understandable for where we are. I'm happy leaving this as a feature request to be prioritized accordingly.
I'm eager to champion this at work.. I'll keep an eye on the space and try to push things forward where I can.

I think there is a lot of value in making it easy to get started and be able to show a proof of concept to stakeholders. Right now I would love to get involved in working with this project and maybe scoping out a Confluence or ServiceNOW plugin, but it would be a hard sell if I can't even get this project working either technically or logistically (e.g. not having GSuite or PagerDuty, etc). I know a handful of other companies would be very interested in an incident orchestration tool like this, but would also be in the same boat.

I second @TheDahv point, these are plugins and can be optional.
E.g. only Google integration should be mandatory for real use. But the first step in evaluating this solution should be checking a demo and available features/IR workflow.
I was thinking to comment out all sections that rely on Dispatch plugins today :)

I'm not sure commenting out the plugins will work particularly well, instead what I would suggest is to use mock (or fake) plugins instead.
If you take a look at our tests:
https://github.com/Netflix/dispatch/tree/develop/tests/plugins
You can see that you can make any plugin return static or mocked out values, perhaps for demo purposes we could simply have plugins that return static or pseudo-static values?

Here's my current line of thinking. I don't know if I have the Python chops to pull it off.

First, establish a convention to disable or "opt out" of a plugin in the .env file: PLUGIN_DISABLE_$PLUGIN_NAME=True
Update this block of code to look at configuration at boot time: https://github.com/Netflix/dispatch/blob/develop/src/dispatch/common/utils/cli.py#L37-L46
Seems like each Plugin has an enabled property we ought to be able to configure at boot time https://github.com/Netflix/dispatch/blob/develop/src/dispatch/plugins/base/v1.py#L60-L62

With that information available, we could do a few things:

alter the Plugin classes to return early on the register/install step if they are disabled
expose that information to the Vue app
have the Vue app render an alt state for each component that is disabled with a CTA to contact the administrator to install the plugin

I'd be happy to work on some of those bits but I'd need some guidance:

is that plan viable?
I'm a Node and Go programmer, so where should I start looking if I'm not familiar with the project layout?

@TheDahv If you want to eventually expose the plugins via the UI/API. This would be the process I would follow:

Create a new plugins model (database table) with fields for plugins and their required state/options. This can be done in a bunch of ways, in the past, I've created a simple mapping stored in JSON that ends up being mapped to the front end UI and validated. See here and here.

Modify the install_plugins function you mentioned to add/enable/disable any installed plugins.

Create a service to talk to your model: See: here

Expose a /plugins api See: here

Create a new Vue component See: here

Modify or create a new get_plugin function that would first reference the plugin table (to fetch the correct installed/enabled plugin)

If no plugin is installed/enabled emit an error to the user. (to me, this is the hardest part as our UX is both in slack and the Admin UI).

Remove all plugin settings/references from the env/config.

++ The tight integration of the services we don't actually use internally is a blocker on adoption, or even being able to run a proof of concept.

@zachzeid which services do you use? A lot of work is delegated out to plugins... So simply disabling plugins won't give you a very good proof of concept.

Well it’s not about the plugins, it’s about the ability to even start the
core app without the default plugins configured in the first place.
On Thu, Mar 12, 2020 at 17:17 kevgliss<EMAIL_ADDRESS>wrote:

@zachzeid https://github.com/zachzeid which services do you use? A lot
of work is delegated out to plugins... So simply disabling plugins won't
give you a very good proof of concept.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Netflix/dispatch/issues/55#issuecomment-598422171,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADJ6WR4TTWDKRNFOOKL6PYDRHFGNZANCNFSM4K4RM7WQ
.

We're facing more issues. We have been unable to get this thing up and running in over a week.
Our latest error is:
ValueError: Could not deserialize key data.
ERROR:    Unable to import dispatch.plugins.dispatch_google.groups.plugin.GoogleGroupParticipantGroupPlugin. Reason: Could not deserialize key data.
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/dispatch/common/managers.py", line 61, in all
results.append(cls())
File "/usr/local/lib/python3.8/site-packages/dispatch/plugins/dispatch_google/groups/plugin.py", line 122, in init
self.client = get_service("admin", "directory_v1", scopes)
File "/usr/local/lib/python3.8/site-packages/dispatch/plugins/dispatch_google/common.py", line 39, in get_service
credentials = service_account.Credentials.from_service_account_file(
File "/usr/local/lib/python3.8/site-packages/google/oauth2/service_account.py", line 217, in from_service_account_file
info, signer = _service_account_info.from_filename(
File "/usr/local/lib/python3.8/site-packages/google/auth/_service_account_info.py", line 74, in from_filename
return data, from_dict(data, require=require)
File "/usr/local/lib/python3.8/site-packages/google/auth/_service_account_info.py", line 55, in from_dict
signer = crypt.RSASigner.from_service_account_info(data)
File "/usr/local/lib/python3.8/site-packages/google/auth/crypt/base.py", line 113, in from_service_account_info
return cls.from_string(
File "/usr/local/lib/python3.8/site-packages/google/auth/crypt/_cryptography_rsa.py", line 146, in from_string
private_key = serialization.load_pem_private_key(
File "/usr/local/lib/python3.8/site-packages/cryptography/hazmat/primitives/serialization/base.py", line 16, in load_pem_private_key
return backend.load_pem_private_key(data, password)
File "/usr/local/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/backend.py", line 1085, in load_pem_private_key
return self._load_key(
File "/usr/local/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/backend.py", line 1315, in _load_key
self._handle_key_loading_error()
File "/usr/local/lib/python3.8/site-packages/cryptography/hazmat/backends/openssl/backend.py", line 1373, in _handle_key_loading_error
raise ValueError("Could not deserialize key data.")
ValueError: Could not deserialize key data.
INFO:     Started server process [1]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://<IP_ADDRESS>:8000 (Press CTRL+C to quit)
We're using the Google PEM file, and we've tried several variations: with new-lines, without, base64ed, etc. But we cannot launch this thing.
Can we get a full working .env file so we can back-trace the config from there and figure this out? The current documentation is not very helpful.

Hello I would like to contribute to this, I will give my 2 cents on this. What do you think if all plugins would be disabled by default, and enable them if required fields are present in env vars such as authentication fields, urls etc...
From what I read in other issues is that core functionality resides within some plugins, wouldn't be a good idea to move that code in the core and provide a default CRUD app?
If this was to be done, you could link and enable plugins via UI, this would make dispatch more accessible.

I think we can make the core CRUD app run more smoothly with a limited set of configurations, and exposing those settings via the UI.
However, I don't believe we can move most plugin functionality into the core application, without greatly increasing the scope of the application.
One of the Dispatch's strengths is relying on tools you already have within your organization to handle incidents, the downside of this is that it requires you to configure Dispatch to use those applications.
Think about all of the functionality that would have to be replicated to provide a zero-configuration Dispatch. We would have to implement:

A chat component similar to Slack
Document editing similar to Google Docs
VC meetings similar to Zoom or Google Meet

and more...
At the end of the day, most users have no idea Dispatch exists, yes it as an Admin UI for folks that need it, but for those responding to incidents, all they ever see is the applications they already use (Google Docs, Slack, etc.,). This is by design.

After having thought about this more, I think there is value in having the ability to enable plugins incrementally. I will be working on several PRs decoupling incident creation from creation of resources (and thus plugins).
In the end, I hope to essentially provide a bare dispatch install that works without configuring any plugins. Letting the plugins be "value" adds.
Thank you all for the feedback and context.


(Doing) Refactor Map from Echogram and 2.5D Curtain; Create Echogram from Map

[ ] Refactor: As a fisheries scientist, John wants to see on the map where the echosounder data on display as an echogram were collected, so that he can determine the fish's association with bathymetry. (refactor: from echogram to map)
[ ] To do: As a fisheries scientist, John wants to highlight a section of a ship track on the map and see the corresponding echogram, so that he can understand the fish and zooplankton composition at a particular geographic location. (new: from map to echogram)
[ ] Refactor: As a fisheries scientist, John wants to highlight a longer section of ship track (e.g. over multiple tracks) on the map and see the echogram as curtains, so that he can have a better sense of how the fish aggregation varies spatially

Fisheries scientists often need to analyze the fish and zooplankton composition at specific geographic locations.
(Highlight Ship Track Section and Corresponding Echogram). Currently, echoshader visualizes ship tracks on a map based on gram range, but I find it challenging to understand the corresponding echograms for a particular section of the track (reverse operation). Therefore, I would like to propose a new feature that allows users to highlight a section of the ship track and view the corresponding echogram data.
Refactor https://github.com/OSOceanAcoustics/echoshader/issues/18 and https://github.com/OSOceanAcoustics/echoshader/issues/26
User should be able to select a specific section of a ship track on the map.
Upon selecting the section, the corresponding echogram data should be displayed.

Hey @ldr426 : How about breaking this issue up into 3 different issues? since they are related but each involves different work. You can hover mouse over each of the bullet points that click the upper-right corner to turn each into an issue, and this current one will be come the "tracking issue," which is nice. :)

All these are refactored in 0.1.0.


[SPARK-43002][YARN] Modify yarn client application report logging frequency to reduce noise

What changes were proposed in this pull request?

Added a new config property — spark.yarn.report.logging.frequency
Limit the number of times the yarn application report is logged based on the number of reports processed.

Why are the changes needed?
Currently, an application report is generated every second, this tends to add a lot of noise especially for long running applications. This bloats the log file and makes it hard to navigate. With this change, we can limit the amount of times the application status report is logged based on the number of reports processed.

Does this PR introduce any user-facing change?
The logs are now ~30s apart
31-03-2023 15:00:08 PDT countByCountryFlow_countByCountry INFO - 23/03/31 22:00:08 INFO yarn.Client: Application report for application_1676870052658_5870144 (state: RUNNING)
31-03-2023 15:00:38 PDT countByCountryFlow_countByCountry INFO - 23/03/31 22:00:38 INFO yarn.Client: Application report for application_1676870052658_5870144 (state: RUNNING)
31-03-2023 15:01:08 PDT countByCountryFlow_countByCountry INFO - 23/03/31 22:01:08 INFO yarn.Client: Application report for application_1676870052658_5870144 (state: RUNNING)
31-03-2023 15:01:38 PDT countByCountryFlow_countByCountry INFO - 23/03/31 22:01:38 INFO yarn.Client: Application report for application_1676870052658_5870144 (state: RUNNING)
31-03-2023 15:02:09 PDT countByCountryFlow_countByCountry INFO - 23/03/31 22:02:09 INFO yarn.Client: Application report for application_1676870052658_5870144 (state: RUNNING)
31-03-2023 15:02:31 PDT countByCountryFlow_countByCountry INFO - 23/03/31 22:02:31 INFO yarn.Client: Application report for application_1676870052658_5870144 (state: FINISHED)

How was this patch tested?
Tested locally to ensure the behavior was as expected

Mind filing a JIRA please? See also https://spark.apache.org/contributing.html.

Thanks @ShreyeshArangath for this! I think it helps clear a lot of unnecessary noise from user logs and keeps the logs manageable.
One thing I noticed is that we set spark.yarn.report.logging.frequency to 30 by default. I think it is a much more sensible default, especially given a) Spark jobs submitted to YARN would usually run longer than a minute including the overhead of launching Spark driver b) We always report any state change immediately e.g. ACCEPTED -> RUNNING. I would be pro defaulting to 30. But if we want to eliminate behavior change, we can always default it to 1.
I saw the tests are failing with what seems to be a transient Github connection issue.
/usr/bin/git -c protocol.version=2 fetch --prune --progress --no-recurse-submodules origin +refs/heads/*:refs/remotes/origin/* +refs/tags/*:refs/tags/*
  Error: fatal: unable to access 'https://github.com/apache/spark/': The requested URL returned error: 429
  The process '/usr/bin/git' failed with exit code 128

Can you push an empty commit to re-run the tests?

The GIthub Actions tests now pass. The AppVeyor build is failing, but it looks to be unrelated.
Tagging folks with recent commits/reviews of this file
cc: @sunchao @dongjoon-hyun @mridulm @tgravescs Can you help take a look?

how is this different from:
private[spark] val REPORT_INTERVAL = ConfigBuilder("spark.yarn.report.interval")
.doc("Interval between reports of the current app status.")
.version("0.9.0")
.timeConf(TimeUnit.MILLISECONDS)
.createWithDefaultString("1s")
?

@tgravescs The new property allows for the ability to reduce the log noise without reducing the responsiveness when something changes because the status check interval is not reduced like if spark.yarn.report.interval was used alone. For example, if a job failed right away waiting 30 seconds to get that feedback slows down the iteration cycle.

how is this different from:

  private[spark] val REPORT_INTERVAL = ConfigBuilder("spark.yarn.report.interval")
    .doc("Interval between reports of the current app status.")
    .version("0.9.0")
    .timeConf(TimeUnit.MILLISECONDS)
    .createWithDefaultString("1s")

?

@tgravescs this property dictates the how often we poll yarn for an application report. We still want to check for the application state every second, if we change this property then we might not know of a change in state until the x seconds have elapsed.
This is why, I decided to create a new logging specific property so that the current behavior of polling application report every second is not affected.

lgtm to me pending build/test

Got it, @ShreyeshArangath .


No more live debug output

Hey,
With stable-ts's modified model and at least the results_to_sentence_srt function, I don't see any live messages anymore when using the library with the verbose flag. All the output that would normally be printed to stdout while things are happening, is printed as a single block at the end.
I'm guessing that's due to tighten_timestamps evaluating the whole generator? Can we do something about that?
Thanks

verbose only prints the decoded text with the final timestamps, which either are stabilized timestamps or the raw timestamps if unstab=False. So unstab=True (default) would only print to console after timestamps are stabilized. The stabilization requires all raw timestamps so there is not way around that. I've add print_unstab to 1c8d6ab9b575a0c233d53521d60cfa16d171ce0b. This let will allow printing the lines as it is being decoded, but the timestamps will be messy because those are not stabilized.


[integration] PagerDuty Webhook

Investigate (and if possible) develop webhook service  based integration (notification / fire and forget) integration with PagerDuty.
A full bi-directional PagerDuty integration is out of scope for this ticket. That requirement would be best suited to a "full" Keptn service.
Definition of Done

[ ] Either that PagerDuty webhook integration using webhook service is NOT achievable OR
[ ] PagerDuty webhook integration code sample given on ArtifactHub and thus listed on Keptn.sh

If you need this integration, click the thumbs up emoji.
If you are willing to "sponsor" (ie. support) the development of this integration, click the heart emoji.

Hi, I would like to look into this. Thanks

Hi,
Could you elaborate a little more about integration (notification / fire and forget) integration ?

Any example regarding that URL? Thanks

Hi, I was wondering what I need to do further with that. I think, I am now able to get the response using GET API request triggered by webhook service after subscribed for an event.

@johannes-b please assign to @afzal442

Related links
https://docs.robusta.dev/master/catalog/sinks/PagerDuty.html
https://www.youtube.com/watch?v=Fckop7DmMNI


Trying the example I got an empty transcription

whisper-burn % cargo run --release --bin transcribe tiny_en audio16k.wav en transcription.txt
warning: unused imports: `Bool`, `Float`, `Int`
 --> src/helper.rs:2:51
  |
2 |     activation::relu, backend::Backend, BasicOps, Bool, Element, Float, Int, Numeric, Tensor,
  |                                                   ^^^^           ^^^^^  ^^^
  |
  = note: `#[warn(unused_imports)]` on by default

warning: unused imports: `Bool`, `Int`, `activation::relu`
 --> src/model/load.rs:8:14
  |
8 |     tensor::{activation::relu, backend::Backend, Bool, Int, Tensor},
  |              ^^^^^^^^^^^^^^^^                    ^^^^  ^^^

warning: unused import: `Conv1dRecord`
  --> src/model/mod.rs:10:38
   |
10 |         conv::{Conv1d, Conv1dConfig, Conv1dRecord},
   |                                      ^^^^^^^^^^^^

warning: unused import: `Tokenizer`
 --> src/token.rs:4:30
  |
4 | use tokenizers::{AddedToken, Tokenizer};
  |                              ^^^^^^^^^

warning: unused import: `crate::helper::*`
 --> src/transcribe.rs:2:5
  |
2 | use crate::helper::*;
  |     ^^^^^^^^^^^^^^^^

warning: unused import: `num_traits::ToPrimitive`
 --> src/transcribe.rs:7:5
  |
7 | use num_traits::ToPrimitive;
  |     ^^^^^^^^^^^^^^^^^^^^^^^

warning: unused imports: `Float`, `Int`, `config::Config`, `self`
  --> src/transcribe.rs:12:5
   |
12 |     config::Config,
   |     ^^^^^^^^^^^^^^
...
16 |         backend::{self, Backend},
   |                   ^^^^
17 |         Data, Float, Int, Tensor,
   |               ^^^^^  ^^^

warning: unused import: `std::cmp::Ordering`
 --> src/beam.rs:1:5
  |
1 | use std::cmp::Ordering;
  |     ^^^^^^^^^^^^^^^^^^

warning: unused variable: `n_batch`
   --> src/model/mod.rs:132:14
    |
132 |         let [n_batch, seq_len] = x.dims();
    |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_batch`
    |
    = note: `#[warn(unused_variables)]` on by default

warning: variable does not need to be mutable
  --> src/token.rs:15:13
   |
15 |         let mut tokenizer = tokenizers::Tokenizer::from_file("tokenizer.json")?;
   |             ----^^^^^^^^^
   |             |
   |             help: remove this `mut`
   |
   = note: `#[warn(unused_mut)]` on by default

warning: unused variable: `new_text`
  --> src/transcribe.rs:53:14
   |
53 |         let (new_text, new_tokens) =
   |              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_text`

warning: unused variable: `n_ctx_max_decoder`
   --> src/transcribe.rs:159:9
    |
159 |     let n_ctx_max_decoder = whisper.decoder_ctx_size();
    |         ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_ctx_max_decoder`

warning: unused variable: `n_channel`
   --> src/transcribe.rs:161:10
    |
161 |     let [n_channel, n_mel, n_ctx] = mels.dims();
    |          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_channel`

warning: unused variable: `first_timestamp_token`
   --> src/transcribe.rs:183:9
    |
183 |     let first_timestamp_token = bpe.special_token(SpecialToken::Timestamp(0.0)).unwrap();
    |         ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_first_timestamp_token`

warning: unused variable: `initial_tokens`
   --> src/transcribe.rs:195:13
    |
195 |     let mut initial_tokens = if prev_nonspecial_tokens.len() > 0 {
    |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_tokens`

warning: unused variable: `n_batch`
   --> src/transcribe.rs:263:14
    |
263 |         let [n_batch, n_token, n_dict] = log_probs.dims();
    |              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_batch`

warning: unused variable: `n_token`
   --> src/transcribe.rs:263:23
    |
263 |         let [n_batch, n_token, n_dict] = log_probs.dims();
    |                       ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_token`

warning: unused variable: `n_dict`
   --> src/transcribe.rs:263:32
    |
263 |         let [n_batch, n_token, n_dict] = log_probs.dims();
    |                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_n_dict`

warning: variable does not need to be mutable
   --> src/transcribe.rs:195:9
    |
195 |     let mut initial_tokens = if prev_nonspecial_tokens.len() > 0 {
    |         ----^^^^^^^^^^^^^^
    |         |
    |         help: remove this `mut`

warning: unused variable: `end_node`
  --> src/beam.rs:74:17
   |
74 |             let end_node = continuations[end_node_index].clone();
   |                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_end_node`

warning: unused variable: `tok1`
  --> src/beam.rs:77:39
   |
77 | ..._unstable_by(|(tok1, log_prob1), (tok2, log_prob2)| log_prob1.partial_cmp(&log_prob2).unwrap());
   |                   ^^^^ help: if this is intentional, prefix it with an underscore: `_tok1`

warning: unused variable: `tok2`
  --> src/beam.rs:77:58
   |
77 | ..., log_prob1), (tok2, log_prob2)| log_prob1.partial_cmp(&log_prob2).unwrap());
   |                   ^^^^ help: if this is intentional, prefix it with an underscore: `_tok2`

warning: function `get_mel_filters` is never used
  --> src/audio.rs:58:4
   |
58 | fn get_mel_filters<B: Backend>(
   |    ^^^^^^^^^^^^^^^
   |
   = note: `#[warn(dead_code)]` on by default

warning: function `fft_frequencies` is never used
   --> src/audio.rs:145:4
    |
145 | fn fft_frequencies<B: Backend>(sample_rate: f64, n_fft: usize) -> Tensor<B, 1> {
    |    ^^^^^^^^^^^^^^^

warning: function `test_fft_frequencies` is never used
   --> src/audio.rs:159:4
    |
159 | fn test_fft_frequencies<B: Backend>() {
    |    ^^^^^^^^^^^^^^^^^^^^

warning: function `test_mel_frequencies` is never used
   --> src/audio.rs:166:4
    |
166 | fn test_mel_frequencies<B: Backend>(htk: bool) {
    |    ^^^^^^^^^^^^^^^^^^^^

warning: function `mel_frequencies` is never used
   --> src/audio.rs:174:4
    |
174 | fn mel_frequencies<B: Backend>(n_mels: usize, fmin: f64, fmax: f64, htk: bool) -> Tensor<B, 1> {
    |    ^^^^^^^^^^^^^^^

warning: function `construct_special_tokens` is never used
   --> src/token.rs:297:4
    |
297 | fn construct_special_tokens() -> Vec<AddedToken> {
    |    ^^^^^^^^^^^^^^^^^^^^^^^^

warning: field `log_prob` is never read
   --> src/transcribe.rs:145:5
    |
143 | struct BeamSearchToken {
    |        --------------- field in this struct
144 |     token: usize,
145 |     log_prob: f64,
    |     ^^^^^^^^
    |
    = note: `BeamSearchToken` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis

warning: function `first_repetition_end` is never used
   --> src/transcribe.rs:370:4
    |
370 | fn first_repetition_end(tokens: &[usize], period: usize) -> usize {
    |    ^^^^^^^^^^^^^^^^^^^^

warning: function `repetition_period` is never used
   --> src/transcribe.rs:380:4
    |
380 | fn repetition_period(
    |    ^^^^^^^^^^^^^^^^^

warning: function `find_repeated_tokens_index` is never used
   --> src/transcribe.rs:404:4
    |
404 | fn find_repeated_tokens_index(
    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: `whisper` (lib) generated 32 warnings (run `cargo fix --lib -p whisper` to apply 22 suggestions)
   Compiling whisper v0.1.0 (/Users/davidgortega/Documents/projects/kunzite/whisper-burn)
warning: unused import: `std::collections::HashMap`
 --> src/bin/transcribe/main.rs:1:5
  |
1 | use std::collections::HashMap;
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^
  |
  = note: `#[warn(unused_imports)]` on by default

warning: unused import: `std::iter`
 --> src/bin/transcribe/main.rs:2:5
  |
2 | use std::iter;
  |     ^^^^^^^^^

warning: unused import: `whisper::helper::*`
 --> src/bin/transcribe/main.rs:4:5
  |
4 | use whisper::helper::*;
  |     ^^^^^^^^^^^^^^^^^^

warning: unused import: `token`
 --> src/bin/transcribe/main.rs:6:15
  |
6 | use whisper::{token, token::Language};
  |               ^^^^^

warning: unused imports: `Data`, `Float`, `Int`, `Tensor`, `self`, `self`
  --> src/bin/transcribe/main.rs:23:9
   |
23 |         self,
   |         ^^^^
24 |         backend::{self, Backend},
   |                   ^^^^
25 |         Data, Float, Int, Tensor,
   |         ^^^^  ^^^^^  ^^^  ^^^^^^

warning: unused import: `num_traits::ToPrimitive`
  --> src/bin/transcribe/main.rs:57:5
   |
57 | use num_traits::ToPrimitive;
   |     ^^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `whisper::audio::prep_audio`
  --> src/bin/transcribe/main.rs:58:5
   |
58 | use whisper::audio::prep_audio;
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^

warning: unused import: `SpecialToken`
  --> src/bin/transcribe/main.rs:59:37
   |
59 | use whisper::token::{Gpt2Tokenizer, SpecialToken};
   |                                     ^^^^^^^^^^^^

warning: unused variable: `duration`
  --> src/bin/transcribe/main.rs:35:9
   |
35 |     let duration = reader.duration() as usize;
   |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_duration`
   |
   = note: `#[warn(unused_variables)]` on by default

warning: unused variable: `bits_per_sample`
  --> src/bin/transcribe/main.rs:38:9
   |
38 |     let bits_per_sample = spec.bits_per_sample;
   |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bits_per_sample`

warning: variable does not need to be mutable
  --> src/bin/transcribe/main.rs:32:9
   |
32 |     let mut reader = hound::WavReader::open(filename)?;
   |         ----^^^^^^
   |         |
   |         help: remove this `mut`
   |
   = note: `#[warn(unused_mut)]` on by default

warning: unused variable: `tokens`
   --> src/bin/transcribe/main.rs:145:16
    |
145 |     let (text, tokens) = match waveform_to_text(&whisper, &bpe, lang, waveform, sample_rate) {
    |                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`

warning: `whisper` (bin "transcribe") generated 12 warnings (run `cargo fix --bin "transcribe"` to apply 12 suggestions)
    Finished release [optimized] target(s) in 3.43s
warning: the following packages contain code that will be rejected by a future version of Rust: nom v1.2.4, nom v3.2.1
note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
     Running `target/release/transcribe tiny_en audio16k.wav en transcription.txt`
Loading waveform...
Loading model...
Depth: 0
Chunk 0:

Transcription finished.

The file transcription is empty.
If I debug it
let (text, tokens) = match waveform_to_text(&whisper, &bpe, lang, waveform, sample_rate)

text and tokens are empty
this is my file generated by sox
audio16k.wav.zip

I tried another file and depth is always 0
Loading waveform...
Loading model...
Depth: 0
Chunk 0:

Depth: 0
Chunk 1:

Depth: 0
Chunk 2:

Depth: 0
Chunk 3:

Depth: 0
Chunk 4:

Depth: 0
Depth: 1
Chunk 5:

Depth: 0
Chunk 6:

Depth: 0
Chunk 7:

Depth: 0
Chunk 8:

Depth: 0
Chunk 9:

Depth: 0
Chunk 10:

Depth: 0
Chunk 11:

Depth: 0
Chunk 12:

Depth: 0
Chunk 13:

Depth: 0
Chunk 14:

Depth: 0
Chunk 15:

Transcription finished.

I have downloaded base_en, small_en and medium_en and they works, the issue is only happening with tiny

The _en models use a different tokenizer than the multilingual models. You’ll need the download the multilingual tokenizer for tiny which is available on my hugging face page. The link to my hugging face page for whisper-burn can be found in the readme.

On Oct 12, 2023, at 9:07 AM, DavidGOrtega @.***> wrote:
I have downloaded base_en, small_en and medium_en and they works, the issue is only happening with tiny
—
Reply to this email directly, view it on GitHub https://github.com/Gadersd/whisper-burn/issues/15#issuecomment-1759580384, or unsubscribe https://github.com/notifications/unsubscribe-auth/AE7COZXTN3SJH3U2ROFI4YDX67TQXANCNFSM6AAAAAA55RUPWQ.
You are receiving this because you are subscribed to this thread.

I tested it and the issue is that the tiny models hallucinate very badly while the larger models are good enough to work correctly without as much hand-holding. I recommend using at least the small models until I can reduce the hallucinations of the tiny models.

You mean your model conversion right? HF transformers model work fine with your audio. I have tested it

The models should be equivalent.  I think HF transformers uses a lot of heuristics to get the whisper models working consistently. Tiny en in particular seems to have a difficult time. In this case it is prematurely outputting an EOT (end of text) token before it gets to the words. The multilingual tiny seems to be a bit more robust.

I just updated the project with yet another heuristic/hack: masking some special tokens. Tiny_en now works for me. Let me know if you encounter any issues.

It works 🥳 !! however...
it does not work with the wgpu backend
cargo run --release --features wgpu-backend --bin transcribe tiny_en  audio16k.wav en transcription.txt

     Running `target/release/transcribe tiny_en audio16k.wav en transcription.txt`
Loading waveform...
Loading model...
Depth: 0
Chunk 0:

Transcription finished.

why 🤔 ?

It works on WGPU for me. Are you sure that you updated to the latest version of this project? It should be impossible for the latest version to stop at a depth of 0. Also make sure that your tokenizer is the correct one for tiny_en. wget actually changes the names of downloaded tokenizers if there is a naming conflict rather than replacing.

@Gadersd I updated the repo however for some reason the build was still the same, I cleaned up the folder and regenerated again and both versions worked!


Import account

Closes #20.

Made the create account step indicator work
Factorized the account header into a <CreateAccountHeader> component
Added a import account feature. It works like this:

On step 1, user can check the Import Account feature, and choose a name for this account
Then he'll be redirected to input his phrase (that he previously wrote on a paper)
Then choose password, then confirm

1 & 2's order can be changed, i.e. 1st input phrase, then choose account name.

I think it's a separate flow. Add another + link to the accounts screen header, and I'll restyle them both to be clearer.
The flow should go like this:

Step 1: enter your recovery phrase
Step 2: give this account a name
Step 3: password
Step 4: confirm


Drop the logic for creating a log file

Signed-off-by: Taewan Kim<EMAIL_ADDRESS>Description
Drop the logic for creating a log file
Fixes #182
Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?

build the edge-orchestration
check that the logmgr.log is in /var/edge-orchestration/log/

Test Configuration:

Firmware version: Ubuntu 18.04
Hardware: x86-64
Edge Orchestration Release: Coconut

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes

Just a simple question, Do we need to add another logger framework such as Logrus instead of current logger( leeemclughlin/logfile ) ?

@mgjeong This PR is to remove the current logger (leeemclughlin/logfile) and its regarding logic to create a log file. We will apply a new logic to alternate this with the better choice. Of course Logrus could be one of the candidates. (It is used in our servicemgr.

I think we don't need to remove this logic since github.com/leemcloughlin/logfile is an apache2 licence at this moment.

I think we don't need to remove this logic since github.com/leemcloughlin/logfile is an apache2 licence at this moment.

@t25kim This is fantastic. Thank you for your information.

I think we don't need to remove this logic since github.com/leemcloughlin/logfile is an apache2 licence at this moment.

@t25kim This is fantastic. Thank you for your information.

Since the license risk is resolved, I would like to suggest to close this PR. Then we can further discuss whether or not we adopt a public logger like glog, which is not a personal logger as suggested by @mgjeong in #182.

I think we don't need to remove this logic since github.com/leemcloughlin/logfile is an apache2 licence at this moment.

@t25kim This is fantastic. Thank you for your information.

Since the license risk is resolved, I would like to suggest to close this PR. Then we can further discuss whether or not we adopt a public logger like glog, which is not a personal logger as suggested by @mgjeong in #182.

Close this PR. (Also please see the recent merged PR #185.


Accuracy is lower than  the paper.

Hi ! I have re-run your code and got 90% accuracy for both log-d-coral and d-coral. Is there any missing in the code ? I just use following command:
for log-d-coral:
python main.py --mode='train' --method='log-d-coral' --alpha=1. --device='/gpu:0'
python main.py --mode='test' --method='log-d-coral' --alpha=1. --device='/gpu:0'
for d-coral:
python main.py --mode='train' --method='d-coral' --alpha=1. --device='/gpu:0'
python main.py --mode='test' --method='d-coral' --alpha=1. --device='/gpu:0'

Hi. As we argue in the paper, the hyperparameter alpha  should be validated. Since there is no validation set in unsupervised domain adaptation, one cannot simply choose the alpha that gives better results on the target set. Instead, we show that we can safely choose that alpha which minimizes entropy. You will notice that entropy is also printed together with accuracy in testing.

Thank you so much.

@redhat12345  You are welcome.
Actually I just run the code with --alpha=7. and got test acc [0.969], which is even higher than the results reported in the paper.

In your code you are using the following architecture. Is it LeNet architecture? What is the dimension of fc4 and fc5? Can you explain a little bit more please? Is the dimension of fc3 n*1024?
		    net = slim.conv2d(images, 64, 5, scope='conv1') 		    net = slim.max_pool2d(net, 2, stride=2, scope='pool1') 		    net = slim.conv2d(net, 128, 5, scope='conv2') 		    net = slim.max_pool2d(net, 2, stride=2, scope='pool2') 		    net = tf.contrib.layers.flatten(net) 		    net = slim.fully_connected(net, 1024, activation_fn=tf.nn.relu, scope='fc3') 		    net = slim.dropout(net, 0.5, is_training=is_training)                     net = slim.fully_connected(net, self.hidden_repr_size, activation_fn=tf.tanh,scope='fc4')

Hi, you can find the details in the paper, appendix D.2.
If you need more details please open a dedicated issue.

I got it. Thank you so much again.


fix: deploy: rename sample values file

Description
Make it clear that the sample values are for kubecf.
Motivation and Context
Vlad mentioned in chat:

should they be in the kubecf tarball? they are called "sample-values", but don't apply to the operator for example

How Has This Been Tested?
Built locally, and inspected the output tgz.
Screenshots (if appropriate):
$ tar tf bazel-bin/deploy/bundle/kubecf-bundle.tgz
./
./cf-operator.tgz
./kubecf_release.tgz
./kubecf-sample-values.yaml

Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] My code has security implications.
[x] My code follows the code style of this project.
[x] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

I think this file belongs inside the kubecf chart, right next to values.yaml, just like imagelist.txt.

But if this goes in the kubecf chart, nobody will ever see it (because helm can install from the tgz directly).
Of course, the saner thing would be for helm to have a more developed concept where sample values.yaml files (and also how that interacts with subcharts, but that's a different discussion altogether…)

One thing I'm wondering is if we shouldn't have commented out most values inside values.yaml anyways, and provide them inside the templates with
{{ default .Variables.my_setting "default_value" }}

Unfortunately this doesn't work for configuring subcharts unless we are willing to modify the subcharts themselves. helm is unfortunately quite limited in this area.

Unfortunately this doesn't work for configuring subcharts unless we are willing to modify the subcharts themselves.

We don't actually need to modify the charts; we can just rewrite the values.yaml files of the subcharts when we package them up.
I'm now convinced that we should try first to slim down the top-level values.yaml and move out defaults to the templates. We might find that we don't need a separate sample-values.yaml anymore at that time.
Bonus feature: helm show values kubecf will show something sensible.

Closing since we want to do #916 today :)


Declined order is not changed to Canceled

When an order is declined by the gateway, or canceled by the customer, its status in the Magento backend should change to 'Canceled'.
When an order is declined, the customer is redirected to the shipping page, and can try to purchase
again using another payment method or another credit card. When he tries to purchase again, a new order is being created. This is alright.The problem is that the previous order (the declined one) wasn't canceled in Magento.

There doesn't seem to be a Canceled state in Magento. I can see, that a declied transaction would have the status pending payment. So there is an indication, that the payment hasn't been complete and that is fine.


October 7th 2024 MicroProfile AI Meeting video for Youtube

Here is the link to the video for upload to YouTube. Please update the Meeting Minutes with a link to the recording.
Thanks!

Updated


Add data to total sales chart

Dashboard total sales chart shows fake data:

Suppressed by:  #34


Pin jsonwebtoken version to ^1.0.5

Fixes #239, #237, #224.
The root cause is that a PR from Renovate (#195) upgraded jsonwebtoken-esm to v2 which included a breaking change: https://github.com/sanity-io/jsonwebtoken-esm/releases/tag/v2.0.0

@stipsan any chance you could take a look at this one 🙏🏼  (Mentioning you since you approved the one that introduced jsonwebtoken-esm@v2)


iOS build error : Property 'windowScene' not found on object of type 'UIWindow *'

Stacktrace :
Failed to build iOS app
Error output from Xcode build:
↳
    ** BUILD FAILED **

Xcode's output:
↳
    /Users/me/Documents/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_sta
    tusbarcolor-0.2.2/ios/Classes/FlutterStatusbarcolorPlugin.m:15:37: warning:
    implicit conversion from 'long long' to 'NSInteger' (aka 'int') changes
    value from<PHONE_NUMBER>5 to -172247279 [-Wconstant-conversion]
    static NSInteger statusBarViewTag =<PHONE_NUMBER>5;
                     ~~~~~~~~~~~~~~~~   ^~~~~~~~~~~
    /Users/hugo/Documents/flutter/.pub-cache/hosted/pub.dartlang.org/flutter_sta
    tusbarcolor-0.2.2/ios/Classes/FlutterStatusbarcolorPlugin.m:71:105: error:
    property 'windowScene' not found on object of type 'UIWindow *'
               UIView* statusBar = [[UIView alloc]initWithFrame:[UIApplication
               sharedApplication].keyWindow.windowScene.statusBarManager.statusB
               arFrame];
                                                                                ^
    1 warning and 1 error generated.

Flutter doctor, if needed :
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, v1.9.1+hotfix.2, on Mac OS X 10.13.6 17G65, locale
    fr-FR)
[✗] Android toolchain - develop for Android devices
    ✗ Unable to locate Android SDK.
      Install Android Studio from:
      https://developer.android.com/studio/index.html
      On first launch it will assist you in installing the Android SDK
      components.
      (or visit https://flutter.dev/setup/#android-setup for detailed
      instructions).
      If the Android SDK has been installed to a custom location, set
      ANDROID_HOME to that location.
      You may also want to add it to your PATH environment variable.

[✓] Xcode - develop for iOS and macOS (Xcode 10.1)
[!] Android Studio (not installed)
[!] Connected device
    ! No devices available

! Doctor found issues in 3 categories.

@onikiri2007 Did you get this compile error?

@Skyost , i got the same problem on version 0.2.2.
It works fine on 0.2.1, try using flutter_statusbarcolor: 0.2.1

Yes, You need to compile with Xcode 11

windowScene is only windowScene in iOS 13 SDK so if don't compile with Xcode 11 it fails

Yes, 0.2.2 only works with XCode 11 , otherwise use 0.2.1 but status bar color won't work on iOS13 devices.

Xcode 10 ,  0.2.1 is not work too


I dont even know which mod is incompatible here

heres the logs and sorry if im coming off as rude but it wont start when tax free is enabled
2022-07-15-2.log.gz

Hm... at first I thought it was something with Enigmatic Legacy but its mixins shouldn't be an issue (not a crash issue at least).
Instead it looks like there's some ASM patching going on with those messages:

[02:29:02] [pool-3-thread-1/INFO]: Patching RepairContainer#updateRepairOutput
[02:29:02] [pool-3-thread-1/INFO]: Successfully removed the anvil level cap.
[02:29:02] [pool-3-thread-1/INFO]: Patching RepairContainer#updateRepairOutput
[02:29:02] [pool-3-thread-1/INFO]: Successfully allowed nbt-unbreakable items in the anvil.
[02:29:02] [pool-3-thread-1/INFO]: Patching net/minecraft/inventory/container/RepairContainer

A bit of googling brings me to Apotheosis, which is confusing to me since I'm sure it's compatible with Tax Free Levels, at least on 1.18, maybe that's just an issue with 1.16?
Hm... yeah, looks like the container_repair and mythics_anvil coremods are only part of their 1.16 branch but not their 1.18 branch.
Oof, do I need to do some legacy patching again? :face_exhaling:

Hm... I can't actually reproduce the issue, I'm running Apotheosis, Tax Free Levels and Enigmatic Legacy and everything seems to be working just fine.
What versions are you using? Here's what I used:
Forge 36.2.35
TaxFreeLevels 1.3.2-beta
Apotheosis-1.16.5-4.8.99F
EnigmaticLegacy-2.11.12
and also
Placebo-1.16.5-4.7.0
curios-forge-1.16.5-<IP_ADDRESS>
Patchouli-1.16.4-53.3

From the CurseForge comments, it's confirmed that this exact error stems from the incompatibility with Balanced Enchanting and the solution is just to remove it.


CommandAvailabilityHelper

Designed a nice tool to easily check if a command is or isn't supported. I hope you find is useful.

Looks like I messed up again with all the commits in my develop branch. The last commit is the only one required for the new feature.


Being able to disable the es schema setup job

What was changed
Do not run the hook that setups the ES schema if not necessary.
Why?
Sometimes you don't need to setup the schema if this is done through another process

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


CHG: now config.baseURL won't get overwritten, if set in environment.js

fixes the issue #1429.
WDYT?

Thanks for the effort but this is meant to be read-only.


BOP returns worse solutions as optimal

I have created a small knapsack example and uploaded it to GitHub. It shows that the BOP solver returns "optimal" solutions that are worse than those found by CBC. The problem solved is a 1024-item single-resource 0-1 Knapsack.
The link to the repo is: https://github.com/abeham/bop_knapsack

Can you put the output of the program ?
https://github.com/abeham/bop_knapsack/blob/master/Knapsack/Program.cs
i.e.
dotnet run
....

Sure, the output is as follows:
Using BOP:
result: OPTIMAL
objective: 59775
bound: 59775
WARNING: Logging before InitGoogleLogging() is written to STDERR
W0221 22:39:52.903899 649124 linear_solver.cc:1464] Trying to set an unsupported parameter: 1.
W0221 22:39:52.905897 649124 linear_solver.cc:1464] Trying to set an unsupported parameter: 2.
Using CBC:
result: OPTIMAL
objective: 59780
bound: 59780

It's also likely that it doesn't respect tolerance parameters. Maybe a status such as "optimal with tolerance" should be included in order to hint that this is not the true optimum.

GLPK
Optimal solution:  59846.0
walltime  : 1105 ms
CBC
Optimal solution:  59846.0
walltime  : 45 ms
SCIP
Optimal solution:  59851.0
walltime  : 205 ms
BOP
Optimal solution:  59849.0
walltime  : 202 ms
SAT
Optimal solution:  59851.0
walltime  : 88 ms
So, higher means better solution. The true optimal is 59851.0. SCIP and our SAT solver find it.
All other solvers stop before because the gap is small enough.

Note that for all MIP solver, by default it is optimal with tolerance. There is no other meaning of optimal.


About adding a switch function in different development language environments, please note that the environment switch with different language plug-ins installed

About adding a switch function in different development language environments, please note that the environment switch with different language plug-ins installed

We all know that as VScode is used more and more deeply, we will use a variety of plug-ins used in different development languages, such as developing Java, will use Java related plug-ins, Python uses Python related Plugin, the same goes for Golang, not to mention C#
Therefore, when we use VSCode to develop products in different languages, we will install plug-ins required by different languages. This caused me to install a lot of plugins.
If there are too many plug-ins installed, it will bring a lot of problems, such as the problem of startup speed, and the problem of interfering with the plug-ins installed between languages. Although I haven’t met it yet, I always think it will happen in the future
So I want to say, can VSCode add a virtual mode function of different languages, so that we can install plug-ins of different languages in the virtual mode of different languages, similar to the virtual environment of the Python language, can Python2.7 and 3 Isolate it so that I don’t have to worry about so many plugins, or that VScode already has a similar function, so can you send me the link? w

/duplicate


Fixed regex escapes and more

In punctuation_replacer ->
LeftParen = Rule(re.escape(r'('), '(')

changed to
Rule('\(', '\\(')

Added more functions:
Add post_process_segments and SubSingleQuoteRule functions
Add check_for_punctuation and SubSymbolsRules functions
Stable punctuation_replacer and between_punctuation

Closes #16


Dev

My first pr for main . Done making the setup and added some basic utility classes .
Here is my file structure .
.
├── alpha
├── assets
│   └── images
├── css
│   └── fonts
├── documentation
│   └── pages
├── js
└──sass
├── abstracts
├── base
├── components
├── layout
└── pages

@Pratham82 sure bro .

Looks good.

Great design it responsive too, great work bro👌

@TusharJade thanks bro