Generation workflow issues and room for improvements

Following investigations about issue #47, I'm a bit puzzled with the evolution workflow and the resulting behavior.
It seems to me that on most tasks, Elite selection and Elitist reinsertion are constantly outperforming any other alternative operators, that accordingly, preserving genetic diversity is hard with usually a quick collapse to sub-optimal solutions, and that more generally despite an abundance of parameters or extensive code coverage, parameter tuning is pretty hard.
I would be willing to investigate contributing extensions dealing specifically with those issues, such as Island GAs variants or other meta-heuristics, but I believe the basic workflow has existing issues that might need addressing first.
Let me try to follow a generation cycle starting at Crossover stage, which is an interesting entry point for improvements IMHO. Returning from IOperatorsStrategy.Cross we get a number of children <= MinSize, depending on child/parent ratio (1 for most crossovers) and crossover probability (<=1). Pair-wise parents matching is performed without specific attention, simply following parents order returned by selection.
After crossover, offspring are mutated on an individual basis, without impacting the population globally.
Reinsertion operator doesn't seem right:
Elitist and Uniform reinsertion will fill up the new population to MinSize respectively with best parents and random offspring copies. I wasn't able to get Uniform reinsertion to work at all, with fitness consistantly not improving.
Pure reinsertion will only work if crossover yields the same number of offspring as parents (certain crossover are not permitted + crossover probability  must be equal to 1 + MinSize must be an even number). Just as for uniform reinsertion, with the appropriate population size compatible settings, I wasn't able to get any result at all.
FitnessBasedReinsertion also has issues:

reinsertion is meant to trim children population size to MaxSize, but IOperatorsStrategy.Cross consistently keeps children number below or equal to MinSize. Without any ICrossover producing more children than parents, MaxSize seems currently unused at all and the only population dynamics occuring seems to be filling up to MinSize when needed with the 2 compatible Reinsertions (Elite and Uniform).
Even in the event where we would have offspring number > MaxSize, Fitness reinsertion is supposedly based on offspring fitness, but fitness evaluation occurs at a later stage during the generation, so offspring fitnesses will be unavailable at that point. That also suggests the FitnessBasedReinsertionTest unit test wrongly assumes that reinsertion does its job.

That leaves us with apparently only Elitist reinsertion usable, that is, the necessity to keep best parents in subsequent generations.
Either way, a typical generation currently ends with a population of unordered children filled up with best parents or additional children if needed, to a total number of MinSize, then sorted twice by Fitness value in GA.EvaluateFitness and again in Generation.End, which also trims to MaxSize (both seem unneeded)
At the Selection stage of next generation, the selection operator might do differents things according to the type used:
In all cases, it will yield a MinSize number of parents.

Elite selection orders new parents according to fitness and trims the population to MinSize: both the trimming and sorting currently seem unneeded, since according to the above, input population size is consistantly MinSize with already sorted elements. Rank selection also does the fitness sort.
Elite selection keeps parents sorted with great impact on crossover pairing, whereas Roulette, Rank and Tournament yield random crossover candidate pairs accross selected parents, and StochasticUniversalSampling will generate pairs following an order starting from a random point, then starting over, which seems oddly specific behavior.

The whole workflow suggests to me a revamp might be needed to make sense of the currently available options:

Evolution of population size might need a review. Population Maxsize is enforced in several places though effectively unused: only Minsize seems to be of any use for now; accordingly FitnessBased reinsertion or any collapse capable reinsertion also seem unusable. Maybe Crossover operator strategy could be updated to allow for modulating offspring population size, independently of Crossover probability and crossover operators.

More attention could be put into population order / sorting by fitness.
When using Elite reinsertion and Elite Selection, as far as I can see, population will be sorted 4 times by fitness in GA.EvaluateFitness, Generation.End, EliteSelection.PerformSelectChromosomes and ElitistReinsertion.PerformSelectChromosomes.
Then, according to the current implementation, crossover pairwise matching, which will greatly influence search dynamics, relies on post selection order, in what seems a non consistent way (see StochasticUniversalSampling above).
Finally about the sorting overhead itself, that does not seem too much, but it can also be discussed. Linq OrderByDescending, is mostly used in several places, and uses Quicksearch internally, which includes an overhead with already sorted sets, and even more so with near sorted sets. Interestingly, Insertion sort performs much better with near sorted sets, which might be of consideration with evolution depending on operators, and even though Quicksearch is interesting when only a subset of the first sorted elements is needed, the corresponding improvements documented in the following article were not accounted for in the latest linq internals, and a full quicksort is still triggered every time.
Accordingly there are 2 issues here:

having explicit control on pairwise matching between Selection and Crossover
making sure no more sorting than strictly necessary is performed (maybe with a lazy/flag mechanism, and ideally having control on the sorting algorithm, depending on the expected presorting configurations),

The very idea of FitnessBased reinsertion challanges the current operations sequence. Either reinsertion should not be concerned with offspring fitnesses at all, leaving that to the selection operators, or the current workflow should be updated to allow for fitness evaluation before reinsertion.

According to the previous remark, I created pull #83  to merge existing operators underneath a common inherited base class and allow for more abstraction.
I believe a good reference would be mealpy, which implements in Python many modern meta-heuristics enhancing evolutionary search techniques. Most of them seem to improve the general stochastic beam search of GAs with more sophisticated custom search guidance for segregated individuals and/or phases/generations, allowing for optimising the exploration/exploitation compromise, which seems to be the main issue at stake here.
With the addition of dedicated new interface(s), maybe together with an Island  wrapper above, allowing to run several GAs and together with population migrations, this new entry point should allow to implement most modern variations.

Thanks for the report and pull request.
The pull request #83 was merged.


Correct README.md

The images do not seem to use the alpine openjdk.

That's correct. The new contents of the repository were uploaded without updating readme file. There are some more changes in README.md. Let me merge your pull request and update the list of versions included in the repository.


Can't create builtin script if file exists

Godot version:
3.0
OS/device including version:
Arch Linux

Issue description:

I should be able to set a script as builtin even if there is a script with the name specified in the 'path' field of the Attach node script form.
Steps to reproduce:

Create new project
Add Node2D to the scene
Create new script file for Node2D
Save the scene
Clear the script for the node (using the button in the image)

Open the form to create a new script file
Try to set the script to builtin mode - Doesn't work

Minimal reproduction project:
Follow steps 5 6 and 7 in this project
testBug.zip

It seems to be because there is a file with that name, if you change the filename you can click on built in

I want to take this.
As @alex9099 said, I think the script deletion is something that should be added (I'll work on that. Meanwhile, what should be the case on the setting built-in for existing scripts? Disallow with popup or allow freely?)

Given that toggling Built-in Script to "On" disables the path field, I would say we should allow them, and it shouldn't possible to convert an existing script to builtin.

Alright. So I'll simply allow the creation of builtin script. I guess the script detach should be a separate feature request.


Alert rules embedded in charmed operators must not have the juju_unit added to the topology

Bug Description
When using the prometheus_scrape library, the unit should not be added as a label. There should only be one set of alerts which act on the whole application.
To Reproduce
Use version 0.16 of the prometheus_scrape library and make sure to include alert rules.
Environment
juju+k8s
Relevant log output
dylan@cerritos:~$ juju show-unit prometheus-k8s/0
prometheus-k8s/0:
  opened-ports: []
  charm: ch:amd64/focal/prometheus-k8s-19
  leader: true
  relation-info:
  - endpoint: prometheus-peers
    related-endpoint: prometheus-peers
    application-data: {}
    local-unit:
      in-scope: true
      data:
        egress-subnets: <IP_ADDRESS>/32
        ingress-address: <IP_ADDRESS>
        private-address: <IP_ADDRESS>
  - endpoint: metrics-endpoint
    related-endpoint: metrics-endpoint
    application-data:
      alert_rules: '{"groups": [{"name": "test_b411f591-160b-46b6-826d-93c55be76b35_traefik-k8s_traefik-k8s_0_traefik-k8s_unit_unavailable_alerts",
        "rules": [{"alert": "TraefikIngressUnitIsUnavailable", "expr": "up{juju_model=\"test\",
        juju_model_uuid=\"b411f591-160b-46b6-826d-93c55be76b35\", juju_application=\"traefik-k8s\",
        juju_unit=\"traefik-k8s/0\", juju_charm=\"traefik-k8s\"} < 1", "for": "0m",
        "labels": {"severity": "critical", "juju_model": "test", "juju_model_uuid":
        "b411f591-160b-46b6-826d-93c55be76b35", "juju_application": "traefik-k8s",
        "juju_unit": "traefik-k8s/0", "juju_charm": "traefik-k8s"}, "annotations":
        {"summary": "Traefik ingress unit {{ $labels.juju_model }}/{{ $labels.juju_unit
        }} unavailable", "description": "The Traefik ingress unit {{ $labels.juju_model
        }} {{ $labels.juju_unit }} is unavailable LABELS = {{ $labels }}\n"}}]}]}'
      scrape_jobs: '[{"metrics_path": "/metrics", "static_configs": [{"targets": ["*:8082"]}]}]'
      scrape_metadata: '{"model": "test", "model_uuid": "b411f591-160b-46b6-826d-93c55be76b35",
        "application": "traefik-k8s", "unit": "traefik-k8s/0", "charm_name": "traefik-k8s"}'
    related-units:
      traefik-k8s/0:
        in-scope: true
        data:
          egress-subnets: <IP_ADDRESS>/32
          ingress-address: <IP_ADDRESS>
          private-address: <IP_ADDRESS>
          prometheus_scrape_unit_address: <IP_ADDRESS>
          prometheus_scrape_unit_name: traefik-k8s/0
  provider-id: prometheus-k8s-0
  address: <IP_ADDRESS>

Additional context
No response

Note: if a charm author wants to specify logic that will be evaluated over multiple units, like average CPU usage, they will use aggregator operators.
Alert rules are evaluated per timeseries. A timeseries is identified by all its labels. The unit is already in the timeseries, unless the query uses a functionality like without.

Also, note that our end-to-end tests are likely using single units, so the failure of alerts to be raised for non-leader units went unnoticed.

A fix has been merged into the git repository and is currently under testing.

@dstathis can this ticket be closed ?


Make bin scripts platform agnostic

Bash scripts won't run on windows! https://github.com/vigetlabs/gulp-starter/tree/blendid/bin
re-write as node?

#375 is related.

Resolved!


Add tests for Router (improve Sonar)

Remove src/main/webapp/app/router/index.ts from exclusion files on sonar-project.properties

I'm not sure that these tests have a real value.
I agree that we should not exclude the router code from sonar coverage, but we should rather merge the code coverage of the unit and components tests, that will allow indirectly verify all routes are used.

Anyway, I think we can merge this PR, and re-evaluate when/if we merge frontend code coverage.


Light version

Hello! Could you please clarify what is the "light" version of your network? As I see in issues a lot of people have a problem with training a full version of NICE GAN and use light version. Did you do an experiment with this version? What were the results(metrics)? I could not find this information in your article. Firstly I thought that light = NICE GAN*(are the version that the generator network is composed of only four residual blocks) but after code viewing then I understood that it is not.

For light version, please refer to UGATIT-pytorch.
It means set --light to True and please search "self.light" in networks.py.

Hello! Could you please clarify what is the "light" version of your network? As I see in issues a lot of people have a problem with training a full version of NICE GAN and use light version. Did you do an experiment with this version? What were the results(metrics)? I could not find this information in your article. Firstly I thought that light = NICE GAN*(are the version that the generator network is composed of only four residual blocks) but after code viewing then I understood that it is not.

For light version, please refer to UGATIT-pytorch.
It means set --light to True and please search "self.light" in networks.py.

@alpc91 thank you! But did you do experiments with it? How good is it compared to the full version of NICE GAN or UGATIT light (at least approximate metrics)?

I mean I can try to train in, but it spends a lot of time, and like any other requires parameters tuning and it takes much more time. I want to find out should I spend my time on this or should I concentrate on the full version or UGATIT light.

@alpc91 thank you! But did you do experiments with it? How good is it compared to the full version of NICE GAN or UGATIT light (at least approximate metrics)?

We have not tested the full version.  If your memory of gpu is sufficient, you can try it. But it will spends much more time.

@alpc91 Got it! Thank you a lot!


show residues in modification section on gene pages

I think it would be good to show the residues in the "summary" view of modifications (summarised to one entry per residue). Can they also be numerically ordered?
Possibly also show the extensions?

see #180 for history

Should the residues be in a column or a row in the summary?

I think they could be in a row maybe?

I've added the residues to the summary.  It looks like:

Is that OK?

This looks great on all the pages I looked at. None of the ones I looked at have the gene name though?
Also "modifies" isn't quite the right  relation here.
(It would be correctly "modified residue" but I don't think this text is necessary?)
@Antonialock
@mah11

None of the ones I looked at have the gene name though?

The gene names are included on the publication and term pages but not on the gene page.  Is that what you mean?

In the image above it is a mixture.
Looks fine here:
https://www.pombase.org/reference/PMID:10036242
but cdc2 doesn't modify Y15.
cdc2 Y15 Is modified

Ah, sorry.  I get it now.  That's wee1: https://www.pombase.org/gene/SPCC18B5.03
That's how it is in Chado.

On the publication page
https://www.pombase.org/reference/PMID:10523629
O-phospho-L-serine
| cdc25 modifies S148, S178, S192, S204, S206, S234, S359, S567, S99
would be, correctly
cdc25 modified S148, S178, S192, S204, S206, S234, S359, S567, S99
Ont eh gene pages we could use the same text "modified"
but I don't see anything like the example above where there is a mixture of
modified residue
and
midifies name-residue
Can you point me to this example?

Can you point me to this example?

It's from this session: https://curation.pombase.org/pombe/curs/98f0242de16564e8/feature/gene/view/2/ro

OK to close this one just change the "label" form "modifies" to  "modified residue"

OK to close this one just change the "label" form "modifies" to "modified residue"

Done!

announced


fix(tar): allow --action_env to override LC_ALL

bsdtar will fail to extract archives with unicode characters in a filename, on systems where the default locale is C or some non-UTF value.
Users encounter this as strange extract failures, but only on a subset of the systems they work on; this is non-hermetic behavior.
Workaround https://github.com/bazelbuild/bazel-central-registry/issues/2256

I think that the default locale with no env vars set is always C on Linux and that's what happens in the sandbox, so I expect this problem to be rather common
For Bazel's Java rules, I've been setting LC_CTYPE explicitly: https://github.com/bazelbuild/rules_java/commit/c22454fadb4773cbd202bfa3e28f1d6a88c4c94a

Since --action_env requires explicit configuration and makes it more easy to screw up cache performance, I would prefer a more explicit fix if we can find one.

I'm not certain we should merge this; created it mostly as the alternative to discuss. Feels to me that we should have global guidance across the whole Bazel ecosystem about whether system locale is a hermeticity failure, and we should be forcing a locale globally.
See https://github.com/google/copybara/blob/master/.bazelrc#L3-L10 as one example I've noticed

Yeah your Java example is like what I did with https://github.com/aspect-build/rules_js/pull/2044 - the hard thing for me is how hopeless the project of finding every action that needs an env set


Rc 0.64

Release-0.64

Codecov Report

Merging #76 into master will not impact coverage by -0.05%.

@@            Coverage Diff             @@
##           master      #76      +/-   ##
==========================================
- Coverage   55.29%   55.24%   -0.05%
==========================================
  Files          23       23
  Lines        1964     1973       +9
  Branches      242      244       +2
==========================================
+ Hits         1086     1090       +4
- Misses        723      726       +3
- Partials      155      157       +2

Impacted Files
Coverage Δ

src/cpp/peer_connection.cpp
66.15% <100%> (+0.34%)
:white_check_mark:

src/cpp/main.cpp
62.16% <25%> (-4.51%)
:x:

Continue to review full report at Codecov.

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


⚙Tech Debt: Overlays for all modal-like builders

Currently, we have components like the Menus, Combobox, Select, etc. that act similar to modals by default in the sense that they prevent scroll when open, close on escape, and close on outside clicks. What these don't do however is prevent and disable interactions outside of the menu/content.
For example, here's the currently default behavior of the Select:
https://github.com/melt-ui/melt-ui/assets/64506580/5dbc203f-2bbb-4a16-b17e-571666bce687
Since the scroll is disabled, it appears as though I shouldn't be able to do anything outside the content, but I can still interact with things outside of the "modal", which creates this weird in-between of "I can interact with things only within the current viewport", which feels a bit sloppy.
Perhaps the simplest way to solve this problem would be to add an additional overlay element to the various builders where we support modal behaviors, similar to the dialog. This wouldn't be a breaking change and opting out would be as simple as not using the overlay.
This could be handled by the user manually today, but only if they are using forceVisible and can stick the overlay behind the synced open state, so I think adding a 1st party element would be beneficial.

This will definitely solve my use case of using Select, Combobox and basically all builders with positioning inside a bottom sheet since it is more consistent and scalable in terms of displaying options between mobile and desktop. Currently, because of no overlay I use a dialog and add my sheet logic component inside the content which further has a slot for actual sheet content. So, the flow is like Combobox -> Drawer (For Overlay) -> Sheet (Actual Draggable Part). Combobox uses positioning: null and Drawer uses $open store from combobox for it's state and and the sheet. Even though there is no separate $trigger element for Combobox like Select. I made it work by just adding $input on <Button/> 🤷♂ but this will be solved by #1014 when we could actually affect the $open state so only overlay was missing and by adding an overlay element I could simplify it like: Combobox (With Overlay) -> Sheet ($menu inside)

As said in #1035, I think a modal prop is better. An overlay for menus and a popover just doesn't seem right 🤔


remove the parallax

how can i remove the parallax element?

Hi @williamsherlock
There currently is not a destroy method, but I will add it as a milestone for the next release. You can however remove the parallax on mobile devices, just set the option disableMobile to true:
$('.element').parallaxElement({
  disableMobile: true
});

Not sure if that helps or not.
Are you looking to remove parallax from a single element or from all elements?

dear @iamhexcoder
i wanna to re-initialize the parallax speed, if i add 0.2 and the 0.4 its run twice instead of once.
is there any solution to solve this?

You could write a function that changes the data-speed value on an event. Something like
$('.button').on('click', function() {
 $('#el-to-change').attr('data-speed', '0.4');
});

I haven't tested this at all, but in theory it should work.

@iamhexcoder
yes once it is initial we need to only change $('#el').attr('data-speed', '0.4'); instead of reinitialize. :+1:
thanks!


ERROR TypeError: "litepicker__WEBPACK_IMPORTED_MODULE_5__.Litepicker is not a constructor

Describe the bug
I'm getting this error when trying to get Litepicker up and running on an Angular 8 project.
I've played around with the import statements but nothing seems to get it working. Any idea what I am doing wrong?
package.json
  "@angular/animations": "^8.1.0",
    "@angular/common": "^8.1.0",
    "@angular/compiler": "^8.1.0",
    "@angular/core": "^8.1.0",
    ........
    "@ng-bootstrap/ng-bootstrap": "^5.0.0-rc.1",
    "@ng-select/ng-select": "^3.7.0",
    "@ngx-translate/core": "^11.0.1",
    "angulartics2": "^7.2.4",
    "bootstrap": "^4.1.1",
    "date-fns": "^1.30.1",
    "litepicker": "^1.0.21",
    "lodash": "^4.17.11",
    "rxjs": "^6.5.2",
    "zone.js": "^0.9.1"

My component.ts:

import { Litepicker } from 'litepicker';

 createDatePicker() {
    return new Litepicker({
      element: document.getElementById('datepicker'),
      firstDay: 0
    }).show();
  }

  ngOnInit() {
    this.createDatePicker();
  }

My component.html:
<input id="datepicker" class="border-2" />

Uh, right after I ask for help, I solve it myself.
I was using the wrong import statement at the top of my component.ts.


channels list and ignore channels bug in python click

As type of the -cl and -ic is list for some of the commands, re referencing and plotting will give wrong results

Resolved in #36


Incorrect padding of short callsigns

The code generator at https://swharden.com/software/wspr-code-generator/ produces wrong results for many call signs.
It simply pads spaces in front of the callsign until we have 6 characters:
https://github.com/swharden/WsprSharp/blob/main/src/WsprSharp/Encode.cs#L85
The encoding however demands that the third character is always a number, and only the first and the last three characters can be spaces/padding:
https://github.com/swharden/WsprSharp/blob/main/src/WsprSharp/Encode.cs#L36 ff
Therefore the padding only works correctly for 2x3 callsigns (AA0AAA - no padding needed) or 1x3 callsigns (A0AAA - single space padding in front bringing the number to position 3).
For all other callsigns, it pads incorrectly. Real life example described here  https://www.qrpforum.de/forum/index.php?thread/14781-wspr-code-generator-gelöst/  (DL3PB encoded as " DL3PB" which is not encodable, and the resulting bit pattern happens to be  another valid callsign, "F0UPB")

Hi @dj1yfk, thank you for reporting this!
The current (incorrect) behavior left-pads the callsign with spaces to achieve 6 characters
https://github.com/swharden/WsprSharp/blob/78fbbcc09630a3ff3dae6361db3b3a6fc6910832/src/WsprSharp/Encode.cs#L84-L85

The encoding however demands that the third character is always a number, and only the first and the last three characters can be spaces/padding

Re-stating the correct, the call sign must always contain:

2 characters (left-padded space)
1 number
3 characters (right-padded with space)

Is this description accurate?

Hi @dj1yfk, this is the new callsign preparation logic:
https://github.com/swharden/WsprSharp/blob/2edfd65a1439403468b2477bb242b1a0f7ed6473/src/WsprSharp/Encode.cs#L76-L101
I added tests to confirm it performs as expected. Are there any additional test cases you think I should add here?
https://github.com/swharden/WsprSharp/blob/2edfd65a1439403468b2477bb242b1a0f7ed6473/src/WsprSharpTests/CallsignTests.cs#L9-L15
I'll look for screenshots of spectrograms for WSPR transmissions of short callsigns to ensure the encoded message is the same visually, and if I can confirm this is the case then I will redeploy the app and website

I found a short callsign (AJ8S) from this image https://swharden.com/software/FSKview/grabber.png

I then used the updated code to test the web interface with the following info

I used the grid square I found on QRZ and tried different power levels until I found one that made the trace appear correct

I think this is enough indication things are working that I can consider this issue solved and I'll deploy an updated web page and app, but if you have a better example please let me know
Thanks again for your input!

@dj1yfk you can test the latest version of the web interface here https://swharden.github.io/WsprSharp/

Wow, that was fast!  :-)
The updated version (at https://swharden.github.io/WsprSharp/) works fine and I think the tests cover the relevant cases.
Thanks & 73
Fabian, DJ5CW (ex dj1yfk)


This library is still supported?

Hello there, а little bit sad that this awesome lib in unmaintained state, anybody has access to this repo?
There a few significant commit in master but not tagged.
The last tag was made on Feb 6, 2018

Wondering the same thing

@rwwagner90 is willing to continue maintaining this repo. He will probably fork and continue with the forked repo as commented here: https://github.com/Vestorly/torii/issues/424#issuecomment-769361374

@mixonic and @Dhaulagiri have access I believe. Do either of you know if there is an appetite to add more maintainers or transfer to adopted-ember-addons before we fork this?

@jayvarner do you know anyone with the permissions to transfer it?

hi!  Ping on this.
specifically, ember v4.0 will not work here - https://github.com/Vestorly/torii/blob/master/addon/bootstrap/session.js#L8

@Dhaulagiri @jayvarner does anyone have the permissions to transfer this repo please? Otherwise, I suppose we could fork it to adopted-ember-addons.

No response here for 6+ months, last merged PR 2+ years ago...fork it.

I wish I could be more helpful here but I only have commit bit on github and nothing else that would unblock y'all. I would definitely be supportive of transferring this to ember-adopted-addons but that's something @mixonic would have to help with (I think).

@rwwagner90 Did you try to contact @mixonic directly? Would you mind if I shoot him an email?
I am very interested in getting this back into a maintained state and am pretty sure I can support an effort to modernise it with some time from our team. We're very close to forking it ourselves as it definitely starts to rattle and crack in a more modern ember app. It somehow, with a couple of ugly workarounds, still works, but barely.

@halfbyte yeah, I have tried reaching out to @mixonic, but I don't think he (or anyone for that matter) has the rights to transfer the repo or give us access. I tried to open a necessary PR and it sat for over a year and no one would merge it, so I think we should just fork. We could fork it into adopted-ember-addons perhaps, instead of trying to wait for someone to actually transfer it.

@rwwagner90 Is there any way I can help? We have a bunch of fixes lying around already that could go into a fork, I think we just need your help for actually creating the fork and then we can open PRs on the new repo - Happy to share some maintainer duties as well if possible (and of course, if you're happy with our work)

@halfbyte I created the fork and gave you write access. If you can port over some of the PRs here, that would be great! https://github.com/adopted-ember-addons/torii

@rwwagner90 Thanks so much. Would you have time to do some PR reviews or should we keep you out of this as much as possible? I assume you're as busy as the rest of us, so don't want to put an extra burden on you if you think it's not necessary.
My idea right now is to maybe amass changes that could lead to an LTS + 4.x compatible 1.0.0 on a branch and collect feedback on that before thinking about an actual release. (Then we would need to talk about where and how to publish the fork, but that's something to worry about when we get there)

@halfbyte I'm generally okay with trusting your judgement. Do you have some other folks on your team that can help review? Perhaps we should rope in @snewcomer and @Dhaulagiri?

@rwwagner90 Cool, that sounds good, I have some teammates that will look at it, @lozjackson actually did most of the relevant changes on our fork, so then I'll review - I'll get back to y'all if I have thorny issues or if we are insecure about something!
Again, thanks for the quick response and your trust.

In case anyone is wondering, we're close to releasing a new version over at adopted-ember-plugins/torii so I would be happy for anyone testing the current master branch over there.

Finally, a 1.0.0-beta.1 has been released to npm. Please test and head over to [adopted-ember-plugins/torii] to report any issues.

https://github.com/adopted-ember-addons/torii


[MINOR][ZEPPELIN-2306] Improve alignment of components in Helium header

What is this PR for?
If there are 2 more enabled VISUALIZATION pkgs, the ordering control section will be shown like below. But the useless spaces between "Helium" and "Bundle package display order(drag and drop)".

So I changed some alignment to remove the extra space.
What type of PR is it?
Improvement
What is the Jira issue?
ZEPPELIN-2306
How should this be tested?
Outline the steps to test the PR here.
Screenshots (if appropriate)

Before

After

more than 2 pkgs are enabled

only 1 pkg is enabled

Questions:

Does the licenses files need update? no
Is there breaking changes for older versions? no
Does this needs documentation? no

LGTM

Merge into master if there are no more comments.


luaiconv: init at 7

Motivation for this change
Hi!
I would like to package a git network auth package known as Gitano
lua-iconv is a dependency of Gitano's
I'll be opening separate PRs for each Gitano dependency, since that should make it easier to review.
Things done

[X] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] macOS
[X] Linux

[X] Fits CONTRIBUTING.md.

This package has been tested on Debian through installation and test of Gitano itself.
Thanks!
Richard

@orivej Thanks for reviewing so quickly! I will be happy to submit subsequent dependencies as part of one larger "Add Gitano" pull request if that will make this easier.
Thanks!

OK, but you can simply rename this PR and push additional commits.

@orivej My fear with opening one PR for the entire thing is that it will simply not be reviewed because it will be quite a large PR. Certainly for the first leaf deps (that are not core gitano components) I would prefer to keep them separate.

Upstream calls this package lua-iconv, not luaiconv. Would you rename it?

@orivej Good spot, renamed!

We merged the version before I pushed the name change?!

@richardipsum No, I've merged right after your last commit.

@orivej Heh, you were too fast for github web ui, clearly, thanks for the review! :smile_cat:


Fix compilation on gcc 4.9.x

Older gcc's don't permit these variables to be declared within for loops.

GCC 4.9 seems to permit for loop initial declaration in C99 mode (see this example).
Does occur an error if you specify -std=gnu99 compiler option in your environment?

@shuujii I guess that would work too, but it would require updating build_config.rb, right?

Probably yes if you have customized compiler flags in build_config.rb.
If you have used default build_config.rb, tasks/toolchains/gcc.rake is loaded:
https://github.com/mruby/mruby/blob/2f6baf60e957711a85dfdd05725fa946d274b09d/build_config.rb#L1-L9
and -std=gnu99 should be set:
https://github.com/mruby/mruby/blob/2f6baf60e957711a85dfdd05725fa946d274b09d/tasks/toolchains/gcc.rake#L1-L4
However you need to explicitly include -std=gnu99 if you have used CFLAGS environment variable (maybe we should fix so that it is automatically set even in this case).


748 transaction request intervals

Issue/Task Number: #748
closes #748
Overview
This PR adds a new way to configure transaction request by specifying an interval duration (for example, 24 hours, stored in milliseconds) with consumption_interval_duration.
Two more attributes can be used once that duration has been set:

max_consumptions_per_interval: the total number of times the request can be consumed in the defined interval (like 3 times every 24 hours).
max_consumptions_per_interval_per_user: the total number of times one unique user can consume the request (like once every 24 hours).

Changes

Add new fields to transaction requests
Handle those fields in the consumption validator
Update Swagger files

What's the use case for this one?

What's the use case for this one?

The printing of transaction request QR codes that would only be consumable by users once a day for example.

What's the use case for this one?

Useful for cases where a provider wants to incentivise for recurring usage of their produce or service. E.g. create a transaction consumption so a user can consume once a day/week/etc.


The search in platform selection seems to fail at requesting the focus sometimes.

Hard to reproduce, but the behavior is something like this:

Add a new game or hardware
Enter name
Click on the platform field

Sometimes when typing, the search does not receive these key events, only an additional click in the search area fixes this
Sometimes when typing, everything is just as intended

This never seems to happen on the first game to add, maybe that's where the issue lies?

Has not happened anymore in recent testing. Closing for now.


Update README.md

Showing the traced span as closed before the servers 'work' is confusing to folk newly encountering opentracing.

@rbtcollins thanks


Overriding the ConnectionString value in Appsettings.json

While trying to publish a serene app to Azure, I get an "...SQL Exception" because the Azure App Service is reading from appsettings.json which is connected to my local db. To overcome that I have to manually update the connection string of my AzureSQL in the appsetting.json everytime I have to publish my app to Azure.
How can I handle this scenario in Serene app that is uses localdb only for development and AzureSQL mapped to Appservice when on Production?

I haven't done this with .NET Core, but maybe take a look here: Configure an App Service app in the Azure portal.
For MVC version you can just add them as connection strings in Settings>Configuration in your Azure App Service.

Thanks @edwardch but no avail. I am yet to find a solution wherein the connectionstring of AzureSql takes precedence over the appsettings.json which points to my local db automatically (i.e. without me going to appsettings.json, updating the connection string and re-publishing the app).

Did you try adding an app setting (in Azure) called SQLAZURECONNSTR_YOURCONNECTIONNAME or SQLCONNSTR_YOURCONNECTIONNAME ?
If this doesn't work I'll set up a demo app in Azure (.NET Core) and see if I can get it working. Probably not this week though...

I've been testing my .NET Core app in Docker and managed to get the connection strings overridden by using environment variables. The trick was to use a double underscore in place of a colon.
So in your appsettings.json, you have
{
  "Data": {
    "Default": {
      "ConnectionString": "YourConnectionString",
      "ProviderName": "System.Data.SqlClient"
    }
    // Other settings
}

To override this connection string Data:Default:ConnectionString with an Azure SQL Server connection string I added this environment variable, which works:
Data__Default__ConnectionString="Server=tcp:YourServer.database.windows.net,1433;Initial Catalog=YourDatabase;Persist Security Info=False;User ID=YourUser;Password=YourPassword;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
From my understanding Azure app service uses container under the hood so there may be a chance that this works for you.
I'll try do a Docker wiki entry later this week.
Hope this helps!

Hi @edwardch, thanks for your suggestion. It worked for me and am happy to get a solution finally!! All this while I was focusing more on the serenity's app code to handle it than using the Azure's app settings. Thanks once again!!

Great! Good to know that this works in Azure App Service as well as Docker...


Fix umpleself to use the current jar

I think an overzealous refactoring happened which caused resetUmpleSelf to be equivalent to umpleSelf.
I can't test directly, but I'll let the CI handle that.
The tests fail, but I'm unaware if this is caused by my change or the issues in #740.
Closes #739.

Thanks. OK. I almost have the build working again. I will get that done first.

I am going to test this on my local environment. There was a problem before with
<property name="dist.umple.jar"       value="umple-${umple.version}.jar"
because directly after a 'release' this changes, and people can't build. Also people doing local testing need a filename that never changes That is why I set up a symbolic link to make umple.jar point to "umple-${umple.version}.jar". My very strong recommendation would be that the bootstrap always use simply "umple.jar". Not sure, however, if the symbolic linking I set up works in Windows.

Just to be clear regarding my last comment ... I had added the following a while back at line 339 in packageMainJar in build.umple.xml

The documentation shows this does not work on Windows
https://ant.apache.org/manual/Tasks/symlink.html
It is very nice (almost essential) in unix for normal development.
In Windows we would have to detect a failure of the above and do a copy instead. We could do a copy in Unix but it seems that would waste space and possibly lead to errors..

The build actually reads from the "version.txt" file and reads the jars appropriately. That symlink does exist on Unix, but it's not necessary as the ${dist.dir}/${dist.umple.jar} variable will always have the right path (there is also ${dist.dir}/${dist.umple.prev.jar}). So, I see what you're saying, but I don't think it's an issue.
I just rebased this branch against master, so the build should pass all checks now.

This broke the cc build. Reason: It tries to build using the 'upcoming'  jar which doesn't exist yet. This is why I had tried to insist on using a jar called 'umple.jar'


False alarm: TRIO107 for abstractmethods

from abc import ABC, abstractmethod

class Handle(ABC):
    @abstractmethod
    async def ajoin(self):
        ...

$ flake8 example.py
example.py:6:5: TRIO107: exit from async function with no guaranteed checkpoint or exception since function definition on line 6

Note that we'll want to handle abstractclassmethod and abstractproperty too.  In addition to the explicit decorator-based handling, I'd skip 107 for functions where ... is the complete body.

how about functions with pass as the complete body?

and if checking for ..., is there any reason to check for the decorators explicitly?

Yeah, let's treat pass the same as ellipses. (I dislike the style, but whatever)
And we still need to handle the decorators because it's fairly common to put a raise NotImplementedError... actually we could handle that (and optionally with a message) the same way too. Still worth handling via decorators in case of eg msg = "long string" ; raise NotImplementedError(msg) or something though, which doesn't fit the one-statement heuristic.

if the body is only a raise it's fine, since raises are treated as checkpoints.
tests/trio107.py:248
async def foo_raise_1():  # safe
    raise ValueError()

and any extra statements with strings or variables or stuff won't bother that.
In theory an abstract class can contain plenty code that gets executed though, due to subclasses calling them through super() and the like:
class Parent:
  @abstractmethod
  async def foo(self):
      for i in range(10):
          yield i

class Child(Parent):
  async def foo(self):
    return tuple(super().foo())

(invalid python code, but you get what I mean)
So unless you have more cases it feels like the right thing to do is ignore the decorators and just check for ellipsis or pass?

So unless you have more cases it feels like the right thing to do is ignore the decorators and just check for ellipsis or pass?

👍

Changed it to be any statement in body that's not a string, pass or ellipsis - and when tinkering with test cases I realized that pyright has the same check for overloaded functions error: <> is marked as overloaded, but it includes an implementation and when digging into it turns out they have the exact same logic ^^
https://github.com/microsoft/pyright/blob/6fa755c025cb5b18838d8bfdd85761184afa45f1/packages/pyright-internal/src/analyzer/parseTreeUtils.ts#L1999

Niiice. Leave this comment in the code too!


Prepare Beyla to work in library mode

Most of the size of this PR is caused by moving most packages to an internal folder, to hide them from anyone willing to use Beyla as a library.
This is the list of changes:

In advance to a future task for splitting beyla in two executables, the public API is now clearly separated in two parts: (1) find executable, instrument it and mount eBPF stuff; and (2) read eBPF stuff, process it and forward it.
Removed the possibility to pass global.ContextInfo in context and fill it during the construction of the Beyla graph. For a more decoupled code, now it is created at the beginning and then passed as argument to the different graph nodes that require it.
Hidden most packages under an internal folder.
Breaking change: Definition of ServiceName and ServiceNamespace are moved from the respective OTEL exporters (which was duplicated) to a common root property.

There are some extra changes that are still required before integrating Beyla in the Agent. For example, instead of exporting data as Prometheus or OTEL, export them via a native Go channel that will be read later from the Agent.

Codecov Report

Merging #218 (df3221e) into main (109d3de) will increase coverage by 0.07%.
The diff coverage is 57.98%.

@@            Coverage Diff             @@
##             main     #218      +/-   ##
==========================================
+ Coverage   40.35%   40.42%   +0.07%
==========================================
  Files          34       33       -1
  Lines        2649     2659      +10
==========================================
+ Hits         1069     1075       +6
- Misses       1517     1523       +6
+ Partials       63       61       -2

Flag
Coverage Δ

unittests
40.42% <57.98%> (+0.07%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Changed
Coverage Δ

pkg/internal/connector/prommgr.go
0.00% <ø> (ø)

pkg/internal/ebpf/common/common.go
0.00% <ø> (ø)

pkg/internal/ebpf/common/common_linux.go
0.00% <ø> (ø)

pkg/internal/ebpf/common/ringbuf.go
80.51% <ø> (ø)

pkg/internal/ebpf/goruntime/goruntime.go
0.00% <ø> (ø)

pkg/internal/ebpf/grpc/grpc.go
0.00% <ø> (ø)

pkg/internal/ebpf/httpfltr/httpfltr.go
19.06% <ø> (ø)

pkg/internal/ebpf/httpfltr/httpfltr_linux.go
0.00% <ø> (ø)

pkg/internal/ebpf/instrumenter.go
0.00% <ø> (ø)

pkg/internal/ebpf/nethttp/nethttp.go
0.00% <ø> (ø)

... and 22 more

Seems like system wide instrumentation broke, if you want I can look into that, just disable the test for now. It might be related to the changes in looking for the command name?

@grcevski thanks for looking at this! I was getting mad trying to guess what did I broke in this PR, but it seems that the java systemwide test is also flaky for main branch. I'll anyway keep having a look during my timezone's morning (still setting up a Linux amd64 system for proper testing :-) ).
https://github.com/grafana/ebpf-autoinstrument/actions/runs/5689643298/job/15421532205


Fix: appWithTranslation / withTranslation typings

I've got several errors

error TS2339: Property appWithTranslation does not exist on type NextI18Next
Cannot invoke an expression whose type lacks a call signature. Type WithTranslation has no compatible call signatures. e.g. withTranslation(i18nextNamespaces),

appWithTranslation should be exported from type NextI18Next as it's exported in implementation.
WithTranslation type might be as function and as object, it depends on what we are looking for.

@kachkaev Have time for a review?

Looks good, thanks for getting this bug fix in quickly.


Use same handling as sparse-checkout to attempt to fix memory tests

Fixes the memory tests by using the same PowerShell setup as sparse-checkout.

/azp run java - storage - tests

/azp run java - storage - tests

/check-enforcer override

Overriding check enforcer as the two memory stress test jobs passed, which this PR aimed to fix.


RedisCache adapter should not break if redis is down

If redis is down,RedisCache would start throwing exceptions due to that. Since RedisCache wraps another adapter, I think a nice option would be to skip the cache and to instead use the wrapped adapter.
A plus would be to use instrumentation so that the error is not just "swallowed". A simple approach I have tried that works is:
      class BestEffortRedisCache < RedisCache
        def get(feature)
          super
        rescue ::Redis::BaseError => e
         # + instrumentation
          @adapter.get(feature)
        end
      end

I can imagine that not everyone likes that behavior, but without this approach having redis down means that a great part of an app can be down. (Or at least I have not found a way to prevent that)

I think a nice option would be to skip the cache and to instead use the wrapped adapter.

I like the way you think, but it could also cause a worse outage. Say redis is down so you fallback to mysql. What if a person's setup of mysql can't handle the load of all the new queries and that is why they used redis in the first place?
The great thing about the adapter pattern is you can do whatever you want. I'll probably stick to supporting just the redis cache adapter as is, but you could definitely make a FallbackToOriginCache adapter that takes a cache and origin adapter and does what you've mentioned. I'd probably be willing to merge that in as well if others would find it useful.
origin = Flipper::Adapters::ActiveRecord.new(...)
cache = Flipper::Adapters::RedisCache.new(origin)
fallback = FallbackAdapter.new(cache, origin)

class FallbackToOriginCacheAdapter
  def initialize(cache, origin)
    ...
  end

  def get(feature)
    @cache.get(feature)
  rescue
    @origin.get(feature)
  end
end

You could even fallback to wrapping the origin with an in memory adapter for a bit of caching or something too.

Say redis is down so you fallback to mysql. What if a person's setup of
mysql can't handle the load of all the new queries and that is why they
used redis in the first place?

I thought about that, it technically could happen. But if your db cannot
handle the load, you should just use the Redis adapter instead of the
RedisCache.
I get that it's a bit borderline though :)
On Mon, Nov 4, 2019, 16:55 John Nunemaker<EMAIL_ADDRESS>wrote:

Closed #443 https://github.com/jnunemaker/flipper/issues/443.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jnunemaker/flipper/issues/443?email_source=notifications&email_token=AA3RIECC62WAFVTDGAAFOTTQSBAWJA5CNFSM4JFZQW62YY3PNVWWK3TUL52HS4DFWZEXG43VMVCXMZLOORHG65DJMZUWGYLUNFXW5KTDN5WW2ZLOORPWSZGOUT75JJI#event-2768229541,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA3RIEGXK2FSCENMYBALN3DQSBAWJANCNFSM4JFZQW6Q
.

If your db can handle the load then why use a cache adapter? ;)

I solved this problem using the failover adapter with the memory adapter as a fallback.
require "flipper/adapters/redis"
require "flipper/adapters/memory"
require "flipper/adapters/failover"
require "flipper/adapters/read_only"

redis = Redis.new(url: Rails.configuration.redis_url)
redis_adapter = Flipper::Adapters::Redis.new(redis)
memory_adapter = Flipper::Adapters::Memory.new

# Import all flipper features from redis into memory_adapter.
# The memory adapter is only used as a fallback when redis is down.
# It will only pull from redis on start-up, so if you make changes
# to flipper-redis that you want reflected in the fallback, you should
# restart your app.
Flipper.new(memory_adapter).import(Flipper.new(redis_adapter))

Flipper.configure do |config|
  config.adapter do
    Flipper::Adapters::Failover.new(
      # Redis adapter is our default adapter
      redis_adapter,
      # In case redis is down, use memory adapter. This is a copy of what is in
      # redis (at time of boot-up). We wrap it in ReadOnly so that changes can't
      # be made while in fallback mode.
      Flipper::Adapters::ReadOnly.new(memory_adapter),
      # Rescue Redis errors. This defaults to [StandardError] if nothing provided.
      errors: [Redis::CannotConnectError, Redis::ConnectionError, Redis::TimeoutError]
    )
  end
end


How to caculate the chamfer distance?

Great work!
Could you tell me how to caculate the chamfer distance?
Thank you very much!

Is there any caculating script for chamfer distance?


Set version 0.6.5

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 73.09%. Comparing base (3159f2e) to head (1cd1d0c).
Report is 4 commits behind head on develop.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop      #43      +/-   ##
===========================================
- Coverage    73.21%   73.09%   -0.13%
===========================================
  Files           77       77
  Lines         5500     5512      +12
===========================================
+ Hits          4027     4029       +2
- Misses        1473     1483      +10

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


Fixed problem with programGroup shortcuts on Windows https://groups.g…

Hello,
Thanks again for merging my last patch. Now, this is the fix for the problem with programGroup under Windows https://groups.google.com/forum/#!topic/izpack-user/UrLck2vG-6U
Thibault LINDECKER

@akuhtz could you create a companion issue during review?

Created https://izpack.atlassian.net/browse/IZPACK-1691
The change looks good.
@ThibLind Thank you.


Added annotations for Sean Moore.

Added Sean Moore's annotations for documents 51-60.

thanks @Buyancy !


Highway Lane change

How to perform lane changes in Carla? I am able to follow predetermined waypoints, but is there a way to make my vehicle override the next desired waypoint to change lanes? Also, if I spawn several vehicles on the highway, and I manually control one to go slower than the other vehicles, the following cars just stop instead of passing my car. Is there a way to change that behavior?

Hi, @lijecaru, do you know how to lead my car running on the particular path, for example, turn left and merge path to the left lane. I found some information on the scenario_runner, but it is still not enough for me to figure out how to do that. Thanks

Hi, @lijecaru, how to follow predetermined waypoints and get a list of waypoints? Thanks

used carla_debug mode  and printed road id and append waypoint list on that road id
import glob
import os
import random
import sys
import numpy as np
import time
try:
sys.path.append(glob.glob('../carla/dist/carla-*%d.%d-%s.egg' % (
sys.version_info.major,
sys.version_info.minor,
'win-amd64' if os.name == 'nt' else 'linux-x86_64'))[0])
except IndexError:
pass
import carla
actor_list =[]
try:
# Carla host
client = carla.Client('localhost',  2000)
client.set_timeout(20)
#world = client.load_world()
#client.reload_world()

world = client.get_world()

blueprint_library = world.get_blueprint_library()
#get specific vehicle
vehicle1 = blueprint_library.filter('model3')[0]
print(vehicle1)

waypoints = client.get_world().get_map().generate_waypoints(10.0)
filtered_waypoints = []
for way in waypoints:
    #str(way.road_id), str(way.lane_id)
    # print road id by passing ,way.road_id)
    client.get_world().debug.draw_string(way.transform.location, str(way.road_id), draw_shadow=True, color=carla.Color(r=0, g=0, b=0), life_time=360.0,persistent_lines=True)
    if(way.road_id == 12 ):
        print(way.transform.location)
        filtered_waypoints.append(way)

spawn_point = filtered_waypoints[0].transform # Car 1 start point
spawn_point.location.z += 0.7
actor1 = client.get_world().spawn_actor(vehicle1, spawn_point)
print(actor1.get_transform().rotation.yaw)

spectator = world.get_spectator()

control = carla.VehicleControl()
control.throttle = 0.3
actor1.set_autopilot(True)

#actor_list[0].apply_control(control)

actor_list.append(actor1)
time.sleep(20) # run program for 20 second

finally:
for actor1 in actor_list:
actor1.destroy()
print('\n done ')


Reorganize files

Overview of changes:

Code now reflects the change in file organization/naming in #41 .
Central conda env now created for the core BackBLAST pipeline (to prepare for conda install as discussed in #42 )
Refactoring of older BackBLAST_combine_tables.R script
Graph.py had to be moved into the scripts folder (instead of the more logical utils folder) to be easily loaded into BackBLAST_core.py. This could be addressed longer-term -- see #43

@jmtsuji Feel free to merge it in.


Is This Still Helpful for El Capitan Users?

Your README.md simply says "Band-aid for Yosemite WiFi issues"
Are these issues still present in more recent versions of OS X?

Apple has tuned the parameters so that the negative effects are negligible.   While there is still frequency hopping of the WiFi interface between channel 149 (the apple chosen AWDL channel) and the active WiFi channel (your connected access point channel), they've reduced the length of time which the AWDL interface is communicating in discovery mode (discovering other devices).  In other words, I wouldn't highly recommend installing WiFriedX on the 10.11.3+ El Capitain.  While there's some advantages of disabling it all together, the problem has been minimized enough that it's no longer an issue for the general public as it was previously.


Use standalone mode

Hi, is it possible to use Standalone mode with webpack?
I am trying to call .connect and the promise resolves but when doing console.log(devtools) I see that connect is false

Standalone mode is bundler-agnostic
All you need to do is add this script to your index.html, and open the page ;)

Hi @alexzhang1030 !  thanks! so there is something missing, when I try these changes https://github.com/nativescript-vue/nativescript-vue/pull/1074 the .connect promise is resolved but the status is as follows
  {
     "state": {
       "connected": false,
       "clientConnected": false,
       "appRecords": [],
       "activeAppRecord": null,
       "selectedComponentId": null,
       "pluginBuffer": [],
       "tabs": [],
       "commands": [],
       "vitePluginDetected": false,
       "activeAppRecordId": null
     },
     "context": {
       "appRecord": null,
       "api": null,
       "inspector": [],
       "timelineLayer": [],
       "routerInfo": {},
       "router": null,
       "activeInspectorTreeId": "",
       "componentPluginHookBuffer": []
     },
     "hook": {
       "on": {}
     },
     "api": null
   }

On the contrary, if global.document is undefined (by commenting this line https://github.com/nativescript-vue/nativescript-vue/blob/1d1a1540402d16f5097e2607cf9e91133af52829/devtools.js#L22) I get the following
  {
     "state": {
       "connected": false,
       "clientConnected": true, // THIS IS CONNECTED
       "appRecords": [],
       "activeAppRecord": null,
       "selectedComponentId": null,
       "pluginBuffer": [],
       "tabs": [],
       "commands": [],
       "vitePluginDetected": false,
       "activeAppRecordId": null
     },
     "context": {
       "appRecord": null,
       "api": null,
       "inspector": [],
       "timelineLayer": [],
       "routerInfo": {},
       "router": null,
       "activeInspectorTreeId": "",
       "componentPluginHookBuffer": []
     },
     "hook": {
       "on": {}
     },
     "api": null
   }

but the application remains in an intermediate state between waiting and the debug screen

So, it seems that globalThis.global.document being undefined seems to do something else. Is there anything that xxx mode needs to work fromwindow or document?

Probably need your help /cc @webfansplz

Hi @vallemar, so glad to see Nativescript is trying to integrate the devtools next, I want to help you support it.
I haven't used Nativescript before, Is there any way to quickly debug it with 1074 locally? thank you.

I've tested a Vue3 + webpack project created by vue-cli, and
faced the same issue.

I'm not sure if this is related to ESM or CJS or Webpack, but it's a clue.

Hola@vallemarMe alegra mucho ver que NativeScript está intentando integrar las herramientas de desarrollo a continuación. Quiero ayudarlo a respaldarlo.
No he usado NativeScript antes. ¿Hay alguna forma de depurarlo rápidamente con https://github.com/nativescript-vue/nativescript-vue/pull/1074 localmente? gracias.

I think the only way is to install the nativescript development elements and run the sample application that has under the PR branch.
Here is the documentation to install the setup. If you have any questions I can try to help you or you can join the NativeScript discord server, it may be faster.
Although if you have found the same thing with vuetify it may be faster to solve it with it

Hi @vallemar, you can try it again with:

Upgrade to v7.0.6
Make sure to invoke devtools connect function before creating Vue App

Hi @webfansplz ! For me this version still doesn't work with v7.0.6, would you have a vuetify sample?
I think we are loading vue-detools before the application, @rigor789 can you confirm this?

Hi @webfansplz ! For me this version still doesn't work with v7.0.6, would you have a vuetify sample?
I think we are loading vue-detools before the application, @rigor789 can you confirm this?

Can you help me create a mini repo with Vuetify? thanks.
In addition, not loading devtools before the application, but invoke devtools connect function before create Vue App.

Hi @webfansplz ! For me this version still doesn't work with v7.0.6, would you have a vuetify sample?
I think we are loading vue-detools before the application, @rigor789 can you confirm this?

We're loading it before the Vue app yes, and also calling connect before the main app is created/mounted.
@webfansplz how does the communication between the app and devtools work, I saw RPC in there, but I presume there's some kind of socket too, or just polling? Wonder if we're not making the actual connection (since we're not exactly in a web environment, we might need to polyfill something in addition).

Hi @webfansplz ! For me this version still doesn't work with v7.0.6, would you have a vuetify sample?
I think we are loading vue-detools before the application, @rigor789 can you confirm this?

We're loading it before the Vue app yes, and also calling connect before the main app is created/mounted.
@webfansplz how does the communication between the app and devtools work, I saw RPC in there, but I presume there's some kind of socket too, or just polling? Wonder if we're not making the actual connection (since we're not exactly in a web environment, we might need to polyfill something in addition).

The standalone mode uses socket, and it's the same as the old devtools implementation.

Rebuilt @vue/devtools-electron without minifying so I can easily add some console logs, seems like the socket.io client does connect successfully, and events start going in/out.
The issue seems to be related to the devtools-hook being created after the custom renderer.
I was able to call in createApp (to delay the call) and that seems to have helped.
setDevtoolsHook(global.__VUE_DEVTOOLS_GLOBAL_HOOK__ as any, global);

Reconnects/initial connection seems to be an issue - have to reopen the app for the initial connection, and reconnecting the app doesn't work - will investigate that further later, but this is promising!

Rebuilt @vue/devtools-electron without minifying so I can easily add some console logs, seems like the socket.io client does connect successfully, and events start going in/out.
The issue seems to be related to the devtools-hook being created after the custom renderer.
I was able to call in createApp (to delay the call) and that seems to have helped.
setDevtoolsHook(global.__VUE_DEVTOOLS_GLOBAL_HOOK__ as any, global);

Reconnects/initial connection seems to be an issue - have to reopen the app for the initial connection, and reconnecting the app doesn't work - will investigate that further later, but this is promising!

Good catch ! I submitted a PR (#164) to resolve it. Can you try the packages/vue-termui-playground/src/main.ts setting (import devtools and call connect function before import and create vue), I'll find a better way to handle it if it also works forNativeScript.

Hi @vallemar @rigor789 , I believe this issue has been solved in 7.0.8, can you help me try it again:
// import before vue
import { devtools } from '@vue/devtools'
import '@vue/devtools/hook'

// connect before create vue app
devtools.connect('xxx','xxx')

@webfansplz awesome, thanks for the updates!
Looks like that works a lot better now, a few notes on latest:

have to alias 'socket.io-client' to 'socket.io-client/dist/socket.io.js' to avoid webpack polyfill errors (this one is simple, so don't think anything needs to change in devtools - just thought I'd mention)
disconnects/reconnects work now! 🎉
I still seem to need this in our custom renderer code:export const createApp = ((...args) => {
  try {
    if (global.__VUE_DEVTOOLS_GLOBAL_HOOK__) {
      setDevtoolsHook(global.__VUE_DEVTOOLS_GLOBAL_HOOK__ as any, global);
    }
  } catch (err) {
    // ignore
  }

 // ...

devtools doesn't seem to update the refs until I re-select the component

https://github.com/vuejs/devtools-next/assets/879060/60a3f6df-e9cd-4f3a-8651-e0eed47de37e

@webfansplz awesome, thanks for the updates!
Looks like that works a lot better now, a few notes on latest:

have to alias 'socket.io-client' to 'socket.io-client/dist/socket.io.js' to avoid webpack polyfill errors (this one is simple, so don't think anything needs to change in devtools - just thought I'd mention)
disconnects/reconnects work now! 🎉
I still seem to need this in our custom renderer code:export const createApp = ((...args) => {
  try {
    if (global.__VUE_DEVTOOLS_GLOBAL_HOOK__) {
      setDevtoolsHook(global.__VUE_DEVTOOLS_GLOBAL_HOOK__ as any, global);
    }
  } catch (err) {
    // ignore
  }

 // ...

devtools doesn't seem to update the refs until I re-select the component

Screen.Recording.2024-01-11.at.10.13.35.PM.mov

Hi @rigor789 Thanks for the feedback and glad to see it works now

I used socket.io-client/dist/socket.io.js at first, but it seems to have some edge case issue, I'll try it again later.
Do you add the import '@vue/devtools/hook' before import vue?
We'll track it later, thanks.

@webfansplz
Not sure about 1. but I wouldn't worry about it - it works with the alias (and is hidden from the user, so doesn't complicate it for end-users at all)
For 2. I missed that at first, but testing it now with it, and seems like it doesn't change it. But it does look like our bundle is somehow still loading these in the wrong order. I'll try and debug that. I believe it should work once I figure out why the order is incorrect.

@webfansplz Not sure about 1. but I wouldn't worry about it - it works with the alias (and is hidden from the user, so doesn't complicate it for end-users at all)
For 2. I missed that at first, but testing it now with it, and seems like it doesn't change it. But it does look like our bundle is somehow still loading these in the wrong order. I'll try and debug that. I believe it should work once I figure out why the order is incorrect.

Okay, I think it should work when we solve the import order issue. So let's close the issue, and please feel free to reopen the issue if you still have issues after solving the import order issue.

Thanks for your help @webfansplz!


is it possible to compile for amd or vulkan for windows?

I assume so, however, I havent had a chance to test it yet, I will attempt to sometime this week


Consumer does not reattempt transfers when Provider not available at initiation time

If the consumer calls org.eclipse.dataspaceconnector.spi.transfer.TransferProcessManager#initiateConsumerRequest but the Provider is not available, the consumer does not receive an error. If the Provider later becomes available, the request does not get processed.

Thanks for reporting this.
As a note, DataRequestMessageSender will be removed shortly as we now have IdsMultipartSender. However, IdsMultipartSender needs to be updated to distinguish between conditions that should be retried and those that should not (i.e. not authorized).
We can have the sender perform a set of retries directly using the retry library, but after that point (if the error is not fatal), the request should not be advanced and the TPM should process it during a later interval.

Current behaviour
Actors within the system:

The Consumer Client is an application outside of EDC that requests a data transfer to the Consumer EDC. It can potentially poll the Consumer EDC for the data transfer to reach a terminal state (COMPLETED or ERROR) and react accordingly.
The Consumer EDC is an EDC deployment that should persistently attempt to relay the data transfer request to the Provider EDC. It should retry in case of failures, but without overloading the provider.
The Provider EDC is an EDC deployment that performs the actual data transfer. It should then notify the Consumer EDC of completion, using similar policies.

The EDC contains a TransferProcessManager (TPM) component, which is responsible for advancing transfer requests along a persistent state machine. On a loop, the Consumer-side TPM searches for the next unleased entity in PROVISIONED state, leases the entity, updates its state to REQUESTED and releases the lease, then attempts to transfer it to the Provider on an OkHttp pooled thread.
✅ On success, the TPM advances the entity to the REQUESTED_ACK state and then immediately to the IN_PROGRESS state.
❌ On failure, the TPM does nothing. This causes the transfer to remain stuck in REQUESTED state forever.
🏴☠ On crash, the transfer similarly remains stuck  in REQUESTED or  REQUESTED_ACK state.
Desired behaviour
The Consumer-side TPM searches for the next entity in PROVISIONED state, leases the entity, and attempts to transfer it to the Provider on an OkHttp pooled thread.
✅ On success, the TPM advances the entity to the IN_PROGRESS state, and releases the lease.
The  REQUESTED and REQUESTED_ACK states are not used. This ensures at-least-once delivery, in particular 🏴☠ on crash.
Option 1: Try once and fail
❌ On failure, the TPM updates the entity to the ERROR state, and releases the lease. The Consumer Client is responsible for polling for state and retrying the transfer.
Option 2: Try once and hold lease (long retry)
❌ On failure, the TPM does nothing. This will cause the transfer to be tried again after lease expiration (currently 60 seconds).
A more sophisticated version of this option could have the TPM update the lease expiration time to a defined value. This would allow decoupling the lease timeout used for HA, from the retry interval.
Another improvement could be to update a failure count persisted with the entity. The TPM could advance the entity to a terminal ERROR state (as in option 1) if a number of failures in reached.
Option 3: Retry with lease refresh (short retry)
❌ On failure, the TPM retries right away for a number of times. This requires refreshing the lease between retries, or adding an overall timeout of less than the lease expiration time. On persisting failure, option 1 or 2 should also be implemented in order to recover from slightly longer-lasting failures.
Option 4: Bulkhead, rate limit and circuit breaker per remote host or URL
In case many requests are issued for a given remote Provider service, it is counterproductive to concurrently issue many requests, even more so upon retry in case of transient failure. Protective mechanism should be implemented per-URL (or per host part of the URL). Sharing such state persistently between HA instances is complex; a simple implementation could manage state in memory per instance.
Proposal
Implement option 2.

On failure, increment a failure count persisted with the entity.

If the failure count is less than a threshold, update the entity lease expiration time to a value exponentially increasing with the failure count.
Otherwise, advance the entity to the ERROR state.

Implement lease behavior in the InMemoryTransferProcessStore. Since leasing is currently not implemented, it would result in every request being immediately retried, hammering the Provider.

Option 4 should be considered for additional later.

@algattik I think this was partly resolved during #831: a TP will stay in REQUESTING until the request was successfully sent. However, I didn't find code to handle the sending failure, specifically in TransferProcessManagerImpl#L477. In accordance to your proposal that would be the place to increment the stateCount and act if > threshold.
@ndr-brt what's your opinion?

Here's a quick and dirty proof of concept of the idea: https://github.com/agera-edc/DataSpaceConnector/pull/168/files

Yes, currently in case of exception nothing is being done, we should instead update the state to REQUESTING to break the lease and send the TP again on the next iteration. Doing so, the stateCount will be incremented and after it oversteps the threshold the state can be set to ERROR.
My question is, could be this retry mechanism good to be implemented on the IdsMultipartSender side too? In my opinion would be good to have that on a "lower level".

I agree, network communication should be made resilient using a RetryPolicy. So I'd vote to have both, the RetryPolicy and a handling with the error at the state machine level

I think just the low-level retry and a "simple" mechanism to just retry the transfer in the loop is insufficiently resilient. The low level retry should be very short so as not to hog consumer resources and hammer the provider. The state machine level retry should be exponential for the same reason of not overflowing the provider. There might be many consumers queuing up requests to one provider.

Discussion with Paul today: agreed to implement "long retry" per my proposal.


[WIP] Merge API

Fix #10

The integration with the editor can maybe pass by an event:
fs.on('conflicts.resolve.needed', function(conflicts, next) {
    // conflicts.head = { sha: "<sha>" }
    // conflicts.base = { sha: "<sha>" }
    // conflicts.tree = { ... }

    // the editor shows the dialog and resolve the conflicts here, then call (async):

    next(null, conflictsResolved);

    // or in case or error:

    next(err);
});

It will allow in repofs to handle conflicts whenever they are (during a commit, pull, push, etc):
Fs.prototype.resolveConflicts = function(conflicts) {
    var d = Q.defer();

    var next = function(err, solved) {
        if (err) d.reject(err);
        else d.resolve(solved);
    }

    if (this.listenerCount('conflicts.resolve.needed') == 0) {
        next(new Error('Couldn\'t resolve conflicts'));
    } else {
        this.emit('conflicts.resolve.needed', conflicts, next);
    }

    return d.promise;
}

For example after a .commit:
....
.fail(function(err) {
     if (err.code == 409) {
           return that.fetchConflicts(...)
           .then(that.resolveConflicts);
    } else {
           throw err;
    }
});

We'll also need a conflicts.resolved event, triggered after result of next has been merged.


What's a good alternative to nested definition?

I received email from a user (his example annotation attaced):
"I am using def inside a Definition as shown in the attached doc. The idea is the following: First I define the event of showing a three-digit number (show_number). Inside that, I define the event of a screen with a number in the centre (Number-image). And inside the former, I define what a number is (Number).
When validating that on CTagger, I receive the following error:
ERROR: Invalid tag Def/Number found in definition for Number-image. Def and Def-expand tags cannot be in definitions.
The question is, should I simply drop the Def inside the Definition? Or is there any way in which this functionality is incorporated in CTagger? I am using similar definitions for more complex scenarios where the definition inside a definition would facilitate the interpretability of the tags (e.g. the event is show_categories, where left and right arrows are shown with an A and B above them respectively. I use def inside a definition to explain what a left arrow and a right arrow are, as well as a letter A and B)."
HED_Def_Inside_Definition.docx
My straightforward answer to him would be nested definitions are not allowed and he would have to write out the tags explicitly. However I want to bring this to our general attention since this is an example where the need for nested definitions might be valid. I understand that this might be infeasible to implement, at least right now.
He needs to use Def/Number-image in the main tag string because it's associated with an Onset. The Def/Number is used in a very specific location in Definition/Number-image and I can imagine for complex, hierarchical stimuli other users might also find the nested definitions approach logical and natural.

I don't think nested definitions are the answer because of all the other problems they can cause.
In some later version, we might want to consider definition groups, but would restrict this to one level. Specifying relationships among defined quantities (for example for task and event relationship specification) might be an application of this.
He can put multiple Def's in the same Onset group.   I think:
(Def/Number-image, Def/Number_category_task, Onset)
is allowed, but:
(Def/number-image, (Def/Number_category_task), Onset)
is better because it more clearly identifies the anchor for the Onset.

Actually, going over the specification in more detail:
(Def/Number-image, Def/Number_category_task, Onset)
is NOT allowed, but:
(Def/number-image, (Def/Number_category_task), Onset)
Thus, multiple definitions can be used together, but only one can be the anchor for the Onset.
@dungscout96: Does this resolve the discussion?

The issue here is not using two (or more) definitions in the same Onset tag group but in using one within the other. In the user's example:
(Definition/Number-image, (Visual-presentation, (Foreground-view, (White, Def/Number), ...)
(Definition/Number, (Item, Quantitative-value,  Description/A three-digit number.))
Def/Number is used inside the definition of "Number-image".
I think if this is still not supportable we can close this issue for now. The current motivation is for tagging shortcut. The square bracket mechanism (to parameterize tag value based on values in a column) is probably more important to implement/discuss.

This nesting would require that the two definitions always be available
together as well as an issue of cycle detection. It would require a
significant change in infrastructure.
On Mon, Jan 23, 2023 at 12:25 AM Dung Truong @.***>
wrote:

The issue here is not using two (or more) definitions in the same Onset
tag group but in using one within the other. In the user's example:
(Definition/Number-image, (Visual-presentation, (Foreground-view, (White,
Def/Number), ...)
(Definition/Number, (Item, Quantitative-value, Description/A
three-digit number.))
Def/Number is used inside the definition of "Number-image".
I think if this is still not supportable we can close this issue for now.
The current motivation is for tagging shortcut. The square bracket
mechanism (to parameterize tag value based on values in a column) is
probably more important to implement/discuss.
—
Reply to this email directly, view it on GitHub
https://github.com/hed-standard/hed-specification/issues/439#issuecomment-1399872756,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAJCJOSBSPJDVQDIMPC6E23WTYP6ZANCNFSM5W32M6OQ
.
You are receiving this because you commented.Message ID:
@.***>

Closing this issue.
This issue could be reopened in the future and revisited if a use case arose that could not be solved in another way.


Use ed25519 by default for network keys

We shouldn't use secp256k1, as it's deemed unsafe.
cc @romanb @burdges
Note: We must wait for devops to add the --node-key-type=secp256k1 CLI option to the bootnodes of Polkadot/Substrate before deploying that, otherwise their keys will change and nobody will be able to connect anymore.
I'm unsure how to notify other chains that have a running testnet about this change.

I forget if I've mentioned it elsewhere but you can extract an x25519 key like noise wants from an ed25519 like TLS 1.3 should want using https://doc.dalek.rs/curve25519_dalek/edwards/struct.EdwardsPoint.html#method.to_montgomery which may simplify things.

Can we have a changelog file which includes all the major/breaking changes? I don't want to read the commit history to figure out if there are breaking changes.

Readme needs change as well


DROOLS-696 - default constructor added to KnowledgeBaseAdapter

Fix for https://issues.jboss.org/browse/DROOLS-696

I already pushed this fix. Thanks the same.

Thanks!


[6.0] Sema: Support access-level on imports with cross-import overlays

Add support for access-level on imports and @_spiOnly imports to cross-import overlays. The overlay inherits the most restrictive import access-level of the declaring module and the bystander module, and any @_spiOnly-ness. These are applied in type-checking and at printing the module interface.
Also pprint the import of declaring module as it may be needed when the overlay module is hidden. Hiding that import was by design as it is also imported by the cross-import overlay, however printing it should preserve the current behavior and fix a bug in the logic printing imports in module interfaces.

Scope: Affects clients of cross-import overlays combined with access-level on imports or @_spiOnly imports.
Risk: Low, this should report early potentially SDK breaking issues already caught later by other systems.
Reviewed by @artemcm and @tshortli
Cherry-pick of https://github.com/apple/swift/pull/74351
Resolves rdar://129606112

@swift-ci Please test


HEIC Support

Describe the feature you'd like
Add support for HEIC images
Describe the benefits this feature would bring to BookStack users
Not sure how many users run into this, but before I can upload photos to Bookstack, I would need to convert them to a compatible format. This would just allow for easier uploading of iPhone images.

Thanks for the request @dannyhanes, (And also thanks for the support via sponsor!),
Ideally, to be supported, we'd need our image resizing library to support these files otherwise it'll be tricky to be able to display these in the gallery or auto-create reduced sized versions for page content.
In addition, It seems that general support for the file format is still pretty weak with it potentially dependant on people having installed system extensions/packages to support the format. It's a similar case with AVIF although that may some sooner thanks to its openess.
I seem to remember something about iOS auto-converting files to jpeg upon upload to web? Apple page lightly mentions something along these lines. Might have to power up the old iPhone SE and have a play.

Thanks for the request @dannyhanes, (And also thanks for the support via sponsor!),
Ideally, to be supported, we'd need our image resizing library to support these files otherwise it'll be tricky to be able to display these in the gallery or auto-create reduced sized versions for page content.
In addition, It seems that general support for the file format is still pretty weak with it potentially dependant on people having installed system extensions/packages to support the format. It's a similar case with AVIF although that may some sooner thanks to its openess.
I seem to remember something about iOS auto-converting files to jpeg upon upload to web? Apple page lightly mentions something along these lines. Might have to power up the old iPhone SE and have a play.

@ssddanbrown Yeah, when I put the request in, I kinda figured with it being new'ish and generally an Apple only feature, that it would probably be low on the list. I just noticed it when I went to upload some photos and thought at the very least I could make a request.
And I am glad I am able to support Bookstack. :) Honestly, it is probably the most used self-hosted app in my house. Keep up the great work!

@ssddanbrown Yeah, when I put the request in, I kinda figured with it being new'ish and generally an Apple only feature, that it would probably be low on the list. I just noticed it when I went to upload some photos and thought at the very least I could make a request.
And I am glad I am able to support Bookstack. :) Honestly, it is probably the most used self-hosted app in my house. Keep up the great work!

Just checking in on this, Kinda also tracking AVIF as part of this since it's a similar situation (And since they're somewhat related via HEIF).
AVIF

System: Looks to now be supported to some level, although potentially only on PHP 8.1 and greater.
Browser: Support has improved, although Safari dragging everyone back.

HEIC

System:

Not yet supported by GD
Could technically be supported by ImageMagik but requires some quite specific and complex imagemagik building to get imagemagik to support the format.

Browser: Still pretty bad, Currently nothing appears to support them, even Safari doesn't seem to yet support the format from what I can find.

Thoughts
AVIF is coming along quite nicely although PHP 8.1 support requirement will be a restriction. I'm thinking early/mid next year would be a good point to add support (Since 8.1 would have been out leaving PHP and browser support to mature a little).
HEIC isn't really viable, especially for our use where the image system is primarily for images to be visible within content and the gallery. Think it's going to be a while (Range of years potentially) before we see viability here.


Update Win32 metadata

This is the first update to the Win32 and WDK metadata for some time so there's a fair bit of ripple.

The new Windows.Win32.winmd version is 61.0.15
The new Windows.Wdk.winmd is 0.12.8
This closes #3093 where many Win32 handle types are now represented by pointers - this has a large impact on samples https://github.com/microsoft/windows-rs/pull/3111/commits/70ef5dd88ac5c3da82681ac81708391e852b2656 and tests https://github.com/microsoft/windows-rs/pull/3111/commits/c898d58c0f03dbeebe8a09ecffc0652dbe7cbf87
There are some new functions so there will be new libs but nothing is removed https://github.com/microsoft/windows-rs/pull/3111/commits/d5f0cc145ec5105bb00e5defbf8e445cc8fab0f2

Hm, that failure looks similar to one I've seen elsewhere. Rustup stopped modifying PATH but it seems that -gnu was sometimes relying on this modification to find its own libraries. Try adding RUSTUP_WINDOWS_PATH_ADD_BIN=1 to the environment for gnu builders and see if it fixes it?

Here's the real error:
The procedure entry point CoRevokeDeviceCatalog could not be located in the dynamic link library C:\Sources\windows-rs\target\x86_64-pc-windows-gnu\debug\deps\com-bd87402ef0e70998.exe.

Interestingly, this function doesn't live in OLE32 as documented but is rather exported by an apiset (and ultimately now lives in COMBASE). Investigating further.

I corrected metadata locally and regenerated libs/bindings, and tests pass. Filed an issue https://github.com/microsoft/win32metadata/issues/1928 to get this fixed on the metadata side.
Now to investigate why we're just now pulling that in.

CoRevokeDeviceCatalog isn't something we use in any way, but perhaps its being used by the GNU CRT/startup code? Still the import for this function hasn't changed in windows-rs by this metadata so it's unclear how this change was caused by metadata.

We added it for RAII purposes about a month ago https://github.com/microsoft/win32metadata/commit/d7c12d81bdae31871dc9f4b1e763a7bf7a2b1e3b#diff-3aa5b50df6faebc7292a072a8060e1ec5d900ed37522da9168f3a35a9f33da7cR696 and with the linker stuffing everything under the sun into the import tables, ... 💥
So think we'll quickly fix up metadata and maybe try again soon.

Makes total sense - thanks Rafael!

Part of the issue is the eagerness the Rust compiler has for generating code for functions even when they're not called on the assumption that the optimizer will strip it out in the end. This is why I originally added the #[inline] attribute to all function wrappers in the windows crate. The immediate solution here is to also add the #[inline] attribute to the free functions from #3013 - this is the correct fix even if the Win32 metadata didn't have any invalid imports. So we still need to deal with https://github.com/microsoft/win32metadata/issues/1928 but at least https://github.com/microsoft/windows-rs/pull/3111/commits/b379b7f975e98113a7816b7e34ef5a1a41f80a82 unblocks windows-rs.

@ChrisDenton please take it for a spin and let me know if the new pointer handles is a better fit.

I've been trying it out in a number of projects and so far it's mostly just meant no longer needing as casts when using from/as/into raw_handle on std types. So yeah that's a nice, if modest, change. Though honestly the overall impact has be roughly on par with other changes (such as places where we now correctly use PCWSTR instead of *mut c_void) so it's not as big a deal as I thought it might be. Mind you, I wouldn't be surprised if there are libraries out there that will see a bigger impact.

 Or is that going to cause MSRV issues?

We could do except that it's std only so no_std projects can't use it. This would affect the windows-sys crate and potentially people who generate their own bindings. However it ultimately doesn't matter because the std type is just an alias of *mut core::ffi::c_void so they're the exact same type in any case.


URLs errors

Hi,
I found 2 errors in URL replace mechanism.
Try to get last 10 tweets of "bbprojectnet" and "kubastocom" username.
In first case, i get in JS console that error:
entity is undefined
in second:
s is null.
Sorry for my english. Can you fix this? i check many twitter plugins but yours is the best and i want to use it :)

Hi!  Thanks for writing a bug report!  Which browser are you using?  Can you paste the code you're using to call tweet() please?
-Steve

HTML:

Latest tweets

JS:
	// Twitter
	$('.widget-twitter').each(function() {
		$('> ul', this).tweet({
			username: $(this).data('username'),
			count:    $(this).data('count'),
			retweets: $(this).data('retweets'),
			template: '{tweet_text}
{tweet_relative_time}'
		});
	});

I think, this error depend of type of used urls in tweet text, with or without http prefix. Look into "bbprojectnet" and "kubastocom" usernames in twitter.
I use Firefox (7.0.1), in Chrome exactly the same.

 Sorry about that.
-Steve

Ok, thanks! But now i have on both usernames, second error:
s is null
line 65.

Now is perfect, thanks for all.

Great - thanks for your help.


Resolve issue with zig self-hosted

There are compile issues in the scheduled daily zig build because the default compiler is now the self hosted one.
The code should only need minor tweaks in theory, but in practice there are some bugs in the self hosted which are not present in stage1

[ ] Follow the upgrade guide written by Andrew

[ ] Convert any function pointers
[ ] Resolve issue with const temporaries  by splitting initialization
[ ] Scan code for any potential escaped pointers

[ ] Zig issue 12521

Daily check is disabled until this issue is resolved


Canvas height too long

Hello, dude. First, thank you for a great lib.
I am using ur example with "Modal".
I did in the next order : I have a input type file, so when I upload a image, with some JS I display it like User Avatar. Next, user has a "Modal button from ur example". And when clicked on it, it opens the modal dialog with this image in canvas. The problem is in : When I upload a full hd photo, this canvas area became extra-long, and I can't fix it with either css rule.
It is possible to set a fixed, or maximum height/width for canvas area?
Image

#833


Solve bug for UI not loading up when XML not found

@junrong09 you probably gotta make changes at the sampleDataUtil to reflect your new XML format.
Just did the fix for all other portions.
Thanks!

Closes #80


Add search history

Requirements

When I search for a valid city name, that name is stored in localStorage() and appears as a button in the left hand column
When I click on a search history entry, the weather conditions for that city is displayed

Completed


Is this still relevant in 2023

Thanks for ur reply!

Same doubt

The AI Expert Roadmap is a great resource for anyone who is interested in learning about AI. It covers a wide range of topics, from the basics of machine learning to more advanced topics like deep learning. However, it is important to note that the field of AI is constantly evolving, so the roadmap may not be as up-to-date as some other resources.
Pros:

It covers a wide range of topics.
It is well-organized and easy to follow.
It provides links to additional resources.

Cons:

It is not as up-to-date as some other resources.
It can be a bit overwhelming for beginners.

Overall, the AI Expert Roadmap is a valuable resource for anyone who is interested in learning about AI. However, it is important to keep in mind that it is not the only resource available, and it may not be as up-to-date as some other resources.
If you are looking for a more up-to-date resource, I would recommend checking out the following:

The AI Index
The Association for the Advancement of Artificial Intelligence
The Machine Learning Mastery Blog
The OpenAI Blog

@Skizzy-create thanks


Multiple notifications for every instance of an error

In Sentry, multiple instances of an error get aggregated. And I get just one email for all those events. Everything is good so far. However, in Slack, we get notifications for each instance of the error. That just floods the slack channel. According to this https://github.com/getsentry/sentry/issues/1403 the issue is fixed in Sentry. As I get just one email and I can see the instances aggregated in Sentry, I'm guessing it's an issue with sentry-slack?

This is configurable in your Rules settings in Sentry itself. My guess is you have a rule that says to do this on every event, and not just new/regressions. sentry-slack has no control over choosing to send or not send data.

The rules are just the default ones. Can you please help me identify which setting in "Rules" or "Notifications" would say that notifications should be sent for every event? Also, won't emails be using those notifications/rules settings as well? Emails don't get multiple notifications. Just Slack does.


Commenting one line in indented block breaks F9 run code in console

Description of your problem
If block commenting inside an indented block (func, class, etc.) not only the comment is inserted at pos 0 with no space (see bug #4073 ), but if one selects the indented code and F9's it the python console will yield an error for unexpected indent.
What steps will reproduce the problem?
Example: here's a func that has a line commented using Ctrl+1
def comment_indented_block():
    print('doing something')
#    print('doing something else that I will comment out')
    print('yet something else')

If I now select the func and F9 it it will ignore the second print statement but insert an Enter consequently outputting:
>>> def comment_indented_block():
...     print('doing something')
...                              # <-- this is the ignored line that still inserts a '\n'
>>>     print('yet something else')
  File "\<stdin>", line 1
    print('yet something else')
    ^
IndentationError: unexpected indent

What is the expected output? What do you see instead?
No indentation Error.
Here are some suggestions.
Either really ignoring the line like this:
>>> def comment_indented_block():
...     print('doing something')
...     print('yet something else')
>>>

or adding a special run case for indented blocks that would allow this through by displaying it but not running it maybe like this:
>>> def comment_indented_block():
...     print('doing something')
#    print('doing something else that I will comment out')
...     print('yet something else')
>>>

or even change the Ctrl+1 behavior to be context aware so inserting the comment char using a Ctrl+1 would insert expected number of spaces before '#' (and one space after!) like this:
>>> def comment_indented_block():
...     print('doing something')
...     # print('doing something else that I will comment out')
...     print('yet something else')
>>>

Please provide any additional information below
I think that solution 3, changing the behavior of the block comment command to be context aware is probably not pep8 compatible as block comments would be harder to see at a glance.
The perfect fix would be solution 2, if one actually types out the func definition in the console the behavior is exactly as expected line  that starts with '#' is displayed but ignored and next indented line is considered part of func like this:
>>> def something():
...     print('something')
... # nothing to see here
...     print('something_else')
...
>>> something()
something
something_else
>>>

Versions and main components

Spyder Version: 3.1.2
Python Version: 3.5.2
Operating system: Ubuntu 14.04 / 16.04

Dependencies
jedi >=0.8.1     :  0.9.0 (OK)
matplotlib >=1.0 :  1.5.3 (OK)
nbconvert >=4.0  :  4.2.0 (OK)
numpy >=1.7      :  1.11.1 (OK)
pandas >=0.13.1  :  0.18.1 (OK)
pep8 >=0.6       :  1.7.0 (OK)
psutil >=0.3     :  5.0.0 (OK)
pyflakes >=0.6.0 :  1.3.0 (OK)
pygments >=2.0   :  2.1.3 (OK)
pylint >=0.25    :  1.6.4 (OK)
qtconsole >=4.2.0:  4.2.1 (OK)
rope >=0.9.4     :  0.9.4-1 (OK)
sphinx >=0.6.6   :  1.4.6 (OK)
sympy >=0.7.3    :  1.0 (OK)

This is going to be solved by PR #3958.

Regarding PR #3958 I guess its a solution, but not sure it's the best option...
In any case thanks for pointing it out I would have referenced it if I had found it.

I cannot reproduce this. Closing


release: 3.9.1

[v3.9.1] (Dec 8 2023)
Features:

Improved image loading speed by implementing lazy load with IntersectionObserver
Replaced lamejs binary

Fixes:

Fixed a bug where the admin message disappears when sending a message
Recognized the hash property in the URL
Fixed a bug where resending MFM fails in the thread
Group channel user left or banned event should not be ignored
Removed left 0px from <Avatar /> component to fix ruined align
Applied StringSet for the file upload limit notification

Improvements:

Divided <EditUserProfileUI /> into Modal and View parts
Added a message prop to <ReactionItem /> component
Improved the storybook of <EmojiReactions />

[Creating Ticket] 🔖 Done https://sendbird.atlassian.net/browse/SDKRLSD-1066


Update endpoints

Issue #, if available:
N/A
Description of changes:
Swap Credentials and Data endpoints
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Thank you for your contribution!


Misleading recommendation on Scaling Deployments section

Since https://github.com/kedacore/keda-docs/pull/265, the documentation provides a note stating that the preStop hook can be used to delay termination:
https://github.com/kedacore/keda-docs/blob/5ef378ea14b1bc2a9e90bc05e492b2ebed3faafa/content/docs/1.5/concepts/scaling-deployments.md?plain=1#L107
Unfortunately, containers will still receive SIGKILL after terminationGracePeriodSeconds have elapsed, regardless of the preStop hook, which is just used to delay the initial SIGTERM sent for graceful termination.
With the current wording of this note, I thought for a moment that the preStop hook would take precedence over terminationGracePeriodSeconds and preventing Kubernetes from sending SIGKILL until the hook finished running.

Makes sense, are you willing to contribute an improvement here?


[UI] Get "Invalid json request" when to ping email server with invalid input.

Can you give readable error message?

would "Verification of email server failed" work? Not sure of the full context.

General error message handling problem. Will refactor the error handling mechanism.

Please refer #1694

close it per https://github.com/vmware/harbor/issues/1694.


One-click Deploy Issue on Heroku, wrong environment key name MONGODB_URI provided.

Thanks for the PR!  I've merged #90 which incorporates a lot of the changes you have here, but with backwards compatibility.

--server-only flag only works on newer meteor, so we need to fall back to platform removal for apps still on Meteor 1.2
Heroku Dyno metadata is only available if you've added the addon, so I've added checks that no-op if the vars aren't present
Existing projects that use MONGOLAB_URI will not have MONGODB_URI set.  So the buildpack is now checking in order for MONGODB_URI, MONGOLAB_URI, and MONGOHQ_URL if MONGO_URL isn't otherwise defined.